/* store.css: Thudball. Every drop is a trading-card set; each shirt is a card in it.
   Fonts are served from this site. */
@font-face{font-family:"Bricolage";font-weight:800;font-style:normal;font-display:swap;src:url("fonts/bricolage-800.woff2") format("woff2")}
@font-face{font-family:"Bricolage";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/bricolage-600.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/figtree-400.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/figtree-600.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/figtree-700.woff2") format("woff2")}
@font-face{font-family:"Anton";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/anton-400.woff2") format("woff2")}

:root{
  --mat:#1F23C9;          /* the playmat: page ground */
  --mat-deep:#161AA0;     /* sunk areas of the mat */
  --mat-line:#3B40DD;     /* seams on the mat */
  --soft:#CDD1FF;         /* secondary text on the mat, 7:1 */
  --yolk:#FFD21F;         /* card border, the one action colour on the mat */
  --yolk-deep:#F2BF00;
  --ink:#0B0B0B;
  --paper:#F4F6FF;        /* card faces, drawer */
  --paper-line:#D5D9EE;
  --mute:#4A4F6A;         /* secondary text on paper, 7.5:1 */
  --hot:#FF3B2F;          /* ending soon */
  --display:"Bricolage","Arial Narrow",sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--yolk) var(--mat-deep)}
body{margin:0;background:var(--mat);color:#fff;font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:22px 22px}
::selection{background:var(--yolk);color:var(--ink)}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;line-height:.95;letter-spacing:-.02em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:inherit;text-underline-offset:.2em}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--yolk);outline-offset:3px;border-radius:6px}
[hidden]{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.narrow{max-width:860px}
.skip{position:absolute;left:12px;top:-60px;z-index:60;background:var(--yolk);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:0;border-radius:14px;
  background:var(--ink);color:var(--yolk);font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.01em;cursor:pointer;
  transition:transform .15s var(--ease),background .15s}
.btn:hover{background:#25262e}
.btn:active{transform:scale(.97)}
.btn:disabled{background:#9DA0B5;color:#E9EAF2;cursor:not-allowed}

/* top bar */
.top{position:sticky;top:0;z-index:30;background:rgba(31,35,201,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--mat-line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:800;font-size:25px;letter-spacing:-.02em}
.logo-mark{width:28px;height:35px}
.top nav{display:flex;align-items:center;gap:26px}
.nav-link{text-decoration:none;font-weight:600;color:var(--soft)}
.nav-link:hover{color:#fff}
.cart-btn{text-decoration:none;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 8px 0 14px;border:0;border-radius:12px;background:var(--yolk);color:var(--ink);font-weight:700;cursor:pointer;transition:transform .15s var(--ease)}
.cart-btn svg{width:20px;height:20px}
.cart-btn:hover{background:#ffe066}
.cart-btn.bump{animation:bump .5s var(--ease)}
@keyframes bump{30%{transform:scale(1.12) rotate(-3deg)}}
.count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:9px;background:var(--ink);color:var(--yolk);font-size:14px;font-variant-numeric:tabular-nums}

/* ---------- the stage: drop info + the card in play ---------- */
.stage{padding:clamp(24px,4vh,48px) 0 56px;overflow:hidden}
.stage-in{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:48px;align-items:center}
.drop h1{display:flex;flex-direction:column;gap:6px}
.drop-no{font-size:clamp(3.4rem,5.4vw,5rem);color:var(--yolk);text-transform:uppercase;line-height:.88}
.drop-name{font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:1}
.pitch{margin-top:24px;max-width:34ch;font-size:20px;color:var(--soft)}
.ship-line{margin-top:22px;color:var(--soft);font-size:15px}

/* ---------- the shirt being chosen: a big, still card with the photo on the left and the choices on the right ---------- */
.panel-wrap{position:relative;width:100%;outline:none;scroll-margin-top:84px}
.panel{position:relative;border-radius:28px;background:var(--yolk);padding:16px;color:var(--ink);box-shadow:0 28px 60px -16px rgba(0,0,0,.5)}
.panel-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:16px;background:var(--paper);border:3px solid var(--ink);overflow:hidden}
.panel-art{position:relative;overflow:hidden;background:radial-gradient(120% 95% at 50% 32%,#B8926F 0%,#8E6A51 52%,#5F4434 100%);border-right:3px solid var(--ink);min-height:100%}
.panel-art .shirt-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(30,15,5,.45));cursor:zoom-in}
.panel-art>svg{position:absolute;inset:0;margin:auto;width:78%;height:auto}
.panel-art.swap .shirt-img,.panel-art.swap svg{animation:swap .14s ease-out}
.panel-art::before{content:"";display:block;padding-top:100%}
@keyframes swap{from{opacity:.55}}
.panel-side{display:flex;flex-direction:column;gap:2px;padding:22px 24px 16px;min-width:0}
.panel-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.panel-name{font-size:clamp(28px,2.7vw,38px);line-height:1.02}
.panel-price{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.3vw,32px);white-space:nowrap;font-variant-numeric:tabular-nums}
.panel-blurb{margin:8px 0 6px;font-size:15px;line-height:1.45;color:var(--mute)}
.step{padding:12px 0 2px;border-top:1px solid var(--paper-line)}
.step:first-of-type{margin-top:6px}
.step-head{display:flex;align-items:center;gap:10px;min-height:28px;margin-bottom:9px;font-weight:700;font-size:15px}
.step-no{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;background:var(--ink);color:var(--yolk);font-family:var(--display);font-size:15px;line-height:1}
.step-label b{font-weight:700;color:var(--mute)}
.step .guide{margin-left:auto;font-size:14px;font-weight:600;color:var(--mute)}
.swatches,.chips{display:flex;flex-wrap:wrap;gap:7px}
.sw,.chip{position:relative;cursor:pointer}
.sw input,.chip input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{display:block;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.3)}
.sw input:checked+span{box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.3),0 0 0 3px var(--paper),0 0 0 5.5px var(--ink)}
.chip span{display:grid;place-items:center;min-width:46px;height:44px;padding:0 8px;border:2px solid var(--ink);border-radius:10px;font-weight:700;font-size:15px;background:#fff;transition:background .12s,color .12s}
.chips.two{display:grid;grid-template-columns:1fr 1fr}
.chips.two .chip span{width:100%}
.chip:hover span{background:#FFF3BF}
.chip input:checked+span{background:var(--ink);color:var(--yolk)}
.sw input:focus-visible+span,.chip input:focus-visible+span{outline:3px solid var(--mat);outline-offset:3px}
.buy-zone{min-height:128px}
.buy-row{display:flex;gap:10px;align-items:stretch;margin-top:14px;padding-top:14px;border-top:1px solid var(--paper-line)}
.buy-row .btn{flex:1;min-height:58px;font-size:20px}
.qty{display:flex;align-items:center;flex:none;border:2px solid var(--ink);border-radius:14px;background:#fff}
.qty button{width:42px;height:100%;border:0;background:none;font-size:22px;font-weight:700;cursor:pointer;border-radius:12px}
.qty button:hover{background:#FFF3BF}
.qty output{min-width:24px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.buy-msg{margin-top:8px;font-size:14px;font-weight:700;color:#B3261E}
.buy-msg:empty{display:none}
.panel-foot{display:flex;justify-content:space-between;margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}

/* after adding: say so, and offer the two next steps */
.added{margin-top:14px;padding:12px 14px;border-radius:14px;background:#E3F7E7;border:2px solid #1E7A34;animation:rise .4s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}
.added-msg{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.35;color:#0F4D1F}
.added-msg svg{flex:none;width:24px;height:24px;margin-top:1px;padding:3px;border-radius:50%;background:#1E7A34;color:#fff}
.added-msg b{display:block;font-size:16px}
.added-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.added-btns .btn{min-height:52px;font-size:15px;padding:0 8px;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2.5px var(--ink)}
.btn.ghost:hover{background:#fff}
.drawer .btn.ghost{margin-top:10px}
.btn.wide{width:100%}
.see-all{display:inline-block;margin-top:26px;font-weight:700;color:var(--yolk)}
.promises{display:grid;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.promises li{display:flex;align-items:center;gap:12px;color:#fff;font-weight:600;font-size:17px}
.promises li[hidden]{display:none}
.promises svg{flex:none;width:26px;height:26px;padding:5px;border-radius:50%;background:var(--yolk);color:var(--ink)}

/* ---------- all shirts ---------- */
.shop{padding:80px 0 96px;background:var(--mat-deep);border-top:1px solid var(--mat-line);border-bottom:1px solid var(--mat-line);scroll-margin-top:68px}
.shop-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 40px;margin-bottom:36px}
.shop-head p{max-width:46ch;color:var(--soft)}
.shop-head b{color:#fff}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0;list-style:none}
.tile{display:flex;flex-direction:column;height:100%;border-radius:20px;background:var(--yolk);padding:10px;color:var(--ink);box-shadow:0 18px 36px -16px rgba(0,0,0,.45)}
.tile-art{border:3px solid var(--ink);border-radius:12px 12px 6px 6px;background:radial-gradient(120% 95% at 50% 32%,#B8926F 0%,#8E6A51 52%,#5F4434 100%);overflow:hidden}
.tile-art .shirt-img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;transition:transform .35s var(--ease)}
.tile-art svg{display:block;width:76%;height:auto;margin:0 auto}
.tile:hover .shirt-img{transform:scale(1.04)}
.tile-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 6px 10px}
.tile-row h3{font-size:20px;line-height:1.1}
.tile-row span{font-family:var(--display);font-weight:800;font-size:20px}
.tile-sub{padding:0 6px 10px;margin-top:-6px;font-size:14px;font-weight:600;color:var(--mute)}
.tile-sub:empty{display:none}
.tile-btn{margin-top:auto;width:100%;min-height:50px;font-size:18px}
.grid li.on .tile{box-shadow:0 0 0 4px var(--ink),0 0 0 8px #fff,0 18px 36px -16px rgba(0,0,0,.45)}

.shop h2,.how h2,.size-guide h2,.help h2{font-size:clamp(2.6rem,5vw,4rem)}

/* ---------- how it works: a real sequence ---------- */
.how{padding:96px 0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:28px 26px 28px;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 18px 36px -16px rgba(0,0,0,.45)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:12px;background:var(--yolk);border:3px solid var(--ink);
  font-family:var(--display);font-weight:800;font-size:28px}
.steps h3{font-size:26px;margin-bottom:8px}
.steps p{color:var(--mute)}

/* ---------- sizes ---------- */
.size-guide{padding:24px 0 96px}
.guide-h{margin:36px 0 12px;font-family:var(--body);font-weight:700;font-size:20px;line-height:1.3;letter-spacing:0}
.lead{margin:16px 0 28px;color:var(--soft);max-width:62ch}
.table-scroll{overflow-x:auto;border-radius:16px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:0 0 0 6px var(--yolk)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--paper-line);white-space:nowrap}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
thead th{font-size:13px;color:var(--mute);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
tbody th{font-family:var(--display);font-weight:800;font-size:18px}

/* ---------- questions ---------- */
.help{padding:88px 0 104px;background:var(--mat-deep);border-top:1px solid var(--mat-line)}
details{border-bottom:1px solid var(--mat-line)}
details:first-of-type{margin-top:28px;border-top:1px solid var(--mat-line)}
summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:700;font-size:19px;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:14px;height:14px;border-right:3px solid var(--yolk);border-bottom:3px solid var(--yolk);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s var(--ease)}
details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
details p{padding:0 0 22px;color:var(--soft);max-width:64ch}
details a{color:var(--yolk)}

/* ---------- footer ---------- */
.foot{padding:40px 0 56px;color:var(--soft);font-size:15px}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 32px}
.foot-mark{font-family:var(--display);font-weight:800;font-size:28px;color:#fff;letter-spacing:-.02em}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot a:hover{color:#fff}

/* ---------- cart drawer ---------- */
dialog{padding:0;border:0;color:var(--ink);background:var(--paper)}
dialog::backdrop{background:rgba(6,8,60,.6);backdrop-filter:blur(3px)}
.x{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;cursor:pointer}
.x svg{width:22px;height:22px}
.x:hover{background:var(--paper-line)}
.drawer{margin:0 0 0 auto;width:min(460px,100vw);height:100dvh;max-height:100dvh;max-width:100vw}
.drawer[open]{animation:slide .35s var(--ease)}
@keyframes slide{from{transform:translateX(48px);opacity:0}}
.drawer :focus-visible{outline-color:var(--mat)}
.drawer-in{display:flex;flex-direction:column;min-height:100%;padding:22px 24px 32px}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.drawer-head h2{font-size:36px}
.lines{margin:0;padding:0;list-style:none}
.line{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--paper-line)}
.line-art{display:block;overflow:hidden;border-radius:10px;background:radial-gradient(120% 95% at 50% 32%,#B8926F 0%,#8E6A51 52%,#5F4434 100%);border:2px solid var(--ink)}
.line-art .shirt-img,.line-art svg{display:block;width:100%;height:auto}
.line-txt{display:flex;flex-direction:column;gap:2px}
.line-txt b{font-family:var(--display);font-size:18px;line-height:1.1}
.line-txt>span{color:var(--mute);font-size:14px}
.line-qty{display:inline-flex;align-items:center;gap:4px;margin-top:8px;color:var(--ink) !important}
.line-qty button{width:34px;height:34px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-size:17px;line-height:1;cursor:pointer}
.line-qty button:hover:not(:disabled){background:#FFF3BF}
.line-qty button:disabled{opacity:.35;cursor:default}
.line-qty output{min-width:26px;text-align:center;font-weight:700}
.line-end{display:flex;flex-direction:column;align-items:end;gap:6px;font-weight:700;font-variant-numeric:tabular-nums}
.rm{padding:4px 0;border:0;background:none;color:var(--mute);font-size:13px;text-decoration:underline;cursor:pointer}
.empty{padding:24px 0;color:var(--mute)}
.totals{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.totals p{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.totals .hint{color:var(--mat);font-weight:700;font-size:14px}
.totals .sum{margin:8px 0 18px;padding-top:12px;border-top:3px solid var(--ink);font-family:var(--display);font-weight:800;font-size:24px}
.note{color:var(--mute);font-size:14px;margin-top:6px}
.thanks{display:flex;flex-direction:column;gap:14px;padding-top:8px;outline:none}
.thanks h2{font-size:40px}
.thanks .btn{margin-top:8px;align-self:start}

/* toast after adding */
.toast{visibility:hidden;position:fixed;left:50%;bottom:24px;z-index:40;padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--yolk);font-weight:700;
  transform:translate(-50%,140%);transition:transform .45s var(--ease);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.toast.show{visibility:visible;transform:translate(-50%,0)}

/* zoom button and the zoom view */
.zoom-btn{position:absolute;right:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px 0 11px;border:0;border-radius:12px;background:rgba(11,11,11,.78);color:#fff;font-weight:700;font-size:15px;cursor:pointer}
.zoom-btn:hover{background:var(--ink)}
.zoom-btn svg{width:22px;height:22px}
.viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;background:radial-gradient(120% 95% at 50% 32%,#B8926F 0%,#8E6A51 55%,#5F4434 100%);color:#fff}
.viewer::backdrop{background:#5F4434}
.viewer .x{position:fixed;top:14px;right:14px;z-index:3;background:rgba(255,255,255,.14);color:#fff}
.viewer .x:hover{background:rgba(255,255,255,.28)}
.viewer :focus-visible{outline-color:var(--yolk)}
.viewer-scroll{width:100%;height:100%;overflow:auto;display:grid;place-items:center;overscroll-behavior:contain}
.viewer-scroll img{display:block;width:min(100vw,100dvh);height:min(100vw,100dvh);object-fit:contain;cursor:zoom-in;filter:drop-shadow(0 20px 22px rgba(0,0,0,.4))}
.viewer.zoomed .viewer-scroll{display:block}
.viewer.zoomed .viewer-scroll img{width:max(220vw,2000px);height:max(220vw,2000px);max-width:none;cursor:zoom-out}
.viewer-hint{position:fixed;left:0;right:0;bottom:16px;text-align:center;font-size:14px;color:#F6EBDD;pointer-events:none}
.viewer.zoomed .viewer-hint{display:none}

/* ---------- page load: one orchestrated moment ---------- */
.drop-no,.drop-name,.pitch,.promises li,.see-all{animation:up .6s var(--ease) backwards}
.drop-no{animation-name:up-big;animation-delay:0s}
.drop-name{animation-delay:.08s}
.pitch{animation-delay:.16s}
.promises li:nth-child(1){animation-delay:.24s}
.promises li:nth-child(2){animation-delay:.31s}
.promises li:nth-child(3){animation-delay:.38s}
.promises li:nth-child(4){animation-delay:.45s}
.promises li:nth-child(5){animation-delay:.52s}
.see-all{animation-delay:.55s}
.top{animation:drop-in .6s var(--ease) backwards}
.panel.deal{animation:deal .75s var(--ease) .05s backwards}
.panel.deal .shirt-img{animation:pop .6s var(--ease) .2s backwards}
.panel.deal .step,.panel.deal .buy-row{animation:up .7s var(--ease) backwards}
.panel.deal .step:nth-of-type(1){animation-delay:.4s}
.panel.deal .step:nth-of-type(2){animation-delay:.47s}
.panel.deal .step:nth-of-type(3){animation-delay:.54s}
.panel.deal .buy-row{animation-delay:.62s}
@keyframes up{from{opacity:0;transform:translateY(18px)}}
@keyframes up-big{from{opacity:0;transform:translateY(60px) skewY(4deg)}}
@keyframes drop-in{from{opacity:0;transform:translateY(-100%)}}
@keyframes deal{from{opacity:0;transform:translateX(90px) rotate(5deg) scale(.94)}}
@keyframes pop{from{opacity:0;transform:scale(.8) translateY(26px)}}

/* ---------- tablet ---------- */
@media (max-width:1000px){
  .stage-in{grid-template-columns:1fr;gap:32px}
  .panel-wrap{max-width:760px}
  .grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .steps{grid-template-columns:1fr}
}
/* ---------- phone ---------- */
@media (max-width:700px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .top nav{gap:12px}
  .nav-link{display:none}
  .stage{padding:22px 0 44px}
  .stage-in{grid-template-columns:1fr;gap:28px}
  .drop-no{font-size:4rem}
  .drop-name{font-size:2.3rem}
  .pitch{font-size:17px;margin-top:16px}
      .panel{padding:10px;border-radius:22px}
  .panel-in{grid-template-columns:1fr}
  .panel-art{border-right:0;border-bottom:3px solid var(--ink)}
  .panel-side{padding:16px 14px 12px}
  .added-btns{grid-template-columns:1fr}
  .shop{padding:56px 0 64px}
  .grid{gap:12px}
  .tile{padding:7px;border-radius:16px}
  .tile-row{flex-direction:column;gap:2px;padding:10px 4px 8px}
  .tile-row h3{font-size:16px}
  .tile-row span{font-size:16px}
  .tile-btn{min-height:44px;font-size:16px}
  .drop-no{font-size:3.4rem}
    .how{padding:64px 0}
  .size-guide{padding:8px 0 64px}
  .help{padding:64px 0 72px}
  th,td{padding:12px 14px}
}

/* ---------- legal pages ---------- */
.doc{max-width:780px;margin:0 auto;padding:56px 32px 96px}
.doc h1{font-size:clamp(3rem,8vw,5rem);color:var(--yolk)}
.doc .stamp{margin:12px 0 8px;color:var(--soft);font-size:15px}
.doc .part{margin-top:56px;padding-top:20px;border-top:3px solid var(--yolk);font-size:clamp(2rem,5vw,3rem)}
.doc h3{margin-top:32px;font-family:var(--body);font-weight:700;font-size:20px;line-height:1.3;letter-spacing:0}
.doc p,.doc ul{margin:12px 0 0;max-width:68ch;color:#E8EAFF}
.doc ul{padding-left:22px}
.doc li+li{margin-top:6px}
.doc a{color:var(--yolk)}
.doc .lede{margin-top:20px;font-size:19px;color:#fff}
@media (max-width:700px){.doc{padding:36px 16px 64px}}

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