/* ==========================================================================
   FINAL VISIBILITY + HD IMAGE SAFETY LAYER
   Loaded after every other stylesheet. Visual only; no content/business logic.
   ========================================================================== */
:root{--fix-lime:#cfff04;--fix-black:#070808;--fix-white:#fff;--fix-copy:#e8ebe7;}

/* Lime panels: always black text. */
.contact-info-block{background:#cfff04!important;color:#050505!important;}
.contact-info-block,.contact-info-block *{color:#050505!important;opacity:1!important;text-shadow:none!important;}
.contact-info-block a{text-decoration:underline!important;text-underline-offset:3px!important;}
.section-lime,.section-lime *{color:#080909!important;}
.section-lime .btn-primary{color:#050505!important;}

/* Dark panels: never allow black/grey copy to disappear. */
.callout-dark{background:#101313!important;color:#fff!important;border-color:rgba(207,255,4,.45)!important;}
.callout-dark h1,.callout-dark h2,.callout-dark h3,.callout-dark h4,.callout-dark strong{color:#fff!important;opacity:1!important;}
.callout-dark p,.callout-dark li,.callout-dark small,.callout-dark span{color:#e6e9e5!important;opacity:1!important;}
.callout-dark a{color:#cfff04!important;opacity:1!important;}
.section-white .callout-dark,.section-lime .callout-dark,.section-black .callout-dark{background:#101313!important;color:#fff!important;}
.section-white .callout-dark h3,.section-lime .callout-dark h3,.section-black .callout-dark h3{color:#fff!important;}
.section-white .callout-dark p,.section-lime .callout-dark p,.section-black .callout-dark p{color:#e6e9e5!important;}

.section-black{color:#fff!important;}
.section-black h1,.section-black h2,.section-black h3,.section-black h4{color:#fff!important;}
.section-black p,.section-black li,.section-black label,.section-black small{color:#e4e8e2!important;}
.section-black a:not(.btn){color:#cfff04!important;}
.section-black .eyebrow,.section-black .step-num,.section-black .card-icon{color:#cfff04!important;}

/* Light sections: dark copy with sufficient contrast. */
.section-white,.section-white h1,.section-white h2,.section-white h3,.section-white h4{color:#080909!important;}
.section-white p,.section-white li,.section-white label,.section-white small{color:#343a38!important;}

/* Accent words must never become white-on-white. */
.hero h1 .accent,.page-hero h1 .accent,h1 .accent,h2 .accent{color:#050505!important;background:#cfff04!important;padding:0 .07em .025em!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;}

/* Standard callouts that are light remain black-on-light. */
.callout:not(.callout-dark){background:#f7f8f4!important;color:#090a0a!important;}
.callout:not(.callout-dark) h1,.callout:not(.callout-dark) h2,.callout:not(.callout-dark) h3,.callout:not(.callout-dark) h4{color:#090a0a!important;}
.callout:not(.callout-dark) p,.callout:not(.callout-dark) li,.callout:not(.callout-dark) span{color:#343937!important;}

/* Buttons keep intentional contrast. */
.btn-primary,button[type="submit"]{background:#cfff04!important;color:#050505!important;border-color:#cfff04!important;}
.btn-secondary{background:#fff!important;color:#090a0a!important;border-color:#181919!important;}
.btn-black{background:#090a0a!important;color:#fff!important;}

/* Prevent long headings from being cropped or hidden. */
h1,h2,h3{overflow:visible!important;word-break:normal!important;overflow-wrap:normal!important;}
.hero-inner,.page-hero>.container,.section-head{overflow:visible!important;}
body.page-jobs .page-hero h1{font-size:clamp(42px,4.8vw,68px)!important;line-height:.94!important;max-width:610px!important;}
body.page-consulting-services .page-hero h1{font-size:clamp(44px,5.2vw,74px)!important;}

/* HD image rendering: do not zoom the approved hero crops beyond their canvas. */
.hero::after,.page-hero::after{
  background-size:contain!important;
  background-position:right center!important;
  filter:none!important;
  image-rendering:auto!important;
}
.final-section-media img,.story-img,.card-image img{
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
}
.story-img-container:hover .story-img,.card:hover img{transform:none!important;}

/* Stronger lime cues without flooding the interface. */
.site-header{border-top:3px solid #cfff04!important;}
.site-footer{border-top:3px solid #cfff04!important;}
.card{border-top:2px solid rgba(207,255,4,.9)!important;}
.callout-dark{box-shadow:inset 4px 0 0 #cfff04!important;}

/* Mobile readability. */
@media(max-width:860px){
  .hero::after,.page-hero::after{background-size:contain!important;background-position:center bottom!important;}
  body.page-jobs .page-hero h1{font-size:clamp(38px,9vw,54px)!important;}
}

/* ========================================================================== 
   FINAL READABILITY / CROPPING PATCH — public preview
   ========================================================================== */

/* Contact: lime panel must be black-on-lime, even inside a dark section. */
body.page-contact .section-black .contact-info-block,
body.page-contact .section-black .contact-info-block h1,
body.page-contact .section-black .contact-info-block h2,
body.page-contact .section-black .contact-info-block h3,
body.page-contact .section-black .contact-info-block h4,
body.page-contact .section-black .contact-info-block p,
body.page-contact .section-black .contact-info-block strong,
body.page-contact .section-black .contact-info-block b,
body.page-contact .section-black .contact-info-block span,
body.page-contact .section-black .contact-info-block li,
body.page-contact .section-black .contact-info-block a {
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.page-contact .section-black .contact-info-block{
  background:#cfff04 !important;
}

/* Contact + Jobs forms sit on white cards inside black sections, so labels must be dark. */
body.page-contact .section-black #contact-form label,
body.page-contact #contact-form label,
body.page-jobs .section-black form label,
body.page-jobs form label{
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  opacity:1 !important;
}
body.page-contact #contact-form p,
body.page-jobs form p{
  color:#343938 !important;
}
body.page-contact #contact-form input,
body.page-contact #contact-form select,
body.page-contact #contact-form textarea,
body.page-jobs form input,
body.page-jobs form select,
body.page-jobs form textarea{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

/* Long page titles: keep every word inside the readable copy column. */
.page-hero h1{
  font-size:clamp(40px,4.2vw,62px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  max-width:560px !important;
  width:100% !important;
  text-wrap:balance !important;
  overflow:visible !important;
}
body.page-jobs .page-hero h1{
  font-size:clamp(38px,3.85vw,56px) !important;
  line-height:1 !important;
  max-width:560px !important;
}
body.page-consulting-services .page-hero h1,
body.page-success-led-selling .page-hero h1,
body.page-culture .page-hero h1{
  font-size:clamp(40px,4.15vw,60px) !important;
  max-width:570px !important;
}

/* Lime highlighted words stay readable and wrap cleanly. */
.page-hero h1 .accent,
.hero h1 .accent{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  background:#cfff04 !important;
  padding:0 .055em .025em !important;
  line-height:1.03 !important;
  -webkit-box-decoration-break:clone !important;
  box-decoration-break:clone !important;
}

/* Give the copy column enough room and keep the visual on the right. */
@media (min-width:861px){
  .page-hero>.container,
  .hero-inner>div:first-child{
    max-width:590px !important;
    padding-right:22px !important;
  }
  .page-hero::after,
  .hero::after{
    width:52% !important;
    background-size:contain !important;
    background-position:right center !important;
  }
}

@media (max-width:860px){
  .page-hero h1,
  body.page-jobs .page-hero h1,
  body.page-consulting-services .page-hero h1,
  body.page-success-led-selling .page-hero h1,
  body.page-culture .page-hero h1{
    font-size:clamp(38px,9vw,52px) !important;
    line-height:1 !important;
    max-width:none !important;
  }
}
