
:root{
  --bg:#07111f;
  --bg-soft:#0d1828;
  --bg-card:rgba(10, 21, 36, 0.8);
  --bg-card-strong:rgba(9, 19, 32, 0.94);
  --line:#223552;
  --line-soft:rgba(56,80,118,.5);
  --text:#f5f8fd;
  --muted:#a7b7d3;
  --muted-strong:#c5d1e4;
  --accent:#f6b34c;
  --accent-soft:rgba(246,179,76,.14);
  --cyan:#59d4ea;
  --cyan-soft:rgba(89,212,234,.12);
  --shadow:0 20px 70px rgba(0,0,0,.34);
  --radius:30px;
  --radius-sm:18px;
  --container:min(1200px, calc(100% - 2rem));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.65;
  background:
    radial-gradient(circle at 15% 0%, rgba(246,179,76,.10), transparent 25%),
    radial-gradient(circle at 100% 10%, rgba(89,212,234,.09), transparent 24%),
    linear-gradient(180deg, #07111f 0%, #081321 40%, #09131f 100%);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(7,17,31,.76);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(34,53,82,.6);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px
}
.brand{
  font-weight:800;letter-spacing:-.03em;font-size:1.05rem
}
.brand span{color:var(--muted);font-weight:600}
.nav nav{display:flex;gap:1rem;flex-wrap:wrap}
.nav nav a{
  color:var(--muted);font-size:.95rem;padding:.55rem .85rem;border-radius:999px;
  border:1px solid transparent;transition:.25s ease
}
.nav nav a:hover{color:var(--text);border-color:rgba(56,80,118,.7);background:rgba(255,255,255,.02)}

.hero{padding:4.2rem 0 1.75rem}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:1.5rem;align-items:center}
.eyebrow,.mini-label{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.42rem .72rem;border-radius:999px;
  border:1px solid rgba(56,80,118,.7);
  background:rgba(255,255,255,.03);
  color:var(--muted-strong);
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase
}
.eyebrow.accent{border-color:rgba(246,179,76,.35);background:var(--accent-soft);color:#ffdb9d}
.hero h1{
  font-size:clamp(2.7rem, 5.4vw, 5.3rem);
  line-height:.98;letter-spacing:-.055em;
  margin:.9rem 0 .85rem
}
.lead-accent{
  color:#ffd393;font-size:1.2rem;font-weight:600;
  max-width:56ch;margin:0 0 1rem
}
.lead{max-width:62ch;color:var(--muted);font-size:1.06rem}
.hero-actions,.cta-actions,.hero-badges{
  display:flex;gap:.85rem;flex-wrap:wrap
}
.hero-actions{margin-top:1.45rem}
.hero-badges{margin-top:1.1rem}
.hero-badges span{
  padding:.42rem .72rem;border-radius:999px;
  color:#d8e2f2;font-size:.85rem;background:rgba(255,255,255,.035);
  border:1px solid rgba(56,80,118,.45)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 1.1rem;border-radius:18px;font-weight:700;
  border:1px solid transparent;transition:.28s ease;box-shadow:var(--shadow)
}
.btn-solid{background:#f6f7fb;color:#091220}
.btn-solid:hover{transform:translateY(-1px)}
.btn-outline{
  background:rgba(255,255,255,.03);border-color:rgba(56,80,118,.72);color:var(--text)
}
.btn-outline:hover{border-color:rgba(123,151,194,.95);background:rgba(255,255,255,.05)}

.hero-panel{
  border:1px solid rgba(56,80,118,.62);
  background:linear-gradient(180deg, rgba(12,24,40,.88) 0%, rgba(7,16,28,.95) 100%);
  border-radius:calc(var(--radius) + 4px);
  padding:1rem;box-shadow:var(--shadow)
}
.hero-art{
  width:100%;border-radius:24px;border:1px solid rgba(56,80,118,.52);
  background:#08111e
}
.hero-facts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.9rem
}
.hero-facts article{
  border-radius:22px;padding:1rem;background:rgba(255,255,255,.03);
  border:1px solid rgba(56,80,118,.5)
}
.hero-facts strong{display:block;font-size:1.45rem;letter-spacing:-.03em}
.hero-facts span{display:block;color:var(--muted);font-size:.92rem}

.ticker-wrap{padding:0 0 1rem}
.ticker{
  display:flex;gap:.85rem;flex-wrap:wrap;
  padding:.6rem 0 0;justify-content:flex-start
}
.ticker span{
  padding:.52rem .78rem;border-radius:999px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(56,80,118,.4);color:var(--muted);
  font-size:.88rem
}

.section{padding:1.25rem 0 1.6rem}
.card{
  background:linear-gradient(180deg, rgba(12,24,40,.82), rgba(8,18,31,.96));
  border:1px solid rgba(56,80,118,.56);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.two-col{display:grid;grid-template-columns:.42fr .58fr;gap:1.2rem}
.rail{display:flex;flex-direction:column;gap:1rem}
.rail-card{padding:1.3rem}
.rail-card.accent{
  border-color:rgba(246,179,76,.35);
  background:linear-gradient(180deg, rgba(50,35,12,.50), rgba(16,18,26,.92))
}
.story-stack{display:flex;flex-direction:column;gap:1rem}
.story-card{padding:1.45rem 1.45rem 1.35rem}
.story-card h2{margin:.65rem 0 .55rem;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.1;letter-spacing:-.03em}
.story-card p,.rail-card p,.impact-card li,.band-copy p,.mini-card p,.faq p,.section-head p,.final-cta p{color:var(--muted)}

.visual-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.wide-visual,.side-visual{padding:1.35rem}
.wide-visual img,.side-visual img{
  border-radius:24px;border:1px solid rgba(56,80,118,.5);margin-top:1rem;background:#09101c
}
.wide-visual h2,.side-visual h2,.faq h2,.section-head h2,.band-copy h2,.final-cta h2{
  margin:.55rem 0 .55rem;font-size:clamp(1.55rem,2.9vw,2.4rem);letter-spacing:-.04em;line-height:1.05
}

.section-head{
  display:grid;grid-template-columns:1.12fr .88fr;gap:1.2rem;align-items:end;margin-bottom:1rem
}
.section-head.compact{grid-template-columns:1fr .95fr}
.impact-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem
}
.impact-card{padding:1.3rem}
.impact-card h3,.mini-card h3{margin:.15rem 0 .55rem;font-size:1.2rem}
.impact-card ul{margin:0;padding-left:1.1rem}
.impact-card li+li{margin-top:.55rem}

.split-band{
  display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;
  padding:1.15rem;border-radius:calc(var(--radius) + 4px);
  border:1px solid rgba(56,80,118,.55);
  background:
    radial-gradient(circle at 10% 0%, rgba(89,212,234,.10), transparent 32%),
    linear-gradient(180deg, rgba(10,22,36,.85), rgba(8,18,31,.98))
}
.band-copy{padding:1.1rem}
.band-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;align-self:stretch}
.mini-card{
  border-radius:24px;padding:1rem;border:1px solid rgba(56,80,118,.5);
  background:rgba(255,255,255,.03)
}

.faq-wrap{padding:1.25rem}
.faq details{
  border-top:1px solid rgba(56,80,118,.44);
  padding:1rem 0
}
.faq details:first-of-type{margin-top:.5rem}
.faq summary{
  cursor:pointer;font-weight:700;list-style:none;padding-right:1rem;position:relative
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:0;top:0;color:var(--accent);font-size:1.2rem
}
.faq details[open] summary::after{content:"–"}
.faq p{margin:.75rem 0 0}

.final-cta{padding-bottom:3.6rem}
.cta-card{
  display:grid;grid-template-columns:1.05fr auto;gap:1rem;align-items:center;padding:1.3rem 1.35rem
}

@media (max-width: 1040px){
  .hero-grid,.two-col,.visual-grid,.section-head,.split-band,.cta-card{grid-template-columns:1fr}
  .impact-grid,.band-cards{grid-template-columns:1fr}
  .hero h1{max-width:12ch}
}
@media (max-width: 720px){
  .nav{align-items:flex-start;padding:.85rem 0}
  .nav nav{gap:.5rem}
  .hero{padding:2.8rem 0 1rem}
  .hero-facts{grid-template-columns:1fr 1fr}
  .wide-visual,.side-visual,.story-card,.faq-wrap,.rail-card,.impact-card,.cta-card{padding:1rem}
  .btn{width:100%}
  .hero-actions,.cta-actions{display:grid;grid-template-columns:1fr}
}

/* hotfix visual overflow v5 */
body{overflow-x:hidden;}
img{max-width:100%;height:auto;}
.card,.wide-visual,.side-visual{overflow:hidden;}
.wide-visual img,.side-visual img,.hero-art{display:block;width:100%;height:auto;}
.wide-visual h2,.side-visual h2,.story-card h2,.impact-card h3,.rail-card h3,.faq summary{
  overflow-wrap:anywhere;
  word-break:normal;
}
