:root{color-scheme:dark;--bone:#e9dfc8;--red:#ee302f}*{box-sizing:border-box}body{margin:0;background:#111110;color:var(--bone);font-family:Arial,sans-serif}.notice{padding:10px;text-align:center;background:var(--bone);color:#181818;font-size:11px;letter-spacing:.08em}header{display:flex;justify-content:space-between;align-items:center;padding:28px 6vw;border-bottom:1px solid #333}.brand{color:inherit;text-decoration:none;font-weight:bold;font-size:24px}.brand span{color:var(--red);font-size:15px;margin-left:5px}button,select{font:inherit;color:inherit;background:transparent;border:1px solid #666;padding:12px 18px;cursor:pointer}button:hover{border-color:var(--bone)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:4px}main{max-width:1440px;margin:auto;padding:0 6vw}.intro{padding:70px 0 50px}.eyebrow,.small{font-size:11px;letter-spacing:.08em;line-height:1.7;color:#a9a596}h1{font-size:clamp(40px,7vw,100px);letter-spacing:-.06em;line-height:.95;margin:22px 0}h2{letter-spacing:-.04em}.intro>p:not(.eyebrow){max-width:500px;line-height:1.5}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 25px}.card{border:0;text-align:left;padding:0;width:100%}.art{height:520px;background:#20201e;display:flex;align-items:center;justify-content:center;overflow:hidden}.art img{width:90%;height:93%;object-fit:contain}.card h2{font-size:24px;margin-bottom:5px}.meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#b5ae9e}footer{padding:80px 0 35px;font-size:14px}footer>span{float:right}footer p{font-size:11px;color:#aaa;max-width:580px;line-height:1.6}dialog{background:#171715;color:var(--bone);border:1px solid #555;padding:40px;width:min(960px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#000c}.close{position:absolute;top:10px;right:10px;border:0;font-size:24px;padding:4px 10px}.product-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.product-layout .art{height:480px}.copy{padding-top:25px}.copy p{line-height:1.7;font-size:14px}.primary{background:var(--bone);color:#111;border:0;margin-top:20px;width:100%;font-weight:bold}.views{display:flex;gap:10px;margin:12px 0}.line{display:flex;justify-content:space-between;gap:10px;padding:20px 0;border-bottom:1px solid #444}.line button{font-size:11px;padding:6px}#total{font-size:22px}#receipt{padding-top:20px;color:var(--bone)}@media(max-width:650px){header{padding:20px}.intro{padding:45px 0}.grid{grid-template-columns:1fr;gap:35px}.art{height:440px}.product-layout{grid-template-columns:1fr}.product-layout .art{height:360px}dialog{padding:35px 20px}.copy{padding:0}footer>span{float:none;display:block;margin-top:10px}}

.product-open{display:block;width:100%;padding:0;border:0;text-align:left}.switch-art{position:relative}.switch-art img{position:absolute;transition:opacity .25s ease}.garment-art{opacity:0}.view-caption{position:absolute;bottom:12px;left:14px;font-size:9px;background:#111c;padding:6px;letter-spacing:.08em}.show-garment .flat-art{opacity:0}.show-garment .garment-art{opacity:1}.toggle-view{font-size:10px;margin-top:16px;letter-spacing:.08em}.toggle-view[aria-pressed=true]{background:var(--bone);color:#111}@media(hover:hover){.product-open:hover .flat-art,.product-open:focus-visible .flat-art{opacity:0}.product-open:hover .garment-art,.product-open:focus-visible .garment-art{opacity:1}}@media(prefers-reduced-motion:reduce){.switch-art img{transition:none}}

.garment-art{background:white}.views{flex-wrap:wrap}.product-layout .art:has(img[src*="supplier"]){background:white}

.cost-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #444;font-size:14px}

.product-layout .art:has(img[src^="https://files.tapstitch.com"]){background:white}

.primary:disabled{opacity:.65;cursor:not-allowed}.shop-book{color:var(--bone);font-size:12px;text-decoration:none;border-bottom:1px solid #666;padding-bottom:5px}

.size-guide{margin:20px 0}.size-guide summary{cursor:pointer;padding:12px 0}.size-guide table{width:100%;border-collapse:collapse;font-size:13px}.size-guide th,.size-guide td{text-align:left;padding:8px;border-bottom:1px solid #444}

.views [aria-pressed="true"]{background:var(--bone);color:#111}.views button{font-size:11px;min-height:44px}.product-layout .art img{width:100%;height:100%;object-fit:contain}dialog{overscroll-behavior:contain}.size-guide{overflow-x:auto}
