/* Tryambak (light only): tokens from the Spliiit app (warm canvas, paper, ink; flat; Inter Tight + Instrument Serif) */
:root{
  color-scheme: light;
  --canvas:#EBE7E0; --canvas-2:#F2F2F0; --paper:#F9F8F6; --muted:#DDD8D0;
  --ink:#141414; --ink-2:#4E4A46; --ink-3:#6B6662; --on-ink:#F2F2F0; --ink-hover:#3B3835;
  --rule:#CAC4B9; --rule-2:#E0DCD7; --error:#94473A;
  --glass:rgba(249,248,246,.82);
  --shadow:0 18px 48px -16px rgba(20,20,20,.28), 0 2px 8px -2px rgba(20,20,20,.08);
  --r-pill:999px; --r-card:22px; --r-field:12px;
  --gutter:clamp(16px,4.5vw,64px); --section:clamp(64px,9vw,128px);
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--canvas); color:var(--ink); font:400 17px/1.5 var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
[hidden]{ display:none !important; }
a{ color:inherit; }
h1,h2{ font-family:var(--serif); font-weight:400; letter-spacing:-.01em; line-height:1.02; margin:0; }
h2{ font-size:clamp(34px,5vw,56px); }
em{ font-style:italic; }
:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:6px; }

/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.7em 1.3em; border-radius:var(--r-pill);
  font:500 15px/1.1 var(--sans); text-decoration:none; border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition:background .18s,border-color .18s,transform .15s; }
.btn:active{ transform:scale(.97); }
.btn-ink{ background:var(--ink); color:var(--on-ink); }
.btn-ink:hover{ background:var(--ink-hover); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--rule); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn.lg{ min-height:54px; font-size:16px; font-weight:600; padding:.9em 1.6em; }
.btn.wide{ width:100%; white-space:normal; text-align:center; line-height:1.25; }
@media (max-width:440px){ #submit .more{ display:none; } }
.btn[disabled]{ opacity:.55; cursor:progress; }

/* nav */
.nav{ position:fixed; inset:0 0 auto; z-index:20; height:64px; display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--gutter); padding-top:env(safe-area-inset-top); }
.nav::before{ content:""; position:absolute; inset:0; background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  opacity:1; z-index:-1; }
.brand{ display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:16px; letter-spacing:-.01em; text-decoration:none; color:var(--ink); }
.brand svg{ width:30px; height:30px; }
.nav-r{ display:flex; align-items:center; gap:8px; }
.theme{ width:44px; height:44px; border-radius:50%; border:0; background:transparent; color:var(--ink); cursor:pointer; display:grid; place-items:center; }
.theme svg{ width:20px; height:20px; }

/* story: pinned 3D */
.story{ position:relative; height:480vh; }
.stage{ position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; background:var(--canvas); }
/* the story ends with the room washed to paper (kitchen.js), so the designer follows on the same ground with no gap */
html:not(.no3d) .story{ background:#151311; }
html:not(.no3d) .stage{ background:transparent; }
#scene{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.labels{ position:absolute; inset:0; pointer-events:none; }
.fallback{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tag3d{ font:500 11px/1.2 var(--sans); color:#f2f2f0; background:rgba(13,13,13,.72); padding:4px 7px; border-radius:7px; white-space:nowrap;
  opacity:0; transition:opacity .3s; text-align:center; }
.tag3d small{ display:block; font-weight:400; opacity:.75; font-size:10px; }
.labels.on .tag3d{ opacity:1; }
.bins-white .tag3d{ background:rgba(13,13,13,.78); }

.hero{ position:absolute; left:var(--gutter); right:var(--gutter); top:calc(64px + clamp(20px,6vh,72px)); max-width:640px;
  will-change:opacity,transform; }
.hero h1{ font-size:clamp(44px,7.4vw,92px); color:#fff; text-shadow:0 2px 28px rgba(0,0,0,.35); }
.hero p{ margin:16px 0 0; font-size:clamp(17px,1.6vw,20px); color:rgba(255,255,255,.88); max-width:36ch; text-shadow:0 1px 14px rgba(0,0,0,.4); }

.cap{ position:absolute; left:50%; top:calc(64px + 3vh); transform:translate(-50%,8px); margin:0; opacity:0;
  font-family:var(--serif); font-size:clamp(30px,4.6vw,54px); line-height:1.05; color:#141414; text-align:center; width:min(92vw,900px);
  padding:10px 18px; border-radius:16px; background:rgba(249,248,246,.78); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  transition:opacity .35s, transform .35s var(--ease); pointer-events:none; width:auto; white-space:nowrap; }
.cap.on{ opacity:1; transform:translate(-50%,0); }

.panel{ position:absolute; right:var(--gutter); top:50%; width:min(400px,92vw); transform:translate(24px,-50%); opacity:0; visibility:hidden;
  background:var(--glass); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); border:1px solid var(--rule-2);
  border-radius:var(--r-card); box-shadow:var(--shadow); padding:22px; color:var(--ink);
  transition:opacity .35s, transform .45s var(--ease), visibility 0s .45s; }
.panel.on{ opacity:1; visibility:visible; transform:translate(0,-50%); transition:opacity .35s, transform .45s var(--ease); }
.panel h2{ font-size:32px; margin-bottom:14px; }
.dims{ display:flex; align-items:flex-end; gap:10px; }
.dims label{ flex:1; font-size:13px; color:var(--ink-2); display:grid; gap:6px; }
.dims .x{ padding-bottom:12px; color:var(--ink-3); }
.num{ display:flex; align-items:center; gap:6px; background:var(--paper); border:1px solid var(--rule); border-radius:var(--r-field); padding:0 12px; height:46px; color:var(--ink-2); font-size:14px; }
.num input{ width:100%; border:0; background:transparent; color:var(--ink); font:600 18px var(--sans); font-variant-numeric:tabular-nums; outline:none; }
.lbl{ font-size:13px; color:var(--ink-2); margin:16px 0 8px; }
.chips{ display:flex; flex-wrap:wrap; gap:6px; }
.chip{ height:36px; padding:0 .9em; border-radius:var(--r-pill); font:500 13px var(--sans); background:var(--canvas-2); color:var(--ink-2);
  border:1px solid var(--rule-2); cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.chip[aria-pressed="true"]{ background:var(--ink); color:var(--on-ink); border-color:var(--ink); }
.row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 16px; }
.seg{ display:inline-flex; background:var(--canvas-2); border:1px solid var(--rule-2); border-radius:var(--r-pill); padding:3px; }
.seg button{ height:36px; padding:0 14px; border:0; border-radius:var(--r-pill); background:transparent; color:var(--ink-2); font:500 13px var(--sans); cursor:pointer; }
.seg button[aria-pressed="true"]{ background:var(--ink); color:var(--on-ink); }
.price{ margin:0; text-align:right; font-size:13px; color:var(--ink-2); line-height:1.25; }
.price b{ display:block; font:600 24px var(--sans); color:var(--ink); letter-spacing:-.01em; }

/* sections */
.wrap{ max-width:1180px; margin:0 auto; padding:0 var(--gutter); }
.wrap.narrow{ max-width:760px; }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.two > *{ min-width:0; }
section.send,section.viewer-sec,section.cabs,section.faq{ padding:var(--section) 0; }
.send{ background:var(--canvas); }
.steps{ list-style:none; padding:0; margin:28px 0 0; counter-reset:s; display:grid; gap:16px; }
.steps li{ counter-increment:s; display:grid; grid-template-columns:36px 1fr; gap:12px; color:var(--ink-2); font-size:18px; line-height:1.4; }
.steps li::before{ content:counter(s); width:32px; height:32px; border-radius:50%; background:var(--ink); color:var(--on-ink); display:grid; place-items:center; font-weight:600; font-size:14px; }
.steps b{ color:var(--ink); font-weight:600; }
.prices{ display:flex; gap:24px; margin:30px 0 6px; font-size:16px; color:var(--ink-2); flex-wrap:wrap; }
.prices b{ font-size:30px; color:var(--ink); font-weight:600; letter-spacing:-.01em; margin-right:6px; }
.fine{ font-size:13.5px; color:var(--ink-3); margin:6px 0 0; line-height:1.45; }
.fine a{ color:var(--ink-2); }
.lead{ font-size:18px; color:var(--ink-2); margin:16px 0 22px; max-width:36ch; }

.card{ background:var(--paper); border:1px solid var(--rule-2); border-radius:var(--r-card); padding:clamp(18px,3vw,28px); }
.form{ display:grid; gap:14px; }
.drop{ position:relative; display:block; border:1.5px dashed var(--rule); border-radius:18px; cursor:pointer; transition:border-color .18s, background .18s; }
.drop:hover,.drop.over{ border-color:var(--ink); background:var(--canvas-2); }
.drop input{ position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.drop-in{ display:grid; justify-items:center; gap:4px; padding:26px 16px; text-align:center; }
.drop-in svg{ width:32px; height:32px; margin-bottom:4px; }
.drop-in small{ color:var(--ink-3); font-size:13px; }
.thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
.thumbs:empty{ display:none; }
.thumbs figure{ margin:0; position:relative; }
.thumbs img{ width:72px; height:72px; object-fit:cover; border-radius:10px; }
.thumbs button{ position:absolute; top:-7px; right:-7px; width:24px; height:24px; border-radius:50%; border:0; background:var(--ink); color:var(--on-ink); cursor:pointer; font-size:14px; line-height:1; }
.fields{ display:grid; gap:12px; }
.fields label{ display:grid; gap:6px; font-size:13px; color:var(--ink-2); }
.fields input,.fields select,.wait input{ height:48px; border:1px solid var(--rule); border-radius:var(--r-field); background:var(--canvas-2); color:var(--ink);
  padding:0 14px; font:400 16px var(--sans); width:100%; }
.fields input:focus,.fields select:focus,.wait input:focus{ outline:none; border-color:var(--ink); }
.msg{ margin:0; font-size:14px; color:var(--ink-2); min-height:0; }
.msg.err{ color:var(--error); }
.msg.ok{ color:var(--ink); font-weight:500; }
.done{ text-align:center; padding:30px 10px; }
.done h3{ font-family:var(--serif); font-weight:400; font-size:34px; margin:0 0 8px; }
.done p{ color:var(--ink-2); margin:0; }

.viewer{ aspect-ratio:1/1; border-radius:var(--r-card); background:var(--paper); border:1px solid var(--rule-2); overflow:hidden; position:relative; }
.viewer .poster{ width:100%; height:100%; object-fit:cover; }
.viewer model-viewer{ position:absolute; inset:0; width:100%; height:100%; --poster-color:transparent; background:transparent; }
#ar{ margin-top:14px; }
.flip > :first-child{ order:0; }

.cab-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:32px 0 24px; }
.cab-row figure{ margin:0; }
.cab-row img{ border-radius:18px; aspect-ratio:4/3; object-fit:cover; width:100%; background:var(--paper); }
.cab-row figcaption{ margin-top:10px; font-weight:500; }
.wait{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; max-width:520px; }
.wait input{ flex:1 1 220px; }

.faq h2{ margin-bottom:22px; }
details{ border-top:1px solid var(--rule); padding:4px 0; }
details:last-of-type{ border-bottom:1px solid var(--rule); }
summary{ list-style:none; cursor:pointer; padding:16px 36px 16px 0; font-size:19px; font-weight:500; position:relative; }
summary::-webkit-details-marker{ display:none; }
summary::after{ content:"+"; position:absolute; right:4px; top:12px; font-size:24px; font-weight:400; color:var(--ink-2); transition:transform .2s; }
details[open] summary::after{ transform:rotate(45deg); }
details p{ margin:0 0 18px; color:var(--ink-2); }

.foot{ background:#0D0D0D; color:#C2BEB7; padding:36px 0 calc(36px + env(safe-area-inset-bottom)); font-size:14px; }
.foot-in{ display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; }
.foot .brand{ color:#F2F2F0; margin-right:auto; }
.foot a{ color:#C2BEB7; }

/* phone */
@media (max-width:820px){
  .two{ grid-template-columns:minmax(0,1fr); }
  .flip > :first-child{ order:2; }
  .cab-row{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-right:calc(-1 * var(--gutter)); padding-right:var(--gutter); scrollbar-width:none; }
  .cab-row figure{ flex:0 0 78%; scroll-snap-align:start; }
  .nav .btn{ padding:.6em 1em; }
  .brand span{ font-size:15px; }
  .panel{ left:12px; right:12px; width:auto; top:auto; bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateY(24px); padding:16px; }
  .panel.on{ transform:translateY(0); }
  .panel h2{ font-size:26px; margin-bottom:10px; }
  .panel .lbl{ margin:12px 0 6px; }
  .row{ margin:12px 0; }
  .chip{ height:34px; font-size:12.5px; padding:0 .8em; }
  .cap{ white-space:normal; width:min(90vw,520px); font-size:clamp(28px,8vw,40px); }
}
@media (max-width:380px){ .brand span{ display:none; } }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .panel,.cap{ transition:none; }
}

/* hero legibility over the 3D kitchen */
.hero::before{ content:""; position:absolute; z-index:-1; inset:-160px -320px -170px calc(-1 * var(--gutter) - 120px); pointer-events:none;
  background:radial-gradient(closest-side, rgba(10,9,8,.6), rgba(10,9,8,.42) 45%, rgba(10,9,8,.16) 75%, rgba(10,9,8,0)); }

/* no WebGL / blocked CDN: still photo, short page */
.no3d .story{ height:auto; }
.no3d .stage{ position:relative; height:auto; min-height:88svh; }
.no3d #scene,.no3d .cap{ display:none; }
.no3d .fallback{ position:absolute; inset:0; height:100%; }
.no3d .hero{ opacity:1 !important; visibility:visible !important; transform:none !important; }
.no3d .panel{ display:none; }

/* in-page measuring */
.measure{ display:grid; gap:12px; }
.m-hint{ margin:0; font-size:14px; color:var(--ink-2); }
.m-stage{ position:relative; justify-self:center; touch-action:none; border-radius:14px; overflow:hidden; }
.m-stage canvas:first-child{ display:block; cursor:crosshair; }
.m-loupe{ position:absolute; left:0; top:0; width:120px; height:120px; border-radius:50%; border:3px solid #fff; box-shadow:0 8px 24px rgba(0,0,0,.35);
  pointer-events:none; opacity:0; transition:opacity .15s; }
.m-out{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:14px; color:var(--ink-2); }
.m-out b{ font-size:26px; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.m-row{ display:flex; gap:10px; justify-content:flex-end; }
.m-sum{ margin:0; padding:12px 14px; border-radius:var(--r-field); background:var(--canvas-2); font-size:15px; color:var(--ink-2); }
.m-sum b{ color:var(--ink); }
.m-sum .link{ min-height:0; padding:0; margin-left:4px; }

/* shipping */
.ship-row{ display:grid; grid-template-columns:1.2fr 1fr; gap:12px; }
.ship-row label{ display:grid; gap:6px; font-size:13px; color:var(--ink-2); min-width:0; }
.ship{ margin:-2px 0 0; font-size:14px; color:var(--ink-2); }
.ship b{ color:var(--ink); }
@media (max-width:420px){ .ship-row{ grid-template-columns:1fr; } }

/* drag handles on the lines between compartments */
.grip{ pointer-events:auto; width:32px; height:32px; border-radius:50%; border:2px solid #141414; background:#f2f2f0; color:#141414; cursor:col-resize;
  display:none; place-items:center; padding:0; touch-action:none; box-shadow:0 2px 10px rgba(0,0,0,.35); transition:transform .15s; }
.grip svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.grip[data-dir="y"]{ cursor:row-resize; }
.grip[data-dir="y"] svg{ transform:rotate(90deg); }
.labels.on .grip{ display:grid; }
.grip.on,.grip:hover{ transform:scale(1.15); }
.drag-hint{ margin:10px 0 0; font-size:13px; color:var(--ink-3); }
.viewer .note{ position:absolute; left:16px; right:16px; bottom:14px; margin:0; font-size:13px; color:var(--ink-3); text-align:center; }

.thumbs figcaption{ font-size:11px; color:var(--ink-3); text-align:center; margin-top:3px; }

/* nav options over the dark 3D kitchen (preview with ?nav=a|b|c). Below the kitchen the nav always turns light (.on-light). */
.nav-a .nav:not(.on-light)::before{ background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
.nav-a .nav:not(.on-light)::after{ content:""; position:absolute; inset:0 0 -40px; z-index:-2; pointer-events:none;
  background:linear-gradient(rgba(10,9,8,.55), rgba(10,9,8,0)); }
.nav-b .nav:not(.on-light)::before{ background:rgba(16,14,12,.42); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);
  border-bottom:1px solid rgba(255,255,255,.08); }
.nav-c .nav:not(.on-light){ top:12px; left:var(--gutter); right:var(--gutter); height:56px; padding:0 8px 0 18px; border-radius:999px; }
.nav-c .nav:not(.on-light)::before{ border-radius:999px; background:rgba(16,14,12,.5); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.12); }
:is(.nav-a,.nav-b,.nav-c) .nav:not(.on-light) .brand{ color:#fff; }
:is(.nav-a,.nav-b,.nav-c) .nav:not(.on-light) .btn-ink{ background:#f2f2f0; color:#141414; }
.nav{ transition:top .25s, left .25s, right .25s, height .25s, border-radius .25s; }

/* Design your drawer: flat top-down plan */
section.designer{ padding:var(--section) 0; background:var(--paper); }
html:not(.no3d) section.designer{ padding-top:8px; }
@media (max-width:819px){ html:not(.no3d) section.designer{ position:relative; z-index:2; margin-top:-22vh; margin-top:-22svh; } }
.designer .two{ align-items:start; }
.plan-wrap{ min-width:0; }
.plan{ width:100%; height:auto; display:block; max-height:78vh; user-select:none; -webkit-user-select:none; }
.p-frame{ fill:#C9A87C; } .p-floor{ fill:#EADFCB; }
.p-bin{ fill:#1C1C1C; } .p-bin.white{ fill:#F7F5F1; stroke:#C9C1B4; stroke-width:.18; }
.p-name{ fill:#F2F2F0; text-anchor:middle; font-family:var(--sans); font-weight:600; dominant-baseline:middle; }
.p-size{ fill:rgba(242,242,240,.72); text-anchor:middle; font-family:var(--sans); dominant-baseline:middle; }
.p-name.dark{ fill:#141414; } .p-size.dark{ fill:#6B6662; }
.p-dim{ fill:var(--ink-3); font:500 1.5px var(--sans); text-anchor:middle; }
.p-box{ cursor:pointer; outline:none; }
.p-box.on .p-bin{ stroke:#F2F2F0; stroke-width:.5; } .p-box.on .p-bin.white{ stroke:#141414; }
.p-box:focus-visible .p-bin{ stroke:#E0873F; stroke-width:.5; }
.p-grip{ touch-action:none; cursor:col-resize; } .p-grip.h{ cursor:row-resize; }
.p-hit{ fill:transparent; }
.p-knob{ fill:#F2F2F0; stroke:#141414; stroke-width:.22; transition:r .15s; }
.p-arrow{ fill:none; stroke:#141414; stroke-width:.24; stroke-linecap:round; }
.p-grip:hover .p-knob,.p-grip.on .p-knob{ r:2.1; }
.dtools{ display:flex; align-items:center; gap:10px; margin-top:14px; flex-wrap:wrap; }
.dtools{ justify-content:center; }
.dtools .btn[disabled]{ opacity:.4; cursor:default; }
.dtools .btn{ min-height:40px; padding:.5em 1.1em; }
.dhead{ margin-bottom:clamp(18px,3vw,32px); }
.dhead .lead{ margin-bottom:0; max-width:46ch; }

/* designer v4: tap a bin, pull its sides */
.p-box.on .p-bin{ stroke:#E0873F; stroke-width:.55; } .p-box.on .p-bin.white{ stroke:#E0873F; }
.p-grip{ touch-action:none; cursor:col-resize; } .p-grip.h{ cursor:row-resize; }
.p-pill{ fill:#F2F2F0; stroke:#141414; stroke-width:.25; }
.p-grip:hover .p-pill{ fill:#fff; }
.p-wall{ stroke:#E0873F; stroke-width:.5; stroke-linecap:round; pointer-events:none; }
.dtools .btn.icon{ width:44px; padding:0; }
.dtools .btn.icon svg{ width:20px; height:20px; }

/* order form: drawer size + email */
.trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.trio label{ min-width:0; }
.fields textarea{ border:1px solid var(--rule); border-radius:var(--r-field); background:var(--canvas-2); color:var(--ink); padding:12px 14px;
  font:400 16px/1.4 var(--sans); width:100%; resize:vertical; }
.fields textarea:focus{ outline:none; border-color:var(--ink); }
.addphoto{ display:grid; gap:8px; }
.addphoto .link{ justify-self:start; cursor:pointer; min-height:36px; padding:0; }
@media (max-width:420px){ .trio{ grid-template-columns:1fr 1fr; } .trio label:last-child{ grid-column:1 / -1; } }

/* size: measure yourself or send a photo with paper */
.seg.mode{ display:flex; width:100%; }
.seg.mode button{ flex:1; height:42px; font-size:14px; }
.byphoto{ display:grid; gap:12px; }
.howto{ margin:0; font-size:15px; color:var(--ink-2); line-height:1.45; }
.byphoto .drop{ cursor:pointer; }

/* one section: design the bins, then size, colour and email in the card beside it, one Send button */
.dhead h2{ margin-bottom:0; }
.order{ gap:12px; }
.order .sub{ margin:8px 0 0; font:600 15px/1.3 var(--sans); color:var(--ink); }
.order .sub:first-of-type{ margin-top:0; }
.order .row{ margin:0; }
.order .fine + .fine{ margin-top:0; }
.anchor{ position:relative; top:-90px; display:block; height:0; }
.sent-plan{ display:block; width:min(100%,360px); margin:6px auto 16px; border-radius:14px; border:1px solid var(--rule-2); }
#try{ scroll-margin-top:56px; }

/* order form: confirm the drawer size before paying; edit-mode banner */
.sizeok{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.4; margin:14px 0 10px; padding:12px 14px; border:1px solid var(--rule); border-radius:12px; background:var(--canvas-2); cursor:pointer; }
.sizeok input{ width:20px; height:20px; margin:0; flex:none; accent-color:#141414; }
.sizewarn{ color:var(--error); font-size:13px; margin:0 0 10px; }
.shipbox{ margin:14px 0 0; }
.shipopts{ display:grid; gap:8px; margin:10px 0 0; }
.shipopt{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--rule); border-radius:12px; background:var(--canvas-2); cursor:pointer; }
.shipopt:has(input:checked){ border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.shipopt input{ width:20px; height:20px; margin:0; flex:none; accent-color:#141414; }
.shipopt span{ flex:1; min-width:0; display:grid; gap:1px; font-size:15px; }
.shipopt small{ font-size:13px; color:var(--ink-3); }
.shipopt em{ font-style:normal; font-weight:600; font-size:16px; font-variant-numeric:tabular-nums; }
.shipnote:empty{ display:none; }
.shipnote{ margin:8px 0 0; font-size:13px; color:var(--ink-3); }
.shipnote.err{ color:var(--error); }
.editing{ background:var(--ink); color:var(--on-ink); border-radius:12px; padding:10px 14px; font-size:14px; margin:0 0 14px; }

/* Design poster on the home page (opens /design) */
section.poster{ padding:clamp(96px,12vw,170px) 0 var(--section); background:var(--canvas); position:relative; z-index:2; }
.poster-card{ display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:clamp(24px,5vw,72px); padding:clamp(28px,5vw,72px);
  background:var(--paper); border-radius:32px; box-shadow:0 30px 80px -40px rgba(20,20,20,.35); color:inherit; text-decoration:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.poster-card:hover{ transform:translateY(-3px); box-shadow:0 44px 96px -40px rgba(20,20,20,.42); }
.poster-copy h2{ font-size:clamp(46px,6.2vw,84px); line-height:.98; }
.poster-copy .lead{ margin:18px 0 32px; max-width:30ch; }
.poster-copy .btn svg{ width:18px; height:18px; margin-left:6px; }
.poster-art{ position:relative; margin:24px 28px 0 0; }
.poster-art img{ width:100%; height:auto; display:block; border-radius:18px; }
.pdim{ position:absolute; font:500 13px var(--sans); color:var(--ink-2); display:flex; align-items:center; gap:10px; letter-spacing:.02em; }
.pdim i{ flex:1; background:var(--ink-3); }
.pdim.w{ left:7%; right:7%; top:-26px; } .pdim.w i{ height:1px; }
.pdim.d{ right:-28px; top:7%; bottom:7%; flex-direction:column; writing-mode:vertical-rl; } .pdim.d i{ width:1px; }
.phandle{ position:absolute; width:22px; height:22px; border-radius:50%; background:#F2F2F0; border:2px solid #141414; box-shadow:0 4px 12px rgba(0,0,0,.35); transform:translate(-50%,-50%); }
.phandle::after{ content:""; position:absolute; left:5px; right:5px; top:50%; height:2px; margin-top:-1px; background:#141414; border-radius:2px; }
.phandle.h::after{ transform:rotate(90deg); }
#ph1{ left:22.7%; top:53%; } #ph2{ left:60.4%; top:44%; } #ph3{ left:83.6%; top:62.9%; }
@media (max-width:760px){ .poster-card{ grid-template-columns:1fr; } .pdim.d{ display:none; } .poster-art{ margin:30px 0 0; } }

/* The design page (/design): the designer gets the whole page, clear of the fixed nav */
html.page-design section.designer{ padding-top:calc(64px + clamp(28px,5vw,64px)); margin-top:0; }
html.page-design .dhead h1{ font-size:clamp(44px,6vw,76px); }
