/* V24.0 — cross-device optimization and stronger page-edge breathing room */
html{
  width:100%;
  max-width:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
@supports not (overflow:clip){body{overflow-x:hidden}}
*,*::before,*::after{box-sizing:border-box}
img,picture,video,canvas,svg,iframe{max-width:100%;height:auto}
main,header,footer,section,article,aside,nav,form,fieldset,figure,
.wrap,.container,.hero-inner,.hero-grid,.split,.cta-inner,.footer-grid,
.grid-2,.grid-3,.grid-4,.team-grid,.deal-grid,.editorial-grid,.archive-grid,
.youtube-video-grid,.valuation-form-grid,.valuation-impact-grid,.valuation-output-grid,
.vix-gap-grid,.vix-output-grid,.vix-proof-grid,.vix-layer-grid,.vix-decision-grid,
.vix-assets-grid,.vix-process-grid,.vix-track-record-grid,.proof-grid,.stats-grid,
.work-grid,.tst-track,.logo-row,.nav,.nav-links,.navlinks,.f-bot{min-width:0}

:root{
  --page-shell-max-v24:1296px;
  --page-gutter-v24:clamp(22px,4vw,58px);
}
.wrap{
  width:100%!important;
  max-width:var(--page-shell-max-v24)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:max(var(--page-gutter-v24),env(safe-area-inset-left,0px))!important;
  padding-right:max(var(--page-gutter-v24),env(safe-area-inset-right,0px))!important;
}

/* Prevent edge-glued panels and maintain safer internal spacing. */
.card,.member,.editorial,.archive-card,.youtube-video-copy,.legal-toc,.legal-callout,
.work,.tst,.deal,.valuation-form,.vix-stack-card,.vix-proof-grid article,.vix-layer-grid article,
.vix-decision-grid article,.vix-assets-grid article,.vix-gap-grid article,.vix-output-grid article{
  min-width:0;
}

/* Medium devices */
@media (min-width:768px) and (max-width:1099px){
  :root{--page-gutter-v24:clamp(28px,4vw,44px)}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .work-grid > *:last-child:nth-child(odd){grid-column:1/-1}
}

/* Small tablets and large phones */
@media (max-width:767px){
  :root{--page-gutter-v24:max(20px,env(safe-area-inset-left,0px))}
  section{scroll-margin-top:78px}
  .grid-2,.grid-3,.grid-4,.split,.deal-grid,.editorial-grid,.archive-grid,.youtube-video-grid,
  .valuation-form-grid,.vix-gap-grid,.vix-output-grid,.vix-proof-grid,.vix-layer-grid,
  .vix-decision-grid,.vix-assets-grid,.vix-process-grid,.vix-track-record-grid,.footer-grid,
  .work-grid{grid-template-columns:minmax(0,1fr)!important}
  .hero-actions,.hero-cta,.cta-actions,.member-actions,.private-brief-actions,
  .valuation-awareness-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%}
  .hero-actions .btn,.hero-cta .btn,.cta-actions .btn,.member-actions .btn,
  .private-brief-actions .btn,.valuation-awareness-actions .btn{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important;white-space:normal!important}
  .card,.member,.editorial,.archive-card,.youtube-video-copy,.legal-toc,.legal-callout,
  .work,.tst,.deal,.vix-stack-card{padding-left:clamp(18px,5.4vw,24px)!important;padding-right:clamp(18px,5.4vw,24px)!important}
  .photo-caption{left:18px!important;right:18px!important;bottom:18px!important}
  .footer-bottom,.f-bot{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;text-align:left!important}
  .topbar .nav-cta,.nav .btn{display:none!important}
}

@media (max-width:479px){
  :root{--page-gutter-v24:max(18px,env(safe-area-inset-left,0px))}
  h1{font-size:clamp(36px,11vw,48px)!important;line-height:1.05!important}
  h2{font-size:clamp(28px,8.6vw,38px)!important}
  .stats-grid,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat,.proof-cell{padding-left:12px!important;padding-right:12px!important}
  .btn{min-height:48px!important;padding-left:16px!important;padding-right:16px!important}
  .mobile-menu-panel{right:max(12px,env(safe-area-inset-right,0px))!important;width:min(300px,calc(100vw - 24px))!important}
}

@media (max-width:359px){
  :root{--page-gutter-v24:max(14px,env(safe-area-inset-left,0px))}
  .stats-grid,.proof-grid{grid-template-columns:minmax(0,1fr)!important}
}

@media (orientation:landscape) and (max-height:600px) and (max-width:980px){
  section{padding-top:48px!important;padding-bottom:48px!important}
  .hero-grid,.hero-inner{min-height:auto!important;padding-top:44px!important;padding-bottom:48px!important}
}


/* V24.1 — hero-image treatment for valuation, about, team, media, and Private Brief */
.page-about .hero,
.page-team .hero,
.page-media .hero,
.page-private-brief .hero,
.page-valuation .vix-hero{
  isolation:isolate;
}

.page-about .hero::before,
.page-team .hero::before,
.page-media .hero::before,
.page-private-brief .hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.02);
}

.page-about .hero::before{
  background-image:url("../backgrounds/about-profile-porch.webp");
  background-position:78% center;
  opacity:.44;
  filter:saturate(.84) brightness(.76) contrast(.98) blur(.08px);
}
.page-about .hero::after{
  background:
    linear-gradient(90deg,rgba(14,20,24,.88) 0%,rgba(14,20,24,.79) 36%,rgba(14,20,24,.52) 63%,rgba(14,20,24,.36) 100%),
    linear-gradient(180deg,rgba(14,20,24,.22) 0%,rgba(14,20,24,.08) 35%,rgba(14,20,24,.28) 100%),
    radial-gradient(90% 100% at 85% 5%,rgba(176,141,87,.16),transparent 58%);
}

.page-team .hero::before{
  background-image:url("../backgrounds/team-how-meeting-room.webp");
  background-position:76% center;
  opacity:.43;
  filter:saturate(.80) brightness(.72) contrast(.98) blur(.10px);
}
.page-team .hero::after{
  background:
    linear-gradient(90deg,rgba(14,20,24,.88) 0%,rgba(14,20,24,.80) 36%,rgba(14,20,24,.54) 63%,rgba(14,20,24,.38) 100%),
    linear-gradient(180deg,rgba(14,20,24,.20) 0%,rgba(14,20,24,.07) 35%,rgba(14,20,24,.27) 100%),
    radial-gradient(90% 100% at 85% 5%,rgba(176,141,87,.14),transparent 58%);
}

.page-media .hero::before{
  background-image:url("../backgrounds/media-stories-workspace.webp");
  background-position:74% center;
  opacity:.42;
  filter:saturate(.82) brightness(.72) contrast(.98) blur(.10px);
}
.page-media .hero::after{
  background:
    linear-gradient(90deg,rgba(14,20,24,.89) 0%,rgba(14,20,24,.80) 34%,rgba(14,20,24,.53) 62%,rgba(14,20,24,.36) 100%),
    linear-gradient(180deg,rgba(14,20,24,.22) 0%,rgba(14,20,24,.08) 35%,rgba(14,20,24,.28) 100%),
    radial-gradient(90% 100% at 85% 5%,rgba(176,141,87,.16),transparent 58%);
}

.page-private-brief .hero::before{
  background-image:url("../backgrounds/brief-thesis-sea-view.webp");
  background-position:78% center;
  opacity:.44;
  filter:saturate(.84) brightness(.74) contrast(.98) blur(.08px);
}
.page-private-brief .hero::after{
  background:
    linear-gradient(90deg,rgba(14,20,24,.88) 0%,rgba(14,20,24,.79) 34%,rgba(14,20,24,.49) 62%,rgba(14,20,24,.31) 100%),
    linear-gradient(180deg,rgba(14,20,24,.20) 0%,rgba(14,20,24,.06) 35%,rgba(14,20,24,.25) 100%),
    radial-gradient(90% 100% at 85% 5%,rgba(176,141,87,.16),transparent 58%);
}

.page-valuation .vix-hero{
  background:
    linear-gradient(90deg,rgba(11,17,21,.88) 0%,rgba(11,17,21,.80) 36%,rgba(11,17,21,.54) 64%,rgba(11,17,21,.34) 100%),
    linear-gradient(180deg,rgba(11,17,21,.24) 0%,rgba(11,17,21,.08) 40%,rgba(11,17,21,.30) 100%),
    url("../backgrounds/valuation-estimate-living-room.webp");
  background-size:auto,auto,cover;
  background-repeat:no-repeat;
  background-position:center,center,78% center;
}
.page-valuation .vix-hero::before{
  opacity:.14;
}
.page-valuation .vix-hero::after{
  background:
    radial-gradient(90% 100% at 84% 6%,rgba(176,141,87,.18),transparent 56%);
}

@media (max-width:980px){
  .page-about .hero::before,
  .page-team .hero::before,
  .page-media .hero::before,
  .page-private-brief .hero::before{
    background-position:68% center;
    opacity:.36;
    filter:saturate(.76) brightness(.68) contrast(.97) blur(.16px);
  }
  .page-about .hero::after,
  .page-team .hero::after,
  .page-media .hero::after,
  .page-private-brief .hero::after{
    background:linear-gradient(180deg,rgba(14,20,24,.78),rgba(14,20,24,.60));
  }
  .page-valuation .vix-hero{
    background-position:center,center,70% center;
    background:
      linear-gradient(180deg,rgba(11,17,21,.80) 0%,rgba(11,17,21,.62) 48%,rgba(11,17,21,.78) 100%),
      linear-gradient(90deg,rgba(11,17,21,.78),rgba(11,17,21,.48)),
      url("../backgrounds/valuation-estimate-living-room.webp");
    background-size:auto,auto,cover;
    background-repeat:no-repeat;
    background-position:center,center,70% center;
  }
}

@media (max-width:620px){
  .page-about .hero::before,
  .page-team .hero::before,
  .page-media .hero::before,
  .page-private-brief .hero::before{
    background-position:70% center;
    opacity:.30;
  }
  .page-valuation .vix-hero{
    background-position:center,center,72% center;
  }
}
