/* Shared responsive refinements, including narrow phones and landscape. */
.size-picker{margin:20px 0}.size-picker label,.cart-size-label{display:block;font-size:14px;font-weight:600}
.size-picker select,.cart-size-label select{display:block;min-height:46px;padding:10px 12px;border:1px solid #bcbcc3;border-radius:12px;background:#fff;color:#171719;font:16px inherit;width:100%;margin:8px 0}
.size-picker select{font-size:16px}.size-picker p{font-size:14px;line-height:1.5;color:#68686d}.size-picker #size-error{color:#a32121;margin-top:8px}.cart-size-label{margin-top:12px}.cart-size-label select{font-size:16px;max-width:160px}
.hero-carousel{max-width:480px;margin:32px auto 0;--slide-width:100%}
.hero-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-inline:calc((100% - var(--slide-width))/2);scroll-padding-inline:calc((100% - var(--slide-width))/2);-webkit-overflow-scrolling:touch}
.hero-track::-webkit-scrollbar{display:none}
.hero-track:focus-visible{outline:2px solid #757579;outline-offset:-2px;border-radius:16px}
.hero-slide{flex:0 0 var(--slide-width);scroll-snap-align:center;scroll-snap-stop:always;min-width:0}
.hero-slide img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;mix-blend-mode:multiply;user-select:none}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px}
.carousel-arrow{width:44px;height:44px;border-radius:50%;background:#e8e8ed;font-size:22px;display:grid;place-items:center}
.carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-dots{display:flex;align-items:center}
.carousel-dot{width:36px;height:44px;padding:0;background:transparent;display:grid;place-items:center}
.carousel-dot span{width:7px;height:7px;background:#b5b5bc;border-radius:50%;transition:width .2s,background .2s}
.carousel-dot[aria-current="true"] span{width:22px;border-radius:8px;background:#171719}
@media(max-width:700px){.hero-carousel{--slide-width:100%;max-width:360px;margin-top:28px}.hero-track{gap:12px}.carousel-controls{margin-top:12px}}
html{scroll-padding-top:24px;scrollbar-gutter:stable}
body{overflow-wrap:break-word}
header{height:auto;min-height:76px;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.bag{min-height:44px;font-size:.875rem}
.hero{padding-top:clamp(36px,6vw,72px)}
.hero-copy{max-width:1100px;margin-inline:auto}
.hero h1{font-size:clamp(2.25rem,8vw,6.875rem);letter-spacing:-.045em;line-height:1.08}
.intro{font-size:clamp(1rem,2vw,1.3125rem);max-width:38ch;margin:24px auto}
.eyebrow,.hero-bottom,#product-count,.display-note{font-size:.75rem}
.hero-gallery{height:clamp(210px,42vw,480px);width:100%;max-width:1050px;margin:32px auto 0;gap:clamp(0px,1.5vw,20px);overflow:visible}
.hero-gallery img{min-width:0;flex:1 1 0;width:0;max-width:none;object-fit:contain;object-position:center bottom}
.hero-gallery .hero-side{max-width:none;height:85%;flex-grow:.8}
.hero-gallery .hero-main{max-width:none;flex-grow:1.15}
.hero-bottom{gap:20px}
.hero-bottom>a{min-width:44px;min-height:44px;display:grid;place-items:center}
.collection{width:100%;padding:clamp(40px,6vw,80px) clamp(12px,4vw,48px)}
.collection-bar{flex-wrap:wrap}
.filters{max-width:100%;flex-wrap:wrap;justify-content:center;border-radius:24px}
.filter{font-size:.875rem;min-height:44px;padding:10px 16px;white-space:normal}
.products{align-items:stretch}
.products article{display:flex;flex-direction:column;min-width:0}
.product-info{flex:1;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-inline:clamp(5px,1.5vw,18px)}
.product-info>div{min-width:0;flex:1 1 110px}
.product-info h3{font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.4}
.product-category{font-size:.875rem;line-height:1.5}
.product-price{font-size:clamp(1.125rem,2.4vw,1.5625rem);letter-spacing:-.02em;line-height:1.4;white-space:normal}
.add{width:44px;height:44px;min-width:44px;margin-left:auto}
.add svg{width:22px;height:22px}
.how h2,.collection h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.035em}
.how ol{gap:24px}
.how li,.how li>div{min-width:0}
.how li p{font-size:1rem}
footer{flex-wrap:wrap}
footer a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
dialog{max-height:90vh;max-height:90dvh;max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain}
.product-detail{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-detail>img{height:auto;align-self:start;aspect-ratio:4/5;max-height:650px;object-fit:contain}
.detail-copy{min-width:0;padding:60px clamp(20px,3vw,34px) 32px}
.detail-copy h2{font-size:clamp(1.75rem,4vw,2.4375rem);letter-spacing:-.035em}
.detail-copy>p:not(.detail-price):not(.eyebrow){font-size:1rem}
.detail-copy small,.cart-note{font-size:.875rem}
.close,.plain-close{min-width:44px;width:44px;height:44px;flex-shrink:0}
.cart-dialog{height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.cart-head{position:sticky;top:-24px;background:white;z-index:2;padding-top:12px;gap:12px}
.cart-head h2{font-size:clamp(1.625rem,5vw,1.9375rem)}
.cart-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px 14px}
.cart-row img{width:64px;height:84px;grid-row:1/3}
.cart-row h3,.cart-row p{overflow-wrap:anywhere}
.cart-row .remove{grid-column:2;justify-self:start;margin:0;min-height:44px;font-size:.875rem}
.qty{gap:12px;flex-wrap:wrap}
.qty button{height:44px;width:44px;min-width:44px}
.qty span{font-size:.875rem}
.total{gap:12px;flex-wrap:wrap}
.button{max-width:100%;white-space:normal;text-align:center;min-height:48px}
textarea{font-family:inherit;font-size:1rem;line-height:1.6;max-width:100%}
#toast{width:max-content;max-width:calc(100vw - 32px);white-space:normal;text-align:center;bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:900px){.how ol{grid-template-columns:1fr}.how li{display:flex;gap:16px}.how li>span{flex-shrink:0;margin:0}.how li p{max-width:none}}
@media(max-width:700px){header{min-height:64px}.hero h1{font-size:clamp(2.25rem,9.5vw,4.375rem)}.hero-gallery{height:clamp(190px,57vw,350px)}.products{gap:12px}.product-info{gap:8px}.product-info>div{flex-basis:100%}.product-photo img{object-fit:contain}.product-detail{grid-template-columns:minmax(0,1fr)}.product-detail>img{height:min(44dvh,380px);aspect-ratio:auto}.detail-copy{padding:24px}.cart-dialog{padding:18px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.cart-head{top:-18px}.filters{width:100%;justify-content:space-between;gap:0}.filter{padding:10px 12px}.hero-bottom{font-size:.75rem}.display-note{font-size:.75rem}}
@media(max-width:360px){.filter{padding-inline:9px;font-size:.8125rem}.products{gap:8px}.products article{padding-inline:4px}.product-info{padding-inline:3px}.product-category{font-size:.8125rem}.cart-row{grid-template-columns:48px minmax(0,1fr);column-gap:10px}.cart-row img{width:48px;height:64px}}
@media(max-height:500px) and (min-width:600px){.product-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail>img{height:80dvh;position:sticky;top:0}.detail-copy{padding-top:56px}}
@media(hover:none){.button:hover,.add:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
