/* v71 — high-contrast, site-wide readability fixes.
   Keep v66-v70 composition and animations; replace conflicting colors only. */
:root{
 --v71-ink:#112c33;
 --v71-body:#334f55;
 --v71-sub:#49646a;
 --v71-accent:#93e4c5;
 --v71-dark:#0b2029;
 --v71-line:#cad9d2;
}
/* Neutral content on white and pale surfaces */
body.v71-contrast :is(.section-lead,.v42-lead,.v67-lead,.section-head p,.v67-content p){color:var(--v71-body)}
body.v71-contrast :is(.v42-page-card,.equipment-card,.use-case,.v67-card,.v65-system__item,.v42-route-card) :is(p,li,small,span:not(.badge)):not([class*="tag"]){color:var(--v71-body)}
body.v71-contrast :is(.equipment-card,.use-case,.v42-page-card,.v67-card) :is(h2,h3,h4){color:var(--v71-ink)}

/* 1. Dropdown consultancy: legacy global link styling made dark-on-dark CTA. */
body.v71-contrast .v40-mega .v40-menu-consult,
body.v71-contrast .v39-mobile .v40-menu-consult{
 background:#edf3ef!important;color:#132f35!important;
}
body.v71-contrast .v40-mega .v40-menu-consult .v40-consult-copy h3,
body.v71-contrast .v39-mobile .v40-menu-consult .v40-consult-copy h3{color:#17343b!important}
body.v71-contrast .v40-menu-consult .v40-consult-copy p,
body.v71-contrast .v40-menu-consult .v40-consult-copy>small{color:#405e61!important}
body.v71-contrast .v40-menu-consult .v40-consult-label{color:#256b5c!important}
body.v71-contrast .v40-menu-consult .v40-consult-photo>span{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.5)}
body.v71-contrast :is(.v40-mega,.v39-mobile) .v40-consult-btn,
body.v71-contrast .v39-header :is(.v40-mega,.v39-mobile) .v40-consult-btn{
 background:#133b33!important;border:1px solid #133b33!important;
 color:#fff!important;opacity:1!important;text-decoration:none!important;
 min-height:50px!important;font-weight:700!important;
}
body.v71-contrast :is(.v40-mega,.v39-mobile) .v40-consult-btn :is(span,svg){color:#fff!important;stroke:currentColor}
body.v71-contrast :is(.v40-mega,.v39-mobile) .v40-consult-btn:hover,
body.v71-contrast .v39-header :is(.v40-mega,.v39-mobile) .v40-consult-btn:hover{
 background:#1a6655!important;border-color:#1a6655!important;color:#fff!important;
}
body.v71-contrast .v40-mega .v40-menu-link :is(b,small,em){color:#1b3a40!important}
body.v71-contrast .v40-mega .v40-menu-link small{color:#4e696c!important}
body.v71-contrast .v40-menu-link .v40-menu-icon{color:#246d5e!important}
body.v71-contrast .v39-mobile .v40-menu-link :is(b,small){color:#204044!important}

/* 2. Overlays: on photography, ALL foreground children must be light. */
body.v71-contrast.v67-industry .hero .hero-copy p,
body.v71-contrast.v67-industry .hero .hero-copy p :is(b,strong,span,em,a),
body.v71-contrast.v67-industry .hero .hero-copy .hero-badge,
body.v71-contrast.v67-solution .hero .hero-copy p,
body.v71-contrast.v67-solution .hero .hero-copy p :is(b,strong,span,em),
body.v71-contrast.v67-guide .hero .lead,
body.v71-contrast.v67-guide .hero .hero-note{
 color:#f2f8f5!important;
 text-shadow:0 1px 14px rgba(0,0,0,.36)!important;
}
body.v71-contrast.v67-industry .hero .hero-copy h1,
body.v71-contrast.v67-industry .hero .hero-copy h1 :is(b,strong,span){color:#fff!important}
body.v71-contrast .v42-dark :is(.v42-title,h2,h3,h4),
body.v71-contrast .mount-hero :is(h1,h2,h3),
body.v71-contrast .mount-industry-special :is(h2,h3){color:#fff!important}
body.v71-contrast .v42-dark :is(.v42-lead,p,li):not(.v65-form-teaser__copy),
body.v71-contrast .mount-hero :is(p,li),
body.v71-contrast .v42-cycle-item p,
body.v71-contrast .mount-industry-special :is(p,li){color:#d2e1e2!important}
body.v71-contrast .v42-dark :is(.v42-kicker,.eyebrow,small),
body.v71-contrast .mount-hero .mount-mini-kicker{color:#9be7cb!important}
/* Keep white/light subpanels readable even inside dark sections. */
body.v71-contrast .v42-dark .v65-form-teaser:not(.is-dark) :is(h2,h3){color:#13323a!important}
body.v71-contrast .v42-dark .v65-form-teaser:not(.is-dark) :is(p,li){color:#3c575b!important}
body.v71-contrast .v42-install-grid .v42-install-label :is(b,span),
body.v71-contrast .v42-install-grid .v42-install-label p{color:#fff!important}
body.v71-contrast .v42-install-grid .v42-install-label span{color:#e1e9e8!important}

/* 3. Dialog and forms: maintain one surface, including the /installation form.
   Light window + light fields + dark ink. Do not inherit page section backgrounds. */
body.v71-contrast .v65-modal .v65-modal__dialog,
body.v71-contrast .v65-modal .v65-modal__head,
body.v71-contrast .v65-modal .v65-modal__content{
 background:#f7f9f6!important;color:var(--v71-ink)!important;
}
body.v71-contrast .v65-modal .v65-modal__content,
body.v71-contrast .v65-modal .v65-modal__dialog{overflow-x:hidden!important}
body.v71-contrast .v65-modal .v65-modal__content :is(form.secure-lead,.v42-form,.mount-form,.form),
body.v71-contrast .v65-modal .v65-lead-form{
 background:transparent!important;background-image:none!important;color:#15313a!important;
 border:0!important;box-shadow:none!important;
 padding:0!important;margin:0!important;
}
body.v71-contrast .v65-modal .v65-lead-form :is(.form-row,.form-grid,.mount-form-row,.mount-fields,.v42-form-grid){background:transparent!important}
body.v71-contrast .v65-modal .v65-modal__head :is(h2,h3){color:#102c34!important}
body.v71-contrast .v65-modal .v65-modal__head p{color:#435f64!important}
body.v71-contrast .v65-modal .v65-modal__head small{color:#196d5b!important}
body.v71-contrast .v65-modal .v65-lead-form :is(label,.v39-input-label,.form-field label,.field-label,.file-input),
body.v71-contrast .v65-modal .v65-lead-form :is(label,.file-input) :is(span,b,strong,small){color:#213f47!important;text-shadow:none!important}
body.v71-contrast .v65-modal .v65-lead-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=file]),textarea,select){
 background:#fff!important;color:#152f36!important;border:1px solid #b4c8c1!important;
 opacity:1!important;min-height:49px!important;box-shadow:none!important;
}
body.v71-contrast .v65-modal .v65-lead-form :is(input,textarea)::placeholder{color:#587177!important;opacity:1!important}
body.v71-contrast .v65-modal .v65-lead-form .file-input{
 display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;
 padding:13px 14px!important;background:#edf3ef!important;
 border:1px dashed #8baaa0!important;color:#213f47!important;
}
body.v71-contrast .v65-modal .v65-lead-form input[type=file]{color:#213f47!important;background:transparent!important;min-width:0;max-width:100%;font-size:13px!important}
body.v71-contrast .v65-modal .v65-lead-form input[type=file]::file-selector-button{
 border:1px solid #a2b9b1;background:#fff;color:#14323a;padding:9px 13px;
 font:600 13px/1.3 inherit;margin-right:10px;cursor:pointer;
}
body.v71-contrast .v65-modal .v65-lead-form :is(.plan-name,.file-name,small){color:#3f6064!important}
body.v71-contrast .v65-modal .v65-lead-form .consent,
body.v71-contrast .v65-modal .v65-lead-form .consent :is(span,label,p){color:#38565b!important;font-size:13px!important;line-height:1.55!important}
body.v71-contrast .v65-modal .v65-lead-form .consent a{color:#135f4f!important;text-decoration:underline!important;text-underline-offset:2px}
body.v71-contrast .v65-modal .v65-lead-form :is(.hp,[aria-hidden=true]){color:inherit}
body.v71-contrast .v65-modal .v65-lead-form button[type=submit]{
 background:#0c3038!important;color:#fff!important;border:1px solid #0c3038!important;
 font-weight:750!important;font-size:15px!important;text-shadow:none!important;
}
body.v71-contrast .v65-modal .v65-lead-form button[type=submit]:hover:not(:disabled){background:#164c51!important;color:#fff!important}
body.v71-contrast .v65-modal .v65-lead-form button[type=submit]:disabled{
 background:#cbd9d3!important;color:#304b50!important;border-color:#b6c8c0!important;
 opacity:1!important;cursor:wait!important;
}
body.v71-contrast .v65-modal .v65-lead-form .status,
body.v71-contrast .v65-modal .v65-lead-form .status.error{
 color:#95283a!important;background:#fff0f1!important;
 font-size:13px!important;line-height:1.5!important;padding:8px 10px!important;
}
body.v71-contrast .v65-modal .v65-lead-form .status:empty{display:none!important}
body.v71-contrast .v65-modal .v65-lead-form .status.success{
 color:#13563f!important;background:#e2f1e7!important;
}
body.v71-contrast .v65-modal .v65-lead-form input[type=checkbox]{accent-color:#11765e!important}

/* 4. Bottom navigation, readable badges and subtext */
body.v71-contrast .site-footer :is(p,small,.footer-copy,.footer-small){color:#c3d4d4!important}
body.v71-contrast .site-footer :is(a,button){color:#e8f3ef!important}
body.v71-contrast .site-footer a:hover{color:#a7f0d3!important}
body.v71-contrast .v65-mobile-lead{color:#0b2d33!important;background:#91e6c6!important}
body.v71-contrast .v65-backtop{color:#0a2b32!important;background:#fff!important}
body.v71-contrast .v65-form-teaser__note{color:#526e70!important}
body.v71-contrast .v65-form-teaser.is-dark .v65-form-teaser__note{color:#d0e0df!important}
body.v71-contrast .v65-form-teaser.is-dark .v65-form-teaser__copy{color:#dfedeb!important}

@media(max-width:760px){
 body.v71-contrast .v65-modal .v65-modal__head{padding:20px 18px 15px!important}
 body.v71-contrast .v65-modal .v65-modal__content{padding:18px!important}
 body.v71-contrast .v65-modal .v65-lead-form .file-input{display:block!important}
 body.v71-contrast .v65-modal .v65-lead-form .file-input input[type=file]{display:block;margin-top:8px}
 body.v71-contrast .v40-menu-consult .v40-consult-btn{min-height:52px!important}
}
/* Final computed-style pass on all 38 HTML pages (light inset cards stay dark). */
body.v71-contrast .mount-industry-special .mount-sector-grid article{
 background:#fff!important;border:1px solid #d2ddd7!important;
}
body.v71-contrast .mount-industry-special .mount-sector-grid article :is(h3,h4),
body.v71-contrast .mount-industry-special .mount-sector-grid article :is(b,strong,span):not(.mount-sector-chip){
 color:#11313a!important;text-shadow:none!important;
}
body.v71-contrast .mount-industry-special .mount-sector-grid article :is(p,li){
 color:#3d5b61!important;text-shadow:none!important;
}
body.v71-contrast .mount-industry-special .mount-sector-grid article>b:first-child{color:#176d60!important}
/* Calculator selects, card specs and captions on pale surfaces. */
body.v71-contrast :is(.calc-field,.v42-calc-field,.v39-calc,.v67-calc,.calc-v11) label{
 color:#34535a!important;
}
body.v71-contrast :is(.package,.v42-plan,.v42-cycle,.v39-zone-list) li,
body.v71-contrast :is(.package,.v42-plan) p{color:#39545b!important}
body.v71-contrast .equipment-specs .tag,
body.v71-contrast .event-tags .tag,
body.v71-contrast span.tag{color:#355a61!important}
body.v71-contrast .v66-eyebrow{color:#526862!important}
body.v71-contrast .mount-card-number,
body.v71-contrast .mount-standards small{color:#176b5d!important}
body.v71-contrast .v42-audit-panel:not(.after) small{color:#1c715e!important}
/* Pop-up headline over light background is also a light-surface label. */
body.v71-contrast .v65-modal .v65-lead-form :is(.v42-kicker,.mount-form-kicker,.mount-mini-kicker,small:not(.status)){
 color:#1b7061!important;
}
body.v71-contrast .v65-modal .v65-lead-form :is(.plan-name,small.plan-name){color:#385b60!important}
/* Control contrast and exact square geometry retained in forms. */
body.v71-contrast .v65-modal .v65-lead-form :is(button,input,textarea,select),
body.v71-contrast .v40-consult-btn{border-radius:0!important}
/* Quote explainer is a dark inset block, not pale-white-on-white. */
body.v71-contrast .v42-wide-card{
 background:#102b33!important;border:1px solid #234750!important;color:#f3f8f5!important;
}
body.v71-contrast .v42-wide-card :is(h2,h3,h4,b,strong){color:#fff!important}
body.v71-contrast .v42-wide-card :is(p,li,span,small){color:#dce9e9!important}
body.v71-contrast .v42-wide-card a{color:#a9f2d4!important}
/* the request-form kicker is a separate span in /installation */
body.v71-contrast .v65-modal .v65-lead-form .mount-form-label,
body.v71-contrast .v65-modal .v65-lead-form .mount-form-label span{
 color:#136957!important;text-shadow:none!important;
}
