html { scroll-behavior: auto; scroll-padding-top: 96px; }
.site-header .logo { font-size: 1.95rem; }
.site-header .logo i { width: 19.5px; height: 19.5px; }
.site-header { position: fixed; background: rgba(7,27,46,.96); backdrop-filter: blur(14px); }
.hero { isolation: isolate; background: var(--ink); padding: 130px 5vw 90px; min-height: 740px; height: min(920px,100svh); }
.hero-photo { position: absolute; width: 67%; height: 100%; right: 0; top: 0; object-fit: cover; object-position: 60% center; z-index: -3; will-change: transform; animation: hero-photo-motion 18s ease-in-out infinite; }
.hero-shade { background: linear-gradient(90deg,#071b2e 0%,#071b2e 26%,rgba(7,27,46,.92) 35%,rgba(7,27,46,.45) 50%,rgba(7,27,46,.04) 70%),linear-gradient(0deg,rgba(7,27,46,.72),transparent 35%); }
.hero .grid { opacity: .3; }
.hero-copy { max-width: 640px; }
h1 { font-size: clamp(3.2rem,5.1vw,5.3rem); }
.intro { max-width: 445px; }
.home-tcs-photo { display:block; width:240px; max-width:100%; height:150px; object-fit:contain; object-position:left center; margin-top:18px; }
.hero-note { right: 4vw; bottom: 2.1rem; }
.scroll { left: 5vw; }
.eyebrow { font-size: .875rem; }
.button, nav a, .product a, .text-link { font-size: .875rem; }
.featured .aqua,.validation .aqua { color: var(--aqua); }
a,button { touch-action: manipulation; }
a:focus-visible,button:focus-visible { outline: 3px solid #3266b2; outline-offset: 6px; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.contact-actions .button { justify-self: auto; }
.contact-details { font-style:normal; font-size:1rem; }
.contact-details a { color: white; text-underline-offset: 4px; }
@media(max-width:760px) {
  html { scroll-padding-top: 82px; }
  .hero { height:auto; min-height:0; display:flex; flex-direction:column; align-items:stretch; padding:0 0 65px; }
  .hero-photo { position:relative; top:auto; right:auto; z-index:0; order:-1; width:100%; height:auto; margin-top:70px; object-fit:contain; }
  .hero-shade { display:none; }
  .hero-copy { padding:30px 7vw 20px; }
  h1 { font-size:clamp(2.5rem,8.5vw,3.6rem); }
  .scroll { left:7vw; bottom:25px; }
  .footer-top .contact-actions .button { justify-self:start; }
}
@keyframes hero-photo-motion {
  0%, 100% { transform: scale(1.025) translate3d(0, 0, 0); }
  50% { transform: scale(1.085) translate3d(-1.2%, .35%, 0); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-photo { animation:none; } }
