/*
 * Gaotus Security & CCTV Builder v1.0.9
 * Authoritative layout-stability layer.
 * Loaded after frontend.css to neutralise legacy clone rules and guarantee
 * one header per breakpoint, readable process cards and stable page flow.
 */
[hidden]{display:none!important}
:root{--gscb-active-header-height:var(--gscb-header-height);--gscb-header-breakpoint:1320px}

/* ---------- Header architecture: Brand | Navigation | Actions ---------- */
.gscb-site-header{isolation:isolate}
.gscb-header-inner,.gscb-utility-inner{width:min(1760px,calc(100% - 48px))!important;margin-inline:auto!important}
.gscb-header-desktop{
  display:grid!important;
  grid-template-columns:minmax(220px,290px) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,1.8vw,34px)!important;
  min-height:inherit!important;
}
.gscb-header-brand-zone,.gscb-primary-nav--desktop,.gscb-header-actions{min-width:0!important}
.gscb-header-brand-zone{display:flex!important;align-items:center!important;overflow:hidden}
.gscb-header-brand-zone .gscb-brand{max-width:100%!important}
.gscb-header-brand-zone .gscb-brand-copy{min-width:0!important}
.gscb-header-brand-zone .gscb-brand-copy strong{max-width:230px!important;font-size:clamp(18px,1.3vw,23px)!important}
.gscb-header-brand-zone .gscb-brand-copy small{max-width:230px!important}
.gscb-primary-nav--desktop{width:100%!important;display:flex!important;justify-content:center!important;overflow:hidden!important}
.gscb-primary-nav--desktop .gscb-nav-links{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:clamp(11px,1.05vw,21px)!important;
}
.gscb-primary-nav--desktop .gscb-nav-links li{min-width:0!important;flex:0 0 auto!important}
.gscb-primary-nav--desktop .gscb-nav-links a{padding-inline:0!important;font-size:clamp(10px,.72vw,12px)!important;white-space:nowrap!important}
.gscb-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;white-space:nowrap!important}
.gscb-header-phone{flex:0 0 auto!important}
.gscb-header-cta{flex:0 0 auto!important;min-height:48px!important;padding-inline:18px!important}
.gscb-header-mobile{display:none!important}

/* Keep the desktop shell uncluttered before it can collide. */
@media screen and (max-width:1680px) and (min-width:1321px){
  .gscb-header-phone{display:none!important}
  .gscb-header-desktop{grid-template-columns:minmax(210px,270px) minmax(0,1fr) auto!important;gap:18px!important}
  .gscb-header-cta{padding-inline:15px!important;font-size:9px!important}
}
@media screen and (max-width:1480px) and (min-width:1321px){
  .gscb-header-brand-zone .gscb-brand-copy small{display:none!important}
  .gscb-header-brand-zone .gscb-brand-copy strong{max-width:205px!important;font-size:19px!important}
  .gscb-primary-nav--desktop .gscb-nav-links{gap:10px!important}
  .gscb-primary-nav--desktop .gscb-nav-links a{font-size:10px!important}
}

/* ---------- Exactly one mobile header, early enough to prevent collisions ---------- */
@media screen and (max-width:1320px){
  .gscb-utility-bar{display:none!important}
  .gscb-header-desktop{display:none!important}
  .gscb-header-mobile{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:10px!important;
    min-height:var(--gscb-mobile-header-height)!important;
    padding:0 18px!important;
  }
  .gscb-header-inner,.gscb-header-floating .gscb-header-inner{
    width:100%!important;
    min-height:var(--gscb-mobile-header-height)!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    border-radius:0!important;
    background:var(--gscb-header-bg)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .gscb-site-header,.gscb-header-floating .gscb-site-header{
    width:100%!important;
    padding:0!important;
    border-radius:0!important;
    background:var(--gscb-header-bg)!important;
    box-shadow:0 7px 22px rgba(0,0,0,.14)!important;
    transform:none!important;
  }
  body.gscb-sticky-mobile .gscb-site-header{
    position:fixed!important;
    top:var(--gscb-adminbar-offset,0px)!important;
    left:0!important;
    right:0!important;
  }
  body.gscb-sticky-mobile .gscb-site-main{padding-top:var(--gscb-active-header-height)!important}
  body:not(.gscb-sticky-mobile) .gscb-site-main{padding-top:0!important}
  .gscb-header-mobile>.gscb-brand{min-width:0!important;max-width:100%!important;justify-self:start!important;overflow:hidden!important}
  .gscb-header-mobile .gscb-brand-copy{min-width:0!important}
  .gscb-header-mobile .gscb-brand-copy strong{max-width:min(54vw,270px)!important;font-size:clamp(17px,3.2vw,21px)!important}
  .gscb-header-mobile .gscb-brand-copy small{display:none!important}
  .gscb-header-mobile .gscb-logo{width:var(--gscb-mobile-logo-width)!important;max-width:min(52vw,var(--gscb-mobile-logo-width))!important;max-height:var(--gscb-mobile-logo-max-height)!important;object-fit:contain!important}
  .gscb-mobile-call{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;flex:0 0 auto!important;color:var(--gscb-accent)!important}
  .gscb-mobile-call svg{width:22px!important;height:22px!important}
  .gscb-menu-toggle{display:flex!important;min-width:46px!important;min-height:46px!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex:0 0 auto!important}
  .gscb-burger{width:27px!important;height:20px!important}
  .gscb-primary-nav--desktop{display:none!important}

  .gscb-mobile-menu-overlay{
    display:block!important;
    position:fixed!important;
    z-index:1200!important;
    top:calc(var(--gscb-adminbar-offset,0px) + var(--gscb-active-header-height))!important;
    left:0!important;right:0!important;bottom:0!important;height:auto!important;
    background:rgba(2,8,13,.68)!important;
    backdrop-filter:blur(4px)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .3s ease,visibility .3s ease!important;
  }
  .gscb-mobile-menu-overlay.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .gscb-mobile-drawer{
    display:flex!important;
    position:fixed!important;
    z-index:1201!important;
    top:calc(var(--gscb-adminbar-offset,0px) + var(--gscb-active-header-height))!important;
    right:0!important;
    width:min(var(--gscb-mobile-menu-width),94vw)!important;
    height:calc(100dvh - var(--gscb-adminbar-offset,0px) - var(--gscb-active-header-height))!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:var(--gscb-header-bg)!important;
    color:var(--gscb-header-ink)!important;
    box-shadow:-30px 0 75px rgba(0,0,0,.28)!important;
    transform:translate3d(104%,0,0)!important;
    transform-origin:right center!important;
    visibility:hidden!important;pointer-events:none!important;
    transition:transform .44s cubic-bezier(.22,1,.36,1),visibility 0s linear .44s!important;
  }
  .gscb-mobile-drawer:before{display:none!important}
  .gscb-mobile-drawer.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;transition:transform .44s cubic-bezier(.22,1,.36,1),visibility 0s!important}
  .gscb-mobile-drawer-head{min-height:72px!important;padding:12px 20px!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .gscb-mobile-drawer-head .gscb-brand{max-width:calc(100% - 58px)!important}
  .gscb-mobile-drawer-body{padding:24px 24px 18px!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .gscb-nav-links--mobile{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:var(--gscb-mobile-menu-item-gap)!important}
  .gscb-nav-links--mobile li{border-bottom:1px solid rgba(255,255,255,.1)!important}
  .gscb-nav-links--mobile a{padding:var(--gscb-mobile-menu-item-padding) 0!important;font-size:var(--gscb-mobile-menu-link-size)!important;font-weight:var(--gscb-mobile-menu-link-weight)!important;line-height:var(--gscb-mobile-menu-line-height)!important;letter-spacing:var(--gscb-mobile-menu-letter-spacing)!important;white-space:normal!important}
  .gscb-mobile-drawer-foot{padding:18px 24px max(22px,env(safe-area-inset-bottom))!important}
  .gscb-mobile-drawer-kicker{font-size:var(--gscb-mobile-menu-eyebrow-size)!important}
  .gscb-header-cta--drawer{width:100%!important;justify-content:center!important;font-size:var(--gscb-mobile-menu-cta-size)!important}
  .gscb-mobile-drawer-foot>div a{font-size:var(--gscb-mobile-menu-contact-size)!important}
  .gscb-site [id]{scroll-margin-top:calc(var(--gscb-active-header-height) + var(--gscb-adminbar-offset,0px) + 18px)}
}

@media screen and (min-width:1321px){
  body.gscb-sticky-desktop .gscb-site-header{position:sticky!important;top:var(--gscb-adminbar-offset,0px)!important}
  .gscb-site-main{padding-top:0!important}
  .gscb-mobile-menu-overlay,.gscb-mobile-drawer{display:none!important}
}

/* ---------- Process / How We Work: no narrow text, no inherited white-on-light ---------- */
.gscb-process{
  display:grid!important;
  grid-template-columns:minmax(320px,.76fr) minmax(0,1.24fr)!important;
  align-items:stretch!important;
  gap:32px!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#0a0f14!important;
  color:#fff!important;
}
.gscb-process-intro{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:24px!important;
}
.gscb-process .gscb-section-head{max-width:620px!important;margin:0!important}
.gscb-process .gscb-section-head h2{color:#fff!important;font-size:clamp(36px,3.5vw,58px)!important;line-height:1.04!important}
.gscb-process .gscb-section-head p{color:rgba(255,255,255,.72)!important;font-size:16px!important}
.gscb-process-intro>img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  margin-top:auto!important;
  border-radius:4px!important;
  clip-path:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
.gscb-process-steps{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-content:stretch!important;
  gap:14px!important;
  border:0!important;
  background:transparent!important;
}
.gscb-process-steps article{
  position:relative!important;
  min-width:0!important;
  min-height:210px!important;
  padding:26px!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  align-content:start!important;
  gap:8px 18px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--gscb-ink)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
}
.gscb-process-steps article:after{display:none!important;content:none!important}
.gscb-process-steps article>span{
  grid-row:1/3!important;
  width:48px!important;height:48px!important;
  display:grid!important;place-items:center!important;
  border:1px solid var(--gscb-accent)!important;
  background:#fff!important;color:#9b7800!important;
  font-family:var(--gscb-heading)!important;font-size:19px!important;font-weight:900!important;
}
.gscb-process-steps h3{
  grid-column:2!important;
  min-width:0!important;
  margin:0 0 6px!important;
  color:var(--gscb-ink)!important;
  font-size:clamp(20px,1.6vw,26px)!important;
  line-height:1.14!important;
  overflow-wrap:anywhere!important;
}
.gscb-process-steps p{
  grid-column:2!important;
  min-width:0!important;
  margin:0!important;
  color:var(--gscb-muted)!important;
  font-size:14px!important;
  line-height:1.62!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

@media screen and (max-width:1040px){
  .gscb-process{grid-template-columns:1fr!important}
  .gscb-process-intro{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)!important;align-items:end!important}
  .gscb-process-intro>img{margin-top:0!important}
}
@media screen and (max-width:760px){
  .gscb-process{padding:var(--gscb-mobile-section-space) 20px!important;gap:28px!important}
  .gscb-process-intro{display:flex!important;flex-direction:column!important}
  .gscb-process .gscb-section-head h2{font-size:var(--gscb-mobile-section-title)!important}
  .gscb-process-steps{grid-template-columns:1fr!important}
  .gscb-process-steps article{min-height:0!important;padding:22px!important}
}
@media screen and (max-width:420px){
  .gscb-process-steps article{grid-template-columns:46px minmax(0,1fr)!important;gap:8px 13px!important;padding:18px!important}
  .gscb-process-steps article>span{width:42px!important;height:42px!important;font-size:17px!important}
  .gscb-process-steps h3{font-size:20px!important}
}

/* ---------- Internal-page flow and blank-space safeguards ---------- */
.gscb-single-service,.gscb-single-project,.gscb-single-team{padding-top:0!important}
.gscb-single-service>header,.gscb-single-project>header,.gscb-single-team{
  min-height:0!important;
  height:auto!important;
  padding-top:clamp(52px,5vw,82px)!important;
  padding-bottom:clamp(52px,5vw,82px)!important;
}
.gscb-single-service>header figure img{aspect-ratio:16/10!important;max-height:560px!important}
.gscb-service-detail{
  min-height:0!important;
  height:auto!important;
  align-items:start!important;
  padding-top:0!important;
  padding-bottom:clamp(54px,6vw,92px)!important;
}
.gscb-service-detail .gscb-richtext{min-height:0!important;height:auto!important;max-width:none!important;color:var(--gscb-ink)!important}
.gscb-service-detail aside{min-height:0!important;height:auto!important}
.gscb-single-service>.gscb-process{margin-top:0!important}
.gscb-generated-page>.elementor:empty,.gscb-generated-page>p:empty,.gscb-service-detail .gscb-richtext:empty{display:none!important}
.gscb-service-detail:has(.gscb-richtext:empty){grid-template-columns:1fr!important;max-width:760px!important;margin-inline:auto!important}

/* Hard contrast guarantees for light and dark sections. */
.gscb-process,.gscb-before-after,.gscb-consultation{--gscb-section-on-dark:#fff}
.gscb-process h1,.gscb-process h2,.gscb-process .gscb-kicker{color:#fff!important}
.gscb-process-steps article a{color:var(--gscb-ink)!important}
.gscb-contact-grid article{min-width:0!important}
.gscb-contact-grid a,.gscb-contact-grid span{overflow-wrap:anywhere!important}

/* Last-resort overflow guards for generated layouts. */
.gscb-header-desktop>*,.gscb-header-mobile>*,.gscb-process>*,.gscb-process-steps>*{min-width:0!important}
.gscb-site-main{overflow-x:clip!important}

@media screen and (prefers-reduced-motion:reduce){
  .gscb-mobile-drawer,.gscb-mobile-menu-overlay{transition-duration:.01ms!important}
}
