/* WA Lab / legal pages */
.legal-page {
  background: #08111f;
}

.legal-main {
  color: #101421;
  background:
    radial-gradient(circle at 12% 8%, rgba(117,92,255,.055), transparent 26rem),
    radial-gradient(circle at 92% 45%, rgba(164,92,255,.04), transparent 28rem),
    #f7f8fc;
}

.legal-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 64px;
  color: #fff;
  background:
    radial-gradient(circle at 76% 22%, rgba(117,92,255,.18), transparent 28rem),
    radial-gradient(circle at 16% 110%, rgba(164,92,255,.10), transparent 25rem),
    linear-gradient(135deg,#08111f 0%,#0b1425 58%,#151429 100%);
  border-bottom: 1px solid rgba(151,132,255,.12);
}

.legal-hero::before {
  position:absolute;
  inset:0;
  content:"";
  background-image:radial-gradient(rgba(151,132,255,.22) .65px,transparent .65px);
  background-size:26px 26px;
  opacity:.11;
  pointer-events:none;
}

.legal-hero-inner {
  position:relative;
  z-index:1;
}

.legal-hero h1 {
  max-width: 920px;
  margin: 0 0 20px;
  font-size: clamp(2.25rem,5vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.045em;
  text-transform:none;
}

.legal-lead {
  max-width: 820px;
  margin:0;
  color:#aeb8ca;
  font-size:1rem;
  line-height:1.7;
}

.legal-lead a,
.legal-document a {
  color:#755cff;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.legal-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 13px;
  color: #cbd3e3;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)),
    rgba(10,18,34,.42);
  border: 1px solid rgba(151,132,255,.16);
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 8px 22px rgba(0,0,0,.08);
  font-size: .74rem;
  font-weight: 690;
  line-height: 1.2;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.legal-meta span::before {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  content: "";
  background: linear-gradient(135deg, #755cff, #a45cff);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(143,121,255,.42);
}

.legal-section {
  padding: 58px 0 84px;
}

.legal-layout {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  align-items:start;
  gap:42px;
}

.legal-toc {
  position:sticky;
  top:94px;
  padding:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(117,92,255,.14);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(44,52,76,.06);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.legal-toc > strong {
  display:block;
  margin-bottom:13px;
  color:#171b27;
  font-size:.82rem;
}

.legal-toc nav {
  display:grid;
  gap:5px;
}

.legal-toc a {
  padding:7px 9px;
  color:#626a7a;
  border-radius:9px;
  font-size:.76rem;
  line-height:1.4;
  transition:color 150ms ease,background-color 150ms ease;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
  color:#4f35dc;
  background:rgba(117,92,255,.06);
}

.legal-document {
  display:grid;
  gap:14px;
}

.legal-document > section,
.legal-contact {
  position:relative;
  scroll-margin-top:96px;
  padding:30px 32px;
  overflow:hidden;
  background:
    radial-gradient(circle at 96% 4%, rgba(117,92,255,.06), transparent 13rem),
    rgba(255,255,255,.88);
  border:1px solid rgba(77,85,104,.16);
  border-radius:20px;
  box-shadow:0 18px 42px rgba(44,52,76,.055), inset 0 1px 0 #fff;
}

.legal-number {
  display:inline-flex;
  min-width:36px;
  height:28px;
  align-items:center;
  justify-content:center;
  margin-bottom:13px;
  color:#755cff;
  background:rgba(117,92,255,.08);
  border:1px solid rgba(117,92,255,.15);
  border-radius:9px;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.05em;
}

.legal-document h2 {
  margin:0 0 16px;
  color:#151a27;
  font-size:clamp(1.45rem,2.5vw,2.1rem);
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.03em;
}

.legal-document p {
  margin:0 0 13px;
  color:#50596a;
  font-size:.94rem;
  line-height:1.68;
}

.legal-document p:last-child {
  margin-bottom:0;
}

.legal-document ul {
  display:grid;
  gap:8px;
  padding:0;
  margin:0 0 14px;
  list-style:none;
}

.legal-document li {
  position:relative;
  padding-left:22px;
  color:#404959;
  font-size:.92rem;
  line-height:1.6;
}

.legal-document li::before {
  position:absolute;
  left:2px;
  top:.66em;
  width:6px;
  height:6px;
  content:"";
  background:linear-gradient(135deg,#755cff,#a45cff);
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(117,92,255,.07);
}

.legal-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.legal-details > div {
  padding:14px 15px;
  background:rgba(117,92,255,.035);
  border:1px solid rgba(117,92,255,.09);
  border-radius:13px;
}

.legal-details span,
.legal-details strong {
  display:block;
}

.legal-details span {
  margin-bottom:4px;
  color:#778195;
  font-size:.68rem;
}

.legal-details strong {
  color:#202634;
  font-size:.86rem;
  font-weight:720;
  line-height:1.45;
}

.legal-contact {
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(164,92,255,.18),transparent 15rem),
    linear-gradient(135deg,#0b1627,#141329);
  border-color:rgba(151,132,255,.22);
}

.legal-contact > strong {
  display:block;
  margin-bottom:4px;
  font-size:1.35rem;
}

.legal-contact p {
  color:#9ca7bb;
}

.legal-contact .button {
  margin-top:8px;
  text-decoration:none;
}

@media (max-width:900px) {
  .legal-layout {
    grid-template-columns:1fr;
    gap:20px;
  }
  .legal-toc {
    position:static;
  }
  .legal-toc nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {

  .legal-meta {
    gap: 8px;
    margin-top: 18px;
  }

  .legal-meta span {
    min-height: 36px;
    padding: 8px 12px;
    font-size: .71rem;
    white-space: normal;
  }
  .legal-hero {
    padding:50px 0 44px;
  }
  .legal-section {
    padding:38px 0 58px;
  }
  .legal-toc nav {
    grid-template-columns:1fr;
  }
  .legal-document > section,
  .legal-contact {
    padding:22px 20px;
    border-radius:17px;
  }
  .legal-details {
    grid-template-columns:1fr;
  }
}

@media (max-width:430px) {
  .legal-hero h1 {
    font-size:2rem;
  }
  .legal-lead {
    font-size:.9rem;
  }
  .legal-document > section,
  .legal-contact {
    padding:19px 16px;
  }
}

/* Legal contact CTA contrast fix */
.legal-contact .button,
.legal-contact .button:visited {
  color: #fff;
  text-decoration: none;
}


/* WA Lab / legal hero unification - 2026-10-20.
   Reuse the site's hero / hero-grid / hero-copy / contact-hub components.
   Only legal-page hero overrides are below. Body cards, TOC, footer and JS are untouched. */
.legal-page .legal-hero.hero {
  padding: clamp(48px, 5vw, 76px) 0 clamp(42px, 4vw, 64px);
  color: #fff;
  background:
    radial-gradient(circle at 79% 24%, rgba(115, 85, 255, .24), transparent 30rem),
    radial-gradient(circle at 12% 104%, rgba(71, 64, 172, .12), transparent 28rem),
    linear-gradient(180deg, #08111f 0%, #091121 100%);
  border-bottom: 1px solid rgba(151,132,255,.12);
}
.legal-page .legal-hero.hero::before {
  z-index: -2;
  opacity: .19;
  background-image: radial-gradient(rgba(145,128,255,.24) .72px, transparent .72px);
  background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.72) 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.72) 55%, transparent 100%);
}
.legal-page .legal-hero .hero-grid {
  display: grid;
  min-height: 360px;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .85fr);
  align-items: center;
  gap: clamp(32px, 5vw, 78px);
}
.legal-page .legal-hero .hero-copy {max-width: 760px;min-width: 0;}
.legal-page .legal-hero .hero-copy > .eyebrow {
  margin: 0 0 21px;
  color: #a995ff;
}
.legal-page .legal-hero .hero-copy h1 {
  max-width: 760px;
  margin: 0 0 20px;
  color: #f9faff;
  font-size: clamp(2.65rem, 4.3vw, 4.1rem);
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -.052em;
  text-transform: none;
  overflow-wrap: normal;
}
.legal-page .legal-hero .hero-text.legal-lead {
  max-width: 620px;
  margin: 0;
  color: #aeb9d0;
  font-size: clamp(.99rem, 1.35vw, 1.12rem);
  line-height: 1.7;
}
.legal-page .legal-hero .legal-lead a {
  color: #b2a2ff;
  text-underline-offset: 3px;
}
.legal-page .legal-hero .legal-meta {margin-top: 24px;gap: 9px;}
.legal-page .legal-hero .legal-meta span {
  min-height: 34px;
  padding: 7px 12px;
  color: #cbd5e6;
  font-size: .75rem;
}
.legal-page .legal-hero .hero-visual.contact-hub {
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  perspective: none;
}
.legal-page .legal-hero .contact-hub-shell {
  width: 100%;
  max-width: 490px;
  padding: 24px;
  overflow: hidden;
}
.legal-page .legal-hero .contact-hub-head {margin-bottom: 18px;}
.legal-page .legal-hero .contact-hub-channel {
  cursor: default;
  pointer-events: none;
  min-height: 66px;
  grid-template-columns: 40px minmax(0,1fr) 26px;
  transition: none;
}
.legal-page .legal-hero .contact-hub-channel:hover {transform: none;}
.legal-page .legal-hero .contact-hub-channel-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.legal-page .legal-hero .contact-hub-channel-arrow {
  color: #ad9cff;
  font-size: 1.1rem;
  font-weight: 760;
}
.legal-page .legal-hero .contact-hub-meta-item span {color:#acb8cc;}
.legal-page .legal-hero .contact-hub-channel-copy small {
  color: #a5b0c7;
  font-size: .77rem;
  line-height: 1.48;
}
@media (max-width: 980px) {
  .legal-page .legal-hero .hero-grid {grid-template-columns: minmax(0,1fr) minmax(300px,.87fr);gap: 24px;}
  .legal-page .legal-hero .hero-copy h1 {font-size: clamp(2.2rem,4.65vw,3.3rem);}
}
@media (max-width: 820px) {
  .legal-page .legal-hero .hero-grid {grid-template-columns: 1fr;min-height: 0;gap: 30px;}
  .legal-page .legal-hero .hero-copy h1 {max-width: 680px;font-size: clamp(2.3rem,6.2vw,3.5rem);}
  .legal-page .legal-hero .hero-visual.contact-hub {max-width: 620px;justify-items: start;}
  .legal-page .legal-hero .contact-hub-shell {max-width: 620px;}
}
@media (max-width: 570px) {
  .legal-page .legal-hero.hero {padding: 39px 0 44px;}
  .legal-page .legal-hero .hero-copy > .eyebrow {margin-bottom: 16px;}
  .legal-page .legal-hero .hero-visual.contact-hub {display:none;}
  .legal-page .legal-hero .hero-copy h1 {font-size: clamp(1.96rem,8.8vw,2.66rem);line-height: 1.07;}
  .legal-page .legal-hero .hero-text.legal-lead {font-size: .96rem;line-height: 1.6;}
  .legal-page .legal-hero .legal-meta {margin-top: 18px;}
  .legal-page .legal-hero .contact-hub-shell {padding: 16px;}
  .legal-page .legal-hero .contact-hub-channel {grid-template-columns: 38px minmax(0,1fr) 25px;}
  .legal-page .legal-hero .contact-hub-channel-copy strong {font-size: .87rem;}
  .legal-page .legal-hero .contact-hub-channel-copy small {font-size: .75rem;}
}
