html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f8f6f0;color:#0e243a;font-family:'Public Sans',system-ui,sans-serif}
img{max-width:100%}
.skip{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 14px;background:#0e243a;color:#fff}.skip:focus{top:8px}
.ct *{box-sizing:border-box}
/* The Catalogue: a museum register for everything we make. Hairline grid, object numbers, plates on white. */
.ct{--n:#0e243a;--r:#c8202f;--i:#f8f6f0;--soft:#0e243aa6;--hair:#0e243a2e;--mono:'Red Hat Mono',ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--i);color:var(--n);max-width:none!important;margin:0!important;padding-bottom:72px}
.ct *{box-sizing:border-box}
.ct-k{margin:0;font:700 11.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.ct-red{color:var(--r)}
.ct-head,.ct-dept,.ct-fine,.ct-gift-in{max-width:1500px;margin-left:auto;margin-right:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ct-head{padding-top:40px}
.ct-head h1{margin:14px 0 0;max-width:15ch;font:800 clamp(52px,7.6vw,120px)/1 'Barlow Condensed',sans-serif;letter-spacing:-.025em;text-wrap:balance}
.ct-dek{margin:18px 0 0;max-width:56ch;font:400 19px/1.5 'Public Sans',sans-serif}
.ct-jump{display:flex!important;flex-wrap:wrap;gap:0;margin-top:26px;border-top:2px solid var(--n);border-bottom:1px solid var(--n);background:none;padding:0}
.ct-jump a{padding:12px 18px 12px 0;margin-right:18px;font:800 20px/1 'Barlow Condensed',sans-serif;color:var(--n);text-decoration:none}
.ct-jump a:hover{color:var(--r)}
.ct-jump .ct-shop{margin-left:auto;margin-right:0;padding-right:0;color:var(--r)}
/* gift ladder */
.ct-gift{margin-top:44px;background:var(--n);color:var(--i)}
.ct-gift-in{padding-top:30px;padding-bottom:34px}
.ct-gift h2{margin:8px 0 0;font:800 clamp(38px,4.4vw,64px)/1 'Barlow Condensed',sans-serif;color:var(--i)}
.ct-gift p{margin:10px 0 0;max-width:60ch;font:400 16px/1.5 'Public Sans',sans-serif;color:#d7e0e8}
.ct-gift .ct-k{color:#ff6b76}
.ct-ladder{margin-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff40}
.ct-rung{padding:14px 18px 0 0}
.ct-rung+.ct-rung{border-left:1px solid #ffffff40;padding-left:18px}
.ct-rung h3{margin:0;font:800 24px/1 'Barlow Condensed',sans-serif;color:#f2c94c}
.ct-rung ol{list-style:none;margin:10px 0 0;padding:0}
.ct-rung a{display:block;padding:7px 0;border-bottom:1px solid #ffffff1f;font:500 14.5px/1.35 'Public Sans',sans-serif;color:var(--i);text-decoration:none}
.ct-rung a span{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.08em;color:#9fb3c5;margin-bottom:3px}
.ct-rung a:hover{color:#fff;text-decoration:underline}
/* the register */
.ct-dept{margin-top:56px}
.ct-dept>header{display:flex;justify-content:space-between;align-items:baseline;border-top:6px solid var(--n);padding-top:10px}
.ct-dept h2{margin:0;font:800 clamp(34px,3.6vw,52px)/1 'Barlow Condensed',sans-serif}
.ct-dept>header p{margin:0;font:700 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.ct-grid{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--hair)}
.ct-obj{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);border-top:1px solid var(--hair)}
.ct-obj a{display:flex;flex-direction:column;height:100%;padding:14px 14px 16px;color:var(--n)!important;text-decoration:none!important}
.ct-obj figure{position:relative;margin:0;aspect-ratio:1;background:#fff;overflow:hidden}
.ct-obj figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s}
.ct-obj .ct-alt{opacity:0}
.ct-obj a:hover .ct-alt,.ct-obj a:focus-visible .ct-alt{opacity:1}
.ct-no{margin:12px 0 0;font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--r)}
.ct-obj h3{margin:6px 0 0;font:800 23px/1.02 'Barlow Condensed',sans-serif;text-wrap:balance}
.ct-kind{margin:6px 0 0;font:500 13px/1.35 'Public Sans',sans-serif;color:var(--soft)}
.ct-price{margin:auto 0 0;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;font:800 22px/1 'Barlow Condensed',sans-serif}
.ct-price span{font:600 13px/1 'Public Sans',sans-serif;color:var(--r);opacity:0;transition:opacity .2s}
.ct-obj a:hover .ct-price span,.ct-obj a:focus-visible .ct-price span{opacity:1}
.ct-obj a:focus-visible{outline:3px solid var(--r);outline-offset:-3px}
.ct-fine{margin-top:28px;font:500 12px/1.5 var(--mono);color:var(--soft)}
@media(max-width:1100px){.ct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-ladder{grid-template-columns:1fr 1fr}.ct-rung:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:700px){.ct-grid{grid-template-columns:1fr 1fr}.ct-obj a{padding:10px 10px 12px}.ct-obj h3{font-size:19px}.ct-price{font-size:19px}.ct-price span{display:none}
 .ct-ladder{grid-template-columns:1fr}.ct-rung+.ct-rung{border-left:0;padding-left:0;border-top:1px solid #ffffff40;margin-top:10px}
 .ct-jump .ct-shop{margin-left:0}.ct-dek{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ct-obj figure img,.ct-price span{transition:none}}
@media(hover:none){.ct-price span{opacity:1}}
/* sketchbook: concepts, not products */
.ct-skdek{margin:12px 0 0;max-width:60ch;font:400 16px/1.5 'Public Sans',sans-serif;color:var(--soft)}
.ct-skgrid{list-style:none;margin:18px 0 0;padding:0;columns:4 260px;column-gap:14px}
.ct-sk{break-inside:avoid;margin:0 0 14px}
.ct-sk figure{margin:0;background:#0e243a;border-radius:0;overflow:hidden}
.ct-sk img{display:block;width:100%;height:auto}
.ct-sk .ct-no{margin-top:6px;color:var(--soft)}
/* The Gift Desk (2026-11-02) */
.gd .ct-gift-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:48px;align-items:start;padding-top:44px;padding-bottom:48px}
.gd h2{font-size:clamp(44px,5vw,76px);text-wrap:balance}
.gd-q{display:flex;gap:10px;align-items:baseline;margin:28px 0 10px!important;font:700 13px/1 'Red Hat Mono',monospace!important;letter-spacing:.08em;text-transform:uppercase;color:#f2c94c!important}
.gd-q span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:0;background:#f2c94c;color:var(--n);font-size:12px}
.gd-opts{display:flex;flex-wrap:wrap;gap:8px}
.gd-opts button{appearance:none;border:1px solid #ffffff59;background:transparent;color:var(--i);border-radius:0;padding:10px 16px;font:600 15px/1 'Public Sans',sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.gd-opts button:hover{border-color:var(--i)}
.gd-opts button[aria-pressed="true"]{background:var(--i);color:var(--n);border-color:var(--i)}
.gd-opts button:focus-visible{outline:3px solid #f2c94c;outline-offset:2px}
.gd-note{margin-top:22px!important;font-size:14px!important;color:#aebccb!important}
.gd-line{margin:0 0 14px!important;font:700 22px/1.2 'Barlow Condensed',sans-serif!important;color:var(--i)!important;letter-spacing:.01em}
.gd-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gd-picks li{display:none}.gd-picks li:nth-child(-n+3){display:block}.gd-js .gd-picks li{display:none}.gd-js .gd-picks li.on{display:block}
.gd-picks li.on{display:block;animation:gdin .35s ease both}
.gd-picks li.on:nth-child(n){animation-delay:calc(var(--k,0)*70ms)}
@keyframes gdin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.gd-picks li.on{animation:none}}
.gd-picks a{display:flex;flex-direction:column;height:100%;background:var(--i);color:var(--n);border-radius:0;overflow:hidden;text-decoration:none;padding-bottom:16px}
.gd-picks img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;display:block}
.gd-no{margin:12px 14px 0;font:700 11px/1 'Red Hat Mono',monospace;color:var(--r);letter-spacing:.06em}
.gd-picks strong{margin:6px 14px 0;font:800 22px/1.05 'Barlow Condensed',sans-serif;text-wrap:balance}
.gd-kind{margin:6px 14px 0;font:400 13px/1.35 'Public Sans',sans-serif;color:#4a5b6b}
.gd-pr{margin:10px 14px 0;font:700 18px/1 'Public Sans',sans-serif}
.gd-go{margin:12px 14px 0;padding-top:12px;border-top:1px solid #0e243a26;margin-top:auto;font:700 14px/1 'Public Sans',sans-serif;color:var(--r)}
.gd-picks a:hover .gd-go{text-decoration:underline}
@media(max-width:960px){.gd .ct-gift-in{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.gd-picks{grid-template-columns:1fr}.gd-picks a{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto auto auto 1fr;padding-bottom:0}
.gd-picks img{grid-row:1/-1;height:100%;aspect-ratio:auto;min-height:150px}.gd-no{margin-top:12px}.gd-go{margin:10px 14px 12px;padding-top:10px}.gd-picks strong{font-size:20px}}
/* buy from the catalogue: pick a size, add to the bag (2026-11-02) */
.ct-obj{display:flex;flex-direction:column}
.ct-obj>a{flex:1}
.ct-buy{display:flex;gap:8px;margin:0;padding:10px 12px 12px;border-top:1px solid #0e243a1f;background:inherit}
.ct-buy select{flex:1;min-width:0;padding:9px 8px;border:1px solid #0e243a66;background:#fff;color:#0e243a;font:500 13.5px/1.2 'Public Sans',sans-serif}
.ct-buy button{flex:none;padding:10px 14px;border:0;background:#0e243a;color:#f8f6f0;font:700 13.5px/1 'Public Sans',sans-serif;letter-spacing:.02em;cursor:pointer}
.ct-buy input[type=hidden]+input+button,.ct-buy>input:first-child~button{flex:1}
.ct-buy button:hover{background:#c8202f}
.ct-buy button:focus-visible,.ct-buy select:focus-visible{outline:3px solid #c8202f;outline-offset:2px}
.ct-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ct-out{font:600 13px/1 'Public Sans',sans-serif;color:#0e243aa6}
.gd-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:14px}.gd-top .gd-line{margin:0!important}
.gd-share{border:1px solid #f8f6f066;background:transparent;color:#f8f6f0;padding:8px 12px;font:600 13px/1 'Public Sans',sans-serif;cursor:pointer}.gd-share:hover{background:#f8f6f0;color:#0e243a}
.ct-clock{margin:14px 0 0;padding:12px 14px;background:#d42a2f;color:#fff;font:500 16px/1.35 'Public Sans',sans-serif;max-width:56ch}
.ct-clock b{font:800 22px/1 'Barlow Condensed',sans-serif;letter-spacing:.01em}
@media(max-width:700px){.ct-buy{display:grid!important;grid-template-columns:1fr;gap:6px}.ct-buy select{width:100%!important;min-height:40px;font-size:14px}.ct-buy button{width:100%;min-height:42px}}
.gd-picks li.on,.gd-picks li:nth-child(-n+3){flex-direction:column}.gd-picks li:nth-child(-n+3),.gd-js .gd-picks li.on{display:flex}.gd-picks a{flex:1;height:auto}.gd-picks .ct-buy{background:#f8f6f0;flex:none}
.gd-js .gd-picks li:not(.on){display:none}
/* option chips (pick.js): the buyer sees sizes and colors, not a long dropdown */
.ct-buy.pk-on{display:flex;flex-wrap:wrap;gap:10px}
.ct-buy.pk-on select,.ct-buy.pk-on .ct-vh{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
.pk{display:flex;flex-direction:column;gap:8px;width:100%}
.pk-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pk-l{flex:0 0 100%;font:700 10.5px/1 'Red Hat Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#0e243a99}
.pk-row button{min-height:34px;min-width:44px;padding:7px 11px;border:1px solid #0e243a40;background:#fff;color:#0e243a;font:600 13px/1 'Public Sans',sans-serif;cursor:pointer}
.pk-row button[aria-checked=true]{background:#0e243a;border-color:#0e243a;color:#f8f6f0}
.pk-row button.pk-no{opacity:.35;text-decoration:line-through}
.pk-sw button{min-width:0;width:32px;height:32px;min-height:0;padding:0;background:var(--c);box-shadow:inset 0 0 0 1px #0e243a33}
.pk-sw button[aria-checked=true]{background:var(--c);box-shadow:inset 0 0 0 2px #f8f6f0,0 0 0 2px #0e243a}
.pk-row button:focus-visible{outline:3px solid #c8202f;outline-offset:2px}
.ct-buy.pk-on button[type=submit]{flex:1 1 100%;min-height:44px}
@media(max-width:700px){.ct-buy.pk-on{display:flex!important}.ct-buy.pk-on .pk-row button{width:auto!important;min-height:38px;padding:7px 10px}.ct-buy.pk-on .pk-sw button{width:34px!important;height:34px}.ct-buy.pk-on button[type=submit]{width:100%}}
