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

:root { --acid:#c7ff00; --acid-deep:#8fd000; --ink:#10130e; --paper:#f1f0e9; --muted:#a5a99d; --line:rgba(241,240,233,.18); --blue:#1356ef; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:'Space Grotesk',Arial,sans-serif; overflow-x:hidden; }
body.preloading { overflow:hidden; }
.preloader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; align-content:center; gap:22px; background:#0b0d0a; transition:opacity .55s ease,visibility .55s ease; }
.preloader.is-done { opacity:0; visibility:hidden; pointer-events:none; }
.preloader-stage { position:relative; display:grid; place-items:center; width:170px; height:170px; }
.preloader-logo { position:relative; z-index:2; width:78px; height:78px; object-fit:contain; filter:drop-shadow(0 0 18px rgba(199,255,0,.7)); mix-blend-mode:screen; }
.preloader-orbit { position:absolute; inset:7px; border:1px solid rgba(241,240,233,.32); border-radius:50%; animation:preloaderSpin 1.55s linear infinite; }
.preloader-orbit:before { content:''; position:absolute; top:-2px; left:50%; width:47px; height:3px; border-radius:99px; background:var(--acid); box-shadow:0 0 13px rgba(199,255,0,.95); }
.preloader-copy { display:flex; gap:10px; color:#7f8b76; font:10px 'DM Mono',monospace; letter-spacing:.12em; }
.preloader-copy strong { color:var(--acid); font-weight:400; }
@keyframes preloaderSpin { to { transform:rotate(360deg); } }
body:before { content:''; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 20% 10%,rgba(199,255,0,.08),transparent 30%), radial-gradient(circle at 90% 55%,rgba(19,86,239,.06),transparent 34%); z-index:-2; }
.noise { position:fixed; inset:0; opacity:.04; pointer-events:none; z-index:10; 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='.6'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1380px,calc(100% - 64px)); margin:auto; padding:26px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:3; }
.brand,.nav-links,.header-pill,.footer,.footer-links { font:500 11px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.brand { display:flex; align-items:center; gap:11px; font-size:12px; }
.brand-mark { display:grid; place-items:center; width:32px; height:32px; background:var(--ink); border:1px solid var(--acid); color:var(--ink); font-size:19px; line-height:1; transform:rotate(-20deg); overflow:hidden; }
.brand-mark img { display:block; width:28px; height:28px; object-fit:contain; filter:drop-shadow(0 0 5px rgba(199,255,0,.45)); mix-blend-mode:screen; }
.nav-links { display:flex; gap:34px; color:#8f9487; }
.nav-links a,.footer-links a { transition:color .2s ease; }
.nav-links a:hover,.footer-links a:hover { color:var(--acid); }
.header-pill { border:1px solid var(--acid); border-radius:99px; padding:11px 14px; color:var(--acid); }
.header-pill span { margin-left:8px; font-size:14px; }
.section-shell { width:min(1380px,calc(100% - 64px)); margin:auto; }
.hero { min-height:750px; display:grid; grid-template-columns:1fr 1fr; align-items:center; position:relative; padding:50px 0 94px; }
.eyebrow { margin:0 0 22px; font:500 11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.12em; color:var(--acid); }
.eyebrow-dot { display:inline-block; width:8px; height:8px; margin-right:9px; border-radius:50%; background:var(--acid); box-shadow:0 0 14px var(--acid); }
h1,h2,p { margin-top:0; }
h1 { margin-bottom:30px; font-size:clamp(92px,13.3vw,190px); line-height:.79; letter-spacing:-.1em; font-weight:600; }
h1 em,h2 em { color:var(--acid); font-style:normal; }
.hero-lede { max-width:440px; color:#adb2a6; font-size:17px; line-height:1.55; }
.hero-actions,.join-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; border:0; font:500 11px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; padding:16px 18px; cursor:pointer; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--acid); color:var(--ink); }
.button-dark:hover { background:#e0ff6b; }
.button-outline { color:var(--paper); border:1px solid rgba(241,240,233,.35); background:transparent; }
.button-outline:hover { border-color:var(--acid); color:var(--acid); }
.ticker-note { display:flex; gap:14px; align-items:center; margin-top:54px; color:#687063; font:11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.ticker-note strong { font-size:15px; color:var(--paper); }
.ticker-note strong:before { content:''; display:inline-block; width:6px; height:6px; margin:0 10px 2px 0; background:var(--acid); border-radius:50%; }
.hero-art { height:590px; position:relative; }
.hero-art:before { content:''; position:absolute; width:440px; height:440px; border:1px solid rgba(199,255,0,.26); border-radius:50%; top:80px; left:50%; transform:translateX(-50%); box-shadow:0 0 90px rgba(199,255,0,.07); }
.hero-cat-wrap { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; filter:drop-shadow(0 0 32px rgba(199,255,0,.55)); }
.hero-cat { width:min(70%,430px); max-height:610px; object-fit:contain; position:relative; z-index:1; animation:float 5s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-12px) rotate(1deg)} }
.burst { position:absolute; border:1px solid var(--acid); width:25px; height:25px; transform:rotate(45deg); z-index:2; }
.burst:before,.burst:after { content:''; position:absolute; background:var(--acid); }
.burst:before { width:1px; height:40px; left:11px; top:-8px; }.burst:after { height:1px; width:40px; left:-8px; top:11px; }
.burst-one { top:120px; left:13%; }.burst-two { right:10%; bottom:114px; transform:rotate(45deg) scale(.7); }
.hero-sticker { position:absolute; z-index:2; background:var(--acid); color:var(--ink); padding:12px 16px; font-size:20px; line-height:.88; font-weight:700; letter-spacing:-.07em; box-shadow:7px 7px 0 rgba(241,240,233,.12); }
.sticker-top { top:65px; right:7%; transform:rotate(8deg); }.sticker-bottom { bottom:70px; left:5%; transform:rotate(-9deg); }.sticker-bottom span { font-size:11px; letter-spacing:.05em; }
.scribble { position:absolute; z-index:2; color:var(--acid); font-size:38px; }.scribble-left{left:2%; top:44%;}.scribble-right{right:0; top:35%; font-size:60px; transform:rotate(20deg);}
.signal-strip { overflow:hidden; padding:22px 0; background:var(--acid); color:var(--ink); transform:rotate(-1.3deg) scale(1.02); margin:0 -10px 100px; }
.marquee { display:flex; width:max-content; align-items:center; gap:24px; animation:slide 24s linear infinite; font:500 15px 'DM Mono',monospace; letter-spacing:.04em; white-space:nowrap; }
.marquee { gap:0; }
.marquee-group { display:flex; align-items:center; gap:28px; flex-shrink:0; padding-right:28px; }
.marquee b { font-size:22px; }
@keyframes slide { to{transform:translateX(-50%)} }
.section-label { display:flex; justify-content:space-between; color:#72796c; font:11px 'DM Mono',monospace; letter-spacing:.12em; padding-bottom:20px; border-bottom:1px solid var(--line); }
.section-label span:first-child { color:var(--acid); }
.story { padding-bottom:140px; }.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; padding-top:70px; }
h2 { font-size:clamp(50px,6vw,88px); line-height:.9; letter-spacing:-.08em; font-weight:500; }.story-intro h2{margin-bottom:36px}.story-intro h2 span,.manifesto h2 span { color:var(--acid); }
.intro-copy { max-width:430px; color:#939a8d; font-size:18px; line-height:1.5; }.story-body { padding-top:57px; max-width:510px; color:#9ba194; font-size:17px; line-height:1.65; }.story-body p { padding:0 0 26px; border-bottom:1px solid var(--line); margin-bottom:26px; }.story-body strong { color:var(--paper); font-weight:500; }
.evidence { display:grid; grid-template-columns:1.45fr .75fr; gap:26px; padding-bottom:150px; }.evidence-card { padding:10px; background:#20251d; transform:rotate(-1.2deg); }.evidence-large img{ display:block; width:100%; aspect-ratio:16/8.3; object-fit:cover; }.evidence-caption { display:flex; justify-content:space-between; padding:15px 7px 5px; color:#899281; font:10px 'DM Mono',monospace; letter-spacing:.12em; }.evidence-caption span:first-child{color:var(--acid)}
.evidence-side { display:flex; flex-direction:column; gap:18px; }.side-note { align-self:flex-end; margin:0 16px 2px; color:var(--acid); font:600 12px 'DM Mono',monospace; line-height:1.3; letter-spacing:.12em; transform:rotate(4deg); }.side-note span { color:var(--paper); }.quote-card { padding:24px; min-height:174px; background:#ece9dc; color:var(--ink); transform:rotate(2.2deg); }.quote-card-blue { background:var(--blue); color:white; transform:rotate(-2deg); }.quote-mark { font:34px Georgia,serif; line-height:1; }.quote-card blockquote { margin:8px 0 9px; font:500 28px 'DM Mono',monospace; letter-spacing:-.08em; }.quote-card-blue blockquote span { color:var(--acid); }.quote-card p { margin-bottom:24px; font:10px 'DM Mono',monospace; text-transform:uppercase; opacity:.65; }.quote-card a { font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid currentColor; padding-bottom:3px; }
.manifesto { display:grid; grid-template-columns:1.5fr .5fr; gap:26px; padding-bottom:150px; }.manifesto-panel { padding:25px; min-height:610px; display:flex; flex-direction:column; justify-content:space-between; background:var(--acid); color:var(--ink); transform:rotate(1.2deg); }.manifesto-panel .section-label { color:#647700; border-color:rgba(16,19,14,.2); }.manifesto-panel .section-label span:first-child{color:var(--ink)}.manifesto-panel h2 { margin:75px 0 30px; font-size:clamp(59px,7.4vw,112px); }.manifesto-panel h2 span { color:#536f00; }.manifesto-panel p { max-width:390px; font-size:18px; line-height:1.45; }.manifesto-tags { display:flex; flex-wrap:wrap; gap:8px; }.manifesto-tags span { padding:8px 10px; border:1px solid rgba(16,19,14,.4); font:10px 'DM Mono',monospace; }.manifesto-aside { display:flex; flex-direction:column; justify-content:space-between; padding:28px 0; }.manifesto-aside p { color:#a0a797; font-size:18px; line-height:1.4; }.rotating-stamp { align-self:flex-end; display:grid; place-items:center; width:170px; height:170px; border:1px dashed var(--acid); border-radius:50%; color:var(--acid); text-align:center; transform:rotate(13deg); font:500 19px 'DM Mono',monospace; line-height:.9; }.rotating-stamp small { font-size:9px; margin-top:2px; }
.join { padding-bottom:70px; }.join-card { background:#e7e4d8; color:var(--ink); min-height:630px; padding:25px; position:relative; overflow:hidden; }.join-top,.join-bottom { display:flex; justify-content:space-between; color:#6d7167; font:10px 'DM Mono',monospace; letter-spacing:.12em; }.join-top { border-bottom:1px solid rgba(16,19,14,.2); padding-bottom:18px; }.join-main { position:relative; z-index:1; padding:80px 0 80px 8%; }.join-main .eyebrow { color:#5f7900; }.join-main h2 { font-size:clamp(75px,12vw,185px); letter-spacing:-.11em; margin:0 0 25px; line-height:.77; }.join-main > p:not(.eyebrow) { max-width:350px; color:#62685b; font-size:17px; line-height:1.45; }.join-cat { position:absolute; bottom:-105px; right:5%; width:42%; filter:drop-shadow(0 0 24px rgba(143,208,0,.7)); }.join-cat img { width:100%; display:block; }.join-bottom { border-top:1px solid rgba(16,19,14,.2); padding-top:18px; position:absolute; bottom:25px; left:25px; right:25px; }
.footer { display:flex; justify-content:space-between; color:#6d7367; padding:28px 0 38px; border-top:1px solid var(--line); }.footer-links { display:flex; gap:24px; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { opacity:1; transform:none; }.reveal-delay { transition-delay:.12s; }
.toast { position:fixed; left:50%; bottom:26px; z-index:20; transform:translate(-50%,20px); opacity:0; padding:12px 16px; color:var(--ink); background:var(--acid); font:11px 'DM Mono',monospace; pointer-events:none; transition:.25s; }.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:850px){ .site-header,.section-shell{width:calc(100% - 36px)} .nav-links{display:none}.hero{grid-template-columns:1fr; padding:70px 0 80px; min-height:auto}.hero-copy{position:relative;z-index:2}.hero-art{height:470px;margin-top:-20px}.hero-art:before{width:330px;height:330px;top:65px}.hero-cat{width:min(75%,360px)}.sticker-top{right:10%;top:25px}.sticker-bottom{bottom:35px}.story-grid,.evidence,.manifesto{grid-template-columns:1fr;gap:35px}.story{padding-bottom:95px}.story-body{padding-top:0}.evidence{padding-bottom:95px}.evidence-large img{aspect-ratio:1.4}.manifesto{padding-bottom:95px}.manifesto-panel{min-height:530px}.manifesto-aside{min-height:260px}.rotating-stamp{align-self:flex-start}.join-card{min-height:670px}.join-main{padding:70px 0 80px 4%}.join-cat{width:58%;right:-2%;bottom:-55px}.footer{flex-direction:column;gap:18px}.signal-strip{margin-bottom:75px} }
@media (max-width:520px){h1{font-size:90px}.hero-lede{font-size:15px}.hero-art{height:400px}.hero-art:before{width:290px;height:290px}.hero-cat{width:82%}.scribble-left{left:0}.scribble-right{right:-5px}.hero-sticker{font-size:15px;padding:10px}.story-grid{padding-top:45px}.story-intro h2{font-size:55px}.intro-copy,.story-body{font-size:15px}.evidence-side{gap:12px}.quote-card{min-height:160px;padding:20px}.manifesto-panel{padding:19px}.manifesto-panel h2{font-size:56px;margin-top:55px}.join-card{padding:19px}.join-top,.join-bottom{font-size:8px}.join-main{padding-top:72px;padding-left:0}.join-main h2{font-size:89px}.join-cat{width:72%;right:-8%;bottom:-35px}.join-bottom{left:19px;right:19px;bottom:19px;gap:15px}.join-bottom span:last-child{white-space:nowrap}.footer-links{flex-direction:column;gap:10px}}

/* Refined visual system: a quieter frame lets the supplied collage carry the brand. */
body { background:#0b0d0a; }
body:before { background:linear-gradient(rgba(199,255,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(199,255,0,.025) 1px,transparent 1px),radial-gradient(circle at 83% 18%,rgba(199,255,0,.12),transparent 25%); background-size:40px 40px,40px 40px,auto; }
.site-header { border-bottom-color:rgba(241,240,233,.25); padding:20px 0; }
.brand-mark { transform:none; border-radius:2px; font-size:17px; }
.header-pill { background:var(--acid); color:var(--ink); border-color:var(--acid); transition:transform .2s,background .2s; }
.header-pill:hover { transform:translateY(-2px); background:#e0ff65; }
.hero { grid-template-columns:.82fr 1.18fr; gap:7%; min-height:720px; padding:70px 0 108px; }
.hero-copy { padding-top:18px; }
h1 { font-size:clamp(94px,11.6vw,174px); line-height:.82; letter-spacing:-.105em; margin-bottom:35px; }
.hero-lede { font-size:16px; max-width:400px; color:#b5baaf; }
.hero-actions { margin-top:32px; }
.button { padding:15px 17px; }
.ticker-note { margin-top:42px; }
.hero-art { height:auto; min-height:0; }
.hero-art:before { display:none; }
.hero-frame { position:relative; padding:12px; background:#151914; border:1px solid rgba(241,240,233,.32); box-shadow:20px 20px 0 rgba(199,255,0,.08),0 22px 80px rgba(0,0,0,.42); transform:rotate(1.2deg); }
.hero-collage { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.hero-frame:after { content:''; position:absolute; inset:12px; pointer-events:none; border:1px solid rgba(199,255,0,.5); mix-blend-mode:screen; }
.hero-frame-top { display:flex; justify-content:space-between; margin:12px 4px 1px; color:#929b88; font:10px 'DM Mono',monospace; letter-spacing:.11em; }
.hero-frame-top span:first-child { color:var(--acid); }
.hero-frame-badge { position:absolute; right:-22px; bottom:34px; z-index:2; padding:13px 16px; color:var(--ink); background:var(--acid); font:700 22px/.82 'DM Mono',monospace; letter-spacing:-.08em; transform:rotate(-4deg); box-shadow:6px 6px 0 rgba(11,13,10,.65); }
.hero-frame-badge small { display:block; margin-top:9px; color:#415d00; font:9px 'DM Mono',monospace; letter-spacing:.08em; }
.hero-pin { position:absolute; left:-25px; top:13%; color:var(--acid); font-size:36px; }
.signal-strip { transform:none; margin:0 -10px 118px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:18px 0; }
.marquee { font-size:13px; gap:28px; }
.story { padding-bottom:125px; }
.story-grid { padding-top:58px; gap:10%; }
.story-intro h2 { margin-bottom:30px; }
.intro-copy,.story-body { font-size:16px; }
.story-body { padding-top:42px; }
.story-body p { border-bottom-color:rgba(241,240,233,.24); }
.evidence { padding-bottom:130px; gap:42px; }
.evidence-card { padding:0; background:#151914; border:1px solid rgba(241,240,233,.3); transform:none; }
.evidence-large img { height:auto; aspect-ratio:auto; object-fit:contain; }
.evidence-caption { padding:13px 14px 12px; }
.evidence-side { gap:22px; padding-top:0; }
.side-note { margin-right:4px; }
.quote-card { transform:none; border-left:5px solid var(--acid); }
.quote-card-blue { border-left-color:#82a9ff; }
.manifesto { padding-bottom:130px; gap:46px; }
.manifesto-panel { min-height:560px; padding:26px; transform:none; border:1px solid rgba(11,13,10,.4); }
.manifesto-panel h2 { margin-top:60px; }
.manifesto-aside { padding:28px 0 20px; }
.join { padding-bottom:75px; }
.join-card { min-height:600px; border:1px solid rgba(241,240,233,.18); }
.join-main { padding-top:70px; }
.join-cat { width:38%; bottom:-100px; }
.footer { border-top-color:rgba(241,240,233,.25); }

@media (max-width:850px){
  .hero { grid-template-columns:1fr; gap:48px; padding:62px 0 80px; }
  .hero-copy { padding-top:0; }
  .hero-art { width:calc(100% - 12px); margin-left:6px; }
  .hero-frame-badge { right:-14px; bottom:24px; }
  .hero-pin { left:-12px; }
  .story { padding-bottom:96px; }
  .story-grid { padding-top:44px; }
  .story-body { padding-top:0; }
  .evidence { padding-bottom:95px; gap:28px; }
  .manifesto { padding-bottom:95px; gap:28px; }
}
@media (max-width:520px){
  h1 { font-size:86px; }
  .hero-frame { padding:8px; box-shadow:10px 10px 0 rgba(199,255,0,.08),0 16px 45px rgba(0,0,0,.4); }
  .hero-collage { aspect-ratio:auto; object-position:center; }
  .hero-frame:after { inset:8px; }
  .hero-frame-top { margin:9px 2px 0; font-size:8px; }
  .hero-frame-badge { right:-10px; bottom:18px; padding:11px 12px; font-size:16px; }
  .hero-frame-badge small { margin-top:7px; font-size:7px; }
  .hero-pin { left:-5px; top:12%; font-size:24px; }
}

/* Poster-stack hero built from the supplied photo set. */
.poster-stage { position:relative; height:560px; margin:0 26px 0 8px; background:#151914; border:1px solid rgba(241,240,233,.26); box-shadow:20px 20px 0 rgba(199,255,0,.08),0 22px 80px rgba(0,0,0,.42); overflow:hidden; perspective:1200px; }
.poster-stage:before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(rgba(199,255,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(199,255,0,.035) 1px,transparent 1px); background-size:28px 28px; }
.poster { position:absolute; padding:10px 10px 31px; background:#efeee5; color:var(--ink); box-shadow:8px 10px 18px rgba(0,0,0,.35),0 2px 0 rgba(255,255,255,.48) inset; transform-origin:center; transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease,filter .42s ease; will-change:transform; cursor:pointer; }
.poster img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.04); box-shadow:0 12px 20px rgba(0,0,0,.28); transition:filter .42s ease,box-shadow .42s ease; }
.poster:hover { z-index:20; filter:brightness(1.04); box-shadow:18px 30px 42px rgba(0,0,0,.54),0 2px 0 rgba(255,255,255,.55) inset; }
.poster:hover img { filter:saturate(1) contrast(1.07); box-shadow:0 20px 30px rgba(0,0,0,.38); }
.poster > span { position:absolute; left:10px; right:10px; bottom:9px; font:9px 'DM Mono',monospace; letter-spacing:.08em; }
.poster-back { width:43%; height:56%; }
.poster-studio { left:4%; top:5%; transform:rotate(-11deg); z-index:1; }
.poster-friends { right:4%; top:3%; transform:rotate(10deg); z-index:1; }
.poster-cuddle { left:5%; bottom:5%; transform:rotate(7deg); z-index:2; }
.poster-benn { right:9%; bottom:5%; transform:rotate(-7deg); z-index:2; }
.poster-front { left:29%; top:7%; width:44%; height:78%; padding:12px 12px 54px; transform:rotate(2deg); z-index:4; background:#f2f0e5; }
.poster-studio:hover { transform:rotate(-11deg) translate(-5px,-15px) scale(1.045); }
.poster-friends:hover { transform:rotate(10deg) translate(5px,-15px) scale(1.045); }
.poster-cuddle:hover { transform:rotate(7deg) translate(-5px,14px) scale(1.045); }
.poster-benn:hover { transform:rotate(-7deg) translate(5px,14px) scale(1.045); }
.poster-front:hover { transform:rotate(2deg) translateY(-18px) scale(1.045); }
.poster-front:after { content:''; position:absolute; inset:12px; border:1px solid rgba(16,19,14,.18); pointer-events:none; }
.poster-front img { filter:saturate(.75) contrast(1.08); }
.poster-tape { position:absolute; z-index:3; top:-15px; left:34%; width:100px; height:34px; background:rgba(199,255,0,.72); transform:rotate(-5deg); opacity:.8; }
.poster-front-copy { position:absolute; z-index:2; left:12px; right:12px; bottom:10px; display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.poster-front-copy strong { font:700 22px/.9 'DM Mono',monospace; letter-spacing:-.1em; }
.poster-front-copy span { font:9px 'DM Mono',monospace; color:#516300; letter-spacing:.06em; }
.poster-pin { position:absolute; z-index:6; top:16px; right:20px; color:var(--acid); font-size:36px; text-shadow:0 0 14px rgba(199,255,0,.6); }
.poster-caption { display:flex; justify-content:space-between; gap:20px; margin:16px 4px 0; color:#8e9886; font:10px 'DM Mono',monospace; letter-spacing:.1em; }
.poster-caption span:first-child { color:var(--acid); }
.photo-wall { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:10px; padding:10px; background:#151914; }
.photo-wall figure { position:relative; height:275px; margin:0; overflow:hidden; background:#20251d; }
.photo-wall figure:nth-child(2) { transform:translateY(20px); }
.photo-wall figure:nth-child(3) { transform:translateY(-14px); }
.photo-wall img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.05); }
.photo-wall figcaption { position:absolute; left:10px; bottom:9px; padding:7px 8px; color:var(--ink); background:var(--acid); font:9px 'DM Mono',monospace; letter-spacing:.08em; }

@media (max-width:850px){
  .poster-stage { height:520px; margin:0 16px 0 4px; }
  .poster-back { width:46%; height:52%; }
  .poster-front { left:27%; width:47%; height:77%; }
  .poster-caption { font-size:8px; }
  .photo-wall { grid-template-columns:1fr 1fr; }
  .photo-wall figure:first-child { grid-row:span 2; height:390px; }
  .photo-wall figure:nth-child(2),.photo-wall figure:nth-child(3) { height:190px; transform:none; }
}
@media (max-width:520px){
  .poster-stage { height:420px; margin-right:9px; }
  .poster { padding:7px 7px 24px; }
  .poster-back { width:48%; height:54%; }
  .poster > span { left:7px; right:7px; bottom:7px; font-size:6px; }
  .poster-studio { left:1%; top:5%; }
  .poster-friends { right:1%; top:3%; }
  .poster-cuddle { left:2%; bottom:3%; }
  .poster-benn { right:3%; bottom:3%; }
  .poster-front { left:23%; top:8%; width:53%; height:76%; padding:8px 8px 38px; }
  .poster-front:after { inset:8px; }
  .poster-tape { top:-10px; width:70px; height:24px; }
  .poster-front-copy { left:8px; right:8px; bottom:7px; }
  .poster-front-copy strong { font-size:14px; }
  .poster-front-copy span { font-size:6px; }
  .poster-pin { top:10px; right:10px; font-size:25px; }
  .poster-caption { flex-direction:column; gap:6px; margin-top:10px; font-size:7px; }
  .photo-wall { gap:7px; padding:7px; }
  .photo-wall figure:first-child { height:300px; }
.photo-wall figure:nth-child(2),.photo-wall figure:nth-child(3) { height:146px; }
}
.meme-generator { padding:92px 0 128px; background:radial-gradient(ellipse at 80% 42%,rgba(199,255,0,.11),transparent 35%),linear-gradient(135deg,rgba(19,86,239,.07),transparent 58%); }
.meme-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; padding:58px 0; }
.meme-heading h2 { margin:0; font-size:clamp(58px,7vw,102px); }.meme-heading h2 span { color:var(--acid); }
.meme-heading > p { max-width:390px; margin:0 4% 8px 0; color:#a5afa0; font-size:17px; line-height:1.55; }
.meme-lab { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:stretch; }
.meme-preview-wrap { position:relative; padding:12px; background:#151914; border:1px solid rgba(199,255,0,.5); box-shadow:14px 16px 0 rgba(199,255,0,.07),0 22px 50px rgba(0,0,0,.3); }
#memeCanvas { display:block; width:100%; height:auto; background:#10130e; }
.meme-preview-tag { position:absolute; left:24px; bottom:23px; padding:8px 10px; color:var(--ink); background:var(--acid); font:9px 'DM Mono',monospace; letter-spacing:.08em; }
.meme-controls { display:flex; flex-direction:column; justify-content:center; padding:28px; background:rgba(21,25,20,.9); border:1px solid rgba(241,240,233,.2); }
.meme-controls label,.meme-control-row { color:#879383; font:10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.meme-controls > label { margin:0 0 9px; }.meme-controls input[type=text] { width:100%; margin:0 0 22px; padding:14px 13px; color:var(--paper); background:#0e110e; border:1px solid rgba(241,240,233,.25); outline:none; font:14px 'DM Mono',monospace; }.meme-controls input[type=text]:focus { border-color:var(--acid); }
.meme-control-row { display:flex; justify-content:space-between; margin:4px 0 10px; }.meme-control-row output { color:var(--acid); }
.meme-controls input[type=range] { width:100%; margin:0 0 28px; accent-color:var(--acid); }
.meme-buttons { display:flex; flex-wrap:wrap; gap:10px; }.meme-note { margin:23px 0 0; color:#7d8878; font:10px/1.5 'DM Mono',monospace; }
@media (max-width:850px){
  .meme-generator { padding:72px 0 92px; }
  .meme-heading { display:block; padding:44px 0; }.meme-heading > p { margin:28px 0 0; }
  .meme-lab { grid-template-columns:1fr; }
}
@media (max-width:520px){
  .meme-preview-wrap { padding:8px; }.meme-preview-tag { left:16px; bottom:17px; font-size:7px; }
  .meme-controls { padding:20px; }.meme-buttons .button { width:100%; }
}
.meme-upload-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; padding:14px; background:#0e110e; border:1px solid rgba(241,240,233,.2); }
.meme-upload-row label { display:block; margin:0 0 5px; color:var(--paper); }
.meme-upload-row small { color:#778273; font:10px 'DM Mono',monospace; }
.meme-upload-row input[type=file] { max-width:150px; color:#95a08e; font:9px 'DM Mono',monospace; }
.meme-reset { width:100%; margin-bottom:22px; }
.meme-control-row input[type=color] { width:34px; height:24px; padding:2px; border:1px solid rgba(241,240,233,.3); background:transparent; cursor:pointer; }
.meme-check { display:flex; align-items:center; gap:9px; margin:0 0 12px !important; color:#a6b09f !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; }
.meme-check input { width:15px; height:15px; margin:0; accent-color:var(--acid); }
.meme-presets { margin:0 0 24px; padding-top:3px; }.meme-presets > span { display:block; margin-bottom:9px; color:#879383; font:10px 'DM Mono',monospace; letter-spacing:.1em; }.meme-presets > div { display:flex; flex-wrap:wrap; gap:7px; }
.meme-preset { padding:8px 9px; color:#aab5a3; background:transparent; border:1px solid rgba(241,240,233,.25); font:10px 'DM Mono',monospace; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }.meme-preset:hover,.meme-preset:focus-visible { color:var(--ink); background:var(--acid); border-color:var(--acid); outline:none; }
.meme-open-image { display:block; margin-top:14px; color:var(--acid); font:10px 'DM Mono',monospace; letter-spacing:.06em; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:520px){
  .meme-upload-row { align-items:flex-start; flex-direction:column; }
  .meme-upload-row input[type=file] { max-width:100%; width:100%; }
}

/* Section gradients create a subtle color rhythm without overpowering the photos. */
.hero { background:radial-gradient(ellipse at 82% 48%,rgba(199,255,0,.13),transparent 42%),linear-gradient(180deg,rgba(199,255,0,.035),transparent 78%); }
.story { background:linear-gradient(135deg,rgba(19,86,239,.07),transparent 44%,rgba(199,255,0,.035)); }
.evidence { background:radial-gradient(circle at 18% 45%,rgba(199,255,0,.1),transparent 32%),linear-gradient(120deg,transparent 42%,rgba(19,86,239,.06)); }
.manifesto { background:linear-gradient(135deg,rgba(199,255,0,.08),transparent 55%,rgba(19,86,239,.05)); }
.join { background:radial-gradient(ellipse at 78% 35%,rgba(19,86,239,.16),transparent 45%),linear-gradient(180deg,rgba(199,255,0,.045),transparent 75%); }
.contract-section { padding:92px 0 118px; background:radial-gradient(ellipse at 78% 45%,rgba(19,86,239,.13),transparent 43%),linear-gradient(135deg,rgba(199,255,0,.045),transparent 60%); }
.contract-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:9%; align-items:center; padding-top:58px; }
.contract-intro h2 { margin:0 0 26px; font-size:clamp(50px,5.9vw,84px); }
.contract-intro h2 span { color:var(--acid); }
.contract-intro > p:not(.eyebrow) { max-width:390px; color:#9fa89a; font-size:16px; line-height:1.55; }
.contract-card { padding:24px; background:#151914; border:1px solid rgba(199,255,0,.55); box-shadow:12px 14px 0 rgba(199,255,0,.08),0 22px 50px rgba(0,0,0,.3); }
.contract-card-top,.contract-card-bottom { display:flex; justify-content:space-between; gap:20px; color:#808b78; font:10px 'DM Mono',monospace; letter-spacing:.1em; }
.contract-card-top { padding-bottom:18px; border-bottom:1px solid rgba(241,240,233,.18); }.contract-card-top strong { color:var(--acid); font-weight:400; }
.contract-address-row { display:grid; grid-template-columns:auto 1fr auto; gap:15px; align-items:center; min-height:98px; }
.contract-prefix { display:grid; place-items:center; width:38px; height:38px; color:var(--ink); background:var(--acid); font:700 12px 'DM Mono',monospace; }
.contract-address-row code { min-width:0; overflow:hidden; color:#e9eee4; text-overflow:ellipsis; white-space:nowrap; font:12px 'DM Mono',monospace; letter-spacing:.04em; }
.contract-address-row .button { white-space:nowrap; padding:13px 14px; }
.contract-card-bottom { padding-top:17px; border-top:1px solid rgba(241,240,233,.18); }.contract-card-bottom strong { color:#aeb6a7; font-weight:400; }.contract-card-bottom i { display:inline-block; width:6px; height:6px; margin:0 7px 1px 0; border-radius:50%; background:#f5a623; box-shadow:0 0 10px #f5a623; }
@media (max-width:850px){
  .contract-section { padding:72px 0 88px; }
  .contract-grid { grid-template-columns:1fr; gap:35px; padding-top:44px; }
}
@media (max-width:520px){
  .contract-card { padding:16px; }
  .contract-card-top,.contract-card-bottom { font-size:8px; }
  .contract-address-row { grid-template-columns:auto 1fr; gap:10px; min-height:128px; }
  .contract-address-row code { font-size:9px; }
  .contract-address-row .button { grid-column:1 / -1; justify-self:start; }
}
.how-to-buy { padding:92px 0 128px; background:radial-gradient(ellipse at 22% 30%,rgba(199,255,0,.1),transparent 40%),linear-gradient(135deg,rgba(19,86,239,.07),transparent 60%); }
.buy-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; padding:58px 0 58px; }
.buy-heading h2 { margin:0; font-size:clamp(58px,7vw,102px); }
.buy-heading h2 span { color:var(--acid); }
.buy-heading > p { max-width:390px; margin:0 4% 7px 0; color:#a7afa1; font-size:17px; line-height:1.55; }
.buy-heading > p strong { color:var(--paper); font-weight:500; }
.buy-steps { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.buy-step { display:grid; grid-template-columns:auto 1fr; gap:20px; min-height:192px; padding:24px; background:rgba(21,25,20,.88); border:1px solid rgba(241,240,233,.18); transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.buy-step:hover { transform:translateY(-5px); border-color:rgba(199,255,0,.7); background:rgba(32,38,28,.95); }
.buy-number { color:var(--acid); font:500 12px 'DM Mono',monospace; }
.buy-step h3 { margin:0 0 14px; color:var(--paper); font-size:23px; letter-spacing:-.04em; font-weight:500; }
.buy-step p { max-width:410px; margin:0; color:#929b8e; font-size:14px; line-height:1.55; }
.buy-step a { color:var(--acid); border-bottom:1px solid var(--acid); }
.buy-step strong { color:var(--paper); font-weight:500; }
.buy-step-final { background:var(--acid); border-color:var(--acid); color:var(--ink); }
.buy-step-final .buy-number,.buy-step-final h3,.buy-step-final p,.buy-step-final strong { color:var(--ink); }
.official-link { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:19px 24px; color:#7e897a; background:rgba(199,255,0,.08); border:1px solid rgba(199,255,0,.38); font:10px 'DM Mono',monospace; letter-spacing:.1em; }
.official-link a { color:var(--acid); font-size:13px; }
@media (max-width:850px){
  .how-to-buy { padding:72px 0 92px; }
  .buy-heading { display:block; padding:44px 0; }
  .buy-heading > p { margin:28px 0 0; }
  .buy-steps { grid-template-columns:1fr; }
}
@media (max-width:520px){
  .buy-step { min-height:0; padding:19px; gap:14px; }
  .buy-step h3 { font-size:20px; }
  .buy-step p { font-size:13px; }
  .official-link { flex-direction:column; align-items:flex-start; padding:17px 19px; }
}

/* Join card refresh: darker campaign-poster treatment with a clearer CTA. */
.join-card { min-height:650px; background:radial-gradient(circle at 82% 52%,rgba(199,255,0,.2),transparent 27%),linear-gradient(115deg,#121812 0%,#182317 52%,#10262c 100%); color:var(--paper); border:1px solid rgba(199,255,0,.55); box-shadow:14px 16px 0 rgba(199,255,0,.08),0 24px 60px rgba(0,0,0,.32); }
.join-card:before { content:'CAT ENERGY // LIVE'; position:absolute; top:50%; right:-47px; z-index:2; padding:10px 13px; color:var(--ink); background:var(--acid); font:10px 'DM Mono',monospace; letter-spacing:.1em; transform:rotate(90deg); }
.join-top,.join-bottom { color:#8f9d89; }
.join-top { border-bottom-color:rgba(241,240,233,.23); }
.join-main { max-width:62%; padding:78px 0 110px 8%; }
.join-main .eyebrow { color:var(--acid); }
.join-main h2 { color:var(--paper); font-size:clamp(76px,11.2vw,172px); text-shadow:0 4px 0 rgba(0,0,0,.16); }
.join-main > p:not(.eyebrow) { color:#a8b4a3; }
.join-actions .button-outline { color:var(--paper); border-color:rgba(241,240,233,.4); }
.join-actions .button-outline:hover { color:var(--acid); border-color:var(--acid); }
.join-cat { right:3%; bottom:-42px; width:43%; height:calc(100% - 40px); display:flex; align-items:flex-end; justify-content:center; filter:drop-shadow(0 0 30px rgba(199,255,0,.7)); z-index:1; }
.join-cat:before { content:''; position:absolute; width:84%; height:56%; bottom:7%; border-radius:50%; background:radial-gradient(circle,rgba(199,255,0,.34),transparent 68%); filter:blur(20px); z-index:-1; }
.join-cat img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.join-bottom { border-top-color:rgba(241,240,233,.23); }
@media (max-width:850px){
  .join-card { min-height:680px; }
  .join-main { max-width:68%; padding:72px 0 180px 5%; }
  .join-cat { width:50%; height:54%; bottom:-24px; right:-1%; }
}
@media (max-width:520px){
  .join-card { min-height:720px; }
  .join-card:before { right:-56px; font-size:8px; }
  .join-main { max-width:100%; padding:68px 0 245px; }
  .join-main h2 { font-size:82px; }
  .join-cat { width:62%; height:45%; bottom:32px; right:-2%; }
  .join-bottom { z-index:3; }
}

/* Exact duplicate groups keep the ticker moving continuously with no blank seam. */
.marquee { gap:0; }
.marquee-group { gap:28px; padding-right:28px; }
.manifesto-marquee { grid-column:1 / -1; overflow:hidden; margin-top:8px; padding:17px 0; color:var(--ink); background:var(--acid); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.manifesto-marquee .marquee { animation-duration:28s; }
.manifesto-marquee .marquee-reverse { animation-direction:reverse; }
.manifesto-marquee .marquee-group { gap:30px; padding-right:30px; }
.evidence { align-items:start; }
.evidence-card { align-self:start; height:fit-content; }
.brand-mark { width:34px; height:34px; background:transparent; border:0; overflow:visible; }
.footer { display:block; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-disclaimer { display:grid; grid-template-columns:.35fr 1.65fr; gap:30px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line); color:#747d70; font:10px/1.6 'DM Mono',monospace; letter-spacing:.03em; text-transform:none; }
.footer-disclaimer > span { color:var(--acid); text-transform:uppercase; letter-spacing:.12em; }
.footer-disclaimer p { max-width:840px; margin:0 0 10px; }
.footer-disclaimer p:last-child { margin-bottom:0; }
@media (max-width:520px){
  .footer-top { align-items:flex-start; flex-direction:column; gap:18px; }
  .footer-disclaimer { grid-template-columns:1fr; gap:13px; margin-top:28px; padding-top:18px; }
}
.footer-disclaimer { display:block; margin-top:40px; padding-top:24px; text-align:center; }
.footer-disclaimer > span { display:block; margin-bottom:13px; color:#747d70; text-align:center; }
.footer-disclaimer > div { max-width:900px; margin:0 auto; }
.footer-disclaimer p { max-width:none; margin:0 auto 10px; color:#747d70; }
.photo-wall { grid-template-columns:repeat(3,1fr); align-items:stretch; gap:12px; }
.photo-wall figure,.photo-wall figure:nth-child(2),.photo-wall figure:nth-child(3) { height:280px; transform:none; }
@media (max-width:850px){
  .photo-wall { grid-template-columns:1fr 1fr; gap:10px; }
  .photo-wall figure:first-child { grid-row:span 2; height:390px; }
  .photo-wall figure:nth-child(2),.photo-wall figure:nth-child(3) { height:190px; }
}
@media (max-width:520px){
  .photo-wall { gap:7px; padding:7px; }
  .photo-wall figure:first-child { height:300px; }
  .photo-wall figure:nth-child(2),.photo-wall figure:nth-child(3) { height:146px; }
}
