/* ZWAKA shared design system. Change scales here, never per URL. */
:root{
 --zg-font-display:"Clash Display",Archivo,Arial,sans-serif;
 --zg-font-body:Archivo,Arial,sans-serif;
 --zg-hero:clamp(32px,4.5vw,72px);
 --zg-section-title:clamp(28px,2.8vw,42px);
 --zg-card:clamp(22px,2vw,32px);
 --zg-body:16px;
 --zg-question:clamp(18px,1.8vw,23px);
 --zg-statement:clamp(23px,2.6vw,36px);
 --zg-gutter:max(24px,calc((100vw - 1320px)/2));
 --zg-section:56px;
 --zg-heading-leading:1.22;
 --zg-heading-tracking:-.015em;
}
@media(max-width:780px){:root{--zg-hero:clamp(27px,6.4vw,44px);--zg-section:36px;--zg-body:16px}}
main[data-zwaka-route]>section:not(.hero) :is(h1,h2,h3){font-family:var(--zg-font-display);letter-spacing:var(--zg-heading-tracking);line-height:var(--zg-heading-leading);overflow-wrap:anywhere;hyphens:none}
main[data-zwaka-route]>section:not(.hero) h1{font-size:var(--zg-hero);line-height:1.13}
main[data-zwaka-route]>section:not(.hero) h1 em{font-size:.82em;line-height:1.2;letter-spacing:-.01em}
main[data-zwaka-route]>section h2{font-size:var(--zg-section-title)}
main[data-zwaka-route]>section h3{font-size:var(--zg-card)}
main[data-zwaka-route]>section :is(p,li){overflow-wrap:anywhere}

main[data-zwaka-route] .subhero-copy{max-width:none;width:100%;padding-right:var(--zg-gutter)}
main[data-zwaka-route] .subhero-copy h1{max-width:1000px}
main[data-zwaka-route] .subhero-copy h1 em{display:block;margin-top:14px;white-space:normal}
main[data-zwaka-route] .subintro{padding-top:var(--zg-section);padding-bottom:36px;gap:40px;align-items:center}
main[data-zwaka-route] .sub-link-grid>a{min-height:0;padding:32px 36px 46px}
main[data-zwaka-route] .sub-link-grid .micro{margin-top:24px;line-height:1.5}
main[data-zwaka-route] .sub-link-grid h3{margin:12px 0 16px}
main[data-zwaka-route] .retail-applications-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;margin-bottom:36px}
main[data-zwaka-route] .retail-applications-head>p{padding-top:40px}
main[data-zwaka-route] .retail-application-copy h3{margin:14px 0 16px;max-width:650px}
main[data-zwaka-route] .retail-application-copy p{max-width:650px}
main[data-zwaka-route] :is(.subintro,.retail-applications-head,.owner-copy__head)>*{min-width:0}
main[data-zwaka-route] :is(.sub-link-grid,.detail-grid,.production-grid) :is(article,a){min-width:0}
main[data-zwaka-route] :is(.subintro,.retail-applications-head,.retail-application-copy,.sub-link-grid)>p{font-size:var(--zg-body);line-height:1.65}
main[data-zwaka-route] .sub-faq summary{font-size:var(--zg-question);line-height:1.4;letter-spacing:normal}
main[data-zwaka-route] .owner-copy__statement{font-size:var(--zg-statement)!important;line-height:1.35!important;letter-spacing:-.01em}
/**** Intentional component variants, not page-specific typography ****/
main[data-zwaka-route] .owner-copy__title-accent{font-size:.86em;line-height:1.2;white-space:normal}
main[data-zwaka-route] .owner-copy__body li{letter-spacing:normal}
main[data-zwaka-route] .owner-copy__body li strong{font-size:var(--zg-card);line-height:1.25;letter-spacing:-.01em}
main[data-zwaka-route] .about-range-copy h2{font-weight:400;color:#f5f7f3}
@media(max-width:780px){
 main[data-zwaka-route] .retail-applications-head{grid-template-columns:1fr;gap:20px}
 main[data-zwaka-route] .retail-applications-head>p{padding-top:0}
 main[data-zwaka-route] .subintro{gap:20px;padding-bottom:28px}
 main[data-zwaka-route] .sub-link-grid>a{padding:26px 24px 46px}
 main[data-zwaka-route] .retail-application-copy{padding:24px}
 main[data-zwaka-route] .subhero-copy{padding:72px 24px 88px}
}

/* Shared CTA and footer, migrated from zwaka-footer.css */
body>main>.sub-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:64px max(24px,calc((100vw - 1320px)/2))}
body>main>.sub-cta>div{min-width:0;max-width:900px}
body>main>.sub-cta h2{font-family:Archivo,sans-serif;font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.015em;line-height:1.2;margin:0;text-wrap:balance}
body>main>.sub-cta .eyebrow{margin:0 0 18px}
body>main>.sub-cta p:not(.eyebrow){font-size:16px;line-height:1.65;margin:18px 0 0;overflow-wrap:anywhere}
body>main>.sub-cta>.button{flex-shrink:0;font-family:Archivo,sans-serif;font-size:14px;line-height:1.4;padding:18px 24px;text-align:center}
body>main>footer{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,2fr);gap:16px 64px;align-items:start;padding:48px max(24px,calc((100vw - 1320px)/2));border-top:1px solid #d8ddd5}
body>main>footer>a{grid-column:1;grid-row:1;align-self:start}
body>main>footer>a img{width:225px;max-width:100%;height:auto}
body>main>footer>p{grid-column:1;grid-row:2;font-family:Archivo,sans-serif;font-size:13px;line-height:1.6;margin:0;max-width:260px}
body>main>footer>div{grid-column:2;grid-row:1 / span 2;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 24px!important;align-items:start;justify-content:normal}
body>main>footer>div>a,body>main>footer>div>button.zwaka-cookie-settings-link{display:flex;align-items:center;min-height:44px;margin:0;padding:8px 0;border:0;background:none;font-family:Archivo,sans-serif;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:normal;color:#07542b;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}
body>main>footer>div>a:hover,body>main>footer>div>button:hover{text-decoration:underline;text-underline-offset:4px}
body>main>footer>div>a:focus-visible,body>main>footer>div>button:focus-visible{outline:2px solid #07542b;outline-offset:3px}
@media(max-width:900px){body>main>footer{gap:16px 32px}body>main>footer>div{grid-template-columns:repeat(2,minmax(0,1fr))}body>main>.sub-cta{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:700px){body>main>footer{grid-template-columns:minmax(0,1fr);padding:36px 24px;gap:16px}body>main>footer>a,body>main>footer>p,body>main>footer>div{grid-column:1;grid-row:auto}body>main>footer>div{margin-top:12px;gap:4px 20px!important}body>main>.sub-cta{padding:44px 24px}body>main>.sub-cta>.button{width:auto;max-width:100%}}
/* Contact keeps its structural hero, but uses the common section scale. */
main[data-zwaka-route] .contact-page-hero-copy h2{font-size:var(--zg-section-title)!important;line-height:var(--zg-heading-leading)!important;letter-spacing:var(--zg-heading-tracking)}

/* Brand typography with a distinct primary hero hierarchy. */
main.home-page .hero-copy h1.b2b-title{
 font-family:var(--zg-font-display);
 font-size:clamp(40px,3.65vw,58px)!important;
 font-weight:500;
 letter-spacing:var(--zg-heading-tracking);
 line-height:var(--zg-heading-leading);
 text-transform:none;
}
main.home-page .hero-copy h1.b2b-title em{
 font-family:var(--zg-font-display);
 font-size:.70em;
 font-weight:300;
 letter-spacing:var(--zg-heading-tracking);
 line-height:var(--zg-heading-leading);
 text-transform:none;
 margin-top:8px;
}

@media(max-width:780px){main.home-page .hero-copy h1.b2b-title{font-size:clamp(30px,8vw,40px)!important}}
