/* Revision 32: compact opening, full-frame real photography, consistent inner pages. */
main :is(h1,h2)[id] { scroll-margin-top:28px; }
.site-header { min-height: 88px; padding-block: 14px; gap: 24px; }
.brand { width: clamp(190px, 18vw, 250px); flex-shrink: 0; }
.primary-navigation { gap: clamp(14px, 1.8vw, 30px); }
.nav-link { font-size: 14px; white-space: nowrap; }
.site-header .brand { width:clamp(160px,15vw,204px); }
.site-header .nav-link { font-size:14px; }
.site-header .request-call { font-size:14px; margin-left:0; }
.home-page .hero-heading-wrap { padding-block:24px 28px; }
.home-page .hero-heading-wrap::after { content:''; display:block; position:static; width:100px; height:4px; margin:20px auto 0; background:var(--red); }
.hero-heading-wrap { padding-block: clamp(26px, 3vw, 48px) clamp(40px, 3.8vw, 58px); }
.hero h1 { font-size: clamp(40px, 4.35vw, 76px); line-height: 1.06; max-width: 1480px; }
.hero-heading-wrap::after { bottom: 22px; }
.hero-film { aspect-ratio: auto; height: min(56.25vw, calc(100svh - var(--hero-chrome, 270px) - 16px)); min-height: 160px; }
.hero-film video { object-fit: contain; }
.r32-media { margin: 0; min-width: 0; }
.r32-media img { display: block; width: 100%; height: auto; object-fit: contain; max-height: 640px; }
.r32-media figcaption { font-size: 14px; line-height: 1.55; color: #4c5356; margin-top: 14px; max-width: 65ch; }
.r32-wide-figure { padding-block: 30px 48px; }
.r32-wide-figure img { max-height: 520px; }
.service-photograph { margin: 28px 0 0; }
.service-photograph img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; }
.service-photograph figcaption, .product-application-figure figcaption { color:#4c5356; font-size:14px; line-height:1.55; margin-top:14px; }
.product-application-figure { margin:28px 0 38px; padding:0; background:none; border:0; }
.product-application-figure img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; }
.product-in-use { margin-block:48px; }
.product-in-use > h2 { font-size:clamp(32px,3.2vw,48px); margin-bottom:30px; }
.product-use-primary { margin:0 0 24px; }
.product-use-primary img, .product-use-gallery img { display:block; width:100%; height:auto; object-fit:contain; }
.product-use-primary img { max-height:700px; }
.product-use-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-use-gallery figure { margin:0; }
.product-demo-video { margin:44px auto 30px; text-align:center; }
.product-demo-video h3 { font-size:28px; margin-bottom:24px; }
.product-demo-video video { display:block; width:min(100%,400px); height:auto; aspect-ratio:9/16; background:#000; margin-inline:auto; }
.product-in-use > .text-link { margin-top:20px; }
.partnerships-intro { padding: 64px var(--gutter) 80px; background: var(--paper); }
.partnerships-intro .section-label { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 26px; }
.partnerships-intro h1 { max-width: 1200px; font-size: clamp(40px, 5.8vw, 82px); line-height: 1.08; margin-bottom: 46px; }
.partnerships-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.partnerships-copy p, .partnerships-contact p { font-size: 19px; line-height: 1.7; max-width: 58ch; margin-bottom: 24px; }
.partnerships-contact { padding: 64px var(--gutter) 74px; background: var(--lime); color: var(--ink); }
.partnerships-contact h2 { font-size: clamp(34px, 4vw, 56px); margin-bottom: 24px; }
@media(max-width: 1080px) {
 .site-header { flex-wrap: wrap; }
 .mobile-toggle { display: inline-flex; margin-left: auto; }
 .primary-navigation { width:100%; flex-direction:column; align-items:stretch; gap:0; }
 .js-ready .primary-navigation { display:none; }
 .js-ready .primary-navigation.is-open { display:flex; padding-block:8px 14px; }
 .nav-link { font-size:19px; padding:16px 0; border-top:1px solid var(--rule); white-space:normal; }
 .request-call { align-self:flex-start; margin-top:14px; }
}
@media(min-width:1081px) {
 .mobile-toggle { display:none !important; }
 .site-header { flex-wrap:nowrap; justify-content:space-between; }
 .site-header .primary-navigation { width:auto; justify-content:flex-end; }
}
@media(max-width:760px) {
 .site-header { min-height:76px; padding-block:12px; }
 .brand { width:190px; }
 .hero-heading-wrap { padding-block:25px 44px; }
 .hero h1 { font-size:clamp(32px,8.5vw,58px); line-height:1.08; }
 .hero-heading-wrap::after { bottom:20px; }
 .hero-film { height:min(56.25vw, calc(100svh - var(--hero-chrome, 250px) - 12px)); min-height:120px; }
 .partnerships-intro { padding-block:42px 50px; }
 .partnerships-grid { grid-template-columns:1fr; gap:28px; }
 .partnerships-intro h1 { margin-bottom:32px; }
 .partnerships-contact { padding-block:44px 50px; }
 .partnerships-copy p, .partnerships-contact p { font-size:17px; }
 .r32-wide-figure { padding-block:20px 32px; }
 .product-use-gallery { grid-template-columns:1fr; }
 .product-demo-video h3 { font-size:24px; }
}
