/* WHS Apps ONE v7.17 — final client-acceptance contrast, information-layout & footer polish
   Presentation-only continuation from v7.16. Approved public content is preserved. */

:root{
  --v717-dark-strong:#FFFFFF;
  --v717-dark-body:#DCE5DE;
  --v717-dark-support:#C8D4CB;
  --v717-dark-quiet:#B9C8BC;
  --v717-light-strong:#172019;
  --v717-light-body:#425047;
  --v717-light-support:#5A685F;
}

/* 1. Footer — materially stronger readability without flattening hierarchy. */
.v75-site .v71-footer .v71-footer-grid a,
.v75-site .v71-footer .v71-footer-grid a:visited{
  color:#E3EAE4!important;
  font-size:13px!important;
  line-height:1.55!important;
  padding:6px 0!important;
  font-weight:560!important;
}
.v75-site .v71-footer .v71-footer-grid a:hover,
.v75-site .v71-footer .v71-footer-grid a:focus-visible{
  color:#FFFFFF!important;
}
.v75-site .v71-footer .v71-footer-grid>div>strong{
  color:#A7DF7A!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  margin-bottom:15px!important;
}
.v75-site .v71-footer .v71-footer-lead>div:first-child p{color:#D7E1D9!important}
.v75-site .v71-footer .v71-footer-lead>div:nth-child(2) p{color:#CED9D0!important;font-size:11.5px!important;line-height:1.55!important}
.v75-site .v71-footer .v71-footer-bottom{
  color:#BECCC1!important;
  font-size:10.5px!important;
  line-height:1.6!important;
}
.v75-site .v71-footer .v715-footer-brand-link{padding:2px 0!important}

/* 2. Value & Efficiency — best-value plan explanatory copy is commercial information, not fine print. */
.v75-site.v71-page-value-efficiency .summary-line.dark{
  padding:18px 18px 17px!important;
  border-color:#294732!important;
}
.v75-site.v71-page-value-efficiency .summary-line.dark small{color:#B9E596!important}
.v75-site.v71-page-value-efficiency .summary-line.dark strong{
  color:#FFFFFF!important;
  line-height:1.22!important;
}
.v75-site.v71-page-value-efficiency .summary-line.dark .summary-reason{
  color:#DCE5DE!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  margin-top:8px!important;
  max-width:54ch!important;
}

/* 3. Savings Proof — illustrative scenario and Proof Rule readability. */
.v75-site.v71-page-savings-proof .savings-summary-grid article.featured{
  border-color:#294732!important;
  padding:22px!important;
}
.v75-site.v71-page-savings-proof .savings-summary-grid article.featured small{color:#B9E596!important}
.v75-site.v71-page-savings-proof .savings-summary-grid article.featured strong{color:#FFFFFF!important}
.v75-site.v71-page-savings-proof .savings-summary-grid article.featured p{
  color:#DCE5DE!important;
  font-size:13.5px!important;
  line-height:1.58!important;
  margin-top:9px!important;
}
.v75-site.v71-page-savings-proof .proof-principle{
  padding:26px 30px!important;
  gap:22px!important;
  border:1px solid #294732!important;
}
.v75-site.v71-page-savings-proof .proof-principle span{color:#B9E596!important}
.v75-site.v71-page-savings-proof .proof-principle strong{color:#FFFFFF!important;line-height:1.2!important}
.v75-site.v71-page-savings-proof .proof-principle p{
  color:#DCE5DE!important;
  font-size:13.5px!important;
  line-height:1.6!important;
  max-width:58ch!important;
}

/* 4. Recognition / reuse information — one register system, not independent cards or raw labels. */
.v75-site .ci-saving-list,
.v75-site .savings-action-grid{
  display:grid!important;
  gap:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:8px 18px!important;
  border:1px solid #D7E3D3!important;
  border-radius:20px!important;
  background:#FFFFFF!important;
  box-shadow:0 14px 32px rgba(15,28,19,.05)!important;
  overflow:hidden!important;
}
.v75-site .ci-saving-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:960px!important;
  margin-top:26px!important;
}
.v75-site .savings-action-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1060px!important;
  margin-top:26px!important;
  margin-bottom:20px!important;
}
.v75-site .ci-saving-list>span,
.v75-site .savings-action-grid>span{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:50px!important;
  width:auto!important;
  margin:0!important;
  padding:8px 13px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#26342B!important;
  font-size:13.25px!important;
  font-weight:700!important;
  line-height:1.34!important;
}
.v75-site .ci-saving-list>span::before,
.v75-site .savings-action-grid>span::before{
  content:'✓';
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid #CFE2C6;
  border-radius:50%;
  background:#EEF7E9;
  color:#4C8128;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.v75-site .ci-saving-list>span:nth-child(odd){border-right:1px solid #E4EBE1!important}
.v75-site .ci-saving-list>span:not(:nth-last-child(-n+2)){border-bottom:1px solid #E7EDE5!important}
.v75-site .savings-action-grid>span:not(:nth-child(3n)){border-right:1px solid #E4EBE1!important}
.v75-site .savings-action-grid>span:not(:nth-last-child(-n+3)){border-bottom:1px solid #E7EDE5!important}
.v75-site.v71-page-savings-proof .savings-action-grid + .ci-saving-list{margin-top:22px!important}
.v75-site.v71-page-savings-proof .ci-saving-list + .ci-proof-example{margin-top:38px!important}
.v75-site.v71-page-savings-proof .ci-proof-example{
  max-width:960px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* 5. Light-surface supporting copy — preserve hierarchy but remove washed-out body text. */
.v75-site :is(.v71-white,.v71-pale,.v71-mist,.v68-tone-white,.v68-tone-pale,.v68-tone-mist) .subpage-head>p{
  color:#526057!important;
}

/* 6. Dark-surface supporting copy scale — readable, still quieter than headings. */
.v75-site :is(.v67-dark-band,.v68-dark,.dark-bridge,.savings-boundaries) .subpage-head>p{
  color:var(--v717-dark-body)!important;
}
.v75-site :is(.v67-dark-band,.v68-dark,.dark-bridge,.savings-boundaries) :is(h1,h2,h3){
  color:var(--v717-dark-strong)!important;
}
.v75-site :is(.v67-dark-band,.v68-dark,.dark-bridge,.savings-boundaries) :is(.support-copy,.muted-copy){
  color:var(--v717-dark-support)!important;
}

/* 7. Table/register spacing — make evidence blocks feel composed, not attached. */
.v75-site :is(.ci-saving-list,.savings-action-grid,.table-wrap,table) + :is(.page-callout,.ci-proof-example,.dark-bridge,.v67-dark-band){
  margin-top:38px!important;
}

@media(max-width:900px){
  .v75-site .savings-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:960px!important}
  .v75-site .savings-action-grid>span{border-right:0!important;border-bottom:1px solid #E7EDE5!important}
  .v75-site .savings-action-grid>span:nth-child(odd){border-right:1px solid #E4EBE1!important}
  .v75-site .savings-action-grid>span:nth-last-child(-n+2){border-bottom:0!important}
}
@media(max-width:620px){
  .v75-site .ci-saving-list,
  .v75-site .savings-action-grid{
    grid-template-columns:1fr!important;
    padding:7px 14px!important;
    border-radius:17px!important;
  }
  .v75-site .ci-saving-list>span,
  .v75-site .savings-action-grid>span{
    min-height:49px!important;
    padding:8px 5px!important;
    border-right:0!important;
    border-bottom:1px solid #E7EDE5!important;
    font-size:13px!important;
  }
  .v75-site .ci-saving-list>span:last-child,
  .v75-site .savings-action-grid>span:last-child{border-bottom:0!important}
  .v75-site .v71-footer .v71-footer-grid a{
    font-size:13.25px!important;
    line-height:1.5!important;
    padding:6px 0!important;
  }
  .v75-site .v71-footer .v71-footer-bottom{font-size:11px!important}
  .v75-site.v71-page-savings-proof .proof-principle{padding:22px!important;gap:10px!important}
}

/* 8. Contrast correction for bright-green controls/status markers carrying white text. */
.v75-site .v71-main-nav .nav-cta,
.v75-site .ask-one-button,
.v75-site .form-submit,
.v75-site .readiness-chain strong,
.v75-site .journey-step.active b,
.v75-site .proof-step b,
.v75-site .task-entry b,
.v75-site .choice.active,
.v75-site .role-icon,
.v75-site .readiness-v15-rule-mark,
.v75-site .outcome-number,
.v75-site .worker-start-steps article>span,
.v75-site .gap-focus-list b,
.v75-site .ci-home-flow>div span{
  background:#4F8124!important;
  border-color:#4F8124!important;
  color:#FFFFFF!important;
}
.v75-site .ask-one-button small{opacity:1!important;color:#F1F5F2!important}

/* The large green brand-habit band uses the same accessible deeper green while retaining its role as a green statement section. */
.v75-site .brand-habit-band{background:#4F8124!important;color:#FFFFFF!important}

/* 9. Borderline light-surface microcopy / table statuses — move above the readability threshold. */
.v75-site .home-v53-group-label p{color:#59675E!important}
.v75-site .gap-topbar span,
.v75-site .gap-auto-note{color:#5E6C63!important}
.v75-site td.partial{color:#805C0E!important}
.v75-site td.muted-dash{color:#626F67!important}
.v75-site .network-example-strip span{color:#42554A!important}
.v75-site .external-review-chips span{color:#45554C!important}

/* 10. Proof Rule desktop composition — readable evidence rule, not a compressed strip. */
@media(min-width:821px){
  .v75-site.v71-page-savings-proof .proof-principle{
    grid-template-columns:150px minmax(260px,.85fr) minmax(360px,1.35fr)!important;
    min-height:96px!important;
  }
  .v75-site.v71-page-savings-proof .proof-principle p{font-size:14px!important}
}

/* 11. Final readability sweep — small functional labels must remain comfortably readable. */
.v75-site .ask-one-button small{color:#FFFFFF!important}
.v75-site.v71-page-home .connected-around-grid>div>span{color:#466B34!important}
.v75-site.v71-page-home .readiness-v15-changes span{color:#466B34!important}
.v75-site.v71-page-home .connected-value-grid small{color:#466B34!important}
.v75-site.v71-page-contact .v71-support span{color:#55645A!important}
.v75-site.v71-page-jsa-jha .v71-language span{color:#55645A!important}
.v75-site.v71-page-incident-reporting .v71-incident-flow small{color:#466B34!important}
.v75-site.v71-page-tender-prequalification .v71-tender-row span{color:#55645A!important}
.v75-site.v71-page-savings-proof .v71-savings-metrics span{color:#55645A!important}
.v75-site .share-one-outreach>p,
.v75-site .share-one-bridge>p,
.v75-site .share-one-panel>p{color:#59675E!important}

/* Green sequence markers on light green backgrounds: preserve the brand accent while clearing AA for small labels. */
.v75-site.v71-page-register-interest .register-step-heading>span,
.v75-site.v71-page-register-interest .register-progress span,
.v75-site.v71-page-sop-work-instructions .v71-instruction-step>b{color:#466B34!important}

/* Gap Check's tiny step labels are functional navigation, not decorative microcopy. */
.v75-site.v71-page-gap-check .gap-question small,
.v75-site.v71-page-gap-check .gap-question-card small,
.v75-site.v71-page-gap-check .gap-step small,
.v75-site.v71-page-gap-check .question-card small{color:#55645A!important}

/* 12. Final solid-surface AA cleanup for functional microcopy and status text. */
.v75-site.v71-page-home .output-v12-icon{color:#466B34!important}
.v75-site .page-share-band p{color:#59675E!important}
.v75-site .relationship-result :is(b,span){color:#FFFFFF!important}
.v75-site .v71-answer-row span,
.v75-site .v71-founding-line span,
.v75-site .v71-founding p,
.v75-site .v71-gap-score small,
.v75-site .v71-consultant-client span,
.v75-site .v71-privacy p{color:#55645A!important}
.v75-site .plan-annual{color:#55645A!important}
.v75-site .plan-card.featured .plan-annual{color:#DCE5DE!important}
.v75-site.v71-page-register-interest .register-guidance-list>div>span{color:#466B34!important}
.v75-site .network-status.review>span{color:#7A550C!important}
.v75-site :is(.v71-page-see-one-in-action,.v71-page-task-experiences) .v71-journey-line span.active{color:#55645A!important}
.v75-site.v71-page-incident-reporting .v71-section:not(.v71-dark) .v66-card>small{color:#466B34!important}
.v75-site.v71-page-value-efficiency :is(em,.calc-step-kicker){color:#55645A!important}

/* 13. Acceptance-gate cleanup: functional markers/connectors and featured-plan support text. */
body.v75-site.v71-page-home .outputs-section .output-v12-card .output-v12-icon{
  color:#466B34!important;
}
body.v75-site :is(.v71-connector,.mini-arrow,.scenario-arrow,.output-system-line i){
  color:#466B34!important;
}
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured{
  background:#0F1C13!important;
  border-color:#0F1C13!important;
  color:#FFFFFF!important;
}
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured .plan-annual{
  color:#DCE5DE!important;
}
body.v75-site.v71-page-see-one-in-action .v71-journey-line span.active,
body.v75-site.v71-page-task-experiences .v71-journey-line span.active{
  color:#526057!important;
}
body.v75-site.v71-page-gap-check .gap-area-button small{
  color:#55645A!important;
}
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured>small{
  color:#B9E596!important;
}
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured>h3,
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured .plan-price{
  color:#FFFFFF!important;
}
body.v75-site.v71-page-one-network-assurance .network-pricing-grid .plan-card.featured>ul{
  color:#DCE5DE!important;
}
