/* v4.5 quality, accessibility and mobile refinements. Non-destructive overrides. */
:root{--tv45-focus:#e02832}
:focus-visible{outline:3px solid var(--tv45-focus);outline-offset:3px}
body{overflow-wrap:break-word}
img{max-width:100%}
/* Preserve hero subject while allowing headline and CTA space at narrow sizes. */
@media(max-width:680px){
 .tv30-hero-inner{width:min(100%,640px)!important;max-width:100%!important;padding-inline:clamp(18px,4.5vw,26px)!important;box-sizing:border-box!important}
 .tv30-hero h1{font-size:clamp(2.75rem,12.5vw,5rem)!important;line-height:1.04!important;letter-spacing:-.045em!important;text-wrap:balance}
 .tv30-actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important}
 .tv30-primary,.tv30-secondary{min-height:48px!important;display:inline-flex!important;align-items:center!important}
 .tv32-clients h2{text-wrap:balance}
 .editorial-project .project-gallery>figure{content-visibility:auto;contain-intrinsic-size:auto 460px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .tv30-slide,.tv30-slide.active{animation:none!important;transform:none!important;transition:none!important}
 .tv30-slide:not(.active){opacity:0!important}
 .reveal-left,.reveal-right,.reveal-up{opacity:1!important;transform:none!important;transition:none!important}
 .tv32-marquee-track,.tv32-track,.tv32-ticker-track,.partner-track{animation:none!important;transform:none!important}
 .editorial-project .project-gallery .gallery-open img{transform:none!important;transition:none!important}
}
@media(max-width:480px){
 .tv35-dialog,.tv45-safe-modal{max-width:100vw!important}
 .tv39-project-dock{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
}
