.product-page{--product-gutter:clamp(1.25rem,4vw,4rem);background:var(--color-primary);min-height:100svh;color:var(--color-secondary)}.product-hero{padding:calc(4.75rem + var(--space-10)) var(--product-gutter) var(--space-section);grid-template-columns:minmax(0,1.25fr) minmax(21rem,.75fr);gap:clamp(2rem,6vw,7rem);display:grid}.product-gallery{gap:var(--space-4);grid-template-columns:1fr 1fr;align-content:start;display:grid}.product-gallery-image{background:var(--color-charcoal);aspect-ratio:3/4;margin:0;overflow:hidden}.product-gallery-image--1{grid-column:1/-1}.product-gallery-image img,.related-products img{object-fit:cover;filter:grayscale()contrast(1.04);width:100%;height:100%;display:block}.product-details{top:calc(4.75rem + var(--space-5));padding-top:var(--space-5);align-self:start;position:sticky}.product-eyebrow,.product-sizes legend,.product-size-group>span,.product-quantity>span,.product-policy summary{font:var(--font-size-label)/1.4 var(--font-mono);letter-spacing:var(--tracking-label)}.product-eyebrow{color:var(--color-muted);margin:0}.product-details h1,.related-products h2{margin:var(--space-5) 0 0;font-size:var(--font-size-h3);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.product-price{margin:var(--space-5) 0 0;font:var(--font-size-small)/1.4 var(--font-mono);letter-spacing:var(--tracking-label);color:var(--color-soft-gray)}.product-description{max-width:var(--measure);margin:var(--space-10) 0 0;color:var(--color-muted);font-size:var(--font-size-body);line-height:1.7}.product-fit{margin:var(--space-8) 0 0;font:var(--font-size-label)/1.4 var(--font-mono);letter-spacing:var(--tracking-label)}.product-sizes{margin:var(--space-10) 0 0;border:0;padding:0}.product-sizes legend{padding:0}.product-size-group{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:4rem 1fr;display:grid}.product-size-group>span{padding-top:var(--space-3);color:var(--color-soft-gray)}.product-size-group>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.product-size-group button{min-width:2.75rem;padding:var(--space-3);border:1px solid var(--color-graphite);font:var(--font-size-label)/1 var(--font-mono);transition:background var(--motion-fast) var(--ease-smooth),color var(--motion-fast) var(--ease-smooth);background:0 0}.product-size-group button:hover,.product-size-group button.is-selected{background:var(--color-secondary);color:var(--color-primary)}.product-purchase{gap:var(--space-4);margin-top:var(--space-10);grid-template-columns:auto 1fr;display:grid}.product-quantity{border:1px solid var(--color-graphite);font:var(--font-size-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);align-items:center;display:flex}.product-quantity>span{display:none}.product-quantity button{background:0 0;border:0;place-items:center;width:2.75rem;height:100%;min-height:3rem;display:grid}.product-quantity output{text-align:center;width:1.5rem}.product-add{border:1px solid var(--color-secondary);background:var(--color-secondary);min-height:3rem;color:var(--color-primary);justify-content:center;align-items:center;gap:var(--space-2);font:var(--font-size-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);transition:background var(--motion-fast) var(--ease-smooth),color var(--motion-fast) var(--ease-smooth);display:flex}.product-add:hover{color:var(--color-secondary);background:0 0}.product-policies{margin-top:var(--space-12);border-top:1px solid var(--color-graphite)}.product-policy{border-bottom:1px solid var(--color-graphite)}.product-policy summary{padding:var(--space-5) 0;cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.product-policy summary::-webkit-details-marker{display:none}.product-policy summary svg{transition:transform var(--motion-fast) var(--ease-luxury)}.product-policy[open] summary svg{transform:rotate(45deg)}.product-policy p{max-width:var(--measure);margin:0 0 var(--space-5);color:var(--color-muted);font-size:var(--font-size-small);line-height:1.7}.product-page :is(a,button,summary):focus-visible{outline:1px solid var(--color-secondary);outline-offset:var(--space-2)}.related-products{padding:var(--space-section) var(--product-gutter);border-top:1px solid var(--color-graphite)}.related-products h2{font-size:var(--font-size-h2);margin-top:var(--space-4)}.related-products>div{gap:var(--space-4);margin-top:var(--space-12);grid-template-columns:repeat(3,1fr);display:grid}.related-products a{font:var(--font-size-label)/1.4 var(--font-mono);letter-spacing:var(--tracking-label)}.related-products a>span{aspect-ratio:3/4;background:var(--color-charcoal);display:block;overflow:hidden}.related-products img{transition:transform var(--motion-cinematic) var(--ease-luxury),filter var(--motion-slow) var(--ease-smooth)}.related-products strong,.related-products small{font:inherit;display:block}.related-products strong{margin-top:var(--space-4);font-weight:400}.related-products small{margin-top:var(--space-2);color:var(--color-soft-gray)}@media (hover:hover){.related-products a:hover img{filter:grayscale(.3)contrast(1.04);transform:scale(1.025)}}@media (max-width:43.75rem){.product-hero{padding-top:4rem;display:block}.product-gallery{margin-inline:calc(var(--product-gutter) * -1);gap:var(--space-2);grid-template-columns:1fr}.product-gallery-image--1{grid-column:auto}.product-details{padding-top:var(--space-12);position:static}.product-details h1{font-size:var(--font-size-h4)}.product-description{margin-top:var(--space-8)}.product-purchase{grid-template-columns:1fr}.product-quantity{justify-content:center}.product-quantity>span{margin-right:var(--space-5);display:block}.related-products{padding-block:var(--space-24)}.related-products>div{gap:var(--space-8);margin-top:var(--space-10);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.product-size-group button,.product-add,.product-policy summary svg,.related-products img{transition:none}}.product-validation{margin:var(--space-5) 0 0;color:var(--color-error);font:var(--font-size-label)/1.5 var(--font-mono);letter-spacing:var(--tracking-label)}.product-policy-link{color:var(--color-secondary);text-underline-offset:.18em;text-decoration:underline}
