/* ============================================================
   Dalfal — marketing site  (faithful build of "Dalfal Landing.dc.html")
   Font: Kanit · bg #0C0C0C · text #D7E2EA · brand #6C63FF
   ============================================================ */

:root{
  --bg:#0C0C0C;
  --ink:#D7E2EA;
  --brand:#6C63FF;
  --brand-dark:#5750D9;
  --brand-pale:#EEEDFF;
}

*{ box-sizing:border-box; }
/* Lenis smooth-scroll host classes */
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-stopped{ overflow:hidden; }
html, body{ background:var(--bg); margin:0; padding:0; }
body{ font-family:'Kanit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--ink); }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }
input, textarea{ font-family:'Kanit', sans-serif; outline:none; }
input::placeholder, textarea::placeholder{ color:rgba(12,12,12,0.4); }
.root{ background:var(--bg); min-height:100vh; overflow-x:clip; }

/* reveal-on-scroll (JS sets initial opacity/transform + reveals; hidden pre-JS to avoid flash) */
[data-reveal]{ opacity:0; will-change:opacity, transform; }

.grad-text{
  background-image:linear-gradient(180deg, #646973 0%, #BBCCD7 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}

/* ---------------------------- HERO ---------------------------- */
.hero{
  height:100vh; min-height:600px; display:flex; flex-direction:column;
  overflow:clip; position:relative; background:var(--bg);
}

/* interactive camel stage — glow + vector camel that follows the cursor */
.hero-stage{ position:absolute; inset:0; overflow:hidden; z-index:0; perspective:1200px; }
.hero-glow{
  position:absolute; left:50%; top:54%; width:min(1100px,120vw); height:min(1100px,120vw);
  transform:translate(-50%,-50%); border-radius:50%; will-change:transform;
  background:radial-gradient(circle at 50% 50%,
    rgba(108,99,255,0.42) 0%, rgba(108,99,255,0.20) 30%, rgba(87,80,217,0.06) 55%, transparent 72%);
  filter:blur(6px);
}
.hero-grid{
  position:absolute; inset:0; opacity:0.5; pointer-events:none;
  background-image:radial-gradient(rgba(215,226,234,0.05) 1px, transparent 1.4px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(circle at 50% 52%, #000 0%, transparent 62%);
          mask-image:radial-gradient(circle at 50% 52%, #000 0%, transparent 62%);
}
.hero-camel-wrap{
  position:absolute; left:50%; top:53%; transform:translate(-50%,-50%);
  width:min(560px,80vw); max-height:70vh; will-change:transform;
  transform-style:preserve-3d;
}
.hero-camel{
  width:100%; height:auto; overflow:visible;
  filter:drop-shadow(0 34px 46px rgba(79,72,201,0.45));
}
.hero-camel #camelFloat{ transform-box:fill-box; transform-origin:center; animation:camelFloat 6s ease-in-out infinite; }
@keyframes camelFloat{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-14px) rotate(-0.6deg); }
}

/* nav */
.nav{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:clamp(24px,3vw,32px) clamp(24px,4vw,40px) 0;
  position:relative; z-index:6; gap:16px;
}
.nav-brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; justify-self:start; }
.nav-logo{ width:44px; height:44px; filter:drop-shadow(0 4px 12px rgba(108,99,255,0.5)); }
.nav-word{
  color:var(--ink); font-weight:800; font-size:clamp(18px,2vw,24px); letter-spacing:0.02em;
  text-shadow:0 2px 12px rgba(0,0,0,0.85);
}
.nav-links{ display:flex; align-items:center; gap:clamp(20px,3vw,48px); justify-self:center; }
.nav-links a{
  color:var(--ink); font-weight:500; text-transform:uppercase; letter-spacing:0.08em;
  font-size:clamp(14px,1.6vw,22px); transition:opacity 0.2s ease; cursor:pointer;
  text-shadow:0 2px 12px rgba(0,0,0,0.85);
}
.nav-links a:hover{ opacity:0.7; }
.nav-stores{ display:flex; align-items:center; gap:12px; flex-shrink:0; justify-self:end; }

/* language switch — globe button + rounded dropdown (English / Soomaali) */
.lang-switch{ position:relative; }
.lang-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:11px; cursor:pointer; color:var(--ink);
  background:rgba(215,226,234,0.06); border:1px solid rgba(215,226,234,0.16);
  transition:background .2s ease, border-color .2s ease, transform .15s ease;
}
.lang-btn svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.lang-btn:hover{ background:rgba(108,99,255,0.16); border-color:var(--brand); color:#fff; transform:translateY(-1px); }
.lang-switch.open .lang-btn{ border-color:var(--brand); background:rgba(108,99,255,0.16); color:#fff; }
.lang-menu{
  position:absolute; top:calc(100% + 10px); right:0; z-index:30;
  min-width:184px; padding:6px; border-radius:16px;
  background:#141414; border:1px solid rgba(215,226,234,0.14);
  box-shadow:0 22px 48px -18px rgba(0,0,0,0.85);
  display:flex; flex-direction:column; gap:2px;
  opacity:0; transform:translateY(-6px) scale(0.98); transform-origin:top right;
  pointer-events:none; transition:opacity .18s ease, transform .18s ease;
}
.lang-switch.open .lang-menu{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.lang-opt{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  width:100%; padding:11px 14px; border:none; cursor:pointer; border-radius:11px;
  background:transparent; color:var(--ink); font-family:inherit; font-size:15px; font-weight:500; text-align:left;
  transition:background .15s ease;
}
.lang-opt:hover{ background:rgba(215,226,234,0.08); }
.lang-opt .lang-check{ width:18px; height:18px; fill:none; stroke:var(--brand); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; opacity:0; flex-shrink:0; transition:opacity .15s ease; }
.lang-opt.is-active{ color:#fff; }
.lang-opt.is-active .lang-check{ opacity:1; }
/* mobile: language options live inside the burger menu */
.nav-mobile-langs{ display:flex; flex-direction:column; gap:2px; margin-top:6px; padding-top:14px; border-top:1px solid rgba(215,226,234,0.12); }

/* store badges — user-supplied images */
.store-badge{ position:relative; display:inline-flex; align-items:center; height:38px; border-radius:9px; transition:transform .15s ease; }
.store-badge img{ height:100%; width:auto; display:block; border-radius:8px; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.5)); }
.store-badge:not(.store-badge--soon):hover{ transform:translateY(-2px); }
.store-badge:not(.store-badge--soon):hover img{ filter:drop-shadow(0 7px 18px rgba(0,0,0,0.6)); }
.store-badge--soon{ opacity:0.58; cursor:not-allowed; }
.store-badge--soon img{ filter:grayscale(0.25) drop-shadow(0 2px 8px rgba(0,0,0,0.5)); }
.soon-tag{
  position:absolute; top:-8px; right:-6px; font-style:normal; font-weight:600; font-size:9px;
  letter-spacing:0.04em; text-transform:uppercase; color:#fff; background:var(--brand);
  padding:2px 7px; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.45);
}

/* mobile nav */
.nav-burger{
  display:none; flex-direction:column; gap:5px; align-items:flex-end;
  background:none; border:none; cursor:pointer; padding:8px;
}
.nav-burger span{ height:2px; background:var(--ink); border-radius:2px; transition:0.25s ease; }
.nav-burger span:nth-child(1){ width:26px; }
.nav-burger span:nth-child(2){ width:19px; }
.nav-burger[aria-expanded="true"] span:nth-child(1){ width:24px; transform:translateY(3.5px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:nth-child(2){ width:24px; transform:translateY(-3.5px) rotate(-45deg); }
.nav-mobile{
  position:absolute; top:100%; left:0; right:0; background:var(--bg);
  border-bottom:1px solid rgba(215,226,234,0.15);
  display:none; flex-direction:column; gap:18px;
  padding:24px clamp(24px,4vw,40px) 32px; z-index:20;
}
.nav-mobile.open{ display:flex; }
.nav-mobile a{
  color:var(--ink); font-weight:500; text-transform:uppercase; letter-spacing:0.06em; font-size:1.1rem; cursor:pointer;
}
.nav-mobile-stores{ display:flex; gap:10px; margin-top:8px; flex-wrap:wrap; }

/* hero heading + bottom */
.hero-heading-wrap{ width:100%; position:relative; z-index:5; padding-top:clamp(4px,1.5vw,16px); }
.hero-heading-clip{ overflow:hidden; width:100%; }
.hero-heading{
  color:#F4F3FF; text-shadow:0 6px 40px rgba(0,0,0,0.85), 0 2px 10px rgba(0,0,0,0.6);
  font-weight:900; text-transform:uppercase; letter-spacing:-0.02em; line-height:0.9;
  white-space:nowrap; width:100%; margin:0; text-align:center;
  font-size:clamp(44px,10.5vw,170px); position:relative; z-index:2;
}
.hero-spacer{ flex:1; position:relative; }
.hero-bottom{
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:0 clamp(24px,4vw,40px) clamp(28px,4vw,40px); gap:20px; flex-wrap:wrap;
  position:relative; z-index:6;
}
.hero-left{
  color:#F0EFFF; font-weight:300; text-transform:uppercase; letter-spacing:0.05em; line-height:1.4;
  font-size:clamp(0.75rem,1.4vw,1.5rem); max-width:260px; margin:0; text-shadow:0 2px 16px rgba(0,0,0,0.8);
}
.hero-buttons{ display:flex; gap:14px; flex-wrap:wrap; }

/* buttons */
.btn-brand{
  display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
  box-shadow:0px 4px 4px rgba(87,80,217,0.3), 4px 4px 12px var(--brand-dark) inset;
  outline:2px solid #fff; outline-offset:-3px; color:#fff; font-weight:500;
  text-transform:uppercase; letter-spacing:0.15em;
  padding:clamp(12px,1.5vw,16px) clamp(28px,3.5vw,42px); font-size:clamp(12px,1.4vw,16px);
  border:none; cursor:pointer; white-space:nowrap;
}
.btn-ghost{
  display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
  border:2px solid var(--ink); color:var(--ink); background:transparent; font-weight:500;
  text-transform:uppercase; letter-spacing:0.15em;
  padding:clamp(10px,1.3vw,14px) clamp(26px,3.2vw,38px); font-size:clamp(12px,1.4vw,16px);
  white-space:nowrap; cursor:pointer;
}
/* extra 3D feel on the CTAs (lift on hover, press on click) */
.btn-brand{ transition:transform .12s ease, box-shadow .12s ease, filter .2s ease; }
.btn-brand:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(87,80,217,0.5), 4px 4px 12px var(--brand-dark) inset; filter:saturate(1.06); }
.btn-brand:active{ transform:translateY(2px); box-shadow:0 3px 6px rgba(87,80,217,0.4), 4px 4px 15px var(--brand-dark) inset; }
.btn-ghost{ transition:transform .12s ease, background .2s ease, border-color .2s ease; }
.btn-ghost:hover{ transform:translateY(-2px); background:rgba(215,226,234,0.08); border-color:#fff; }
.btn-ghost:active{ transform:translateY(2px); }

/* ---------------------------- MARQUEE ---------------------------- */
.marquee{
  background:var(--bg); overflow:hidden;
  padding:clamp(64px,8vw,110px) 0;
  border-top:1px solid rgba(215,226,234,0.1); border-bottom:1px solid rgba(215,226,234,0.1);
}
.marquee-row{ display:flex; will-change:transform; }
.marquee-row--muted{ margin-top:24px; }
.marquee-row span{
  font-weight:700; text-transform:uppercase; letter-spacing:0.03em;
  font-size:clamp(1.3rem,3.4vw,2.6rem); color:var(--ink); white-space:nowrap; padding-right:48px;
}
.marquee-row--muted span{ color:rgba(215,226,234,0.45); }

/* ---------------------------- ABOUT ---------------------------- */
.about{
  min-height:80vh; position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:clamp(80px,10vw,120px) clamp(20px,4vw,40px); background:var(--bg);
}
.about-heading{
  font-weight:900; text-transform:uppercase; line-height:1; letter-spacing:-0.02em; text-align:center;
  font-size:clamp(2.6rem,10vw,140px); margin:0 0 clamp(40px,6vw,64px);
  background-image:linear-gradient(180deg, #646973 0%, #BBCCD7 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
.about-para{
  color:var(--ink); font-weight:500; text-align:center; line-height:1.7;
  max-width:600px; font-size:clamp(1rem,2vw,1.35rem); margin:0;
}
.about-para span{ display:inline-block; }
/* keep each word on one line; only the inter-word space span may wrap */
.about-word{ white-space:nowrap; }

/* ---------------------------- HOW IT WORKS ---------------------------- */
.hiw{
  min-height:90vh; position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:clamp(60px,8vw,100px) clamp(20px,4vw,40px); background:#FFFFFF;
  border-top-left-radius:clamp(40px,6vw,60px); border-top-right-radius:clamp(40px,6vw,60px); z-index:2;
}
.hiw-heading{
  color:#0C0C0C; font-weight:900; text-transform:uppercase; line-height:1; letter-spacing:-0.02em; text-align:center;
  font-size:clamp(2.6rem,10vw,140px); margin:0 0 clamp(48px,7vw,88px);
}
.hiw-list{ max-width:900px; width:100%; }
.hiw-step{
  display:flex; align-items:center; gap:clamp(20px,4vw,44px);
  padding:clamp(28px,3.5vw,40px) 0; border-bottom:1px solid rgba(12,12,12,0.15);
}
.hiw-step:first-child{ border-top:1px solid rgba(12,12,12,0.15); }
.hiw-num{
  font-weight:900; font-size:clamp(3rem,10vw,120px); color:#0C0C0C; line-height:1;
  flex-shrink:0; width:clamp(140px,15vw,220px);
}
.hiw-body h3{
  font-weight:500; text-transform:uppercase; font-size:clamp(1rem,2.2vw,1.9rem); color:#0C0C0C; margin:0 0 8px;
}
.hiw-body p{
  font-weight:300; line-height:1.6; max-width:640px; font-size:clamp(0.85rem,1.6vw,1.2rem);
  color:rgba(12,12,12,0.6); margin:0;
}

/* ---------------------------- AUDIENCES ---------------------------- */
.audiences{
  background:var(--bg);
  padding:clamp(80px,10vw,128px) clamp(20px,4vw,40px) clamp(60px,8vw,100px);
  position:relative; border-top-left-radius:clamp(40px,6vw,60px); border-top-right-radius:clamp(40px,6vw,60px);
  margin-top:clamp(-56px,-4vw,-40px); z-index:10;
}
.aud-heading{
  font-weight:900; text-transform:uppercase; text-align:center; line-height:1; letter-spacing:-0.02em;
  font-size:clamp(2.6rem,10vw,140px); margin:0 0 clamp(48px,6vw,80px);
  background-image:linear-gradient(180deg, #646973 0%, #BBCCD7 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
.aud-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  gap:clamp(28px,4vw,48px); max-width:1200px; margin:0 auto;
}
.aud-card{
  border:2px solid var(--ink); border-radius:clamp(28px,4vw,40px); padding:clamp(28px,4vw,40px);
  background:var(--bg); display:flex; flex-direction:column; gap:clamp(16px,2vw,24px);
}
.aud-top{ display:flex; align-items:center; gap:clamp(16px,3vw,32px); }
.aud-num{ font-weight:900; font-size:clamp(2.2rem,7vw,80px); color:var(--ink); line-height:1; }
.aud-cat{ color:var(--ink); opacity:0.5; text-transform:uppercase; letter-spacing:0.1em; font-size:clamp(0.7rem,1.1vw,0.9rem); margin-bottom:6px; }
.aud-name{ color:var(--ink); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:500; }
.aud-desc{ color:rgba(215,226,234,0.7); font-weight:300; line-height:1.6; font-size:clamp(0.9rem,1.3vw,1.05rem); margin:0; }

/* ---------------------------- CONTACT ---------------------------- */
.contact{
  background:#FFFFFF; border-top-left-radius:clamp(40px,6vw,60px); border-top-right-radius:clamp(40px,6vw,60px);
  padding:clamp(80px,10vw,128px) clamp(20px,4vw,40px) clamp(60px,8vw,100px); position:relative; z-index:2;
}
.contact-heading{
  color:#0C0C0C; font-weight:900; text-transform:uppercase; text-align:center; line-height:1; letter-spacing:-0.02em;
  font-size:clamp(2.2rem,7.5vw,110px); margin:0 0 clamp(24px,3vw,32px); white-space:nowrap;
}
.contact-inner{ max-width:640px; margin:0 auto; text-align:center; }
.contact-sub{
  color:rgba(12,12,12,0.6); font-weight:300; line-height:1.6; font-size:clamp(0.9rem,1.6vw,1.2rem);
  margin:0 0 clamp(40px,5vw,56px);
}
.contact-sub a{ color:var(--brand-dark); }
.contact-form{ display:flex; flex-direction:column; gap:16px; text-align:left; }
.contact-form input, .contact-form textarea{
  background:#F4F4F6; border:1px solid rgba(12,12,12,0.15); border-radius:12px;
  padding:16px 18px; color:#0C0C0C; font-size:15px; transition:border-color 0.2s ease;
}
.contact-form textarea{ resize:none; font-family:inherit; }
.contact-form input:focus, .contact-form textarea:focus{ border-color:var(--brand); }
.dl-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-submit-row{ display:flex; justify-content:center; margin-top:8px; }
.contact-status{ text-align:center; font-weight:500; min-height:1.2em; margin:6px 0 0; }
.contact-status.ok{ color:#0a7d4b; }
.contact-status.bad{ color:#c0342f; }
.contact-status a{ color:var(--brand-dark); }
.contact-thanks{ color:#0C0C0C; font-weight:500; font-size:1.2rem; padding:32px 0; text-align:center; }

/* ---------------------------- FOOTER ---------------------------- */
.footer{
  background:var(--bg); padding:clamp(56px,7vw,80px) clamp(20px,4vw,40px) clamp(32px,4vw,48px);
  position:relative; overflow:hidden;
}
.footer-wordmark{ position:relative; width:100%; margin-bottom:clamp(32px,5vw,56px); cursor:default; }
.footer-wordmark-outline, .footer-wordmark-fill{
  width:100%; font-size:clamp(70px,17vw,240px); font-weight:900; text-transform:uppercase;
  letter-spacing:-0.02em; line-height:1; text-align:center; white-space:nowrap;
}
.footer-wordmark-outline{ color:transparent; -webkit-text-stroke:1.5px rgba(215,226,234,0.28); }
.footer-wordmark-fill{
  position:absolute; inset:0; color:transparent; -webkit-text-fill-color:var(--brand-pale);
  opacity:0; transition:opacity 0.4s ease; pointer-events:none;
  -webkit-mask-image:radial-gradient(circle 220px at -999px -999px, black 0%, transparent 100%);
          mask-image:radial-gradient(circle 220px at -999px -999px, black 0%, transparent 100%);
}
.footer-cols{
  max-width:1024px; margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:32px;
  padding-bottom:clamp(40px,5vw,56px); border-bottom:1px solid rgba(215,226,234,0.12);
}
.footer-about p{ color:rgba(215,226,234,0.55); font-weight:300; font-size:0.9rem; line-height:1.6; max-width:280px; margin:0 0 18px; }
.footer-socials{ display:flex; gap:10px; }
.footer-socials a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(215,226,234,0.25);
  display:flex; align-items:center; justify-content:center; color:var(--ink); font-size:0.85rem; font-weight:600;
  transition:border-color 0.2s ease;
}
.footer-socials a:hover{ border-color:var(--brand); }
.footer-socials a.ig > span{ width:15px; height:15px; border-radius:5px; border:1.4px solid var(--ink); display:flex; align-items:center; justify-content:center; }
.footer-socials a.ig > span > span{ width:5px; height:5px; border-radius:50%; border:1.2px solid var(--ink); display:block; }
.footer-col{ display:flex; flex-direction:column; gap:10px; }
.footer-col-title{ color:var(--ink); opacity:0.5; text-transform:uppercase; letter-spacing:0.1em; font-size:0.75rem; margin-bottom:6px; }
.footer-col a{ color:rgba(215,226,234,0.8); font-size:0.95rem; transition:opacity 0.2s ease; }
.footer-col a:hover{ opacity:0.7; }
.footer-copy{ max-width:1024px; margin:24px auto 0; text-align:center; color:rgba(215,226,234,0.4); font-size:0.8rem; letter-spacing:0.04em; }

/* ---------------------------- RESPONSIVE ---------------------------- */
@media (max-width:1080px){
  .store-badge{ height:32px; }
  .nav-links{ gap:16px; }
  .nav-links a{ font-size:14px; }
}
@media (max-width:920px){
  .nav{ display:flex; justify-content:space-between; }
  .nav-links, .nav-stores{ display:none; }
  .nav-burger{ display:flex; }
}
@media (max-width:860px){
  .footer-cols{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:680px){
  .hiw-step{ gap:14px; }
  .hiw-num{ width:clamp(64px,22vw,120px); }
  .hero-bottom{ align-items:flex-start; }
}
@media (max-width:520px){
  .footer-cols{ grid-template-columns:1fr; gap:26px; }
}
@media (max-width:420px){
  .nav-word{ font-size:20px; }
}

@media (prefers-reduced-motion: reduce){
  .hero-camel #camelFloat{ animation:none; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}

/* ============================================================
   LEGAL PAGES  (web/legal/terms.html, privacy.html)
   ============================================================ */
.legal-page{ background:var(--bg); color:var(--ink); }
.legal-header{
  max-width:860px; margin:0 auto; padding:1.6rem clamp(20px,4vw,40px);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  border-bottom:1px solid rgba(215,226,234,0.12);
}
.legal-wordmark{ display:inline-flex; align-items:center; gap:.6rem; color:var(--ink); font-weight:800; font-size:1.2rem; }
.legal-wordmark img{ border-radius:9px; }
.legal-doc{ max-width:820px; margin:0 auto; padding:2.4rem clamp(20px,4vw,40px) 4rem; }
.legal-doc h1{ font-weight:900; text-transform:uppercase; letter-spacing:-0.01em; font-size:clamp(1.9rem,5vw,2.6rem); margin:0 0 .4rem; color:#F4F3FF; }
.legal-meta{ color:rgba(215,226,234,0.5); font-size:.9rem; margin:.2rem 0; }
.legal-meta a{ color:var(--brand-pale); }
.toc-list{ padding-left:1.3rem; display:grid; gap:.35rem; }
.toc-list a{ color:rgba(215,226,234,0.8); }
.toc-list a:hover{ color:var(--ink); }
.legal-doc h2{ font-weight:700; font-size:1.25rem; margin:2rem 0 .6rem; color:var(--brand-pale); }
.legal-doc h3{ font-weight:500; font-size:1.05rem; margin:1.2rem 0 .4rem; color:#F4F3FF; }
.legal-doc p, .legal-doc li{ color:rgba(215,226,234,0.75); font-weight:300; line-height:1.7; }
.legal-doc a{ color:var(--brand-pale); }
.legal-doc ul, .legal-doc ol{ padding-left:1.3rem; }
.legal-doc section{ margin-bottom:1rem; }
.legal-table{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:.92rem; }
.legal-table th, .legal-table td{ border:1px solid rgba(215,226,234,0.16); padding:.6rem .7rem; text-align:left; vertical-align:top; }
.legal-table th{ color:#F4F3FF; font-weight:500; background:rgba(215,226,234,0.04); }
.legal-table td{ color:rgba(215,226,234,0.75); font-weight:300; }
.legal-footer{ max-width:820px; margin:0 auto; padding:1.4rem clamp(20px,4vw,40px) 2.4rem; border-top:1px solid rgba(215,226,234,0.12); display:flex; gap:1.2rem; flex-wrap:wrap; align-items:center; }
.legal-footer a{ color:rgba(215,226,234,0.7); }
.legal-footer a:hover{ color:var(--ink); }
.legal-footer-note{ color:rgba(215,226,234,0.4); font-size:.82rem; font-weight:300; margin:0; }
