/* Fantadstic, Direction A "Keep or Skip". Tokens and rules follow design/HANDOFF.md.
   No inline styles anywhere in the markup (the edge CSP is style-src 'self'). */
@font-face{font-family:"Dela Gothic One";src:url(/assets/fonts/dela-gothic-one.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
/* size-matched fallbacks (P4), measured in Chromium against the web fonts (canvas text width, font ascent and descent); var() is not allowed in @font-face descriptors */
@font-face{font-family:"Dela Fallback";src:local("Arial Black"),local("Arial");font-weight:400;size-adjust:105.8%;ascent-override:109.7%;descent-override:27.4%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Arial"),local("Helvetica");font-weight:400 700;size-adjust:102.7%;ascent-override:94.4%;descent-override:24.3%;line-gap-override:0%}

:root{
  --ink:#121A26; --cream:#FFF7EA; --butter:#FFD23F; --mint:#8BE8C3; --pink:#FF9CBF; --sky:#9CCFFF; --tomato:#FF7A45;
  --brand:#D9480F; /* logo only: white on it is 4.3:1, so it never carries text */
  --ease:cubic-bezier(.22,.9,.28,1);
  --spring:cubic-bezier(.3,1.5,.5,1);
  --gut:clamp(16px,3vw,40px);
  --display:"Dela Gothic One","Dela Fallback","Arial Black",system-ui,sans-serif;
  --body:"Instrument Sans","Instrument Fallback",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-padding-top:88px;scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font:500 clamp(1rem,.96rem + .2vw,1.125rem)/1.5 var(--body);color:var(--ink);background:var(--cream);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
p{text-wrap:pretty}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--cream);padding:12px 16px;z-index:60;border-radius:10px;text-decoration:none;font-weight:700}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.on-ink :focus-visible{outline-color:var(--cream)}
[hidden]{display:none!important}

/* the page wears the colour of the top ad: five fixed layers, one lit */
.fields{position:fixed;inset:0;z-index:-1;background:var(--butter)}
.fields i{position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity .55s var(--ease)}
.fields i.on{opacity:1}
.fields i[data-c="butter"]{background:var(--butter)}
.fields i[data-c="mint"]{background:var(--mint)}
.fields i[data-c="pink"]{background:var(--pink)}
.fields i[data-c="sky"]{background:var(--sky)}
.fields i[data-c="tomato"]{background:var(--tomato)}
/* motion-graphic texture per field (knit, silk, paper, mist, pigment). Static under 1024px. */
.fields b{position:absolute;inset:-6%;background-repeat:repeat;opacity:0;transition:opacity .8s var(--ease)}
.fields.tex b{opacity:.9}
.fields.tex i[data-t="knit"] b{background-image:url(/assets/img/tex-knit.svg);background-size:44px 44px}
.fields.tex i[data-t="silk"] b{background-image:url(/assets/img/tex-silk.svg);background-size:520px 520px}
.fields.tex i[data-t="paper"] b{background-image:url(/assets/img/tex-paper.svg);background-size:300px 300px}
.fields.tex i[data-t="mist"] b{background-image:url(/assets/img/tex-mist.svg);background-size:640px 640px}
.fields.tex i[data-t="pigment"] b{background-image:url(/assets/img/tex-pigment.svg);background-size:480px 480px}
.fields video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s var(--ease);pointer-events:none}
.fields video.ready{opacity:.28}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference) and (scripting:enabled){
  .fields:not(.still) i.on b{animation:drift 46s ease-in-out infinite alternate;will-change:transform}
}
/* the deck is out of view: freeze the texture (the footer stage is always still) */
.fields.offscreen i.on b{animation-play-state:paused}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3.2%,-2.4%,0)}}

/* nav: a ticket stub, not a bar */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:6px;background:var(--cream);border:2px solid var(--ink);border-radius:18px;padding:6px 6px 6px 16px;box-shadow:4px 4px 0 var(--ink);width:min(780px,calc(100% - 24px))}
.nav .logo{display:inline-flex;align-items:center;min-height:44px;border-radius:10px}
.nav .logo img{height:30px;width:auto}
.nav nav{margin:0 auto}
.nav nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav a:not(.btn):not(.logo){display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem}
.nav a[aria-current]:not(.btn){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.menu-btn{display:none;min-height:44px;padding:0 14px;border-radius:10px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 .95rem var(--body);cursor:pointer;margin-left:auto;transition:transform .16s var(--ease)}
.sheet{position:absolute;top:calc(100% + 10px);left:-2px;right:-2px;background:var(--cream);border:2px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink);padding:8px}
.sheet ul{list-style:none;margin:0;padding:0}
.sheet a{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:10px;text-decoration:none;font-weight:700}
.sheet a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;background:var(--ink);color:var(--cream);font:700 1rem/1 var(--body);border:2px solid var(--ink);text-decoration:none;cursor:pointer;transition:transform .16s var(--ease)}
.btn.small{min-height:44px;font-size:.95rem;padding:0 16px;white-space:nowrap}
.btn.butter{background:var(--butter);color:var(--ink);border-color:var(--butter)}
.btn:disabled,.btn[aria-disabled="true"]{background:#5A616C;border-color:#5A616C;color:var(--cream);cursor:not-allowed;transform:none}

/* hover lifts and washes only where hover exists, so a tap never leaves one stuck */
.legalstrip a,.note a,.prose a{border-radius:6px}
@media (hover:hover){
  .btn:not(:disabled):hover{transform:translate(-1px,-2px)}
  .menu-btn:hover{transform:translate(-1px,-2px)}
  .nav a:not(.btn):not(.logo):hover,.sheet a:hover,.nav .logo:hover{background:rgba(18,26,38,.1)}
  .round:not(:disabled):hover{transform:translateY(-3px)}
  .pause:hover{background:rgba(18,26,38,.1)}
  .tabs button:hover{background:rgba(18,26,38,.1)}
  .tabs button[aria-selected="true"]:hover{background:var(--ink)}
  .faq summary:hover{background:rgba(18,26,38,.1)}
  .legalstrip a:hover,.note a:hover,.prose a:hover{text-decoration-thickness:3px;background:rgba(18,26,38,.1)}
  .skip:hover{background:#2A3446}
}

/* press states come after the hover block so a held mouse button wins over hover (same specificity, later wins) */
.btn:not(:disabled):active{transform:translate(1px,1px)}
.menu-btn:active{transform:translate(1px,1px);background:rgba(18,26,38,.15)}
.nav a:not(.btn):not(.logo):active,.sheet a:active,.nav .logo:active,.legalstrip a:active,.note a:active,.prose a:active{background:rgba(18,26,38,.15)}
.skip:active{transform:translate(1px,1px)}

/* hero */
.hero{overflow:clip;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(16px,3vw,40px);align-items:center;padding:96px var(--gut) 32px;max-width:1500px;margin:auto}
.hero-copy{container-type:inline-size}
h1{font-size:clamp(2rem,11.8cqw,6.6rem);line-height:.98}
h1 span{display:block}
.lede{font-size:clamp(1.125rem,1rem + .55vw,1.5rem);max-width:30ch;margin:22px 0 0;font-weight:600;line-height:1.28}
.paste{margin-top:24px;display:flex;background:var(--cream);border:2px solid var(--ink);border-radius:16px;padding:6px;box-shadow:5px 5px 0 var(--ink);max-width:560px}
.paste input{flex:1;min-width:0;border:0;background:transparent;font:500 1.0625rem var(--body);padding:0 12px;color:var(--ink);min-height:48px}
.paste input:focus{outline:none}
.paste:focus-within{outline:3px solid var(--ink);outline-offset:3px}
.paste input::placeholder{color:#4A525E;opacity:1}
.paste .btn{flex:none}
.paste-msg{margin:12px 0 0;max-width:560px}
.paste-msg:empty{display:none}
.err,.stat{display:flex;gap:8px;align-items:flex-start;background:var(--cream);border:2px solid var(--ink);border-radius:10px;padding:8px 12px;font-weight:700;font-size:.9375rem;line-height:1.3}
.err svg{flex:none;width:20px;height:20px;margin-top:1px}
.tiny{font-size:.9375rem;margin:14px 0 0;font-weight:600;max-width:46ch}
.tiny span{display:block}

/* deck */
.stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.deck{position:relative;width:min(500px,78vw);aspect-ratio:1/1.09;border-radius:22px}
.card{position:absolute;inset:0;background:var(--cream);border:2px solid var(--ink);border-radius:18px;padding:10px 10px 8px;box-shadow:6px 6px 0 var(--ink);transition:transform .5s var(--ease),opacity .4s var(--ease);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;pointer-events:none;background:var(--cream)}
.card small{height:26px;display:flex;justify-content:space-between;gap:8px;padding:7px 4px 0;font-weight:600;font-size:.8125rem;line-height:1.2}
.card[data-pos="0"]{z-index:5;cursor:grab}
.card[data-pos="0"]:active{cursor:grabbing}
.card[data-pos="1"]{z-index:4;transform:rotate(3deg) translateY(4px) scale(.97)}
.card[data-pos="2"]{z-index:3;transform:rotate(-3.5deg) translateY(8px) scale(.94)}
.card[data-pos="3"]{z-index:2;transform:rotate(5deg) translateY(10px) scale(.91);opacity:0}
.card.fly-keep{transform:translate(120vw,-6vh) rotate(24deg)!important}
.card.fly-skip{transform:translate(-120vw,-6vh) rotate(-24deg)!important}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.round{width:64px;height:64px;border-radius:50%;background:var(--cream);border:2px solid var(--ink);font:700 .95rem var(--body);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .18s var(--spring);color:var(--ink)}
.round:active:not(:disabled){transform:scale(.92)}
.round:disabled{background:#5A616C;color:var(--cream);box-shadow:none;cursor:not-allowed}
.round.keep{background:var(--ink);color:var(--cream)}
.round.keep:disabled{background:#5A616C}
.pause{min-height:44px;padding:0 14px;border-radius:10px;border:2px solid var(--ink);background:var(--cream);font:600 .875rem var(--body);cursor:pointer;color:var(--ink)}
.pause:active{transform:scale(.97)}
.tray{display:flex;align-items:center;gap:8px;background:var(--cream);border:2px solid var(--ink);border-radius:14px;padding:6px 12px;min-height:56px;font-weight:700;font-size:.9375rem;box-shadow:4px 4px 0 var(--ink)}
.tray .thumbs{display:flex}
.tray .thumbs img{width:40px;height:40px;object-fit:cover;border-radius:7px;border:2px solid var(--ink);margin-left:-10px;animation:pop .36s var(--spring)}
.tray .thumbs img:first-child{margin-left:0}
@keyframes pop{from{transform:scale(.3)}to{transform:scale(1)}}
.caption{font-size:.8125rem;font-weight:600;margin:0;line-height:1.3;text-align:center;max-width:36ch;background:var(--cream);border-radius:8px;padding:4px 8px}

/* the banner: ticket tape across the seam, every entry in its own typeface (assets/css/banner.css) */
.belt-wrap{position:relative;overflow:clip;background:linear-gradient(transparent 50%,var(--cream) 50%);padding:clamp(24px,3vw,44px) 0 clamp(8px,1.5vw,16px)}
.strip{position:relative;width:calc(100% + 160px);margin-left:-80px;padding:26px 0;transform:rotate(-1.4deg)}
.strip-bg{position:absolute;inset:0;background:var(--ink);--e:radial-gradient(circle at 14px 0,transparent 13.5px,#000 14px) top/28px 14px repeat-x,radial-gradient(circle at 14px 100%,transparent 13.5px,#000 14px) bottom/28px 14px repeat-x,linear-gradient(#000 0 0) center/100% calc(100% - 26px) no-repeat;-webkit-mask:var(--e);mask:var(--e)}
.track{position:relative;display:flex;width:max-content;background:var(--ink);animation:slide 34s linear infinite;will-change:transform}
.belt-wrap.paused .track,.belt-wrap.idle .track{animation-play-state:paused}
@media (hover:hover){.belt-wrap:hover .track{animation-play-state:paused}}
@keyframes slide{to{transform:translateX(-25%)}}
.half{display:flex;align-items:center;gap:clamp(36px,4vw,64px);list-style:none;margin:0;padding:0 clamp(36px,4vw,64px) 0 0}
.word{flex:none;font-size:var(--t);line-height:1.15;height:1.4em;display:flex;align-items:center;white-space:nowrap}
.belt-pause{display:block;margin:12px var(--gut) 0 auto}

section{padding:clamp(64px,9vw,128px) var(--gut)}
section.belt-wrap{padding:clamp(24px,3vw,44px) 0 clamp(8px,1.5vw,16px)}
.wrap{max-width:1360px;margin:auto}
h2{font-size:clamp(2.1rem,1.2rem + 4vw,4.6rem);max-width:17ch}
.sub{max-width:52ch;margin:18px 0 0;font-weight:600}

.belt-wrap{contain:layout paint}

/* how: panels of unequal weight */
.how{background:var(--cream)}
.steps{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-top:40px;padding-bottom:20px}
.step{border:2px solid var(--ink);border-radius:22px;padding:24px;box-shadow:5px 5px 0 var(--ink);display:flex;flex-direction:column;gap:12px;min-height:340px}
.step:nth-child(1){background:var(--butter)}
.step:nth-child(2){background:var(--mint);transform:translateY(32px)}
.step:nth-child(3){background:var(--pink);transform:translateY(-14px)}
.step .n{font:400 clamp(3rem,6vw,5.2rem)/.9 var(--display)}
.step h3{font-size:1.6rem}
.step p{margin:0;font-weight:500;max-width:32em}

/* shops first */
.who{background:var(--sky)}
.who .sub{color:var(--ink)}
.tabs{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:32px}
.tgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tgroup .gl{flex:0 0 100%;font-weight:700;font-size:.875rem}
.tabs button{min-height:48px;padding:0 18px;border-radius:12px;border:2px solid var(--ink);background:var(--cream);font:700 1rem var(--body);cursor:pointer;color:var(--ink);transition:transform .16s var(--ease)}
.tabs button:active{transform:scale(.98)}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--cream)}
.tabpanel{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:start}
.tabpanel:focus-visible{outline-offset:6px}
.idea{background:var(--cream);border:2px solid var(--ink);border-radius:22px;padding:24px;box-shadow:5px 5px 0 var(--ink)}
.idea h3{font-size:1.5rem}
.idea .intro{margin:10px 0 18px;font-weight:600}
.idea dl{margin:0;display:grid;gap:16px}
.idea dt{font-weight:700;font-size:.875rem}
.idea dd{margin:2px 0 0;font:400 1.5rem/1.15 var(--display)}
.idea dd small{display:block;font:600 .8125rem/1.3 var(--body);margin-top:6px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.pair figure{margin:0}
.pair img{border:2px solid var(--ink);border-radius:14px;width:100%;background:var(--cream)}
.pair figcaption,.empty{font-size:.8125rem;font-weight:600;line-height:1.3;margin-top:6px}
.pair .made{grid-column:1/-1;font-size:.8125rem;font-weight:600;margin:2px 0 0;background:var(--cream);border-radius:8px;padding:4px 8px;justify-self:start}
.empty{background:var(--cream);border:2px dashed var(--ink);border-radius:18px;padding:20px;font-size:1rem;margin:0}

/* edits strip */
.edits{background:var(--butter)}
.edits h2{max-width:20ch}
.edits p{max-width:52ch;margin:18px 0 0;font-weight:600}

/* pricing */
.price{background:var(--cream)}
.plans{display:grid;grid-template-columns:.85fr 1.2fr 1fr;gap:18px;margin-top:40px;align-items:end}
.plan{border:2px solid var(--ink);border-radius:22px;padding:26px;background:var(--cream);box-shadow:5px 5px 0 var(--ink)}
.plan.mid{background:var(--mint);padding-block:44px}
.plan h3{font-size:1.5rem}
.amt{font:400 clamp(2.6rem,5vw,4.2rem)/1 var(--display);margin:10px 0 4px;font-variant-numeric:tabular-nums}
.amt small{font:600 1rem var(--body)}
.plan ul{padding:0;list-style:none;margin:14px 0 20px;display:grid;gap:6px;font-weight:600}
.note{font-weight:600;margin:22px 0 0;max-width:32em}
.note a{display:inline-block;padding:10px 0;min-height:44px}

/* questions */
.faq{background:var(--cream);padding-top:0}
.faq h2{margin-bottom:28px}
.faq details{border-top:2px solid var(--ink)}
.faq details:last-of-type{border-bottom:2px solid var(--ink)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:12px 8px;cursor:pointer;list-style:none;font:400 clamp(1.25rem,1.05rem + .8vw,1.5rem)/1.15 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;position:relative;width:20px;height:20px;transition:transform .2s var(--ease)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:var(--ink);border-radius:2px}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 8px 22px;max-width:32em}

/* close */
.close{background:var(--ink);color:var(--cream)}
.close h2{color:var(--cream);font-size:clamp(2.4rem,1.2rem + 6vw,6.8rem);max-width:15ch}
.close .btn{margin-top:28px;min-height:58px;font-size:1.125rem}

/* footer: the last card */
.tear{height:14px;background:var(--ink);-webkit-mask:radial-gradient(circle at 14px 0,#000 14px,transparent 14.5px) 0 0/28px 14px repeat-x;mask:radial-gradient(circle at 14px 0,#000 14px,transparent 14.5px) 0 0/28px 14px repeat-x}
.finale{padding:clamp(48px,7vw,96px) var(--gut) clamp(56px,8vw,112px)}
.finale .wrap{display:flex}
.stack{position:relative;width:min(560px,100%);margin-left:clamp(0px,4vw,64px)}
.stack i{position:absolute;inset:0;border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink)}
.stack i:nth-child(1){background:var(--butter);transform:rotate(3deg) translate(14px,6px)}
.stack i:nth-child(2){background:var(--mint);transform:rotate(-3.5deg) translate(-14px,10px)}
.last{position:relative;background:var(--cream);border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:clamp(20px,3vw,32px);transform:rotate(-1.5deg);display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.last img{height:34px;width:auto}
.last .tag{font:400 clamp(1.9rem,1.2rem + 2.6vw,3.2rem)/1.02 var(--display);margin:0;text-wrap:balance}
.last .kept-line{margin:0;font-weight:700}
.legalstrip{background:var(--cream);border-top:2px solid var(--ink);padding:36px var(--gut) 104px;font-size:.9375rem;font-weight:500}
.legalstrip .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1360px;margin:auto}
.legalstrip h2{font:700 .875rem var(--body);letter-spacing:.02em;margin:0 0 6px;max-width:none}
.legalstrip ul{list-style:none;margin:0;padding:0}
.legalstrip a{display:flex;align-items:center;min-height:44px;min-width:44px;width:fit-content;max-width:100%}
.legal-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid rgba(18,26,38,.3);margin:20px auto 0;padding-top:18px;max-width:1360px}
.legal-row p{margin:0}
.sticky{display:none}

/* plain pages: legal, accessibility, 404 */
.page{padding:132px var(--gut) 40px;background:var(--cream)}
.prose{max-width:75ch;margin:0 auto}
.prose h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.6rem);margin-bottom:20px;max-width:18ch}
.prose h2{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);max-width:none;margin:36px 0 10px;line-height:1.1}
.prose h3{font-size:1.2rem;margin:24px 0 8px}
.prose p,.prose li{max-width:32em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:4px 0}
.prose a{text-underline-offset:3px}
.prose hr{border:0;border-top:2px solid var(--ink);margin:32px 0}
.prose .tbl{overflow-x:auto;margin:14px 0}
.prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem}
.prose th,.prose td{border:2px solid var(--ink);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--butter)}
.prose .lede{font-size:1.25rem;font-weight:600}
.ph{background:var(--butter);padding:0 .3em;border-radius:4px;font-weight:700}
.fourzero{min-height:100dvh;display:grid;place-items:center;padding:110px var(--gut) 140px}
.fourzero .card404{position:relative;background:var(--cream);border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:clamp(24px,4vw,44px);transform:rotate(-1.5deg);max-width:560px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.fourzero h1{font-size:clamp(2.2rem,1.4rem + 4vw,4rem)}
.fourzero p{margin:0;font-weight:600}
.fourzero .row{display:flex;gap:10px;flex-wrap:wrap}
.btn.ghost{background:var(--cream);color:var(--ink)}

/* scroll reveal, once (headings and panels only) */
@media (scripting:enabled){
  .rv{opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
  .rv.in{opacity:1;transform:none}
  .step.rv.in:nth-child(2){transform:translateY(32px)}
  .step.rv.in:nth-child(3){transform:translateY(-14px)}
}

@media (max-width:900px){
  html{scroll-padding-bottom:96px}
  .hero{grid-template-columns:1fr;padding-top:84px;gap:24px;min-height:auto}
  h1{font-size:clamp(2rem,11.6cqw,4.2rem)}
  .paste{max-width:none}
  .nav nav{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .nav{justify-content:space-between}
  .steps,.plans,.tabpanel{grid-template-columns:1fr}
  .step:nth-child(n),.step.rv.in:nth-child(n){transform:none;min-height:0}
  .plans{align-items:stretch}
  .plan.mid{padding-block:26px}
  .sticky{position:fixed;display:block;left:0;right:0;bottom:0;padding:10px 12px;background:var(--cream);border-top:2px solid var(--ink);z-index:40}
  .sticky .btn{width:100%}
  .legalstrip{padding-bottom:96px}
  .legalstrip .cols{grid-template-columns:1fr;gap:12px}
  .stack{margin-left:12px;width:calc(100% - 24px);min-width:0}
  .page{padding-top:100px}
}
@media (max-width:420px){
  .nav{padding-left:12px;gap:4px}
  .nav .logo img{height:26px}
  .menu-btn{padding:0 10px}
  .btn.small{padding:0 12px}
  .paste .btn{padding:0 14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .track{width:auto!important;will-change:auto}
  .belt-wrap .half{flex-wrap:wrap;justify-content:center;row-gap:6px;padding:0 calc(80px + var(--gut))}
  .belt-wrap .half[aria-hidden="true"],.belt-pause,#pause{display:none!important}
  .card.fly-keep,.card.fly-skip{opacity:0;transform:none!important}
  .rv{transform:none!important}
}

/* generated by build/build.py from build/banner.json. Do not edit by hand. */
.belt-wrap{--t:clamp(1.7rem,1.25rem + 2.2vw,3.2rem)}
@font-face{font-family:"Bagel Fat One";src:url(/assets/fonts/bagel-fat-one.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w1{font-family:"Bagel Fat One",sans-serif;color:var(--butter);}
@font-face{font-family:"Abril Fatface";src:url(/assets/fonts/abril-fatface.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w2{font-family:"Abril Fatface",serif;color:var(--mint);font-size:calc(var(--t)*1.08);}
@font-face{font-family:"Bungee";src:url(/assets/fonts/bungee.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w3{font-family:"Bungee",sans-serif;color:var(--pink);font-size:calc(var(--t)*0.82);}
@font-face{font-family:"Caveat Brush";src:url(/assets/fonts/caveat-brush.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w4{font-family:"Caveat Brush",cursive;color:var(--sky);font-size:calc(var(--t)*1.24);}
@font-face{font-family:"Alfa Slab One";src:url(/assets/fonts/alfa-slab-one.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w5{font-family:"Alfa Slab One",serif;color:var(--tomato);font-size:calc(var(--t)*0.92);}
@font-face{font-family:"Shrikhand";src:url(/assets/fonts/shrikhand.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.w6{font-family:"Shrikhand",serif;color:var(--cream);font-size:calc(var(--t)*1.02);}
