@import url("/assets/css/nav-v2-core.css?v=1.2");

/* Home v2 — isolated responsive corrections 2026-10-03.
   Scope is intentionally limited to Hero + Section 07. */

/* Accessibility: keep shared Home secondary/accent copy above WCAG AA contrast on light surfaces. */
.home-v2-expertise-domain small,
.home-v2-where-modes article > p{
  color:#667680!important;
}
.home-v2-where-modes article > span,
.home-v2-about-preview-copy > a{
  color:#157e55!important;
}

/* Hero desktop/tablet first-paint stabilization.
   Mirror the approved runtime composition before locale.js executes so the
   first rendered layout and the final layout use the same geometry. */
@media (min-width:851px){
  .home-v2-hero{
    min-height:650px;
    background:#031d30;
  }
  .home-v2-hero-inner{
    position:relative;
    display:block;
    width:100%;
    max-width:none;
    min-height:650px;
  }
  .home-v2-hero-visual{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:650px;
    background:#031d30;
    z-index:0;
  }
  .home-v2-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  .home-v2-hero-static-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
  }
  .home-v2-hero-copy{
    position:relative;
    z-index:3;
    width:min(760px,52vw);
    min-height:650px;
    padding:132px 5vw 82px max(42px,5vw);
    justify-content:center;
  }
  .home-v2-visual-shade{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(3,29,48,.98) 0%,rgba(3,29,48,.92) 24%,rgba(3,29,48,.66) 41%,rgba(3,29,48,.20) 64%,rgba(3,29,48,.06) 100%);
  }
  .home-v2-network-line,
  .home-v2-node,
  .home-v2-visual-label{
    display:none!important;
  }
}

@media (min-width:851px) and (max-width:1180px){
  .home-v2-hero-copy{
    width:min(700px,60vw);
  }
  .home-v2-hero-static-image{
    object-position:58% center;
  }
  .home-v2-visual-shade{
    background:linear-gradient(90deg,rgba(3,29,48,.98) 0%,rgba(3,29,48,.90) 30%,rgba(3,29,48,.56) 52%,rgba(3,29,48,.12) 78%,rgba(3,29,48,.04) 100%);
  }
}

/* Desktop: keep semantic copy clear of ASSESS embedded in the approved artwork. */
@media (min-width:1181px){
  .home-v2-start-copy p{
    max-width:clamp(300px,24vw,460px)!important;
  }
}

/* Compact desktop: balance the embedded labels against the hiker on the right edge. */
@media (min-width:1181px) and (max-width:1599px){
  .home-v2-start-bg-image{
    object-position:68% 25%!important;
  }
}

/* Tablet / compact desktop: editorial flow = marker -> copy -> full panorama. */
@media (min-width:851px) and (max-width:1180px){
  .home-v2-start{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    background:#031d30!important;
  }
  .home-v2-start.home-v2-flow-step > .home-v2-flow-marker{
    order:0!important;
    top:auto!important;
    translate:0 0!important;
    margin-top:28px!important;
    margin-bottom:18px!important;
  }
  .home-v2-start-inner{
    order:1!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    padding-top:8px!important;
    padding-bottom:28px!important;
  }
  .home-v2-start-copy{
    max-width:680px!important;
    padding-top:0!important;
  }
  .home-v2-start-bg{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1983 / 793!important;
    overflow:hidden!important;
  }
  .home-v2-start-bg-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:right center!important;
  }
  .home-v2-start-bg:after{
    background:none!important;
  }
}

/* Mobile / Fold Section 07: same editorial rhythm as Section 06.
   Remove legacy artificial height so there is no empty navy band. */
@media (max-width:850px){
  .home-v2-start{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    background:#031d30!important;
  }
  .home-v2-start.home-v2-flow-step > .home-v2-flow-marker{
    order:0!important;
    position:relative!important;
    top:auto!important;
    left:auto!important;
    translate:0 0!important;
    margin-top:24px!important;
    margin-bottom:16px!important;
  }
  .home-v2-start-inner{
    order:1!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    padding-top:0!important;
    padding-bottom:28px!important;
  }
  .home-v2-start-copy{
    max-width:none!important;
    padding-top:0!important;
  }
  .home-v2-start-bg{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1983 / 793!important;
    overflow:hidden!important;
  }
  .home-v2-start-bg-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:right center!important;
  }
  .home-v2-start-bg:after{
    background:none!important;
  }
}

/* Fold / small-tablet portrait: keep Hero as one integrated scene.
   Phone/landscape behavior below ~700px remains unchanged. */
@media (min-width:701px) and (max-width:850px) and (min-height:700px){
  .home-v2-hero{
    min-height:640px!important;
    padding-top:64px!important;
    background:#031d30!important;
  }
  .home-v2-hero-inner{
    display:block!important;
    min-height:576px!important;
  }
  .home-v2-hero-copy{
    position:relative!important;
    z-index:3!important;
    order:initial!important;
    width:min(680px,86vw)!important;
    min-height:576px!important;
    padding:64px 5vw 54px!important;
    background:transparent!important;
    justify-content:center!important;
  }
  .home-v2-hero-visual{
    position:absolute!important;
    inset:0!important;
    order:initial!important;
    width:100%!important;
    height:100%!important;
    min-height:576px!important;
    max-height:none!important;
  }
  .home-v2-hero-static-image{
    object-fit:cover!important;
    object-position:68% center!important;
  }
  .home-v2-visual-shade{
    background:linear-gradient(90deg,rgba(3,29,48,.98) 0%,rgba(3,29,48,.90) 36%,rgba(3,29,48,.48) 62%,rgba(3,29,48,.12) 100%)!important;
  }
}


/* P1.1 static strategic footer */
footer .yptg-strategic-footer-nav{box-sizing:border-box;grid-column:1/-1;width:100%;flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;margin:18px auto 0;padding:18px 20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px;line-height:1.4}
footer .yptg-strategic-footer-nav strong{width:100%;text-align:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#9fb6c1}
footer .yptg-strategic-footer-nav a{color:#d9e6ea!important;text-decoration:none!important;white-space:nowrap}
footer .yptg-strategic-footer-nav a:hover,footer .yptg-strategic-footer-nav a:focus-visible{color:#16d889!important;text-decoration:underline!important;text-underline-offset:3px}
@media(max-width:1100px){footer .yptg-strategic-footer-nav{justify-content:flex-start;padding-left:0;padding-right:0}footer .yptg-strategic-footer-nav strong{text-align:left}}
@media(max-width:700px){footer .yptg-strategic-footer-nav{align-items:flex-start;gap:10px 16px;text-align:left}footer .yptg-strategic-footer-nav a{white-space:normal}}
