/* CHABADEC 14.3.1 — consolidated fixes. All selectors scoped to plugin. */
.chbc-website #chbc-app {
  --chbc-yellow:#F8E01C; --chbc-amber:#F7B51F; --chbc-orange:#F08E18;
  --chbc-green:#4FAE32; --chbc-blue:#00A0E3; --chbc-gray:#9D9D9C;
  --chbc-charcoal:#333333; --chbc-charcoal-deep:#262626;
  --chbc-white:#FFFFFF; --chbc-offwhite:#F5F5F4;
  --ink:#333333; --ink-soft:#333333; --text:#333333; --muted:#333333;
  --evergreen:#333333; --chbc-action:linear-gradient(115deg,#F8E01C 0%,#F7B51F 54%,#F08E18 100%);
  color:#333333;
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  scroll-padding-top:120px;
}
/* The ZIP contains no licensable self-hosted heading font. Prefer a real, non-condensed
   system family over an unavailable Barlow/Arial Narrow fallback. */
.chbc-website #chbc-app :is(h1,h2,h3,h4,h5,h6),
.chbc-website #chbc-app :is(.chbc-v14-intro h2,.chbc-v14-detail h2,.chbc-v14-card-title) {
  font-family:system-ui,-apple-system,"Segoe UI",Arial,Helvetica,sans-serif;
  font-stretch:normal; font-synthesis:none; letter-spacing:-.01em;
}
.chbc-website #chbc-app :is(h1,h2,h3,h4,h5,h6) [data-chbc-fr] {letter-spacing:inherit}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) :is(.chbc-v14-kicker,.chbc-v14-card-summary,.chbc-v14-discover,.chbc-v14-lead,.chbc-v14-note,.chbc-v14-facts),
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) :is(.chbc-v14-photo figcaption,.chbc-process-step h3,.chbc-process-step p,.chbc-service-body h3,.chbc-service-body p),
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-eyebrow,
.chbc-website #chbc-app .chbc-contact-links small,
.chbc-website #chbc-app .chbc-form-note {color:#333333}
.chbc-website #chbc-app .chbc-v14-kicker {font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#333333;display:inline-flex;align-items:center;gap:9px}
.chbc-website #chbc-app .chbc-v14-kicker::before {content:"";display:inline-block;width:4px;height:16px;border-radius:4px;background:#F08E18;flex:none}
.chbc-website #chbc-app .chbc-v14-card:nth-child(1) .chbc-v14-kicker::before,
.chbc-website #chbc-app .chbc-v14-detail[id*="pistes"] .chbc-v14-kicker::before {background:#4FAE32}
.chbc-website #chbc-app .chbc-v14-card:nth-child(4) .chbc-v14-kicker::before,
.chbc-website #chbc-app .chbc-v14-detail[id*="bassins"] .chbc-v14-kicker::before {background:#00A0E3}
.chbc-website #chbc-app .chbc-v14-card-body,
.chbc-website #chbc-app .chbc-v14-card-summary,
.chbc-website #chbc-app .chbc-v14-card-title {color:#333333}
.chbc-website #chbc-app .chbc-v14-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.chbc-website #chbc-app .chbc-v14-grid .chbc-v14-card {height:100%;min-width:0}
.chbc-website #chbc-app .chbc-v14-grid .chbc-v14-card-link {height:100%}
.chbc-website #chbc-app .chbc-v14-grid .chbc-v14-card-body {flex:1}
.chbc-website #chbc-app .chbc-v14-grid .chbc-v14-card:last-child:nth-child(odd) {grid-column:1/-1}
.chbc-website #chbc-app .chbc-v14-photogrid {grid-template-columns:repeat(3,minmax(0,1fr))}
.chbc-website #chbc-app .chbc-v14-photogrid .chbc-v14-photo:last-child:nth-child(3n+1) {grid-column:span 3}
.chbc-website #chbc-app .chbc-v14-photogrid .chbc-v14-photo:nth-last-child(2):nth-child(3n+1),
.chbc-website #chbc-app .chbc-v14-photogrid .chbc-v14-photo:last-child:nth-child(3n+2) {grid-column:span 1}
.chbc-website #chbc-app .chbc-v14-photo figcaption {font-size:14px;line-height:1.5;color:#333333}
.chbc-website #chbc-app .chbc-v14-photo img {object-position:center center}
.chbc-website #chbc-app img[src*="piste-mesure-terrain"],
.chbc-website #chbc-app img[src*="piste-equipe-sur-site"],
.chbc-website #chbc-app img[src*="piste-suivi-chantier-aerien"] {object-position:center 47%}

/* Visibility is the default, not a dependency on JS/IntersectionObserver. */
.chbc-website #chbc-app .chbc-reveal,
.chbc-website #chbc-app .chbc-reveal:not(.is-visible) {opacity:1;transform:none}
.chbc-website #chbc-app.chbc-enhanced .chbc-reveal:not(.is-visible) {opacity:0;transform:translateY(18px)}
.chbc-website #chbc-app.chbc-enhanced .chbc-reveal.is-visible {opacity:1;transform:none}
.chbc-website #chbc-app :is(section,[id],h1,h2,h3,h4){scroll-margin-top:clamp(90px,9vw,140px)}
html:has(body.chbc-website) {scroll-padding-top:clamp(90px,9vw,140px)}
.chbc-website #chbc-app :is(a,button,input,textarea,select,[tabindex]):focus-visible {outline:3px solid #00A0E3;outline-offset:3px}
.chbc-website #chbc-app :is(.chbc-filter,.chbc-nav-link,.chbc-btn,.chbc-socials a,.chbc-footer a,.chbc-gallery-item) {min-height:44px}
.chbc-website #chbc-app :is(.chbc-btn-main,.chbc-header-cta,.chbc-form-submit,.chbc-whatsapp) {
  background:linear-gradient(115deg,#F8E01C,#F7B51F 54%,#F08E18);
  color:#333333; border-color:#F7B51F
}
.chbc-website #chbc-app :is(.chbc-btn-main,.chbc-header-cta,.chbc-form-submit,.chbc-whatsapp) :is(span,svg){color:#333333}
.chbc-website #chbc-app .chbc-eyebrow {text-transform:uppercase;letter-spacing:.09em}
.chbc-website #chbc-app .chbc-header{z-index:1100}

/* Six stages: contrast-safe light cards and a progressive timeline line. */
.chbc-website #chbc-app .chbc-paper .chbc-process-grid,
.chbc-website #chbc-app .chbc-cream .chbc-process-grid {position:relative;isolation:isolate;gap:18px;padding-top:12px}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid::before {
  content:"";position:absolute;top:52px;left:8px;right:8px;width:auto;height:3px;
  background:linear-gradient(90deg,#F8E01C,#F08E18);transform:none;z-index:-1
}
.chbc-website #chbc-app.chbc-enhanced :is(.chbc-paper,.chbc-cream) .chbc-process-grid:not(.chbc-inview)::before {transform:scaleX(0);transform-origin:left}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid.chbc-inview::before {transform:scaleX(1);transform-origin:left;transition:transform 1.05s ease}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step {
  background:#FFFFFF;border:1px solid rgba(51,51,51,.18);box-shadow:0 8px 22px rgba(38,38,38,.06);
  padding:18px 14px 20px;min-height:220px;position:relative
}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step:hover {background:#FFFFFF;border-color:#F08E18}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step>span {
  display:grid;place-items:center;inline-size:58px;block-size:58px;
  background:#262626;border-radius:50%;color:#F8E01C;font-size:24px;
  font-weight:850;margin-bottom:18px;letter-spacing:0
}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step h3 {
  color:#333333;font-size:18px;font-weight:800;line-height:1.35
}
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step p {
  color:#333333;font-size:16px;opacity:.82;line-height:1.55;margin:0
}
/* Same numbered discs also work on the home/about dark background. */
.chbc-website #chbc-app .chbc-night .chbc-process-step>span {
  display:grid;place-items:center;inline-size:56px;block-size:56px;
  color:#F8E01C;background:#262626;border-radius:50%;font-size:24px
}

/* Footer: no lighting artefacts; white text survives legacy selectors. */
.chbc-website #chbc-app .chbc-footer {
  background:#262626!important;color:#FFFFFF!important;border:0;border-top:3px solid #F7B51F;
  padding-top:clamp(44px,6vw,78px);position:relative;overflow:hidden
}
.chbc-website #chbc-app .chbc-footer::before {content:none!important;display:none!important;background:none!important}
.chbc-website #chbc-app .chbc-footer::after {
  content:"";display:block;position:absolute;top:0;left:0;right:0;inset-inline:0;
  height:3px;background:linear-gradient(90deg,#F8E01C,#F7B51F,#F08E18);box-shadow:none
}
.chbc-website #chbc-app .chbc-footer-grid {
  grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));
  align-items:start;gap:clamp(18px,3.8vw,48px);padding-bottom:58px
}
.chbc-website #chbc-app .chbc-footer-grid :is(h3,a,p,span),
.chbc-website #chbc-app .chbc-footer-grid :is(h3,a,p,span) [data-chbc-fr],
.chbc-website #chbc-app .chbc-footer-base,
.chbc-website #chbc-app .chbc-footer-base :is(a,span) {color:#FFFFFF!important}
.chbc-website #chbc-app .chbc-footer-grid h3 {
  font-size:18px;font-weight:800;line-height:1.45;margin:0 0 24px;color:#FFFFFF!important;position:relative
}
.chbc-website #chbc-app .chbc-footer-grid h3::after {content:"";position:absolute;bottom:-9px;inset-inline-start:0;width:36px;height:3px;border-radius:4px;background:#F8E01C}
.chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa) {
  width:fit-content;max-width:100%;font-size:16px!important;line-height:1.6!important;
  min-height:44px;padding-block:7px;color:rgba(255,255,255,.88)!important;
  background:transparent;position:relative;text-decoration:none
}
.chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa)::after {
  content:"";position:absolute;bottom:7px;inset-inline-start:0;width:100%;height:2px;background:#F8E01C;
  transform:scaleX(0);transform-origin:left;transition:transform .2s
}
.chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa):is(:hover,:focus-visible) {color:#F8E01C!important}
.chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa):is(:hover,:focus-visible)::after {transform:scaleX(1)}
.chbc-website #chbc-app .chbc-footer-grid .chbc-footer-summary,
.chbc-website #chbc-app .chbc-footer-grid .chbc-footer-location {
  font-size:16px;line-height:1.7;color:rgba(255,255,255,.88)!important
}
.chbc-website #chbc-app .chbc-footer-logo-link {
  display:inline-flex!important;border-radius:17px;background:#FFFFFF!important;border:1px solid #FFFFFF!important;
  padding:8px;box-shadow:0 10px 26px rgba(0,0,0,.15)
}
.chbc-website #chbc-app .chbc-socials {margin-top:18px;display:flex;gap:11px;flex-wrap:wrap}
.chbc-website #chbc-app .chbc-socials a {
  display:grid!important;place-items:center;width:44px;height:44px;min-height:44px;
  padding:0!important;border-radius:50%!important;background:#333333!important;
  border:1px solid rgba(255,255,255,.35);color:#FFFFFF!important;transition:transform .2s,background .2s
}
.chbc-website #chbc-app .chbc-socials a svg {color:#FFFFFF;stroke:#FFFFFF}
.chbc-website #chbc-app .chbc-socials a:is(:hover,:focus-visible){
  color:#333333!important;background:linear-gradient(115deg,#F8E01C,#F08E18)!important;transform:translateY(-3px)
}
.chbc-website #chbc-app .chbc-socials a:is(:hover,:focus-visible) svg {color:#333333;stroke:#333333}
.chbc-website #chbc-app .chbc-footer-base {flex-wrap:wrap;border-color:rgba(255,255,255,.2);font-size:14px;letter-spacing:0;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.chbc-website #chbc-app .chbc-final-cta {padding-block:clamp(48px,6vw,76px)}
.chbc-website #chbc-app .chbc-final-cta .chbc-eyebrow {color:#FFFFFF}
.chbc-website #chbc-app .chbc-final-inner {gap:24px;align-items:center}
.chbc-website #chbc-app .chbc-final-inner .chbc-btn {flex:none}
.chbc-website #chbc-app .chbc-whatsapp {
  inset-inline-end:18px!important;right:auto!important;bottom:calc(18px + env(safe-area-inset-bottom,0px));
  width:56px;height:56px;z-index:950;box-shadow:0 4px 18px rgba(38,38,38,.18)
}
.chbc-website #chbc-app .chbc-footer-base {padding-inline-end:76px}

/* Galerie: full-bleed images, balanced mosaic when enhanced, regular fallback without JS. */
.chbc-website #chbc-app .chbc-gallery-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:minmax(230px,auto);gap:16px;perspective:1200px;perspective-origin:50% 30%;
}
.chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item {
  grid-column:auto;grid-row:auto;min-width:0;min-height:230px;max-width:100%;
  display:block;overflow:hidden;isolation:isolate;border-radius:20px;
  border:0;background:#262626;transform-style:preserve-3d;
  transform:translate3d(0,var(--chbc-row-drift,0px),0) rotateX(var(--chbc-tilt-x,0deg)) rotateY(var(--chbc-tilt-y,0deg));
  transition:transform .55s cubic-bezier(.2,.65,.2,1),box-shadow .35s,opacity .45s
}
.chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready {grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(250px,26vw,340px)}
.chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready .chbc-gallery-item {grid-column:span var(--chbc-cols,4);grid-row:auto;min-height:0}
.chbc-website #chbc-app .chbc-gallery-item img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(var(--chbc-image-scale,1)) translate3d(var(--chbc-parallax-x,0px),var(--chbc-parallax-y,0px),0);
  transition:transform .5s ease;backface-visibility:hidden;
}
.chbc-website #chbc-app .chbc-gallery-item::after {
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse at var(--chbc-glare-x,30%) var(--chbc-glare-y,25%),rgba(255,255,255,.16),transparent 47%);
  opacity:0;transition:opacity .35s
}
.chbc-website #chbc-app .chbc-gallery-item .chbc-gallery-caption {
  position:absolute;z-index:2;bottom:0;left:0;right:0;inset-inline:0;
  padding:62px 18px 19px;background:linear-gradient(0deg,rgba(38,38,38,.98),rgba(38,38,38,.78) 45%,transparent);
  color:#FFFFFF!important;font-size:clamp(14px,1.1vw,16px);font-weight:750;line-height:1.45;
  text-shadow:0 1px 4px rgba(0,0,0,.5);display:flex;gap:12px;justify-content:space-between;align-items:end;
  transform:translateY(0);transition:transform .35s
}
.chbc-website #chbc-app .chbc-gallery-caption [data-chbc-fr] {color:#FFFFFF!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.chbc-website #chbc-app .chbc-gallery-caption svg {color:#FFFFFF;flex:none}
.chbc-website #chbc-app .chbc-gallery-item:is(:hover,:focus-visible) {box-shadow:0 24px 40px rgba(38,38,38,.3)}
.chbc-website #chbc-app .chbc-gallery-item:is(:hover,:focus-visible)::after {opacity:1}
.chbc-website #chbc-app .chbc-gallery-item:is(:hover,:focus-visible) .chbc-gallery-caption {transform:translateY(-3px)}
.chbc-website #chbc-app .chbc-gallery-item:is(:hover,:focus-visible) img {--chbc-image-scale:1.055}
.chbc-website #chbc-app .chbc-gallery-grid.chbc-entrance-active .chbc-gallery-item:not(.chbc-entered) {opacity:0;transform:translateZ(-120px) rotateX(8deg)}
.chbc-website #chbc-app .chbc-gallery-item[hidden] {display:none!important}
.chbc-website #chbc-app .chbc-gallery-count {color:#333333!important}
.chbc-website #chbc-app .chbc-filters .chbc-filter {color:#333333}

/* 3D visionneuse: always opaque backing for white caption, safe viewport. */
.chbc-website #chbc-app .chbc-lightbox {
  min-height:100dvh;background:rgba(38,38,38,.97);color:#FFFFFF;
  perspective:1200px;padding:clamp(18px,3vw,38px);box-sizing:border-box
}
.chbc-website #chbc-app .chbc-lightbox>img {
  max-width:calc(100vw - 110px);max-height:calc(100dvh - 150px);
  object-fit:contain;transform:perspective(1200px) translateZ(0) scale(var(--chbc-zoom,1));
  transition:transform .32s ease,opacity .22s ease;border-radius:8px;cursor:zoom-in
}
.chbc-website #chbc-app .chbc-lightbox.chbc-opening>img {transform:perspective(1200px) translateZ(-90px) rotateX(7deg);opacity:.4}
.chbc-website #chbc-app .chbc-lightbox.chbc-zoomed>img {cursor:zoom-out}
.chbc-website #chbc-app .chbc-lb-caption {
  position:absolute;left:68px;right:68px;bottom:48px;max-width:760px;margin:auto;
  background:linear-gradient(90deg,rgba(38,38,38,.98),rgba(38,38,38,.8));
  color:#FFFFFF;text-align:center;font-size:16px;line-height:1.5;padding:8px;border-radius:9px
}
.chbc-website #chbc-app .chbc-lb-count {color:#FFFFFF;bottom:13px;font-size:14px}
.chbc-website #chbc-app .chbc-lb-zoom {position:absolute;right:24px;top:84px;width:44px;height:44px;z-index:2}
.chbc-website #chbc-app .chbc-lightbox button {min-height:44px;min-width:44px}

/* Breakpoints; horizontally scroll-snap coverflow on phones, static with no JS. */
@media(max-width:1199px) and (min-width:1024px) {
  .chbc-website #chbc-app .chbc-footer-grid{gap:20px}
  .chbc-website #chbc-app .chbc-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1023px) {
  .chbc-website #chbc-app .chbc-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .chbc-website #chbc-app .chbc-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:300px}
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready .chbc-gallery-item {grid-column:span var(--chbc-tablet-cols,1)}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid::before {top:50px}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px) {
  .chbc-website #chbc-app .chbc-gallery-grid,
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready {
    display:flex;align-items:stretch;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
    scroll-padding-inline:calc((100% - min(80%,370px))/2);overscroll-behavior-inline:contain;
    padding:16px max(10%,calc((100% - 370px)/2)) 26px;perspective:900px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .chbc-website #chbc-app .chbc-gallery-grid::-webkit-scrollbar {display:none}
  .chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item,
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready .chbc-gallery-item {
    flex:0 0 min(80%,370px);height:min(106vw,490px);min-height:300px;scroll-snap-align:center;
    transform:rotateY(var(--chbc-cover-rotation,0deg)) scale(var(--chbc-cover-scale,.85));
    box-shadow:0 12px 24px rgba(38,38,38,.14)
  }
  .chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item.chbc-center {
    --chbc-cover-scale:1;--chbc-cover-rotation:0deg
  }
  .chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item.chbc-before {--chbc-cover-rotation:35deg}
  .chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item.chbc-after {--chbc-cover-rotation:-35deg}
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-entrance-active .chbc-gallery-item:not(.chbc-entered) {
    opacity:1;transform:rotateY(var(--chbc-cover-rotation,0deg)) scale(var(--chbc-cover-scale,.85))
  }
  .chbc-website #chbc-app .chbc-gallery-dots {display:flex;gap:9px;align-items:center;overflow-x:auto;max-width:220px;margin:6px auto 20px;padding:10px;scrollbar-width:none}
  .chbc-website #chbc-app .chbc-gallery-dots button {
    min-width:44px;width:44px;height:44px;min-height:44px;flex:0 0 44px;
    border:0;border-radius:50%;background:transparent;padding:0;display:grid;place-items:center
  }
  .chbc-website #chbc-app .chbc-gallery-dots button::before {
    content:"";width:10px;height:10px;background:#9D9D9C;border-radius:50%
  }
  .chbc-website #chbc-app .chbc-gallery-dots button[aria-current="true"]::before {
    background:#333333;width:19px;border-radius:9px
  }
  .chbc-website #chbc-app .chbc-gallery-dots button:focus-visible {outline:3px solid #00A0E3;outline-offset:4px}
  .chbc-website #chbc-app .chbc-v14-grid{grid-template-columns:1fr}
  .chbc-website #chbc-app .chbc-v14-grid .chbc-v14-card:last-child:nth-child(odd) {grid-column:auto}
  .chbc-website #chbc-app .chbc-v14-photogrid {grid-template-columns:1fr}
  .chbc-website #chbc-app .chbc-v14-photogrid .chbc-v14-photo:last-child:nth-child(3n+1){grid-column:span 1}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid {
    grid-template-columns:1fr;gap:16px;padding-inline-start:24px
  }
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-grid::before {
    top:20px;bottom:20px;left:11px;right:auto;width:3px;height:auto;transform:none
  }
  .chbc-website #chbc-app.chbc-enhanced :is(.chbc-paper,.chbc-cream) .chbc-process-grid:not(.chbc-inview)::before {transform:scaleY(0);transform-origin:top}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step {min-height:0;padding:16px;display:grid;grid-template-columns:58px 1fr;column-gap:14px;align-items:center}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step>span{grid-row:span 2;margin:0}
  .chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) .chbc-process-step :is(h3,p){grid-column:2}
  .chbc-website #chbc-app .chbc-final-inner {flex-direction:column;align-items:flex-start}
  .chbc-website #chbc-app .chbc-final-inner .chbc-btn {align-self:stretch;justify-content:center}
  .chbc-website #chbc-app .chbc-footer-grid {grid-template-columns:1fr 1fr;gap:28px 20px}
  .chbc-website #chbc-app .chbc-footer-brand-block {grid-column:1/-1}
  .chbc-website #chbc-app .chbc-footer-contact-block {grid-column:1/-1}
  .chbc-website #chbc-app .chbc-footer-base {padding-inline-end:70px}
  .chbc-website #chbc-app .chbc-whatsapp {inset-inline-end:13px!important;bottom:calc(15px + env(safe-area-inset-bottom,0px))}
  .chbc-website #chbc-app .chbc-lightbox>img {max-width:calc(100vw - 25px);max-height:calc(100dvh - 175px)}
  .chbc-website #chbc-app .chbc-lb-caption {bottom:52px;left:16px;right:16px;font-size:14px}
  .chbc-website #chbc-app .chbc-lightbox .chbc-lb-prev {left:8px;top:43%}
  .chbc-website #chbc-app .chbc-lightbox .chbc-lb-next {right:8px;top:43%}
}
@media(max-width:400px) {
 .chbc-website #chbc-app .chbc-footer-grid {gap:18px}
 .chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa) {overflow-wrap:anywhere}
}
@media(hover:none), (pointer:coarse) {
 .chbc-website #chbc-app .chbc-gallery-item::after {display:none}
 .chbc-website #chbc-app .chbc-gallery-item:is(:hover,:focus-visible) img {--chbc-image-scale:1}
}
@media(prefers-reduced-motion:reduce) {
 .chbc-website #chbc-app .chbc-reveal,
 .chbc-website #chbc-app.chbc-enhanced .chbc-reveal:not(.is-visible),
 .chbc-website #chbc-app .chbc-gallery-item {opacity:1!important;transform:none!important;transition:none!important}
 .chbc-website #chbc-app .chbc-gallery-grid {perspective:none;scroll-behavior:auto}
 .chbc-website #chbc-app .chbc-gallery-grid.chbc-entrance-active .chbc-gallery-item:not(.chbc-entered) {opacity:1;transform:none}
 .chbc-website #chbc-app .chbc-process-grid::before {transform:none!important;transition:none!important}
}

/* Final contrast/interaction harmonisation across legacy components. */
.chbc-website #chbc-app :is(.chbc-paper,.chbc-cream) :is(.chbc-text-link,.chbc-v10-milestone figcaption>span,.chbc-v10-angle figcaption small,.chbc-v13-phase-copy p,.chbc-v13-support-copy p),
.chbc-website #chbc-app .chbc-contact-grid .chbc-contact-links small {color:#333333!important}
.chbc-website #chbc-app .chbc-night .chbc-heading p,
.chbc-website #chbc-app .chbc-night .chbc-heading .chbc-eyebrow,
.chbc-website #chbc-app .chbc-hero :is(.chbc-slider-number small,.chbc-scroll-caption) {color:#FFFFFF}
.chbc-website #chbc-app .chbc-header .chbc-menu-btn {color:#333333;min-width:44px;min-height:44px}
.chbc-website #chbc-app.chbc-footer-is-visible .chbc-whatsapp {
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)
}
@media(min-width:1024px){
 .chbc-website #chbc-app .chbc-gallery-grid:not(.chbc-bento-ready) .chbc-gallery-item:last-child:nth-child(3n+1){grid-column:1/-1}
}
@media(min-width:768px) and (max-width:1023px) {
 .chbc-website #chbc-app .chbc-gallery-grid:not(.chbc-bento-ready) .chbc-gallery-item:last-child:nth-child(odd){grid-column:1/-1}
}
.chbc-website #chbc-app .chbc-lightbox>img {transform-origin:var(--chbc-origin-x,50%) var(--chbc-origin-y,50%)}

.chbc-website #chbc-app .chbc-footer-grid .chbc-footer-linkgrid a [data-chbc-fr]{color:rgba(255,255,255,.88)!important}
.chbc-website #chbc-app .chbc-footer-grid :is(.chbc-footer-linkgrid a,.chbc-footer-phone,.chbc-footer-wa):is(:hover,:focus-visible) [data-chbc-fr]{color:#F8E01C!important}

@media(prefers-reduced-motion:reduce) and (max-width:767px) {
  .chbc-website #chbc-app .chbc-gallery-grid,
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready {
    display:grid;grid-template-columns:1fr;overflow:visible;padding:0;gap:16px;scroll-snap-type:none
  }
  .chbc-website #chbc-app .chbc-gallery-grid .chbc-gallery-item,
  .chbc-website #chbc-app .chbc-gallery-grid.chbc-bento-ready .chbc-gallery-item {
    width:100%;height:320px;min-height:320px;transform:none;scroll-snap-align:none
  }
  .chbc-website #chbc-app .chbc-gallery-dots {display:none}
}
