/* Final visual refinements. Original artwork, content and interactions are retained. */
:root{--soft:#f7f6f2;--line:#e0e4dc;--muted:#59685f}
h1,h2,h3{text-wrap:balance}
.brand,.home-page .brand{width:205px;line-height:0}
.eyebrow{font-size:11px;letter-spacing:.12em}
.micro{font-size:11px;letter-spacing:.09em}
.breadcrumbs{font-size:12px;gap:10px}
.card-text p,.product-card p,.process-grid p,.faq-list details>p,.about-copy>p:not(.lead):not(.eyebrow),.section-heading>p,.section-heading>div>p:not(.eyebrow),.project-cta p:not(.eyebrow){font-size:14px;line-height:1.8}
.card-text .micro,.product-card .micro{font-size:11px;letter-spacing:.08em}
.check-list>li,.spec-list>div,table{font-size:14px}
.comparison .small,.system-details-sources,.gallery-credit{font-size:12px;line-height:1.8}
.button{font-size:13px}
.text-link{font-size:13px}
.home-page .hero-copy>.hero-deadline{font-size:15px}
.home-page .hero .eyebrow{font-size:11px;letter-spacing:.1em}
.home-page .hero-proof>span:last-child,.home-page .hero-caption small{font-size:11px;letter-spacing:.02em}
.home-page .hero-caption{font-size:13px}
.home-page .hero-secondary{font-size:12px}
.home-page .brands{background:var(--soft);border-bottom-color:var(--line)}
.home-page .brands-intro .micro,.home-page .partner-logo figcaption{font-size:11px;letter-spacing:.04em}
.home-page .partner-logo{border-left-color:var(--line)}
.profile-image{background:#fff!important;border:1px solid var(--line)}
.product-image.profile-image>img{width:100%;height:100%;max-width:none;object-fit:contain!important;padding:22px}
.detail-image.profile-image>img{width:100%;height:100%;max-width:none;object-fit:contain!important;padding:38px}
.profile-image .round-arrow{border:1px solid var(--line)}
.profile-image>span{font-size:11px;letter-spacing:.08em}
.wizard-step>p,.wizard-step>label,.wizard-step .small{font-size:13px;line-height:1.8}
.wizard-progress li{font-size:12px}
.wizard-controls #wizard-back{white-space:nowrap;flex-shrink:0}
.attachment-heading>span,.attachment-upload .attachment-help,.attachment-upload .attachment-footer,.attachment-upload .attachment-total,.attachment-upload .attachment-status,.attachment-selected-heading,.attachment-details small{font-size:12px}
.attachment-choice-title{font-size:14px}
.attachment-choice-detail,.attachment-upload .attachment-description,.attachment-details{font-size:13px}
.inquiry-aside .contact-call-copy .micro{font-size:11px;letter-spacing:.04em}
.inquiry-aside .contact-hours p,.inquiry-aside .contact-aside-note{font-size:13px}
.attachment-upload{background:var(--soft)}
.contact-call-bubble{border-color:var(--soft)}
/* A continuous identity strip replaces the small white logo box. */
.footer{padding-top:0}
.footer-identity{background:var(--soft);color:var(--ink);border-top:2px solid var(--champagne)}
.footer-identity .footer-brand{display:grid;grid-template-columns:230px minmax(0,1fr) auto;align-items:center;gap:40px;padding-block:30px}
.footer-identity .footer-brand>a{display:block;width:230px!important;padding:0;margin:0!important;background:transparent}
.footer-identity .brand-art{background:transparent}
.footer-identity .brand-art>img{mix-blend-mode:multiply}
.footer-identity .footer-brand p{font-size:14px;line-height:1.75}
.footer-identity .footer-since{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.footer-identity .footer-social{margin:0;gap:12px}
.footer-identity .footer-social a:focus-visible{outline-color:var(--forest)}
.footer-grid{grid-template-columns:1fr 1fr 1.3fr;padding-top:46px;gap:55px}
.footer h2{font-size:14px}
.footer-grid>div>a,.footer-contact p{font-size:13px;line-height:1.8}
.footer-contact .footer-phone{font-size:25px!important}
.footer-contact{grid-column:auto;display:block;border-top:0;padding-top:0}
.footer-contact h2{display:block}
.footer-contact p{margin-top:18px}
.footer-bottom{font-size:12px;gap:24px}
@media(max-width:1020px){
 .brand,.home-page .brand{width:185px}
 .home-page .brands>.container{grid-template-columns:150px minmax(0,1fr);gap:18px}
 .home-page .partner-logo{padding-inline:6px}
 .home-page .partner-logo figcaption{font-size:10px;letter-spacing:0}
 .footer-identity .footer-brand{grid-template-columns:205px minmax(0,1fr) auto;gap:25px}
 .footer-identity .footer-brand>a{width:205px!important}
 .footer-grid{gap:30px}
 .footer-contact a{margin-bottom:11px!important}
 .footer-contact p{margin-top:18px}
}
@media(min-width:641px) and (max-width:850px){
 .footer-identity .footer-brand{grid-template-columns:190px minmax(0,1fr);gap:20px 30px}
 .footer-identity .footer-social{grid-column:2}
 .footer-identity .footer-brand>a{width:190px!important;grid-row:1/3}
 .footer-grid{gap:25px}
 .footer-contact .footer-phone{font-size:21px!important}
}
@media(max-width:700px){
 .home-page .hero .eyebrow{font-size:10px;letter-spacing:.05em}
 .home-page .hero-copy>.hero-deadline{font-size:14px;line-height:1.85}
 .home-page .hero-deadline strong{font-size:15px}
 .home-page .hero-proof>span:last-child{font-size:11px;line-height:1.7}
 .home-page .hero-caption small{font-size:10px;letter-spacing:.06em}
 .home-page .hero-secondary{font-size:12px}
 .home-page .partner-logo figcaption{font-size:11px;letter-spacing:.02em}
}
@media(max-width:640px){
 body{font-size:15px}
 h1,h2,h3{letter-spacing:-.04em}
 .brand,.home-page .brand{width:clamp(118px,37vw,160px)}
 .header-inner{gap:10px;min-height:76px}
 .menu-toggle{flex-shrink:0;width:44px;height:44px}
 .header-cta .button{min-height:44px;font-size:10px;padding:9px 11px}
 .utility-contacts>a{font-size:11px;padding-inline:9px}
 .eyebrow,.category-intro .eyebrow{font-size:11px;letter-spacing:.08em}
 .breadcrumbs{font-size:11px;gap:8px}
 .page-intro h1{font-size:clamp(32px,9.1vw,38px);line-height:1.2;letter-spacing:-.045em}
 .page-intro .lead{font-size:16px;line-height:1.8}
 .category-intro>div>p:not(.lead):not(.eyebrow),.story-grid>div>p:not(.lead),.about-copy>p:not(.lead):not(.eyebrow),.process-grid p,.faq-list details>p,.section-heading>div>p:not(.eyebrow),.section-heading>p,.project-cta p:not(.eyebrow){font-size:14px;line-height:1.85}
 .card-text p,.product-card p{font-size:14px;line-height:1.8}
 .card-text .micro,.product-card .micro{font-size:11px}
 .product-image.profile-image>img{padding:20px}
 .detail-image.profile-image>img{height:100%;max-width:none;padding:26px}
 .gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .gallery-filters button{font-size:12px;min-height:46px;padding:10px 8px;line-height:1.5}
 .gallery-overlay{font-size:13px}
 .wizard{padding:25px 18px}
 .wizard-progress{gap:5px}
 .wizard-progress li{font-size:11px;gap:5px}
 .wizard-progress li>span{width:23px;height:23px;flex-shrink:0;font-size:11px}
 .wizard-step>p,.wizard-step label{font-size:13px}
 .wizard-step .small{font-size:12px}
 .wizard-controls .button{font-size:12px;min-height:48px}
 .attachment-choice{min-height:94px}
 .attachment-choice-title{font-size:13px}
 .attachment-choice-detail{font-size:12px}
 .inquiry-aside .contact-call-copy .micro{font-size:11px}
 .footer-identity .footer-brand{grid-template-columns:minmax(0,1fr) auto;gap:22px 18px;padding-block:28px}
 .footer-identity .footer-brand>a{width:190px!important;max-width:100%}
 .footer-brand-copy{grid-column:1/-1;grid-row:2}
 .footer-identity .footer-social{grid-column:2;grid-row:1;gap:8px}
 .footer-identity .footer-brand p{font-size:14px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px;padding-top:36px;padding-bottom:32px}
 .footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;border-top:1px solid #ffffff20;padding-top:25px}
 .footer-contact h2{display:none}
 .footer-contact a{margin:0!important;overflow-wrap:anywhere}
 .footer-contact .footer-phone{font-size:23px!important}
 .footer-contact p{margin:0;font-size:12px}
 .footer-bottom{font-size:11px;gap:12px 20px}
 .mobile-actions>a{font-size:12px}
}
@media(max-width:380px){
 .header-inner{gap:8px}
 .header-cta .button{font-size:9.5px;padding-inline:8px}
 .footer-identity .footer-brand{gap:20px 12px}
 .footer-identity .footer-brand>a{width:166px!important}
 .wizard{padding-inline:14px}
 .wizard-progress li{font-size:11px;gap:4px}
 .footer-contact .footer-phone{font-size:21px!important}
 .footer-contact{gap:16px 12px}
}
@media print{.footer-identity{display:none}}
