/* Shared brand tokens and layouts; loaded after each page's component styles. */
:root{--brand-green:#00d10a;--green:var(--brand-green);--green-deep:#007a06;--green-dark:var(--green-deep)}
main,section,article,figure,form,fieldset{min-width:0}
.page-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.page-hero>*,.section-head>*,.contact-grid>*,.footer-main>*,.footer-grid>*,.product-panel>*,.family-preview>*,.grid-2>*,.grid-3>*,.grid-4>*{min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
h1,h2,h3,p,li,a,label,summary{overflow-wrap:anywhere}
input,select,textarea{min-width:0;max-width:100%}
button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.page-hero-media img{max-width:100%}
.footer-contact{display:flex;flex-wrap:wrap;gap:.75rem 1.8rem;margin-top:2rem;font-size:.95rem}
.footer-contact a{text-decoration:underline;text-underline-offset:4px}
.section-green,.card-green,.family-card-green,.enquiry,.catalogue-end{--muted:#244226}
.section-green .section-head>p:last-child,.card-green p{color:var(--ink)}
@media(max-width:1100px){.site-nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}.site-nav a{min-width:0}}
@media(max-width:900px){.page-hero{grid-template-columns:minmax(0,1fr)}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head,.contact-grid{grid-template-columns:minmax(0,1fr)}.page-hero-media{min-height:0}.page-hero-media img{aspect-ratio:4/3;height:auto;object-fit:cover}}
@media(max-width:560px){
.page-hero h1{font-size:clamp(2.5rem,12vw,3.8rem);line-height:.98}
.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
.section-head h2,.content h2,.families-heading h2,.applications-heading h2,.product-copy h2,.process-heading h2,.materials-heading h2,.faq-heading h2,.enquiry-copy h2{font-size:clamp(2rem,9vw,3rem);line-height:1.03}
.section-head{gap:1.25rem;margin-bottom:2rem}
.family-card h3{font-size:clamp(2.6rem,13vw,4rem)}
.catalogue-intro h1{font-size:clamp(2.6rem,12vw,3.4rem)}
.family-heading h2{font-size:clamp(2.2rem,10vw,3rem)}
.contact-form label,.enquiry-mini label,.enquiry-form label{min-width:0}
.contact-form input,.contact-form select,.contact-form textarea,.enquiry-mini input,.enquiry-mini textarea{font-size:1rem}
.action{grid-template-columns:minmax(0,1fr) auto;text-align:left}
.footer-contact{flex-direction:column;gap:.85rem}
.legal-toc{gap:.75rem}
.feature-list li{grid-template-columns:36px minmax(0,1fr);gap:.8rem}
.process-steps li{grid-template-columns:36px minmax(0,1fr);gap:.8rem}
.toast{width:calc(100% - 2rem);max-width:420px;text-align:center}
.header-compact{flex-wrap:wrap;gap:.75rem;justify-content:space-between}
.header-compact .brand{flex-basis:100%;display:flex;justify-content:center}
.header-compact .nav-cta{margin-top:0}
}
