.btn[disabled]{opacity:.45;cursor:not-allowed;background:transparent;color:var(--ink)}
.btn[disabled]::after{content:none}
.pdp{padding-top:clamp(40px,5vw,80px)}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;max-width:1440px;margin:0 auto}
.pdp-media{display:grid;gap:14px}
.pdp-frame{margin:0;background:var(--white);border:1px solid var(--rule)}
.pdp-frame img{width:100%;height:auto;mix-blend-mode:multiply}
.pdp-info{position:sticky;top:calc(var(--hh,62px) + 32px);display:flex;flex-direction:column;gap:22px}
.pdp-back{align-self:flex-start}
.pdp-title{font-size:clamp(48px,5.6vw,96px)}
.pdp-price{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.pdp-amount{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;margin-right:auto}
.pdp-desc{font-size:18px;line-height:1.6;color:var(--graphite)}
.pdp-desc p{margin:0 0 1em}
.pdp-form{display:flex;flex-direction:column;gap:18px}
.pdp-opt{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.pdp-opt legend{margin-bottom:10px;padding:0}
.pill{position:relative}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill span{display:inline-block;min-width:54px;text-align:center;padding:11px 14px;border:1px solid var(--rule);font-family:var(--mono);font-size:12px;letter-spacing:.08em;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.pill span:hover{border-color:var(--ink)}
.pill input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.pill input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.pdp-buy{display:flex;gap:12px;align-items:stretch}
.pdp-qty{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:0 14px}
.pdp-qty input{width:44px;border:0;background:transparent;font:inherit;font-size:18px;text-align:center;color:var(--ink)}
.pdp-qty input:focus{outline:none}
.pdp-add{flex:1;justify-content:center}
.pdp-notes{margin:0}
.cart-lines{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.cart-line{display:grid;grid-template-columns:110px 1fr auto auto auto;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule)}
.cart-thumb{display:block;aspect-ratio:4 / 5;background:var(--white);border:1px solid var(--rule);overflow:hidden}
.cart-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cart-info{display:flex;flex-direction:column;gap:6px}
.cart-info h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(22px,2vw,30px);line-height:.95}
.cart-total{font-family:var(--display);font-weight:800;font-size:22px;min-width:90px;text-align:right}
.cart-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-top:40px}
.cart-sub{display:block;font-family:var(--display);font-weight:900;font-size:clamp(48px,5vw,80px);line-height:.9;margin:8px 0}
.cart-foot p{margin:0}
.cart-actions{display:flex;gap:12px;flex-wrap:wrap}
.cart-empty{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.cart-empty .statement{font-size:clamp(34px,4vw,64px)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start;max-width:1320px;margin:0 auto}
.contact-intro{display:flex;flex-direction:column;gap:28px}
.contact-intro .display{font-size:clamp(72px,9vw,150px)}
.contact-intro .statement{font-size:clamp(24px,2.4vw,36px);max-width:20ch}
.contact-form{display:flex;flex-direction:column;gap:6px;padding-top:12px}
.field{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid var(--ink)}
.field input,.field select,.field textarea{border:0;background:transparent;font:inherit;font-size:20px;color:var(--ink);padding:0;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none}
.contact-form .btn{align-self:flex-start;margin-top:24px}
.contact-ok{padding:14px 0;border-bottom:1px solid var(--rule)}
.shop .merch-plate img.shop-img{object-fit:contain;padding:10%}
.shop-pages{margin-top:40px;display:flex;gap:16px}
.lost{min-height:calc(100svh - var(--hh,62px) - 34px);display:flex;flex-direction:column;justify-content:center;gap:28px}
.lost-num{font-size:clamp(120px,24vw,360px);color:transparent;-webkit-text-stroke:1px var(--paper)}
.lost .statement{font-size:clamp(28px,3.4vw,56px);max-width:22ch}
.plain-title{font-size:clamp(56px,7vw,120px);margin-bottom:40px}
.rte{font-size:19px;line-height:1.6}
.rte a{text-decoration:underline;text-underline-offset:4px}
@media (max-width:760px){.pdp-grid,.contact-grid{grid-template-columns:1fr}.pdp-info{position:static}.pdp-media{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}.pdp-frame{scroll-snap-align:start}.cart-line{grid-template-columns:80px 1fr auto;gap:12px 16px}.cart-line .pdp-qty{grid-column:2}.cart-total{grid-column:3;grid-row:1}.cart-line>.link-u{grid-column:3;justify-self:end}}
