/* The landing page (Marginalia, chosen 25 Oct 2026). One stylesheet for the page’s own layout; colour, type and components come from
   ../shared/happy-endings.css, which the page links. Every rule here matched the page on 25 Oct 2026; what the old
   landing page carried for sections this page doesn’t have (the 3D fan, the Nightstand, the illustration column) is gone. */

/* 1. The shell: header, hero, the steps’ bones, safety, FAQ, the band and the footer, from the original landing page */
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;border-bottom:1px solid var(--line)}
.site-nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.btn-sm{min-height:44px;padding:0 18px;font-size:var(--fs-13)}
.hero{padding:120px 40px 72px;text-align:center}
.hero-kicker{margin:0 0 28px}
.hero-h{margin:0 auto;font-size:132px;line-height:.92;font-weight:300;max-width:1100px}
.hero-word{font-weight:800;color:var(--acc)}
.hero-note{margin:36px auto 32px;font-size:22px;line-height:1.4;max-width:560px}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.marq-line{font-size:26px;font-style:italic;font-weight:500}
.band-em{font-weight:800}
.band-row{padding:88px 40px}
.band-h{margin:0 0 12px;font-size:56px;line-height:1;font-weight:300}
.band-p{margin:0;font-size:18px}
.band-form{flex-basis:620px;display:flex;flex-direction:column;gap:16px}
.band-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.in-name{flex:0 1 200px}
.in-email{flex:1 1 300px}
.btn-band{background:var(--sub-ink);color:var(--sub-bg);border-color:var(--sub-ink)}
.consent{font-size:14px;line-height:1.5;display:flex;gap:12px}
.consent-box{width:20px;height:20px;accent-color:var(--sub-ink)}
.site-footer{padding:40px 40px 56px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.footer-brand{display:flex;align-items:center;gap:14px}
.wm-footer{font-size:24px}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-line{margin:0;width:100%;font-size:13px;font-weight:500}
@media(max-width:720px){
  .h1{font-size:60px}
  .h2{font-size:42px}
}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{flex:none}
.site-header .brand .wm{font-size:var(--fs-26);white-space:nowrap}
.site-header .brand .wm{font-size:var(--fs-26)}
.hero .caret{width:.056em;margin-left:.02em;margin-right:-.07em}
.marq-ico{width:.9em;height:.9em;fill:var(--acc);flex:none;vertical-align:-.1em;display:inline-block}
.hero .hero-note{max-width:620px}
.sec{padding:96px 40px}
.sec-h{margin:0 0 20px;font-size:64px;line-height:1;font-weight:300}
.sec-h em{font-weight:800;color:var(--acc)}
.sec-p{margin:0 0 28px;font-size:20px;line-height:1.45;max-width:560px}
.sheets-step{align-items:center;overflow-x:clip}
.safe{list-style:none;margin:0;padding:0;max-width:880px}
.safe li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;padding:20px 0;border-top:1px solid var(--line)}
.safe li:last-child{border-bottom:1px solid var(--line)}
.safe b{font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.25}
.safe span{font-size:17px;line-height:1.5}
.faq{max-width:880px}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-display);font-size:26px;font-weight:400;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--acc);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq p{margin:12px 0 0;font-size:17px;line-height:1.55;max-width:680px}
@media(max-width:760px){
  .site-header{height:72px}
  .site-header .brand .wm{font-size:21px}
  .site-nav{gap:12px}
  .site-nav a:not(.btn){display:none}
  .sec{padding:64px 20px}
  .sec-h{font-size:42px}
  .safe li{grid-template-columns:1fr;gap:6px}
  .faq summary{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .hero .caret{animation:none}
}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:88px;padding-bottom:88px;border-top:1px solid var(--line)}
.step:nth-of-type(even) .step-text{order:2}
.step-n{margin:0 0 14px;font-size:56px;line-height:1;font-weight:800;color:var(--acc)}
.step .sec-p{margin-bottom:0}
.step-vis{display:flex;justify-content:center}
.spices{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:16px}
.spice{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:26px 16px 20px;text-align:center;font-family:var(--font-display);font-size:22px}
.spice svg{display:block;width:56px;height:56px;margin:0 auto 12px;fill:var(--acc)}
.spice.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.step .sheets{min-height:calc(var(--pw)*1.45);position:relative;display:block;width:100%}
@media(max-width:760px){
  .step{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:56px}
  .step:nth-of-type(even) .step-text{order:0}
  .step-n{font-size:42px}
  .spices{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}
.step .caret{width:.056em;margin-left:.02em;margin-right:-.07em}
.caret.off{visibility:hidden;animation:none}
.close{padding:120px 20px 128px;text-align:center;border-top:1px solid var(--line);overflow:hidden}
.close-h{margin:0 0 clamp(36px,5vw,80px);font-size:clamp(64px,14.5vw,250px);line-height:.9;font-weight:300;letter-spacing:-.045em}
.close-h em{font-style:normal;font-weight:800;color:var(--acc)}
@media(max-width:760px){
  .close{padding:80px 20px 88px}
  .close-h{margin-bottom:32px}
}

/* 2. Marginalia: the spine, the margin notes, the sheets, the app’s UI in 03 and 04, the close */
:root{--mg-spine:64px;--mg-margin:230px;--mg-gap:44px;--mg-side:clamp(28px,6vw,96px)}
html, body{overflow-x:clip}
body{padding-left:var(--mg-spine)}
.marq{position:fixed;left:0;top:0;bottom:0;width:var(--mg-spine);margin:0;padding:0;border:0;border-right:1px solid color-mix(in srgb,var(--acc-ink) 25%,transparent);background:var(--acc);color:var(--acc-ink);white-space:nowrap;overflow:hidden;z-index:8}
.marq>div{display:block;writing-mode:vertical-rl;height:max-content;line-height:var(--mg-spine);animation:mg-spine 70s linear infinite}
.marq .marq-line{font-family:var(--font-ui);font-size:13px;font-style:normal;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.marq span{padding:30px 0}
.marq .marq-ico{width:22px;height:22px;fill:var(--acc-ink);vertical-align:0;margin:0}
.marq:hover>div{animation-play-state:paused}
@keyframes mg-spine{to{transform:translateY(-50%)}}
.site-header{height:88px}
.hero{display:grid;grid-template-columns:var(--mg-margin) minmax(0,1fr);column-gap:var(--mg-gap);row-gap:32px;align-items:end;max-width:none;margin:0;padding:clamp(64px,9vh,128px) var(--mg-side) 88px;text-align:left}
.hero .hero-kicker{grid-column:1;grid-row:1;align-self:start;margin:0;padding-top:14px}
.hero .hero-h{grid-column:2;grid-row:1/3;margin:0;max-width:none;font-size:clamp(50px,10.5vw,180px);line-height:.9;letter-spacing:-.045em;font-weight:300}
.hero .hero-word{font-style:italic;font-weight:800}
.hero .hero-note{grid-column:1;grid-row:2;margin:0;max-width:none;padding-left:18px;border-left:2px solid var(--acc);font-family:var(--font-display);font-variation-settings:'opsz' 48;font-style:italic;font-size:19px;line-height:1.45}
.hero .btn-row{grid-column:2;grid-row:3;justify-content:flex-start;margin:8px 0 0}
#how{display:block;max-width:none;margin:0;padding:0}
#how .step{display:grid;grid-template-columns:var(--mg-margin) minmax(0,1fr);column-gap:var(--mg-gap);row-gap:32px;align-items:start;max-width:none;margin:0;padding:88px var(--mg-side) 96px;border:0;border-top:1px solid var(--line)}
#how .step-text{display:contents}
#how .step-n{grid-column:1;grid-row:1;margin:0;padding-top:10px;font-size:clamp(64px,7vw,104px);line-height:.8;font-weight:300;letter-spacing:-.06em;color:var(--acc)}
#how .sec-h{grid-column:2;grid-row:1;margin:0;max-width:860px;font-size:clamp(42px,5.4vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:300}
#how .sec-h em{font-style:italic;font-weight:800;color:var(--acc)}
#how .sec-p{grid-column:1;grid-row:2;margin:0;max-width:none;padding-left:18px;border-left:2px solid var(--acc);font-family:var(--font-display);font-variation-settings:'opsz' 48;font-style:italic;font-size:19px;line-height:1.45}
#how .step-vis{grid-column:2;grid-row:2;display:block;max-width:none;margin:0}
#how .step .caret{background:var(--acc)}
#how .spices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:820px}
#how .spices .spice-wrap{display:block;filter:drop-shadow(0 10px 14px rgba(0,0,0,.13))}
#how .spices .spice-wrap .spice{display:block;width:100%}
#how .spice{position:relative;overflow:hidden;padding:32px 12px 26px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font-size:24px;box-shadow:none}
#how .spice::before,#how .spice::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
#how .spice::before{left:-12px}
#how .spice::after{right:-12px}
#how a.spice{text-decoration:none;cursor:pointer;transition:transform .15s;animation:mg-nudge 4s ease-in-out infinite}
#how .spice-wrap:nth-child(2) a.spice{animation-delay:.36s}
#how .spice-wrap:nth-child(3) a.spice{animation-delay:.72s}
#how .spice-wrap:nth-child(4) a.spice{animation-delay:1.08s}
#how a.spice:hover{transform:translateY(-3px);background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
#how a.spice:hover::before,#how a.spice:hover::after{border-color:var(--acc)}
#how a.spice:hover svg{fill:var(--acc-ink)}
#how a.spice.on:hover{color:var(--acc-ink)}
#how .spice svg{width:54px;height:54px;fill:var(--acc)}
#how .spice.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);box-shadow:none}
#how .spice.on::before,#how .spice.on::after{border-color:var(--acc)}
#how .spice.on svg{fill:var(--acc-ink)}
#how .sheets{position:relative;min-height:0;width:100%;max-width:640px}
#how .sheet-pile{position:relative;inset:auto;display:grid;width:auto;height:auto;margin:0 100px 56px 0;perspective:none}
#how .sheet{--i:0;position:relative;inset:auto;grid-area:1/1;display:flex;flex-direction:column;gap:10px;min-height:330px;padding:30px 34px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-lift);translate:calc(var(--i)*16px) calc(var(--i)*16px);z-index:calc(4 - var(--i));backface-visibility:visible;transition:translate .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;cursor:pointer}
#how .sheet:nth-child(2){--i:1}
#how .sheet:nth-child(3){--i:2}
#how .sheet:nth-child(4){--i:3}
#how .sheet.is-front{z-index:10;translate:-6px -6px;box-shadow:0 18px 44px rgba(0,0,0,.22)}
#how .sheet:focus-visible{outline:3px solid var(--acc);outline-offset:4px}
#how .sheet .tag{position:absolute;right:0;top:calc(22px + var(--i)*62px);translate:100% 0;padding:14px 9px 16px;background:var(--acc);color:var(--acc-ink);border-radius:0 4px 4px 0;writing-mode:vertical-rl;font-size:12px;letter-spacing:.16em;line-height:1}
#how .sheet .sticker{display:grid;place-items:center;width:72px;height:72px;margin:0 0 8px;border-radius:50%;background:color-mix(in srgb,var(--line) 22%,var(--card));box-shadow:inset 0 0 0 1px var(--line),0 0 0 4px var(--card),0 0 0 5px var(--line);color:var(--acc)}
#how .sheet .sticker svg{width:34px;height:34px;fill:currentColor}
#how .sheet .byline{font-size:14px;font-weight:600;opacity:1}
#how .sheet p{font-family:var(--font-display);font-variation-settings:'opsz' 72;font-size:21px;line-height:1.45;opacity:1}
#how .sheet .next{margin-top:auto;padding-top:12px;font-size:15px;font-weight:700;color:var(--acc);text-decoration:none;opacity:1}
#how .sheet .next:hover{text-decoration:none;color:var(--acc)}
#how .sheet .next{animation:mg-arrow 4s ease-in-out infinite .6s}
#how .sheet.s1 p, #how .sheet.s2 p{opacity:1}
#how .submissions{width:100%;max-width:700px}
#how .submissions .reread{display:grid;gap:10px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#how .submissions .reread .tag{display:block}
#how .submissions .voice{margin:0;font-family:var(--font-display);font-variation-settings:'opsz' 72;font-size:21px;line-height:1.5;font-weight:300}
#how .submissions .sub-dance{display:flex;flex-wrap:wrap;gap:28px;margin:22px 0 24px}
#how .submissions .sub-dc{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px;color:var(--ink);text-decoration:none;opacity:.55;transition:opacity .15s}
#how .submissions .sub-dc.on, #how .submissions .sub-dc:hover{opacity:1}
#how .submissions .sub-dc .ring{display:inline-flex;border-radius:50%}
#how .submissions .sub-dc.on .ring{box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--acc)}
#how .submissions .face{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--line) 22%,var(--card));box-shadow:inset 0 0 0 1px var(--line);font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--ink)}
#how .submissions .sub-dc b{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1}
#how .submissions .sub-dc.on b{color:var(--acc)}
#how .submissions .sub-dc .when{font-size:11px;opacity:.7}
#how .submissions .ghost .face{background:transparent;box-shadow:none;border:1.5px dashed var(--acc);color:var(--acc)}
#how .submissions .ghost{opacity:.8}
#how .submissions .ghost b{color:var(--acc)}
#how .submissions .ghost .ring{animation:mg-pulse 1.8s ease-out infinite}
#how .submissions .ghost:nth-child(3) .ring{animation-delay:.9s}
#how .submissions .submission{display:grid;gap:12px;padding:26px 30px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lift)}
#how .submissions .submission .tag{display:block}
#how .epilogue{display:flex;flex-direction:column;gap:26px;width:100%;max-width:760px}
#how .epilogue .tag{display:block;margin-bottom:10px}
#how .epilogue .tag i{font-style:normal;color:var(--ink);opacity:.6;font-weight:600;letter-spacing:.06em;text-transform:none;margin-left:8px}
#how .epilogue .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#how .epilogue .tile{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink);text-align:left;text-decoration:none;transition:transform .15s,border-color .15s}
#how .epilogue .tile .f{font-size:22px;font-weight:800;line-height:1.1}
#how .epilogue .tile p{margin:0;font-size:13px;line-height:1.4;opacity:.85}
#how .epilogue .tile.on{border-color:var(--acc);outline:3px solid var(--acc);outline-offset:-1px;background:color-mix(in srgb,var(--acc) 3%,var(--card))}
#how .epilogue .theirs .tile{opacity:.75}
#how .epilogue .theirs .tile.on{opacity:1}
#how .epilogue a.tile:hover{transform:translateY(-2px);border-color:var(--acc);color:var(--ink)}
#how .epilogue a.tile{animation:mg-nudge 4s ease-in-out infinite}
#how .epilogue a.tile:nth-child(2){animation-delay:.36s}
#how .epilogue a.tile:nth-child(3){animation-delay:.72s}
#how .epilogue .tag i::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--acc);vertical-align:.05em;animation:mg-pulse 1.8s ease-out infinite}
@keyframes mg-nudge{0%,9%,100%{translate:0 0}4.5%{translate:0 -6px}}
@keyframes mg-arrow{0%,9%,100%{translate:0 0}4.5%{translate:6px 0}}
@keyframes mg-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acc) 45%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
#safety{display:grid;grid-template-columns:var(--mg-margin) minmax(0,1fr);column-gap:var(--mg-gap);row-gap:28px;align-items:end;max-width:none;margin:0;padding:96px var(--mg-side);border-top:1px solid var(--line)}
#safety .sec-h{grid-column:2;grid-row:1;margin:0;font-size:clamp(42px,5.4vw,84px);line-height:.98;font-weight:300}
#safety .sec-h em{font-style:italic;font-weight:800;color:var(--acc)}
#safety .sec-p{grid-column:1;grid-row:1;margin:0;max-width:none;padding-left:18px;border-left:2px solid var(--acc);font-family:var(--font-display);font-variation-settings:'opsz' 48;font-style:italic;font-size:19px;line-height:1.45}
#safety .safe{grid-column:2;grid-row:2;max-width:800px;counter-reset:fn}
#safety .safe li{display:block;position:relative;padding:20px 0 20px 48px;border-top:1px solid var(--line);counter-increment:fn}
#safety .safe li:last-child{border-bottom:1px solid var(--line)}
#safety .safe li::before{content:counter(fn);position:absolute;left:0;top:18px;font-family:var(--font-display);font-size:19px;font-weight:800;color:var(--acc)}
#safety .safe b{display:inline;margin-right:10px;font-size:24px;font-weight:500;line-height:1.3}
#safety .safe span{font-size:18px;line-height:1.55}
#faq{display:grid;grid-template-columns:var(--mg-margin) minmax(0,1fr);column-gap:var(--mg-gap);row-gap:32px;max-width:none;margin:0;padding:96px var(--mg-side) 112px;border-top:1px solid var(--line)}
#faq{align-items:end}
#faq .sec-h{grid-column:2;grid-row:1;margin:0;font-size:clamp(42px,5.4vw,84px);line-height:.98;font-weight:300}
#faq .sec-h em{font-style:italic;font-weight:800;color:var(--acc)}
#faq .sec-p{grid-column:1;grid-row:1;margin:0;max-width:none;padding-left:18px;border-left:2px solid var(--acc);font-family:var(--font-display);font-variation-settings:'opsz' 48;font-style:italic;font-size:19px;line-height:1.45}
#faq .faq{grid-column:1/3;grid-row:2;max-width:none}
#faq details{display:grid;grid-template-columns:var(--mg-margin) minmax(0,1fr);column-gap:var(--mg-gap);padding:22px 0;border-top:1px solid var(--line)}
#faq details:last-child{border-bottom:1px solid var(--line)}
#faq summary{grid-column:1;display:block;font-size:22px;line-height:1.3;font-style:italic}
#faq summary::after{margin-left:10px}
#faq .faq p{grid-column:2;margin:0;max-width:760px;font-size:19px;line-height:1.55}
#ending.close{max-width:none;margin:0;padding:140px var(--mg-side) 150px;border-top:1px solid var(--line)}
#ending .tag{display:block;margin-bottom:26px}
#ending .close-h{max-width:1040px;margin:0 auto 28px;font-size:clamp(44px,7.4vw,128px);line-height:.95;font-style:italic;font-weight:300;letter-spacing:-.045em}
#ending .close-h em{font-style:italic;font-weight:800;color:var(--acc)}
#ending .tag{margin-bottom:30px}
#ending .close-p{max-width:920px;margin:0 auto 40px;font-size:20px;line-height:1.6}
#ending .btn-row{justify-content:center}
::selection{background:color-mix(in srgb,var(--acc) 99%,transparent);color:var(--acc-ink)}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
body>.sub{background:var(--inv-bg);color:var(--inv-ink)}
body>.sub .row{max-width:none;padding:72px var(--mg-side);gap:44px}
body>.sub .band-h em{font-style:italic;color:var(--acc)}
body>.sub .in{border-color:var(--inv-ink);background:transparent;color:var(--inv-ink)}
body>.sub .in::placeholder{color:var(--inv-ink)}
body>.sub .in:focus{box-shadow:0 0 0 3px var(--acc)}
body>.sub .btn-band{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
body>.sub .consent{align-items:center;font-family:var(--font-ui);font-weight:500;font-size:14px;line-height:1.6;color:var(--inv-ink)}
body>.sub .consent-box{--tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.2 12.6c1.9.4 3.6 2.1 5.4 5.3C11.4 10.4 16.3 5 21.8 2.3c.4-.2.7.3.4.6-4.6 3.9-8.7 9.6-12.5 17.9-.4.9-1.6 1-2.1.2-1.4-2.3-3-4.7-5.6-7.6-.3-.4 0-.9.2-.8z'/%3E%3C/svg%3E");flex:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1.5px solid var(--inv-ink);border-radius:4px;background:transparent;display:inline-grid;place-content:center;cursor:pointer}
body>.sub .consent-box::before{content:"";width:14px;height:14px;background:var(--acc-ink);transform:scale(0);transition:transform .12s;-webkit-mask:var(--tick) center/contain no-repeat;mask:var(--tick) center/contain no-repeat}
body>.sub .consent-box:checked{background:var(--acc);border-color:var(--acc)}
body>.sub .consent-box:checked::before{transform:scale(1)}
body>footer{flex-direction:column;align-items:center;justify-content:center;gap:22px;max-width:none;margin:0;padding:56px var(--mg-side) 72px;text-align:center;border-top:1px solid var(--line)}
body>footer .footer-nav{justify-content:center;align-items:center}
body>footer .soc{display:inline-flex;gap:10px;margin-left:8px}
body>footer .soc a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);text-decoration:none}
body>footer .soc a:hover{border-color:var(--acc);background:var(--acc);color:var(--acc-ink)}
body>footer .soc svg{display:block}
body>footer .footer-line{width:auto;max-width:620px;font-size:14px;line-height:1.6}
@media(max-width:1000px) and (min-width:761px){
  :root{--mg-margin:180px;--mg-gap:32px}
  #how .spices{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body{padding-left:0}
  .marq{position:relative;inset:auto;width:auto;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--acc-ink) 25%,transparent)}
  .marq>div{display:inline-block;writing-mode:horizontal-tb;height:auto;line-height:52px;animation:m 32s linear infinite}
  .marq .marq-line{font-size:12px}
  .marq span{padding:0 20px}
  .marq .marq-ico{vertical-align:-.1em}
  .hero, #how .step, #safety, #faq, #faq details{grid-template-columns:1fr;column-gap:0;row-gap:22px}
  .hero{padding:56px 20px 64px}
  .hero .hero-kicker{grid-row:1;padding:0}
  .hero .hero-h{grid-column:1;grid-row:2;font-size:clamp(46px,14vw,72px)}
  .hero .hero-note{grid-column:1;grid-row:3;font-size:18px}
  .hero .btn-row{grid-column:1;grid-row:4}
  .hero .btn-row .btn{width:100%}
  #how .step{padding:56px 20px 64px}
  #how .step-n{grid-row:1;padding:0;font-size:64px}
  #how .sec-h{grid-column:1;grid-row:2;font-size:clamp(38px,11vw,48px)}
  #how .sec-p{grid-column:1;grid-row:3;font-size:18px}
  #how .step-vis{grid-column:1;grid-row:4;margin-top:8px}
  #how .spices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #how .sheet-pile{margin:0 56px 48px 0}
  #how .sheet{min-height:0;padding:24px 22px}
  #how .sheet .tag{top:calc(16px + var(--i)*56px);padding:12px 8px 14px;font-size:11px}
  #how .sheet p{font-size:19px}
  #how .submissions .sub-dance{gap:18px}
  #how .submissions .submission{padding:22px 20px}
  #how .epilogue .tiles{grid-template-columns:1fr}
  #safety, #faq{padding:64px 20px 72px}
  #safety .sec-h, #faq .sec-h{grid-column:1;grid-row:1;font-size:clamp(38px,11vw,48px)}
  #safety .sec-p{grid-column:1;grid-row:2;font-size:18px}
  #safety .safe{grid-column:1;grid-row:3}
  #safety .safe b{display:block;margin:0 0 6px;font-size:22px}
  #safety .safe span{font-size:17px}
  #faq .sec-p{grid-column:1;grid-row:2;font-size:18px}
  #faq .faq{grid-column:1;grid-row:3}
  #faq summary{grid-column:1;font-size:21px}
  #faq .faq p{grid-column:1;margin-top:12px;font-size:17px}
  #ending.close{padding:88px 20px 96px}
  #ending .close-h{font-size:clamp(40px,11.5vw,56px)}
  #ending .close-h .desktop-break{display:none}
  #ending .close-p{font-size:18px}
  #ending .close-p br{display:none}
  #ending .btn-row .btn{width:100%}
  body>.sub .row{padding:48px 20px}
  body>footer{padding:40px 20px 56px}
}
@media(prefers-reduced-motion:reduce){
  .marq>div{animation:none}
  #how .sheet{transition:none}
  #how a.spice, #how .sheet .next, #how .submissions .ghost .ring, #how .epilogue a.tile, #how .epilogue .tag i::before{animation:none}
}
