/* Global reading scale. Display headings, branding and page content remain unchanged. */
body{font-size:18px}
p,li{line-height:1.75}
.button,.text-link,.main-nav,.compare-button{font-size:16px;line-height:1.5}
.button{min-height:48px;white-space:normal;text-align:center}
.main-nav{gap:22px;flex-shrink:0}
.main-nav a{white-space:nowrap}
.site-header{gap:20px}
.site-header>a:first-child{flex-shrink:0}
.site-footer p,.site-footer a{font-size:15px;line-height:1.75}
.footer-bottom,.footer-bottom a{font-size:13px;line-height:1.6}
.contact-form label,.quote-fields label,.selector-form label span,.field-label{font-size:15px;line-height:1.5}
.contact-form input,.contact-form select,.contact-form textarea,.quote-fields input,.quote-fields select,.selector-form select{font-size:16px;line-height:1.5;min-height:48px}
.contact-form textarea{min-height:140px}
.field-feedback,.form-hint+.notice,.quote-summary .note{font-size:14px;line-height:1.6}
.product-card p,.ods-page .ods-index a{font-size:16px;line-height:1.65}
.product-card small,.ods-page .ods-index small,.eyebrow{line-height:1.6}
.story-controls{flex-wrap:wrap}
.story-controls a{white-space:normal;font-size:14px;line-height:1.5;min-height:48px;display:flex;align-items:center;justify-content:center}
.story-controls a span{font-size:12px}
.application-tabs button{line-height:1.5;min-height:48px}
.ods-page .ods-index a{min-height:155px}
.ods-page .ods-index-arrow{width:20px;min-width:20px}
.scene-panel small,.scene-footer,.resource-value small{letter-spacing:.7px}
.scene-footer{gap:8px}
.resource-value p{font-size:13px;max-width:210px;line-height:1.5}
.resource-value small{font-size:12px}
.note,.source-note,.ods-page .ods-scope-note,.ods-page .ods-clarification{line-height:1.75}
/* Keep mobile text readable rather than shrinking it to make layouts fit. */
@media(max-width:1200px) and (min-width:801px){
 .site-header{padding-left:3%;padding-right:3%}
 .main-nav{gap:15px;font-size:15px}
 .main-nav .nav-cta{padding:12px;margin-left:0}
 .site-header .site-logo{max-width:155px}
}
@media(max-width:1000px){
 .main-nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:#f8faf3;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:stretch;gap:0;font-size:16px;max-height:calc(100dvh - var(--header));overflow-y:auto}
 .main-nav.open{display:flex}
 .main-nav>a{padding:14px 0;white-space:normal}
 .main-nav .nav-cta{margin:10px 0 0;padding:14px}
 .menu-toggle{display:block}
 .site-header{justify-content:space-between}
}
@media(max-width:800px){
 body{font-size:16px}
 .lead,.home-v3 .hero-copy .lead,.product-hero .lead,.editorial-product .lead{font-size:17px;line-height:1.75}
 .button,.text-link,.hero-copy .button,.hero-copy .text-link,.main-nav{font-size:16px}
 .home-section-head>p,.home-section-head>div:last-child:not(:first-child)>p,.explorer-panel-copy>p,.stand-detail>p:not(.eyebrow),.industry-row p,.responsibility-grid>div>p:not(.eyebrow),.home-next>div>p:not(.eyebrow),.story-chapter p:not(.eyebrow),.capability-rows p,.commitment-body p,.ods-page .ods-description,.ods-page .ods-action-list li,.sustainability-page .sustainability-project>p:not(.eyebrow){font-size:16px;line-height:1.8}
 .site-footer p,.site-footer a{font-size:15px}
 .application-tabs button{font-size:15px}
 .home-proof strong{font-size:16px}
 .home-proof>div>span,.home-proof>a>span{font-size:13px}
 .story-controls a{flex:1 1 45%;font-size:14px;padding:12px 8px}
 .story-controls a:nth-child(3){border-left:0}
 .story-controls a:nth-child(n+3){border-top:1px solid #70836255}
 .scene-panel small,.scene-footer{font-size:12px}
 .scene-footer{letter-spacing:0}
 .resource-value p{font-size:12px;max-width:160px}
 .story-live .story-chapter,.story-resources .story-chapter{scroll-margin-top:calc(var(--header) + 325px)}
 .home-contact-paths p,.explorer-material>span,.ods-page .ods-partnerships li{font-size:15px}
 .product-subnav{font-size:14px;line-height:1.5}
 .specs>div{font-size:15px;line-height:1.6}
 .quote-fields{min-width:0}
 .quote-fields input,.quote-fields select{max-width:100%}
}
@media(max-width:420px){
 .ods-page .ods-index{grid-template-columns:1fr}
 .ods-page .ods-index a{min-height:125px}
 .story-controls a{font-size:13px}
 .main-nav a{font-size:16px}
}
@media print{body{font-size:12pt}.site-header{display:none}}

/* Separate direct contact targets after the type increase. */
.contact-details>a{display:flex;align-items:center;gap:8px;min-height:44px;line-height:1.6;overflow-wrap:anywhere}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#626a62;opacity:1}

/* Finishing pass: let larger type determine hero height instead of overlapping controls. */
.home-v3 .home-hero-refined{height:auto;min-height:max(740px,calc(100svh - var(--header)));max-height:none;display:flex;flex-direction:column}
.home-v3 .hero-copy{flex:1;padding-bottom:48px}
.home-v3 .hero-bottom{position:relative;inset:auto;margin:0 6%;padding-bottom:40px;flex-shrink:0}
.whatsapp-float{translate:0 calc(-1 * var(--contact-lift,0px))}
.product-hero>div,.product-hero>figure,.contact-layout>div,.contact-form,.quote-summary{min-width:0}
.product-hero .actions{flex-wrap:wrap}.product-hero .actions>*{max-width:100%}
.quote-band .button{white-space:normal}
@media(max-width:380px){.product-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.product-keyfacts>div:last-child:nth-child(odd){grid-column:1 / -1}}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #578a16;outline-offset:5px}
.dark a:focus-visible,.home-hero a:focus-visible,.site-footer a:focus-visible{outline-color:#b8e278}
@media(max-width:1000px){body:has(.main-nav.open) .whatsapp-float{visibility:hidden;pointer-events:none}}
@media(max-width:800px){.home-v3 .hero-copy{padding-bottom:48px}.home-v3 .hero-bottom{padding-bottom:90px}.contact-form{scroll-margin-top:calc(var(--header) + 20px)}}
@media print{.home-v3 .home-hero-refined{min-height:0}.home-v3 .hero-bottom{display:none}}
.measurement-choice{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.6;cursor:pointer}.measurement-choice input{flex:0 0 20px;width:20px;height:20px;margin-top:3px;accent-color:#487613}.measurement-choice:has(input:focus-visible){outline:3px solid #578a16;outline-offset:6px}
