@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Mono:wght@400;700&display=swap');

:root{
  --bg:#07090b;
  --panel:#0d1014;
  --ink:#f5f2e9;
  --muted:#9da3aa;
  --line:rgba(255,255,255,.14);
  --acid:#b8ff38;
  --cyan:#9fe7ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Space Mono',monospace;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.topbar{
  position:fixed;z-index:50;left:18px;right:18px;top:14px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:12px 16px;border:1px solid var(--line);border-radius:14px;
  background:rgba(7,9,11,.68);backdrop-filter:blur(16px)
}
.brand{font-weight:700;display:flex;gap:8px;align-items:center}
.brand b{color:var(--acid);font-size:.8rem}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--acid);box-shadow:0 0 24px var(--acid)}
nav{display:flex;gap:28px;font-size:.8rem;color:#ccd1d6}
nav a:hover{color:var(--acid)}
.mini-buy{justify-self:end;font-weight:700;background:var(--ink);color:#050505;padding:8px 12px;border-radius:8px}

.hero{
  position:relative;min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;
  gap:4vw;align-items:center;padding:120px 6vw 72px;overflow:hidden;
  border-bottom:1px solid var(--line)
}
.hero-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(7,9,11,.98) 0%,rgba(7,9,11,.82) 42%,rgba(7,9,11,.35) 100%),
  url('assets/bikemask-bg.jpg') center/cover;z-index:-3}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 78% 44%,rgba(184,255,56,.12),transparent 25%)}
.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.orbit-a{width:700px;height:700px;right:-260px;top:-120px}
.orbit-b{width:440px;height:440px;right:-60px;bottom:-210px}
.eyebrow,.section-kicker{font-size:.72rem;letter-spacing:.18em;color:var(--acid);text-transform:uppercase}
.hero h1{
  font-family:'Archivo Black',sans-serif;font-size:clamp(4.9rem,11vw,11rem);
  letter-spacing:-.08em;line-height:.73;margin:26px 0 36px;text-transform:uppercase
}
.hero h1 span{display:block}
.hero h1 span:last-child{color:transparent;-webkit-text-stroke:2px var(--ink);transform:translateX(5vw)}
.lead{max-width:650px;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.65;color:#c7ccd1}
.lead strong{color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;gap:14px;padding:15px 18px;border-radius:10px;border:1px solid var(--line);font-weight:700;transition:.25s}
.btn.primary{background:var(--acid);color:#080a08;border-color:var(--acid)}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(184,255,56,.16)}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.scroll-note{margin-top:50px;color:#7e858d;font-size:.72rem;display:flex;align-items:center;gap:10px}
.scroll-note span{width:34px;height:1px;background:var(--acid)}

.hero-visual{position:relative;justify-self:end;width:min(100%,670px)}
.portrait-frame{position:relative;border-radius:28px;overflow:hidden;transform:rotate(1.5deg);border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 100px rgba(0,0,0,.45)}
.portrait-frame:before{content:"";position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.portrait-frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.frame-glow{position:absolute;inset:auto 8% -25% 8%;height:40%;background:var(--acid);filter:blur(70px);opacity:.18}
.speed-card{
  position:absolute;z-index:5;left:-44px;bottom:6%;
  background:#0a0d0f;border:1px solid var(--line);padding:14px 16px;border-radius:12px;
  box-shadow:0 20px 40px rgba(0,0,0,.45);min-width:155px
}
.speed-card span,.speed-card small,.speed-card em{display:block}
.speed-card span{font-size:.58rem;color:var(--muted);letter-spacing:.12em}
.speed-card strong{font-family:'Archivo Black';font-size:2.7rem;letter-spacing:.05em;color:var(--acid)}
.speed-card small{font-size:.65rem}.speed-card em{font-size:.55rem;color:#6e757c;margin-top:8px}
.chain-strip{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#090b0d}
.chain-track{display:flex;width:max-content;animation:chain 18s linear infinite;padding:10px 0;font-size:.7rem;letter-spacing:.2em;color:#aeb4ba}
.chain-track span{padding-right:24px}
@keyframes chain{to{transform:translateX(-50%)}}

.manifesto{padding:120px 6vw;background:
  radial-gradient(circle at 15% 10%,rgba(159,231,255,.06),transparent 25%),var(--bg)}
.manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:start;margin-top:24px}
.manifesto h2,.odometer h2,.contract h2,.banner-overlay h2{
  font-family:'Archivo Black';font-size:clamp(2.8rem,6vw,6.2rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase;margin:0
}
.story-copy{font-size:1rem;line-height:1.75;color:#aeb4ba}
.story-copy b{color:#fff}
.lore-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:80px}
.lore-cards article{min-height:280px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));position:relative;overflow:hidden}
.lore-cards article:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-50px;bottom:-60px}
.card-no{font-size:.7rem;color:var(--acid)}
.lore-cards h3{font-family:'Archivo Black';font-size:2rem;margin:110px 0 12px;text-transform:uppercase}
.lore-cards p{color:#969da5;line-height:1.6}

.odometer{position:relative;padding:140px 8vw;min-height:780px;display:grid;place-items:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#090b0d}
.odo-panel{position:relative;z-index:3;text-align:center;max-width:950px}
.odo-panel h2{margin:20px 0}
.odo-panel h2 span{color:var(--acid)}
.odo-panel>p{max-width:620px;margin:0 auto 64px;color:#9aa1a8;line-height:1.7}
.wheel{position:absolute;width:min(50vw,620px);opacity:.75}
.wheel img{width:100%;animation:spin 20s linear infinite}
.wheel-left{left:-18vw;top:70px}.wheel-right{right:-20vw;bottom:20px}
.wheel-right img{animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.route-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:20px;gap:10px;text-align:left}
.route-line div{padding-right:12px;border-right:1px solid var(--line)}
.route-line div:last-child{border-right:0}
.route-line b,.route-line span{display:block}
.route-line b{font-size:.72rem;color:var(--acid);margin-bottom:9px}
.route-line span{font-size:.72rem;color:#9ca3aa;line-height:1.5}

.banner-section{position:relative;min-height:640px;overflow:hidden}
.banner-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.banner-section:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.95),rgba(5,7,9,.5),rgba(5,7,9,.85))}
.banner-overlay{position:relative;z-index:2;min-height:640px;display:flex;align-items:center;justify-content:space-between;padding:80px 8vw}
.banner-overlay h2{margin-top:18px;max-width:800px}
.dial{width:220px;height:220px;border:2px solid rgba(255,255,255,.28);border-radius:50%;position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding:28px;font-size:.75rem}
.dial:before{content:"";position:absolute;inset:18px;border:1px dashed rgba(255,255,255,.22);border-radius:50%}
.needle{position:absolute;width:4px;height:76px;background:var(--acid);left:50%;top:50%;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(-110deg);box-shadow:0 0 22px rgba(184,255,56,.4)}
.dial b{color:var(--acid)}

.contract{padding:130px 7vw 80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:end}
.contract-copy p{color:#9aa1a8;line-height:1.7;max-width:470px}
.ca-box{border:1px solid var(--line);padding:16px;border-radius:16px;background:var(--panel);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;position:relative}
.ca-box code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d9dee2}
.ca-box button{border:0;background:var(--acid);font-family:inherit;font-weight:700;padding:13px 15px;border-radius:9px;cursor:pointer}
.copy-status{position:absolute;right:16px;bottom:-28px;font-size:.62rem;color:#777f87}
.final-actions{grid-column:1/-1;display:flex;gap:12px;margin-top:20px}
.btn.large{padding:18px 22px}
footer{padding:24px 6vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.62rem;color:#737b82}

@media(max-width:900px){
  .topbar{grid-template-columns:1fr auto}.topbar nav{display:none}
  .hero{grid-template-columns:1fr;padding-top:130px}
  .hero-copy{order:1}.hero-visual{order:0;justify-self:stretch}
  .hero h1{font-size:clamp(4rem,18vw,8rem)}
  .hero h1 span:last-child{transform:none}
  .speed-card{left:10px}
  .manifesto-grid,.contract{grid-template-columns:1fr}
  .lore-cards{grid-template-columns:1fr}
  .lore-cards article{min-height:220px}.lore-cards h3{margin-top:70px}
  .route-line{grid-template-columns:1fr 1fr;row-gap:24px}
  .banner-overlay{align-items:flex-end}.dial{display:none}
  .final-actions{grid-column:auto}
}
@media(max-width:560px){
  .hero{padding-left:20px;padding-right:20px}
  .manifesto,.contract{padding-left:20px;padding-right:20px}
  .hero h1{letter-spacing:-.07em}
  .actions,.final-actions{flex-direction:column}
  .btn{justify-content:space-between}
  .route-line{grid-template-columns:1fr}
  .route-line div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}
  .ca-box{grid-template-columns:1fr}.ca-box button{width:100%}
  footer{flex-direction:column}
}
