/* Shared styles for privacy-policy.html and terms-and-conditions.html.
   Mirrors the base, header and footer styles in index.html. */
:root{ --cyan:#14D9FF; --ocean:#1F7BFF; }
html,body{ background:#050B14; overflow-x:hidden; width:100%; }
body{ font-family:'Inter',sans-serif; color:#E7EEF8; -webkit-font-smoothing:antialiased; }
::selection{ background:rgba(20,217,255,.28); }
*, ::before, ::after{ border-color:rgba(20,60,110,.22); }

.logo-full{ filter:drop-shadow(0 0 16px rgba(20,217,255,.35)); }
.hairline{ height:1px; background:linear-gradient(90deg,transparent,rgba(31,123,255,.22),transparent); }
.grad-text{
  background:linear-gradient(100deg,#14D9FF 0%, #6FE9FF 40%, #1F7BFF 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.eyebrow{ letter-spacing:.24em; text-transform:uppercase; font-size:11px; font-weight:600; color:#14D9FF; }
.eyebrow::before{ content:""; display:inline-block; width:26px; height:1px; background:#14D9FF; vertical-align:middle; margin-right:12px; opacity:.8; }
.glow-orb{ position:absolute; border-radius:9999px; filter:blur(90px); pointer-events:none; }

.btn{ border-radius:14px; font-weight:600; transition:transform .3s ease, box-shadow .3s ease, background .3s ease; display:inline-flex; align-items:center; gap:.5rem; }
.btn-primary{ background:linear-gradient(120deg,#14D9FF,#1F7BFF); color:#03121D; box-shadow:0 10px 30px -10px rgba(20,217,255,.65); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -12px rgba(20,217,255,.8); }
a:focus-visible, button:focus-visible{ outline:2px solid #14D9FF; outline-offset:3px; border-radius:10px; }

/* ---------- page hero ---------- */
.legal-hero{
  background:
    radial-gradient(90% 80% at 50% 0%, rgba(31,123,255,.18) 0%, rgba(31,123,255,0) 60%),
    radial-gradient(60% 60% at 85% 100%, rgba(20,217,255,.10) 0%, rgba(20,217,255,0) 62%),
    linear-gradient(180deg, #050B14 0%, #091A2E 70%, #050B14 100%);
}

/* ---------- contents card ---------- */
.toc{
  background:linear-gradient(160deg, rgba(16,27,45,.92) 0%, rgba(8,20,35,.82) 100%);
  border:1px solid rgba(31,123,255,.18);
  border-radius:20px;
}
.toc ol{ list-style:decimal; padding-left:1.25em; columns:2; column-gap:2.5em; }
.toc li{ break-inside:avoid; padding:3px 0; color:#8FA3BF; font-size:14px; }
.toc li::marker{ color:rgba(20,217,255,.7); }
.toc a{ color:#C7D6E8; transition:color .25s ease; }
.toc a:hover{ color:#14D9FF; }
@media (max-width:640px){ .toc ol{ columns:1; } }

/* ---------- legal body copy ---------- */
.legal{ color:#C7D6E8; font-size:16px; line-height:1.75; }
.legal h2{
  font-family:'Sora',sans-serif; font-weight:700; color:#E7EEF8;
  font-size:1.35rem; line-height:1.3; margin:2.6em 0 .7em; padding-top:1.4em;
  border-top:1px solid rgba(31,123,255,.18);
  scroll-margin-top:130px;
}
.legal h3{ font-family:'Sora',sans-serif; font-weight:600; color:#E7EEF8; font-size:1.05rem; margin:1.8em 0 .4em; }
.legal p{ margin:0 0 1em; }
.legal ul{ list-style:disc; padding-left:1.3em; margin:0 0 1.2em; }
.legal li{ margin:.35em 0; }
.legal li::marker{ color:#14D9FF; }
.legal strong{ color:#E7EEF8; font-weight:600; }
.legal a{ color:#14D9FF; text-decoration:underline; text-decoration-color:rgba(20,217,255,.4); text-underline-offset:3px; }
.legal a:hover{ text-decoration-color:#14D9FF; }
.legal address{ font-style:normal; }
.legal .note{
  background:rgba(20,217,255,.06); border:1px solid rgba(20,217,255,.22); border-left:3px solid #14D9FF;
  border-radius:14px; padding:16px 20px; margin:1.4em 0;
}
.legal .note p:last-child{ margin-bottom:0; }
.legal .card{
  background:linear-gradient(160deg, rgba(16,27,45,.92) 0%, rgba(8,20,35,.82) 100%);
  border:1px solid rgba(31,123,255,.18); border-radius:16px; padding:18px 22px; margin:1em 0 1.2em;
}
.legal .table-wrap{ overflow-x:auto; margin:1em 0 1.4em; border:1px solid rgba(31,123,255,.18); border-radius:14px; }
.legal table{ border-collapse:collapse; width:100%; font-size:15px; }
.legal th, .legal td{ text-align:left; vertical-align:top; padding:12px 16px; border-bottom:1px solid rgba(31,123,255,.14); }
.legal th{ background:rgba(16,27,45,.9); color:#E7EEF8; font-family:'Sora',sans-serif; font-weight:600; font-size:13px; letter-spacing:.04em; }
.legal tr:last-child td{ border-bottom:0; }
.legal td:first-child{ color:#E7EEF8; font-weight:500; white-space:nowrap; }
@media (max-width:640px){ .legal td:first-child{ white-space:normal; } }

/* ---------- footer ---------- */
.footer-top{ position:relative; }
.footer-top::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(31,123,255,.35) 18%, rgba(20,217,255,.85) 50%, rgba(31,123,255,.35) 82%, transparent 100%);
}
.footer-top::after{
  content:""; position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  width:min(760px,80%); height:120px; pointer-events:none;
  background:radial-gradient(60% 100% at 50% 0%, rgba(20,217,255,.16) 0%, rgba(20,217,255,0) 70%);
}
.f-link{ position:relative; display:inline-block; color:#8FA3BF; font-size:14px; line-height:1.4; transition:color .25s ease; }
.f-link::after{ content:""; position:absolute; left:50%; bottom:-6px; width:0; height:1px; background:#14D9FF; transform:translateX(-50%); transition:width .3s ease; }
.f-link:hover, .f-link[aria-current="page"]{ color:#14D9FF; }
.f-link:hover::after, .f-link[aria-current="page"]::after{ width:100%; }
.f-social{
  width:42px; height:42px; border-radius:13px; display:grid; place-items:center; flex:none;
  color:#C7D6E8; background:rgba(16,27,45,.6); border:1px solid rgba(31,123,255,.22);
  transition:color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.f-social svg{ width:20px; height:20px; display:block; }
.f-social:hover{ color:#14D9FF; border-color:#14D9FF; transform:translateY(-3px); background:rgba(20,217,255,.08); box-shadow:0 14px 32px -16px rgba(20,217,255,.85); }
.f-social:focus-visible{ outline:none; color:#14D9FF; border-color:#14D9FF; box-shadow:0 0 0 3px rgba(20,217,255,.28); }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
