@font-face{font-family:"Syne";src:url(/assets/fonts/syne.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Rubik";src:url(/assets/fonts/rubik.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
:root{--bg:#fce2b6;--surface:#edd8b6;--line:#b8a789;--ink:#1d1811;--muted:#645c4f;--accent:#608b09;--accent2:#0d5e1a;--accent-text:#456506;--accent2-text:#0d5e1a;
--on-accent:#000000;--on-accent2:#ffffff;--paper:#ffffff;--ground:#fce2b6;--shadowc:rgba(20,20,30,.28);--bevel-light:#ffffff;--bevel-dark:#7e7667;
--display:"Syne",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--body:"Rubik",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--r:0px;--rl:0px;--border:1px solid var(--line);--shadow:none;--btn-r:0px;--name-factor:3.541;--case:none;color-scheme:light}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;min-height:100vh;font:400 17px/1.6 var(--body);overflow-x:clip;position:relative}
body::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}
body>*{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-text)}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1;overflow-wrap:anywhere}
/* QA reads the name's exact text, so the name is never case-transformed. */
.name-fit{container-type:inline-size;width:100%;min-width:0}
.name{--name-size:min(calc(var(--h1max,150px) * var(--h1scale,1)),calc(100cqi / var(--name-factor) * var(--fit,1) * var(--wscale,1)));font-size:var(--name-size);letter-spacing:-0.01em;line-height:.92;padding-bottom:.14em}
.sh{font-size:clamp(30px,4.4vw,56px);text-transform:var(--case);margin-bottom:28px;line-height:1}
h3{font-size:22px;line-height:1.15}
/* Ultra-narrow display faces only read at poster sizes; small headings use the body face. */
.thin-display h3,.thin-display .fv,.thin-display .tv{font-family:var(--body);font-weight:700}
p{margin:0 0 14px}
.wrap{max-width:var(--max,1180px);margin-inline:auto;padding-inline:clamp(18px,4.5vw,44px)}
.tick{display:inline-block;font:700 14px/1 var(--mono);letter-spacing:.08em;padding:9px 14px;border-radius:var(--btn-r);background:var(--accent);color:var(--on-accent)}
.xl{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:48px;min-height:48px;padding:0 12px;border-radius:var(--btn-r);border:var(--border);border-color:var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font:600 15px/1 var(--body);flex:none}
.xl .xi,.xl2 .xi{width:18px;height:18px;fill:currentColor;flex:none}
.xl2{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 24px;border-radius:var(--btn-r);background:var(--ink);color:var(--bg);text-decoration:none;font:700 16px/1 var(--body)}
.xl2.big{font-size:18px;min-height:58px;padding:0 30px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.brand{font:700 14px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
/* contract and buy */
.ca{background:var(--surface);border:var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;max-width:640px}
.ca-label{display:block;font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ca-row{display:flex;gap:12px;align-items:center;justify-content:space-between}
#contract-address{font:600 15px/1.4 var(--mono);overflow-wrap:anywhere;user-select:all;min-width:0}
#contract-copy{font:700 15px/1 var(--body);min-width:88px;min-height:46px;padding:0 18px;border-radius:var(--btn-r);border:var(--border);border-color:var(--line);background:var(--bg);color:var(--ink);cursor:pointer;flex:none}
#contract-copy:disabled{opacity:.5;cursor:not-allowed}
#contract-status{min-height:1.4em;margin:10px 0 0;font-size:14px;color:var(--muted)}#contract-status:empty{margin:0;min-height:0}
.ca-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.buy{display:inline-flex;align-items:center;min-height:54px;padding:0 28px;border-radius:var(--btn-r);background:var(--accent);color:var(--on-accent);font:700 17px/1 var(--body);text-decoration:none}
.buy[hidden]{display:none}.wait{color:var(--muted);font-size:15px}.live .wait{display:none}
.ca-strip{max-width:none;border-radius:0;border-inline:0;padding-inline:max(clamp(18px,4.5vw,44px),calc((100vw - var(--max,1180px)) / 2 + clamp(18px,4.5vw,44px)));background:var(--accent2);color:var(--on-accent2);box-shadow:none}
.ca-strip .ca-label,.ca-strip #contract-status,.ca-strip .wait{color:inherit}.ca-strip #contract-address{font-size:clamp(15px,2vw,22px)}
.ca-strip #contract-copy{background:var(--on-accent2);color:var(--accent2);border-color:transparent}
.ca-strip .buy{background:var(--on-accent2);color:var(--accent2)}
.ca-terminal{background:#07090b;color:#d7ffe0;border-color:#1d2a22;font-family:var(--mono)}.ca-terminal .ca-label,.ca-terminal #contract-status,.ca-terminal .wait{color:#8fb79a}
.ca-terminal #contract-copy{background:#101814;color:#d7ffe0;border-color:#2c4636}
.ca-ticket{background:radial-gradient(circle at 0 50%,var(--bg) 13px,transparent 14px),radial-gradient(circle at 100% 50%,var(--bg) 13px,transparent 14px),var(--paper);color:#151515;border:none;padding:22px 30px}
.ca-ticket .ca-label,.ca-ticket #contract-status,.ca-ticket .wait{color:#555}.ca-ticket #contract-copy{background:#151515;color:#fff;border-color:#151515}
.ca-form{background:transparent;box-shadow:none;border:none;border-top:2px solid var(--ink);border-radius:0;padding:14px 0 0}
.ca-form .ca-row{border-bottom:1px dashed var(--muted);padding-bottom:12px}
.ca-receipt{background:var(--paper);color:#161616;border:none;border-radius:0;font-family:var(--mono);box-shadow:var(--shadow);mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat;padding-bottom:30px}
.ca-receipt .ca-label,.ca-receipt #contract-status,.ca-receipt .wait{color:#555}.ca-receipt #contract-copy{background:#161616;color:#fff;border-color:#161616}
@media(max-width:480px){.ca-row{flex-direction:column;align-items:stretch}#contract-copy{width:100%}}
/* steps */
.steps ol{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.steps h3{margin-bottom:6px}.steps p{color:var(--muted);margin:0}
.steps-cards ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.steps-cards li{background:var(--surface);border:var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}
.steps-cards .n,.steps-bignum .n{display:block;font:400 44px/1 var(--display);color:var(--accent-text);margin-bottom:14px}
.steps-timeline li{display:grid;grid-template-columns:56px 1fr;gap:18px;position:relative;padding-bottom:10px}
.steps-timeline li::before{content:"";position:absolute;left:27px;top:52px;bottom:-14px;width:2px;background:var(--line)}.steps-timeline li:last-child::before{display:none}
.steps-timeline .n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 18px/1 var(--mono)}
.steps-checklist li{display:grid;grid-template-columns:34px 1fr;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}
.steps-checklist .n{width:28px;height:28px;border:2.5px solid var(--ink);border-radius:6px;margin-top:2px;position:relative}.steps-checklist .n::after{content:"";position:absolute;left:8px;top:1px;width:8px;height:15px;border:solid var(--accent-text);border-width:0 3.5px 3.5px 0;transform:rotate(40deg)}
.steps-bignum ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px}
.steps-bignum .n{font-size:clamp(64px,8vw,110px);line-height:.85;color:transparent;-webkit-text-stroke:2px var(--accent-text)}
.steps-commands ol{font-family:var(--mono);background:#07090b;color:#d7ffe0;padding:22px;border-radius:var(--r);gap:10px}
.steps-commands code{color:#7dffa8}.steps-commands li span{color:#9fb8a8}
.steps-panels ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:0;border:3px solid var(--ink)}
.steps-panels li{border:3px solid var(--ink);margin:-1.5px;padding:22px;background:var(--surface)}
.steps-panels .n{display:inline-block;background:var(--accent);color:var(--on-accent);font:700 14px/1 var(--mono);padding:6px 10px;margin-bottom:12px;border:2px solid var(--ink)}
/* facts */
.facts{list-style:none;margin:0;padding:0}
.facts-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}
.facts-tiles li{background:var(--surface);border:var(--border);border-radius:var(--r);padding:16px 18px}
.fk{display:block;font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.fv{font:400 clamp(17px,1.8vw,22px)/1.15 var(--display);overflow-wrap:anywhere}
.facts-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.facts-list .fk{margin:0}.facts-list .fv{font:600 16px/1.2 var(--mono)}
.facts-tags{display:flex;flex-wrap:wrap;gap:10px}.facts-tags li{border:var(--border);border-color:var(--line);border-radius:999px;padding:8px 16px;font:600 14px/1.2 var(--mono)}.facts-tags li span{color:var(--muted)}
/* story */
.story-body{max-width:68ch}.story-body p{font-size:clamp(17px,1.4vw,20px)}
.story-columns .story-body{columns:2 300px;column-gap:40px;max-width:none}
.story-dropcap .story-body p:first-child::first-letter{float:left;font:400 5.2em/.8 var(--display);margin:6px 12px 0 0;color:var(--accent-text)}
.story-quote blockquote{margin:0 0 26px;font:400 clamp(28px,3.6vw,48px)/1.1 var(--display);max-width:22ch;color:var(--accent-text)}
.story-quote blockquote::before{content:"\201C"}.story-quote blockquote::after{content:"\201D"}
.lore{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px;max-width:68ch}
.lore li{padding-left:28px;position:relative}.lore li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;background:var(--accent);border-radius:2px}
.log{list-style:none;margin:0;padding:22px;font:400 16px/1.7 var(--mono);background:color-mix(in srgb,var(--ink) 6%,var(--bg));border:var(--border);border-radius:var(--r)}
.log time{color:var(--accent-text);margin-right:10px}
/* community */
.comm p{color:var(--muted);max-width:52ch;margin-bottom:22px}
.comm-banner{background:var(--accent);color:var(--on-accent);border-radius:var(--rl);padding:clamp(28px,5vw,64px)}.comm-banner p{color:inherit}.comm-banner .xl2{background:var(--on-accent);color:var(--accent)}
.comm-card{border:var(--border);border-radius:var(--rl);box-shadow:var(--shadow);background:var(--surface);padding:clamp(24px,4vw,48px)}
.comm-stamp{text-align:center;border:3px double var(--ink);padding:40px 24px}.comm-stamp p{margin-inline:auto}
/* marquee */
.marquee{overflow:hidden;background:var(--ink);color:var(--bg);padding:14px 0;white-space:nowrap;font:400 clamp(20px,2.6vw,30px)/1 var(--display);text-transform:var(--case)}
.marquee div{display:inline-flex;gap:28px;padding-left:28px}.marquee b{color:var(--accent)}

/* footer */
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding:26px clamp(18px,4.5vw,44px) 38px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;max-width:var(--max,1180px);margin:0 auto}
/* art frames */
.art{margin:0;position:relative}
.art img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.art-frame{padding:10px;background:var(--surface);border:var(--border);border-radius:var(--rl);box-shadow:var(--shadow)}.art-frame img{border-radius:calc(var(--rl) * .7)}
.art-circle img{border-radius:50%;box-shadow:0 0 0 8px var(--accent),0 0 0 16px var(--bg),0 0 0 18px var(--line)}
.art-polaroid{background:#fbfaf6;padding:14px 14px 0;transform:rotate(-2.5deg);box-shadow:0 22px 50px -24px rgba(0,0,0,.6)}.art-polaroid figcaption{color:#222;font:400 20px/1.2 var(--display);text-align:center;padding:14px 6px 18px;text-transform:none}
.art-window{border:var(--border);border-color:var(--ink);border-radius:var(--r);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.win-bar{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:var(--border);border-color:var(--ink);background:var(--accent);color:var(--on-accent);font:700 13px/1 var(--mono)}.win-bar i{width:11px;height:11px;border-radius:50%;background:var(--on-accent);opacity:.75}.win-bar span{margin-left:8px}
.art-arch img{border-radius:999px 999px var(--r) var(--r)}
.art-blob img{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}
.art-stamp{padding:16px;background:radial-gradient(circle,transparent 6px,var(--paper) 6.5px) -9px -9px/18px 18px;filter:drop-shadow(0 14px 22px var(--shadowc))}
.art-halftone::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(0,0,0,.45) 1.1px,transparent 1.6px) 0 0/6px 6px;mix-blend-mode:multiply;border-radius:inherit;pointer-events:none}.art-halftone{border:var(--border);border-radius:var(--r);overflow:hidden}
.art-bleed img{border-radius:0}
/* The art melts into its own ground: its edge fades into a halo of the exact ground colour, which
   fades into the page (the same colour, or the nearest shade body text reads on). */
.art-melt{isolation:isolate}.art-melt::before{content:"";position:absolute;inset:-14%;z-index:-1;background:radial-gradient(closest-side,var(--ground) 58%,color-mix(in srgb,var(--ground) 0%,transparent));pointer-events:none}
.art-melt img{-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent);mask-image:radial-gradient(closest-side,#000 70%,transparent)}
.art-stack{isolation:isolate}.art-stack::before,.art-stack::after{content:"";position:absolute;inset:0;border-radius:var(--r);border:var(--border);z-index:-1}.art-stack::before{background:var(--accent);transform:rotate(-6deg) translate(-10px,6px)}.art-stack::after{background:var(--accent2);transform:rotate(5deg) translate(10px,4px)}.art-stack img{border-radius:var(--r);border:var(--border)}
.art-card{padding:12px;border-radius:18px;background:linear-gradient(140deg,var(--accent),var(--accent2));box-shadow:var(--shadow)}
.art-card img{border-radius:8px;border:3px solid rgba(0,0,0,.35)}
.card-top,.card-foot{display:flex;justify-content:space-between;gap:10px;font:700 14px/1.2 var(--mono);color:var(--on-accent);padding:4px 4px 10px;text-transform:uppercase;letter-spacing:.06em}.card-foot{padding:10px 4px 2px}
.art-tv{padding:22px;background:#15171a;border-radius:38px;box-shadow:inset 0 0 0 3px #2b2f35,0 30px 60px -30px rgba(0,0,0,.7)}.art-tv img{border-radius:26px/22px}
.art-tv::after{content:"";position:absolute;inset:22px;border-radius:26px/22px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),radial-gradient(90% 90%,transparent 60%,rgba(0,0,0,.45));pointer-events:none}
.art-spotlight::before{content:"";position:absolute;inset:-14%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 60%,transparent),transparent);z-index:-1}.art-spotlight{isolation:isolate}.art-spotlight img{border-radius:var(--rl)}
.art-chamfer img{clip-path:polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px)}
.art-chamfer{isolation:isolate}.art-chamfer::after{content:"";position:absolute;inset:0;transform:translate(10px,10px);background:var(--accent);clip-path:polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px);z-index:-1;pointer-events:none}
.art-badge img{border-radius:50%;border:10px solid var(--paper);box-shadow:0 18px 40px -16px var(--shadowc)}.art-badge{transform:rotate(-4deg)}
/* Motion is only ever on decorations and text, never on the art: QA scrolls every image into
   view and a moving image never settles. */

/* decorations */
.dec{position:absolute;pointer-events:none;z-index:3}
.at-tr{top:-18px;right:-10px}.at-tl{top:-18px;left:-12px}.at-br{bottom:-18px;right:-8px}.at-bl{bottom:-16px;left:-10px}.at-mr{top:42%;right:-24px}.at-ml{top:46%;left:-22px}
.dec-burst{width:clamp(96px,11vw,140px);aspect-ratio:1;display:grid;place-items:center;transform:rotate(12deg)}.dec-burst svg{position:absolute;inset:0;fill:var(--accent2)}.dec-burst b{position:relative;font:400 clamp(16px,1.8vw,22px)/1 var(--display);color:var(--on-accent2);text-align:center}
.dec-sticker{display:grid;place-items:center;width:clamp(88px,9vw,118px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:var(--on-accent);border:4px solid var(--paper);box-shadow:0 8px 18px -8px var(--shadowc);transform:rotate(-14deg);font:400 clamp(14px,1.5vw,18px)/1.05 var(--display);text-transform:uppercase;text-align:center;padding:10px}
.dec-spark{width:64px;height:64px}.dec-spark svg{width:44px;fill:var(--accent)}.dec-spark .s2{width:22px;position:absolute;right:0;bottom:0;fill:var(--accent2)}
.dec-squiggle{width:130px}.dec-squiggle svg{stroke:var(--accent2)}
.dec-arrow{width:110px}.dec-arrow svg{stroke:var(--ink)}
.dec-stamp b{display:block;border:3px solid currentColor;padding:8px 14px;font:700 15px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);transform:rotate(-9deg);border-radius:4px;opacity:.9;background:color-mix(in srgb,var(--bg) 70%,transparent);white-space:nowrap}
.dec-tape{width:120px;height:32px;background:color-mix(in srgb,var(--accent2) 45%,rgba(255,255,255,.55));transform:rotate(-8deg);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.dec-scribble{width:min(260px,60%);bottom:-26px;left:0}.dec-scribble svg{stroke:var(--accent)}
.dec-orbit{width:130%;left:-15%;top:-15%;aspect-ratio:1;inset:auto}.dec-orbit svg{stroke:color-mix(in srgb,var(--ink) 35%,transparent);fill:var(--accent)}
.dec-corners{inset:-14px}.dec-corners i{position:absolute;width:22px;height:22px;border:2px solid var(--accent)}.dec-corners i:nth-child(1){top:0;left:0;border-width:2px 0 0 2px}.dec-corners i:nth-child(2){top:0;right:0;border-width:2px 2px 0 0}.dec-corners i:nth-child(3){bottom:0;left:0;border-width:0 0 2px 2px}.dec-corners i:nth-child(4){bottom:0;right:0;border-width:0 2px 2px 0}
@media(max-width:600px){.dec-burst,.dec-sticker{width:84px}.dec-arrow,.dec-squiggle{width:84px}.at-mr,.at-ml{display:none}}
.rule{height:16px;margin:0 auto;max-width:var(--max,1180px);background:linear-gradient(var(--line),var(--line)) center/100% 1px no-repeat}
.rule::after{content:"";display:block;width:12px;height:12px;margin:2px auto;background:var(--accent);transform:rotate(45deg)}
.barcode{display:inline-block;height:44px;width:150px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 8px,var(--ink) 8px 9px,transparent 9px 12px)}




body::before{background:url(/assets/texture.svg);opacity:.12;mix-blend-mode:multiply}
/* hierarchy, words and finish (premium gap check 2026-11-05) */

.orn{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.12em}
/* Kicker words take the colour of the text around them, so they read on every panel (accent
   panels included); the ornament beside them carries the accent. */
.kick{display:flex;align-items:center;gap:10px;font:700 12px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:inherit;margin:0 0 14px}
.kick .orn{width:13px;height:13px;color:var(--accent)}
.hero-kick{margin-bottom:18px}
.wordmark .name.name{font-size:clamp(22px,2.4vw,32px);letter-spacing:.01em;line-height:1.1;text-transform:none}
.headline.headline.headline{font:400 clamp(38px,6.2vw,88px)/1.02 var(--display);color:var(--ink);text-transform:none;letter-spacing:-.01em;max-width:15ch;margin:14px 0 20px;opacity:1}
.headline em,.lede em,p em{font-style:normal;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--accent) 45%,transparent) 62% 92%,transparent 92%);color:var(--accent-text)}
.art-cap{font:italic 400 14px/1.45 var(--body);color:var(--muted);margin:12px 2px 0;text-transform:none;letter-spacing:0}
/* The stamp's perforation pattern fills its whole background; the caption gets plain paper. */
.art-stamp .art-cap{background:var(--paper);color:#2b2b2b;margin:0;padding:10px 6px 4px}
.art.has-cap.art-circle .art-cap,.art.has-cap.art-badge .art-cap,.art.has-cap.art-blob .art-cap{text-align:center}
.detail{margin:0;position:relative}.detail .crop{overflow:hidden;aspect-ratio:4/5;border-radius:var(--r);border:var(--border);background:var(--surface)}
.detail img{width:100%;height:100%;object-fit:cover}
@media(max-width:619px){.detail{max-width:300px}}
.detail figcaption{font:600 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:10px}
.story.with-detail{display:grid;gap:clamp(24px,4vw,56px);align-items:start}
.story.with-detail .story-columns .story-body,.story-columns.with-detail .story-body{columns:auto}
.story-detail{max-width:340px;width:100%}
@media(min-width:860px){.story.with-detail{grid-template-columns:minmax(0,1fr) minmax(200px,300px)}.story-detail{transform:rotate(1.5deg)}}
.band{position:relative;overflow:hidden;height:clamp(180px,30vw,400px);margin-block:clamp(24px,5vw,64px)}
.band img{width:100%;height:100%;object-fit:cover}
.band-pic{margin-inline:0}.band-pic figcaption{position:absolute;left:clamp(14px,3vw,32px);bottom:14px;z-index:2;font:600 12px/1.4 var(--mono);letter-spacing:.08em;color:#fff;background:rgba(0,0,0,.72);padding:6px 10px;max-width:min(80%,520px)}
.detail-pic .crop img{transform:none}
/* Scene pictures: four arrangements, so pages with pictures do not all hang them alike. */
.scenes{padding-block:clamp(28px,5vw,64px)}.sc{margin:0;position:relative}.sc img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--r)}
.sc figcaption{font:600 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:10px}
.scenes{container-type:inline-size}.sc-hang{display:grid;gap:clamp(12px,2vw,24px)}
.scenes-strip .sc-hang{grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.scenes-strip .sc{scroll-snap-align:start}.scenes-strip .sc img{aspect-ratio:4/5}
.scenes-grid .sc-hang{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.scenes-grid .sc img{aspect-ratio:1}.scenes-grid .sc-wide{grid-column:1/-1}.scenes-grid .sc-wide img{aspect-ratio:21/9}
.scenes-collage .sc-hang{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;padding:10px}.scenes-collage .sc{background:var(--paper);padding:10px 10px 6px;box-shadow:0 18px 36px -20px var(--shadowc)}.scenes-collage .sc img{border-radius:0;aspect-ratio:1}
.scenes-collage .sc:nth-child(odd){transform:rotate(-2deg)}.scenes-collage .sc:nth-child(even){transform:rotate(1.6deg) translateY(14px)}.scenes-collage .sc figcaption{color:#333}
/* In a narrow column (a sidebar, a phone) grids and collages go two across rather than one tall stack. */
@container (max-width:560px){.scenes-grid .sc-hang,.scenes-collage .sc-hang{grid-template-columns:1fr 1fr}.scenes-grid .sc-wide{grid-column:1/-1}.scenes-collage .sc{padding:6px 6px 4px}}
.scenes-reel .sc-hang{grid-template-columns:1fr}.scenes-reel .sc img{aspect-ratio:21/9;border-radius:0}.scenes-reel .sc figcaption{position:absolute;left:14px;bottom:14px;margin:0;color:#fff;background:rgba(0,0,0,.72);padding:6px 10px}
/* Under 900px a caption sits under its picture, never over the subject (Meme Raydar token review, 2026-11-14). */
@media(max-width:899px){.band-pic figcaption,.scenes-reel .sc figcaption{position:static;margin:10px 0 0;max-width:none;background:none;color:var(--muted);padding:0}.band-pic{height:auto;overflow:visible}.band-pic img{height:clamp(180px,30vw,400px);border-radius:inherit}}
@media(min-width:900px){.scenes-reel.scenes-2 .sc-hang,.scenes-reel.scenes-4 .sc-hang{grid-template-columns:1fr 1fr}.scenes-reel.scenes-2 .sc img,.scenes-reel.scenes-4 .sc img{aspect-ratio:4/3}}
.band-frame{max-width:var(--max,1180px);margin-inline:auto;border-radius:var(--rl);width:calc(100% - 2 * clamp(18px,4.5vw,44px))}
.band-duotone img{filter:grayscale(1) contrast(1.15) brightness(1.05)}.band-duotone::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.85}
.band-halftone::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(0,0,0,.5) 1.2px,transparent 1.8px) 0 0/7px 7px;mix-blend-mode:multiply}
.band-letterbox{height:clamp(160px,24vw,340px);border-block:clamp(10px,1.4vw,18px) solid #000}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .xl,.xl2,.buy,#contract-copy,.steps-cards li,.facts-tiles li,.comm-card{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
 .xl2:hover,.buy:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px var(--shadowc)}
 .xl:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
 #contract-copy:not(:disabled):hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
 .steps-cards li:hover,.facts-tiles li:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px var(--shadowc)}
 .foot a:hover{color:var(--accent-text)}
}

/* layout: story */

.ss{display:grid;gap:clamp(24px,5vw,72px);--hero-col:calc(100vw - 40px);--h1max:170px}
.ss-pin{position:relative}.ss-art{position:relative;max-width:600px;margin:0 auto}
@media(min-width:900px){.ss{grid-template-columns:1fr 1fr;--hero-col:calc(min(100vw,1180px) * .44)}.ss-pin .ss-art{position:sticky;top:clamp(40px,12vh,120px)}.ss-pin{padding-block:40px}.ss-right .ss-pin{order:2}}
.chap{min-height:min(38vh,380px);display:grid;align-content:center;gap:18px;padding-block:clamp(36px,6vh,64px);border-bottom:1px solid var(--line)}
.chap-0{min-height:min(78vh,760px)}.notes{display:grid;gap:24px;align-items:start}.notes .detail{max-width:260px}@media(min-width:1100px){.notes{grid-template-columns:1fr 220px}}.chap-end{border:0}
.mark{font:600 13px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}
.chap-p{font:400 clamp(22px,2.6vw,36px)/1.25 var(--display);margin:0;max-width:22ch}
.chap-p.lead{color:var(--muted)}.chap-p.long{font:400 clamp(18px,1.6vw,22px)/1.6 var(--body);max-width:40ch}
@media(max-width:899px){.chap{min-height:0}.ss-pin{order:-1}}

/* moments */
.m-over{position:absolute;pointer-events:none;z-index:3}.m-spot{opacity:0;transition:opacity .35s}
.m-w{white-space:nowrap}.m-l{display:inline-block}
/* Meme Raydar credit */
.mr-credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;flex-basis:100%;font-size:14px;line-height:1.2}
.mr-credit a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 30%,transparent)}
.mr-credit a:hover{border-color:currentColor}.mr-credit a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mr-by{gap:10px;padding:0 16px 0 5px;max-width:100%}.mr-by img{display:block;flex:none;width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 25%,transparent)}
.mr-by span{white-space:nowrap;letter-spacing:.01em}.mr-by b{font-weight:700}
.mr-links{display:inline-flex;gap:8px}.mr-icon{justify-content:center;width:44px}.mr-icon svg{width:16px;height:16px;fill:currentColor}
