/* Just Show Me — site styles.
   Colours, fonts and motion come from ../../brand.md and ../../MOTION.md.
   Layout borrows the Slush reference: rounded paper "sheets" stacked on a navy frame,
   giant condensed headlines, flat stickers scattered around them, tilted banner strips. */

@font-face{font-family:"Bricolage";src:url("/assets/fonts/Bricolage.ttf") format("truetype");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Atkinson Next";src:url("/assets/fonts/AtkinsonNext.ttf") format("truetype");font-weight:200 800;font-display:swap}
@font-face{font-family:"Atkinson Mono";src:url("/assets/fonts/AtkinsonMono.ttf") format("truetype");font-weight:200 800;font-display:swap}

:root{
  --navy:#16213E; --paper:#FAF7F0; --yellow:#FFC940; --coral:#F2644A; --slate:#3D5A80;
  --white:#FFFFFF; --sky:#5BC0EB; --lilac:#B8A1F0; --paper-2:#F1ECE0;
  --display:"Bricolage",system-ui,sans-serif;
  --body:"Atkinson Next","Atkinson Hyperlegible",system-ui,sans-serif;
  --mono:"Atkinson Mono",ui-monospace,Menlo,monospace;
  --gutter:clamp(16px,4vw,56px);
  --sheet-r:clamp(28px,4vw,48px);
  --ease-out:cubic-bezier(.34,1.56,.64,1); /* back.out(1.4)-ish */
  --ease-in:cubic-bezier(.55,0,1,.45);
  --shadow:6px 6px 0 var(--navy);
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--navy);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--navy);font:500 19px/1.5 var(--body);overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0}
:focus-visible{outline:4px solid var(--yellow);outline-offset:3px;border-radius:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
.display{font-family:var(--display);font-weight:800;font-stretch:75%;text-transform:uppercase;line-height:.84;letter-spacing:-.005em}
.display-xl{font-size:clamp(76px,15.5vw,236px)}
.display-l{font-size:clamp(60px,9vw,150px)}
.display-m{font-size:clamp(48px,6.4vw,104px)}
.display-s{font-size:clamp(40px,4.6vw,68px)}
.head{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.lede{font-size:clamp(22px,2vw,28px);line-height:1.45;max-width:34em}
.small{font-size:17px;color:var(--slate)}
.mark{background:linear-gradient(transparent 58%,var(--yellow) 58%,var(--yellow) 92%,transparent 92%);padding:0 .06em}
.display .mark{background:linear-gradient(transparent 46%,var(--yellow) 46%,var(--yellow) 80%,transparent 80%)}
.bracket{background:var(--yellow);border-radius:6px;padding:0 .2em;white-space:nowrap}

/* ---------- layout ---------- */
.sheet{position:relative;background:var(--paper);border-radius:var(--sheet-r);margin:0 10px 10px;overflow:hidden}
.sheet:not(.coral):not(.sky){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M56 0H0V56' fill='none' stroke='%233D5A80' stroke-opacity='.1' stroke-width='2'/%3E%3C/svg%3E");background-size:56px 56px}
.sheet.coral{background:var(--coral)}
.sheet.sky{background:var(--sky)}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(72px,10vw,140px) 0}
.eyebrow{display:inline-block;font:700 15px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--navy);border-radius:999px;padding:9px 16px;background:var(--white)}

/* ---------- top strip + nav ---------- */
.strip{background:var(--yellow);color:var(--navy);overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--navy);margin-bottom:10px}
.strip-track{display:inline-flex;gap:0;animation:drift 70s linear infinite}
.strip span{font:700 15px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:9px 18px}
.strip span::after{content:"✓";margin-left:36px;font-weight:800}
@keyframes drift{to{transform:translateX(-50%)}}

.nav-holder{position:sticky;top:12px;height:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px calc(10px + var(--gutter)) 0}
.nav-logo{width:clamp(96px,9vw,124px);flex:none;transition:transform .5s var(--ease-out)}
.nav-logo:hover{transform:rotate(-3deg) scale(1.04)}
.nav-links{display:flex;gap:6px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;font:700 15px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--navy);background:var(--white);border:2px solid var(--navy);border-radius:999px;padding:13px 18px;transition:transform .15s,background .2s}
.pill:hover{background:var(--yellow)}
.pill:active{transform:scale(.94)}
.pill.dark{background:var(--navy);color:var(--paper);border-color:var(--paper);box-shadow:0 0 0 2px var(--navy)}
.pill.dark:hover{background:var(--coral);color:var(--navy)}
@media (max-width:820px){.nav-links .pill:not(.dark){display:none}.nav-holder{position:absolute;top:auto;left:0;right:0}.banners .sticker{display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 18px/1.1 var(--body);letter-spacing:.01em;text-decoration:none;color:var(--navy);background:var(--white);border:3px solid var(--navy);border-radius:999px;padding:18px 28px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,background .2s;cursor:pointer}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--navy)}
.btn:active{transform:translate(4px,4px) scaleY(.96);box-shadow:2px 2px 0 var(--navy)}
.btn.primary{background:var(--coral)}
.btn.dark{background:var(--navy);color:var(--paper)}
.btn.dark{box-shadow:6px 6px 0 var(--paper)}
.btn.dark:hover{box-shadow:8px 8px 0 var(--paper)}
.btn.yellow{background:var(--yellow)}
.btn .arr{font-size:1.1em;transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}
.btn-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.btn-row.center{justify-content:center}

/* ---------- stickers ---------- */
.sticker{position:absolute;z-index:3;pointer-events:none;animation:bob 6s ease-in-out infinite}
.sticker:nth-of-type(2n){animation-duration:7.5s;animation-delay:-2s}
.sticker:nth-of-type(3n){animation-duration:8.5s;animation-delay:-4s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -6px}}
.tilt-l{rotate:-6deg}.tilt-r{rotate:7deg}
.prompt-chip{width:min(360px,80vw);background:var(--white);border:3px solid var(--navy);border-radius:22px;box-shadow:var(--shadow);padding:14px 16px 14px 18px;font:500 15px/1.45 var(--mono);display:flex;gap:12px;align-items:flex-end;max-width:310px}
.send{flex:none;width:36px;height:36px;border-radius:50%;background:var(--coral);border:3px solid var(--navy);display:grid;place-items:center;font:800 18px/1 var(--body)}
.badge{display:grid;place-items:center;text-align:center;width:128px;height:128px;border-radius:50%;background:var(--yellow);border:3px solid var(--navy);box-shadow:var(--shadow);font:800 22px/.95 var(--display);font-stretch:75%;text-transform:uppercase}

/* ---------- hero ---------- */
.hero{min-height:min(100svh,940px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:170px var(--gutter) 80px}
.hero > *:not(.sticker){position:relative;z-index:2}
.hero-card{display:none;left:3%;top:30%}
.mini-card{width:262px;background:var(--white);border:3px solid var(--navy);border-radius:22px;box-shadow:var(--shadow);padding:16px 18px;display:grid;gap:12px;text-align:left}
.mini-card p{display:grid;justify-items:start;gap:6px;font:700 15px/1.3 var(--body);margin:0}
.mini-card .label{font-size:14px;padding:6px 11px 7px;margin:0}
@media (min-width:1240px){.hero-card{display:block}}
.hero h1{margin-bottom:34px}
.hero .display-xl{font-size:clamp(76px,min(13vw,17svh),220px)}
.hero .lede{margin:0 auto 34px;background:var(--paper);border-radius:20px;padding:6px 12px}
@media (max-width:700px){.hero{padding-top:140px}.hero .sticker{display:none}}

/* ---------- how it works rows ---------- */
.rows{display:grid;gap:clamp(56px,8vw,120px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.row:nth-child(2n) .art{order:2}
.art{aspect-ratio:1;border:3px solid var(--navy);border-radius:36px;overflow:hidden;box-shadow:10px 10px 0 var(--navy)}
.art svg{width:100%;height:100%}
.label{display:inline-block;font:800 20px/1 var(--display);border:3px solid var(--navy);border-radius:999px;padding:10px 18px 11px;margin-bottom:22px}
.label.do{background:var(--navy);color:var(--paper)}
.label.see{background:var(--yellow)}
.label.good{background:var(--coral)}
.row h3{margin-bottom:22px}
@media (max-width:820px){.row{grid-template-columns:1fr}.row:nth-child(2n) .art{order:0}}

/* ---------- banner strips ---------- */
.banners{padding:calc(3.5vw + 7px) 0 calc(3.5vw + 18px);overflow:hidden;position:relative}
.banner-tilt{rotate:-4deg;margin:0 -60px;display:grid;gap:8px}
.banner-row{overflow:visible}
.banner-track{display:flex;width:max-content;animation:drift 60s linear infinite}
.banner-row.go-right .banner-track{animation-name:drift-right}
.banner-track span{margin-right:14px}
@keyframes drift-right{from{transform:translateX(-50%)}to{transform:none}}
.banner-row span{font:800 clamp(56px,8vw,118px)/.9 var(--display);font-stretch:75%;text-transform:uppercase;padding:.08em .22em .02em;border-radius:22px;white-space:nowrap;color:var(--navy)}
.b-coral{background:var(--coral)}.b-yellow{background:var(--yellow)}.b-paper{background:var(--paper)}.b-sky{background:var(--sky)}.b-white{background:var(--white)}
.banners .sticker{z-index:4}

/* ---------- who it's for ---------- */
.who-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.who-lede{margin-top:28px;font-size:clamp(24px,2.3vw,32px)}
.who-title{font-size:clamp(44px,5vw,72px);margin-top:22px}
.nos{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.nos .no:nth-child(2){margin-left:clamp(0px,4vw,56px)}
.no{font:700 clamp(18px,1.6vw,22px)/1.25 var(--body);max-width:100%;background:var(--white);border:3px solid var(--navy);border-radius:999px;padding:12px 20px;box-shadow:4px 4px 0 var(--navy)}
.no:nth-child(1){rotate:-2deg}.no:nth-child(2){rotate:2deg;background:var(--yellow)}.no:nth-child(3){rotate:-1deg}
@media (max-width:820px){.who-grid{grid-template-columns:1fr}}

/* ---------- books ---------- */
.books{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(40px,5vw,64px)}
.book{position:relative;border:3px solid var(--navy);border-radius:36px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(150px,.8fr) 1fr;gap:clamp(24px,3vw,40px);align-items:center}
.book.coral{background:var(--coral)}.book.sky{background:var(--sky)}.book.lilac{background:var(--lilac)}
.books{row-gap:48px}
@media (min-width:1061px){.book:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 10px);justify-self:center}}
.cover{width:100%;max-width:300px;border:3px solid var(--navy);border-radius:10px;box-shadow:10px 10px 0 var(--navy);rotate:-4deg;transition:rotate .5s var(--ease-out),transform .5s var(--ease-out)}
.book:hover .cover{rotate:-1deg;transform:translateY(-6px)}
.book h3{margin-bottom:12px}
.book p{margin-bottom:16px}
.status{position:absolute;top:-22px;right:28px;rotate:6deg;font:800 20px/1 var(--display);background:var(--yellow);border:3px solid var(--navy);border-radius:999px;padding:12px 18px;box-shadow:4px 4px 0 var(--navy)}
.prices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.price{font:700 16px/1 var(--body);background:var(--paper);border:2px solid var(--navy);border-radius:999px;padding:9px 14px}
@media (max-width:1060px){.books{grid-template-columns:1fr}}
@media (max-width:520px){.book{grid-template-columns:1fr}.book .cover,.book .mock{max-width:220px}}

/* a drawn cover for books that don't have final art yet (brand.md §10 template) */
.mock{width:100%;max-width:300px;aspect-ratio:1600/2560;background:var(--sky);border:3px solid var(--navy);border-radius:10px;box-shadow:10px 10px 0 var(--navy);rotate:-4deg;display:flex;flex-direction:column;overflow:hidden;container-type:inline-size;transition:rotate .5s var(--ease-out),transform .5s var(--ease-out)}
.book:hover .mock{rotate:-1deg;transform:translateY(-6px)}
.mock-top{padding:9cqw 8cqw 0}
.mock-top img{width:46cqw}
.mock-word{font:800 25cqw/.9 var(--display);margin:6cqw 0 4cqw;letter-spacing:-.02em}
.mock-sub{font:800 7.4cqw/1.12 var(--display);margin:0}
.mock-un{font:700 5.6cqw/1.2 var(--body);margin-top:4cqw}
.mock-art{flex:1;display:grid;place-items:center;padding:4cqw}
.mock-art img{width:58cqw}
.mock-band{background:var(--paper);display:flex;justify-content:space-between;padding:4cqw 6cqw;font:800 6.4cqw/1 var(--display)}
.mock-band b{color:var(--coral)}

/* ---------- cheat sheet band ---------- */
.free-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:center}
.sheet-pic{position:relative;max-width:400px;margin:0 auto}
.sheet-pic img{border:3px solid var(--navy);border-radius:14px;box-shadow:12px 12px 0 var(--navy);rotate:4deg;background:var(--paper)}
.sheet-pic .badge{position:absolute;top:-34px;left:-26px;rotate:-10deg}
.free-band h2{margin-bottom:24px}
@media (max-width:820px){.free-band{grid-template-columns:1fr}.sheet-pic{max-width:340px}}

/* ---------- footer ---------- */
.footer{color:var(--paper);padding:clamp(60px,8vw,110px) 0 40px}
.footer .display{color:var(--paper);margin-bottom:48px}
.footer .display .y{color:var(--yellow)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-end;border-top:2px solid rgba(250,247,240,.25);padding-top:28px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px}
.foot-links a{font:700 15px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--paper);border:2px solid rgba(250,247,240,.5);border-radius:999px;padding:11px 16px}
.foot-links a:hover{background:var(--paper);color:var(--navy)}
.foot-social{display:flex;gap:8px}
.foot-social a{display:grid;place-items:center;width:46px;height:46px;color:var(--paper);border:2px solid rgba(250,247,240,.5);border-radius:50%;transition:background .2s,color .2s}
.foot-social a:hover{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.fine{font-size:17px;line-height:1.5;color:rgba(250,247,240,.75);max-width:720px;margin-top:28px}

/* ---------- show card (book page) ---------- */
.show{display:grid;gap:18px;max-width:900px;margin:0 auto}
.panel{min-width:0;background:var(--white);border:3px solid var(--navy);border-radius:28px;padding:clamp(22px,3vw,34px);box-shadow:8px 8px 0 var(--navy)}
.panel .label{margin-bottom:16px}
.typed{font:500 clamp(17px,1.6vw,20px)/1.55 var(--mono);background:var(--paper);border:2px dashed var(--slate);border-radius:16px;padding:18px 20px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.reply{background:var(--yellow);border:3px solid var(--navy);border-radius:28px 28px 28px 6px;padding:22px 24px;font-size:clamp(18px,1.6vw,21px)}
.reply p:last-child{margin:0}
.reply .cut{font-style:italic;color:var(--slate)}
.who-said{font:700 17px/1.3 var(--body);color:var(--slate);margin:0 0 10px}

/* ---------- forms ---------- */
.form{display:grid;gap:14px}
.field label{display:block;font:700 16px/1 var(--body);margin-bottom:8px}
.field input{width:100%;font:500 20px/1.2 var(--body);color:var(--navy);background:var(--white);border:3px solid var(--navy);border-radius:16px;padding:16px 18px}
.field input:focus{outline:4px solid var(--yellow);outline-offset:0}
.form .btn{width:100%;margin-top:6px}

/* ---------- /free ---------- */
.free-hero,.book-hero{text-align:left;align-items:stretch}
.free-hero .lede,.book-hero .lede{background:none;padding:0;margin:0 0 28px}
.free-hero{padding-top:130px}
.free-hero .display-m{font-size:clamp(48px,5vw,84px)}
.free-copy h1{margin-bottom:20px}
.free-hero .lede{font-size:clamp(19px,1.5vw,21px)}
.signup{background:var(--paper);border:3px solid var(--navy);border-radius:28px;padding:clamp(20px,3vw,30px);box-shadow:8px 8px 0 var(--navy);max-width:560px}
.under{font-size:17px;color:var(--slate);margin:4px 0 0}
.ticks{list-style:none;margin:clamp(36px,5vw,60px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}
.ticks li{display:flex;gap:16px;align-items:center;font:700 clamp(19px,1.6vw,22px)/1.3 var(--body);background:var(--white);border:3px solid var(--navy);border-radius:22px;padding:18px 20px;box-shadow:5px 5px 0 var(--navy)}
.ticks li::before{content:"✓";flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--yellow);border:3px solid var(--navy);font-weight:800}
.ticks li.more{background:var(--yellow)}
.ticks li.more::before{background:var(--white)}

/* ---------- book page ---------- */
.book-top{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:clamp(36px,6vw,96px);align-items:center;width:100%}
.cover-card{position:relative;max-width:400px;margin:0 auto}
.cover-card .sticker{position:absolute}
.book-hero h1{margin-bottom:22px}
.ku{font-size:17px;font-weight:700;margin:24px 0 0}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tile{border:3px solid var(--navy);border-radius:30px;padding:clamp(24px,3vw,36px);box-shadow:6px 6px 0 var(--navy);grid-column:span 2}
.tile:nth-child(1),.tile:nth-child(2){grid-column:span 3}
.tile h3{margin-bottom:14px}.tile p{margin:0;font-size:clamp(18px,1.5vw,21px)}
.t-yellow{background:var(--yellow)}.t-white{background:var(--white)}.t-sky{background:var(--sky)}.t-coral{background:var(--coral)}.t-lilac{background:var(--lilac)}
.banners .banner-row span{text-transform:uppercase}
@media (min-width:821px){.bento.six .tile{grid-column:span 3}}
@media (max-width:820px){.book-top{grid-template-columns:1fr}.cover-card{max-width:260px}.bento{grid-template-columns:1fr}.tile,.tile:nth-child(1),.tile:nth-child(2){grid-column:auto}}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,96px);align-items:center;padding-top:80px}
.about-pic{background:var(--coral);border:3px solid var(--navy);border-radius:36px;box-shadow:10px 10px 0 var(--navy);padding:clamp(18px,2.6vw,32px);position:relative;rotate:-3deg}
.about-pic video{display:block;width:100%;height:auto;background:var(--paper);border:3px solid var(--navy);border-radius:22px}
.about h1{margin-bottom:30px;white-space:nowrap;font-size:clamp(44px,21vw,150px)}
/* MOTION.md: small extras pop in with a bounce and a small turn, 0.4s */
.founder-tag{display:table;margin:clamp(14px,1.8vw,22px) auto 0;font:800 clamp(17px,1.6vw,21px)/1 var(--display);color:var(--navy);background:var(--yellow);border:3px solid var(--navy);border-radius:12px;box-shadow:5px 5px 0 var(--navy);padding:12px 16px;white-space:nowrap;rotate:4deg;opacity:0;scale:.6}
.about-pic.in .founder-tag{animation:tag-pop .4s var(--ease-out) .9s forwards}
@keyframes tag-pop{from{opacity:0;scale:.6;rotate:-6deg}to{opacity:1;scale:1;rotate:4deg}}
@media (prefers-reduced-motion:reduce){.founder-tag{opacity:1;scale:1}}
.no-js .founder-tag{opacity:1;scale:1}
@media (min-width:821px){.about h1{font-size:clamp(56px,10vw,150px)}}
.about .lede a{font-weight:700;text-decoration-thickness:3px;text-decoration-color:var(--coral);text-underline-offset:4px;overflow-wrap:anywhere}
@media (max-width:820px){.about-grid{grid-template-columns:1fr}.about-pic{max-width:340px;margin:0 auto}}

.logo-card{display:inline-block;background:var(--paper);border-radius:26px;padding:16px 20px 18px}
.logo-card img{display:block}

/* ---------- /start (social-link sales page for Book 1 + cheat sheet sign-up) ---------- */
.start-page{padding-top:10px}
.st-col{max-width:560px;margin:0 auto;padding:clamp(28px,5vw,56px) 20px clamp(40px,6vw,64px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.st-me{align-self:flex-start;display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);text-align:left}
.st-me img{width:64px;height:64px;object-fit:cover;object-position:50% 30%;border-radius:50%;border:3px solid var(--navy);box-shadow:3px 3px 0 var(--navy);background:var(--paper)}
.st-me b{display:block;font:800 20px/1.1 var(--display)}
.st-me small{display:block;font:700 15px/1.3 var(--body);color:var(--slate)}
.st-cover{max-width:clamp(170px,46vw,240px);margin:4px 0 2px}
.st-cover .cover{max-width:none}
.st-h1{font-size:clamp(54px,15vw,84px);margin:6px 0 0}
.st-h2{font-size:clamp(44px,11.5vw,64px);margin:4px 0 0}
.st-lede{font-size:clamp(19px,4.6vw,22px);line-height:1.45;margin:0}
.st-ticks{margin:6px 0 0;width:100%;grid-template-columns:1fr;text-align:left;gap:10px}
.st-ticks li{font-size:18px;padding:10px 14px;border-radius:16px;box-shadow:4px 4px 0 var(--navy)}
.st-ticks li::before{width:32px;height:32px}
.st-jump{width:100%}
.st-free{scroll-margin-top:10px}
html:has(.start-page){scroll-behavior:smooth}
.st-buy{display:grid;gap:16px;width:100%;margin-top:8px}
.st-buy .btn{width:100%}
.st-book .ku{margin:0}
.st-pic{max-width:300px;margin:10px 0 12px}
.st-free .signup{width:100%;text-align:left}
.st-more{display:flex;justify-content:center;gap:28px;padding:22px 20px 40px}
.st-more a{color:var(--paper);font-weight:700;text-underline-offset:4px}

/* ---------- entrances (MOTION.md: slide up 30–40px + fade, 0.4–0.6s, overshoot) ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .5s ease-out,transform .6s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* How it works: smaller art so each heading fits on one line */
.how-title{font-size:clamp(56px,7vw,116px);margin-bottom:clamp(48px,6vw,84px)}
.row{grid-template-columns:minmax(0,320px) 1fr}
.row:nth-child(2n){grid-template-columns:1fr minmax(0,320px)}
.row h3{font-size:clamp(40px,4.5vw,70px)}
.row .more{font-size:clamp(20px,1.6vw,23px);line-height:1.55;color:var(--slate);max-width:32em;margin-top:16px}
@media (max-width:820px){.row,.row:nth-child(2n){grid-template-columns:1fr}.row .art{max-width:320px}}

/* Who it's for picture */
.who-pic{justify-self:center;width:min(100%,380px);aspect-ratio:1;background:var(--sky);border:3px solid var(--navy);border-radius:36px;box-shadow:10px 10px 0 var(--navy);display:grid;place-items:end center;overflow:hidden}
.who-pic img{width:74%;height:auto;margin-bottom:-6%;animation:bob 6s ease-in-out infinite}
@media (max-width:820px){.who-pic{width:min(100%,320px)}}

/* Book cards: room for the tilted status tag when stacked */
@media (max-width:1060px){.books{row-gap:48px}}

/* Free starburst */
.badge.burst{width:184px;height:184px;background:none;border:0;box-shadow:none;border-radius:0;position:absolute;display:grid;place-items:center;align-content:center;color:var(--navy);animation:bob 4s ease-in-out infinite}
.badge.burst svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 24s linear infinite;z-index:-1}
.badge.burst b{font:800 56px/.85 var(--display);font-stretch:75%;letter-spacing:.01em}
.badge.burst small{font:800 16px/1 var(--body);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}
.sheet-pic .badge.burst{top:-70px;left:-56px;rotate:-12deg;z-index:2;isolation:isolate}
@keyframes spin{to{rotate:360deg}}
.foot-legal{font:700 17px/1.5 var(--display);font-stretch:100%;letter-spacing:.02em;color:var(--paper);margin-top:36px}
.foot-legal + .fine{margin-top:8px}
@media (max-width:820px){.sheet-pic .badge.burst{width:140px;height:140px;top:-44px;left:-2px}.badge.burst b{font-size:42px}.badge.burst small{font-size:13px}}
.who-title .mark{white-space:nowrap}
.footnote{margin-top:36px}

/* Sign-up form before the cheat-sheet picture, every screen size */
.free-band .free-copy{order:-1}
@media (min-width:821px){.free-band{grid-template-columns:1.1fr .9fr}}

/* Phones: wide, half-height "How it works" pictures */
.art-wide{display:none}
@media (max-width:820px){
  .row .art{max-width:none;aspect-ratio:2/1;border-radius:26px;box-shadow:7px 7px 0 var(--navy)}
  .art-sq{display:none}
  .art-wide{display:block}
}

/* Phones: wide, half-height "Who it's for" picture, matching the How it works ones */
.who-pic{position:relative}
.who-deco{display:none}
@media (max-width:820px){
  .who-pic{width:100%;aspect-ratio:2/1;border-radius:26px;box-shadow:7px 7px 0 var(--navy)}
  .who-pic img{width:44%;position:relative;z-index:1}
  .who-deco{display:block;position:absolute;inset:0;width:100%;height:100%}
}

/* Phones: clear space between the sign-up box and the "Free" starburst */
@media (max-width:820px){.free-band .sheet-pic{margin-top:48px}}

/* About page question form */
.about .ask{margin-top:28px;max-width:560px}
.field textarea{width:100%;font:500 20px/1.35 var(--body);color:var(--navy);background:var(--white);border:3px solid var(--navy);border-radius:16px;padding:16px 18px;resize:vertical}
.field textarea:focus{outline:4px solid var(--yellow);outline-offset:0}
.ask-done{margin-top:28px;font:700 20px/1.4 var(--body);color:var(--navy)}
