/* ==========================================================
   DBG V28 – Header, responsive layout, slider affordance
   Desktop visual language preserved; only header proportions adjusted.
   ========================================================== */

/* ----- Slider: unmistakably draggable -------------------------------- */
.build21-slider-wrap{overflow:visible!important}
.build21-slider-hint{
  position:absolute;left:0;top:34px;display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.72);font-size:7px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap;pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;
  animation:dbgSliderHint 1.65s ease-in-out infinite;
}
.build21-slider-hint i{font-style:normal;color:var(--gold,#c7a56a);font-size:13px;line-height:1}
.build21.has-used-slider .build21-slider-hint{opacity:0!important;transform:translateY(-3px);animation:none}
.build21:not(.has-used-slider) .build21-range::-webkit-slider-thumb{animation:dbgSliderThumb 1.5s ease-in-out infinite}
.build21:not(.has-used-slider) .build21-range::-moz-range-thumb{animation:dbgSliderThumb 1.5s ease-in-out infinite}
@keyframes dbgSliderHint{0%,100%{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(7px)}}
@keyframes dbgSliderThumb{0%,100%{box-shadow:0 0 0 5px rgba(199,165,106,.10),0 4px 14px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 10px rgba(199,165,106,.20),0 0 20px rgba(199,165,106,.32),0 4px 14px rgba(0,0,0,.35)}}
.build21-control{padding-bottom:22px}

/* ----- Header: stronger proportions on real desktop ------------------ */
@media (min-width:1441px){
  .site-header-v6{grid-template-columns:minmax(180px,.75fr) auto minmax(205px,.75fr)!important;gap:28px!important;padding-left:clamp(30px,3.6vw,64px)!important;padding-right:clamp(30px,3.6vw,64px)!important}
  .site-header-v6 .brand{width:174px!important}
  .site-header-v6 .brand img{max-height:48px!important}
  .site-header-v6 .menu{gap:clamp(14px,1.2vw,23px)!important}
  .site-header-v6 .menu>li>a{font-size:11.5px!important;letter-spacing:.095em!important}
  .header-actions-v6{gap:15px!important}
  .header-call{font-size:10.5px!important;padding:11px 3px!important}
  .site-header-v6 .header-cta{font-size:10.5px!important;padding:13px 16px!important}
}

/* ----- MacBook / smaller laptop: dedicated layout -------------------- */
@media (min-width:1181px) and (max-width:1440px) and (hover:hover) and (pointer:fine){
  :root{--pad:clamp(34px,4vw,56px)}
  html,body{overflow-x:clip!important}
  .site-header-v6{grid-template-columns:164px minmax(0,1fr) auto!important;gap:16px!important;padding-left:clamp(24px,2.7vw,38px)!important;padding-right:clamp(24px,2.7vw,38px)!important}
  .site-header-v6 .brand{width:160px!important}
  .site-header-v6 .brand img{max-height:44px!important}
  .site-header-v6 .main-nav{min-width:0!important;width:100%!important;display:flex!important;justify-content:center!important}
  .site-header-v6 .menu{gap:clamp(8px,.8vw,13px)!important;justify-content:center!important;min-width:0!important}
  .site-header-v6 .menu>li>a{font-size:10.5px!important;letter-spacing:.075em!important}
  .header-actions-v6{gap:9px!important}
  .header-call{font-size:9.8px!important;padding:9px 2px!important}
  .site-header-v6 .header-cta{font-size:9.8px!important;padding:11px 12px!important;gap:8px!important}

  .hero-v6{padding-left:var(--pad)!important;padding-right:var(--pad)!important}
  .hero-v6 h1{font-size:clamp(62px,7.2vw,102px)!important;max-width:920px!important}
  .hero-v6-copy{max-width:min(850px,70vw)!important}
  .hero-blueprint-field{width:min(62vw,820px)!important;right:-3vw!important}
  .hero-v6-flow{max-width:700px!important}

  .section,.team-working,.career-process,.applicant-checklist{padding-left:var(--pad)!important;padding-right:var(--pad)!important}
  .section-head.split{gap:34px!important}
  .section-head.split>*{min-width:0!important}
  .section-note{max-width:42ch!important}
  .service-grid-v6,.portal-grid-v6,.home-project-grid,.team-grid,.principles,.team-working-grid,.partner-process-v6{min-width:0!important}
  .service-grid-v6>*,.portal-grid-v6>*,.home-project-grid>*,.team-grid>*,.principles>*,.team-working-grid>*,.partner-process-v6>*{min-width:0!important}
  .service-card-v6{padding:clamp(24px,2.3vw,34px)!important}
  .portal-card-v6{padding:clamp(26px,2.5vw,38px)!important}
  .footer-v6-main{gap:4vw!important}
  .page-hero-v6{padding-left:var(--pad)!important;padding-right:var(--pad)!important}
  .page-hero-v6 h1{font-size:clamp(52px,6vw,84px)!important}
  .page-hero-blueprint{max-width:50vw!important}
  .build21-sticky{grid-template-columns:minmax(330px,.76fr) minmax(0,1.24fr)!important}
  .build21-copy{padding-left:clamp(34px,4vw,58px)!important;padding-right:clamp(30px,3vw,46px)!important}
}

/* ----- Shared tablet/mobile safety ----------------------------------- */
@media (max-width:1180px), (min-width:1181px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
  html{overflow-x:clip!important}
  body{min-width:320px;overflow-x:clip!important}
  main,section,header,footer,nav{max-width:100vw!important}
  .section>*,.page-hero-v6>*,.contact-main-v6>*,.footer-v6-main>*,.build21-sticky>*{min-width:0!important}
  h1,h2,h3,p,a,span{overflow-wrap:normal;word-break:normal}

  /* full-screen menu: proportional rather than oversized */
  .site-header-v6 .main-nav.open{
    height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;
    justify-content:flex-start!important;align-items:stretch!important;padding:calc(var(--header-h) + 44px) clamp(24px,6vw,54px) max(30px,env(safe-area-inset-bottom))!important;
    background:linear-gradient(145deg,#0c1015,#151c23)!important;
  }
  .site-header-v6 .main-nav.open .menu{flex:0 0 auto!important;width:100%!important;gap:0!important;border-top:1px solid rgba(255,255,255,.12)!important}
  .site-header-v6 .main-nav.open .menu>li{width:100%!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .site-header-v6 .main-nav.open .menu>li>a{
    display:flex!important;align-items:center!important;min-height:58px!important;padding:7px 0!important;
    font-size:clamp(22px,3.8vw,32px)!important;line-height:1.05!important;letter-spacing:-.02em!important;color:#f5f3ee!important;
  }
  .site-header-v6 .main-nav.open .menu>li>a:after{display:none!important}
  .mobile-nav-actions-v6{margin-top:auto!important;padding-top:26px!important;gap:10px!important;flex-direction:column!important;width:100%!important}
  .mobile-nav-actions-v6 a{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:13px 0!important;border-top:1px solid rgba(255,255,255,.15)!important;color:#fff!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important}

  body.menu-open .site-header-v6 .brand{position:fixed!important;z-index:10003!important;left:clamp(20px,4vw,34px)!important;top:12px!important;width:170px!important}
  body.menu-open .site-header-v6 .brand img{filter:brightness(0) invert(1)!important}
  body.menu-open .site-header-v6 .menu-toggle{position:fixed!important;z-index:10004!important;right:clamp(16px,3vw,28px)!important;top:13px!important;color:#fff!important}
  .menu-toggle[aria-expanded="true"] span:first-child{top:22px!important;transform:rotate(45deg)!important}
  .menu-toggle[aria-expanded="true"] span:last-child{top:22px!important;transform:rotate(-45deg)!important}

  .build21-slider-hint{top:39px!important}
}

/* ----- iPad / medium tablet ------------------------------------------ */
@media (min-width:801px) and (max-width:1180px){
  :root{--pad:clamp(28px,4vw,42px)}
  .site-header-v6 .brand{width:170px!important}
  .site-header-v6 .menu-toggle{width:48px!important;height:48px!important}
  .hero-v6 h1{font-size:clamp(58px,8vw,82px)!important}
  .hero-v6-copy{max-width:76%!important}
  .hero-blueprint-field{width:78vw!important;right:-18vw!important;opacity:.46!important}
  .section{padding-top:88px!important;padding-bottom:88px!important}
  .service-grid-v6,.portal-grid-v6,.home-project-grid,.team-grid,.principles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-working-grid,.partner-process-v6{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-card-v6:last-child{grid-column:auto!important}
  .footer-v6-main{grid-template-columns:1fr 1fr!important}
  .footer-v6-brand{grid-column:1/-1!important}
  .build21-sticky{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)!important;min-height:600px!important}
  .build21-copy,.build21-stage{min-height:600px!important}
  .build21-copy{padding:46px 30px!important}
  .build21-copy h2{font-size:clamp(48px,6.4vw,66px)!important}
}

/* ----- Phones --------------------------------------------------------- */
@media (max-width:800px){
  :root{--pad:20px!important;--header-h:70px!important}
  .site-header-v6{padding-left:20px!important;padding-right:16px!important}
  .site-header-v6 .brand{width:156px!important;max-width:62vw!important}
  .site-header-v6 .brand img{max-height:38px!important}
  .site-header-v6 .menu-toggle{width:46px!important;height:46px!important}

  .site-header-v6 .main-nav.open{padding:calc(var(--header-h) + 30px) 20px max(24px,env(safe-area-inset-bottom))!important}
  .site-header-v6 .main-nav.open .menu>li>a{min-height:50px!important;font-size:clamp(21px,6.2vw,28px)!important}
  body.menu-open .site-header-v6 .brand{left:20px!important;top:11px!important;width:154px!important}
  body.menu-open .site-header-v6 .menu-toggle{right:14px!important;top:11px!important}

  .hero-v6{padding-left:20px!important;padding-right:20px!important}
  .hero-v6 h1{font-size:clamp(46px,12.8vw,64px)!important;line-height:.94!important;max-width:100%!important}
  .hero-v6-copy{max-width:100%!important}
  .hero-v6 .hero-lead{max-width:100%!important;font-size:14px!important}
  .hero-blueprint-field{right:-48vw!important;width:164vw!important;opacity:.36!important}

  .section-head.split{display:block!important}
  .section-head.split .section-note{margin-top:22px!important;max-width:100%!important}
  .service-card-v6,.portal-card-v6,.team-working-grid article,.partner-process-v6 article{min-width:0!important}
  .home-project-meta{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
  .footer-v6-main,.footer-v6-bottom{min-width:0!important}

  .build21-control{padding-bottom:26px!important}
  .build21-slider-hint{top:44px!important;font-size:6.5px!important}
  .build21:not(.has-used-slider) .build21-range::-webkit-slider-thumb{animation-duration:1.35s}
  .build21:not(.has-used-slider) .build21-range::-moz-range-thumb{animation-duration:1.35s}
}

@media (max-width:520px){
  .site-header-v6 .main-nav.open .menu>li>a{font-size:23px!important;min-height:47px!important}
  .mobile-nav-actions-v6{padding-top:18px!important}
  .hero-v6 h1{font-size:clamp(44px,13.2vw,58px)!important}
  .page-hero-v6 .page-hero-copy h1{font-size:clamp(42px,11.5vw,54px)!important}
  .build21-slider-hint{top:43px!important}
}

@media (prefers-reduced-motion:reduce){
  .build21-slider-hint,.build21-range::-webkit-slider-thumb,.build21-range::-moz-range-thumb{animation:none!important}
}
