:root{
  --bg:#0a1420;
  --bg-elevated:#0f1e2c;
  --surface:#10202f;
  --surface-2:#17293a;
  --border:#24384a;
  --text:#eef4f1;
  --text-muted:#9db0aa;
  --accent-gold:#e7b54d;
  --accent-gold-strong:#f4c866;
  --accent-green:#52c76e;
  --accent-green-deep:#2f8b49;
  --ink-on-gold:#14100a;
  --glow-gold:rgba(231,181,77,.16);
  --glow-green:rgba(82,199,110,.14);
  --shadow:0 24px 70px -28px rgba(0,0,0,.65);
  --line-faint:rgba(238,244,241,.09);
}

@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#eef2ee;
    --bg-elevated:#ffffff;
    --surface:#ffffff;
    --surface-2:#e3e9e3;
    --border:#cdd8cf;
    --text:#0f1e18;
    --text-muted:#51625a;
    --accent-gold:#b07c22;
    --accent-gold-strong:#96691a;
    --accent-green:#2c7a42;
    --accent-green-deep:#1f5c32;
    --ink-on-gold:#161000;
    --glow-gold:rgba(176,124,34,.10);
    --glow-green:rgba(44,122,66,.08);
    --shadow:0 24px 60px -30px rgba(20,40,30,.25);
    --line-faint:rgba(15,30,24,.08);
  }
}
:root[data-theme="light"]{
  --bg:#eef2ee;
  --bg-elevated:#ffffff;
  --surface:#ffffff;
  --surface-2:#e3e9e3;
  --border:#cdd8cf;
  --text:#0f1e18;
  --text-muted:#51625a;
  --accent-gold:#b07c22;
  --accent-gold-strong:#96691a;
  --accent-green:#2c7a42;
  --accent-green-deep:#1f5c32;
  --ink-on-gold:#161000;
  --glow-gold:rgba(176,124,34,.10);
  --glow-green:rgba(44,122,66,.08);
  --shadow:0 24px 60px -30px rgba(20,40,30,.25);
  --line-faint:rgba(15,30,24,.08);
}
:root[data-theme="dark"]{
  --bg:#0a1420;
  --bg-elevated:#0f1e2c;
  --surface:#10202f;
  --surface-2:#17293a;
  --border:#24384a;
  --text:#eef4f1;
  --text-muted:#9db0aa;
  --accent-gold:#e7b54d;
  --accent-gold-strong:#f4c866;
  --accent-green:#52c76e;
  --accent-green-deep:#2f8b49;
  --ink-on-gold:#14100a;
  --glow-gold:rgba(231,181,77,.16);
  --glow-green:rgba(82,199,110,.14);
  --shadow:0 24px 70px -28px rgba(0,0,0,.65);
  --line-faint:rgba(238,244,241,.09);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Work Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
}

h1,h2,h3{
  font-family:"Big Shoulders Display", ui-sans-serif, system-ui, sans-serif;
  font-weight:800;
  line-height:1;
  text-wrap:balance;
  margin:0;
  letter-spacing:.005em;
}

.mono{
  font-family:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;
  font-variant-numeric:tabular-nums;
}

.eyebrow{
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-gold);
  display:flex;
  align-items:center;
  gap:.6em;
}
.eyebrow::before{
  content:"";
  width:1.4em;
  height:2px;
  background:var(--accent-gold);
  display:inline-block;
}

a{color:inherit;}
a:focus-visible, button:focus-visible{
  outline:2px solid var(--accent-gold-strong);
  outline-offset:3px;
  border-radius:4px;
}

img,svg{display:block;max-width:100%;}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding-inline:clamp(1.25rem, 4vw, 2.5rem);
}

.skip-link{
  position:absolute;
  left:-999px;
  top:0;
  background:var(--accent-gold);
  color:var(--ink-on-gold);
  padding:.75em 1.25em;
  z-index:100;
  font-weight:600;
  border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* header */
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-faint);
}
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding-block:.85rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  text-decoration:none;
}
.brand-logo{
  width:44px;
  height:44px;
  border-radius:10px;
  object-fit:cover;
  box-shadow:0 6px 16px -8px rgba(0,0,0,.5);
}
.nav-links{
  display:flex;
  gap:2rem;
  list-style:none;
  margin:0;
  padding:0;
  font-size:.9rem;
  font-weight:500;
}
.nav-links a{
  text-decoration:none;
  color:var(--text-muted);
  transition:color .15s ease;
}
.nav-links a:hover{color:var(--text);}
@media (max-width:720px){ .nav-links{display:none;} }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  font-family:"Work Sans", sans-serif;
  font-weight:600;
  font-size:.92rem;
  padding:.75em 1.5em;
  border-radius:999px;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{
  background:var(--accent-gold);
  color:var(--ink-on-gold);
  box-shadow:0 12px 28px -12px var(--glow-gold);
}
.btn-primary:hover{background:var(--accent-gold-strong);}
.btn-ghost{
  background:transparent;
  color:var(--text);
  border-color:var(--border);
}
.btn-ghost:hover{border-color:var(--accent-green); color:var(--accent-green);}
.btn-sm{padding:.55em 1.1em; font-size:.82rem;}

/* hero */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%, var(--glow-gold), transparent 55%),
    radial-gradient(circle at 12% 82%, var(--glow-green), transparent 50%),
    var(--bg);
  padding-block:clamp(3.5rem, 9vw, 6.5rem) clamp(4rem, 10vw, 7rem);
}
.hero-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.85;
}
.hero-inner{
  position:relative;
  z-index:2;
  max-width:760px;
}
.hero-crest{
  width:clamp(88px, 11vw, 128px);
  height:clamp(88px, 11vw, 128px);
  border-radius:18px;
  object-fit:cover;
  margin-bottom:1.5rem;
  box-shadow:0 22px 44px -18px var(--glow-gold), 0 0 0 1px var(--border);
}
.hero h1{
  font-size:clamp(2.6rem, 6.4vw, 5.1rem);
  text-transform:uppercase;
  margin-block:.5rem .9rem;
}
.hero h1 em{
  font-style:normal;
  color:var(--accent-gold);
}
.hero .lede{
  font-size:clamp(1.02rem, 1.6vw, 1.2rem);
  color:var(--text-muted);
  max-width:52ch;
  margin-bottom:2rem;
}
.hero .lede strong{color:var(--text); font-weight:600;}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-bottom:2.25rem;
}
.hero-meta{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-family:"IBM Plex Mono", monospace;
  font-size:.78rem;
  color:var(--text-muted);
  letter-spacing:.04em;
}
.pulse-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--accent-green);
  box-shadow:0 0 0 0 var(--glow-green);
  animation:pulse 2.2s ease-out infinite;
  flex:none;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 var(--glow-green);}
  70%{box-shadow:0 0 0 10px transparent;}
  100%{box-shadow:0 0 0 0 transparent;}
}

/* pitch-line divider */
.pitch-divider{
  display:block;
  width:100%;
  height:34px;
  color:var(--line-faint);
}

/* ticker */
.ticker-section{
  background:var(--surface);
  border-block:1px solid var(--line-faint);
  padding-block:.9rem;
  overflow:hidden;
}
.ticker-track{
  display:flex;
  width:max-content;
  gap:3rem;
  animation:scroll-left 34s linear infinite;
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none; flex-wrap:wrap; width:100%; justify-content:center;}
}
@keyframes scroll-left{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.ticker-item{
  font-family:"IBM Plex Mono", monospace;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:.9rem;
}
.ticker-item::after{
  content:"\2022";
  color:var(--accent-gold);
}

section{padding-block:clamp(4rem, 9vw, 6.5rem);}

.section-head{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  max-width:640px;
  margin-bottom:clamp(2.25rem, 5vw, 3.25rem);
}
.section-head h2{
  font-size:clamp(1.8rem, 3.6vw, 2.6rem);
  text-transform:uppercase;
}
.section-head p{
  color:var(--text-muted);
  font-size:1.02rem;
  max-width:56ch;
}

/* benefits */
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:1.25rem;
}
.benefit-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:14px;
  padding:1.75rem 1.6rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:border-color .2s ease, transform .2s ease;
}
.benefit-card:hover{border-color:var(--accent-green); transform:translateY(-3px);}
.benefit-icon{
  width:42px;height:42px;
  border-radius:10px;
  background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent-green);
}
.benefit-tag{
  font-family:"IBM Plex Mono", monospace;
  font-size:.68rem;
  letter-spacing:.16em;
  color:var(--accent-gold);
  font-weight:600;
}
.benefit-card h3{
  font-size:1.28rem;
  text-transform:none;
  font-weight:700;
  letter-spacing:0;
}
.benefit-card p{
  color:var(--text-muted);
  font-size:.94rem;
  margin:0;
}

/* steps */
.steps-section{background:var(--bg-elevated); border-block:1px solid var(--line-faint);}
.steps-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:2rem;
  counter-reset:step;
}
.step{position:relative; padding-left:3rem;}
.step::before{
  counter-increment:step;
  content:counter(step, decimal-leading-zero);
  position:absolute;
  left:0; top:-.15rem;
  font-family:"Big Shoulders Display", sans-serif;
  font-size:1.9rem;
  font-weight:700;
  color:var(--accent-gold);
  line-height:1;
}
.step h3{
  font-size:1.05rem;
  text-transform:none;
  font-weight:700;
  margin-bottom:.4rem;
}
.step p{color:var(--text-muted); font-size:.92rem; margin:0;}

/* roster / contact */
.roster{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
}
.roster-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  padding:1.1rem 1.5rem;
  border-bottom:1px solid var(--line-faint);
}
.roster-row:last-child{border-bottom:none;}
.roster-id{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:200px;
}
.flag{font-size:1.4rem; line-height:1;}
.roster-country{font-weight:600; font-size:.98rem;}
.roster-number{
  font-family:"IBM Plex Mono", monospace;
  font-size:.95rem;
  color:var(--text-muted);
  letter-spacing:.02em;
}
.roster-action{
  font-size:.82rem;
  padding:.55em 1.15em;
}

/* final cta */
.cta-banner{
  background:linear-gradient(120deg, var(--accent-green-deep), var(--accent-gold-strong) 140%);
  border-radius:20px;
  padding:clamp(2.25rem, 5vw, 3.5rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:2rem;
  color:var(--ink-on-gold);
}
.cta-banner h2{
  font-size:clamp(1.9rem, 4vw, 2.9rem);
  text-transform:uppercase;
  max-width:14ch;
  color:var(--ink-on-gold);
}
.cta-banner p{
  margin:.6rem 0 0;
  max-width:40ch;
  font-size:.98rem;
  opacity:.85;
}
.cta-banner .btn-primary{
  background:var(--ink-on-gold);
  color:#fdf3df;
  box-shadow:none;
}
.cta-banner .btn-primary:hover{background:#000;}

footer{
  border-top:1px solid var(--line-faint);
  padding-block:2.75rem;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:2rem;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.footer-logo{
  width:56px;
  height:56px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 6px 16px -8px rgba(0,0,0,.5);
}
.footer-tag{
  font-family:"IBM Plex Mono", monospace;
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent-gold);
}
.footer-note{
  color:var(--text-muted);
  font-size:.85rem;
  max-width:34ch;
}
.footer-copy{
  color:var(--text-muted);
  font-size:.78rem;
  margin-top:.75rem;
}
