/* CHABADEC V14.3.0 – visual-only progressive layer.
   Scope: the plugin's existing .chbc-website body and #chbc-app subtree.
   No new third-party fonts, markup, images, or dependencies. */
.chbc-website #chbc-app{
  --chbc-yellow:#F8E01C;
  --chbc-amber:#F7B51F;
  --chbc-orange:#F08E18;
  --chbc-green:#4EAE32;
  --chbc-blue:#00A0E3;
  --chbc-blue-focus:#0077AB;
  --chbc-gray:#9B9B9B;
  --chbc-charcoal:#343231;
  --chbc-charcoal-deep:#262626;
  --chbc-white:#FFFFFF;
  --chbc-offwhite:#F5F5F4;
  --chbc-action:linear-gradient(135deg,var(--chbc-yellow),var(--chbc-amber) 45%,var(--chbc-orange));
  --ink:var(--chbc-charcoal-deep);
  --ink-soft:var(--chbc-charcoal);
  --evergreen:var(--chbc-charcoal-deep);
  --green:var(--chbc-green);
  --bright:var(--chbc-amber);
  --mint:var(--chbc-yellow);
  --paper:var(--chbc-white);
  --cream:var(--chbc-offwhite);
  --text:var(--chbc-charcoal);
  --muted:rgba(52,50,49,.78);
  --line:rgba(155,155,155,.33);
  --shadow:0 16px 42px rgba(38,38,38,.10);
  --round:20px;
  background:var(--chbc-white);
  color:var(--chbc-charcoal);
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-size:clamp(16px,1.05vw,18px);
  line-height:1.65
}
body.chbc-website{background:#FFFFFF}
.chbc-website #chbc-app :is(h1,h2,h3,h4,h5,h6),
.chbc-website #chbc-app :is(.chbc-service h3,.chbc-process-step h3,.chbc-v8-perspective h3){
  font-family:Barlow,"Arial Narrow",Arial,Helvetica,sans-serif;
  font-weight:750;
  letter-spacing:-.025em;
  line-height:1.2;
}
.chbc-website #chbc-app[data-lang="ar"] :is(h1,h2,h3,h4,h5,h6){font-family:Tahoma,Arial,sans-serif;letter-spacing:0}
.chbc-website #chbc-app :is(.chbc-heading h2,.chbc-feature-copy h2,.chbc-contact-info h2,.chbc-cinematic-copy h2,.chbc-v8-focus-copy h2,.chbc-v10-story-head h2){
  font-size:clamp(30px,3.8vw,54px);
  font-weight:750;
  max-width:24ch;
}
.chbc-website #chbc-app :is(.chbc-heading p,.chbc-feature-copy p,.chbc-contact-info p,.chbc-service p,.chbc-process-step p,.chbc-footer-grid p,.chbc-hero-text p){
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.68;
  max-width:65ch;
}
.chbc-website #chbc-app .chbc-container{width:min(1220px,calc(100% - 40px))}
.chbc-website #chbc-app .chbc-section{padding-block:clamp(60px,7.2vw,104px)}
.chbc-website #chbc-app .chbc-paper{background:var(--chbc-white);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-cream{background:var(--chbc-offwhite);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-night{background:var(--chbc-charcoal-deep);color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-final-cta{background:var(--chbc-charcoal-deep);color:var(--chbc-white);border-block-start:3px solid var(--chbc-amber)}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-heading :is(h2,p),
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-feature-copy :is(h2,p),
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-contact-info :is(h2,p),
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-eyebrow,
.chbc-website #chbc-app .chbc-v10-story-head :is(h2,p),
.chbc-website #chbc-app .chbc-v10-caption{color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-night :is(.chbc-heading h2,.chbc-heading p,.chbc-process-step h3,.chbc-process-step p),
.chbc-website #chbc-app .chbc-final-cta :is(h2,p){color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-night .chbc-eyebrow,
.chbc-website #chbc-app .chbc-final-cta .chbc-eyebrow{color:var(--chbc-yellow)}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) :is(.chbc-heading,.chbc-feature-copy) > p{color:rgba(52,50,49,.82)}
/* A white header keeps the supplied charcoal logo readable at every breakpoint. */
.chbc-website #chbc-app .chbc-header,
.chbc-website #chbc-app .chbc-header.is-scrolled{
  background:rgba(255,255,255,.98);
  color:var(--chbc-charcoal);
  border-bottom:1px solid rgba(155,155,155,.35);
  box-shadow:0 8px 25px rgba(38,38,38,.10);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px)
}
.chbc-website #chbc-app .chbc-header::after{background:var(--chbc-action);height:2px;box-shadow:none;inset-inline:0}
.chbc-website #chbc-app .chbc-brand,
.chbc-website #chbc-app .chbc-brand-name strong,
.chbc-website #chbc-app .chbc-brand-name small{color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-logo-img{background:var(--chbc-white)}
.chbc-website #chbc-app .chbc-nav-link{
  color:var(--chbc-charcoal);
  background:transparent;
  border-color:transparent;
  font-weight:750;
  transition:background .22s,color .22s,transform .22s
}
.chbc-website #chbc-app .chbc-nav-link:is(:hover,:focus-visible,.is-active){
  color:var(--chbc-charcoal);
  background:var(--chbc-offwhite);
  border-color:rgba(155,155,155,.35);
  box-shadow:inset 0 -3px 0 var(--chbc-orange)
}
.chbc-website #chbc-app .chbc-lang,
.chbc-website #chbc-app .chbc-menu-btn{
  color:var(--chbc-charcoal);
  border:1px solid rgba(155,155,155,.45);
  background:var(--chbc-offwhite);
  box-shadow:none
}
.chbc-website #chbc-app .chbc-lang:hover,
.chbc-website #chbc-app .chbc-menu-btn:hover{border-color:var(--chbc-orange);background:var(--chbc-white)}
.chbc-website #chbc-app .chbc-language-options{
  background:var(--chbc-white);border:1px solid rgba(155,155,155,.4);
  box-shadow:0 18px 44px rgba(38,38,38,.17)
}
.chbc-website #chbc-app .chbc-language-options button,
.chbc-website #chbc-app .chbc-language-options button b{
  color:var(--chbc-charcoal);background:var(--chbc-offwhite)
}
.chbc-website #chbc-app .chbc-language-options button:is(:hover,:focus-visible,.is-selected){
  background:rgba(247,181,31,.16);color:var(--chbc-charcoal);border-color:var(--chbc-orange)
}
.chbc-website #chbc-app .chbc-language-options button.is-selected b{background:var(--chbc-amber);color:var(--chbc-charcoal)}
.chbc-website #chbc-app :is(.chbc-btn-main,.chbc-header-cta,.chbc-form-submit,.chbc-whatsapp){
  background:var(--chbc-action);
  color:var(--chbc-charcoal);
  border-color:var(--chbc-amber);
  box-shadow:0 10px 22px rgba(38,38,38,.18),inset 0 1px rgba(255,255,255,.4)
}
.chbc-website #chbc-app :is(.chbc-btn-main,.chbc-header-cta,.chbc-form-submit,.chbc-whatsapp):is(:hover,:focus-visible){
  color:var(--chbc-charcoal);
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(38,38,38,.24);
  background:linear-gradient(135deg,var(--chbc-amber),var(--chbc-orange))
}
.chbc-website #chbc-app .chbc-btn-ghost{background:rgba(255,255,255,.08);color:var(--chbc-white);border-color:rgba(255,255,255,.8)}
.chbc-website #chbc-app .chbc-btn-ghost:is(:hover,:focus-visible){color:var(--chbc-charcoal);background:var(--chbc-white)}
.chbc-website #chbc-app :is(a,button,input,textarea,select):focus-visible{
  outline:3px solid var(--chbc-blue-focus);
  outline-offset:3px
}
.chbc-website #chbc-app :is(.chbc-hero,.chbc-night,.chbc-final-cta,.chbc-footer) :is(a,button,input,textarea,select):focus-visible{
  outline-color:var(--chbc-blue)
}
/* Photos and slide captions: dark charcoal image scrims and high-contrast white type. */
.chbc-website #chbc-app .chbc-hero{
  background:var(--chbc-charcoal-deep);
  color:var(--chbc-white)
}
.chbc-website #chbc-app .chbc-hero-gradient{
  background:linear-gradient(90deg,rgba(38,38,38,.94) 0%,rgba(38,38,38,.87) 38%,rgba(38,38,38,.60) 72%,rgba(38,38,38,.55) 100%)
}
.chbc-website #chbc-app .chbc-hero-gradient::before{background:none}
.chbc-website #chbc-app .chbc-hero-text :is(h1,h2,p),
.chbc-website #chbc-app .chbc-frame-badge :is(span,strong){color:var(--chbc-white);text-shadow:0 2px 8px rgba(38,38,38,.9)}
.chbc-website #chbc-app .chbc-hero-text :is(h1,h2){font-size:clamp(36px,5.1vw,69px);font-weight:800;line-height:1.12}
.chbc-website #chbc-app .chbc-hero-kicker{
  background:rgba(38,38,38,.82);color:var(--chbc-yellow);
  border-color:rgba(248,224,28,.65)
}
.chbc-website #chbc-app .chbc-pulse{background:var(--chbc-yellow);box-shadow:0 0 0 4px rgba(248,224,28,.2)}
.chbc-website #chbc-app .chbc-slider-track{background:rgba(255,255,255,.35)}
.chbc-website #chbc-app .chbc-slider-track i{background:var(--chbc-action)}
.chbc-website #chbc-app .chbc-slider-nav button{color:var(--chbc-white);border-color:rgba(255,255,255,.5)}
.chbc-website #chbc-app .chbc-hero-frame{perspective:1000px;transform-style:preserve-3d}
.chbc-website #chbc-app.chbc-motion-ok .chbc-hero-frame{transform:perspective(1100px) rotateX(var(--chbc-frame-rx,0deg)) rotateY(var(--chbc-frame-ry,0deg));transition:transform .28s ease-out}
.chbc-website #chbc-app .chbc-project-tile::after{
  background:linear-gradient(0deg,rgba(38,38,38,.92),rgba(38,38,38,.68) 35%,transparent 100%)
}
.chbc-website #chbc-app .chbc-project-tile span,
.chbc-website #chbc-app .chbc-gallery-caption{
  color:var(--chbc-white);
  text-shadow:0 2px 8px rgba(38,38,38,.9)
}
.chbc-website #chbc-app .chbc-gallery-caption{
  background:linear-gradient(0deg,rgba(38,38,38,.94),rgba(38,38,38,.63) 65%,transparent)
}
.chbc-website #chbc-app .chbc-v13-hero-media figcaption{
  background:rgba(38,38,38,.92);color:var(--chbc-white)
}
.chbc-website #chbc-app .chbc-v13-hero-media figcaption :is(h3,p){color:var(--chbc-white)}
/* Cards retain their exact HTML and links, with one coherent white/offwhite visual language. */
.chbc-website #chbc-app :is(.chbc-service,.chbc-v13-support,.chbc-v13-phase,.chbc-v10-milestone,.chbc-phase-card){
  background:var(--chbc-white);border:1px solid rgba(155,155,155,.32);
  border-radius:20px;box-shadow:var(--shadow)
}
.chbc-website #chbc-app :is(.chbc-service,.chbc-v13-support,.chbc-v13-phase,.chbc-v10-milestone):hover{
  box-shadow:0 20px 44px rgba(38,38,38,.15);
  border-color:rgba(240,142,24,.44)
}
.chbc-website #chbc-app :is(.chbc-service-body,.chbc-v13-support-copy,.chbc-v13-phase-copy,.chbc-v10-milestone figcaption) :is(h3,p,strong){
  color:var(--chbc-charcoal);font-weight:600
}
.chbc-website #chbc-app .chbc-service-body h3{font-weight:750}
.chbc-website #chbc-app .chbc-service-icon{background:var(--chbc-action);color:var(--chbc-charcoal);border-color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-service:first-child .chbc-service-icon{background:var(--chbc-blue);color:var(--chbc-charcoal-deep)}
.chbc-website #chbc-app .chbc-service-photo{background:var(--chbc-offwhite)}
.chbc-website #chbc-app .chbc-text-link{color:var(--chbc-charcoal);text-decoration:underline;text-decoration-color:var(--chbc-orange);text-underline-offset:5px}
.chbc-website #chbc-app .chbc-process-step{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.25);
  border-radius:20px
}
.chbc-website #chbc-app .chbc-process-step>span{color:var(--chbc-yellow)}
.chbc-website #chbc-app .chbc-process-step :is(h3,p){color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-process-step:hover{background:rgba(255,255,255,.12);border-color:var(--chbc-amber)}
.chbc-website #chbc-app .chbc-process-grid{position:relative}
.chbc-website #chbc-app .chbc-process-grid::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:0;
  inline-size:3px;block-size:100%;background:var(--chbc-action);
  transform:scaleY(0);transform-origin:top;transition:transform 1.1s cubic-bezier(.2,.75,.2,1)
}
.chbc-website #chbc-app .chbc-process-grid.chbc-inview::before{transform:scaleY(1)}
.chbc-website #chbc-app .chbc-v13-step{background:var(--chbc-charcoal-deep);color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-v13-badge,
.chbc-website #chbc-app .chbc-v13-chip{background:var(--chbc-amber);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-v10-panorama{background:var(--chbc-charcoal-deep);color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-v10-panorama :is(h3,p,strong){color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-v10-panorama-actions button{background:var(--chbc-amber);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-v10-pair.is-active,
.chbc-website #chbc-app .chbc-v10-quick-view button.is-active{background:var(--chbc-action);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-v10-milestone figcaption>span,
.chbc-website #chbc-app .chbc-solar-step-number{background:var(--chbc-amber);color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-v10-compare-badges>span{background:rgba(38,38,38,.88);color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-v10-divider>span{background:var(--chbc-action);color:var(--chbc-charcoal)}
/* Dark footer includes a white logo surface so the official asset never disappears. */
.chbc-website #chbc-app .chbc-footer{background:var(--chbc-charcoal-deep);color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-footer-logo-link{background:var(--chbc-white);border-radius:14px;padding:8px;display:inline-flex}
.chbc-website #chbc-app .chbc-footer-grid :is(h3,p,a),
.chbc-website #chbc-app .chbc-footer-base,
.chbc-website #chbc-app .chbc-footer-summary{color:var(--chbc-white)}
.chbc-website #chbc-app .chbc-footer-grid a:is(:hover,:focus-visible){color:var(--chbc-yellow)}
.chbc-website #chbc-app .chbc-footer-base{border-color:rgba(255,255,255,.25)}
.chbc-website #chbc-app .chbc-whatsapp{inset-inline-end:20px;right:auto}
.chbc-website #chbc-app .chbc-whatsapp svg{stroke:currentColor}
/* Existing lightbox and filtered gallery remain unchanged functionally. */
.chbc-website #chbc-app .chbc-gallery-item{
  background:var(--chbc-offwhite);box-shadow:0 12px 26px rgba(38,38,38,.12);
  transition:transform .24s ease-out,box-shadow .24s ease-out
}
.chbc-website #chbc-app.chbc-motion-ok .chbc-gallery-item:is(:hover,:focus-visible){
  box-shadow:0 22px 35px rgba(38,38,38,.22)
}
.chbc-website #chbc-app .chbc-gallery-item[hidden]{display:none}
.chbc-website #chbc-app .chbc-gallery-count{color:var(--chbc-charcoal)}
.chbc-website #chbc-app .chbc-lightbox{background:rgba(38,38,38,.97)}
.chbc-website #chbc-app .chbc-lightbox :is(button,.chbc-lb-count){color:var(--chbc-white)}
/* Existing reveal classes: no hidden text without JS, no layout-shifting animation. */
.chbc-website #chbc-app .chbc-reveal{transition:opacity .65s cubic-bezier(.2,.75,.2,1),transform .65s cubic-bezier(.2,.75,.2,1)}
.chbc-website #chbc-app .chbc-heading.chbc-reveal{transition-delay:.06s}
.chbc-website #chbc-app .chbc-service:nth-child(3n+2).chbc-reveal,
.chbc-website #chbc-app .chbc-process-step:nth-child(3n+2).chbc-reveal{transition-delay:.07s}
.chbc-website #chbc-app .chbc-service:nth-child(3n+3).chbc-reveal,
.chbc-website #chbc-app .chbc-process-step:nth-child(3n+3).chbc-reveal{transition-delay:.14s}

/* The legacy active-link rule uses !important: this scoped override is required for legibility. */
.chbc-website #chbc-app .chbc-nav-link.is-active,
.chbc-website #chbc-app .chbc-nav-link[aria-current="page"],
.chbc-website #chbc-app .chbc-nav-link.is-active:hover,
.chbc-website #chbc-app .chbc-nav-link[aria-current="page"]:hover{
  color:var(--chbc-charcoal) !important;
  border-color:rgba(240,142,24,.55);
  background:var(--chbc-offwhite);
  box-shadow:inset 0 -3px 0 var(--chbc-orange);
}

@media(max-width:1060px){
  .chbc-website #chbc-app .chbc-navigation{background:var(--chbc-white);border-color:rgba(155,155,155,.35);box-shadow:0 24px 45px rgba(38,38,38,.18)}
  .chbc-website #chbc-app .chbc-navigation .chbc-nav-link{color:var(--chbc-charcoal);background:var(--chbc-offwhite);border-color:rgba(155,155,155,.2)}
  .chbc-website #chbc-app .chbc-navigation .chbc-nav-link:is(:hover,:focus-visible,.is-active){background:rgba(247,181,31,.16);border-color:var(--chbc-orange)}
}
@media(max-width:600px){
  .chbc-website #chbc-app .chbc-container{width:min(100% - 28px,1220px)}
  .chbc-website #chbc-app .chbc-hero-layout{padding-block:116px 100px}
  .chbc-website #chbc-app .chbc-hero-text :is(h1,h2){font-size:clamp(34px,8.8vw,46px)}
  .chbc-website #chbc-app .chbc-section{padding-block:60px}
  .chbc-website #chbc-app .chbc-gallery-caption{font-size:14px}
  .chbc-website #chbc-app .chbc-whatsapp{inset-inline-end:14px}
}
@media(prefers-reduced-motion:reduce){
  .chbc-website #chbc-app .chbc-reveal,
  .chbc-website #chbc-app .chbc-hero-frame,
  .chbc-website #chbc-app .chbc-gallery-item{transform:none;transition:none;opacity:1}
  .chbc-website #chbc-app .chbc-process-grid::before{transform:scaleY(1);transition:none}
}
