*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden}
html,body{background:#0B0E14;color:#fff;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{margin:0;min-width:0;width:100%;max-width:100%;position:relative}
main,section,header,footer{max-width:100%;overflow-x:clip}
html.menu-open,html.menu-open body{overflow:hidden}
html.menu-open .brc-toggle,html.menu-open .brc-panel{display:none!important}
img,svg{max-width:100%;height:auto}
.display{font-family:"Cabinet Grotesk",Satoshi,system-ui,sans-serif;font-weight:900;letter-spacing:-.035em;line-height:.94}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#2AA5FF}
.navblur{backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);background:rgba(11,14,20,.72);border-bottom:1px solid rgba(255,255,255,.06)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:999px;padding:1rem 1.35rem;font-weight:900;max-width:100%;white-space:normal;text-align:center;line-height:1.15;transition:transform .2s,background .2s,border-color .2s}
.btn-primary{background:#2AA5FF;color:#06101E;box-shadow:0 18px 40px -18px rgba(42,165,255,.65)}
.btn-primary:hover{background:#49B4FF;transform:translateY(-1px)}
.btn-ghost{color:#EAF2FF;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:#2AA5FF;color:#fff;background:rgba(42,165,255,.06)}
.nav-item{position:relative}
.nav-trigger{display:inline-flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.8);transition:color .2s}
.nav-trigger:hover,.nav-item:focus-within .nav-trigger{color:#fff}
.nav-trigger svg{transition:transform .2s}
.nav-item:hover .nav-trigger svg,.nav-item:focus-within .nav-trigger svg{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:calc(100% + 16px);left:50%;width:286px;transform:translate(-50%,-8px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(12,16,24,.96);box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(18px)}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.nav-dropdown a{display:grid;gap:2px;padding:11px 12px;border-radius:14px;color:rgba(255,255,255,.82);transition:background .2s,color .2s}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:rgba(42,165,255,.1);color:#fff}
.nav-dropdown small{color:rgba(255,255,255,.45);font-size:11px;line-height:1.35}
  .nav-dropdown-wide{width:min(620px,calc(100vw - 32px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
  .nav-dropdown-wide .nav-feature-link{grid-column:1/-1;background:rgba(42,165,255,.08);border:1px solid rgba(42,165,255,.18)}
#mobile-menu{transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;touch-action:pan-y}
#mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-services-list{display:none}
  .mobile-areas-list{display:none}
.mobile-services.open .mobile-services-list{display:grid}
  .mobile-areas.open .mobile-areas-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
.mobile-services svg{transition:transform .2s ease}
  .mobile-areas svg{transition:transform .2s ease}
.mobile-services.open svg{transform:rotate(180deg)}
  .mobile-areas.open svg{transform:rotate(180deg)}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.hamburger span + span{margin-top:5px}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.service-card{border:1px solid rgba(255,255,255,.09);border-radius:28px;background:rgba(255,255,255,.035);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.service-photo{border-radius:28px;object-fit:cover;min-height:360px;max-height:560px;width:100%}
.copy p,.copy li{color:rgba(255,255,255,.66);line-height:1.75}
.copy strong{color:#fff}
:focus-visible{outline:2px solid #2AA5FF;outline-offset:3px;border-radius:6px}
.grid>*{min-width:0}
@media(max-width:767px){
  .display{letter-spacing:-.025em}
  h1.display{font-size:clamp(34px,9.8vw,42px)!important;line-height:.98;overflow-wrap:normal;text-wrap:balance;letter-spacing:-.018em}
  h2.display{font-size:clamp(28px,8.5vw,36px)!important;line-height:1;overflow-wrap:anywhere}
  .btn{width:100%;padding:.85rem 1rem;font-size:14px;min-height:46px;flex:1 1 100%}
  main{padding-top:5.75rem!important}
  main section{padding-left:1.25rem!important;padding-right:1.25rem!important}
  main section,.max-w-\[1400px\],.max-w-\[1100px\]{width:100%;max-width:100%}
  .grid.grid-cols-12{display:flex;flex-direction:column}
  .grid.grid-cols-12>*+*{margin-top:1.5rem}
  .grid.gap-10,.grid.gap-8{gap:1rem}
  .service-photo{min-height:260px;max-height:340px;border-radius:22px}
  .service-card{border-radius:22px}
  #mobile-menu{position:fixed;top:4.75rem;left:1rem;right:1rem;bottom:auto;height:calc(100dvh - 5.75rem);max-height:calc(100dvh - 5.75rem);margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1rem 1.25rem 1.5rem}
  .mobile-services-toggle{touch-action:manipulation}
  .mobile-areas-toggle{touch-action:manipulation}
  p,li,a,span{overflow-wrap:anywhere}
}
@supports not (overflow:clip){main,section,header,footer{overflow-x:hidden}}

.area-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.area-link-card{display:grid;gap:4px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.86);transition:background .2s,border-color .2s,transform .2s}
.area-link-card:hover,.area-link-card:focus-visible{background:rgba(42,165,255,.08);border-color:rgba(42,165,255,.35);transform:translateY(-1px);color:#fff}
.area-link-card span{font-weight:800}
.area-link-card small{color:rgba(255,255,255,.52);line-height:1.45}
.city-service-block{display:grid;gap:22px;padding:28px 0;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:767px){.area-link-grid{grid-template-columns:1fr}.area-link-card{border-radius:16px;padding:16px}.city-service-block{padding:24px 0}}
