/* Shared storefront layout: phones, tablets and wide screens. */
:root{--page-gutter:clamp(20px,5vw,80px);--section-space:clamp(56px,7vw,100px);--paper:#f8f6f1;--ink:#292522}
body{background:var(--paper);color:var(--ink);line-height:1.6}
body>main,body>header,body>footer{max-width:1600px;margin-inline:auto}
h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere}
p,dd{overflow-wrap:break-word}
.button{min-height:48px;line-height:1.5;max-width:100%}
.button>span{flex-shrink:0}
header{height:92px;padding-inline:var(--page-gutter);gap:24px}
header .brand img{width:66px;height:72px}
header nav{gap:clamp(18px,2.4vw,36px)}
header nav a{min-height:44px;display:flex;align-items:center}
.announcement{min-height:32px;height:auto;padding:7px 20px;line-height:1.5}
.section{padding:var(--section-space) var(--page-gutter)}
.section-head{gap:28px;margin-bottom:36px}
.section-head>div{min-width:0}
.section-intro{max-width:320px}
.hero{min-height:620px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-copy{padding:clamp(40px,5vw,80px) clamp(24px,5vw,80px) 30px}
.hero h1{font-size:clamp(48px,5.3vw,82px);line-height:1.04}
.hero-foot{gap:16px;letter-spacing:1px}
.hero-foot a{flex-shrink:0;width:44px;height:44px}
.hero-visual{min-width:0}
.image-caption{gap:16px;line-height:1.5}
.brand-strip{flex-wrap:wrap;padding:22px var(--page-gutter);gap:14px 24px}
.shop-gate{min-height:auto;background:var(--paper);padding:22px var(--page-gutter) 20px}
.gate-brand,.gate-footer{width:100%;max-width:1170px;margin-inline:auto}
.gate-brand{gap:20px}
.gate-intro{padding:36px 0 32px}
.gate-intro h1{font-size:clamp(50px,6.4vw,88px);line-height:.98;letter-spacing:-2px}
.gate-collections{gap:20px;margin:0 auto;align-items:stretch}
.gate-card{height:clamp(350px,43vw,530px);min-height:0}
.gate-label{gap:16px;flex-wrap:wrap}
.gate-label b{line-height:1.02;font-size:clamp(32px,3.3vw,48px)}
.gate-card:after{height:58%;background:linear-gradient(0deg,#201713b0,transparent)}
.gate-footer{margin-top:24px;gap:16px;flex-wrap:wrap}
.shop-gate>.accessory-feature{margin-top:20px}
.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.collection-grid .offset,.collection-grid .small-card{margin-top:0;width:100%;grid-column:auto;justify-self:stretch}
.collection-grid .photo-wrap{aspect-ratio:3/4}
.card-caption{padding:18px 0 0}
.card-caption h3{font-size:clamp(26px,2.5vw,36px);line-height:1.15;min-height:1.15em}
.card-caption>span{display:block;line-height:1.7;letter-spacing:1px}
.manifesto{padding:var(--section-space) var(--page-gutter)}
.manifesto h2{font-size:clamp(38px,4.8vw,68px);line-height:1.12}
.manifesto>p{max-width:620px;margin-inline:auto}
.selection h2{font-size:clamp(36px,4vw,56px)}
#selection .product-grid:not(.catalog-groups){gap:32px 22px}
#selection .product-model{min-width:0;background:#f0ece6;display:flex;flex-direction:column}
#selection .product-model[hidden]{display:none}
#selection .product-model .product-img{aspect-ratio:2/3;flex-shrink:0;background:#ece7e0}
#selection .product-model .product-img img{object-fit:contain;object-position:center}
#selection .product-model .product-meta{padding:17px 16px 20px;flex:1;border-top:1px solid var(--line)}
#selection .product-model .product-meta h3{font-size:clamp(21px,2vw,28px);line-height:1.15;letter-spacing:.5px;margin-bottom:8px}
#selection .product-model .model-card-price{font-size:23px;color:var(--ink);line-height:1.4}
.catalog-carousel{padding-bottom:36px;margin-bottom:36px}
.carousel-heading{gap:24px}
.carousel-heading>div{min-width:0}
.carousel-actions{flex-shrink:0}
.carousel-arrow{width:44px;height:44px;flex-shrink:0}
.catalog-track{gap:22px;align-items:stretch}
.single-model{gap:36px;padding:36px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.atelier{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.atelier-photo{min-height:560px}
.atelier-copy{padding:clamp(40px,5vw,72px) clamp(28px,5vw,76px)}
.atelier-copy h2{font-size:clamp(38px,4.3vw,58px)}
.closing{padding:var(--section-space) var(--page-gutter)}
.closing h2{font-size:clamp(48px,6vw,76px)}
footer{padding:40px var(--page-gutter) 24px}
.footer-top{display:grid;grid-template-columns:100px minmax(220px,1fr) minmax(150px,.65fr) 44px;gap:32px;align-items:start}
.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;width:auto;order:initial}
.footer-top>.back-top{width:44px;height:44px;margin:0}
.footer-contact-line,.footer-social{gap:8px 18px}
.footer-bottom{gap:20px;flex-wrap:wrap;line-height:1.7}
.model-page{padding:32px var(--page-gutter) 72px}
.model-breadcrumb{max-width:1400px;margin-inline:auto}
.model-page .model-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px)}
.model-page .model-info h1{font-size:clamp(38px,4.4vw,64px);line-height:1.05}
.model-page .model-facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:start}
.model-page .model-facts dd{text-align:left}
.model-page .model-color{min-height:46px;padding:10px 4px}
.model-page .model-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.model-page .model-thumbs button{min-width:0}
dialog:not(.model-lightbox){padding:48px 32px 32px;max-height:calc(100dvh - 32px)}
.dialog-close{min-width:44px;min-height:44px}
@media(min-width:651px) and (max-width:1050px){
 .announcement span{display:none}
 .hero{min-height:560px}.hero-copy{padding-inline:30px}.hero h1{font-size:56px}
 .gate-label{left:22px;right:22px;bottom:22px}
 .section-head{flex-direction:column;align-items:flex-start}
 #selection .product-grid:not(.catalog-groups){grid-template-columns:repeat(3,minmax(0,1fr))}
 .catalog-track>.product{flex-basis:calc((100% - 44px)/3)}
 .single-model .catalog-track>.product{flex-basis:100%}
 .footer-top{grid-template-columns:80px minmax(0,1fr) 44px;gap:24px}
 .footer-top>div{grid-column:2;grid-row:2;flex-direction:row;flex-wrap:wrap}
 .footer-top>.back-top{grid-column:3;grid-row:1}
}
@media(max-width:750px){
 header{gap:18px}header nav{gap:16px}body header nav{font-size:12px}
 .carousel-heading{align-items:flex-start}
 .carousel-actions{flex-wrap:wrap;justify-content:flex-end;max-width:145px}
 .carousel-actions>a{width:100%;margin:0 0 6px;font-size:11px;text-align:right}
 .carousel-arrow{width:44px;height:44px}
 .catalog-track{margin-right:0;padding-right:0}
 .single-model .carousel-actions{max-width:none;justify-content:flex-start}
 .single-model .carousel-actions>a{text-align:left}
}
@media(max-width:650px){
 :root{--page-gutter:20px;--section-space:56px}
 html{scroll-padding-top:86px}
 header{height:78px;padding:6px var(--page-gutter)}
 header .brand img{width:59px;height:64px}
 .menu-toggle{width:44px;height:44px}
 header nav{top:78px;padding:18px var(--page-gutter)}
 body header nav{font-size:14px}
 .announcement{font-size:10px;letter-spacing:.7px}
 .shop-gate{padding:16px var(--page-gutter) 20px}
 .gate-brand img{width:60px;height:65px}
 .gate-brand span{font-size:10px;letter-spacing:1px;text-align:right}
 .gate-intro{padding:30px 0 26px}
 .gate-intro h1{font-size:clamp(48px,13vw,68px)}
 .gate-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .gate-card{height:clamp(260px,66vw,380px)}
 .gate-label{left:13px;right:13px;bottom:18px;gap:10px;align-content:end}
 .gate-label b{font-size:clamp(24px,5.7vw,34px);line-height:1.05}
 body:has(.shop-gate) .gate-label small{font-size:9px;letter-spacing:.2px;line-height:1.6}
 .gate-label i{margin-left:4px;font-size:16px}
 .gate-number{top:13px;left:14px;font-size:22px}
 .gate-footer{font-size:9px;letter-spacing:.7px;margin-top:20px}
 .shop-gate>.accessory-feature{grid-template-columns:38% minmax(0,62%);margin-top:12px}
 .shop-gate .accessory-feature-copy{padding:22px 16px}
 body:has(.shop-gate) .accessory-feature-copy .eyebrow{font-size:9px;letter-spacing:.8px}
 .shop-gate .accessory-feature-copy h3{font-size:clamp(27px,7vw,36px)}
 .shop-gate .accessory-feature-copy .button{font-size:11px;gap:8px;width:100%;padding:11px}
 .hero{grid-template-columns:1fr;min-height:0}
 .hero-copy{padding:40px var(--page-gutter) 30px}
 .hero h1{font-size:clamp(44px,11vw,62px);margin:24px 0}
 .hero-visual{height:clamp(380px,120vw,570px)}
 .hero-foot{font-size:10px;letter-spacing:.8px}
 .image-caption{left:20px;right:20px;font-size:10px}
 .brand-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px;font-size:11px}
 .brand-strip i{display:none}
 .section-head{gap:20px;margin-bottom:28px;align-items:flex-start}
 .section h2{font-size:clamp(34px,9vw,44px)}
 .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
 .collection-grid .small-card{grid-column:1/-1;display:grid;grid-template-columns:38% minmax(0,1fr);gap:20px;align-items:center;background:#eee6df}
 .collection-grid .small-card .photo-wrap{aspect-ratio:1/1;min-height:160px;height:100%}
 .collection-grid .small-card .card-caption{padding:20px 14px 20px 0}
 .card-caption h3{font-size:27px}
 body:has(.shop-gate) .card-caption>span{font-size:10px;letter-spacing:.6px}
 #selection .product-grid:not(.catalog-groups){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 #selection .product-model .product-meta{padding:13px 10px 15px}
 #selection .product-model .product-meta h3{font-size:21px}
 #selection .product-model .model-card-price{font-size:21px}
 #selection .product-model .product-meta>span:last-child{font-size:11px;letter-spacing:.2px}
 .product-img>span{font-size:10px;padding:9px}
 .catalog-track{gap:12px}
 .catalog-track>.product{flex-basis:calc((100% - 12px)/2)}
 .carousel-heading{gap:12px;margin-bottom:20px}
 .carousel-heading h3{font-size:clamp(27px,7vw,34px)}
 .carousel-heading .eyebrow{font-size:10px;letter-spacing:1px}
 .carousel-actions{max-width:110px;gap:6px}
 .carousel-actions>a{font-size:10px;white-space:normal}
 .single-model{grid-template-columns:1fr;padding:24px;gap:22px}
 .single-model .catalog-track{max-width:360px}
 .single-model .catalog-track>.product{flex-basis:100%}
 .atelier{grid-template-columns:1fr}.atelier-photo{min-height:380px}
 .atelier-copy{padding:40px var(--page-gutter) 48px}
 .atelier-copy h2{font-size:44px}
 .footer-top{grid-template-columns:minmax(0,1fr) 44px;gap:24px}
 .footer-top>img{grid-column:1;width:72px;height:80px}
 .footer-contact{grid-column:1/-1;grid-row:2}
 .footer-top>div{grid-column:1/-1;grid-row:3;flex-direction:row;flex-wrap:wrap;gap:12px 22px}
 .footer-top>.back-top{grid-column:2;grid-row:1}
 .footer-bottom{font-size:10px;gap:10px}
 .model-page{padding:24px var(--page-gutter) 48px}
 .model-page .model-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .model-page .model-gallery{width:100%}
 .model-page .model-info h1{font-size:clamp(38px,11vw,54px)}
 .model-page .model-facts div{grid-template-columns:75px minmax(0,1fr);gap:12px}
 .model-sticky-cta{left:var(--page-gutter);right:var(--page-gutter);width:auto}
 dialog:not(.model-lightbox){padding:48px 22px 24px;width:calc(100% - 24px)}
 body textarea,body select,body input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.catalog-track{scroll-behavior:auto}.button:hover{transform:none}}
