/* Final delivery QA: robust reveal, focus, safe areas and overflow control. */
html,body{max-width:100%;overflow-x:clip}
section[id]{scroll-margin-top:132px}
.section-head h2,.hero h1,.cta-card h2,.live-card h2{text-wrap:balance}
.button,a,button{-webkit-tap-highlight-color:transparent}
.case-nav a[aria-current="location"]{color:#111;border-color:#111}
.explorer-tabs button[tabindex="-1"]{outline:none}
.explorer-tabs button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.mobile-cta{padding-bottom:env(safe-area-inset-bottom)}

/* Content remains visible when JavaScript is unavailable. */
.reveal-section{opacity:1!important;transform:none!important}
html.reveal-ready .reveal-section:not(.is-visible){opacity:0!important;transform:translateY(18px)!important}
html.reveal-ready .reveal-section.is-visible{opacity:1!important;transform:none!important}

@media(max-width:820px){
  section[id]{scroll-margin-top:116px}
  .topbar nav a{min-height:46px;display:flex;align-items:center}
}

@media(max-width:620px){
  .photo-grid figcaption{align-items:center;flex-wrap:wrap}
  .photo-grid figcaption span{margin-left:auto}
  .browser-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@supports not (overflow:clip){
  html,body{overflow-x:hidden}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal-section{opacity:1!important;transform:none!important}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
