/* Adapt the editorial composition to touch screens and short viewports. */
.site :is(.story-layout,.collection-editorial,.product-layout,.contact-layout,.about-story,.footer-grid)>*{min-width:0}
.site :is(h1,h2,h3){text-wrap:balance}
.site :is(.site-header,.section,.page-heading,.page-visual,.site-footer){padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.site-footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}
.site .languages a{justify-content:center;min-width:28px;min-height:44px}
@media(max-width:1100px) and (min-width:651px){
 .site .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
 .site .product-card h3{font-size:clamp(29px,3.8vw,40px)}
 .site .card-description{font-size:13px}
 .site .catalog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .site .catalog-filters label{min-width:0;font-size:12px}
 .site .catalog-filters label:first-child{grid-column:1/-1}
 .site .catalog-filters .button{justify-content:center;min-height:49px}
}
@media(max-width:900px){
 .site-header nav{height:calc(100dvh - 80px);justify-content:flex-start;padding:clamp(24px,6vh,65px) var(--gutter) max(32px,env(safe-area-inset-bottom));gap:12px;overscroll-behavior:contain;scrollbar-gutter:stable}
 .site-header nav>a{flex-shrink:0;font-size:clamp(34px,6vw,50px);min-height:52px}
 .site-header .languages{flex-shrink:0;gap:20px;margin-top:10px}
 .site-header .languages a{min-width:44px;font-size:12px}
 .site .contact-layout{grid-template-columns:minmax(0,1fr);gap:40px}
 .contact-form{max-width:720px;width:100%}
 .site .contact-link{font-size:clamp(26px,4.2vw,38px)}
 .site .contact-layout address{font-size:16px}
 .site .map-container{height:clamp(320px,52vw,460px)}
 .site .section-heading{flex-wrap:wrap;align-items:start;gap:20px}
 .site .section-heading>div{min-width:0;flex:1 1 260px}
 .site .section-heading>.text-link{font-size:12px;gap:20px}
 .site .collection-editorial,.site .collection-editorial.reverse{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:65px}
 .site .collection-editorial.reverse .collection-image{order:0}
 .site .collection-editorial h2{font-size:clamp(45px,7vw,70px);margin-bottom:18px}
 .site .collection-editorial p{font-size:15px;max-width:56ch}
 .site .collection-image img{aspect-ratio:3/2}
 .site .product-layout{grid-template-columns:minmax(0,1fr);gap:30px}
 .product-gallery{max-width:850px;width:100%}
 .site .product-info{padding:0;max-width:720px}
 .site .product-info>.prose,.site .product-info details{font-size:15px}
 .site .product-info summary{font-size:15px;min-height:24px}
 .site .footer-grid>div{font-size:13px}
 .site .footer-grid a:not(.wordmark){min-height:44px;padding-block:10px}
 .site .footer-grid :is(p,address){font-size:13px}
 .site .footer-grid .eyebrow{font-size:10px;margin-bottom:15px}
 .site .footer-grid small{font-size:11px}
 .site .footer-bottom{font-size:12px}
 .site .footer-bottom>small{font-size:11px}
 .site .replay-intro{font-size:12px;min-height:44px}
 .site :is(input:not([type=checkbox]):not([type=hidden]),select,textarea),.minimal-body input:not([type=hidden]):not([type=checkbox]),.minimal-body :is(select,textarea){font-size:16px}
 .site label{font-size:14px}
 .site .checkbox{font-size:13px;line-height:1.7;min-height:44px}
 .site .checkbox input{width:21px;height:21px}
 .site .contact-form>.muted{font-size:12px;line-height:1.7}
 .site .field-error{font-size:12px}
 .site .button{font-size:13px;min-height:50px;gap:24px}
 .site .text-link{font-size:13px}
}
@media(min-width:651px) and (max-width:900px){
 .site .hero{height:auto;min-height:max(800px,100svh);max-height:none}
 .site .hero-text{padding:160px var(--gutter) 145px}
 .site .hero-text h1{font-size:clamp(82px,11vw,100px)}
 .site .hero-description{flex-direction:row;align-items:center;gap:28px}
 .site .hero-description>p{font-size:15px;max-width:29ch}
 .site .hero-description .button{gap:25px}
 .site .materials-story{grid-template-columns:minmax(0,1fr)}
 .site .material-photo{min-height:0;aspect-ratio:16/9}
 .site .material-copy{padding:55px var(--gutter);max-width:760px}
 .site .material-copy h2{font-size:60px;max-width:17ch}
 .site .material-copy>p:not(.eyebrow){font-size:15px;max-width:60ch}
 .site .home-contact{grid-template-columns:minmax(0,1fr)}
 .site .contact-visual{height:380px}
 .site .home-contact>div:last-child{padding:55px var(--gutter)}
 .site .home-contact h2{max-width:16ch;font-size:60px}
 .site .home-contact p:not(.eyebrow){font-size:15px}
}
@media(max-width:650px){
 :root{--gutter:clamp(20px,5.6vw,32px)}
 .site-header{gap:20px}
 .site-header .wordmark.brand-lockup{width:165px}
 .site-header .wordmark.brand-lockup small{padding-left:46px}
 .menu-button{font-size:11px;gap:10px;min-width:80px;justify-content:flex-end}
 .site .hero{height:auto;min-height:max(680px,100svh);max-height:none}
 .site .hero-text{padding:145px var(--gutter) 130px}
 .site .hero-text>.eyebrow{font-size:9px;max-width:none;margin-bottom:24px}
 .site .hero-text h1{font-size:clamp(60px,16vw,94px);max-width:9ch;line-height:1.02}
 .site .hero-description{margin-top:28px;gap:22px}
 .site .hero-description>p{font-size:14px;line-height:1.75;max-width:33ch}
 .site .hero-description .button{font-size:13px;min-height:52px;min-width:230px}
 .site .hero-bottom{bottom:24px;align-items:center;gap:20px}
 .site .scroll-link{font-size:10px}
 .site .hero-bottom>span:nth-child(2){font-size:8px;max-width:120px}
 .site .scroll-link>span{width:40px;height:40px;flex-shrink:0}
 .site .section{padding-top:56px;padding-bottom:56px}
 .site .section-heading{gap:15px;margin-bottom:28px}
 .site .section-heading>div{flex-basis:100%}
 .site .section-heading h2,.site .story-heading h2{font-size:clamp(40px,11vw,56px);max-width:15ch}
 .site .section-heading .eyebrow{font-size:9px}
 .site .story-copy{grid-template-columns:55px minmax(0,1fr);gap:0 20px}
 .site .story-mark.brand-monogram{width:55px}
 .site .story-copy>p{font-size:15px;line-height:1.85}
 .site .origin-note{margin-top:30px}
 .site .collection-caption p,.site .card-description{font-size:14px;line-height:1.75}
 .site .collection-caption h3{font-size:clamp(38px,10vw,48px)}
 .site .collections-section{padding-top:10px}
 .site .collection-pair{gap:38px}
 .site .collection-tile:nth-child(2){padding-top:0}
 .site .collection-editorial:last-child{margin-bottom:0}
 .site .product-card h3{font-size:clamp(30px,8.2vw,40px);line-height:1.12}
 .site .product-card>.eyebrow{font-size:10px}
 .site .demo-label{font-size:10px;padding:6px 9px}
 .site .visual-chapter{height:auto;min-height:580px;max-height:none}
 .site .chapter-content{padding:70px var(--gutter) 95px}
 .site .chapter-content h2{font-size:clamp(53px,14vw,72px);max-width:10ch}
 .site .chapter-content>p:not(.eyebrow){font-size:14px;line-height:1.8}
 .site .material-copy{padding:45px var(--gutter)}
 .site .material-copy h2{font-size:clamp(40px,11vw,54px);margin:22px 0 28px}
 .site .material-copy>p:not(.eyebrow){font-size:15px;line-height:1.85}
 .site .detail-words{font-size:24px;gap:18px;padding:22px 0}
 .site .home-contact>div:last-child{padding:48px var(--gutter) 56px}
 .site .home-contact h2{font-size:clamp(43px,12vw,62px)}
 .site .home-contact p:not(.eyebrow){font-size:14px}
 .site .page-heading{padding-top:38px;padding-bottom:36px}
 .site .page-heading h1{font-size:clamp(51px,14vw,72px);margin-top:20px}
 .site .page-heading>p:not(.eyebrow){font-size:15px}
 .site .page-visual{min-height:360px;padding-block:55px 65px}
 .site .page-visual h1{font-size:clamp(52px,14vw,72px)}
 .site .page-visual p:not(.eyebrow){font-size:14px;line-height:1.8}
 .site .catalog-section{padding-top:0}
 .site .catalog-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
 .site .catalog-filters label{min-width:0;font-size:13px}
 .site .catalog-meta{font-size:13px;margin-bottom:24px}
 .site .contact-layout{gap:32px}
 .site .contact-layout h2{font-size:48px}
 .site .contact-form{padding:25px 20px}
 .site .contact-form .button{white-space:normal}
 .site .map-section{padding-top:0}
 .site .map-section .section-heading{gap:15px}
 .site .map-container{height:340px}
 .site .about-page{padding-top:15px}
 .site .about-story .prose,.site .reading-page .prose{font-size:16px;line-height:1.85}
 .site .about-address address{font-size:16px}
 .site .product-detail{padding-top:20px}
 .site .product-info h1{font-size:clamp(42px,12vw,60px)}
 .site .product-actions{flex-wrap:wrap}
 .site .gallery-thumbs{gap:10px}
 .site .gallery-thumbs button{width:70px;min-height:48px}
 .site .footer-grid{gap:30px 20px}
 .site .footer-grid .wordmark.brand-lockup{width:220px;margin-bottom:15px}
 .site .footer-bottom{gap:14px 18px}
 .site .footer-bottom>a{min-height:44px;display:flex;align-items:center}
 .site .footer-bottom>.languages{gap:4px}
 .site .footer-bottom>.languages a{min-width:36px}
 .site .footer-bottom>a:last-child{min-width:44px}
 .minimal-body>main{margin-top:45px}
 .minimal-body .login-panel h1{font-size:clamp(47px,12vw,65px)}
}
@media(max-width:900px) and (max-height:500px){
 .site-header nav{padding-block:16px max(20px,env(safe-area-inset-bottom));gap:4px}
 .site-header nav>a{font-size:32px;min-height:44px}
 .site-header .languages{margin-top:0;padding-block:6px}
 .intro-identity{padding-block:25px 70px}
 .intro-identity>.eyebrow{margin-bottom:10px}
 .intro-brand.brand-intro>span{width:min(60vw,500px)}
 .intro-baseline{margin-top:15px;padding-top:12px}
}
