/* Responsive layer */
@media (max-width:1300px){
  .quote-btn{padding:.7em 1.1em;font-size:.85rem}
  .lang-switch button{padding:.5em .55em}
}
@media (max-width:1150px){
  .nav-desktop{display:none}
  .hamburger{display:block}
  .header-row{padding:6px 0}
  .brand img{width:150px}
  .header-cta{margin-left:auto}
  .header-cta .quote-btn{display:none}
  .hero-grid{padding:52px 0 44px;gap:28px}
  .hero h1{font-size:clamp(40px,11vw,64px);line-height:1.02}
  .hero .eyebrow{font-size:.72rem;letter-spacing:.1em}
  .hero p{color:#d7e1f2}
  .hero-badges span{min-height:44px;display:inline-flex;align-items:center}
  /* full-screen premium navigation overlay */
  .mobile-nav{display:flex;flex-direction:column;position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:300;background:linear-gradient(180deg,#081426 0%,#10254a 100%);border:0;padding:0 24px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;counter-reset:mnav}
  .mobile-nav.open{opacity:1;visibility:visible;display:flex}
  .drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding-top:env(safe-area-inset-top);margin:0 -24px;padding-left:24px;padding-right:24px;background:rgba(8,20,38,.96)}
  .drawer-brand img{max-width:150px;height:auto;object-fit:contain;display:block}
  .drawer-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:transparent;border:1px solid rgba(255,196,46,.55);border-radius:50%;color:#fff;font-size:1rem;font-weight:300;cursor:pointer;transition:background .2s,transform .2s}
  .drawer-close:hover{background:rgba(255,196,46,.15);transform:rotate(90deg)}
  .mobile-nav> a,.mobile-nav .m-sub{opacity:0;transform:translateY(16px);transition:opacity .32s ease,transform .32s ease}
  .mobile-nav.open> a,.mobile-nav.open .m-sub,.mobile-nav.open .drawer-foot{opacity:1;transform:none}
  .mobile-nav.open>*:nth-child(2){transition-delay:.05s}
  .mobile-nav.open>*:nth-child(3){transition-delay:.08s}
  .mobile-nav.open>*:nth-child(4){transition-delay:.11s}
  .mobile-nav.open>*:nth-child(5){transition-delay:.14s}
  .mobile-nav.open>*:nth-child(6){transition-delay:.17s}
  .mobile-nav.open>*:nth-child(7){transition-delay:.20s}
  .mobile-nav.open>*:nth-child(8){transition-delay:.23s}
  .mobile-nav.open>*:nth-child(9){transition-delay:.26s}
  .mobile-nav.open>*:nth-child(10){transition-delay:.29s}
  .mobile-nav.open>*:nth-child(11){transition-delay:.33s}
  .mobile-nav> a{display:flex;align-items:baseline;gap:12px;color:#f4f7fc;font-weight:600;font-size:clamp(19px,5.4vw,27px);line-height:1.2;padding:.48em .1em;border-bottom:1px solid rgba(255,255,255,.13);min-height:44px}
  .mobile-nav> a::before,.m-sub> summary::before{counter-increment:mnav;content:"0" counter(mnav);color:var(--gold-bright);font-size:.42em;font-weight:800;letter-spacing:.1em;flex-shrink:0;transform:translateY(-.35em)}
  .mobile-nav> a:hover,.mobile-nav> a:active{color:var(--gold-bright)}
  .mobile-nav> a[aria-current="page"],.m-sub a[aria-current="page"],.m-sub summary[aria-current="page"]{color:var(--gold-bright)}
  .m-sub{border-bottom:1px solid rgba(255,255,255,.13)}
  .m-sub summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;padding:.48em .1em;font-weight:600;font-size:clamp(19px,5.4vw,27px);line-height:1.2;color:#f4f7fc;min-height:44px}
  .m-sub summary::-webkit-details-marker{display:none}
  .m-sub summary::after{content:"+";margin-left:auto;color:var(--gold-bright);font-size:.8em;font-weight:300}
  .m-sub[open] summary::after{content:"–"}
  .m-sub a{display:block;border-left:2px solid var(--gold-bright);margin:.1em 0 .1em .1em;padding:.55em 0 .55em 1em;font-size:.95rem;font-weight:600;color:#e9eff8;min-height:44px}
  .m-sub a:hover{color:var(--gold-bright)}
  .drawer-foot{margin-top:auto;padding:18px 0 4px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(16px);transition:opacity .32s ease,transform .32s ease}
  .drawer-foot .lang-switch{align-self:flex-start}
  .mobile-nav .drawer-cta{background:var(--gold-btn);color:var(--navy);min-height:52px;font-weight:800;letter-spacing:.05em;font-size:1rem}
  .mobile-nav .drawer-cta:hover{background:var(--gold-btnh);color:var(--navy)}
  .hero-grid,.grid2,.pan,.fran,.contact-grid{grid-template-columns:1fr}
  .hero-media img{height:300px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
  .work-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .fix-grid{grid-template-columns:repeat(2,1fr)}
  .logo-wall,.why-grid,.steps,.team-grid{grid-template-columns:repeat(2,1fr)}
  .client-names{grid-template-columns:repeat(2,1fr)}
  .client-names span{font-size:1.05rem}
  .dash-body{grid-template-columns:1fr}
  .dash-cell{border-right:0;border-bottom:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .member{grid-template-columns:1fr}
  .member img{min-height:220px}
}
@media (max-width:560px){
  .header-row{gap:10px}
  .brand img{width:140px}
  .header-cta{display:none}
  .hamburger{width:44px;height:44px}
  .hero-grid{padding:44px 0 40px}
  .hero p{font-size:17px;line-height:1.6}
  .section{padding:56px 0}
  .svc-grid,.work-grid,.blog-grid,.fix-grid,.logo-wall,.why-grid,.steps,.form-row,.team-grid{grid-template-columns:1fr}
  .client-names{grid-template-columns:1fr}
  .client-names span{font-size:1rem}
  .stats{grid-template-columns:1fr 1fr;padding:24px}
  .foot-grid{grid-template-columns:1fr}
  .hero-cta .btn{flex:1}
  .fran,.pan-copy,.cta-band{padding:28px}
  .work-item img{height:210px}
  .work-item.slide img{height:230px}
  .tslide img{height:220px}
  .slide{flex-basis:80vw}
  .sl-prev,.sl-next{width:44px;height:44px}
  table.spec{display:block;overflow-x:auto}
  .hero-badges span{font-size:.74rem}
  #chatPanel{right:12px;bottom:76px}
  .ticker-track{font-size:.82rem}
}
@media (max-width:380px){
  .hero h1{font-size:clamp(34px,10.5vw,44px)}
  .hero-badges{display:grid;grid-template-columns:1fr 1fr}
  .hero-badges span{justify-content:center;text-align:center}
}
@media (max-width:1150px) and (max-height:640px){
  .drawer-head{min-height:60px}
  .mobile-nav> a,.m-sub summary{font-size:clamp(17px,4.8vh,23px);padding:.4em .1em}
  .drawer-foot{padding-top:12px}
}
