:root { --ink:#050504; --cream:#f5ead0; --gold:#f6ad12; --hot-gold:#ffc631; --smoke:#9f967f; --line:rgba(255,215,124,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; overflow-x:hidden; background:var(--ink); color:var(--cream); font-family:Arial,Helvetica,sans-serif; }
button,a { font:inherit; } button { color:inherit; } a { color:inherit; text-decoration:none; }
::selection { color:#090704; background:var(--hot-gold); }
.grain { position:fixed; inset:0; z-index:100; pointer-events:none; opacity:.055; mix-blend-mode:screen; 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='.8'/%3E%3C/svg%3E"); }
[data-scene-depth] { --scene-y:0px; --scene-x:0px; --scene-rotate:0deg; will-change:transform; }
.scroll-progress { position:fixed; z-index:60; right:19px; top:50%; width:1px; height:25vh; pointer-events:none; background:rgba(255,255,255,.16); transform:translateY(-50%); }
.scroll-progress span { position:absolute; inset:0; background:var(--hot-gold); box-shadow:0 0 18px rgba(255,198,49,.75); transform:scaleY(var(--scroll-progress,0)); transform-origin:top; }
.scroll-progress b { position:absolute; top:calc(100% + 15px); left:-4px; color:rgba(245,234,208,.62); font-size:7px; letter-spacing:.22em; writing-mode:vertical-rl; }
.flight-system { position:fixed; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.flight-bee { position:absolute; left:0; top:0; width:clamp(108px,10vw,190px); height:auto; opacity:var(--bee-opacity,0); filter:drop-shadow(0 18px 26px rgba(0,0,0,.55)); transform:translate3d(var(--bee-x,0),var(--bee-y,0),0) rotate(var(--bee-rotate,0deg)) scale(var(--bee-scale,1)); transform-origin:center; will-change:transform,opacity; }
.flight-bee-a { width:clamp(130px,12vw,220px); }
.flight-bee-b { width:clamp(80px,7vw,130px); }
.flight-bee-c { width:clamp(90px,8vw,150px); }
.flight-bee-d { width:clamp(170px,18vw,330px); filter:blur(3px) drop-shadow(0 24px 30px rgba(0,0,0,.5)); }

.site-header { position:absolute; z-index:30; top:0; left:0; width:100%; height:92px; padding:0 clamp(22px,4vw,72px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:center; gap:12px; font-family:Impact,"Arial Narrow",sans-serif; font-size:20px; letter-spacing:.05em; }
.wordmark-logo { width:42px; height:42px; display:block; flex:0 0 auto; filter:drop-shadow(0 0 14px rgba(246,173,18,.18)); }
.desktop-nav { display:flex; gap:clamp(24px,3vw,54px); font-size:12px; font-weight:800; letter-spacing:.16em; }
.desktop-nav a { position:relative; padding:10px 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:3px; width:100%; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .35s ease; }
.desktop-nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.menu-button { display:none; background:transparent; border:0; padding:8px; cursor:pointer; }
.menu-button svg { width:28px; height:28px; }
.icon { display:inline-grid; place-items:center; width:18px; height:18px; font-style:normal; line-height:1; }

.mobile-menu { position:fixed; z-index:90; inset:0; display:flex; flex-direction:column; padding:22px; background:#080704; color:var(--cream); transform:translateY(-102%); visibility:hidden; transition:transform .6s cubic-bezier(.77,0,.18,1),visibility .6s; }
.mobile-menu::before { content:""; position:absolute; inset:0; opacity:.16; background:radial-gradient(circle at 85% 15%,#ffbd21 0 8%,transparent 35%),linear-gradient(120deg,transparent 55%,rgba(247,174,20,.2)); }
.mobile-menu.is-open { transform:translateY(0); visibility:visible; }
.mobile-menu-top { position:relative; display:flex; justify-content:space-between; align-items:center; }
.mobile-menu-top button { border:1px solid var(--line); background:transparent; width:48px; height:48px; display:grid; place-items:center; }
.mobile-menu nav { position:relative; margin:auto 0; display:grid; }
.mobile-menu nav a { display:flex; align-items:baseline; gap:18px; padding:13px 0; border-bottom:1px solid var(--line); font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(48px,15vw,78px); line-height:.94; letter-spacing:.01em; }
.mobile-menu nav a span { font-family:Arial,sans-serif; font-size:11px; color:var(--gold); }
.mobile-menu-actions { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mobile-menu-actions button { min-height:52px; display:flex; justify-content:center; align-items:center; gap:8px; border:1px solid var(--line); background:transparent; font-weight:800; font-size:12px; letter-spacing:.12em; }
.mobile-menu-actions button:first-child { color:var(--ink); background:var(--gold); }
.mobile-menu-actions svg { width:17px; }
.mobile-menu>p { position:relative; margin:16px 0 0; text-align:center; font-size:10px; letter-spacing:.2em; color:var(--smoke); }

.hero { position:relative; min-height:100svh; overflow:hidden; isolation:isolate; background:#030302; }
.hero-image-wrap { position:absolute; inset:92px 0 150px; z-index:-3; display:block; transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.035) rotate(var(--scene-rotate)); background:#030302; }
.hero-image-wrap img { width:100%; height:100%; object-fit:contain; object-position:center top; }
.hero-vignette { position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,rgba(2,2,1,.96) 0%,rgba(2,2,1,.42) 24%,transparent 48%); }
.hero-grid { position:absolute; inset:0; z-index:-1; opacity:.22; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:25vw 100%,100% 100%; }
.hero-copy { position:absolute; left:clamp(22px,7vw,130px); bottom:30px; transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-rotate)); z-index:2; }
.eyebrow,.kicker { margin:0 0 18px; display:flex; align-items:center; gap:10px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.23em; }
.eyebrow span { width:38px; height:2px; background:var(--gold); }
.hero h1 { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(130px,24vw,390px); font-weight:900; line-height:.72; letter-spacing:-.035em; color:var(--cream); text-shadow:0 10px 60px rgba(0,0,0,.45); }
.hero h1 { display:none; }
.hero h1 span { color:var(--gold); font-size:1em; vertical-align:baseline; line-height:inherit; }
.hero-line { margin:0 0 18px 0; font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:clamp(20px,1.8vw,28px); line-height:1.1; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hero-actions button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:0; cursor:pointer; font-size:11px; font-weight:900; letter-spacing:.15em; transition:background .25s,color .25s,transform .25s; }
.hero-actions button:hover { transform:translateY(-3px); }
.hero-actions svg { width:17px; height:17px; }
.gold-button { color:#080603; background:var(--gold); border:1px solid var(--gold); }
.gold-button:hover { background:var(--hot-gold); }
.outline-button { color:var(--cream); background:rgba(5,5,4,.36); border:1px solid rgba(245,234,208,.45); backdrop-filter:blur(10px); }
.outline-button:hover { color:var(--ink); background:var(--cream); }
.hero-index { position:absolute; right:clamp(22px,4vw,72px); bottom:42px; display:flex; align-items:center; gap:18px; writing-mode:vertical-rl; font-size:9px; font-weight:800; letter-spacing:.18em; }
.hero-index span:first-child { color:var(--gold); }
.scroll-cue { position:absolute; bottom:36px; left:50%; display:flex; align-items:center; gap:10px; transform:translateX(-50%); font-size:9px; font-weight:800; letter-spacing:.18em; }
.scroll-cue svg { width:15px; animation:nudge 1.7s ease-in-out infinite; }
@keyframes nudge { 0%,100% { transform:translateY(-3px); } 50% { transform:translateY(5px); } }

.marquee { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--gold); color:#070603; }
.marquee>div { width:max-content; display:flex; align-items:center; animation:marquee 22s linear infinite; }
.marquee span { padding:16px 25px; font-family:Impact,"Arial Narrow",sans-serif; font-size:23px; letter-spacing:.04em; }
.marquee i { font-style:normal; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section-label { display:flex; align-items:center; gap:15px; font-size:10px; font-weight:800; letter-spacing:.21em; color:var(--smoke); }
.section-label span { color:var(--gold); }
.buzz-section { position:relative; min-height:105vh; padding:clamp(80px,11vw,180px) clamp(22px,7vw,130px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; background:#080704; }
.buzz-section::before { content:""; position:absolute; width:720px; height:720px; right:-260px; top:-180px; border:1px solid var(--line); border-radius:50%; box-shadow:0 0 0 70px rgba(246,173,18,.02),0 0 0 140px rgba(246,173,18,.018); }
.buzz-copy { position:relative; z-index:2; max-width:1140px; margin-top:clamp(90px,12vw,170px); transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-rotate)); }
.honey-orbit { position:absolute; border:1px solid rgba(255,194,43,.28); border-radius:50%; pointer-events:none; }
.honey-orbit::before { content:""; position:absolute; width:9px; height:9px; border-radius:50%; top:8%; left:26%; background:var(--hot-gold); box-shadow:0 0 25px var(--gold); }
.honey-orbit-one { width:min(65vw,950px); aspect-ratio:1; right:-31vw; top:3%; transform:rotate(var(--orbit-rotate,0deg)); }
.honey-orbit-two { width:min(42vw,620px); aspect-ratio:1; right:-16vw; top:20%; opacity:.4; transform:rotate(var(--orbit-rotate-reverse,0deg)); }
.buzz-copy h2,.vault-copy h2,.enter-section h2 { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(64px,10.8vw,180px); line-height:.84; letter-spacing:-.025em; }
.buzz-copy h2 em { color:var(--gold); font-family:Georgia,serif; font-weight:400; }
.buzz-body { max-width:520px; margin:44px 0 0 auto; font-family:Georgia,serif; font-size:clamp(18px,1.6vw,24px); line-height:1.55; color:#c8bfa9; }
.orbital-stamp { position:absolute; right:7vw; top:18%; width:150px; height:150px; display:grid; place-items:center; color:var(--gold); animation:float 6s ease-in-out infinite; }
.orbital-stamp svg { width:38px; height:38px; }
.orbital-stamp span { position:absolute; inset:0; font-size:8px; font-weight:900; letter-spacing:.18em; border:1px solid var(--line); border-radius:50%; display:grid; place-items:start center; padding-top:9px; }
@keyframes float { 50% { transform:translateY(14px) rotate(4deg); } }

.vault-section { height:180vh; background:#030302; }
.vault-sticky { position:sticky; top:0; height:100vh; overflow:hidden; }
.vault-sticky .vault-portrait { width:100%; height:115%; object-fit:cover; object-position:center; transform:scale(var(--vault-scale,1.13)) translate3d(0,var(--vault-y,-2%),0); will-change:transform; }
@keyframes vault-zoom { from { transform:scale(1.13) translateY(-2%); } to { transform:scale(1) translateY(-9%); } }
.vault-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,2,1,.72),transparent 62%),linear-gradient(0deg,rgba(2,2,1,.72),transparent 50%); }
.vault-copy { position:absolute; left:clamp(22px,7vw,130px); bottom:9vh; }
.vault-copy,.vault-note { transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-rotate)); }
.vault-copy>p { margin:0 0 23px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.22em; }
.vault-copy h2 { font-size:clamp(62px,9vw,150px); }
.vault-copy h2 span { color:var(--gold); }
.vault-note { position:absolute; right:clamp(22px,5vw,84px); top:20%; padding-left:16px; border-left:2px solid var(--gold); font-size:10px; font-weight:900; line-height:1.8; letter-spacing:.2em; }
.vault-bee { position:absolute; z-index:3; right:-4vw; bottom:-3vh; width:clamp(250px,35vw,600px); height:auto; opacity:.88; filter:blur(1px) drop-shadow(0 30px 35px rgba(0,0,0,.65)); transform:translate3d(var(--vault-bee-x,120px),var(--vault-bee-y,80px),0) rotate(var(--vault-bee-r,-16deg)); will-change:transform; }

.code-section { padding:clamp(90px,12vw,190px) clamp(22px,7vw,130px); background:var(--cream); color:#080704; }
.code-section .section-label { color:#726b5b; }
.code-lines { margin-top:clamp(75px,9vw,140px); }
.code-lines>div { display:grid; grid-template-columns:70px minmax(0,1fr) minmax(220px,330px); gap:28px; align-items:center; padding:32px 0; border-top:1px solid rgba(8,7,4,.28); }
.code-lines>div { --line-offset:0px; transform:translate3d(var(--line-offset),0,0); transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.code-lines>div:last-child { border-bottom:1px solid rgba(8,7,4,.28); }
.code-lines span { color:#a56e00; font:italic 18px Georgia,serif; }
.code-lines h3 { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(46px,6.8vw,110px); line-height:.9; letter-spacing:-.015em; }
.code-lines p { margin:0; font-family:Georgia,serif; font-size:18px; line-height:1.4; color:#665f50; }

.enter-section { position:relative; min-height:100vh; padding:120px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; overflow:hidden; background:#090704; }
.enter-section::before { content:""; position:absolute; left:50%; top:49%; width:min(72vw,970px); aspect-ratio:1; border:1px solid var(--line); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 110px rgba(246,173,18,.12),inset 0 0 100px rgba(246,173,18,.05); }
.enter-section::after { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(30deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)),linear-gradient(150deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)); background-size:86px 150px; mask-image:radial-gradient(circle,black,transparent 70%); }
.enter-section>* { position:relative; z-index:2; }
.enter-section h2 { transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-rotate)); }
.enter-honey { position:absolute; z-index:1; inset:auto -14vw -10vw; height:64vh; opacity:.34; pointer-events:none; transform:translate3d(var(--enter-honey-x,0),var(--enter-honey-y,0),0) rotate(8deg); will-change:transform; }
.enter-honey img { width:100%; height:100%; object-fit:contain; filter:blur(1px) drop-shadow(0 20px 35px rgba(0,0,0,.6)); }
.enter-section .kicker { display:block; }
.enter-section h2 { font-size:clamp(90px,16vw,250px); }
.enter-section h2 span { color:var(--gold); }
.enter-copy { max-width:540px; margin:34px auto; color:#b9af98; font-family:Georgia,serif; font-size:18px; line-height:1.55; }

footer { min-height:110px; padding:28px clamp(22px,4vw,72px); display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); background:#050504; }
footer p { margin:0; color:var(--smoke); font-size:9px; letter-spacing:.17em; }
footer>div { display:flex; gap:10px; }
footer button { width:42px; height:42px; border:1px solid var(--line); background:transparent; font-size:11px; font-weight:900; cursor:pointer; }
footer button:hover { color:var(--ink); background:var(--gold); }

@supports (animation-timeline:view()) {
  .reveal-on-scroll { animation:reveal linear both; animation-timeline:view(); animation-range:entry 8% cover 42%; }
  @keyframes reveal { from { opacity:.16; transform:translateY(100px); } to { opacity:1; transform:translateY(0); } }
}

@media (max-width:780px) {
  .site-header { height:76px; }
  .desktop-nav { display:none; }
  .menu-button { display:block; }
  .hero { min-height:830px; }
  .hero-image-wrap { inset:76px 0 0; }
  .hero-image-wrap img { object-fit:cover; object-position:center; }
  .hero-vignette { background:linear-gradient(0deg,rgba(2,2,1,.98) 0%,rgba(2,2,1,.75) 52%,rgba(2,2,1,.14) 100%); }
  .hero-grid { background-size:50vw 100%,100% 100%; }
  .hero-copy { left:22px; right:22px; top:auto; bottom:86px; transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-rotate)); }
  .hero h1 { display:block; font-size:clamp(86px,27vw,122px); line-height:.77; }
  .hero-line { margin:25px 0 23px 4px; font-size:23px; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .hero-actions button { min-height:52px; padding:0 11px; letter-spacing:.08em; }
  .hero-index { display:none; }
  .scroll-cue { left:auto; right:22px; bottom:26px; transform:none; }
  .buzz-section { min-height:900px; padding-top:90px; }
  .buzz-copy { margin-top:120px; }
  .buzz-copy h2 { font-size:clamp(58px,18vw,94px); }
  .buzz-body { margin:38px 0 0; font-size:18px; }
  .orbital-stamp { width:106px; height:106px; right:22px; top:95px; }
  .orbital-stamp span { font-size:6px; }
  .vault-section { height:150vh; }
  .vault-sticky .vault-portrait { width:155%; margin-left:-28%; object-position:52% center; }
  .vault-copy { bottom:8vh; }
  .vault-copy h2 { font-size:clamp(60px,17.5vw,96px); }
  .vault-note { top:15%; }
  .code-lines>div { grid-template-columns:34px 1fr; gap:14px; padding:30px 0; }
  .code-lines h3 { font-size:clamp(44px,13vw,72px); }
  .code-lines p { grid-column:2; font-size:16px; }
  .enter-section { min-height:820px; }
  .enter-section h2 { font-size:clamp(88px,27vw,150px); }
  .enter-section::before { width:145vw; }
  .enter-section .hero-actions { width:100%; max-width:460px; }
  footer { padding-block:34px; flex-wrap:wrap; }
  footer p { order:3; width:100%; }
  .scroll-progress { right:10px; height:18vh; }
  .flight-bee-d { display:none; }
  .flight-bee-a { width:112px; }
  .flight-bee-b,.flight-bee-c { width:72px; }
  .vault-bee { width:260px; right:-110px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-scene-depth],.vault-sticky img,.flight-bee,.vault-bee,.enter-honey { transform:none !important; }
  .flight-system,.scroll-progress { display:none; }
}
