/* All front-end rules are scoped: no theme, body or global heading overrides. */
.shh-hero {
  --shh-css-ready:1;
  --shh-pad:30px; --shh-pad-mobile:20px; --shh-title-size:42px; --shh-title-mobile:30px;
  --shh-sub-size:24px; --shh-sub-mobile:18px; --shh-text-width:1040px; --shh-offset:0px;
  box-sizing:border-box; position:relative; isolation:isolate; width:100%; max-width:none!important;
  margin:0; padding:0; overflow:hidden; overflow:clip;
  min-height:calc(100vh - var(--shh-offset)); min-height:calc(100svh - var(--shh-offset));
  background:#343b40; color:#fff; font-family:"GTF Solina Regular",Arial,sans-serif;
  -webkit-text-size-adjust:100%;
}
/* First paint uses CSS, not a later DOMContentLoaded width correction.
   Dedicated row wrappers are already marked in PHP before HTML is sent. */
.shh-hero[data-shh-full-bleed="true"] {
  width:100vw; margin-left:calc(50% - 50vw);
}
.shh-hero *, .shh-hero *::before, .shh-hero *::after {box-sizing:border-box;}
.shh-hero .shh-stage {display:grid; min-height:inherit; position:relative;}
.shh-hero .shh-slide {
  grid-area:1/1; position:relative; display:grid; align-items:end; min-height:inherit;
  padding:160px var(--shh-pad) max(var(--shh-pad),env(safe-area-inset-bottom,0px));
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility .65s;
  color:var(--shh-text-color,#fff); isolation:isolate;
}
.shh-hero:not(.shh-ready) .shh-slide:not(:first-child) {display:none;}
.shh-hero .shh-slide.is-active {opacity:1;visibility:visible;pointer-events:auto;z-index:1;}
.shh-hero .shh-motion {position:absolute;inset:0;z-index:0;pointer-events:none;}
.shh-hero .shh-image-plane {position:absolute;inset:0;overflow:visible;}
.shh-hero .shh-picture {position:absolute;inset:0;display:block;}
.shh-hero img.shh-image {position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover;object-position:var(--shh-fx,50%) var(--shh-fy,50%);border:0;}
.shh-hero .shh-overlay {position:absolute;inset:0;z-index:1;pointer-events:none;}
.shh-hero .shh-image-shapes {position:absolute;inset:0;z-index:2;pointer-events:none;}
.shh-hero .shh-viewport-shapes {position:absolute;inset:0;z-index:1;pointer-events:none;}
/* Geometry/media guards apply only to decorative layers, not readable content. */
.shh-hero .shh-image-shapes,
.shh-hero .shh-viewport-shapes {visibility:hidden;}
.shh-hero .shh-slide[data-shh-shapes-ready="true"] .shh-image-shapes,
.shh-hero .shh-slide[data-shh-shapes-ready="true"] .shh-viewport-shapes {visibility:inherit;}
.shh-hero .shh-shape {transform:rotate(var(--shh-rotation,0deg));transform-origin:50% 50%;position:absolute;display:block;border:0 solid var(--shh-shape-color,#fff);pointer-events:none;}
.shh-hero .shh-shape[data-corner="tl"] {border-top-width:var(--shh-stroke);border-left-width:var(--shh-stroke);}
.shh-hero .shh-shape[data-corner="tr"] {border-top-width:var(--shh-stroke);border-right-width:var(--shh-stroke);}
.shh-hero .shh-shape[data-corner="bl"] {border-bottom-width:var(--shh-stroke);border-left-width:var(--shh-stroke);}
.shh-hero .shh-shape[data-corner="br"] {border-bottom-width:var(--shh-stroke);border-right-width:var(--shh-stroke);}
.shh-hero .shh-copy {position:relative;z-index:2;max-width:var(--shh-text-width);width:100%;min-width:0;}
.shh-hero .shh-subtitle {font-family:"GTF Solina Regular",Arial,sans-serif!important;font-size:var(--shh-sub-size)!important;font-weight:400!important;line-height:1.35!important;letter-spacing:normal!important;text-transform:none!important;margin:0 0 22px!important;padding:0!important;color:inherit!important;}
.shh-hero .shh-title {font-family:"GTF Solina Regular",Arial,sans-serif!important;font-size:var(--shh-title-size)!important;font-weight:400!important;line-height:1.13!important;letter-spacing:-.015em!important;text-transform:none!important;margin:0!important;padding:0!important;color:inherit!important;overflow-wrap:break-word;text-wrap:pretty;}
.shh-hero .shh-title strong {font-weight:500;}
.shh-hero .shh-controls {position:absolute;z-index:5;top:var(--shh-controls-top,110px);right:var(--shh-pad);display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 2 * var(--shh-pad));}
.shh-hero .shh-controls[hidden] {display:none!important;}
.shh-hero .shh-control {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:44px;min-height:44px;margin:0;padding:8px 12px;border:1px solid #fff;border-radius:3px;background:#15191e;color:#fff!important;font-family:Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.2;cursor:pointer;text-transform:none;box-shadow:none;}
.shh-hero .shh-control:hover {background:#343b43;}
.shh-hero .shh-control:focus-visible {outline:3px solid #fff!important;outline-offset:3px;box-shadow:0 0 0 6px #101010!important;}
.shh-hero .shh-control:disabled {opacity:.55;cursor:default;}
.shh-hero .shh-counter {display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:0 10px;border-radius:3px;background:#15191e;color:#fff;font:14px/1 Arial,sans-serif;}
.shh-hero .shh-sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.shh-notice {padding:24px;border:1px solid #aaa;background:#fff;color:#222;}
@media(max-width:767px){
  .shh-hero .shh-slide {padding:170px var(--shh-pad-mobile) max(var(--shh-pad-mobile),env(safe-area-inset-bottom,0px));}
  .shh-hero .shh-subtitle {font-size:var(--shh-sub-mobile)!important;margin-bottom:16px!important;}
  .shh-hero .shh-title {font-size:var(--shh-title-mobile)!important;line-height:1.18!important;letter-spacing:-.01em!important;}
  .shh-hero img.shh-image {object-position:var(--shh-mfx,50%) var(--shh-mfy,50%);}
  .shh-hero .shh-controls {right:var(--shh-pad-mobile);top:var(--shh-controls-top-mobile,100px);max-width:calc(100% - 2 * var(--shh-pad-mobile));gap:6px;}
}
@media(prefers-reduced-motion:reduce){
  .shh-hero .shh-slide {transition:none!important;}
  .shh-hero .shh-motion {transform:none!important;}
}
@media(forced-colors:active){
  .shh-hero .shh-copy {background:Canvas;color:CanvasText!important;padding:12px;}
  .shh-hero .shh-shape {border-color:CanvasText;}
  .shh-hero .shh-control {border:2px solid ButtonText;background:ButtonFace;color:ButtonText!important;}
}
.shh-hero.shh-motion-off .shh-slide {transition:none!important;}

/* Impeka / standard WPBakery: only dedicated, explicitly marked hero wrappers.
   The plugin never changes #grve-header, #grve-main-content or the site container. */
.shh-hero-host.shh-hero-host {
  padding:0!important; margin:0!important; max-width:none!important;
  width:100%!important; min-height:0!important; overflow:visible!important;
  flex-basis:auto!important;
}
/* Optional manual fallback; add shh-hero-row ONLY to a dedicated, single-column row. */
.shh-hero-row.shh-hero-row,
.shh-hero-row > .grve-container,
.shh-hero-row > .grve-container > .grve-row,
.shh-hero-row > .grve-container > .grve-row > .grve-column,
.shh-hero-row > .grve-container > .grve-row > .grve-column > .grve-column-wrapper,
.shh-hero-row > .grve-container > .grve-row > .grve-column > .grve-column-wrapper > .grve-column-content,
.shh-hero-row > .wpb_column,
.shh-hero-row > .wpb_column > .vc_column-inner,
.shh-hero-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
  padding:0!important; margin:0!important; max-width:none!important;
  width:100%!important; min-height:0!important; overflow:visible!important;
}

/* A slide-level opt-out never inherits scroll transforms. No public toggle UI. */
.shh-hero .shh-slide[data-shh-parallax="off"] .shh-motion {transform:none!important;will-change:auto!important;}
