/* Shared styles for privacy.html and eula.html. Tokens, nav and footer mirror index.html's inline styles. */
:root{
  --bg:#0A2540;
  --bg-soft:#102E4F;
  --card:#1E2A44;
  --ink:#F8F9FC;
  --text:rgba(248,249,252,.86);
  --muted:#9FB2CC;
  --brand:#00B4A2;
  --brand-2:#2BD9C0;
  --gold:#D4A017;
  --line:rgba(255,255,255,.09);
  --radius:18px;
  --max:1080px;
  --nav-h:66px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  background:var(--bg);
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* nav */
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:rgba(12,14,22,.7);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:11px;font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink)}
.logo img{width:30px;height:30px;display:block}
a.logo:hover{text-decoration:none}
.nav-back{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:.92rem;
  padding:9px 18px 9px 12px;border:1px solid var(--line);border-radius:999px;transition:background .15s ease}
.nav-back:hover{background:var(--bg-soft);text-decoration:none}
.nav-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* page header */
.page-header{position:relative;overflow:hidden;text-align:center;padding:80px 24px 64px;border-bottom:1px solid var(--line)}
.page-header::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(70% 80% at 78% 10%,rgba(0,180,162,.28),transparent 60%),
  radial-gradient(80% 90% at 15% 100%,rgba(43,217,192,.14),transparent 60%),
  linear-gradient(160deg,#0A2540 0%,#0A2540 40%,#0C3A52 80%,#0E5B5C 100%)}
.page-header > *{position:relative}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand);background:rgba(0,180,162,.12);border:1px solid rgba(0,180,162,.3);
  padding:7px 15px;border-radius:999px;margin-bottom:22px}
.app-tag{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.page-header h1{font-size:clamp(2.2rem,5.5vw,3.4rem);line-height:1.08;letter-spacing:-.03em;font-weight:800;margin-bottom:16px}
.dates{font-size:.92rem;color:var(--muted)}
.dates strong{color:var(--ink);font-weight:600}

/* layouts: single column (EULA) and sidebar + content (privacy) */
.policy-wrap{max-width:760px;margin:0 auto;padding:64px 24px 96px}
.policy-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start;
  max-width:var(--max);margin:0 auto;padding:0 24px 96px}
.policy-content{padding-top:56px;min-width:0}

/* table of contents */
.toc-sidebar{position:sticky;top:calc(var(--nav-h) + 16px);padding-top:40px;max-height:calc(100vh - var(--nav-h) - 16px);overflow-y:auto}
.toc-sidebar::-webkit-scrollbar{width:4px}
.toc-sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.toc-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:2px}
.toc-list a{display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:10px;font-size:.85rem;
  color:var(--muted);line-height:1.4;transition:background .15s ease,color .15s ease}
.toc-list a:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}
.toc-list a.active{background:rgba(0,180,162,.12);color:var(--ink);font-weight:600}
.toc-num{font-size:.72rem;font-weight:700;color:var(--brand);flex-shrink:0;min-width:1.5em}

/* intro */
.policy-intro{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--radius);padding:24px 26px;margin-bottom:48px;color:var(--text);font-size:1.02rem;line-height:1.8}
.policy-intro + .policy-intro{margin-top:-32px;border-left-color:var(--line)}
.policy-intro p{margin-bottom:14px}
.policy-intro p:last-child{margin-bottom:0}
.policy-intro strong{color:var(--ink)}

/* sections */
.section-divider{border:none;border-top:1px solid var(--line);margin-bottom:44px}
.policy-section{margin-bottom:56px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.policy-section h2{display:flex;align-items:baseline;gap:12px;font-size:clamp(1.35rem,3vw,1.6rem);font-weight:800;
  letter-spacing:-.02em;line-height:1.25;margin-bottom:18px}
.sec-num{flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--brand);
  background:rgba(0,180,162,.12);border:1px solid rgba(0,180,162,.3);border-radius:8px;padding:2px 8px;position:relative;top:-3px}
.policy-section h3{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-2);margin:30px 0 10px}
.policy-section p{color:var(--text);margin-bottom:14px}
.policy-section p:last-child{margin-bottom:0}
.policy-section strong{color:var(--ink)}
.policy-section p.legal-caps{font-size:.86rem;letter-spacing:.01em;line-height:1.75}

.policy-list{list-style:none;margin:10px 0 16px}
.policy-list li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid var(--line);color:var(--text);font-size:.97rem;line-height:1.65}
.policy-list li:last-child{border-bottom:none}
.policy-list li::before{content:"–";position:absolute;left:2px;color:var(--brand);font-weight:700}
ol.policy-list{counter-reset:step}
ol.policy-list li{counter-increment:step}
ol.policy-list li::before{content:counter(step) "."}

code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;color:var(--brand-2);
  background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:6px;padding:1px 6px}

/* callouts */
.callout,.callout-warn{border-radius:12px;padding:18px 22px;margin:20px 0;font-size:.95rem;line-height:1.7}
.callout{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand);color:var(--muted)}
.callout strong{display:block;color:var(--ink);margin-bottom:6px}
.callout-warn{background:rgba(212,160,23,.08);border:1px solid rgba(212,160,23,.3);border-left:3px solid var(--gold);color:var(--text)}
.callout-warn strong{display:block;color:var(--gold);margin-bottom:6px}

/* tables */
.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;margin:20px 0;
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
.data-table th{background:var(--bg-soft);color:var(--ink);text-align:left;padding:11px 14px;font-size:.74rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.data-table tr:last-child td{border-bottom:none}
.data-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.025)}

/* pricing */
.pricing-row{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0 18px}
.price-card{flex:1 1 200px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;transition:transform .15s ease,border-color .15s ease}
.price-card:hover{transform:translateY(-3px);border-color:rgba(0,180,162,.45)}
.plan-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}
.amount{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1;margin-bottom:6px}
.period{font-size:.85rem;color:var(--muted)}
.trial-badge{background:rgba(0,180,162,.1);border:1px solid rgba(0,180,162,.3);border-radius:12px;
  padding:14px 18px;font-size:.95rem;color:var(--text);margin-bottom:18px}
.trial-badge strong{color:var(--ink)}

/* jurisdiction blocks */
.jurisdiction-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin-top:24px}
.jurisdiction-block h3{margin-top:0}
.jurisdiction-block p{font-size:.97rem}
.jurisdiction-block .policy-list{margin-bottom:0}

/* contact band (index .band) */
.contact-block{position:relative;overflow:hidden;text-align:center;margin-top:64px;padding:52px 28px;
  scroll-margin-top:calc(var(--nav-h) + 20px);border:1px solid var(--line);border-radius:26px;
  background:radial-gradient(70% 120% at 50% 0%,rgba(0,180,162,.28),transparent 70%),var(--card)}
.contact-block::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:80px;height:4px;border-radius:0 0 4px 4px;background:var(--gold)}
.contact-block h2{font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.contact-block p{color:var(--muted);max-width:52ch;margin:0 auto 14px}
.contact-block p:last-child{margin-bottom:0}
.contact-block strong{color:var(--ink)}
.contact-block a{font-weight:600}

/* footer */
footer{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
footer a{color:var(--muted)}
footer a:hover{color:var(--ink);text-decoration:none}

@media(max-width:900px){
  .policy-shell{grid-template-columns:1fr;gap:0}
  .toc-sidebar{position:static;max-height:none;padding-top:40px}
  .policy-content{padding-top:32px}
}
@media(max-width:640px){
  .page-header{padding:56px 20px 48px}
  .policy-wrap{padding:48px 20px 72px}
  .policy-shell{padding:0 20px 72px}
  .data-table{display:block;overflow-x:auto}
  .jurisdiction-block{padding:20px}
  .contact-block{padding:40px 22px}
}
