/* Shared interaction tokens. Content is visible without JavaScript. */
:root{--motion-fast:180ms;--motion-standard:300ms;--motion-section:550ms;--motion-hero:700ms;--motion-stagger:80ms;--motion-ease:cubic-bezier(.2,.65,.3,1);--motion-lift:22px;--motion-scale:1.08;--product-motion-lift:34px;--product-motion-duration:650ms}
:where(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #c64c22;outline-offset:4px}
.equipment-card{display:flex;flex-direction:column;transition:transform var(--motion-standard) var(--motion-ease),box-shadow var(--motion-standard) var(--motion-ease),border-color var(--motion-standard)}
.equipment-card .card-body{display:flex;flex:1;flex-direction:column}
.equipment-card .card-body .text-link{align-self:flex-start;margin-top:auto;min-height:44px;align-items:center}
.equipment-card .card-image{background:white;overflow:hidden;aspect-ratio:4/3}
.equipment-card .card-image img{height:100%;width:100%;object-fit:contain;transition:transform 350ms var(--motion-ease)}
.equipment-card h3 a,.equipment-card .text-link{transition:color var(--motion-fast)}
.equipment-card .text-link span{transition:transform var(--motion-standard)}
.button{transition:background var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard)}
.button:hover{box-shadow:0 6px 16px #152c3624}
.primary-nav>a:not(.button),.mega>summary{position:relative;transition:color 220ms;min-height:44px;display:flex;align-items:center}
.primary-nav>a:not(.button)::after,.mega>summary::before{content:'';position:absolute;bottom:12px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--motion-ease)}
.primary-nav>a[aria-current=page],.mega.nav-active>summary{color:var(--accent)}
.primary-nav>a[aria-current=page]::after,.mega.nav-active>summary::before,.primary-nav>a:focus-visible::after,.mega>summary:focus-visible::before{transform:scaleX(1)}
.mega-panel{z-index:1;max-height:calc(100dvh - 130px);overflow:auto;animation:menu-enter 220ms var(--motion-ease)}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.gallery-main{position:relative;overflow:hidden;background:white;aspect-ratio:4/3}
.gallery-main img{height:100%;background:white;transition:transform 350ms var(--motion-ease)}
.gallery-open{display:block;height:100%;cursor:zoom-in}
.gallery-main::after{content:'Click to enlarge';position:absolute;bottom:12px;right:12px;background:#fffffff0;padding:5px 10px;font-size:11px;color:var(--ink);pointer-events:none}
.gallery-thumbs{overflow-x:auto;padding:5px 4px 10px;scrollbar-width:thin}
.gallery-thumbs button{flex:0 0 76px;overflow:hidden;min-height:76px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
.gallery-thumbs img{object-fit:contain;transition:transform var(--motion-standard)}
.gallery-thumbs button[aria-pressed=true]{border:2px solid var(--accent);box-shadow:0 0 0 2px #c64c221a}
.gallery-status{font-size:12px;min-height:20px;margin:5px 0;color:var(--muted)}
.gallery-lightbox{width:min(1100px,94vw);max-width:94vw;height:min(850px,90dvh);max-height:90dvh;padding:20px;border:0;border-radius:4px;background:white;color:var(--ink)}
.gallery-lightbox::backdrop{background:#0d2028e8}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.lightbox-toolbar p{margin:0;font-size:13px}
.lightbox-toolbar button,.lightbox-controls button{background:var(--ink);color:white;border:0;padding:12px 18px;min-height:44px;border-radius:3px}
.lightbox-image{width:100%;height:calc(100% - 110px);object-fit:contain;margin:10px 0;touch-action:pan-y}
.lightbox-controls{display:flex;justify-content:center;gap:18px}
body.lightbox-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){
.equipment-card:hover,.core-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px #152c3626;border-color:#afbdc1}
.equipment-card:hover .card-image img,.core-card:hover .card-image img{transform:scale(var(--motion-scale))}
.equipment-card:hover h3 a,.equipment-card:hover .text-link{color:var(--accent)}
.equipment-card:hover .text-link span{transform:translate(3px,-2px)}
.primary-nav>a:hover::after,.mega:hover>summary::before{transform:scaleX(1)}
.mega:hover>summary{color:var(--accent)}
.gallery-thumbs button:hover img{transform:scale(1.06)}
.gallery-open:hover img{transform:scale(1.05)}
}
@media(max-width:1100px){
.header-inner{gap:20px}.primary-nav{gap:16px;font-size:11px}.nav-quote{padding:12px}
}
@media(max-width:1024px){
.header-inner{min-height:78px}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:white;color:var(--ink)}
.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:18px 24px 28px;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--shadow)}
.primary-nav.open{display:flex}.primary-nav>a,.mega>summary{padding:12px 0}.mega>summary{display:flex;justify-content:space-between}
.primary-nav>a:not(.button)::after,.mega>summary::before{bottom:5px;right:auto;width:32px}
.mega-panel{position:static;display:block;padding:18px 8px;border:1px solid var(--line);box-shadow:none;max-height:none;animation:none}.mega-intro h2{display:none}.mega-intro .eyebrow{margin-bottom:10px}.mega-categories{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:12px}.mega-categories a{min-height:44px;font-size:13px;padding:10px 0}
.primary-nav .nav-quote{margin-top:12px;padding:15px}.hero-grid{gap:24px}.hero-copy{padding-top:50px}.product-hero{gap:35px}.rfq-layout{gap:36px}
}
@media(max-width:768px){
.hero-integrated .hero-grid{min-height:0}.hero-copy{padding-top:40px}.hero-note{margin-top:28px}.hero-media{padding-top:0}.hero-media>img{min-height:0}
.gallery-thumbs button{flex-basis:68px;min-height:68px}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.table-wrap:focus-visible{outline:3px solid var(--accent)}
.product-gallery,.product-summary,.editorial-body,.rfq-form{min-width:0}.quick-specs>div{gap:16px;overflow-wrap:anywhere}.lightbox-toolbar button{padding:10px}.gallery-lightbox{padding:12px}.lightbox-image{height:calc(100% - 118px)}
}
@media(max-width:430px){.hero h1{font-size:clamp(32px,8.7vw,38px)}.hero-integrated .hero-description{font-size:15px}.hero .button{padding:14px 17px;min-height:48px}.hero .button-row{gap:10px;margin-block:24px}.mega-categories{grid-template-columns:1fr}.product-summary h1{font-size:34px}.gallery-thumbs{gap:8px}.footer-bottom{gap:18px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mega-panel{animation:none}.equipment-card,.equipment-card .card-image img,.core-card,.core-card .card-image img,.button,.primary-nav>a,.mega>summary,.primary-nav>a::after,.mega>summary::before,.gallery-thumbs button,.gallery-thumbs img,.gallery-main img{transition:none}.equipment-card:hover,.core-card:hover,.equipment-card:hover .card-image img,.core-card:hover .card-image img,.gallery-thumbs button:hover img,.gallery-open:hover img{transform:none}}

.hero-title-part{display:inline-block}

@media(max-width:1024px){.mega-intro{display:block}}
@media(max-width:430px){.form-grid{grid-template-columns:1fr}.equipment-card .card-body p{font-size:14px}}

@media(max-width:1024px){.primary-nav{max-height:var(--menu-height,calc(100dvh - 160px))}.menu-open .mobile-contact{visibility:hidden}}

.prose figure{margin:20px 0}.prose figure img{max-height:550px;object-fit:contain;background:white}.prose figcaption{font-size:12px;color:var(--muted);margin-top:10px}

/* User-selected aerial image spans the homepage hero beneath both columns. */
.hero-integrated.hero-aerial .hero-backdrop{background:none;opacity:1}
.hero-aerial .hero-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero-aerial .hero-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d2028b8 0%,#10263080 45%,#10263026 100%)}
.hero-integrated.hero-aerial .media-caption,.hero-integrated.hero-aerial .media-caption span:first-child{color:#edf3f5;border-color:#ffffff55}
@media(max-width:640px){.hero-aerial .hero-background-image{object-position:55% center}.hero-aerial .hero-backdrop::after{background:linear-gradient(180deg,#0d2028c7 0%,#102630a3 54%,#10263059 100%)}}

/* Homepage copy takes the foreground; the aerial view remains unobstructed. */
.hero-copy-only{--hero-motion-lift:56px;--hero-motion-duration:1700ms}
.hero-integrated.hero-copy-only .hero-grid{display:block;min-height:640px}
.hero-integrated.hero-copy-only .hero-copy{max-width:1000px;padding-block:76px 56px}
.hero-copy-only h1{font-size:clamp(48px,5.6vw,82px);max-width:1000px;line-height:1.06}
.hero-copy-only .hero-description{max-width:660px;font-size:18px}
.hero-copy-only .hero-note{max-width:660px}
@media(max-width:768px){.hero-copy-only{--hero-motion-lift:28px;--hero-motion-duration:1500ms}.hero-integrated.hero-copy-only .hero-grid{min-height:580px}.hero-integrated.hero-copy-only .hero-copy{padding-block:54px 44px}.hero-copy-only h1{font-size:clamp(40px,6.5vw,56px)}}
@media(max-width:430px){.hero-integrated.hero-copy-only .hero-copy{padding-block:46px 42px}.hero-copy-only h1{font-size:clamp(38px,10.8vw,46px)}.hero-copy-only .hero-description{font-size:16px}}

.hero-copy-only h1{text-shadow:0 2px 16px #07182055}.hero-copy-only .hero-description{color:#edf3f5;text-shadow:0 1px 5px #07182099}.hero-copy-only .hero-note{color:#d8e3e8}
