/* Shared responsive width system: all public pages. */
:root{--site-content:1440px;--site-gutter:clamp(24px,4vw,80px);--site-wide:1600px}
@media(min-width:701px){
 body{min-width:0}
 body .wrap{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-content);padding-inline:0;margin-inline:auto}
 body .site-header{max-width:none}
 .finish-top .site-header{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-content);padding-inline:0}
 .page-top main{max-width:none;width:100%}
 .page-top .top-hero{max-width:var(--site-wide);margin-inline:auto}
 .page-top .pad,.page-top .choices{padding-inline:max(var(--site-gutter),calc((100% - var(--site-content))/2))}
 .page-top .top-hero .intro{padding:clamp(32px,4vw,64px)}
 .page-top .common-footer-shell{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-content);padding-inline:0;margin-inline:auto}
 .page-buy .hero-grid,.page-shops .hero-inner,.page-products .hero-inner,.page-food .hero-inner{max-width:var(--site-wide);width:100%;margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .page-buy .hero-copy,.page-shops .hero-copy,.page-products .hero-copy,.page-food .hero-copy{min-width:0;padding-left:max(var(--site-gutter),calc((min(100vw,1600px) - 1440px)/2));padding-right:32px}
 .page-buy .hero-visual img{min-height:0;height:100%;aspect-ratio:1.5;object-fit:cover}
 .page-buy .hero-grid{min-height:0}
 .page-shops .hero-photo,.page-products .hero-image,.page-food .hero-photo{height:clamp(420px,32vw,590px);min-height:0}
 .page-about .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,72px)}
 .page-about .hero .hero-basket{width:100%;max-width:100%;margin:0}
 .page-about .origin p,.page-privacy .policy-section p{max-width:78ch}
 .page-contact .contact-layout,.page-privacy .privacy-layout{min-width:0}
}
@media(min-width:1600px){
 .page-about .hero h1{font-size:clamp(40px,2.7vw,52px)}
 .page-top .intro h1{font-size:clamp(48px,2.7vw,58px)}
 .page-buy .hero h1,.page-shops .hero h1,.page-products .hero h1,.page-food .hero h1{font-size:clamp(43px,2.7vw,54px)}
 .page-buy .hero .lead,.page-shops .hero-lead,.page-products .hero-copy>p:not(.eyebrow),.page-food .hero-copy>p:not(.eyebrow){font-size:17px}
}
@media(min-width:701px) and (max-width:1000px){
 .page-products .hero-copy h1,.page-food .hero h1{white-space:normal;font-size:30px}
 .page-buy .hero-copy,.page-shops .hero-copy,.page-products .hero-copy,.page-food .hero-copy{padding-inline:24px}
}
@media(max-width:700px){
 .page-top main{max-width:none;width:100%}
 .page-top .common-footer-shell{max-width:none}
}
@media(min-width:701px){
 .page-top .intro>p{max-width:34em;text-wrap:pretty}
 .page-top .top-hero .hero-photo{max-height:690px;aspect-ratio:auto}
 .page-contact .contact-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:clamp(32px,4vw,72px)}
 .page-privacy .policy-layout{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(32px,4vw,72px)}
 .page-contact .contact-layout>*,.page-privacy .policy-layout>*{min-width:0}
}
@media(min-width:701px) and (max-width:1000px){
 .page-contact .contact-layout,.page-privacy .policy-layout{grid-template-columns:minmax(0,1fr)}
 .page-contact .contact-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
 .page-contact .contact-layout>aside .reply-note{margin-top:0}
}
