/* SOG 0.5.23 — Deterministic responsive shell, screenshot-matrix audited */
:root{--sog-edge:28px;--sog-top:28px;--sog-nav-h:76px;--sog-logo:122px;--sog-lang:132px;--sog-gap:20px;--sog-c-edge:22px;--sog-c-top:18px;--sog-c-logo:94px;--sog-c-btn:64px}
.hero-logo,.mobile-menu-toggle,.mobile-menu-trigger{display:none!important}
body:not([data-sog-shell-mode]) .header,body:not([data-sog-shell-mode]) .mobile-top-bar,body:not([data-sog-shell-mode]) .sog-public-shell-logo{visibility:hidden!important}
/* Desktop: the three regions are physically disjoint. */
body[data-sog-shell-mode="desktop"] .mobile-top-bar,body[data-sog-shell-mode="desktop"] .premium-mobile-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
body[data-sog-shell-mode="desktop"] .sog-public-shell-logo{display:flex!important;position:fixed!important;top:calc(var(--sog-top) + (var(--sog-nav-h) - var(--sog-logo))/2)!important;left:var(--sog-edge)!important;width:var(--sog-logo)!important;height:var(--sog-logo)!important;padding:10px!important;margin:0!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(113,236,255,.42)!important;border-radius:17px!important;background:rgba(241,253,255,.78)!important;box-shadow:0 10px 28px rgba(0,0,0,.2),0 0 22px rgba(47,221,245,.17)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;z-index:10020!important;transition:none!important}
body[data-sog-shell-mode="desktop"] .sog-public-shell-logo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}
body[data-sog-shell-mode="desktop"] .header,body[data-sog-shell-mode="desktop"] .header.scrolled{display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;top:var(--sog-top)!important;left:calc(var(--sog-edge) + var(--sog-logo) + var(--sog-gap))!important;right:calc(var(--sog-edge) + var(--sog-lang) + var(--sog-gap))!important;width:auto!important;max-width:none!important;height:var(--sog-nav-h)!important;min-height:var(--sog-nav-h)!important;margin:0!important;padding:0!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important;transition:none!important;z-index:10018!important}
body[data-sog-shell-mode="desktop"] .header-container,body[data-sog-shell-mode="desktop"] .header.scrolled .header-container{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-width:none!important;min-height:100%!important;margin:0!important;padding:0 18px!important;box-sizing:border-box!important;overflow:visible!important;border:1px solid rgba(75,219,255,.3)!important;border-radius:999px!important;background:linear-gradient(103deg,#0c527b 0%,#073d64 34%,#052c4f 69%,#03213c 100%)!important;box-shadow:0 13px 34px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.08)!important;transition:none!important}
body[data-sog-shell-mode="desktop"] .header-logo-container{display:none!important}
body[data-sog-shell-mode="desktop"] .header .nav{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
body[data-sog-shell-mode="desktop"] .header .nav-list{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;width:max-content!important;max-width:100%!important;gap:clamp(8px,.55vw,14px)!important;margin:0 auto!important;padding:0 34px!important;box-sizing:border-box!important;white-space:nowrap!important}
body[data-sog-shell-mode="desktop"] .header .nav-list li{flex:0 0 auto!important;margin:0!important;padding:0!important}
body[data-sog-shell-mode="desktop"] .header .nav-list a{display:flex!important;align-items:center!important;justify-content:center!important;height:46px!important;min-height:46px!important;padding:0 clamp(7px,.44vw,10px)!important;margin:0!important;box-sizing:border-box!important;font-size:clamp(.74rem,.64vw,.84rem)!important;line-height:1!important;font-weight:780!important;letter-spacing:.015em!important;white-space:nowrap!important;transform:scale(1)!important;transform-origin:center!important;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease!important}
body[data-sog-shell-mode="desktop"] .header .nav-list a:hover,body[data-sog-shell-mode="desktop"] .header .nav-list a:focus-visible{transform:scale(1.10)!important;z-index:4!important}
body[data-sog-shell-mode="desktop"] .header .nav-list a.active,body[data-sog-shell-mode="desktop"] .header .nav-list a[aria-current="page"]{border:1px solid #72ebff!important;background:linear-gradient(135deg,#2ad9e8,#158cff)!important;color:#031525!important;box-shadow:0 0 20px rgba(38,218,246,.3)!important}
body[data-sog-shell-mode="desktop"] .header-actions,body[data-sog-shell-mode="desktop"] .header.scrolled .header-actions{display:flex!important;position:fixed!important;top:calc(var(--sog-top) + (var(--sog-nav-h) - 68px)/2)!important;right:var(--sog-edge)!important;left:auto!important;width:var(--sog-lang)!important;height:68px!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;transform:none!important;transition:none!important;z-index:10022!important}
body[data-sog-shell-mode="desktop"] .header-actions .lang-selector-wrapper,body[data-sog-shell-mode="desktop"] .header-actions .lang-selector{position:static!important;margin:0!important;transform:none!important}
/* Compact: no horizontal bar. All three controls share one top axis and scroll away with the first section. */
body[data-sog-shell-mode="compact"] .header,body[data-sog-shell-mode="compact"] .header.scrolled{display:none!important;visibility:hidden!important;pointer-events:none!important}
body[data-sog-shell-mode="compact"] .mobile-top-bar{display:grid!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:var(--sog-c-top)!important;left:var(--sog-c-edge)!important;right:var(--sog-c-edge)!important;width:auto!important;height:var(--sog-c-logo)!important;min-height:var(--sog-c-logo)!important;padding:0!important;margin:0!important;grid-template-columns:1fr var(--sog-c-logo) 1fr!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important;pointer-events:none!important;z-index:10020!important;transition:none!important}
body[data-sog-shell-mode="compact"] .mobile-top-bar .lang-selector-wrapper{grid-column:1!important;justify-self:start!important;position:static!important;margin:0!important;transform:none!important;pointer-events:auto!important}
body[data-sog-shell-mode="compact"] .mobile-top-bar .lang-selector{height:60px!important;min-height:60px!important;border-radius:30px!important;box-sizing:border-box!important}
body[data-sog-shell-mode="compact"] .mobile-top-bar .mobile-controls{grid-column:3!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;width:auto!important;height:100%!important;margin:0!important;padding:0!important;position:static!important;transform:none!important;pointer-events:auto!important}
body[data-sog-shell-mode="compact"] .mobile-trigger-btn{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;width:var(--sog-c-btn)!important;height:var(--sog-c-btn)!important;min-width:var(--sog-c-btn)!important;min-height:var(--sog-c-btn)!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.88)!important;border-radius:18px!important;color:#07324d!important;background:linear-gradient(145deg,#d8fbff,#43d6ec)!important;box-shadow:0 9px 24px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.92)!important;transform:none!important;pointer-events:auto!important}
body[data-sog-shell-mode="compact"] .mobile-trigger-btn i{display:none!important}
body[data-sog-shell-mode="compact"] .mobile-trigger-btn::before{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:30px!important;height:3px!important;border-radius:999px!important;background:#07324d!important;transform:translate(-50%,-50%)!important;box-shadow:0 -9px 0 #07324d,0 9px 0 #07324d!important}
body[data-sog-shell-mode="compact"].menu-active .mobile-trigger-btn::before{box-shadow:none!important;transform:translate(-50%,-50%) rotate(45deg)!important}
body[data-sog-shell-mode="compact"].menu-active .mobile-trigger-btn::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:30px!important;height:3px!important;border-radius:999px!important;background:#07324d!important;transform:translate(-50%,-50%) rotate(-45deg)!important}
body[data-sog-shell-mode="compact"] .sog-public-shell-logo{display:flex!important;position:absolute!important;top:var(--sog-c-top)!important;left:50%!important;width:var(--sog-c-logo)!important;height:var(--sog-c-logo)!important;margin:0!important;padding:9px!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;transform:translateX(-50%)!important;border:1px solid rgba(109,235,255,.38)!important;border-radius:16px!important;background:rgba(240,253,255,.8)!important;box-shadow:0 9px 25px rgba(0,0,0,.2),0 0 20px rgba(54,225,246,.15)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;z-index:10021!important;transition:none!important}
body[data-sog-shell-mode="compact"] .sog-public-shell-logo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}
body[data-sog-shell-mode="compact"] .premium-mobile-nav{display:block!important;visibility:hidden!important;opacity:0!important;transform:translateX(-110%)!important;pointer-events:none!important}
body[data-sog-shell-mode="compact"].menu-active .premium-mobile-nav{visibility:visible!important;opacity:1!important;transform:translateX(0)!important;pointer-events:auto!important}
body[data-sog-shell-mode="compact"] :is(.hero-carousel,.page-hero,.hero-content,.page-hero-content){visibility:visible!important;opacity:1!important}
/* Give top content a real reserved band, instead of letting controls overlay it. */
body[data-sog-shell-mode="compact"] :is(.hero-carousel,.page-hero){padding-top:calc(var(--sog-c-top) + var(--sog-c-logo) + 18px)!important;box-sizing:border-box!important}
/* Mobile drawer consumes a bounded fraction, never most of a tablet. */
body[data-sog-shell-mode="compact"] .premium-mobile-nav{width:min(390px,82vw)!important;max-width:min(390px,82vw)!important}
@media(min-width:700px){body[data-sog-shell-mode="compact"] .premium-mobile-nav{width:min(420px,48vw)!important;max-width:min(420px,48vw)!important}}
@media(max-width:900px){:root{--sog-c-edge:16px;--sog-c-logo:90px;--sog-c-btn:60px}}
@media(max-width:520px){:root{--sog-c-edge:12px;--sog-c-logo:84px;--sog-c-btn:56px}body[data-sog-shell-mode="compact"] .mobile-top-bar .lang-selector{height:54px!important;min-height:54px!important}}

/* Final specificity seal against historical geometry contracts. */
html body[data-sog-shell-mode="desktop"] header.header,
html body[data-sog-shell-mode="desktop"] header.header.scrolled{left:calc(var(--sog-edge) + var(--sog-logo) + var(--sog-gap))!important;right:calc(var(--sog-edge) + var(--sog-lang) + var(--sog-gap))!important;transform:none!important;width:auto!important;max-width:none!important;top:var(--sog-top)!important;height:var(--sog-nav-h)!important;margin:0!important}
html body[data-sog-shell-mode="desktop"] header.header .header-actions,
html body[data-sog-shell-mode="desktop"] header.header.scrolled .header-actions{position:fixed!important;left:auto!important;right:var(--sog-edge)!important;top:calc(var(--sog-top) + (var(--sog-nav-h) - 68px)/2)!important;transform:none!important;width:var(--sog-lang)!important;height:68px!important}
html body[data-sog-shell-mode="compact"] .mobile-trigger-btn::before{left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(0deg)!important;box-shadow:0 -9px 0 #07324d,0 9px 0 #07324d!important}
html body[data-sog-shell-mode="compact"] .mobile-trigger-btn::after{content:none!important}
html body[data-sog-shell-mode="compact"].menu-active .mobile-trigger-btn::before{box-shadow:none!important;transform:translate(-50%,-50%) rotate(45deg)!important}
html body[data-sog-shell-mode="compact"].menu-active .mobile-trigger-btn::after{content:""!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(-45deg)!important;box-shadow:none!important}
html body[data-sog-shell-mode="compact"] :is(.page-hero,.hero-carousel) .hero-free-estimate{display:none!important}
/* The language selector is positioned outside the capsule from the capsule's own coordinate system,
   avoiding fixed-position containing-block behavior caused by historical backdrop filters. */
html body[data-sog-shell-mode="desktop"] header.header .header-actions,
html body[data-sog-shell-mode="desktop"] header.header.scrolled .header-actions{
  position:absolute!important;
  top:9px!important;
  left:auto!important;
  right:calc(-1 * (var(--sog-lang) + var(--sog-gap)))!important;
  width:var(--sog-lang)!important;
  height:68px!important;
  transform:none!important;
}

/* Detached language host: final architectural separation from the navigation capsule. */
html body[data-sog-shell-mode="desktop"] > .header-actions.sog-shell-language{
  display:flex!important;visibility:visible!important;opacity:1!important;
  position:fixed!important;top:calc(var(--sog-top) + (var(--sog-nav-h) - 68px)/2)!important;
  right:var(--sog-edge)!important;left:auto!important;width:var(--sog-lang)!important;height:68px!important;
  margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;
  transform:none!important;z-index:10022!important
}
html body[data-sog-shell-mode="compact"] > .header-actions.sog-shell-language{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Compact final seal: no horizontal bar/ghost backdrop at any width. */
html body[data-sog-shell-mode="compact"] .mobile-top-bar{
  background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important
}
html body[data-sog-shell-mode="compact"] .mobile-top-bar::before,
html body[data-sog-shell-mode="compact"] .mobile-top-bar::after{content:none!important;display:none!important}
/* Dynamic compact mode is allowed above legacy 1280px breakpoints; force its drawer to remain functional. */
html body[data-sog-shell-mode="compact"] nav.premium-mobile-nav{
  display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
  width:min(390px,82vw)!important;max-width:min(390px,82vw)!important
}
html body[data-sog-shell-mode="compact"].menu-active nav.premium-mobile-nav{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateX(0)!important
}
@media(min-width:700px){html body[data-sog-shell-mode="compact"] nav.premium-mobile-nav{width:min(420px,48vw)!important;max-width:min(420px,48vw)!important}}
/* Home keeps its third CTA in compact mode, but it becomes flow content instead of a floating corner control. */
html body[data-sog-shell-mode="compact"] .hero-carousel .hero-content > .hero-free-estimate{
  display:inline-flex!important;position:relative!important;top:auto!important;right:auto!important;left:auto!important;
  transform:none!important;margin:14px auto 0!important;max-width:min(300px,80vw)!important;min-width:210px!important;
  align-items:center!important;justify-content:center!important;z-index:2!important
}
/* Internal page hero corner estimate is deliberately omitted in compact mode to protect the menu zone. */
html body[data-sog-shell-mode="compact"] .page-hero .hero-free-estimate{display:none!important}
/* Drawer geometry is owned by compact mode even when compact is selected above old CSS breakpoints. */
html body[data-sog-shell-mode="compact"] nav.premium-mobile-nav{
  position:fixed!important;top:0!important;left:0!important;bottom:0!important;right:auto!important;
  height:100dvh!important;max-height:100dvh!important;margin:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;z-index:10015!important;
  transform:translateX(-110%)!important
}
html body[data-sog-shell-mode="compact"].menu-active nav.premium-mobile-nav{transform:translateX(0)!important}

/* ==========================================================
   SOG 0.5.23 — COMPACT HERO COLLISION SAFETY
   The compact shell owns a real top reservation. Internal-page
   titles can never occupy the logo/language/menu axis.
   ========================================================== */
html body[data-sog-shell-mode="compact"] .page-hero{
  min-height:clamp(360px,52svh,560px)!important;
  height:auto!important;
  padding-top:calc(var(--sog-c-top) + var(--sog-c-logo) + 24px)!important;
  padding-bottom:38px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
}
html body[data-sog-shell-mode="compact"] .page-hero > .container{
  width:100%!important;
  max-width:100%!important;
  padding-top:28px!important;
  padding-left:clamp(20px,5vw,54px)!important;
  padding-right:clamp(20px,5vw,54px)!important;
  box-sizing:border-box!important;
}
html body[data-sog-shell-mode="compact"] .page-hero h1{
  margin:0 auto!important;
  max-width:min(900px,92vw)!important;
  line-height:1.08!important;
}
/* Home already owns a full-height hero; reserve only the top control band. */
html body[data-sog-shell-mode="compact"] .hero-carousel{
  padding-top:calc(var(--sog-c-top) + var(--sog-c-logo) + 18px)!important;
  box-sizing:border-box!important;
}
/* Shell objects must remain the only visible logo instance. */
html body .hero-logo{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Compact Home must remain a complete first-screen composition at every intermediate width. */
html body[data-sog-shell-mode="compact"] .hero-carousel{
  min-height:100svh!important;
  height:auto!important;
}
html body[data-sog-shell-mode="compact"] .hero-carousel .hero-content{
  min-height:calc(100svh - (var(--sog-c-top) + var(--sog-c-logo) + 18px))!important;
  box-sizing:border-box!important;
}


/* SOG 0.5.23 — authoritative menu geometry and compact drawer contract */
body[data-sog-shell-mode="desktop"] .header-container{
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}
body[data-sog-shell-mode="desktop"] .header .nav-list{
  padding-left:34px!important;
  padding-right:34px!important;
  column-gap:clamp(8px,.55vw,14px)!important;
}
body[data-sog-shell-mode="desktop"] .header .nav-list a{
  height:46px!important;
  min-height:46px!important;
  font-size:clamp(.74rem,.64vw,.84rem)!important;
  padding-left:clamp(7px,.44vw,10px)!important;
  padding-right:clamp(7px,.44vw,10px)!important;
}
body[data-sog-shell-mode="desktop"] .header .nav-list a:hover,
body[data-sog-shell-mode="desktop"] .header .nav-list a:focus-visible{
  transform:scale(1.08)!important;
}

/* Compact mode owns the drawer completely; it never depends on old <=1150px CSS. */
body[data-sog-shell-mode="compact"] .premium-mobile-nav{
  display:flex!important;
  flex-direction:column!important;
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:min(420px,86vw)!important;
  max-width:min(420px,86vw)!important;
  height:100svh!important;
  max-height:100svh!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  background:linear-gradient(155deg,rgba(3,46,78,.995),rgba(3,31,57,.995))!important;
  border-right:1px solid rgba(65,218,245,.42)!important;
  box-shadow:22px 0 55px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(22px)!important;
  -webkit-backdrop-filter:blur(22px)!important;
  z-index:10080!important;
  visibility:hidden!important;
  opacity:0!important;
  transform:translateX(-104%)!important;
  pointer-events:none!important;
  transition:transform .24s ease,opacity .18s ease,visibility .18s ease!important;
}
body[data-sog-shell-mode="compact"].menu-active .premium-mobile-nav{
  visibility:visible!important;
  opacity:1!important;
  transform:translateX(0)!important;
  pointer-events:auto!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .mobile-menu-logo{
  flex:0 0 auto!important;
  margin:0!important;
  padding:24px 24px 20px!important;
  border-bottom:1px solid rgba(122,224,247,.18)!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .mobile-menu-logo>div{
  width:100%!important;
  min-height:112px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:16px!important;
  border:1px solid rgba(115,226,248,.25)!important;
  background:rgba(255,255,255,.045)!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .mobile-menu-logo img{
  width:auto!important;
  height:78px!important;
  max-width:150px!important;
  object-fit:contain!important;
  display:block!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:20px 22px 26px!important;
  box-sizing:border-box!important;
  list-style:none!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list li{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:62px!important;
  gap:14px!important;
  margin:0!important;
  padding:10px 16px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(78,184,218,.18)!important;
  border-radius:15px!important;
  background:rgba(16,77,111,.42)!important;
  color:#f7fcff!important;
  text-decoration:none!important;
  font-size:clamp(.96rem,2.1vw,1.08rem)!important;
  line-height:1.18!important;
  font-weight:760!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  transform:none!important;
  box-shadow:none!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a i{
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:11px!important;
  background:rgba(36,167,210,.13)!important;
  border:1px solid rgba(75,196,229,.26)!important;
}
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a[aria-current="page"],
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a.active{
  background:linear-gradient(135deg,#29d5e8,#168ff7)!important;
  color:#062035!important;
  border-color:#7cecff!important;
  box-shadow:0 8px 20px rgba(0,185,240,.20)!important;
}
body[data-sog-shell-mode="compact"].menu-active .mobile-top-bar .lang-selector-wrapper,
body[data-sog-shell-mode="compact"].menu-active .sog-public-shell-logo{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body[data-sog-shell-mode="compact"].menu-active .mobile-trigger-btn{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  z-index:10100!important;
}
@media(max-width:520px){
  body[data-sog-shell-mode="compact"] .premium-mobile-nav{
    width:min(390px,88vw)!important;
    max-width:min(390px,88vw)!important;
  }
  body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a{
    min-height:58px!important;
    font-size:.96rem!important;
  }
}

/* ==========================================================
   SOG 0.5.23 — REAL-FIT + HERO CONTINUITY CONTRACT
   ========================================================== */

/* The horizontal navigation is never allowed to paint outside its navy capsule.
   Runtime switches mode before this safety boundary is reached. */
html body[data-sog-shell-mode="desktop"] .header-container{
  overflow:visible!important;
  padding-left:32px!important;
  padding-right:32px!important;
}
html body[data-sog-shell-mode="desktop"] .header .nav{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
html body[data-sog-shell-mode="desktop"] .header .nav-list{
  max-width:100%!important;
  overflow:visible!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

/* Principal visual areas are non-negotiable: changing width cannot erase/collapse them. */
html body[data-sog-shell-mode="compact"] main#main-content > .hero-carousel{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  min-height:100svh!important;
  height:100svh!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body[data-sog-shell-mode="compact"] main#main-content > .page-hero{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  min-height:clamp(430px,60svh,620px)!important;
  height:clamp(430px,60svh,620px)!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body[data-sog-shell-mode="compact"] main#main-content > .hero-carousel > .carousel-container,
html body[data-sog-shell-mode="compact"] main#main-content > .hero-carousel .carousel-slide,
html body[data-sog-shell-mode="compact"] main#main-content > .page-hero > .ghost-bg{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
}
html body[data-sog-shell-mode="compact"] main#main-content > .page-hero > .container{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding-top:calc(var(--sog-c-top) + var(--sog-c-logo) + 26px)!important;
  padding-left:24px!important;
  padding-right:24px!important;
  padding-bottom:34px!important;
}

/* Avoid browser scroll anchoring moving the first visual section out of view on a width-mode change. */
html body main#main-content > :is(.hero-carousel,.page-hero){
  overflow-anchor:none!important;
}

/* ==========================================================
   SOG 0.5.23 — NO-CLIP NAVIGATION CONTRACT
   The menu may NEVER solve lack of space by clipping HOME/ABOUT US.
   ========================================================== */
html body[data-sog-shell-mode="desktop"] .header,
html body[data-sog-shell-mode="desktop"] .header-container,
html body[data-sog-shell-mode="desktop"] .header .nav,
html body[data-sog-shell-mode="desktop"] .header .nav-list{
  overflow:visible!important;
}
html body[data-sog-shell-mode="desktop"] .header .nav{
  padding-left:18px!important;
  padding-right:18px!important;
  box-sizing:border-box!important;
}
html body[data-sog-shell-mode="desktop"] .header .nav-list{
  padding-left:14px!important;
  padding-right:14px!important;
  box-sizing:border-box!important;
}
html body[data-sog-shell-mode="desktop"] .header .nav-list a{
  flex:0 0 auto!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
}


/* SOG-123 — Vertical menu icon governance
   One option = one semantic icon + label + chevron.
   Inline legacy icons are never rendered in the compact drawer. */
body[data-sog-shell-mode="compact"] .premium-mobile-nav .premium-nav-list a > i{
  display:none!important;
}

/* SOG 0.5.23 — Compact top-edge alignment contract
   Language selector, centered logo and hamburger share the SAME top edge. */
html body[data-sog-shell-mode="compact"] .mobile-top-bar{align-items:start!important;}
html body[data-sog-shell-mode="compact"] .mobile-top-bar .lang-selector-wrapper{align-self:start!important;}
html body[data-sog-shell-mode="compact"] .mobile-top-bar .mobile-controls{align-items:flex-start!important;height:auto!important;}
html body[data-sog-shell-mode="compact"] .mobile-trigger-btn{align-self:start!important;}
html body[data-sog-shell-mode="compact"] .sog-public-shell-logo{top:var(--sog-c-top)!important;}
