:root{
  --bg:#060b18;
  --bg-charcoal:#0a1120;
  --bg-card:#0e1a2f;
  --blue:#3b82f6;
  --blue-alt:#60a5fa;
  --white:#FFFFFF;
  --gray-light:#EAF1FB;
  --gray-mid:#93a3bd;
  --gray-dim:#5c6b85;
  --border:#152444;
  --border-strong:rgba(255,255,255,0.16);
}
*{scroll-behavior:smooth;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--gray-light);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.font-display{font-family:'Space Grotesk',sans-serif;}
.font-mono{font-family:'JetBrains Mono',monospace;}

.noise-bg{
  background-color:var(--bg);
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(59,130,246,0.18), transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 10%, rgba(96,165,250,0.09), transparent 60%);
}

.glass{
  background:rgba(255,255,255,0.025);
  border:1px solid var(--border);
  backdrop-filter: blur(6px);
}
.glass:hover{ border-color:var(--border-strong); }

.chip{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
}

.btn-primary{
  background: linear-gradient(135deg, var(--blue), var(--blue-alt));
  position:relative; overflow:hidden;
}
.btn-primary::before{
  content:'';
  position:absolute; top:0; left:-75%; width:50%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
  transform:skewX(-20deg);
  transition:left 0.6s ease;
}
.btn-primary:hover::before{ left:125%; }

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:#141f33; border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:var(--blue);}

a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--blue-alt); outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}

.mobile-menu{ max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
.mobile-menu.open{ max-height:420px; }

/* Accordion (FAQ) */
.accordion-content{ max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
.accordion-item.open .accordion-content{ max-height:700px; }
.accordion-item.open .chevron{ transform:rotate(180deg); }
.chevron{ transition:transform 0.3s ease; }

/* Expectations table */
.data-table{ width:100%; border-collapse:collapse; font-size:14px; }
.data-table th{
  text-align:left; font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--gray-dim);
  padding:12px 16px; border-bottom:1px solid var(--border);
}
.data-table td{
  padding:14px 16px; border-bottom:1px solid var(--border); color:var(--gray-mid);
}
.data-table tr:last-child td{ border-bottom:none; }
.data-table td:first-child, .data-table th:first-child{ color:var(--white); font-weight:600; }
.data-table td:last-child{ color:var(--blue-alt); font-weight:600; font-family:'JetBrains Mono',monospace; }

/* Global footer */
.site-footer{ background:#040814; border-top:1px solid var(--border); }
.footer-top{
  max-width:1280px; margin:0 auto; padding:72px 24px 48px;
  display:grid; grid-template-columns:1.1fr 1.6fr; gap:64px;
}
@media (max-width:900px){ .footer-top{ grid-template-columns:1fr; gap:40px; padding:56px 20px 32px; } }
.footer-brand h3{ font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff; font-size:17px; margin-bottom:14px; }
.footer-brand p{ color:var(--gray-mid); font-size:14px; line-height:1.8; max-width:320px; }
.footer-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:32px 40px; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:repeat(3,1fr); gap:32px 28px; } }
@media (max-width:600px){ .footer-grid{ grid-template-columns:repeat(2,1fr); gap:32px 24px; } }
.footer-col h4{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--gray-dim); margin-bottom:18px;
}
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.footer-col a{
  color:var(--gray-mid); font-size:13.5px; line-height:1.5; text-decoration:none;
  transition:color 0.2s ease, text-shadow 0.2s ease;
}
.footer-col a:hover{ color:#fff; text-shadow:0 0 12px rgba(96,165,250,0.55); }
.footer-bottom{
  max-width:1280px; margin:0 auto; padding:24px 24px 32px;
  border-top:1px solid var(--border); text-align:center;
}
.footer-bottom p{ color:var(--gray-dim); font-size:12px; }

.fade-up{ opacity:0; transform:translateY(18px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fade-up.in{ opacity:1; transform:translateY(0); }

.breadcrumb-link, .back-link{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'JetBrains Mono',monospace; font-size:12.5px;
  color:var(--gray-dim); text-decoration:none; transition:color 0.2s ease;
}
.breadcrumb-link:hover, .back-link:hover{ color:var(--blue-alt); }

.btn-secondary{
  background:rgba(255,255,255,0.04); border:1px solid var(--border-strong);
  transition:background 0.2s ease, border-color 0.2s ease;
}
.btn-secondary:hover{ background:rgba(255,255,255,0.08); border-color:var(--blue-alt); }

.step-card{
  position:relative; padding:28px 24px 24px;
  border:1px solid var(--border); border-radius:16px;
  background:rgba(255,255,255,0.025); transition:border-color 0.25s ease, transform 0.25s ease;
}
.step-card:hover{ border-color:var(--border-strong); transform:translateY(-3px); }
.step-card .step-num{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:34px;
  color:transparent; -webkit-text-stroke:1.5px rgba(96,165,250,0.55);
  line-height:1; margin-bottom:14px; display:block;
}
.step-card h4{ color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16px; margin-bottom:8px; }
.step-card p{ color:var(--gray-mid); font-size:14px; line-height:1.65; }

.quote-block{
  border-left:3px solid var(--blue-alt); border-radius:4px 16px 16px 4px;
  background:rgba(255,255,255,0.025); border-top:1px solid var(--border);
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:32px 28px;
}
.quote-block p.quote-text{
  font-family:'Space Grotesk',sans-serif; font-weight:500; color:#fff;
  font-size:19px; line-height:1.5; font-style:italic;
}
.quote-block .quote-author{ margin-top:16px; font-size:13.5px; color:var(--gray-mid); }
.quote-block .quote-author span{ color:#fff; font-weight:600; font-style:normal; }
.quote-block .quote-sub{ margin-top:4px; font-size:12px; color:var(--gray-dim); }

.guide-card{
  display:flex; flex-direction:column; height:100%;
  padding:26px; border:1px solid var(--border); border-radius:16px;
  background:rgba(255,255,255,0.025);
  transition:border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
  text-decoration:none;
}
.guide-card:hover{
  border-color:rgba(96,165,250,0.4); transform:translateY(-4px);
  background:rgba(96,165,250,0.05);
}
.guide-card h3{ color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; margin-bottom:10px; }
.guide-card p{ color:var(--gray-mid); font-size:14px; line-height:1.65; flex:1; }
.guide-card .guide-cta{
  margin-top:18px; display:inline-flex; align-items:center; gap:6px;
  font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600;
  color:var(--blue-alt); text-transform:uppercase; letter-spacing:0.04em;
}
.guide-card:hover .guide-cta{ gap:10px; }
.guide-cta svg, .guide-cta i{ transition:transform 0.25s ease; }

.locked-card{
  background: linear-gradient(180deg, rgba(59,130,246,0.08), transparent 40%), var(--bg-card);
  border:1px solid rgba(59,130,246,0.3);
}

.related-link{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 16px; border:1px solid var(--border); border-radius:999px;
  background:rgba(255,255,255,0.025); color:var(--gray-light);
  font-family:'JetBrains Mono',monospace; font-size:12.5px; text-decoration:none;
  transition:border-color 0.2s ease, color 0.2s ease;
}
.related-link:hover{ border-color:var(--blue-alt); color:#fff; }

.legal-doc{ max-width:760px; margin:0 auto; }
.legal-doc h2{
  font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff;
  font-size:22px; margin-top:48px; margin-bottom:14px;
  padding-top:24px; border-top:1px solid var(--border);
}
.legal-doc > .legal-intro + h2:first-of-type,
.legal-doc h2:first-child{ border-top:none; padding-top:0; margin-top:0; }
.legal-doc h3{
  font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--blue-alt);
  font-size:15.5px; margin-top:26px; margin-bottom:10px;
}
.legal-doc p{ color:var(--gray-mid); font-size:14.5px; line-height:1.8; margin-bottom:14px; }
.legal-doc ul{ margin:0 0 16px 0; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.legal-doc ul li{
  color:var(--gray-mid); font-size:14.5px; line-height:1.7;
  padding-left:22px; position:relative;
}
.legal-doc ul li::before{
  content:''; position:absolute; left:0; top:9px; width:6px; height:6px;
  border-radius:50%; background:var(--blue-alt);
}
.legal-doc strong{ color:var(--gray-light); font-weight:600; }
.legal-card{
  background:rgba(255,255,255,0.025); border:1px solid var(--border);
  border-radius:20px; padding:40px 32px;
}
@media (min-width:768px){ .legal-card{ padding:56px 64px; } }
.legal-meta{
  display:flex; align-items:center; gap:10px; color:var(--gray-dim);
  font-family:'JetBrains Mono',monospace; font-size:12.5px; margin-bottom:8px;
}

/* Audience tabs (trading-for-*.html reference) */
.audience-tab{ border:1px solid var(--border); transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.audience-tab.tab-active{ background:linear-gradient(135deg, var(--blue), var(--blue-alt)); border-color:transparent; color:#fff; }
