@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap");

:root {
  --navy: #07152a;
  --navy-soft: #0c1e36;
  --ink: #122033;
  --muted: #667085;
  --line: rgba(104, 209, 232, 0.15);
  --cyan: #4fc2df;
  --cyan-bright: #69d5eb;
  --paper: #f4f7f9;
  --white: #f7fafc;
  --container: 1120px;
  /* NOVA industrial editorial design tokens */
  --color-navy-950: #061426;
  --color-navy-900: #0a1d31;
  --color-ink: #122b3e;
  --color-copy: #5f7182;
  --color-copy-dark: #9eafbf;
  --color-surface: #f5f8fa;
  --color-surface-alt: #eaf1f4;
  --color-rule: rgba(31, 66, 88, .18);
  --color-rule-dark: rgba(164, 215, 227, .2);
  --type-hero: clamp(3.5rem, 5.2vw, 4.5rem);
  --type-product: clamp(3.5rem, 5.8vw, 5rem);
  --type-h2: clamp(2.5rem, 3.5vw, 3.25rem);
  --type-h3: clamp(1.625rem, 2.1vw, 2rem);
  --type-card: clamp(1.125rem, 1.35vw, 1.375rem);
  --type-lead: clamp(1.125rem, 1.3vw, 1.25rem);
  --type-body: clamp(.9375rem, 1vw, 1.0625rem);
  --type-secondary: clamp(.875rem, .92vw, .9375rem);
  --type-label: clamp(.75rem, .72vw, .8125rem);
  --type-note: .75rem;
  --leading-heading: 1.12;
  --leading-body: 1.72;
  --space-compact: clamp(4rem, 6vw, 5rem);
  --space-standard: clamp(6rem, 8vw, 7.5rem);
  --space-feature: clamp(7.5rem, 10vw, 9rem);
  --measure-copy: 42.5rem;
  --measure-narrow: 32.5rem;
  --radius-small: 2px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Noto Sans KR", sans-serif; font-weight: 400; letter-spacing: normal; font-synthesis: none; -webkit-font-smoothing: antialiased; }
body *, body *::before, body *::after { font-family: "Noto Sans KR", sans-serif !important; }
h1, h2, h3, strong, b { font-weight: 600; }
:where(h1, h2, h3) { min-width: 0; overflow-wrap: break-word; word-break: keep-all; text-wrap: balance; }
:where(.container, [class*="-grid"], [class*="-layout"], [class*="-heading"]) > * { min-width: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; background: white; transform: translateY(-140%); }
.skip-link:focus { transform: none; }

/* Homepage entry — logo image-sequence inspired reveal */
.home-entry { --entry-progress: 0; position: fixed; z-index: 1000; inset: 0; overflow: hidden; color: #f4fbfd; background: #06172a; pointer-events: none; }
.home-entry::before { content: ''; position: absolute; inset: 0; opacity: calc(.18 + var(--entry-progress) * .55); background: radial-gradient(circle at 50% 48%, rgba(70,196,225,.17), transparent 28%), linear-gradient(rgba(85,190,216,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(85,190,216,.045) 1px, transparent 1px); background-size: auto, 52px 52px, 52px 52px; }
.home-entry-stage { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; justify-items: center; width: min(82vw, 680px); transform: translate(-50%,-50%); text-align: center; }
.home-entry-logo { position: relative; width: clamp(145px, 18vw, 260px); aspect-ratio: 1; transform: scale(calc(.72 + var(--entry-progress) * .28)); filter: blur(calc((1 - var(--entry-progress)) * 9px)); opacity: min(1, calc(var(--entry-progress) * 2.2)); }
.home-entry-logo img, .home-entry-logo-ghost { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.home-entry-logo img { filter: brightness(0) invert(1); clip-path: inset(calc((1 - var(--entry-progress)) * 52%) 0 calc((1 - var(--entry-progress)) * 52%) 0); }
.home-entry-logo-ghost { border: 1px solid rgba(92,207,232,.24); transform: rotate(45deg) scale(calc(.42 + var(--entry-progress) * .42)); opacity: calc((1 - var(--entry-progress)) * .8); }
.home-entry-rings { position: absolute; inset: 50% auto auto 50%; width: clamp(250px, 42vw, 610px); aspect-ratio: 1; transform: translate(-50%,-50%) scale(calc(.6 + var(--entry-progress) * .4)); opacity: calc((1 - var(--entry-progress)) * .75); }
.home-entry-rings i { position: absolute; inset: 0; border: 1px solid rgba(83,202,228,.22); border-radius: 50%; }.home-entry-rings i:nth-child(2) { inset: 14%; }.home-entry-rings i:nth-child(3) { inset: 29%; }
.home-entry-stage p { margin: 1.8rem 0 .55rem; font-size: clamp(20px, 2.1vw, 34px); font-weight: 500; letter-spacing: .16em; transform: translateY(calc((1 - var(--entry-progress)) * 18px)); opacity: max(0, calc((var(--entry-progress) - .42) * 2.4)); }
.home-entry-stage > span,
.home-entry-status { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(10px, .75vw, 12px); letter-spacing: .18em; }
.home-entry-stage > span { color: #6bd4e8; opacity: max(0, calc((var(--entry-progress) - .55) * 2.8)); }
.home-entry-scan { position: absolute; z-index: 3; top: calc(var(--entry-progress) * 110% - 5%); right: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent 8%, rgba(95,211,235,.15), #6bd5e9 50%, rgba(95,211,235,.15), transparent 92%); box-shadow: 0 0 22px rgba(94,211,235,.36); opacity: calc((1 - var(--entry-progress)) * .85); }
.home-entry-status { position: absolute; z-index: 2; right: clamp(24px, 5vw, 80px); bottom: clamp(26px, 5vw, 64px); display: flex; align-items: center; gap: 13px; color: #7895a8; }
.home-entry-status i { width: clamp(46px, 7vw, 112px); height: 1px; background: linear-gradient(90deg, rgba(96,203,225,.15), #60cbe1); transform-origin: left; animation: home-entry-scan 1.15s ease-in-out infinite; }
.home-entry-status b { color: #60cbe1; font-weight: 500; }
.home-entry.is-revealing .home-entry-stage { opacity: 0; transform: translate(-50%, calc(-50% - 12px)); transition: opacity .3s ease, transform .3s ease; }
.home-entry.is-revealing .home-entry-status { opacity: 0; transform: translateY(-12px); transition: opacity .3s ease, transform .3s ease; }
.home-entry.is-revealing .home-entry-status { transform: translateY(-12px); }
.home-entry.is-complete { visibility: hidden; }
.home-entry-running .site-header,
.home-entry-running .hero-copy { opacity: 0; }
.home-entry-complete .site-header { animation: home-header-in .65s cubic-bezier(.2,.8,.2,1) both; }
.home-entry-complete .hero-copy { animation: home-copy-in .8s .08s cubic-bezier(.2,.8,.2,1) both; }
@keyframes home-entry-scan { 0%,100% { transform: scaleX(.25); opacity: .45; } 50% { transform: scaleX(1); opacity: 1; } }
@keyframes home-header-in { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: none; } }
@keyframes home-copy-in { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
  .home-entry-stage { top: 46%; }
  .home-entry-stage p { letter-spacing: .1em; }
  .home-entry-status { left: 24px; right: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .home-entry { display: none; }
  .home-entry-running .site-header,
  .home-entry-running .hero-copy { opacity: 1; }
}

.grid-surface {
  background-color: var(--navy);
  background-image:
    radial-gradient(ellipse at 91% 35%, rgba(79,194,223,.14), transparent 45%),
    repeating-radial-gradient(ellipse at 100% 38%, transparent 0 25px, rgba(105,213,235,.11) 26px 27px, transparent 28px 42px),
    linear-gradient(116deg, transparent 0 58%, rgba(105,213,235,.07) 58.1%, transparent 58.3%);
  background-size: auto, 100% 100%, 100% 100%;
  background-position: center, center, center;
}
.site-header { position: fixed; inset: 0 0 auto; z-index: 20; height: 98px; color: white; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(7,21,42,.78); backdrop-filter: blur(16px); transition: height .25s, background .25s; }
.site-header.scrolled { height: 80px; background: rgba(7,21,42,.95); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 15px; color: #9ba7b8; font-size: 17px; font-weight: 400; letter-spacing: .105em; }
.brand strong { color: var(--white); font-weight: 500; }
.brand-mark { display: block; flex: 0 0 44px; width: 44px; height: 44px; object-fit: contain; transform: scale(1.25); }
.site-nav { display: flex; align-items: center; gap: 42px; color: #a5afbe; font-size: 14px; font-weight: 400; letter-spacing: .075em; }
.site-nav a { transition: color .2s; }
.site-nav a:focus-visible, .menu-toggle:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
.site-nav a:hover { color: white; }
.site-nav a[aria-current="page"] { color: var(--cyan); }
.nav-dropdown { position: relative; align-self: stretch; display: flex; align-items: center; }
.dropdown-trigger { display: inline-flex; align-items: center; gap: 7px; }
.dropdown-trigger::after { content: ""; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.submenu { position: absolute; top: calc(100% - 1px); left: 50%; display: grid; min-width: 174px; padding: 10px; border: 1px solid rgba(255,255,255,.12); background: rgba(7,20,38,.98); box-shadow: 0 18px 45px rgba(0,0,0,.28); opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: opacity .2s, transform .2s, visibility .2s; }
.submenu a { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; color: #aab4c2; white-space: nowrap; }
.submenu a::after { content: "→"; color: var(--cyan); opacity: 0; transform: translateX(-5px); transition: .2s; }
.submenu a:hover, .submenu a[aria-current="page"] { color: white; background: rgba(79,194,223,.1); }
.submenu a:hover::after, .submenu a[aria-current="page"]::after { opacity: 1; transform: none; }
.nav-dropdown:hover .submenu, .nav-dropdown:focus-within .submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav-dropdown.menu-open .submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav-dropdown:hover .dropdown-trigger::after, .nav-dropdown:focus-within .dropdown-trigger::after { transform: translateY(2px) rotate(225deg); }
.nav-dropdown.menu-open .dropdown-trigger::after { transform: translateY(2px) rotate(225deg); }
.company-menu { grid-template-columns: 1fr; width: min(610px, calc(100vw - 48px)); padding: 22px; }
.company-overview { padding: 0 0 18px !important; border-bottom: 1px solid rgba(255,255,255,.14); color: white !important; background: transparent !important; }
.company-overview::after { display: none; }
.company-overview > span { display: grid; gap: 5px; font-size: 19px; }
.company-overview > span small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .1em; }
.company-overview > b { color: #8492a4; font-size: 10px; font-weight: 400; }
.nav-cta { padding: 13px 21px; color: white !important; border: 1px solid rgba(255,255,255,.3); }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px; background: white; }

.hero { min-height: 760px; color: var(--white); display: flex; align-items: center; overflow: hidden; }
.hero-inner { padding-top: 145px; padding-bottom: 54px; }
.hero-copy { max-width: 850px; }
.eyebrow { margin: 0 0 26px; color: var(--cyan); font-family: monospace; font-size: 14px; letter-spacing: .12em; }
h1 { margin: 0; font-size: clamp(45px, 6.1vw, 76px); line-height: 1.04; letter-spacing: .005em; font-weight: 500; }
.hero-description { margin: 28px 0 0; color: #98a4b7; font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; gap: 12px; margin-top: 38px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 50px; padding: 0 28px; font-weight: 500; letter-spacing: .045em; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #07152a; background: var(--cyan); }
.button-primary:hover { background: var(--cyan-bright); }
.button-secondary { color: white; border: 1px solid rgba(255,255,255,.28); }
.scroll-cue { display: inline-flex; align-items: center; gap: 9px; margin-top: 38px; color: #667185; font-family: monospace; font-size: 12px; letter-spacing: .08em; }
.scroll-cue span { width: 1px; height: 20px; background: linear-gradient(var(--cyan), transparent); }
.workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr) 24px) minmax(0, 1fr); align-items: stretch; gap: 14px; margin-top: 65px; }
.workflow-step { min-width: 0; min-height: 230px; display: grid; align-content: start; gap: 18px; padding: 17px; color: #aab8c7; border: 1px solid rgba(79,194,223,.22); background: rgba(7,21,42,.72); transition: border-color .25s, background .25s, transform .25s; }
.workflow-step:hover { border-color: rgba(105,213,235,.62); background: rgba(12,37,61,.88); transform: translateY(-4px); }
.step-top { display: flex; align-items: center; justify-content: space-between; }
.step-number, .workflow-step small, .workflow-step em { color: var(--cyan); font-family: monospace; letter-spacing: .08em; }
.step-number { font-size: 10px; }
.step-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(79,194,223,.34); border-radius: 4px; color: var(--cyan); font-size: 20px; background: rgba(10,27,47,.86); }
.workflow-step > div:last-child { display: grid; gap: 7px; }
.workflow-step small { font-size: 9px; }
.workflow-step strong { color: white; font-size: 16px; font-weight: 500; }
.workflow-step p { margin: 0; color: #8293a7; font-size: 11px; line-height: 1.6; }
.workflow-step em { margin-top: 5px; color: #6e8498; font-size: 9px; font-style: normal; }
.flow-arrow { align-self: center; color: #3f91a9; font-size: 20px; text-align: center; }

.section { padding: 128px 0; }
.section-heading { display: grid; grid-template-columns: 1fr 1.15fr; column-gap: 90px; align-items: start; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2, .solution-panel h2, .contact h2 { margin: 0; font-size: clamp(35px, 4vw, 55px); line-height: 1.16; letter-spacing: .005em; font-weight: 500; }
.section-heading > p:last-child { margin: 6px 0 0; color: var(--muted); line-height: 1.9; }
.solutions { padding-top: 0; }
.solution-panel { min-height: 480px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; padding: 70px; cursor: pointer; transition: transform .3s ease, box-shadow .3s ease; }
.solution-panel:hover { position: relative; z-index: 1; transform: translateY(-5px); box-shadow: 0 22px 55px rgba(4,14,26,.24); }
.solution-panel:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.solution-panel:hover .text-link span { transform: translate(3px, -3px); }
.text-link span { display: inline-block; transition: transform .2s ease; }
.solution-panel > div > p:not(.panel-index) { color: #a9b4c4; line-height: 1.8; max-width: 450px; }
.solution-panel h2 { color: white; }
.panel-index { color: var(--cyan); font-family: monospace; letter-spacing: .12em; }
.hvac { color: white; background: #243445; }
.edim { color: white; background: var(--navy); }
.text-link { display: inline-flex; gap: 12px; margin-top: 24px; color: var(--cyan); font-weight: 600; }
.air-visual { position: relative; height: 260px; border: 1px solid rgba(255,255,255,.12); background: repeating-linear-gradient(90deg, transparent 0 23px, rgba(255,255,255,.035) 24px); overflow: hidden; }
.air-visual i { position: absolute; left: -10%; width: 120%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); transform: rotate(-11deg); animation: airflow 3.8s infinite linear; }
.air-visual i:nth-child(2) { top: 30%; animation-delay: -.8s; }.air-visual i:nth-child(3) { top: 55%; animation-delay: -1.8s; }.air-visual i:nth-child(4) { top: 75%; animation-delay: -2.8s; }
@keyframes airflow { from { translate: -15% 40px; opacity: 0; } 40% { opacity: .9; } to { translate: 15% -40px; opacity: 0; } }
.data-visual { height: 270px; display: flex; align-items: flex-end; gap: 16px; padding: 36px; border: 1px solid rgba(79,194,223,.18); background-image: linear-gradient(rgba(79,194,223,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(79,194,223,.07) 1px,transparent 1px); background-size: 32px 32px; }
.data-visual span { flex: 1; height: 35%; border: 1px solid rgba(79,194,223,.6); background: rgba(79,194,223,.1); animation: bars 2.8s ease-in-out infinite alternate; }
.data-visual span:nth-child(2){height:62%;animation-delay:-.4s}.data-visual span:nth-child(3){height:48%;animation-delay:-1s}.data-visual span:nth-child(4){height:82%;animation-delay:-1.6s}.data-visual span:nth-child(5){height:68%;animation-delay:-2s}
@keyframes bars { to { filter: brightness(1.8); transform: scaleY(.88); transform-origin: bottom; } }

.strengths { color: white; }
.section-heading.light { display: block; }
.strength-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 64px; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.strength-card { min-height: 280px; padding: 32px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(7,20,38,.65); transition: background .25s, transform .25s; }
.strength-card:hover { background: rgba(22,57,78,.82); transform: translateY(-4px); }
.strength-card span { color: var(--cyan); font-family: monospace; }
.strength-card h3 { margin: 72px 0 15px; font-size: 20px; }
.strength-card p { margin: 0; color: #8794a7; line-height: 1.75; font-size: 14px; }
.industry-bar { padding: 36px 0; background: var(--cyan); color: #081a28; }
.industry-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.industry-inner > p { font-size: 20px; font-weight: 700; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.tags span { padding: 8px 12px; border: 1px solid rgba(7,20,38,.28); font-family: monospace; font-size: 12px; }
.contact { background: white; }
.contact-inner { display: flex; justify-content: space-between; align-items: end; gap: 40px; }

/* Home — full viewport swipe slider */
.home-slider-ready { overflow: hidden; background: #07152a; }
.home-slider-ready .home-swipe { position: relative; height: 100svh; overflow: hidden; }
.home-slider-ready .home-swipe > [data-home-slide] { position: absolute; inset: 0; min-height: 100svh; display: flex; align-items: center; overflow-y: auto; overscroll-behavior: contain; visibility: hidden; opacity: 0; transform: translateY(100%); will-change: transform, opacity; }
.home-slider-ready .home-swipe > [data-home-slide].is-home-active { visibility: visible; opacity: 1; transform: translateY(0); }
.home-slider-ready .home-swipe > [data-home-slide].is-home-before { transform: translateY(-100%); }
.home-slider-ready .home-swipe > [data-home-slide].is-home-after { transform: translateY(100%); }
.home-slider-ready .home-swipe > .hero { align-items: flex-start; scroll-behavior: smooth; }
.home-slider-ready .home-swipe > .hero .hero-inner { min-height: calc(100svh + 150px); padding-top: 150px; padding-bottom: 90px; }
.home-slider-ready .home-swipe > .intro .container,
.home-slider-ready .home-swipe > .strengths .container,
.home-slider-ready .home-swipe > .industry-bar .container,
.home-slider-ready .home-swipe > .contact .container { width: min(calc(100% - 48px), var(--container)); }
.home-slider-ready .home-swipe > .intro { color: #10283b; background: radial-gradient(circle at 85% 25%, rgba(65,184,210,.15), transparent 26%), #eef3f6; }
.home-slider-ready .home-swipe > .intro .section-heading { grid-template-columns: 1.25fr .75fr; }
.home-slider-ready .home-swipe > .intro .section-heading h2 { font-size: clamp(38px, 3.7vw, 52px); word-break: keep-all; }
.home-slider-ready .home-swipe > .solutions { padding-block: 128px 52px; background: #dfe8ed; }
.home-slider-ready .home-swipe > .solutions .container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.home-slider-ready .home-swipe > .solutions .solution-panel { min-height: min(68vh, 610px); padding: clamp(32px, 4vw, 58px); gap: 32px; }
.home-slider-ready .home-swipe > .strengths { padding-block: 132px 55px; }
.home-slider-ready .home-swipe > .industry-bar { color: white; background: radial-gradient(circle at 70% 35%, rgba(79,194,223,.22), transparent 30%), #0b2135; }
.home-slider-ready .home-swipe > .industry-bar .industry-inner { display: grid; gap: 60px; }
.home-slider-ready .home-swipe > .industry-bar .industry-inner > p { margin: 0; color: white; font-size: clamp(42px, 7vw, 92px); font-weight: 400; line-height: 1.05; }
.home-slider-ready .home-swipe > .industry-bar .tags { justify-content: flex-start; }
.home-slider-ready .home-swipe > .industry-bar .tags span { color: #b7c6d2; border-color: rgba(109,207,228,.3); }
.home-slider-ready .home-swipe > .contact { color: white; background: linear-gradient(135deg, rgba(16,53,76,.92), rgba(5,18,34,.98)), url('./assets/menu-company-building.png') center/cover; }
.home-slider-ready > .site-footer { display: none; }
.home-swipe-nav { position: fixed; z-index: 18; right: 28px; top: 50%; display: grid; gap: 10px; transform: translateY(-50%); }
.home-swipe-dot { position: relative; width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: rgba(137,164,183,.42); cursor: pointer; transition: background .25s, transform .25s; }
.home-swipe-dot::before { content: attr(aria-label); position: absolute; right: 22px; top: 50%; padding: 5px 8px; color: #dce9ef; background: rgba(5,20,36,.8); font: 10px monospace; white-space: nowrap; opacity: 0; transform: translateY(-50%) translateX(5px); transition: .2s; pointer-events: none; }
.home-swipe-dot:hover::before, .home-swipe-dot:focus-visible::before { opacity: 1; transform: translateY(-50%); }
.home-swipe-dot.is-active { background: #63cbe1; transform: scale(1.35); }
.home-swipe-counter { position: fixed; z-index: 18; right: 26px; bottom: 24px; color: #a9becb; font: 11px monospace; letter-spacing: .08em; }
.home-swipe-counter b { color: #64cce2; font-size: 18px; font-weight: 400; }
.home-swipe-hint { position: fixed; z-index: 18; left: 26px; bottom: 24px; color: rgba(200,219,229,.7); font: 10px monospace; letter-spacing: .1em; }

@media (max-width: 900px) {
  .home-slider-ready .home-swipe > .solutions { align-items: flex-start; padding-top: 104px; }
  .home-slider-ready .home-swipe > .solutions .container { grid-template-columns: 1fr; padding-bottom: 38px; }
  .home-slider-ready .home-swipe > .solutions .solution-panel { min-height: 520px; }
  .home-slider-ready .home-swipe > .strengths { align-items: flex-start; padding-top: 110px; }
  .home-swipe-nav { right: 12px; }
  .home-swipe-counter { right: 12px; bottom: 14px; }
  .home-swipe-hint { left: 14px; bottom: 14px; }
}
.contact .button { min-width: 200px; }
.site-footer { padding: 48px 0; color: #7d899b; background: #050f1e; }
.footer-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; }
.footer-inner > p { margin: 0; }
.copyright { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.home-slider-ready .home-swipe > [data-home-slide].is-home-active .reveal { opacity: 1; transform: none; }

.page-main { min-height: 70vh; padding-top: 98px; }
.page-hero { min-height: 410px; display: flex; align-items: end; padding: 100px 0 76px; color: white; }
.page-hero .eyebrow { margin-bottom: 18px; }
.page-hero h1 { max-width: 850px; }
.page-content { padding: 100px 0 130px; background: var(--paper); }
.content-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.content-grid h2 { margin: 0; font-size: clamp(30px, 3.5vw, 48px); line-height: 1.2; letter-spacing: .01em; font-weight: 500; }
.content-copy { color: var(--muted); line-height: 1.9; }
.content-copy p:first-child { margin-top: 0; }
.simple-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 46px; }
.simple-card { padding: 30px; border: 1px solid #dbe2e8; background: white; }
.simple-card small { color: #359bb6; font-family: monospace; }
.simple-card h3 { margin: 34px 0 12px; font-size: 21px; }
.simple-card p { margin: 0; color: var(--muted); line-height: 1.75; font-size: 14px; }
.contact-list { display: grid; gap: 14px; margin-top: 32px; }
.contact-list a, .contact-list p { margin: 0; padding: 20px 0; border-bottom: 1px solid #dbe2e8; }

.hvac-hero { padding: 120px 0 90px; color: white; }
.hvac-hero-grid { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 80px; }
.hvac-hero h1 { font-size: clamp(52px, 7vw, 92px); }
.hvac-hero-copy { padding-bottom: 8px; color: #a4afbf; line-height: 1.85; }
.product-index { position: sticky; top: 80px; z-index: 10; border-bottom: 1px solid #dce4e9; background: rgba(244,247,249,.94); backdrop-filter: blur(12px); }
.product-index .container { display: grid; grid-template-columns: repeat(4, 1fr); }
.product-index a { display: flex; gap: 12px; padding: 22px 18px; border-left: 1px solid #dce4e9; font-size: 13px; }
.product-index a:last-child { border-right: 1px solid #dce4e9; }
.product-index b { color: #35a8c5; font-family: monospace; }
.product-index a:hover { color: #1586a3; background: white; }
.product-section { padding: 120px 0; scroll-margin-top: 140px; background: #f4f7f9; }
.product-section + .product-section { border-top: 1px solid #dce4e9; }
.product-layout { display: grid; grid-template-columns: .62fr 1.38fr; gap: 100px; }
.product-title { position: sticky; top: 170px; align-self: start; }
.product-title > span { color: var(--cyan); font-family: monospace; font-size: 13px; }
.product-title p { margin: 38px 0 8px; color: #758194; font-family: monospace; letter-spacing: .08em; }
.product-title h2 { margin: 0; font-size: clamp(34px, 4vw, 52px); font-weight: 500; letter-spacing: .008em; }
.product-lead { margin: 0 0 58px; font-size: clamp(22px, 2.4vw, 31px); line-height: 1.55; letter-spacing: -.025em; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 36px; background: #dce4e9; border: 1px solid #dce4e9; }
.feature-grid article { min-height: 210px; padding: 30px; background: white; }
.feature-grid small { color: #309db9; font-family: monospace; }
.feature-grid h3 { margin: 42px 0 12px; }
.feature-grid p { margin: 0; color: #667085; line-height: 1.75; font-size: 14px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(79,194,223,.25); }
.metric-row div { display: grid; gap: 8px; padding: 30px 20px; border-right: 1px solid rgba(79,194,223,.25); }
.metric-row div:last-child { border: 0; }
.metric-row strong { color: var(--cyan); font-size: clamp(32px, 4vw, 48px); }
.metric-row span { color: #93a0b2; font-size: 13px; }
.application { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 34px 0 0; }
.application b { margin-right: 10px; font-size: 13px; }
.application span { padding: 8px 12px; border: 1px solid #ced8df; color: #667085; font-size: 12px; }
.product-dark { color: white; background: #0a1a2f; }
.product-dark .feature-grid { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.12); }
.product-dark .feature-grid article { background: #0e2136; }
.product-dark .feature-grid p { color: #93a0b2; }
.product-dark .application span { border-color: rgba(255,255,255,.2); color: #a8b2c1; }
.system-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; padding: 30px; color: #248fa9; background: #e8f3f5; }
.system-flow span { padding: 16px 8px; border: 1px solid rgba(36,143,169,.28); text-align: center; font-family: monospace; }
.system-flow i { font-style: normal; }
.product-cyan { background: #dff5f8; }
.product-cyan .feature-grid { background: rgba(7,20,38,.15); border-color: rgba(7,20,38,.15); }
.saving-callout { display: flex; align-items: center; gap: 32px; padding: 30px; color: white; background: #0a1a2f; }
.saving-callout strong { color: var(--cyan); font-size: clamp(44px, 6vw, 72px); line-height: 1; }
.saving-callout p { max-width: 280px; margin: 0; color: #a4afbf; line-height: 1.6; }
.product-control { color: white; background: #152b42; }
.product-control .feature-grid { grid-template-columns: repeat(3, 1fr); background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.12); }
.product-control .feature-grid article { background: #1b3044; }
.product-control .feature-grid p { color: #a4afbf; }
.product-control .application span { border-color: rgba(255,255,255,.2); color: #b5c0ce; }
.control-list { display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid rgba(79,194,223,.3); }
.control-list div { display: grid; gap: 14px; min-height: 115px; padding: 22px 14px; border-right: 1px solid rgba(79,194,223,.3); }
.control-list div:last-child { border: 0; }
.control-list b { color: var(--cyan); font-family: monospace; font-size: 12px; }
.control-list span { font-size: 13px; line-height: 1.5; }
.hvac-cta { padding: 110px 0; color: white; background: #07152a; }
.hvac-cta .container { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.hvac-cta h2 { margin: 0; font-size: clamp(36px, 4vw, 56px); letter-spacing: .01em; font-weight: 500; }

.family-hero { padding: 125px 0 80px; color: white; }
.family-hero-row { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 90px; }
.family-hero h1 { font-size: clamp(48px, 6.5vw, 82px); }
.family-hero-row > p { margin: 0 0 8px; color: #a5afbe; line-height: 1.85; }
.family-stat { display: flex; align-items: center; gap: 15px; margin-top: 70px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.15); }
.family-stat strong { color: var(--cyan); font-size: 30px; }
.family-stat span { color: #8794a6; font-family: monospace; font-size: 12px; letter-spacing: .06em; }
.family-stat i { width: 1px; height: 30px; margin: 0 16px; background: rgba(255,255,255,.18); }
.family-content { padding: 35px 0 120px; background: #eef3f6; }
.family-group { padding: 85px 0 20px; scroll-margin-top: 120px; }
.family-group + .family-group { margin-top: 45px; border-top: 1px solid #cedae1; }
.group-heading { display: grid; grid-template-columns: 80px 1fr 1fr; align-items: end; gap: 28px; margin-bottom: 36px; }
.group-heading > span { color: #36a9c6; font-family: monospace; }
.group-heading p { margin: 0; color: #748295; font-size: 13px; line-height: 1.7; }
.group-heading h2 { margin: 5px 0 0; font-size: clamp(32px, 4vw, 48px); letter-spacing: .02em; }
.category-link { display: inline-block; margin-top: 14px; color: #2499b5; font-family: monospace; font-size: 11px; }
.family-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.family-grid-three { grid-template-columns: repeat(3, 1fr); }
.family-card { position: relative; min-height: 310px; display: flex; flex-direction: column; padding: 22px 0 0; border: 0; color: var(--ink); background: transparent; transition: transform .25s; }
.family-group:nth-child(2) .family-card { border-top-color: #345f79; }
.family-group:nth-child(3) .family-card { border-top-color: #43bea3; }
.family-card:hover, .family-card:focus-visible { transform: translateY(-5px); }
.family-card:focus-visible { outline: 2px solid var(--cyan); outline-offset: 7px; }
.family-card > span { position: absolute; top: -8px; left: 0; z-index: 0; color: rgba(18,55,75,.2); font-family: monospace; font-size: clamp(92px, 9vw, 138px); font-weight: 500; line-height: .8; letter-spacing: -.04em; pointer-events: none; }
.family-card-visual { position: relative; min-height: 190px; display: grid; place-items: center; margin: 12px 0 18px; overflow: visible; background: transparent; }
.family-card-visual img { position: relative; z-index: 1; width: 94%; height: 190px; object-fit: contain; filter: grayscale(1) saturate(.25) drop-shadow(0 14px 12px rgba(7,28,51,.18)); opacity: .48; transition: transform .4s ease, filter .4s ease, opacity .4s ease; }
.family-card:hover .family-card-visual img, .family-card:focus-visible .family-card-visual img { filter: grayscale(0) saturate(1) drop-shadow(0 18px 16px rgba(7,28,51,.22)); opacity: 1; transform: scale(1.09) rotate(-2deg); }
.family-card-placeholder .family-card-visual { background: transparent; }
.edim-family-grid .family-card-placeholder .family-card-visual::after { content: ''; width: 72%; height: 58%; border: 1px solid rgba(18,55,75,.08); border-radius: 50%; background: radial-gradient(circle, rgba(18,55,75,.035), transparent 68%); opacity: .55; }
.family-card-placeholder .family-card-visual small { position: relative; z-index: 1; color: var(--cyan); font-family: monospace; letter-spacing: .12em; }
.model-lines { position: absolute; inset: 24px; border: 1px solid rgba(105,213,235,.4); background: repeating-linear-gradient(0deg, transparent 0 14px, rgba(105,213,235,.16) 15px 16px), repeating-linear-gradient(90deg, transparent 0 28px, rgba(105,213,235,.12) 29px 30px); transform: perspective(160px) rotateX(45deg); }
.family-card h3, .family-card p { position: relative; z-index: 2; }
.family-card h3 { margin: auto 0 12px; font-size: 19px; line-height: 1.45; }
.family-card p { margin: 0; color: #8490a0; font-family: monospace; font-size: 11px; }
.family-cta { padding: 105px 0; color: white; background: #07152a; }
.family-cta .container { display: grid; grid-template-columns: 1fr auto; align-items: end; }
.family-cta p { grid-column: 1 / -1; color: var(--cyan); font-family: monospace; letter-spacing: .08em; }
.family-cta h2 { margin: 10px 0 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.22; }
.edim-family .family-hero { background-color: #102532; }
.edim-module-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.module-card { min-height: 290px; display: flex; flex-direction: column; padding: 28px; border: 1px solid #aec6ce; background: #e2f0f1; }
.module-card > span { color: #22a8d0; font-family: monospace; }
.module-card > div { margin-top: auto; }
.module-card small { color: #708290; font-family: monospace; }
.module-card h3 { margin: 10px 0; color: #123047; font-size: 30px; }
.module-card p { margin: 0; line-height: 1.65; }
.module-card > b { align-self: end; margin-top: 25px; color: #24a9cf; font-size: 20px; }
.data-flow-note { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 15px; margin-top: 24px; padding: 20px 24px; color: #627586; background: white; font-family: monospace; font-size: 11px; text-align: center; }
.data-flow-note i { width: 28px; height: 1px; background: #45bad6; }

.company-hero { padding: 130px 0 74px; color: white; }
.company-hero h1 { max-width: 980px; font-size: clamp(48px, 6.5vw, 84px); }
.company-hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-top: 72px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.company-hero-bottom p { margin: 0; color: #a8b3c2; font-size: 18px; line-height: 1.65; }
.company-hero-bottom span { color: var(--cyan); font-family: monospace; font-size: 12px; letter-spacing: .08em; }
.company-card-index { padding: 110px 0 130px; background: #edf2f5; }
.company-card-heading { display: grid; grid-template-columns: .45fr 1fr .7fr; align-items: end; gap: 45px; margin-bottom: 58px; }
.company-card-heading .section-no { margin: 0 0 8px; }
.company-card-heading h2 { margin: 0; color: #10283b; font-size: clamp(40px, 5vw, 66px); font-weight: 400; line-height: 1.08; }
.company-card-heading > p:last-child { margin: 0 0 8px; color: #6f7e8e; line-height: 1.75; }
.company-flip-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 260px; gap: 14px; }
.company-flip-card { position: relative; grid-column: span 2; display: flex; flex-direction: column; padding: 25px; overflow: hidden; color: white; border: 0; border-radius: 18px; background: #10283c; text-align: left; cursor: pointer; isolation: isolate; transition: transform .28s ease, box-shadow .28s ease; }
.company-flip-card:nth-child(1), .company-flip-card:nth-child(4) { grid-column: span 3; }
.company-flip-card:nth-child(4), .company-flip-card:nth-child(5) { grid-row: span 1; }
.company-flip-card::before, .company-flip-card::after { content: ''; position: absolute; z-index: -1; inset: 0; transition: transform .55s ease, opacity .4s; }
.company-flip-card::after { opacity: .52; background: linear-gradient(145deg, rgba(7,21,42,.05), rgba(7,21,42,.92)); }
.company-card-about::before { background: url('./assets/menu-company-building.png') center/cover; }
.company-card-mission::before { background: radial-gradient(circle at 78% 24%, rgba(91,209,232,.48), transparent 23%), repeating-radial-gradient(circle at 78% 24%, transparent 0 25px, rgba(91,209,232,.16) 26px 27px), #0a2036; }
.company-card-history::before { background: linear-gradient(120deg, transparent 0 44%, rgba(91,209,232,.35) 45% 46%, transparent 47% 62%, rgba(91,209,232,.18) 63% 64%, transparent 65%), #10273b; }
.company-card-foundation::before { background: url('./assets/menu-technology-blueprint.png') center/cover; }
.company-card-location::before { background: linear-gradient(rgba(8,26,44,.38),rgba(8,26,44,.78)), radial-gradient(circle at 66% 40%, #60cde2 0 4px, transparent 5px), repeating-linear-gradient(35deg,transparent 0 28px,rgba(109,204,224,.18) 29px 30px), #163449; }
.company-flip-card:hover, .company-flip-card:focus-visible { transform: translateY(-7px); box-shadow: 0 22px 42px rgba(8,30,48,.2); }
.company-flip-card:hover::before { transform: scale(1.06); }
.company-flip-card:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.company-flip-card > span { color: #74d3e7; font-family: monospace; font-size: 11px; letter-spacing: .09em; }
.company-flip-card > div { margin: auto 0; }
.company-flip-card small { color: #99abba; font-family: monospace; font-size: 11px; }
.company-flip-card h3 { margin: 12px 0 0; font-size: clamp(22px, 2.2vw, 31px); font-weight: 400; line-height: 1.32; }
.company-flip-card > b { align-self: flex-end; display: flex; align-items: center; gap: 8px; color: #a9bdc9; font-family: monospace; font-size: 10px; font-weight: 400; }
.company-flip-card i { color: var(--cyan); font-size: 15px; font-style: normal; }
.company-modal-ready [data-company-panel] { position: fixed; z-index: 60; inset: 92px 20px 20px; display: none; padding: clamp(40px, 7vh, 80px) 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border-radius: 20px; box-shadow: 0 28px 90px rgba(1,12,24,.42); }
.company-modal-ready [data-company-panel].is-company-open { display: block; }
.company-modal-ready [data-company-panel] > .container { padding-block: clamp(18px, 3vh, 34px) clamp(28px, 5vh, 70px); }
.company-modal-ready .company-about.is-company-open { color: white; background: radial-gradient(circle at 82% 18%, rgba(76,190,215,.17), transparent 30%), linear-gradient(rgba(7,23,42,.93),rgba(7,23,42,.98)), url('./assets/menu-company-building.png') center/cover; }
.company-modal-ready .company-about.is-company-open h2 { color: #f5fbfd; }
.company-modal-ready .company-about.is-company-open .company-copy .lead { color: #eef7fa; }
.company-modal-ready .company-about.is-company-open .company-copy p { color: #b7c7d2; }
.company-modal-ready .company-about.is-company-open .section-no { color: #62cee5; }
.company-panel-close { position: sticky; z-index: 900; top: 0; float: right; display: grid; place-items: center; width: 52px; height: 52px; margin: -48px 26px 0 0; color: white; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(7,22,39,.8); backdrop-filter: blur(12px); cursor: pointer; }
.company-history .company-panel-close, .company-location .company-panel-close { color: #10283b; border-color: rgba(16,40,59,.2); background: rgba(255,255,255,.84); }
.company-modal-backdrop { position: fixed; z-index: 50; inset: 0; border: 0; background: rgba(2,13,27,.72); opacity: 0; visibility: hidden; backdrop-filter: blur(7px); transition: opacity .25s, visibility .25s; }
.company-modal-backdrop.is-visible { opacity: 1; visibility: visible; }
body.company-panel-open { overflow: hidden; }
@media (min-width: 981px) and (max-height: 900px) {
  .company-modal-ready [data-company-panel] { padding-block: clamp(26px, 4vh, 40px); }
  .company-modal-ready [data-company-panel] > .container { padding-block: 12px clamp(20px, 3vh, 32px); }
  .company-modal-ready [data-company-panel] :where(h2) { font-size: clamp(38px, 3.7vw, 56px); }
  .company-modal-ready .identity-flow { margin-top: clamp(24px, 4vh, 40px); padding-block: 22px; }
}
.company-index { position: sticky; top: 80px; z-index: 9; border-bottom: 1px solid #d5e0e6; background: rgba(244,247,249,.95); backdrop-filter: blur(12px); }
.company-index .container { display: grid; grid-template-columns: repeat(5, 1fr); }
.company-index a { padding: 19px 12px; border-left: 1px solid #d5e0e6; color: #637183; font-size: 11px; text-align: center; }
.company-index a:last-child { border-right: 1px solid #d5e0e6; }
.company-index a:hover { color: #137f9a; background: white; }
.company-section { padding: 120px 0; scroll-margin-top: 145px; }
.company-section:nth-of-type(even) { background: #f4f7f9; }
.company-split, .heritage-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(48px, 6vw, 100px); }
.section-no { margin: 0 0 28px; color: #32a8c5; font-family: monospace; font-size: 12px; letter-spacing: .08em; }
.company-section h2 { margin: 0; font-size: clamp(36px, 4.2vw, 56px); line-height: 1.2; letter-spacing: .005em; }
.company-copy .lead, .heritage-grid .lead { margin-top: 0; color: #142b3d; font-size: 23px; line-height: 1.65; }
.company-copy p, .heritage-grid > div:last-child > p { color: #697789; line-height: 1.9; }
.identity-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; margin-top: clamp(36px, 7vh, 85px); padding: clamp(24px, 3vh, 34px); color: white; background: #0a1b31; }
.identity-flow div { display: grid; gap: 8px; }
.identity-flow small { color: var(--cyan); font-family: monospace; }
.identity-flow strong { font-size: 21px; letter-spacing: .045em; }
.identity-flow span { color: #8491a3; font-size: 12px; }
.identity-flow i { color: var(--cyan); font-style: normal; }
.identity-flow i::after { content: "→"; }
.company-mission { color: white; background: #0b1a2d !important; }
.section-label { display: grid; grid-template-columns: .65fr 1.35fr; align-items: start; }
.section-label .section-no { margin-top: 10px; }
.mission-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.mission-grid article { min-height: 310px; padding: 32px; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.mission-grid span, .history-list span { color: var(--cyan); font-family: monospace; font-size: 11px; letter-spacing: .08em; }
.mission-grid h3 { margin: 85px 0 16px; font-size: 20px; }
.mission-grid p { margin: 0; color: #8f9cae; font-size: 14px; line-height: 1.8; }
.company-history { background: #e9eff2 !important; }
.history-list { border-top: 1px solid #bdcbd3; }
.history-list article { padding: 28px 0; border-bottom: 1px solid #bdcbd3; }
.history-list h3 { margin: 12px 0 10px; font-size: 20px; }
.history-list p { margin: 0; color: #6a7889; line-height: 1.75; }
.company-foundation { color: white; background: #10293e !important; }
.company-foundation h2 { color: white; }
.company-foundation .lead { color: white; }
.company-foundation p { color: #9aa7b8 !important; }
.transfer-flow { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; margin: 44px 0 28px; }
.transfer-flow > span { display: grid; gap: 10px; padding: 25px; border: 1px solid rgba(79,194,223,.32); color: white; letter-spacing: .08em; }
.transfer-flow small { color: #8998a9; font-size: 10px; letter-spacing: 0; }
.transfer-flow i { color: var(--cyan); font-style: normal; }
.heritage-notice { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); font-size: 12px; }
.company-location { background: white !important; }
.company-modal-ready .company-location.is-company-open { display: grid; grid-template-rows: minmax(0, 1fr); }
.company-modal-ready .company-location.is-company-open > .container { display: grid; grid-template-rows: auto minmax(360px, 1fr); height: 100%; min-height: 0; padding-block: 0; }
.company-location .company-panel-close { position: absolute; top: 24px; right: 26px; float: none; margin: 0; }
.location-map-wrap { position: relative; height: auto; min-height: 360px; margin-top: clamp(24px, 4vh, 42px); overflow: hidden; border-radius: 22px; background: #0a1b31; box-shadow: 0 28px 60px rgba(10,31,48,.16); }
.location-map { position: absolute; inset: 0; background: #dce6e9; }
.location-map::after { content: ''; position: absolute; z-index: 500; inset: 0; background: linear-gradient(90deg, rgba(5,19,35,.7), transparent 48%), linear-gradient(0deg, rgba(5,19,35,.16), transparent 45%); pointer-events: none; }
.location-map .leaflet-tile-pane { filter: saturate(.45) contrast(.9) brightness(.92) hue-rotate(155deg); }
.location-map .leaflet-control-attribution { font-size: 9px; }
.location-map-card { position: absolute; z-index: 700; left: 34px; bottom: 34px; width: min(390px, calc(100% - 68px)); padding: 30px; color: white; border: 1px solid rgba(117,211,232,.24); border-radius: 16px; background: rgba(7,25,45,.82); box-shadow: 0 18px 48px rgba(0,0,0,.24); backdrop-filter: blur(16px); }
.location-map-card span { color: var(--cyan); font-family: monospace; font-size: 12px; letter-spacing: .1em; }
.location-map-card h3 { margin: 34px 0 12px; font-size: 29px; font-weight: 400; }
.location-map-card p { margin: 0; color: #d5e0e7; font-size: 15px; line-height: 1.7; }
.location-map-card small { display: block; margin-top: 9px; color: #7f94a5; font-family: monospace; font-size: 10px; }
.location-map-card a { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding-bottom: 7px; color: #6bd2e8; border-bottom: 1px solid rgba(107,210,232,.42); font-family: monospace; font-size: 12px; }
.location-map-card b { font-weight: 400; transition: transform .2s; }
.location-map-card a:hover b { transform: translate(3px,-3px); }
.nova-map-pin { background: transparent; border: 0; }
.nova-map-pin-core { position: relative; width: 54px; height: 54px; display: grid; place-items: center; color: #07152a; border: 3px solid white; border-radius: 50% 50% 50% 12%; background: #57cbe3; box-shadow: 0 10px 28px rgba(4,24,42,.36), 0 0 0 9px rgba(87,203,227,.17); transform: rotate(-45deg) scale(var(--pin-scale,1)); transition: transform .12s ease-out, box-shadow .12s ease-out; }
.nova-map-pin-core::before { content: 'N'; font-size: 19px; font-weight: 600; transform: rotate(45deg); }
.nova-map-pin-core::after { content: ''; position: absolute; inset: -18px; border: 1px solid rgba(87,203,227,.52); border-radius: 50%; animation: map-pulse 2.2s infinite; }
.map-proximity-grid { position: absolute; z-index: 650; inset: 0; pointer-events: none; }
.map-proximity-dot { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: rgba(102,211,233,.5); transform: translate(-50%,-50%) scale(var(--dot-scale,1)); transition: transform .1s linear, opacity .1s linear; }
@keyframes map-pulse { 0% { transform: scale(.55); opacity: .9; } 100% { transform: scale(1.45); opacity: 0; } }
.location-panel { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-top: 65px; padding: 45px; color: white; background: #0a1b31; }
.location-panel span { color: var(--cyan); font-family: monospace; font-size: 11px; }
.location-panel h3 { margin: 28px 0 10px; font-size: 27px; }
.location-panel p { margin: 0; color: #8f9daf; }

.technology-hero { padding: 130px 0 78px; color: white; }
.technology-hero h1 { font-size: clamp(52px, 7vw, 90px); }
.technology-definition { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; margin-top: 72px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.15); }
.technology-definition > div { display: grid; grid-template-columns: auto 1fr; gap: 7px 20px; }
.technology-definition small { grid-row: 1 / 3; align-self: center; color: var(--cyan); font-family: monospace; font-size: 10px; }
.technology-definition strong { font-size: 16px; }
.technology-definition span { color: #8593a6; font-size: 12px; }
.technology-definition i { color: var(--cyan); font-style: normal; }
.technology-index { position: sticky; top: 80px; z-index: 9; border-bottom: 1px solid #d5e0e6; background: rgba(244,247,249,.95); backdrop-filter: blur(12px); }
.technology-index .container { display: grid; grid-template-columns: repeat(5, 1fr); }
.technology-index a { padding: 19px 11px; border-left: 1px solid #d5e0e6; color: #637183; font-size: 10px; line-height: 1.4; text-align: center; }
.technology-index a:last-child { border-right: 1px solid #d5e0e6; }
.technology-index a:hover { color: #16849f; background: white; }
.technology-intro { padding: 115px 0; background: #f4f7f9; }
.tech-intro-grid { display: grid; grid-template-columns: .55fr 1.2fr .75fr; gap: 55px; align-items: start; }
.tech-intro-grid h2 { margin: 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.22; }
.tech-intro-grid > p:last-child { margin: 3px 0 0; color: #687789; line-height: 1.85; }
.technology-stack { padding: 35px 0 115px; background: #eaf0f3; }
.tech-row { display: grid; grid-template-columns: .48fr 1fr 1fr; gap: 52px; align-items: center; min-height: 235px; padding: 45px 0; border-bottom: 1px solid #c4d1d8; scroll-margin-top: 145px; }
.tech-row:first-child { border-top: 1px solid #c4d1d8; }
.tech-meta { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
.tech-meta > span { color: #2ba9c8; font-family: monospace; }
.status { align-self: flex-start; padding: 7px 10px; border: 1px solid; border-radius: 20px; font-family: monospace; font-size: 9px; font-style: normal; letter-spacing: .06em; }
.status-core { color: #1388a5; border-color: #51b8cf; background: #d9f1f5; }
.status-dev { color: #826820; border-color: #c8ae65; background: #f4edd7; }
.status-architecture { color: #5668a3; border-color: #93a0cb; background: #e7eaf5; }
.tech-row > div:nth-child(2) > p { margin: 0 0 15px; color: #6c7d8e; font-family: monospace; font-size: 12px; }
.tech-row h2 { margin: 0; font-size: clamp(26px, 3vw, 39px); line-height: 1.3; }
.tech-row > p { margin: 0; color: #667688; line-height: 1.85; }
.development-map { padding: 115px 0; color: white; }
.maturity-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 25px; margin-top: 65px; }
.maturity-flow div { min-height: 180px; display: flex; flex-direction: column; padding: 27px; border: 1px solid rgba(79,194,223,.25); background: rgba(8,24,42,.75); }
.maturity-flow small { color: var(--cyan); font-family: monospace; font-size: 9px; }
.maturity-flow strong { margin: auto 0 16px; line-height: 1.5; }
.maturity-flow span { color: #8392a5; font-family: monospace; font-size: 10px; }
.maturity-flow i { color: var(--cyan); font-style: normal; }
.development-note { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #78879a; font-size: 11px; }
.technology-cta { padding: 105px 0; color: white; background: #10293e; }
.technology-cta .container { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.technology-cta h2 { margin: 0; font-size: clamp(35px, 4vw, 54px); line-height: 1.22; }

.contact-hero { padding: 125px 0 85px; color: white; }
.contact-hero .container { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 80px; }
.contact-hero .eyebrow { grid-column: 1 / -1; }
.contact-hero h1 { font-size: clamp(52px, 7vw, 88px); }
.contact-hero-side > p { margin: 0 0 28px; color: #97a4b6; line-height: 1.85; }
.direct-email { display: grid; gap: 8px; padding: 20px 22px; border: 1px solid rgba(79,194,223,.32); background: rgba(79,194,223,.055); transition: border-color .2s, background .2s, transform .2s; }
.direct-email:hover { transform: translateY(-3px); border-color: var(--cyan); background: rgba(79,194,223,.1); }
.direct-email small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .09em; }
.direct-email strong { color: white; font-size: 14px; font-weight: 400; letter-spacing: .025em; word-break: break-all; }
.direct-email span { margin-top: 4px; color: #8291a4; font-size: 10px; }
.inquiry-section { padding: 105px 0 130px; background: #eef3f6; }
.inquiry-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.inquiry-form fieldset + fieldset { margin-top: 85px; padding-top: 70px; border-top: 1px solid #cdd9df; }
.inquiry-form legend { width: 100%; margin-bottom: 30px; color: #142a3c; font-size: 21px; letter-spacing: .045em; }
.inquiry-form legend span { margin-right: 15px; color: #2aa8c7; font-family: monospace; font-size: 12px; }
.inquiry-form legend b, .contact-fields label > span b, .inquiry-detail label > span b, .form-footer b { color: #2aa8c7; }
.inquiry-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.inquiry-types legend { grid-column: 1 / -1; }
.inquiry-type-card { position: relative; min-height: 220px; display: flex; justify-content: space-between; padding: 28px; border: 1px solid #ccd9e0; background: white; cursor: pointer; transition: transform .2s, border-color .2s, background .2s; }
.inquiry-type-card:hover { transform: translateY(-4px); border-color: #68bfd2; }
.inquiry-type-card input { position: absolute; opacity: 0; }
.inquiry-type-card > span { display: flex; flex-direction: column; align-items: start; }
.inquiry-type-card small { color: #2aa8c7; font-family: monospace; font-size: 10px; }
.inquiry-type-card strong { margin: auto 0 13px; color: #10283b; font-size: 24px; }
.inquiry-type-card em { color: #6f7e90; font-size: 13px; font-style: normal; line-height: 1.65; }
.inquiry-type-card > i { color: #2aa8c7; font-style: normal; }
.inquiry-type-card:has(input:checked) { border-color: var(--cyan); background: #0b1d30; box-shadow: inset 0 0 0 1px var(--cyan); }
.inquiry-type-card:has(input:checked) strong { color: white; }
.inquiry-type-card:has(input:checked) em { color: #9ba8b8; }
.inquiry-type-card:has(input:focus-visible) { outline: 3px solid rgba(79,194,223,.35); outline-offset: 3px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 42px; }
.contact-fields legend, .inquiry-detail legend { grid-column: 1 / -1; }
.contact-fields label, .inquiry-detail label { display: grid; gap: 11px; }
.contact-fields label > span, .inquiry-detail label > span { color: #425366; font-size: 12px; }
.contact-fields input, .inquiry-detail select, .inquiry-detail textarea { width: 100%; border: 0; border-bottom: 1px solid #aebdc7; border-radius: 0; padding: 13px 2px; color: #122a3d; background: transparent; font: inherit; font-size: 15px; outline: none; }
.contact-fields input:focus, .inquiry-detail select:focus, .inquiry-detail textarea:focus { border-color: #24a9c9; box-shadow: 0 1px 0 #24a9c9; }
.inquiry-detail { display: grid; grid-template-columns: .65fr 1.35fr; gap: 42px; }
.message-field { grid-column: 1 / -1; margin-top: 15px; }
.inquiry-detail textarea { min-height: 170px; resize: vertical; border: 1px solid #aebdc7; padding: 18px; background: white; line-height: 1.7; }
.inquiry-detail select:disabled { color: #96a2af; cursor: not-allowed; }
.form-footer { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-top: 55px; padding-top: 30px; border-top: 1px solid #cdd9df; }
.form-footer p { margin: 0; color: #778596; font-size: 11px; line-height: 1.7; }
.form-footer .button { min-width: 210px; border: 0; cursor: pointer; }
.form-message { margin: 25px 0 0; padding: 18px 22px; border-left: 3px solid var(--cyan); color: #d7e3eb; background: #10283b; font-size: 13px; }

.resources-hero { padding: 130px 0 82px; color: white; }
.resources-hero-grid { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 85px; }
.resources-hero h1 { font-size: clamp(50px, 7vw, 88px); }
.resources-hero-grid > p { margin: 0 0 8px; color: #95a2b4; line-height: 1.85; }
.resource-library { padding: 110px 0 130px; background: #eef3f6; }
.library-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 55px; }
.library-heading h2 { margin: 0; font-size: clamp(42px, 5vw, 66px); }
.library-heading > p { margin: 0; color: #728092; line-height: 1.75; }
.resource-list { border-top: 1px solid #bfcdd5; }
.resource-item { display: grid; grid-template-columns: 50px 72px 1fr auto 90px; align-items: center; gap: 25px; min-height: 145px; padding: 22px 12px; border-bottom: 1px solid #bfcdd5; transition: padding .25s, background .25s; }
.resource-item { scroll-margin-top: 130px; }
.resource-item:hover { padding-inline: 24px; background: white; }
.resource-number { align-self: start; margin-top: 8px; color: #2ba8c7; font-family: monospace; font-size: 11px; }
.resource-icon { display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid #a9c4ce; color: #269ebc; font-family: monospace; font-size: 23px; }
.resource-item small { color: #718092; font-family: monospace; font-size: 9px; letter-spacing: .1em; }
.resource-item h3 { margin: 9px 0 7px; color: #142c3f; font-size: 22px; }
.resource-item p { margin: 0; color: #718092; font-size: 13px; }
.resource-item em { padding: 7px 11px; border: 1px solid #bdcbd3; border-radius: 20px; color: #748293; font-family: monospace; font-size: 9px; font-style: normal; white-space: nowrap; }
.resource-item > a, .resource-disabled { color: #258eaa; font-family: monospace; font-size: 10px; text-align: right; }
.resource-disabled { color: #9aa5af; cursor: not-allowed; }
.resource-news { opacity: .8; }
.resource-contact { padding: 105px 0; color: white; background: #0b1b2e; }
.resource-contact .container { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 90px; }
.resource-contact h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.22; }
.resource-contact .container > div:last-child > p { margin: 0 0 28px; color: #93a0b2; line-height: 1.8; }

.category-hero { padding: 105px 0 78px; color: white; }
.category-breadcrumb { display: flex; gap: 10px; margin-bottom: 65px; color: #77869a; font-family: monospace; font-size: 10px; }
.category-breadcrumb a:hover { color: var(--cyan); }
.category-breadcrumb b { color: #bdc6d2; font-weight: 400; }
.category-hero h1 { font-size: clamp(52px, 7vw, 88px); }
.category-hero > .container > p:last-child { max-width: 610px; margin: 30px 0 0; color: #9aa7b8; font-size: 17px; line-height: 1.8; }
.category-switcher { position: sticky; top: 80px; z-index: 9; border-bottom: 1px solid #cfdae1; background: rgba(244,247,249,.95); backdrop-filter: blur(12px); }
.category-switcher .container { display: grid; grid-template-columns: repeat(3, 1fr); }
.category-switcher a { padding: 20px; border-left: 1px solid #cfdae1; color: #637285; font-size: 12px; text-align: center; }
.category-switcher a:last-child { border-right: 1px solid #cfdae1; }
.category-switcher a:hover, .category-switcher a[aria-current="page"] { color: #137f9a; background: white; }
.category-products { min-height: 650px; padding: 105px 0 130px; background: #edf3f6; }
.category-heading { display: grid; grid-template-columns: .7fr 1.1fr .8fr; align-items: end; gap: 50px; margin-bottom: 55px; }
.category-heading h2 { margin: 0; font-size: clamp(36px, 4vw, 52px); }
.category-heading > p:last-child { margin: 0; color: #728194; font-size: 13px; line-height: 1.75; }
.category-product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.category-product-grid-three { grid-template-columns: repeat(3, 1fr); }
.category-product { min-height: 250px; display: grid; grid-template-columns: 48px 1fr; padding: 30px; border: 1px solid #cedae1; background: white; scroll-margin-top: 150px; transition: transform .25s, border-color .25s, box-shadow .25s; }
.category-product:hover { transform: translateY(-5px); border-color: #78bbcb; box-shadow: 0 18px 40px rgba(16,42,59,.08); }
.category-product > span { color: #2ba9c8; font-family: monospace; font-size: 11px; }
.category-product > div { align-self: end; }
.category-product small { color: #7a899b; font-family: monospace; font-size: 9px; letter-spacing: .09em; }
.category-product h3 { margin: 12px 0; color: #132c3f; font-size: 24px; }
.category-product p { margin: 0; color: #8290a1; font-size: 11px; }
.category-product em { grid-column: 2; align-self: end; justify-self: start; margin-top: 25px; padding-top: 14px; border-top: 1px solid #dce4e9; color: #328da5; font-family: monospace; font-size: 9px; font-style: normal; }
.air-category .category-hero { background-color: #0d2235; }
.control-category .category-hero { background-color: #102d36; }

.eurus-intro { padding: 120px 0; scroll-margin-top: 205px; background: #f4f7f9; overflow: hidden; }
.eurus-intro-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.eurus-copy h2 { margin: 0; color: #10283b; font-size: clamp(52px, 6vw, 82px); line-height: .98; }
.eurus-lead { margin: 38px 0 20px; color: #193449 !important; font-size: 22px; line-height: 1.65 !important; }
.eurus-copy > p:not(.section-no):not(.eurus-lead) { color: #69798b; line-height: 1.85; }
.eurus-visual { position: relative; min-height: 590px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.eurus-visual::before { content: "01"; position: absolute; right: 0; bottom: 15px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.eurus-visual img { position: relative; z-index: 2; width: min(88%, 650px); height: auto; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(7,28,51,.2)); transform: rotate(-3deg); transition: transform .45s ease; }
.eurus-visual:hover img { transform: rotate(0) scale(1.025); }
.product-orbit { position: absolute; width: 72%; aspect-ratio: 1; border: 1px solid rgba(39,165,198,.22); border-radius: 50%; }
.product-orbit::before, .product-orbit::after { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(39,165,198,.15); border-radius: 50%; }
.product-orbit::after { inset: 29%; }
.eurus-visual figcaption { position: absolute; z-index: 3; inset: auto 8px 20px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.eurus-visual figcaption b { color: #157f9b; font-weight: 500; }
.eurus-performance { padding: 115px 0; color: white; background: #0a192c; }
.performance-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 80px; }
.performance-heading h2 { margin: 0; font-size: clamp(36px, 4.5vw, 58px); line-height: 1.2; }
.performance-heading > p { margin: 0 0 8px; color: #8e9cae; line-height: 1.8; }
.performance-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; border-top: 1px solid rgba(79,194,223,.3); border-left: 1px solid rgba(79,194,223,.3); }
.performance-grid article { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(79,194,223,.3); border-bottom: 1px solid rgba(79,194,223,.3); }
.performance-grid small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.performance-grid strong { margin: auto 0 22px; color: white; font-size: clamp(42px, 5vw, 68px); letter-spacing: -.02em; }
.performance-grid sup { color: var(--cyan); font-size: .35em; vertical-align: super; }
.performance-grid p { margin: 0; color: #8d9bad; font-size: 13px; }
.performance-note { margin: 26px 0 0; color: #68778a; font-size: 10px; line-height: 1.7; }
.eurus-concept { padding: 115px 0; color: white; }
.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; border-top: 1px solid rgba(255,255,255,.14); }
.concept-grid article { min-height: 260px; padding: 30px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.concept-grid article:first-child { border-left: 1px solid rgba(255,255,255,.14); }
.concept-grid span { color: var(--cyan); font-family: monospace; font-size: 10px; }
.concept-grid h3 { margin: 75px 0 15px; font-size: 20px; }
.concept-grid p { margin: 0; color: #8d9bad; font-size: 13px; line-height: 1.8; }
.expert-note { display: grid; grid-template-columns: .4fr 1.6fr; gap: 35px; margin-top: 28px; padding: 26px 30px; border-left: 2px solid var(--cyan); background: rgba(79,194,223,.06); }
.expert-note small { color: var(--cyan); font-family: monospace; }
.expert-note p { margin: 0; color: #99a6b7; line-height: 1.75; }
.partial-intro { padding: 120px 0; scroll-margin-top: 205px; background: #eef4f6; overflow: hidden; }
.partial-intro-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.partial-copy h2 { margin: 0; color: #10283b; font-size: clamp(52px, 6vw, 82px); line-height: .98; }
.partial-acclaim { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.partial-acclaim span { min-width: 155px; display: grid; gap: 5px; padding: 12px 15px; border: 1px solid rgba(39,165,198,.28); background: rgba(255,255,255,.48); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 12px 28px rgba(30,72,94,.06); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.partial-acclaim small { color: #319bb5; font-family: monospace; font-size: 8px; letter-spacing: .12em; }
.partial-acclaim b { color: #153348; font-size: 13px; font-weight: 500; }
.partial-acclaim + .partial-lead { margin-top: 24px; }
.partial-lead { margin: 38px 0 20px; color: #193449 !important; font-size: 22px; line-height: 1.65 !important; }
.partial-copy > p:not(.section-no):not(.partial-lead) { color: #69798b; line-height: 1.85; }
.partial-visual { position: relative; min-height: 610px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.partial-visual::after { content: "02"; position: absolute; right: 0; bottom: 15px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.partial-rings { position: absolute; z-index: -1; width: 72%; aspect-ratio: 1; border: 1px solid rgba(39,165,198,.24); border-radius: 50%; }
.partial-rings::before, .partial-rings::after { content: ""; position: absolute; inset: 16%; border: 1px solid rgba(39,165,198,.17); border-radius: 50%; }
.partial-rings::after { inset: 34%; }
.partial-visual img { width: min(88%, 650px); height: auto; object-fit: contain; filter: drop-shadow(0 32px 24px rgba(7,28,51,.18)); transition: transform .45s ease; }
.partial-visual:hover img { transform: translateY(-8px) rotate(1deg); }
.partial-visual figcaption { position: absolute; inset: auto 8px 20px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.partial-visual figcaption b { color: #157f9b; font-weight: 500; }
.partial-value { padding: 115px 0; color: white; background: #0b2036; }
.partial-heading { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: 80px; }
.partial-heading h2 { margin: 0; font-size: clamp(36px, 4.5vw, 58px); line-height: 1.2; }
.partial-heading > p { margin: 0 0 8px; color: #8e9cae; line-height: 1.8; }
.partial-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 65px; }
.partial-metrics article { min-height: 320px; display: flex; flex-direction: column; padding: 30px; border: 1px solid rgba(163,219,232,.2); background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 24px 50px rgba(0,0,0,.16); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.partial-metrics small, .partial-config-grid span, .partial-benefits small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.partial-metrics strong { margin: 45px 0 auto; font-size: clamp(42px, 5vw, 68px); font-weight: 400; }
.partial-metrics sup { color: var(--cyan); font-size: .3em; text-transform: uppercase; }
.partial-metrics h3 { margin: 0 0 10px; font-size: 18px; }
.partial-metrics p { margin: 0; color: #8d9bad; font-size: 12px; line-height: 1.7; }
.partial-config { padding: 115px 0; color: white; }
.partial-config-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 65px; }
.partial-config-grid article { position: relative; min-height: 430px; padding: 36px; border: 1px solid rgba(174,222,233,.22); background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 30px 60px rgba(0,0,0,.17); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); overflow: hidden; }
.partial-config-grid article::after { content: ""; position: absolute; width: 230px; aspect-ratio: 1; right: -100px; top: -110px; border: 1px solid rgba(79,194,223,.13); border-radius: 50%; box-shadow: 0 0 0 36px rgba(79,194,223,.025), 0 0 0 72px rgba(79,194,223,.02); }
.partial-config-grid h3 { margin: 58px 0 18px; font-size: 27px; line-height: 1.38; }
.partial-config-grid p { max-width: 520px; margin: 0; color: #8d9bad; font-size: 13px; line-height: 1.8; }
.partial-model-label { display: grid; gap: 8px; color: var(--cyan); }
.partial-model-label b { font-size: clamp(16px, 1.2vw, 19px); font-weight: 500; letter-spacing: .035em; text-transform: none; }
.partial-model-label small { color: #7f9dad; font-family: monospace; font-size: 10px; letter-spacing: .1em; }
.partial-first-badge { position: relative; z-index: 1; display: inline-grid; gap: 4px; margin-bottom: 34px; padding: 12px 15px; border-left: 2px solid var(--cyan); background: rgba(79,194,223,.08); }
.partial-first-badge small { color: #79cde1; font-family: monospace; font-size: 8px; letter-spacing: .12em; }
.partial-first-badge strong { font-size: 18px; font-weight: 500; }
.partial-acclaim small,
.partial-model-label small,
.partial-first-badge small,
.partial-benefits small { font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.partial-benefits { display: grid; grid-template-columns: .42fr 1.58fr; gap: 35px; margin-top: 28px; padding: 30px; border-left: 2px solid var(--cyan); background: rgba(79,194,223,.06); }
.partial-benefits ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 36px; margin: 0; padding: 0; list-style: none; color: #a8b4c2; }
.partial-benefits li { position: relative; padding-left: 17px; line-height: 1.7; }
.partial-benefits li::before { content: "+"; position: absolute; left: 0; color: var(--cyan); }
.partial-note { margin: 24px 0 0; color: #68778a; font-size: 10px; line-height: 1.7; }
.ventilation-product-preview { padding: 90px 0; scroll-margin-top: 205px; border-bottom: 1px solid #cedae1; background: #edf3f6; }
.preview-layout { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 90px; }
.preview-layout > div:first-child > span { color: #2aa5c4; font-family: monospace; }
.preview-layout > div:first-child > p { margin: 25px 0 8px; color: #758497; font-family: monospace; font-size: 10px; }
.preview-layout h2 { margin: 0; font-size: clamp(34px, 4vw, 52px); }
.preview-layout > div:last-child > p { color: #708093; line-height: 1.8; }
.preview-layout em { display: inline-block; margin-top: 15px; padding: 7px 11px; border: 1px solid #b7c7d0; border-radius: 20px; color: #798797; font-family: monospace; font-size: 9px; font-style: normal; }
.pullout-intro { padding: 120px 0; scroll-margin-top: 205px; background: #e9f1f4; overflow: hidden; }
.pullout-intro-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.pullout-copy h2 { margin: 0; color: #10283b; font-size: clamp(52px, 6vw, 82px); line-height: .98; }
.pullout-lead { margin: 38px 0 20px; color: #193449 !important; font-size: 22px; line-height: 1.65 !important; }
.pullout-copy > p:not(.section-no):not(.pullout-lead) { color: #69798b; line-height: 1.85; }
.pullout-visual { position: relative; min-height: 610px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.pullout-visual::after { content: "03"; position: absolute; right: 0; bottom: 15px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.pullout-orbit { position: absolute; z-index: -1; width: 72%; aspect-ratio: 1; border: 1px solid rgba(39,165,198,.24); border-radius: 50%; }
.pullout-orbit::before, .pullout-orbit::after { content: ""; position: absolute; inset: 16%; border: 1px solid rgba(39,165,198,.17); border-radius: 50%; }
.pullout-orbit::after { inset: 34%; }
.pullout-visual img { position: relative; z-index: 1; width: min(88%, 650px); height: auto; object-fit: contain; filter: drop-shadow(0 32px 24px rgba(7,28,51,.18)); transition: transform .45s ease; }
.pullout-visual:hover img { transform: translateY(-8px) rotate(1deg); }
.pullout-visual figcaption { position: absolute; z-index: 2; inset: auto 8px 20px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.pullout-visual figcaption b { color: #157f9b; font-weight: 500; }
.pullout-value { padding: 115px 0; color: white; background: #10293e; }
.pullout-heading { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: 80px; }
.pullout-heading h2 { margin: 0; font-size: clamp(36px, 4.5vw, 58px); line-height: 1.2; }
.pullout-heading > p { margin: 0 0 8px; color: #8e9cae; line-height: 1.8; }
.pullout-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; border-top: 1px solid rgba(79,194,223,.3); border-left: 1px solid rgba(79,194,223,.3); }
.pullout-metrics article { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(79,194,223,.3); border-bottom: 1px solid rgba(79,194,223,.3); }
.pullout-metrics small, .pullout-maintenance-grid span, .pullout-benefits small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.pullout-metrics strong { margin: 45px 0 auto; font-size: clamp(36px, 4.4vw, 60px); font-weight: 400; white-space: nowrap; }
.pullout-metrics sup { color: var(--cyan); font-size: .3em; text-transform: uppercase; }
.pullout-metrics h3 { margin: 0 0 10px; font-size: 18px; }
.pullout-metrics p { margin: 0; color: #8d9bad; font-size: 12px; line-height: 1.7; }
.pullout-note { margin: 24px 0 0; color: #8796a8; font-size: 10px; line-height: 1.7; }
.pullout-maintenance { padding: 115px 0; color: white; }
.pullout-maintenance-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.pullout-maintenance-grid article { min-height: 310px; display: flex; flex-direction: column; padding: 30px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.pullout-maintenance-grid h3 { margin: 72px 0 15px; font-size: 21px; line-height: 1.35; }
.pullout-maintenance-grid p { margin: 0; color: #8f9cad; font-size: 13px; line-height: 1.8; }
.pullout-benefits { display: grid; grid-template-columns: .42fr 1.58fr; gap: 35px; margin-top: 28px; padding: 30px; border-left: 2px solid var(--cyan); background: rgba(79,194,223,.06); }
.pullout-benefits ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 36px; margin: 0; padding: 0; list-style: none; color: #a8b4c2; }
.pullout-benefits li { position: relative; padding-left: 17px; line-height: 1.7; }
.pullout-benefits li::before { content: "+"; position: absolute; left: 0; color: var(--cyan); }

.group-heading p, .content-copy, .category-heading > p:last-child, .category-product p,
.feature-grid p, .metric-row span, .control-list span, .family-card p, .module-card p,
.company-copy p, .history-list p, .identity-flow span, .mission-grid p, .transfer-flow small,
.technology-definition span, .tech-row > div:nth-child(2) > p, .development-note,
.resource-item p, .product-title > span, .performance-grid p, .partial-metrics p,
.pullout-metrics p, .pullout-maintenance-grid p, .fan-detail p {
  font-weight: 500;
}
.group-heading p, .category-heading > p:last-child, .category-product p, .feature-grid p,
.metric-row span, .control-list span, .identity-flow span, .technology-definition span,
.resource-item p, .performance-grid p, .partial-metrics p, .pullout-metrics p,
.pullout-maintenance-grid p { font-size: 14px; }
.family-card p, .transfer-flow small, .product-title > span, .fan-detail dt { font-size: 13px; }
.section-no, .category-link, .resource-number, .product-local-nav a, .category-breadcrumb { font-size: 12px; }
.status, .resource-item em, .resource-item > a, .resource-disabled { font-size: 11px; }
.workflow-step p { font-size: 13px; font-weight: 500; }
.workflow-step em { font-size: 11px; font-weight: 500; }
.workflow-step small { font-size: 10px; font-weight: 500; }
.fan-lineup-intro { padding: 120px 0; scroll-margin-top: 205px; background: #e9f1f4; }
.fan-lineup-intro-grid { display: grid; grid-template-columns: 1fr .82fr; align-items: end; gap: 90px; }
.fan-lineup-intro h2 { margin: 0; color: #10283b; font-size: clamp(54px, 7vw, 92px); line-height: .96; }
.fan-lineup-lead { margin: 38px 0 18px; color: #193449; font-size: 22px; line-height: 1.65; }
.fan-lineup-intro-grid > div:first-child > p:last-child { color: #69798b; line-height: 1.85; }
.fan-lineup-index { border-top: 1px solid #b9cad3; }
.fan-lineup-index span { display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 25px; padding: 24px 4px; border-bottom: 1px solid #b9cad3; }
.fan-lineup-index b { color: #159fbe; font-size: 19px; font-weight: 500; letter-spacing: .1em; }
.fan-lineup-index small { color: #607487; font-size: 11px; letter-spacing: .04em; }
.fan-model-showcase { padding: 120px 0; color: white; overflow: hidden; }
.fan-model-heading { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: 80px; }
.fan-model-heading h2 { margin: 0; font-size: clamp(36px, 4.5vw, 58px); line-height: 1.2; }
.fan-model-heading > p { margin: 0 0 8px; color: #99a9ba; line-height: 1.8; }
.fan-carousel { margin-top: 64px; }
.fan-carousel-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.fan-carousel-toolbar p { margin: 0; color: #77899c; font-family: monospace; font-size: 10px; letter-spacing: .12em; }
.fan-carousel-toolbar p span { color: var(--cyan); }
.fan-carousel-toolbar div { display: flex; gap: 8px; }
.fan-carousel-toolbar button { width: 46px; height: 46px; border: 1px solid rgba(158,210,224,.28); color: white; background: rgba(255,255,255,.05); cursor: pointer; transition: border-color .25s, background .25s; }
.fan-carousel-toolbar button:hover, .fan-carousel-toolbar button:focus-visible { border-color: var(--cyan); background: rgba(79,194,223,.14); }
.fan-model-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 24px; padding: 34px 0 42px; }
.fan-model-card { position: relative; min-width: 0; display: grid; grid-template-rows: 38px 360px auto auto; padding: 20px; border: 0; color: white; text-align: left; background: transparent; cursor: pointer; opacity: .42; filter: grayscale(1) saturate(.25); transform: scale(.88); transition: opacity .45s ease, filter .45s ease, transform .45s ease; }
.fan-model-card::after { content: ""; position: absolute; inset: auto 20px 0; height: 1px; background: rgba(131,188,204,.24); }
.fan-model-card > span { color: var(--cyan); font-family: monospace; font-size: 10px; letter-spacing: .14em; }
.fan-model-card img { align-self: end; width: 100%; height: 340px; object-fit: contain; filter: drop-shadow(0 28px 26px rgba(0,0,0,.28)); pointer-events: none; }
.fan-model-card strong { margin-top: 18px; font-size: 18px; font-weight: 400; letter-spacing: .02em; }
.fan-model-card small { margin-top: 8px; color: #75889b; font-family: monospace; font-size: 9px; letter-spacing: .1em; }
.fan-model-card.is-active { z-index: 2; opacity: 1; filter: none; transform: scale(1.06); }
.fan-model-card.is-active::after { background: var(--cyan); }
.fan-model-card:focus-visible { outline: 1px solid var(--cyan); outline-offset: 4px; }
.fan-detail-stack { position: relative; margin-top: 34px; }
.fan-detail { display: grid; grid-template-columns: 1fr .88fr; gap: 70px; padding: 48px; border: 1px solid rgba(187,224,233,.25); background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.045)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 28px 60px rgba(0,0,0,.18); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.fan-detail[hidden] { display: none; }
.fan-detail small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .11em; }
.fan-detail h3 { margin: 28px 0 20px; font-size: clamp(27px, 3vw, 40px); line-height: 1.3; }
.fan-detail p { max-width: 600px; margin: 0; color: #a8b5c3; font-size: 14px; line-height: 1.85; }
.fan-detail dl { margin: 0; border-top: 1px solid rgba(255,255,255,.18); }
.fan-detail dl div { display: grid; grid-template-columns: .72fr 1.28fr; gap: 20px; padding: 15px 2px; border-bottom: 1px solid rgba(255,255,255,.13); }
.fan-detail dt { color: #8295a8; font-size: 11px; }
.fan-detail dd { margin: 0; font-size: 12px; }
.fan-model-note { margin: 24px 0 0; color: #718295; font-size: 10px; line-height: 1.7; }
.family-card-models { grid-template-columns: repeat(3, 1fr); gap: 0; }
.family-card-models img { width: 125%; height: 160px; margin-inline: -12%; object-fit: contain; }
.family-card-models img:nth-child(2) { z-index: 2; width: 135%; height: 185px; margin-inline: -18%; }
.family-card:hover .family-card-models img:nth-child(1) { transform: translateX(-4px) scale(1.04); }
.family-card:hover .family-card-models img:nth-child(2) { transform: translateY(-5px) scale(1.1); }
.family-card:hover .family-card-models img:nth-child(3) { transform: translateX(4px) scale(1.04); }

/* Air System detail */
.air-system-detail { display: flex; flex-direction: column; }
.air-system-detail .category-hero { order: 1; background-color: #0d2235; }
.air-system-detail > .air-ahu-intro { order: 3; }
.air-system-detail > .air-foundation { order: 4; }
.air-system-detail > .air-capabilities { order: 5; }
.air-system-detail > .air-control { order: 6; }
.air-system-detail > .bio-hvac-intro { order: 7; }
.air-system-detail > .bio-hvac-value { order: 8; }
.air-system-detail > .ief-intro { order: 9; }
.air-system-detail > .ief-performance { order: 10; }
.air-system-detail > .iaqs-intro { order: 11; }
.air-system-detail > .iaqs-performance { order: 12; }
.air-system-detail > .iaqs-architecture { order: 13; }
.air-system-detail > .iaqs-telemetry { order: 14; }
.air-system-detail > .air-other { order: 15; }
.air-system-detail > .family-cta { order: 16; }
.air-ahu-intro { padding: 120px 0; scroll-margin-top: 205px; overflow: hidden; background: #f4f7f9; }
.air-ahu-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 65px; }
.air-ahu-copy h2 { margin: 22px 0 35px; color: #10283b; font-size: clamp(54px, 6.5vw, 88px); line-height: .94; }
.air-ahu-copy h2 span { color: #159fbe; font-size: .42em; }
.air-ahu-copy > p { color: #6b7c8d; line-height: 1.85; }
.air-ahu-copy .air-ahu-lead { color: #1c374a; font-size: 20px; line-height: 1.6; }
.air-ahu-visual { position: relative; min-height: 570px; margin: 0; }
.air-ahu-visual::before { content: "05"; position: absolute; right: 0; bottom: 18px; z-index: 0; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.air-orbit { position: absolute; inset: 4% 4% 10% 13%; border: 1px solid rgba(20,158,190,.22); border-radius: 50%; }
.air-orbit::before { content: ''; position: absolute; inset: 12%; border: 1px solid rgba(20,158,190,.15); border-radius: 50%; }
.ahu-main-image { position: absolute; z-index: 1; inset: 5% 0 auto 0; width: 94%; height: 75%; object-fit: contain; mix-blend-mode: multiply; }
.ahu-compact-image { position: absolute; z-index: 2; right: -1%; bottom: 6%; width: 28%; height: 48%; object-fit: contain; filter: drop-shadow(0 28px 25px rgba(10,33,51,.2)); }
.air-ahu-visual figcaption { position: absolute; z-index: 3; right: 0; bottom: 0; display: grid; max-width: 440px; gap: 7px; padding-left: 18px; border-left: 2px solid #22a9c9; }
.air-ahu-visual figcaption b { color: #173449; font-size: 11px; letter-spacing: .11em; }
.air-ahu-visual figcaption span { color: #718293; font-size: 10px; line-height: 1.6; }
.air-foundation { padding: 115px 0; color: white; background-color: #0b1e30; }
.air-section-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 80px; margin-bottom: 64px; }
.air-section-heading h2 { margin: 20px 0 0; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.08; }
.air-section-heading > p { color: #8392a3; line-height: 1.8; }
.air-foundation-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.air-foundation-grid article { min-height: 290px; padding: 28px 25px; border-left: 1px solid rgba(255,255,255,.16); }
.air-foundation-grid article:last-child { border-right: 1px solid rgba(255,255,255,.16); }
.air-foundation-grid span { color: #4fc2df; font-family: monospace; }
.air-foundation-grid small { display: block; margin-top: 48px; color: #72879a; letter-spacing: .1em; }
.air-foundation-grid h3 { margin: 14px 0; font-size: 22px; }
.air-foundation-grid p { color: #8f9dad; font-size: 13px; line-height: 1.75; }
.air-capabilities { padding: 120px 0; background: #eaf1f4; }
.air-capabilities .air-section-heading h2, .air-other .air-section-heading h2 { color: #10283b; }
.capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.capability-grid article { min-height: 290px; padding: 38px; border: 1px solid rgba(125,160,174,.32); background: rgba(255,255,255,.58); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 24px 55px rgba(26,64,83,.07); backdrop-filter: blur(16px); }
.capability-grid span, .control-glass-grid span { color: #169fbe; font-family: monospace; font-size: 11px; letter-spacing: .08em; }
.capability-grid h3 { margin: 72px 0 16px; color: #132d40; font-size: 28px; }
.capability-grid p { color: #657889; line-height: 1.8; }
.capability-grid small { display: block; margin-top: 22px; color: #35849a; }
.air-control { padding: 125px 0; color: white; background-color: #07182a; }
.air-control { border-bottom: 6px solid #39b9d7; }
.control-hero { max-width: 880px; }
.control-hero h2 { margin: 22px 0 32px; font-size: clamp(54px, 6.6vw, 94px); line-height: .96; }
.control-hero h2 span { color: #4fc2df; }
.control-hero > p:last-child { max-width: 680px; color: #95a4b5; font-size: 17px; line-height: 1.8; }
.control-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; margin: 75px 0 35px; border: 1px solid rgba(95,195,218,.28); background: rgba(27,58,78,.38); backdrop-filter: blur(15px); }
.control-flow div { display: grid; min-height: 145px; align-content: center; gap: 9px; padding: 24px; }
.control-flow small { color: #4fc2df; font-family: monospace; }
.control-flow b { font-size: 19px; letter-spacing: .08em; }
.control-flow span { color: #8295a7; font-size: 12px; }
.control-flow i { color: #4fc2df; font-style: normal; }
.control-glass-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.control-glass-grid article { min-height: 230px; padding: 36px; border: 1px solid rgba(187,224,233,.19); background: linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 28px 60px rgba(0,0,0,.17); backdrop-filter: blur(18px); }
.control-glass-grid h3 { margin: 55px 0 14px; font-size: 25px; }
.control-glass-grid p { color: #94a5b5; line-height: 1.8; }
.control-note { margin-top: 24px; color: #63778b; font-size: 11px; line-height: 1.75; }
.air-other { padding: 110px 0; background: #f4f7f9; }
.air-other-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #bdccd4; }
.air-other-grid article { min-height: 220px; padding: 32px 26px; border-bottom: 1px solid #bdccd4; border-left: 1px solid #bdccd4; }
.air-other-grid article:last-child { border-right: 1px solid #bdccd4; }
.air-other-grid small { color: #179fbe; font-family: monospace; }
.air-other-grid h3 { margin: 65px 0 10px; color: #142e41; font-size: 25px; }
.air-other-grid p { color: #718193; }
.bio-hvac-intro { padding: 120px 0; scroll-margin-top: 205px; overflow: hidden; background: #e8f1f3; }
.bio-hvac-grid { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 60px; }
.bio-hvac-copy h2 { margin: 22px 0 34px; color: #10283b; font-size: clamp(54px, 6.2vw, 86px); line-height: .94; }
.bio-hvac-copy h2 span { color: #159fbe; font-size: .42em; }
.bio-hvac-copy > p { color: #687a8b; line-height: 1.85; }
.bio-hvac-copy .bio-hvac-lead { color: #193649; font-size: 20px; line-height: 1.65; }
.bio-hvac-visual { position: relative; min-height: 550px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.bio-hvac-visual::before { content: "06"; position: absolute; right: 0; bottom: 20px; z-index: -1; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.bio-air-lines { position: absolute; inset: 5% 7% 15%; z-index: -1; border: 1px solid rgba(29,158,188,.18); border-radius: 50%; box-shadow: 0 0 0 54px rgba(29,158,188,.025); }
.bio-hvac-visual img { position: relative; z-index: 1; width: min(100%, 780px); height: auto; object-fit: contain; filter: drop-shadow(0 30px 24px rgba(9,35,50,.17)); transition: transform .45s ease; }
.bio-hvac-visual:hover img { transform: translateY(-7px) scale(1.01); }
.bio-hvac-visual figcaption { position: absolute; z-index: 2; inset: auto 5px 12px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .07em; }
.bio-hvac-visual figcaption b { color: #157f9b; font-weight: 500; }
.bio-hvac-value { padding: 118px 0; color: white; background-color: #0b2031; }
.bio-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(188,226,234,.2); }
.bio-value-grid article { min-height: 305px; padding: 30px 25px; border-right: 1px solid rgba(188,226,234,.17); border-bottom: 1px solid rgba(188,226,234,.17); }
.bio-value-grid article:first-child { border-left: 1px solid rgba(188,226,234,.17); }
.bio-value-grid span { color: #4fc2df; font-family: monospace; font-size: 11px; }
.bio-value-grid h3 { margin: 75px 0 16px; font-size: 22px; line-height: 1.35; }
.bio-value-grid p { color: #91a1b1; font-size: 13px; line-height: 1.8; }
.bio-application { display: grid; grid-template-columns: .42fr 1fr; gap: 35px; margin-top: 28px; padding: 25px 28px; border: 1px solid rgba(188,226,234,.18); background: rgba(255,255,255,.035); }
.bio-application small { color: #4fc2df; font-family: monospace; letter-spacing: .08em; }
.bio-application p { margin: 0; color: #a0afbd; }
.bio-note { margin-top: 22px; color: #687d90; font-size: 11px; line-height: 1.75; }
.air-other-grid-two { grid-template-columns: repeat(2, 1fr); }
.air-other-grid-one { grid-template-columns: 1fr; }
.ief-intro { padding: 120px 0; scroll-margin-top: 205px; overflow: hidden; background: #f3f6f7; }
.ief-intro-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 70px; }
.ief-copy h2 { margin: 22px 0 34px; color: #10283b; font-size: clamp(60px, 7vw, 98px); line-height: .9; }
.ief-copy h2 span { color: #b48a35; font-size: .35em; }
.ief-copy > p { color: #697b8c; line-height: 1.85; }
.ief-copy .ief-lead { color: #193649; font-size: 20px; line-height: 1.65; }
.ief-visual { position: relative; min-height: 600px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.ief-visual::before { content: "07"; position: absolute; right: 0; bottom: 20px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.ief-field { position: absolute; inset: 7% 12%; z-index: -1; border: 1px solid rgba(180,138,53,.2); border-radius: 50%; box-shadow: 0 0 0 52px rgba(180,138,53,.025); }
.ief-visual img { position: relative; z-index: 1; width: min(75%, 550px); height: auto; object-fit: contain; filter: drop-shadow(0 34px 27px rgba(22,27,30,.2)); transition: transform .45s ease; }
.ief-visual:hover img { transform: translateY(-8px) rotate(.5deg); }
.ief-visual figcaption { position: absolute; z-index: 2; inset: auto 5px 20px; display: flex; justify-content: space-between; color: #72828d; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.ief-visual figcaption b { color: #987329; font-weight: 500; }
.ief-performance { padding: 118px 0; color: white; background-color: #101d28; }
.ief-metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
.ief-metrics article { min-height: 250px; padding: 34px; border: 1px solid rgba(222,202,150,.2); border-right: 0; background: rgba(255,255,255,.025); }
.ief-metrics article:last-child { border-right: 1px solid rgba(222,202,150,.2); }
.ief-metrics small, .ief-proof-grid span { color: #d0a954; font-family: monospace; font-size: 11px; letter-spacing: .08em; }
.ief-metrics strong { display: block; margin: 55px 0 12px; font-size: clamp(48px, 5vw, 72px); font-weight: 400; }
.ief-metrics sup { color: #d0a954; font-size: .35em; }
.ief-metrics p, .ief-proof-grid p { color: #91a0ad; font-size: 13px; line-height: 1.75; }
.ief-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
.ief-proof-grid article { min-height: 200px; padding: 30px; border: 1px solid rgba(255,255,255,.13); background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); backdrop-filter: blur(16px); }
.ief-proof-grid h3 { margin: 48px 0 12px; font-size: 20px; }
.ief-applications { display: grid; grid-template-columns: .25fr 1fr; gap: 30px; margin-top: 18px; padding: 24px 28px; border: 1px solid rgba(222,202,150,.18); }
.ief-applications small { color: #d0a954; font-family: monospace; }
.ief-applications p { margin: 0; color: #a3adb7; }
.ief-note { margin-top: 20px; color: #687887; font-size: 10px; line-height: 1.7; }
.iaqs-intro { padding: 120px 0; scroll-margin-top: 205px; overflow: hidden; background: #eaf2f4; }
.iaqs-intro-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.iaqs-copy h2 { margin: 22px 0 34px; color: #10283b; font-size: clamp(54px, 6.3vw, 88px); line-height: .94; }
.iaqs-copy h2 span { color: #159fbe; font-size: .36em; }
.iaqs-copy > p { color: #687b8c; line-height: 1.85; }
.iaqs-copy .iaqs-lead { color: #193649; font-size: 20px; line-height: 1.65; }
.iaqs-visual { position: relative; min-height: 560px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.iaqs-visual::before { content: "08"; position: absolute; right: 0; bottom: 20px; z-index: -2; color: rgba(18,55,75,.05); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.iaqs-field { position: absolute; inset: 8% 9% 13%; z-index: -1; border: 1px solid rgba(28,160,190,.2); border-radius: 50%; box-shadow: 0 0 0 48px rgba(28,160,190,.025), 0 0 0 96px rgba(28,160,190,.018); }
.iaqs-visual img { position: relative; z-index: 1; width: min(82%, 590px); height: auto; object-fit: contain; filter: drop-shadow(0 30px 25px rgba(9,35,50,.18)); transition: transform .45s ease; }
.iaqs-visual:hover img { transform: translateY(-8px) scale(1.02); }
.iaqs-visual figcaption { position: absolute; z-index: 2; inset: auto 5px 15px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 10px; letter-spacing: .07em; }
.iaqs-visual figcaption b { color: #159fbe; font-weight: 500; }
.iaqs-performance { padding: 118px 0; color: white; background: #0b2031; }
.iaqs-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(79,194,223,.3); border-left: 1px solid rgba(79,194,223,.3); }
.iaqs-metrics article { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(79,194,223,.3); border-bottom: 1px solid rgba(79,194,223,.3); }
.iaqs-metrics small, .iaqs-arch-card .arch-tag, .iaqs-tele-card small, .iaqs-dash-header, .iaqs-interlock-box { color: var(--cyan); font-family: monospace; font-size: 11px; letter-spacing: .07em; }
.iaqs-metrics strong { margin: 48px 0 auto; color: white; font-size: clamp(32px, 3.5vw, 52px); font-weight: 400; }
.iaqs-metrics h3 { margin: 0 0 12px; font-size: 19px; }
.iaqs-metrics p { margin: 0; color: #91a2b1; font-size: 13px; line-height: 1.8; }
.iaqs-architecture { padding: 118px 0; background: #eaf1f4; }
.iaqs-arch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.iaqs-arch-card { overflow: hidden; border: 1px solid #bfd1d8; background: rgba(255,255,255,.68); box-shadow: 0 24px 50px rgba(26,64,83,.06); }
.iaqs-arch-visual { position: relative; min-height: 310px; display: grid; place-items: center; padding: 25px; background: #e2eef1; }
.iaqs-arch-visual img { width: 82%; height: 280px; object-fit: contain; filter: drop-shadow(0 18px 16px rgba(15,44,57,.14)); }
.arch-badge { position: absolute; top: 18px; left: 20px; color: #159fbe; font-family: monospace; font-size: 10px; letter-spacing: .1em; }
.iaqs-arch-body { padding: 30px; }
.iaqs-arch-card .arch-tag { color: #159fbe; }
.iaqs-arch-body h3 { margin: 16px 0 12px; color: #132c3f; font-size: 24px; }
.iaqs-arch-body > p { margin: 0 0 22px; color: #667a8a; line-height: 1.75; }
.iaqs-arch-body ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: #657889; font-size: 13px; line-height: 1.7; }
.iaqs-arch-body li { padding-left: 16px; border-left: 2px solid #49b9d1; }
.iaqs-arch-body li strong { color: #17384c; }
.iaqs-telemetry { padding: 118px 0; color: white; }
.iaqs-dash-window { border: 1px solid rgba(105,213,235,.3); background: rgba(5,20,35,.72); box-shadow: 0 30px 70px rgba(0,0,0,.2); }
.iaqs-dash-header { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 20px; padding: 18px 22px; border-bottom: 1px solid rgba(105,213,235,.18); }
.dash-status { display: flex; align-items: center; gap: 9px; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #55d5a1; box-shadow: 0 0 14px #55d5a1; }
.dash-machine { color: #7f96a8; text-align: center; }
.iaqs-status-badge { padding: 7px 10px; border: 1px solid rgba(85,213,161,.35); color: #65d8a8; font-size: 10px; }
.iaqs-dash-body { padding: 24px; }
.iaqs-telemetry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.iaqs-tele-card { min-height: 150px; padding: 20px; border: 1px solid rgba(105,213,235,.15); background: rgba(255,255,255,.035); }
.iaqs-tele-card small { display: block; color: #67c9df; font-size: 10px; }
.tele-val { margin: 25px 0 16px; color: white; }
.tele-val strong { font-size: 30px; font-weight: 400; }
.tele-val span { color: #8298a9; font-size: 12px; }
.tele-bar { height: 4px; background: rgba(255,255,255,.1); }
.bar-fill { height: 100%; background: var(--cyan); }
.bar-fill.green { background: #55d5a1; }
.iaqs-tele-card p, .tele-sub { margin: 12px 0 0; color: #8196a7; font-size: 11px; line-height: 1.6; }
.iaqs-tele-card p b { color: #65d8a8; font-weight: 500; }
.iaqs-interlock-box { margin-top: 18px; padding: 20px; border: 1px solid rgba(105,213,235,.2); background: rgba(79,194,223,.045); }
.interlock-header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid rgba(105,213,235,.15); }
.interlock-header small { color: #8298a9; font-size: 10px; }
.interlock-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 20px 0; }
.interlock-item { display: grid; gap: 7px; }
.il-label { display: grid; gap: 4px; }
.il-label b { color: #d6e6ed; font-family: inherit; font-size: 12px; font-weight: 500; letter-spacing: 0; }
.il-label span, .il-val { color: #8298a9; font-family: inherit; font-size: 11px; letter-spacing: 0; }
.il-val { color: #65d8a8; }
.interlock-note { padding-top: 15px; border-top: 1px solid rgba(105,213,235,.15); color: #a0b2bf; font-family: inherit; font-size: 11px; line-height: 1.7; letter-spacing: 0; }
.fcm-integration-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.integration-card { padding: 24px; border: 1px solid rgba(105,213,235,.16); background: rgba(255,255,255,.035); }
.int-tag { color: var(--cyan); font-family: monospace; font-size: 10px; letter-spacing: .08em; }
.integration-card h4 { margin: 34px 0 12px; color: white; font-size: 18px; }
.integration-card p { margin: 0; color: #91a2b1; font-size: 13px; line-height: 1.75; }

@media (min-width: 1100px) {
  .section-no, .eyebrow { font-size: clamp(13px, .78vw, 16px); font-weight: 500; letter-spacing: .1em; }
  .group-heading > span, .product-title > span, .family-stat span, .company-hero-bottom span { font-size: clamp(13px, .72vw, 15px); }
  .category-link, .category-breadcrumb, .product-local-nav a, .company-index a, .technology-index a { font-size: clamp(12px, .68vw, 14px); }
  .workflow-step small, .feature-grid small, .mission-grid span, .history-list span, .location-panel span, .tech-meta > span, .inquiry-type-card small, .resource-number, .category-product > span, .concept-grid span { font-size: clamp(12px, .66vw, 14px); }
  .performance-grid small, .partial-metrics small, .pullout-metrics small, .fan-detail small, .fan-model-card > span { font-size: clamp(11px, .62vw, 13px); }
  .partial-first-badge small, .partial-acclaim small, .status, .maturity-flow small, .direct-email small, .resource-item small { font-size: clamp(10px, .56vw, 12px); }
  .partial-first-badge strong { font-size: clamp(20px, 1.15vw, 24px); }
  .partial-model-label b { font-size: clamp(17px, 1.05vw, 21px); }
  .partial-model-label small { font-size: clamp(11px, .62vw, 13px); }
  .partial-benefits > small, .pullout-maintenance-grid > article > span, .pullout-benefits > small { font-size: clamp(11px, .62vw, 13px); }
  .fan-carousel-toolbar p, .fan-model-card small { font-size: clamp(11px, .6vw, 13px); }
}

@media (max-width: 900px) {
  .site-header { height: 82px; }
  .site-header.scrolled { height: 72px; }
  .menu-toggle { display: block; }
  .site-nav { position: fixed; top: 72px; inset-inline: 0; display: grid; gap: 0; padding: 18px 24px 28px; background: #07152a; transform: translateY(-140%); opacity: 0; transition: .25s; }
  .site-nav.open { transform: none; opacity: 1; }
  .site-nav.open { max-height: calc(100svh - 72px); overflow-y: auto; }
  .site-nav a { padding: 13px 0; }
  .nav-dropdown { display: block; }
  .dropdown-trigger { width: 100%; }
  .submenu { position: static; min-width: 0; max-height: 0; padding: 0 0 0 18px; overflow: hidden; border: 0; border-left: 1px solid rgba(79,194,223,.3); background: transparent; box-shadow: none; opacity: 0; visibility: hidden; transform: none; transition: max-height .3s ease, opacity .2s ease, visibility .2s; }
  .nav-dropdown:hover .submenu, .nav-dropdown:focus-within .submenu, .nav-dropdown.menu-open .submenu { max-height: 1300px; padding-bottom: 8px; opacity: 1; visibility: visible; transform: none; }
  .company-menu { width: auto; margin-left: 10px; padding-inline: 15px 0; }
  .solutions-menu { width: auto; overflow: hidden; }
  .solutions-menu, .nav-dropdown:hover .solutions-menu, .nav-dropdown:focus-within .solutions-menu, .nav-dropdown.menu-open .solutions-menu { transform: none; }
  .company-overview { padding-top: 12px !important; }
  .submenu a { padding: 9px 12px; font-size: 13px; }
  .nav-dropdown:hover .submenu, .nav-dropdown:focus-within .submenu { transform: none; }
  .nav-cta { margin-top: 10px; text-align: center; }
  .workflow { gap: 10px; }
  .solution-panel { padding: 48px; }
  .strength-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .hero { min-height: 100svh; }
  .hero-inner { padding-top: 130px; }
  h1 { font-size: clamp(36px, 10.8vw, 43px); }
  .hero-description br { display: none; }
  .hero-description { word-break: keep-all; overflow-wrap: break-word; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .scroll-cue { display: none; }
  .workflow { grid-template-columns: 1fr; margin-top: 54px; gap: 8px; }
  .workflow-step { min-height: 0; grid-template-columns: auto 1fr; align-items: start; gap: 14px; padding: 15px; }
  .step-top { display: grid; gap: 8px; justify-items: start; }
  .step-icon { width: 42px; height: 42px; font-size: 20px; }
  .flow-arrow { font-size: 15px; line-height: 1; transform: rotate(90deg); }
  .section { padding: 88px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 28px; }
  .solution-panel { grid-template-columns: 1fr; gap: 40px; min-height: auto; padding: 48px 26px; }
  .solution-panel.edim .data-visual { order: 2; }
  .air-visual, .data-visual { height: 210px; }
  .strength-grid { grid-template-columns: 1fr; }
  .strength-card { min-height: 230px; }
  .strength-card h3 { margin-top: 48px; }
  .industry-inner, .contact-inner { align-items: stretch; flex-direction: column; }
  .tags { justify-content: flex-start; }
  .footer-inner { grid-template-columns: 1fr; }
  .copyright { grid-column: auto; }
  .page-main { padding-top: 82px; }
  .page-hero { min-height: 340px; padding: 80px 0 54px; }
  .content-grid { grid-template-columns: 1fr; gap: 34px; }
  .simple-cards { grid-template-columns: 1fr; }
  .hvac-hero-grid, .product-layout { grid-template-columns: 1fr; gap: 44px; }
  .hvac-hero { padding: 90px 0 65px; }
  .product-index .container { width: 100%; overflow-x: auto; }
  .product-index a { min-width: 150px; padding: 16px; }
  .product-title { position: static; }
  .product-section { padding: 80px 0; }
  .feature-grid, .product-control .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article { min-height: 180px; }
  .metric-row { grid-template-columns: 1fr 1fr 1fr; }
  .metric-row div { padding: 22px 10px; }
  .system-flow { grid-template-columns: 1fr; }
  .system-flow i { rotate: 90deg; text-align: center; }
  .saving-callout { align-items: flex-start; flex-direction: column; }
  .control-list { grid-template-columns: 1fr 1fr; }
  .control-list div { min-height: 90px; }
  .hvac-cta .container { align-items: stretch; flex-direction: column; }
  .family-hero-row, .group-heading { grid-template-columns: 1fr; gap: 24px; }
  .family-stat { margin-top: 45px; }
  .family-content { padding-bottom: 75px; }
  .family-group { padding-top: 65px; }
  .family-grid, .family-grid-three, .edim-module-grid { grid-template-columns: 1fr; }
  .family-card { min-height: 290px; }
  .family-cta .container { grid-template-columns: 1fr; gap: 28px; }
  .family-cta p { grid-column: auto; }
  .data-flow-note { grid-template-columns: 1fr; }
  .data-flow-note i { width: 1px; height: 20px; margin: auto; }
  .company-hero-bottom, .location-panel { align-items: flex-start; flex-direction: column; }
  .company-card-index { padding: 78px 0 90px; }
  .company-card-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 38px; }
  .company-flip-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .company-flip-card, .company-flip-card:nth-child(1), .company-flip-card:nth-child(4) { grid-column: auto; }
  .company-modal-ready [data-company-panel] { inset: 72px 8px 8px; padding: 58px 0; border-radius: 14px; }
  .company-panel-close { width: 46px; height: 46px; margin: -42px 16px 0 0; }
  .company-modal-ready .company-location.is-company-open { padding-block: clamp(28px, 6vh, 58px); }
  .company-modal-ready .company-location.is-company-open > .container { grid-template-rows: auto minmax(280px, 1fr); }
  .company-location .company-panel-close { top: 14px; right: 14px; }
  .location-map-wrap { height: auto; min-height: 280px; margin-top: 24px; border-radius: 14px; }
  .location-map::after { background: linear-gradient(0deg, rgba(5,19,35,.68), transparent 65%); }
  .location-map-card { left: 16px; bottom: 16px; width: calc(100% - 32px); padding: 23px; }
  .location-map-card h3 { margin-top: 24px; font-size: 24px; }
  .company-index .container { width: 100%; display: flex; overflow-x: auto; }
  .company-index a { flex: 0 0 auto; min-width: 120px; }
  .company-section { padding: 82px 0; }
  .company-split, .heritage-grid, .section-label { grid-template-columns: 1fr; gap: 35px; }
  .identity-flow { grid-template-columns: 1fr; margin-top: 55px; }
  .identity-flow i { rotate: 90deg; text-align: center; }
  .mission-grid { grid-template-columns: 1fr; }
  .mission-grid article { min-height: 250px; }
  .mission-grid h3 { margin-top: 55px; }
  .transfer-flow { grid-template-columns: 1fr; }
  .transfer-flow i { rotate: 90deg; text-align: center; }
  .technology-definition, .tech-intro-grid, .tech-row { grid-template-columns: 1fr; }
  .technology-definition { gap: 22px; }
  .technology-definition i { rotate: 90deg; text-align: center; }
  .technology-index .container { width: 100%; display: flex; overflow-x: auto; }
  .technology-index a { flex: 0 0 150px; }
  .technology-intro { padding: 80px 0; }
  .tech-row { gap: 28px; padding: 55px 0; }
  .tech-meta { min-height: 70px; }
  .maturity-flow { grid-template-columns: 1fr; }
  .maturity-flow i { rotate: 90deg; text-align: center; }
  .technology-cta .container { align-items: stretch; flex-direction: column; }
  .contact-hero .container { grid-template-columns: 1fr; gap: 32px; }
  .contact-hero .eyebrow { grid-column: auto; }
  .inquiry-section { padding: 75px 0 90px; }
  .inquiry-types, .contact-fields, .inquiry-detail { grid-template-columns: 1fr; }
  .inquiry-types legend, .contact-fields legend, .inquiry-detail legend, .message-field { grid-column: auto; }
  .inquiry-type-card { min-height: 180px; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .resources-hero-grid, .resource-contact .container { grid-template-columns: 1fr; gap: 35px; }
  .resource-library { padding: 80px 0 95px; }
  .library-heading { align-items: flex-start; flex-direction: column; }
  .resource-item { grid-template-columns: 38px 1fr auto; gap: 15px; padding: 28px 5px; }
  .resource-icon { display: none; }
  .resource-item > div:nth-of-type(2) { grid-column: 2 / 4; }
  .resource-item em { grid-column: 2; justify-self: start; }
  .resource-item > a, .resource-disabled { grid-column: 3; }
  .category-breadcrumb { margin-bottom: 45px; overflow-x: auto; white-space: nowrap; }
  .category-switcher .container { width: 100%; overflow-x: auto; }
  .category-switcher a { min-width: 145px; }
  .category-products { padding: 80px 0 95px; }
  .category-heading { grid-template-columns: 1fr; gap: 25px; }
  .category-product-grid, .category-product-grid-three { grid-template-columns: 1fr; }
  .category-product { min-height: 220px; }
  .eurus-intro { padding: 80px 0; scroll-margin-top: 185px; }
  .eurus-intro-grid, .performance-heading, .partial-intro-grid, .partial-heading, .preview-layout, .pullout-intro-grid, .pullout-heading, .fan-lineup-intro-grid, .fan-model-heading { grid-template-columns: 1fr; gap: 45px; }
  .eurus-visual { min-height: 410px; }
  .eurus-visual img { width: 90%; }
  .eurus-performance, .eurus-concept { padding: 82px 0; }
  .performance-grid, .concept-grid { grid-template-columns: 1fr; }
  .performance-grid article { min-height: 205px; }
  .concept-grid article { min-height: 220px; border-left: 1px solid rgba(255,255,255,.14); }
  .concept-grid h3 { margin-top: 55px; }
  .expert-note { grid-template-columns: 1fr; }
  .partial-intro { padding: 80px 0; scroll-margin-top: 185px; }
  .partial-visual { min-height: 420px; }
  .partial-visual img { width: min(100%, 520px); }
  .partial-value, .partial-config { padding: 82px 0; }
  .partial-metrics, .partial-config-grid { grid-template-columns: 1fr; }
  .partial-metrics article { min-height: 245px; }
  .partial-config-grid article { min-height: 255px; }
  .partial-config-grid article + article { border-left: 1px solid rgba(174,222,233,.22); }
  .partial-config-grid h3 { margin-top: 70px; }
  .partial-benefits, .partial-benefits ul { grid-template-columns: 1fr; }
  .ventilation-product-preview { padding: 70px 0; scroll-margin-top: 185px; }
  .pullout-intro { padding: 80px 0; }
  .pullout-visual { min-height: 420px; }
  .pullout-visual img { width: min(100%, 520px); }
  .pullout-value, .pullout-maintenance { padding: 82px 0; }
  .pullout-metrics, .pullout-maintenance-grid { grid-template-columns: 1fr; }
  .pullout-metrics article, .pullout-maintenance-grid article { min-height: 245px; }
  .pullout-maintenance-grid h3 { margin-top: 55px; }
  .pullout-benefits, .pullout-benefits ul { grid-template-columns: 1fr; }
  .fan-lineup-intro { padding: 82px 0; scroll-margin-top: 185px; }
  .fan-model-showcase { padding: 82px 0; }
  .fan-model-track { display: flex; gap: 8px; margin-inline: -16px; padding-inline: calc(50% - 145px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .fan-model-track::-webkit-scrollbar { display: none; }
  .fan-model-card { flex: 0 0 290px; grid-template-rows: 34px 290px auto auto; scroll-snap-align: center; }
  .fan-model-card img { height: 275px; }
  .fan-model-card, .fan-model-card.is-active { transform: scale(.92); }
  .fan-model-card.is-active { transform: scale(1); }
  .fan-detail { grid-template-columns: 1fr; gap: 38px; padding: 30px 24px; }
  .air-ahu-intro { padding: 82px 0; scroll-margin-top: 185px; }
  .air-ahu-grid, .air-section-heading { grid-template-columns: 1fr; gap: 45px; }
  .air-ahu-copy h2, .control-hero h2 { font-size: 50px; }
  .air-ahu-visual { min-height: 400px; }
  .ahu-main-image { inset: 8% -9% auto -9%; width: 118%; }
  .ahu-compact-image { right: 0; width: 33%; height: 42%; }
  .air-foundation, .air-capabilities, .air-control, .air-other { padding: 82px 0; }
  .air-foundation-grid, .capability-grid, .control-glass-grid, .air-other-grid { grid-template-columns: 1fr; }
  .air-foundation-grid article { min-height: 230px; border-right: 1px solid rgba(255,255,255,.16); }
  .control-flow { grid-template-columns: 1fr; }
  .control-flow i { rotate: 90deg; text-align: center; }
  .control-flow div { min-height: 115px; }
  .air-other-grid article { border-right: 1px solid #bdccd4; }
  .bio-hvac-intro, .bio-hvac-value { padding: 82px 0; }
  .bio-hvac-grid { grid-template-columns: 1fr; gap: 45px; }
  .bio-hvac-copy h2 { font-size: 50px; }
  .bio-hvac-visual { min-height: 380px; }
  .bio-value-grid, .bio-application { grid-template-columns: 1fr; }
  .bio-value-grid article { min-height: 245px; border-left: 1px solid rgba(188,226,234,.17); }
  .ief-intro, .ief-performance { padding: 82px 0; }
  .ief-intro-grid { grid-template-columns: 1fr; gap: 45px; }
  .ief-copy h2 { font-size: 58px; }
  .ief-visual { min-height: 430px; }
  .ief-metrics, .ief-proof-grid, .ief-applications { grid-template-columns: 1fr; }
  .ief-metrics article { min-height: 220px; border-right: 1px solid rgba(222,202,150,.2); }
  .iaqs-intro, .iaqs-performance, .iaqs-architecture, .iaqs-telemetry { padding: 82px 0; }
  .iaqs-intro-grid, .iaqs-arch-grid, .iaqs-telemetry-grid, .fcm-integration-row { grid-template-columns: 1fr; gap: 38px; }
  .iaqs-copy h2 { font-size: 52px; }
  .iaqs-visual { min-height: 400px; }
  .iaqs-visual img { width: min(92%, 500px); }
  .iaqs-visual figcaption { display: grid; gap: 6px; }
  .iaqs-metrics { grid-template-columns: 1fr; }
  .iaqs-metrics article { min-height: 230px; }
  .iaqs-arch-visual { min-height: 250px; }
  .iaqs-arch-visual img { height: 225px; }
  .iaqs-arch-body { padding: 24px; }
  .iaqs-dash-header, .interlock-header { grid-template-columns: 1fr; display: grid; gap: 10px; }
  .dash-machine { text-align: left; }
  .iaqs-dash-body { padding: 14px; }
  .interlock-list { grid-template-columns: 1fr; }
}

/* 2026 navigation system */
.site-header { inset: 0 0 auto; height: 88px; border: 0; border-bottom: 1px solid rgba(129,187,220,.16); border-radius: 0; background: linear-gradient(105deg, rgba(6,22,43,.98), rgba(10,39,69,.97)); box-shadow: 0 10px 28px rgba(4,17,33,.16); }
.site-header.scrolled { top: 0; height: 68px; border-radius: 0; }
.site-header .header-inner { width: min(calc(100% - 48px), 1240px); }
.site-header .brand { color: #d8e1eb; font-size: 18px; font-weight: 400; letter-spacing: .08em; }
.site-header .brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
.site-header.scrolled .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
.site-nav { gap: clamp(24px, 3vw, 44px); font-size: 14px; letter-spacing: .025em; }
.site-nav > .nav-dropdown > .dropdown-trigger { position: relative; font-weight: 500; }
.site-nav > .nav-dropdown > .dropdown-trigger::before { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: #58c3dc; transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.site-nav > .nav-dropdown:hover > .dropdown-trigger, .site-nav > .nav-dropdown:focus-within > .dropdown-trigger, .site-nav > .nav-dropdown.menu-open > .dropdown-trigger { color: white; }
.site-nav > .nav-dropdown:hover > .dropdown-trigger::before, .site-nav > .nav-dropdown:focus-within > .dropdown-trigger::before, .site-nav > .nav-dropdown.menu-open > .dropdown-trigger::before { transform: scaleX(1); }
.nav-cta {
  position: relative;
  isolation: isolate;
  min-width: 154px;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  overflow: hidden;
  border: 1px solid rgba(118,202,244,.28);
  border-radius: 8px;
  background: #286dcc;
  box-shadow: 0 9px 24px rgba(21,91,189,.26);
  transition: color .46s cubic-bezier(.2,.8,.2,1), border-color .46s cubic-bezier(.2,.8,.2,1), box-shadow .46s cubic-bezier(.2,.8,.2,1), transform .46s cubic-bezier(.2,.8,.2,1);
}
.nav-cta::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -2px;
  background: linear-gradient(110deg, #45c2df 0%, #3187e3 48%, #235fc0 100%);
  transform: translateX(-103%);
  transition: transform .62s cubic-bezier(.16,1,.3,1);
}
.nav-cta::after { display: none; }
.nav-cta-label {
  position: relative;
  z-index: 1;
  white-space: nowrap;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.nav-cta-arrow {
  position: relative;
  z-index: 1;
  width: 25px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}
.nav-cta-arrow i {
  position: absolute;
  right: 7px;
  width: 15px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .48s cubic-bezier(.16,1,.3,1);
}
.nav-cta-arrow b {
  display: block;
  font-size: 19px;
  line-height: 1;
  font-weight: 400;
  transform: translateX(-7px);
  transition: transform .48s cubic-bezier(.16,1,.3,1);
}
.nav-cta.is-cta-active,
.nav-cta:hover,
.nav-cta:focus-visible {
  color: #031a31 !important;
  border-color: rgba(113,225,247,.82);
  box-shadow: 0 12px 30px rgba(38,153,217,.32), inset 0 0 0 1px rgba(255,255,255,.16);
  transform: translateY(-1px);
}
.nav-cta.is-cta-active::before,
.nav-cta:hover::before,
.nav-cta:focus-visible::before { transform: translateX(0); }
.nav-cta.is-cta-active .nav-cta-label,
.nav-cta:hover .nav-cta-label,
.nav-cta:focus-visible .nav-cta-label { transform: translateX(3px); }
.nav-cta.is-cta-active .nav-cta-arrow i,
.nav-cta:hover .nav-cta-arrow i,
.nav-cta:focus-visible .nav-cta-arrow i { transform: scaleX(1); }
.nav-cta.is-cta-active .nav-cta-arrow b,
.nav-cta:hover .nav-cta-arrow b,
.nav-cta:focus-visible .nav-cta-arrow b { transform: translateX(0); }

@media (min-width: 901px) {
  .nav-dropdown { position: static; }
  .site-nav { height: 100%; }
  .site-nav > .nav-dropdown > .dropdown-trigger { height: 100%; }
  .company-menu, .mega-panel { position: fixed; top: 88px; left: 50%; width: min(calc(100% - 48px), 1240px); padding: 20px 26px; color: #142d42; border: 1px solid #dce5eb; border-radius: 8px; background: rgba(255,255,255,.99); box-shadow: 0 24px 64px rgba(3,22,42,.2); transform: translate(-50%, 8px); }
  .company-menu, .mega-panel { transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
  .site-header.scrolled .company-menu, .site-header.scrolled .mega-panel { top: 68px; }
  .nav-dropdown:hover .company-menu, .nav-dropdown:focus-within .company-menu, .nav-dropdown.menu-open .company-menu,
  .nav-dropdown:hover .mega-panel, .nav-dropdown:focus-within .mega-panel, .nav-dropdown.menu-open .mega-panel { transform: translate(-50%, 0); transition-delay: .08s, .08s, 0s; }
  .company-overview { padding: 0 0 14px !important; border-color: #dce5eb; color: #152e43 !important; }
  .company-overview > span { font-size: 27px; }
  .company-overview > span small, .mega-menu-head small { color: #3577c9; }
  .company-overview > b { color: #2767b8; font-size: 12px; }
  .editorial-menu-body { display: grid; grid-template-columns: 1.45fr .55fr; align-items: start; gap: 24px; padding-top: 14px; }
  .editorial-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; column-gap: 36px; }
  .editorial-links a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; justify-content: stretch; gap: 3px 14px; padding: 8px 4px 8px 0; color: #1a3349; border-bottom: 1px solid #e5ebef; }
  .editorial-links a > b, .editorial-links a > small { grid-column: 1; }
  .editorial-links a::after { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .editorial-links b { font-size: 16px; font-weight: 500; }
  .editorial-links small { color: #7f909f; font-family: "Noto Sans KR", sans-serif; font-size: 12px; letter-spacing: 0; }
  .editorial-links a:hover { color: #1765bb; background: transparent; }
  .editorial-menu aside { min-height: 176px; padding: 0; color: #dfeaf2; background: #0b2944; }
  .editorial-menu aside small { color: #55bdd7; font-family: monospace; font-size: 10px; letter-spacing: .12em; }
  .editorial-menu aside p { position: absolute; right: 18px; bottom: 15px; left: 18px; z-index: 2; margin: 0; font-size: 14px; line-height: 1.5; text-shadow: 0 2px 10px rgba(0,0,0,.75); }
  .technology-lines { position: relative; overflow: hidden; background-color: #0b2944 !important; background-image: linear-gradient(rgba(75,187,216,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(75,187,216,.12) 1px,transparent 1px) !important; background-size: 25px 25px !important; }
  .technology-lines span { position: absolute; left: 12%; width: 78%; height: 1px; background: #52bdd8; rotate: -18deg; opacity: .55; }
  .technology-lines span:nth-child(1) { top: 35%; }.technology-lines span:nth-child(2) { top: 52%; }.technology-lines span:nth-child(3) { top: 69%; }
  .resource-menu-layout { display: grid; grid-template-columns: 1.45fr .55fr; gap: 24px; padding-top: 14px; }
  .resource-menu-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-top: 0; }
  .resource-menu-groups > div { display: grid; align-content: start; }
  .resource-menu-groups small { margin-bottom: 9px; color: #3477c8; font-family: monospace; font-size: 10px; letter-spacing: .12em; }
  .resource-menu-groups a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; justify-content: stretch; gap: 2px 12px; padding: 8px 3px 8px 0; color: #283f53; }
  .resource-menu-groups a > b, .resource-menu-groups a > span { grid-column: 1; }
  .resource-menu-groups a::after { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .resource-menu-groups b { font-size: 13px; font-weight: 500; }
  .resource-menu-groups span { color: #91a0ad; font-family: "Noto Sans KR", sans-serif; font-size: 11px; }
  .resource-menu-groups a:hover { color: #1765bb; background: transparent; }
}
.mega-panel { grid-template-columns: 1fr; overflow: hidden; }
.mega-menu-head { display: flex; align-items: end; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid #dce5eb; }
.mega-menu-head > .mega-menu-overview-link { display: grid; gap: 7px; padding: 0 !important; color: #142d42 !important; background: transparent !important; font-size: clamp(34px, 2.5vw, 42px); line-height: 1.05; font-weight: 500; }
.mega-menu-head small { font-family: monospace; font-size: 12px; letter-spacing: .14em; }
.mega-menu-head > a { padding: 0; color: #2367b9; font-size: 12px; }
.mega-menu-head > a::after, .solutions-overview a::after { display: none; }
.solutions-overview { display: grid; grid-template-columns: 2fr .8fr; }
.solutions-column { padding: 17px 22px 8px 0; }
.solutions-hvac { position: relative; min-height: 268px; overflow: hidden; }
.solutions-hvac::after { display: none; }
.solutions-edim { padding-left: 28px; border-left: 1px solid #dce5eb; }
.solutions-column-title { display: grid !important; justify-content: start !important; gap: 2px; padding: 0 0 18px !important; color: #1b66bb !important; background: transparent !important; }
.solutions-column-title b { font-size: 26px; }
.solutions-column-title small { color: #7f909f; font-size: 12px; }
.solutions-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.solutions-groups-edim { grid-template-columns: 1fr; }
.solutions-groups > div { display: grid; align-content: start; }
.solution-group-visual { position: relative; min-height: 214px; overflow: hidden; isolation: isolate; }
.solution-group-visual::after { content: ''; position: absolute; z-index: -1; right: -38%; bottom: -42%; width: 180%; height: 112%; background: var(--menu-product) center bottom/contain no-repeat; opacity: .12; filter: grayscale(.2) saturate(.55); transform: scale(1.05); transform-origin: right bottom; transition: opacity .28s ease, transform .45s ease, filter .28s ease; pointer-events: none; }
.solution-group-visual:hover::after { opacity: .24; filter: grayscale(0) saturate(.85); transform: scale(1.12); }
.solution-group-ventilation { --menu-product: url('./assets/products/eurus-impeller-cutout.png'); }
.solution-group-air { --menu-product: url('./assets/products/eco-ahu-main-cutout.png'); }
.solution-group-parts { --menu-product: url('./assets/products/fcm-controller-main-cutout.png'); }
.solution-group-edim { --menu-product: url('./assets/menu-technology-blueprint.png'); }
.solution-group-air::after { right: -46%; bottom: -32%; width: 205%; height: 108%; }
.solution-group-parts::after { right: -32%; bottom: -44%; width: 175%; height: 120%; }
.solution-group-edim::after { right: -38%; bottom: -46%; width: 180%; height: 126%; opacity: .14; border-radius: 10px; }
.solution-group-visual > a { position: relative; z-index: 1; }
.solutions-menu .solutions-groups a { justify-content: start; padding: 4px 0; color: #687b8c; font-size: 14px; }
.solutions-menu .solutions-groups .solutions-group-title { padding-bottom: 7px; color: #183249; font-size: 16px; font-weight: 600; }
.solutions-group-title { display: grid !important; gap: 2px; }
.solutions-group-title b { font-size: 16px; font-weight: 600; }
.solutions-group-title small { color: #7f909f; font-family: "Noto Sans KR", sans-serif; font-size: 11px; font-weight: 400; letter-spacing: 0; }
.solutions-menu .solutions-groups a:not(.solutions-group-title)::before { content: '·'; margin-right: 7px; color: #3e80ca; }
.solutions-menu .solutions-groups a:hover { color: #1765bb; background: transparent; }
.menu-image, .solutions-menu-visual { position: relative; margin: 0; overflow: hidden; border-radius: 9px; background: #0b2944; }
.editorial-menu .menu-image, .resource-menu-layout > .menu-image { height: 210px; }
.menu-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.menu-image img.is-menu-fallback { padding: 12px; object-fit: contain; opacity: .72; filter: saturate(.7); }
.menu-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(4,18,34,.74)); pointer-events: none; }
.solutions-edim { position: relative; padding-bottom: 86px; }
.solutions-menu-visual { position: absolute; right: 0; bottom: 2px; left: 28px; height: 76px; background: linear-gradient(105deg, #dcebf1, #f5f9fb); }
.solutions-menu-visual img { position: absolute; right: -4%; bottom: -70%; width: 62%; height: 190%; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(18,49,68,.18)); }

@media (max-width: 900px) {
  .site-header, .site-header.scrolled { inset: 0; height: 72px; border-width: 0 0 1px; border-radius: 0 0 8px 8px; }
  .site-header .header-inner { width: min(calc(100% - 32px), 1240px); }
  .site-header .brand { font-size: 14px; }
  .site-header .brand-mark, .site-header.scrolled .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .site-nav { top: 72px; padding: 12px 16px 22px; background: rgba(7,21,42,.99); }
  .site-nav > .nav-dropdown, .site-nav > .nav-cta { border-bottom: 1px solid rgba(255,255,255,.09); }
  .site-nav > .nav-dropdown > .dropdown-trigger { justify-content: space-between; font-size: 15px; }
  .site-nav > .nav-dropdown > .dropdown-trigger::before { display: none; }
  .nav-cta { width: 100%; min-height: 48px; margin-top: 15px; border: 1px solid rgba(118,202,244,.28) !important; }
  .company-menu, .mega-panel { margin-left: 0; padding: 0 0 8px 14px; }
  .company-overview { display: flex !important; align-items: end; min-height: 74px; padding: 13px 4px !important; color: white !important; border-bottom: 1px solid rgba(255,255,255,.1); }
  .company-overview > span { display: grid; gap: 3px; font-size: 17px; }
  .company-overview > span small { color: #55bdd7; font-size: 9px; }
  .company-overview > b { color: #69cce1; font-size: 10px; }
  .editorial-menu-body, .resource-menu-layout, .resource-menu-groups { display: grid; grid-template-columns: 1fr; gap: 0; padding-top: 4px; }
  .editorial-links { display: grid; }
  .editorial-links a, .resource-menu-groups a { justify-content: stretch; min-height: 48px; padding: 14px 4px 14px 0; color: #9aabba; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 13px; }
  .editorial-menu aside, .resource-menu-layout > .menu-image { display: block; min-height: 0; height: 148px; margin: 12px 0 8px; border: 1px solid rgba(104,208,230,.18); background: #102d47; }
  .editorial-menu aside img, .resource-menu-layout > .menu-image img { opacity: .9; object-position: center; filter: saturate(.82) contrast(1.04); }
  .editorial-menu aside::after, .resource-menu-layout > .menu-image::after { background: linear-gradient(180deg, rgba(5,23,41,.04) 30%, rgba(4,18,34,.62)); }
  .editorial-menu aside p { font-size: 12px; }
  .solutions-edim { padding-bottom: 14px; }
  .solutions-hvac { min-height: 0; }
  .solutions-hvac::after { display: none; }
  .resource-menu-groups > div { display: grid; padding: 13px 0 4px; }
  .resource-menu-groups small { color: #55bdd7; font-family: monospace; font-size: 10px; letter-spacing: .1em; }
  .mega-menu-head { padding: 9px 0 12px; border-color: rgba(255,255,255,.1); }
  .mega-menu-head > .mega-menu-overview-link { color: white !important; font-size: 24px; }
  .mega-menu-head > a:last-child { display: inline-flex; align-items: center; padding: 8px 0; color: #68d0e6; font-size: 11px; }
  .solutions-overview { grid-template-columns: 1fr; }
  .solutions-column { padding: 14px 0; }
  .solutions-edim { padding-left: 0; border: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .solutions-column-title { color: #68d0e6 !important; }
  .solutions-column-title b { font-size: 18px; }
  .solutions-groups { grid-template-columns: 1fr; gap: 12px; }
  .solutions-menu .solutions-groups a { color: #899aab; }
  .solutions-menu .solutions-groups .solutions-group-title { color: white; }
  body.nav-open { overflow: hidden; }
  .solutions-menu .solutions-groups a:not(.solutions-group-title) { display: none; }
  .solutions-menu .solutions-groups .solutions-group-title { min-height: 48px; display: flex; align-items: center; padding: 10px 0; }
  .solution-group-visual { min-height: 126px; margin-bottom: 8px; padding: 4px 10px; overflow: hidden; border: 1px solid rgba(104,208,230,.12); border-radius: 7px; background: linear-gradient(100deg, rgba(14,43,68,.84), rgba(20,62,88,.5)); }
  .solution-group-visual::after { display: block; z-index: 0; right: 1%; bottom: -8%; width: 48%; height: 112%; opacity: .5; filter: none; transform: none; background-position: right center; }
  .solution-group-visual:hover::after { opacity: .58; filter: none; transform: scale(1.03); }
  .solution-group-air::after { right: -2%; bottom: 1%; width: 53%; height: 100%; }
  .solution-group-parts::after { right: 1%; bottom: -5%; width: 44%; height: 108%; }
  .solutions-menu-visual { display: block; left: 0; right: 0; bottom: 8px; width: auto; height: 82px; opacity: 1; border: 1px solid rgba(104,208,230,.18); background: linear-gradient(105deg, #dcebf1, #f5f9fb); }
  .solutions-menu-visual img { right: 0; bottom: -55%; width: 58%; height: 175%; opacity: 1; }
  .solutions-edim { padding-bottom: 92px; }
}

.clt-intro { padding: 120px 0; scroll-margin-top: 205px; overflow: hidden; background: #f4f7f9; }
.clt-intro-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.clt-copy h2 { margin: 18px 0 28px; color: #10283b; font-size: clamp(64px, 6.3vw, 112px); font-weight: 400; line-height: .9; letter-spacing: -.055em; }
.clt-copy h2 span { display: inline-block; margin-top: 22px; color: #577083; font-size: .48em; line-height: 1.08; letter-spacing: -.035em; }
.clt-copy > p:not(.section-no) { max-width: 620px; color: #637588; font-size: 16px; line-height: 1.9; }
.clt-copy .clt-lead { color: #243d50 !important; font-size: 20px !important; line-height: 1.65 !important; }
.clt-hero-products { position: relative; min-height: 570px; }
.clt-hero-products::before { content: ''; position: absolute; inset: 8% 2% 4% 8%; border-radius: 50%; background: radial-gradient(circle, rgba(42,177,207,.18), transparent 66%); }
.clt-hero-item { position: absolute; margin: 0; }
.clt-hero-item img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(14,35,50,.19)); }
.clt-hero-item span { position: absolute; z-index: 2; top: 8%; left: 4%; padding: 9px 13px; border: 1px solid rgba(34,164,196,.45); background: rgba(255,255,255,.74); color: #138eab; font-family: monospace; font-size: 16px; letter-spacing: .08em; backdrop-filter: blur(10px); }
.clt-hero-item-50 { z-index: 2; left: -3%; bottom: 0; width: 51%; height: 67%; }
.clt-hero-item-100 { right: -3%; top: 0; width: 66%; height: 82%; }
.clt-hero-item-100 span { left: auto; right: 6%; }
.clt-sizes { padding: 120px 0; background: #e7eff3; }
.clt-section-heading { display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: 80px; margin-bottom: 58px; }
.clt-section-heading h2 { margin: 14px 0 0; color: #10283b; font-size: clamp(42px, 4.1vw, 72px); font-weight: 400; line-height: 1.03; letter-spacing: -.045em; }
.clt-section-heading > p { margin: 0; color: #657789; font-size: 17px; line-height: 1.8; }
.clt-size-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.clt-size-card { position: relative; display: grid; grid-template-rows: auto 400px auto; min-height: 760px; padding: 28px 32px 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.76); background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(236,246,250,.52)); box-shadow: 0 22px 55px rgba(35,66,84,.1); backdrop-filter: blur(16px); }
.clt-size-card::after { content: ''; position: absolute; inset: auto -15% -28% 35%; aspect-ratio: 1; border: 1px solid rgba(36,163,194,.18); border-radius: 50%; }
.clt-size-label { z-index: 1; display: flex; justify-content: space-between; align-items: start; }
.clt-size-label small { color: #20a4c3; font-family: monospace; font-size: 14px; letter-spacing: .12em; }
.clt-size-label strong { color: #132f43; font-size: 48px; font-weight: 400; letter-spacing: -.04em; }
.clt-size-image { position: relative; z-index: 1; display: grid; place-items: center; }
.clt-size-image img { width: 92%; height: 100%; object-fit: contain; filter: drop-shadow(0 24px 22px rgba(15,39,54,.18)); transition: transform .35s ease; }
.clt-size-card:hover .clt-size-image img { transform: scale(1.04); }
.clt-size-copy { position: relative; z-index: 1; padding-top: 26px; border-top: 1px solid rgba(44,86,108,.18); }
.clt-size-copy h3 { margin: 0 0 15px; color: #173248; font-size: 29px; font-weight: 400; line-height: 1.22; }
.clt-size-copy p, .clt-size-copy li { color: #637789; line-height: 1.75; }
.clt-size-copy ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.clt-size-copy li { padding: 7px 11px; border: 1px solid rgba(34,151,180,.22); background: rgba(255,255,255,.58); font-size: 13px; }
.clt-selection-note { display: grid; grid-template-columns: 180px 1fr; gap: 26px; margin-top: 20px; padding: 22px 25px; border-left: 2px solid #22a4c2; background: rgba(255,255,255,.48); color: #607386; line-height: 1.7; }
.clt-selection-note b { color: #1596b5; font-family: monospace; text-transform: uppercase; letter-spacing: .08em; }
.clt-value { padding: 120px 0; background: #102438; }
.clt-value .clt-section-heading h2 { color: #f4f9fb; }
.clt-value .clt-section-heading > p { color: #a8bac7; }
.clt-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(185,226,237,.18); }
.clt-value-grid article { min-height: 300px; padding: 30px 26px; border-right: 1px solid rgba(185,226,237,.18); border-bottom: 1px solid rgba(185,226,237,.18); }
.clt-value-grid article:first-child { border-left: 1px solid rgba(185,226,237,.18); }
.clt-value-grid span, .clt-operation-cards small { color: #48c0d9; font-family: monospace; font-size: 14px; letter-spacing: .09em; }
.clt-value-grid h3 { margin: 82px 0 16px; color: #f7fbfc; font-size: 27px; font-weight: 400; }
.clt-value-grid p { color: #9eb2c1; line-height: 1.8; }
.clt-operation { padding: 120px 0; background: #eff4f6; }
.clt-operation-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 90px; }
.clt-operation h2 { margin: 15px 0 25px; color: #112d42; font-size: clamp(44px, 4.2vw, 72px); font-weight: 400; line-height: 1.04; letter-spacing: -.045em; }
.clt-operation p { color: #66798a; font-size: 17px; line-height: 1.85; }
.clt-operation-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.clt-operation-cards article { min-height: 245px; padding: 28px; border: 1px solid rgba(255,255,255,.78); background: rgba(255,255,255,.62); box-shadow: 0 18px 45px rgba(36,65,82,.08); backdrop-filter: blur(12px); }
.clt-operation-cards strong { display: block; margin: 78px 0 12px; color: #183449; font-size: 23px; font-weight: 400; }
.clt-operation-cards p { margin: 0; font-size: 14px; }
.clt-next-products { scroll-margin-top: 190px; }

/* ==================== FCM FAN CONTROL SECTION ==================== */
.fcm-intro { padding: 120px 0; scroll-margin-top: 205px; background: #f4f7f9; overflow: hidden; }
.fcm-intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
.fcm-copy h2 { margin: 0; color: #10283b; font-size: clamp(52px, 6vw, 82px); line-height: .98; }
.fcm-copy h2 span { display: block; margin-top: 14px; color: #35536b; font-size: .44em; font-weight: 400; line-height: 1.35; letter-spacing: -.02em; }
.fcm-lead { margin: 38px 0 20px; color: #193449 !important; font-size: 22px; line-height: 1.65 !important; }
.fcm-copy > p:not(.section-no):not(.fcm-lead) { color: #69798b; line-height: 1.85; }
.fcm-visual { position: relative; min-height: 520px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.fcm-visual::before { content: "10"; position: absolute; right: 0; bottom: 15px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.fcm-visual img { position: relative; z-index: 2; width: min(94%, 600px); height: auto; object-fit: contain; filter: drop-shadow(0 26px 28px rgba(7,28,51,.22)); transition: transform .45s ease; }
.fcm-visual:hover img { transform: scale(1.03); }
.fcm-orbit { position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid rgba(39,165,198,.22); border-radius: 50%; }
.fcm-orbit::before, .fcm-orbit::after { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(39,165,198,.15); border-radius: 50%; }
.fcm-orbit::after { inset: 30%; }
.fcm-visual figcaption { position: absolute; z-index: 3; inset: auto 8px 18px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.fcm-visual figcaption b { color: #157f9b; font-weight: 500; }

.fcm-performance { padding: 115px 0; color: white; }
.fcm-section-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 80px; margin-bottom: 50px; }
.fcm-section-heading h2 { margin: 0; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.2; font-weight: 400; }
.fcm-section-heading > p { margin: 0 0 8px; color: #8e9cae; line-height: 1.8; }
.fcm-metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(79,194,223,.3); border-left: 1px solid rgba(79,194,223,.3); }
.fcm-metrics-grid article { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(79,194,223,.3); border-bottom: 1px solid rgba(79,194,223,.3); }
.fcm-metrics-grid small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.fcm-metrics-grid strong { margin: 28px 0 10px; color: white; font-size: clamp(36px, 4vw, 54px); font-weight: 400; letter-spacing: -.02em; }
.fcm-metrics-grid sup { color: var(--cyan); font-size: .45em; vertical-align: super; }
.fcm-metrics-grid h3 { margin: 0 0 10px; color: #e1e9f0; font-size: 16px; font-weight: 500; }
.fcm-metrics-grid p { margin: 0; color: #8d9bad; font-size: 13px; line-height: 1.7; }

.fcm-capabilities { padding: 120px 0; background: #f8fafc; }
.fcm-capabilities .fcm-section-heading h2 { color: #112d42; }
.fcm-capabilities .fcm-section-heading > p { color: #66798a; }
.fcm-capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.fcm-capability-grid article { min-height: 280px; padding: 36px; border: 1px solid rgba(18,55,75,.08); background: white; box-shadow: 0 12px 32px rgba(28,52,70,.04); transition: transform .3s, box-shadow .3s; }
.fcm-capability-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(28,52,70,.08); }
.cap-header { margin-bottom: 18px; }
.cap-header span { color: #157f9b; font-family: monospace; font-size: 10px; letter-spacing: .08em; font-weight: 600; }
.cap-header h3 { margin: 8px 0 0; color: #10283b; font-size: 24px; font-weight: 500; }
.fcm-capability-grid article > p { color: #66798a; font-size: 15px; line-height: 1.8; margin-bottom: 20px; }
.cap-list { margin: 0; padding-left: 20px; color: #486173; font-size: 14px; line-height: 1.8; }
.cap-list li { margin-bottom: 5px; }

.fcm-hardware { padding: 120px 0; color: white; }
.fcm-hardware-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.fcm-hw-card { display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); padding: 32px; backdrop-filter: blur(8px); }
.hw-card-image { min-height: 320px; display: grid; place-items: center; padding: 20px; margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.hw-card-image img { max-width: 90%; max-height: 300px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(0,0,0,.35)); transition: transform .4s ease; }
.fcm-hw-card:hover .hw-card-image img { transform: scale(1.04); }
.hw-badge { display: inline-block; margin-bottom: 10px; color: var(--cyan); font-family: monospace; font-size: 10px; letter-spacing: .08em; }
.hw-card-content h3 { margin: 0 0 14px; font-size: 22px; font-weight: 500; }
.hw-card-content p { color: #94a3b8; font-size: 14px; line-height: 1.8; margin-bottom: 22px; }
.hw-specs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; border-top: 1px solid rgba(255,255,255,.08); padding-top: 16px; }
.hw-specs li { display: flex; justify-content: space-between; font-size: 13px; }
.hw-specs strong { color: #c4d2df; font-weight: 400; }
.hw-specs span { color: var(--cyan); }

/* FCM Sensor Network Component */
.fcm-sensor-network { display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); padding: 32px; backdrop-filter: blur(8px); }
.sensor-network-head { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.sensor-network-head h3 { margin: 0 0 10px; font-size: 22px; font-weight: 500; }
.sensor-network-head p { margin: 0; color: #94a3b8; font-size: 14px; line-height: 1.7; }
.sensor-nodes-grid { display: grid; gap: 16px; }
.sensor-node-item { display: grid; grid-template-columns: 38px 1fr; gap: 16px; align-items: start; padding: 18px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.02); border-radius: 4px; transition: background .25s, border-color .25s; }
.sensor-node-item:hover { background: rgba(79,194,223,.05); border-color: rgba(79,194,223,.2); }
.node-icon { display: grid; place-items: center; width: 38px; height: 38px; color: var(--cyan); border: 1px solid rgba(79,194,223,.35); background: rgba(79,194,223,.08); border-radius: 50%; font-family: monospace; font-size: 11px; font-weight: 600; }
.sensor-node-item strong { display: block; margin-bottom: 6px; color: #e2e8f0; font-size: 15px; font-weight: 500; }
.sensor-node-item p { margin: 0; color: #8e9cae; font-size: 13px; line-height: 1.65; }

/* FCM Dashboard Section */
.fcm-dashboard-section { padding: 120px 0; background: #eff4f6; }
.fcm-dashboard-section .fcm-section-heading h2 { color: #112d42; }
.fcm-dashboard-section .fcm-section-heading > p { color: #66798a; }

.fcm-dash-window { margin-bottom: 40px; border: 1px solid rgba(24,58,82,.2); background: #07152a; box-shadow: 0 24px 60px rgba(10,32,54,.18); border-radius: 8px; overflow: hidden; color: white; }
.dash-window-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; background: #0c1e36; border-bottom: 1px solid rgba(255,255,255,.08); }
.dash-status { display: flex; align-items: center; gap: 8px; font-family: monospace; font-size: 11px; color: var(--cyan); letter-spacing: .06em; }
.live-dot { width: 8px; height: 8px; background: #10b981; border-radius: 50%; box-shadow: 0 0 10px #10b981; animation: pulseDot 2s infinite ease-in-out; }
@keyframes pulseDot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.85); } }
.dash-machine { font-family: monospace; font-size: 13px; color: #a4b5c7; font-weight: 500; letter-spacing: .04em; }
.dash-target { display: flex; align-items: baseline; gap: 8px; }
.dash-target small { color: #7890a8; font-family: monospace; font-size: 10px; letter-spacing: .08em; }
.dash-target strong { color: white; font-size: 18px; font-family: monospace; font-weight: 500; }
.dash-target strong span { color: var(--cyan); font-size: 11px; }

.dash-window-body { display: grid; grid-template-columns: 1.18fr .82fr; border-bottom: 1px solid rgba(255,255,255,.08); }
.dash-curve-box { padding: 24px; border-right: 1px solid rgba(255,255,255,.08); background: #08192e; display: flex; flex-direction: column; }
.curve-box-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.curve-box-title span { color: var(--cyan); font-family: monospace; font-size: 11px; letter-spacing: .07em; font-weight: 600; }
.curve-box-title small { color: #708499; font-family: monospace; font-size: 10px; }
.curve-svg-container { width: 100%; height: auto; max-height: 280px; display: grid; place-items: center; }
.curve-svg { width: 100%; height: auto; }
.pulse-glow { animation: pulseGlow 2.5s infinite ease-in-out; }
@keyframes pulseGlow { 0%, 100% { opacity: .7; transform: scale(1); transform-origin: 250px 102px; } 50% { opacity: 1; transform: scale(1.4); transform-origin: 250px 102px; } }
.chart-console { position: relative; isolation: isolate; }
.chart-console::after { content: ""; position: absolute; z-index: 4; top: 0; bottom: 0; left: -20%; width: 18%; opacity: 0; background: linear-gradient(90deg, transparent, rgba(105,213,235,.08), transparent); transform: skewX(-14deg); pointer-events: none; }
.chart-console.is-chart-active::after { animation: chartScan 4.8s 1.3s ease-in-out infinite; }
.chart-enhanced .chart-line-primary { stroke-dasharray: 720; stroke-dashoffset: 720; }
.chart-enhanced.is-chart-active .chart-line-primary { animation: chartLineDraw 1.45s .18s cubic-bezier(.22,.75,.18,1) forwards; }
.chart-enhanced .chart-line-secondary { opacity: 0; }
.chart-enhanced.is-chart-active .chart-line-secondary { animation: chartFadeIn .7s .65s ease-out forwards; }
.chart-enhanced .chart-area { opacity: 0; }
.chart-enhanced.is-chart-active .chart-area { animation: chartAreaIn 1.1s .85s ease-out forwards; }
.chart-enhanced .chart-guide, .chart-enhanced .chart-process-line { opacity: 0; }
.chart-enhanced.is-chart-active .chart-guide, .chart-enhanced.is-chart-active .chart-process-line { animation: chartFadeIn .45s 1.05s ease-out forwards; }
.chart-enhanced .chart-operating-point, .chart-enhanced .chart-state-point { opacity: 0; transform-box: fill-box; transform-origin: center; }
.chart-enhanced.is-chart-active .chart-operating-point { animation: chartPointIn .55s 1.18s cubic-bezier(.2,1.5,.4,1) forwards, chartPointBreathe 2.4s 1.9s ease-in-out infinite; }
.chart-enhanced.is-chart-active .chart-state-point { animation: chartPointIn .45s 1s cubic-bezier(.2,1.5,.4,1) forwards; }
.chart-enhanced.is-chart-active .chart-state-point:nth-of-type(2) { animation-delay: 1.15s; }
.chart-enhanced.is-chart-active .chart-state-point:nth-of-type(3) { animation-delay: 1.3s; }
.chart-enhanced.is-chart-active .chart-supply-point { animation: chartPointIn .5s 1.55s cubic-bezier(.2,1.5,.4,1) forwards, chartPointBreathe 2.2s 2.1s ease-in-out infinite; }
.chart-warning-band { transform-box: fill-box; transform-origin: center; }
.chart-enhanced.is-chart-active .chart-warning-band { animation: chartWarning 2.8s 1.4s ease-in-out infinite; }
.chart-save-zone { transform-box: fill-box; transform-origin: center; }
.chart-enhanced.is-chart-active .chart-save-zone { animation: chartSaveZone 3.2s 1.5s ease-in-out infinite; }
.chart-enhanced .tele-item, .chart-enhanced .p-stat-card { opacity: 0; transform: translateY(10px); }
.chart-enhanced.is-chart-active .tele-item, .chart-enhanced.is-chart-active .p-stat-card { animation: chartCardIn .55s ease-out forwards; }
.chart-enhanced.is-chart-active .tele-item:nth-child(1), .chart-enhanced.is-chart-active .p-stat-card:nth-child(1) { animation-delay: .35s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(2), .chart-enhanced.is-chart-active .p-stat-card:nth-child(2) { animation-delay: .48s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(3), .chart-enhanced.is-chart-active .p-stat-card:nth-child(3) { animation-delay: .61s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(4) { animation-delay: .74s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(5) { animation-delay: .87s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(6) { animation-delay: 1s; }
.chart-enhanced.is-chart-active .tele-item:nth-child(7) { animation-delay: 1.13s; }
@keyframes chartLineDraw { to { stroke-dashoffset: 0; } }
@keyframes chartFadeIn { to { opacity: 1; } }
@keyframes chartAreaIn { from { opacity: 0; } to { opacity: .9; } }
@keyframes chartPointIn { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
@keyframes chartPointBreathe { 50% { filter: drop-shadow(0 0 7px #69d5eb); transform: scale(1.28); } }
@keyframes chartCardIn { to { opacity: 1; transform: none; } }
@keyframes chartWarning { 50% { opacity: .62; filter: drop-shadow(0 0 5px rgba(229,173,53,.42)); } }
@keyframes chartSaveZone { 50% { opacity: .62; filter: drop-shadow(0 0 7px rgba(79,194,223,.35)); } }
@keyframes chartScan { 0%, 12% { left: -20%; opacity: 0; } 22% { opacity: 1; } 52%, 100% { left: 108%; opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .chart-enhanced::after { display: none; }
  .chart-enhanced :where(.chart-line-primary, .chart-line-secondary, .chart-area, .chart-guide, .chart-process-line, .chart-operating-point, .chart-state-point, .tele-item, .p-stat-card) { animation: none !important; opacity: 1; transform: none; stroke-dashoffset: 0; }
  .chart-enhanced :where(.chart-warning-band, .chart-save-zone) { animation: none !important; }
}
.curve-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.06); font-size: 11px; color: #8a9cb0; }
.curve-legend span { display: flex; align-items: center; gap: 6px; }
.legend-line { width: 16px; height: 3px; background: #4fc2df; border-radius: 2px; }
.legend-band { width: 12px; height: 10px; background: rgba(255,180,0,.2); border: 1px dashed #e5ad35; }
.legend-point { width: 7px; height: 7px; background: white; border: 2px solid #4fc2df; border-radius: 50%; }

.dash-telemetry-box { padding: 24px; background: #0a1e38; }
.telemetry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tele-item { padding: 14px 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 4px; }
.tele-item.highlight { border-color: rgba(79,194,223,.4); background: rgba(79,194,223,.08); }
.tele-item.wide { grid-column: span 2; }
.tele-item small { display: block; color: #768ea6; font-family: monospace; font-size: 9px; letter-spacing: .08em; margin-bottom: 6px; }
.tele-item.highlight small { color: var(--cyan); }
.tele-item strong { display: block; color: white; font-size: 22px; font-family: monospace; font-weight: 500; letter-spacing: -.02em; }
.tele-item strong span { font-size: 11px; color: #94a3b8; font-weight: 400; margin-left: 2px; }
.tele-item em { display: block; margin-top: 4px; color: #10b981; font-size: 10px; font-style: normal; font-family: monospace; }
.air-env-row { display: flex; justify-content: space-between; font-size: 12px; color: #94a3b8; font-family: monospace; margin-top: 4px; }
.air-env-row b { color: white; }

.dash-window-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 24px; background: #07152a; font-family: monospace; font-size: 11px; color: #869cb3; border-top: 1px solid rgba(255,255,255,.06); }
.dash-check { display: flex; align-items: center; gap: 6px; }
.dash-check i { color: #10b981; font-style: normal; font-weight: bold; }
.dash-check.link { color: var(--cyan); }
.dash-check.link i { color: var(--cyan); }

.fcm-integration-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.integration-card { padding: 28px; border: 1px solid rgba(255,255,255,.8); background: rgba(255,255,255,.65); box-shadow: 0 12px 30px rgba(36,65,82,.05); backdrop-filter: blur(10px); border-radius: 4px; }
.int-tag { display: inline-block; color: #157f9b; font-family: monospace; font-size: 10px; font-weight: 600; letter-spacing: .08em; margin-bottom: 8px; }
.integration-card h4 { margin: 0 0 10px; color: #10283b; font-size: 18px; font-weight: 500; }
.integration-card p { margin: 0; color: #66798a; font-size: 13px; line-height: 1.7; }

.fcm-applications { padding: 120px 0; color: white; }
.fcm-app-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fcm-app-card { padding: 36px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); transition: background .3s, transform .3s; }
.fcm-app-card:hover { background: rgba(79,194,223,.06); transform: translateY(-4px); }
.app-tag { display: inline-block; margin-bottom: 16px; color: var(--cyan); font-family: monospace; font-size: 10px; letter-spacing: .09em; }
.fcm-app-card h3 { margin: 0 0 14px; font-size: 21px; font-weight: 500; }
.fcm-app-card p { margin: 0; color: #8e9cae; font-size: 14px; line-height: 1.8; }
.air-other-grid-one { grid-template-columns: 1fr; max-width: 460px; }

@media (max-width: 760px) {
  .clt-intro, .clt-sizes, .clt-value, .clt-operation { padding: 82px 0; }
  .clt-intro { scroll-margin-top: 185px; }
  .clt-intro-grid, .clt-section-heading, .clt-operation-grid { grid-template-columns: 1fr; gap: 42px; }
  .clt-copy h2 { font-size: 61px; }
  .clt-copy h2 span { font-size: .5em; }
  .clt-hero-products { min-height: 390px; }
  .clt-hero-item-50 { left: -7%; width: 56%; height: 62%; }
  .clt-hero-item-100 { right: -7%; width: 72%; height: 77%; }
  .clt-size-grid, .clt-value-grid, .clt-operation-cards { grid-template-columns: 1fr; }
  .clt-size-card { grid-template-rows: auto 300px auto; min-height: 650px; padding-inline: 22px; }
  .clt-size-label strong { font-size: 39px; }
  .clt-selection-note { grid-template-columns: 1fr; gap: 8px; }
  .clt-value-grid article { min-height: 230px; border-left: 1px solid rgba(185,226,237,.18); }
  .clt-value-grid h3 { margin-top: 55px; }
  .clt-operation-cards article { min-height: 210px; }
  .clt-operation-cards strong { margin-top: 58px; }

  .fcm-intro, .fcm-performance, .fcm-capabilities, .fcm-hardware, .fcm-dashboard-section, .fcm-applications { padding: 80px 0; }
  .fcm-intro { scroll-margin-top: 185px; }
  .fcm-intro-grid, .fcm-section-heading, .fcm-hardware-grid { grid-template-columns: 1fr; gap: 42px; }
  .fcm-metrics-grid, .fcm-capability-grid, .fcm-app-grid { grid-template-columns: 1fr; }
  .fcm-copy h2 { font-size: 52px; }
  .fcm-visual { min-height: 360px; }
  .fcm-sensor-network { padding: 24px; }
  .dash-window-header { flex-direction: column; align-items: flex-start; gap: 10px; }
  .dash-window-body { grid-template-columns: 1fr; }
  .dash-curve-box { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .telemetry-grid { grid-template-columns: 1fr; }
  .tele-item.wide { grid-column: auto; }
  .fcm-integration-row { grid-template-columns: 1fr; }
  .dash-window-footer { flex-direction: column; align-items: flex-start; gap: 8px; }

  .ecm-intro, .ecm-performance, .ecm-modules-section, .ecm-psychrometric-section, .ecm-ahu-view { padding: 80px 0; }
  .ecm-intro { scroll-margin-top: 185px; }
  .ecm-intro-grid, .ecm-section-heading { grid-template-columns: 1fr; gap: 42px; }
  .ecm-metrics-grid, .ecm-module-grid { grid-template-columns: 1fr; }
  .ecm-card-wide { grid-column: auto; }
  .ecm-copy h2 { font-size: 52px; }
  .ecm-visual { min-height: 360px; }
  .psychro-window-header { flex-direction: column; align-items: flex-start; gap: 10px; }
  .psychro-window-body { grid-template-columns: 1fr; }
  .psychro-chart-box { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .ahu-flow-top { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ahu-sections-grid { grid-template-columns: 1fr; }
  .ahu-flow-footer { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ==================== ECM AHU MANAGEMENT SECTION ==================== */
.ecm-intro { padding: 120px 0; scroll-margin-top: 205px; background: #f4f7f9; overflow: hidden; }
.ecm-intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
.ecm-copy h2 { margin: 0; color: #10283b; font-size: clamp(52px, 6vw, 82px); line-height: .98; }
.ecm-copy h2 span { display: block; margin-top: 14px; color: #35536b; font-size: .44em; font-weight: 400; line-height: 1.35; letter-spacing: -.02em; }
.ecm-patent-badge { display: inline-flex; flex-direction: column; gap: 4px; margin-top: 22px; padding: 12px 18px; border: 1px solid rgba(79,194,223,.4); background: rgba(79,194,223,.08); border-radius: 4px; }
.ecm-patent-badge small { color: #157f9b; font-family: monospace; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.ecm-patent-badge strong { color: #10283b; font-size: 13px; font-weight: 500; }
.ecm-lead { margin: 30px 0 20px; color: #193449 !important; font-size: 22px; line-height: 1.65 !important; }
.ecm-copy > p:not(.section-no):not(.ecm-lead) { color: #69798b; line-height: 1.85; }
.ecm-visual { position: relative; min-height: 520px; display: grid; place-items: center; margin: 0; isolation: isolate; }
.ecm-visual::before { content: "11"; position: absolute; right: 0; bottom: 15px; z-index: -2; color: rgba(18,55,75,.045); font-size: clamp(180px, 22vw, 310px); font-weight: 600; line-height: .7; }
.ecm-visual img { position: relative; z-index: 2; width: min(96%, 620px); height: auto; object-fit: contain; filter: drop-shadow(0 26px 28px rgba(7,28,51,.22)); transition: transform .45s ease; }
.ecm-visual:hover img { transform: scale(1.03); }
.ecm-orbit { position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid rgba(39,165,198,.22); border-radius: 50%; }
.ecm-orbit::before, .ecm-orbit::after { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(39,165,198,.15); border-radius: 50%; }
.ecm-orbit::after { inset: 30%; }
.ecm-visual figcaption { position: absolute; z-index: 3; inset: auto 8px 18px; display: flex; justify-content: space-between; color: #6e8292; font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.ecm-visual figcaption b { color: #157f9b; font-weight: 500; }

.ecm-performance { padding: 115px 0; color: white; }
.ecm-section-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 80px; margin-bottom: 50px; }
.ecm-section-heading h2 { margin: 0; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.2; font-weight: 400; }
.ecm-section-heading > p { margin: 0 0 8px; color: #8e9cae; line-height: 1.8; }
.ecm-metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(79,194,223,.3); border-left: 1px solid rgba(79,194,223,.3); }
.ecm-metrics-grid article { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(79,194,223,.3); border-bottom: 1px solid rgba(79,194,223,.3); }
.ecm-metrics-grid small { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; }
.ecm-metrics-grid strong { margin: 28px 0 10px; color: white; font-size: clamp(36px, 4vw, 54px); font-weight: 400; letter-spacing: -.02em; }
.ecm-metrics-grid sup { color: var(--cyan); font-size: .45em; vertical-align: super; }
.ecm-metrics-grid h3 { margin: 0 0 10px; color: #e1e9f0; font-size: 16px; font-weight: 500; }
.ecm-metrics-grid p { margin: 0; color: #8d9bad; font-size: 13px; line-height: 1.7; }

/* 5 Core Modules Section */
.ecm-modules-section { padding: 120px 0; background: #f8fafc; }
.ecm-modules-section .ecm-section-heading h2 { color: #112d42; }
.ecm-modules-section .ecm-section-heading > p { color: #66798a; }
.ecm-module-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.ecm-module-grid article { min-height: 260px; padding: 34px; border: 1px solid rgba(18,55,75,.08); background: white; box-shadow: 0 12px 32px rgba(28,52,70,.04); transition: transform .3s, box-shadow .3s; }
.ecm-module-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(28,52,70,.08); }
.ecm-card-wide { grid-column: span 2; }
.mod-num { display: inline-block; margin-bottom: 12px; color: #157f9b; font-family: monospace; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.ecm-module-grid h3 { margin: 0 0 12px; color: #10283b; font-size: 22px; font-weight: 500; }
.ecm-module-grid p { color: #66798a; font-size: 15px; line-height: 1.8; margin-bottom: 18px; }
.ecm-module-grid ul { margin: 0; padding-left: 20px; color: #486173; font-size: 14px; line-height: 1.8; }
.ecm-module-grid li { margin-bottom: 4px; }

/* Psychrometric Chart Section */
.ecm-psychrometric-section { padding: 120px 0; color: white; }
.psychro-window { margin-bottom: 40px; border: 1px solid rgba(255,255,255,.12); background: #07152a; box-shadow: 0 24px 60px rgba(10,32,54,.25); border-radius: 8px; overflow: hidden; }
.psychro-window-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; background: #0c1e36; border-bottom: 1px solid rgba(255,255,255,.08); }
.psychro-mode-tag { color: #10b981; font-family: monospace; font-size: 11px; font-weight: 600; letter-spacing: .06em; background: rgba(16,185,129,.12); padding: 4px 10px; border-radius: 4px; border: 1px solid rgba(16,185,129,.25); }
.psychro-window-body { display: grid; grid-template-columns: 1.22fr .78fr; }
.psychro-chart-box { padding: 24px; border-right: 1px solid rgba(255,255,255,.08); background: #08192e; display: flex; flex-direction: column; }
.psychro-svg-container { width: 100%; height: auto; max-height: 300px; display: grid; place-items: center; }
.legend-oa { width: 8px; height: 8px; background: #e5ad35; border-radius: 50%; }
.legend-ra { width: 8px; height: 8px; background: #f43f5e; border-radius: 50%; }
.legend-ma { width: 8px; height: 8px; background: #a855f7; border-radius: 50%; }
.legend-sa { width: 8px; height: 8px; background: #10b981; border-radius: 50%; }

.psychro-data-box { padding: 24px; background: #0a1e38; }
.psychro-stat-list { display: grid; gap: 14px; }
.p-stat-card { padding: 16px 20px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 4px; }
.p-stat-card.highlight { border-color: rgba(79,194,223,.4); background: rgba(79,194,223,.08); }
.p-stat-card small { display: block; color: #768ea6; font-family: monospace; font-size: 9px; letter-spacing: .08em; margin-bottom: 6px; }
.p-stat-card.highlight small { color: var(--cyan); }
.p-stat-card strong { display: block; color: white; font-size: 26px; font-family: monospace; font-weight: 500; letter-spacing: -.02em; margin-bottom: 6px; }
.p-stat-card p { margin: 0; color: #8e9cae; font-size: 13px; line-height: 1.6; }
.p-data-row { display: flex; justify-content: space-between; font-size: 13px; color: #94a3b8; font-family: monospace; padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.p-data-row:last-child { border-bottom: none; }
.p-data-row b { color: white; }
.p-data-row.green b { color: #10b981; }

/* AHU Digital Twin View Section */
.ecm-ahu-view { padding: 120px 0; background: #eff4f6; }
.ecm-ahu-view .ecm-section-heading h2 { color: #112d42; }
.ecm-ahu-view .ecm-section-heading > p { color: #66798a; }

.ahu-flow-board { border: 1px solid rgba(24,58,82,.2); background: #07152a; box-shadow: 0 24px 60px rgba(10,32,54,.18); border-radius: 8px; overflow: hidden; color: white; }
.ahu-flow-top { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; background: #0c1e36; border-bottom: 1px solid rgba(255,255,255,.08); }
.flow-badge { color: #10b981; font-family: monospace; font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.flow-title { font-family: monospace; font-size: 13px; color: #e2e8f0; font-weight: 500; }
.flow-eff { font-family: monospace; font-size: 12px; color: #7890a8; }
.flow-eff b { color: var(--cyan); }

.ahu-sections-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.08); }
.ahu-sec-card { padding: 26px 20px; background: #08192e; display: flex; flex-direction: column; }
.sec-tag { color: var(--cyan); font-family: monospace; font-size: 9px; letter-spacing: .08em; margin-bottom: 8px; }
.ahu-sec-card h4 { margin: 0 0 16px; font-size: 17px; font-weight: 500; color: white; }
.sec-metrics { display: grid; gap: 8px; margin-bottom: 16px; padding: 12px; background: rgba(255,255,255,.03); border-radius: 4px; border: 1px solid rgba(255,255,255,.06); }
.sec-metrics div { display: flex; justify-content: space-between; font-size: 11px; font-family: monospace; }
.sec-metrics span { color: #7890a8; }
.sec-metrics strong { color: white; font-weight: 500; }
.ahu-sec-card p { margin: 0; color: #8e9cae; font-size: 12px; line-height: 1.6; }

.ahu-flow-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 14px 24px; background: #051020; font-family: monospace; font-size: 11px; color: #768ea6; border-top: 1px solid rgba(255,255,255,.06); }
.ahu-flow-footer small { color: var(--cyan); margin-right: 4px; }

/* Generated menu visuals reused as restrained page atmosphere. */
.company-hero, .technology-hero, .resources-hero { position: relative; isolation: isolate; overflow: hidden; }
.company-hero::before, .technology-hero::before, .resources-hero::before { content: ''; position: absolute; z-index: -2; inset: 0 0 0 48%; background-repeat: no-repeat; background-position: center; background-size: cover; opacity: .32; }
.company-hero::after, .technology-hero::after, .resources-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(7,21,42,.98) 0%, rgba(7,21,42,.9) 48%, rgba(7,21,42,.34) 100%); pointer-events: none; }
.company-hero::before { background-image: url('./assets/menu-company-building.png'); background-position: center 54%; }
.technology-hero::before { background-image: url('./assets/menu-technology-blueprint.png'); background-position: center 45%; }
.resources-hero::before { background-image: url('./assets/menu-resources-catalogues.png'); background-position: center 58%; }
.company-hero > .container, .technology-hero > .container, .resources-hero > .container { position: relative; z-index: 1; }

@media (max-width: 900px) {
  .company-hero::before, .technology-hero::before, .resources-hero::before { left: 35%; opacity: .2; }
  .company-hero::after, .technology-hero::after, .resources-hero::after { background: linear-gradient(90deg, rgba(7,21,42,.98), rgba(7,21,42,.72)); }
}

/* Solutions full-screen snap showcase */
html:has(.solutions-body) { scroll-snap-type: y mandatory; scroll-behavior: smooth; }
.solutions-body { background: #07152a; }
.solutions-showcase { overflow: clip; }
.solution-stage { position: relative; min-height: 100svh; padding: 122px 0 48px; color: white; scroll-snap-align: start; scroll-snap-stop: always; isolation: isolate; overflow: hidden; }
.solution-stage-bg { position: absolute; z-index: -2; inset: 0; }
.solution-stage-hvac .solution-stage-bg { background: radial-gradient(circle at 86% 38%, rgba(74,187,215,.2), transparent 32%), repeating-radial-gradient(ellipse at 100% 42%, transparent 0 28px, rgba(92,194,217,.08) 29px 30px, transparent 31px 46px), #08192c; }
.solution-stage-edim .solution-stage-bg { background-color: #071326; background-image: linear-gradient(rgba(66,166,197,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(66,166,197,.08) 1px,transparent 1px),radial-gradient(circle at 20% 70%,rgba(38,118,179,.22),transparent 35%); background-size: 42px 42px,42px 42px,auto; }
.solution-stage-inner { display: grid; align-content: space-between; min-height: calc(100svh - 170px); }
.solution-stage-heading { display: flex; align-items: end; justify-content: space-between; gap: 55px; }
.solution-stage-heading h1 { margin: 0; font-size: clamp(72px, 9vw, 132px); font-weight: 400; line-height: .82; letter-spacing: -.055em; }
.solution-stage-heading p:not(.eyebrow) { max-width: 630px; margin: 22px 0 0; color: #9eafbf; font-size: 17px; line-height: 1.7; }
.solution-stage-heading > a { display: inline-flex; gap: 16px; padding: 13px 0; color: #6bc9df; border-bottom: 1px solid rgba(107,201,223,.42); font-size: 13px; white-space: nowrap; }
.solution-stage-heading > a span { transition: transform .2s; }
.solution-stage-heading > a:hover span { transform: translateX(4px); }
.infinite-slider { min-width: 0; margin-top: 28px; }
.slider-toolbar { display: flex; align-items: end; justify-content: space-between; margin-bottom: 12px; }
.slider-toolbar p { display: grid; gap: 3px; margin: 0; }
.slider-toolbar b { color: #eef8fb; font-size: 15px; font-weight: 500; }
.slider-toolbar p span { color: #74889d; font-size: 11px; }
.slider-toolbar > div { display: flex; gap: 7px; }
.slider-toolbar button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: #dff7fb; border: 1px solid rgba(102,194,216,.3); border-radius: 50%; background: rgba(13,42,65,.74); cursor: pointer; transition: .2s; }
.slider-toolbar button:hover { color: #07152a; border-color: #65c6dd; background: #65c6dd; }
.solution-card-track { display: flex; gap: 16px; padding: 10px calc((100% - min(32vw, 390px))/2) 20px 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; cursor: grab; }
.solution-card-track::-webkit-scrollbar { display: none; }
.solution-card-track.is-auto-playing { scroll-snap-type: none; scroll-behavior: auto; }
.solution-card-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.solution-product-card { position: relative; flex: 0 0 min(32vw, 390px); min-width: 300px; height: clamp(330px, 42vh, 430px); display: grid; grid-template-rows: auto 1fr auto; padding: 20px; overflow: hidden; color: white; border: 1px solid rgba(155,211,224,.16); border-radius: 12px; background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035)); scroll-snap-align: start; opacity: .58; filter: saturate(.3); transform: scale(.94); transform-origin: center; transition: opacity .32s, filter .32s, transform .32s, border-color .32s, background .32s; }
.solution-product-card.is-active, .solution-product-card:hover, .solution-product-card:focus-visible { opacity: 1; filter: saturate(1); transform: scale(1); border-color: rgba(101,198,221,.52); background: linear-gradient(145deg, rgba(33,91,121,.56), rgba(255,255,255,.05)); }
.solution-product-card > small { color: #61c4dc; font-family: monospace; font-size: 10px; letter-spacing: .1em; }
.solution-product-card > img, .card-image-stack { width: 100%; height: 100%; min-height: 0; object-fit: contain; filter: drop-shadow(0 22px 20px rgba(0,0,0,.3)); }
.solution-product-card > img { padding: 2px 8px; }
.card-image-stack { position: relative; display: block; }
.card-image-stack img { position: absolute; width: 72%; height: 100%; object-fit: contain; }
.card-image-stack img:first-child { left: -5%; }.card-image-stack img:last-child { right: -4%; }
.solution-product-card h2 { margin: 0 0 7px; font-size: 25px; font-weight: 400; letter-spacing: -.02em; }
.solution-product-card p { margin: 0; color: #9eb0c0; font-size: 13px; }
.edim-card { background-image: linear-gradient(145deg,rgba(20,70,105,.82),rgba(7,22,43,.72)),linear-gradient(rgba(78,184,211,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(78,184,211,.12) 1px,transparent 1px); background-size: auto,26px 26px,26px 26px; }
.edim-card-graphic { align-self: center; color: transparent; font-size: clamp(72px, 8vw, 122px); font-weight: 600; letter-spacing: -.06em; -webkit-text-stroke: 1px rgba(100,207,229,.55); text-shadow: 0 0 28px rgba(60,183,211,.18); }
.stage-scroll-cue { display: flex; align-items: center; gap: 10px; margin-top: 10px; color: #647b8f; font-family: monospace; font-size: 9px; letter-spacing: .13em; }
.stage-scroll-cue span { width: 26px; height: 1px; background: linear-gradient(90deg,#65c6dd,transparent); }
.solutions-footer { scroll-snap-align: end; }

@media (max-width: 900px) {
  .solution-stage { min-height: 100svh; padding: 104px 0 38px; }
  .solution-stage-inner { min-height: calc(100svh - 142px); }
  .solution-stage-heading { display: grid; gap: 10px; }
  .solution-stage-heading h1 { font-size: clamp(68px, 20vw, 92px); }
  .solution-stage-heading p:not(.eyebrow) { margin-top: 16px; font-size: 14px; }
  .solution-stage-heading > a { justify-self: start; padding-block: 8px; }
  .slider-toolbar p span { display: none; }
  .solution-card-track { gap: 12px; margin-inline: -16px; padding-inline: 16px calc(50% - 135px); }
  .solution-product-card { flex-basis: min(76vw, 310px); min-width: 270px; height: min(43svh, 370px); }
  .solution-product-card h2 { font-size: 21px; }
}

/* ========================================================================== */
/* NOVA DETAIL SYSTEM 2026 — premium industrial editorial layer               */
/* ========================================================================== */
.detail-system-page {
  color: var(--color-ink);
  background: var(--color-surface);
  font-size: var(--type-body);
  line-height: var(--leading-body);
}
.detail-system-page h1 { font-size: var(--type-hero) !important; }
.detail-system-page h2 { font-size: var(--type-h2) !important; }
.detail-system-page h3 { font-size: var(--type-card) !important; }
.detail-system-page :where(p, li) { text-wrap: pretty; }
.detail-system-page main p { font-size: max(14px, 1em) !important; }
.detail-system-page main :where(small, figcaption, figcaption *) { font-size: 12px !important; }
.detail-system-page :where(.section-no, .eyebrow, small, figcaption, .category-breadcrumb) {
  font-size: var(--type-label);
  line-height: 1.5;
  letter-spacing: .09em;
}
.detail-system-page :where(.section-no, .eyebrow) {
  margin: 0 0 1.25rem;
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 500;
}
.detail-system-page :where(.category-hero h1, .family-hero h1, .solution-stage-heading h1) {
  font-size: var(--type-hero);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.detail-system-page :where(.eurus-copy h2, .partial-copy h2, .pullout-copy h2, .fan-lineup-title h2, .air-ahu-copy h2, .bio-hvac-copy h2, .ief-copy h2, .iaqs-copy h2, .clt-copy h2, .fcm-copy h2, .ecm-copy h2),
.detail-system-page :where(.performance-heading h2, .partial-heading h2, .pullout-heading h2, .air-section-heading h2, .clt-section-heading h2, .clt-operation h2, .fcm-section-heading h2, .ecm-section-heading h2, .group-heading h2, .family-cta h2) {
  font-size: var(--type-h2);
  line-height: var(--leading-heading);
  letter-spacing: -.028em;
}
.detail-system-page .eurus-copy h2,
.detail-system-page .partial-copy h2,
.detail-system-page .pullout-copy h2,
.detail-system-page .fan-lineup-title h2,
.detail-system-page .air-ahu-copy h2,
.detail-system-page .bio-hvac-copy h2,
.detail-system-page .ief-copy h2,
.detail-system-page .iaqs-copy h2,
.detail-system-page .clt-copy h2,
.detail-system-page .fcm-copy h2,
.detail-system-page .ecm-copy h2 {
  font-size: var(--type-product) !important;
  line-height: 1.02;
  letter-spacing: -.04em;
}
.detail-system-page .clt-copy h2 { font-weight: 500; }
.detail-system-page .clt-copy h2 > span { font-weight: 400; }
.detail-system-page :where(article h3, .fan-detail h3, .clt-size-copy h3, .integration-card h4, .ahu-sec-card h4) {
  font-size: var(--type-card);
  line-height: 1.35;
}
.detail-system-page :where(.eurus-lead, .partial-lead, .pullout-lead, .air-ahu-lead, .bio-hvac-lead, .ief-lead, .iaqs-lead, .clt-lead, .fcm-lead, .ecm-lead) {
  max-width: var(--measure-copy);
  font-size: var(--type-lead) !important;
  line-height: 1.62 !important;
}
.detail-system-page :where(.eurus-copy, .partial-copy, .pullout-copy, .air-ahu-copy, .bio-hvac-copy, .ief-copy, .iaqs-copy, .clt-copy, .fcm-copy, .ecm-copy) > p:not(.section-no) {
  max-width: var(--measure-copy);
  font-size: var(--type-body);
  line-height: var(--leading-body);
}
.detail-system-page :where(article p, .family-card p, .solution-product-card p) {
  font-size: var(--type-secondary);
  line-height: 1.7;
}
.detail-system-page :where(.performance-note, .partial-note, .pullout-note, .bio-note, .ief-note, .control-note) {
  font-size: var(--type-note);
  line-height: 1.7;
}

/* Shared section rhythm */
.detail-system-page :where(.eurus-intro, .partial-intro, .pullout-intro, .fan-lineup-intro, .air-ahu-intro, .bio-hvac-intro, .ief-intro, .iaqs-intro, .clt-intro, .fcm-intro, .ecm-intro) { padding-block: var(--space-feature); }
.detail-system-page :where(.eurus-performance, .eurus-concept, .partial-value, .partial-config, .pullout-value, .pullout-maintenance, .fan-lineup-showcase, .air-foundation, .bio-hvac-value, .ief-performance, .air-capabilities, .air-control, .iaqs-performance, .iaqs-architecture, .iaqs-telemetry, .clt-sizes, .clt-value, .clt-operation, .fcm-performance, .fcm-capabilities, .fcm-hardware, .fcm-dashboard-section, .fcm-applications, .ecm-performance, .ecm-modules-section, .ecm-psychrometric-section, .ecm-ahu-view) { padding-block: var(--space-standard); }
.detail-system-page .family-cta { padding-block: var(--space-compact); }
.detail-system-page :where(.performance-heading, .partial-heading, .pullout-heading, .air-section-heading, .clt-section-heading, .fcm-section-heading, .ecm-section-heading) {
  gap: clamp(2.5rem, 6vw, 5rem);
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}
.detail-system-page :where(.performance-heading, .partial-heading, .pullout-heading, .air-section-heading, .clt-section-heading, .fcm-section-heading, .ecm-section-heading) > p {
  max-width: var(--measure-narrow);
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

/* Product introduction split: visual 55–60%, text 40–45%. */
.detail-system-page :where(.eurus-intro-grid, .partial-intro-grid, .pullout-intro-grid, .air-ahu-grid, .bio-hvac-grid, .ief-intro-grid, .iaqs-intro-grid, .clt-intro-grid, .fcm-intro-grid, .ecm-intro-grid) {
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(3rem, 6vw, 5.5rem);
}
.detail-system-page :where(.eurus-visual, .partial-visual, .pullout-visual, .air-ahu-visual, .bio-hvac-visual, .ief-visual, .iaqs-visual, .fcm-visual, .ecm-visual) {
  min-height: clamp(30rem, 50vw, 39rem);
}
.detail-system-page :where(.eurus-visual img, .partial-visual img, .pullout-visual img, .bio-hvac-visual img, .ief-visual img, .iaqs-visual img, .fcm-visual img, .ecm-visual img) { width: min(94%, 43rem); }
.detail-system-page :where(.eurus-visual figcaption, .partial-visual figcaption, .pullout-visual figcaption, .air-ahu-visual figcaption, .bio-hvac-visual figcaption, .ief-visual figcaption, .iaqs-visual figcaption, .fcm-visual figcaption, .ecm-visual figcaption) { font-size: var(--type-note); }

/* Editorial data groups: rules, whitespace and type replace repeated tiles. */
.detail-system-page :where(.performance-grid, .concept-grid, .pullout-metrics, .pullout-maintenance-grid, .air-foundation-grid, .bio-value-grid, .ief-metrics, .ief-proof-grid, .clt-value-grid, .fcm-metrics-grid, .ecm-metrics-grid) {
  gap: 0;
  border: 0;
  border-top: 1px solid var(--color-rule-dark);
  background: transparent;
}
.detail-system-page :where(.performance-grid, .concept-grid, .pullout-metrics, .pullout-maintenance-grid, .air-foundation-grid, .bio-value-grid, .ief-metrics, .ief-proof-grid, .clt-value-grid, .fcm-metrics-grid, .ecm-metrics-grid) > article {
  min-height: 15.5rem;
  padding: 2rem clamp(1.25rem, 2.5vw, 2rem);
  border: 0;
  border-right: 1px solid var(--color-rule-dark);
  border-bottom: 1px solid var(--color-rule-dark);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  backdrop-filter: none;
}
.detail-system-page :where(.performance-grid, .concept-grid, .pullout-metrics, .pullout-maintenance-grid, .air-foundation-grid, .bio-value-grid, .ief-metrics, .ief-proof-grid, .clt-value-grid, .fcm-metrics-grid, .ecm-metrics-grid) > article:first-child { border-left: 1px solid var(--color-rule-dark); }
.detail-system-page :where(.performance-grid, .partial-metrics, .pullout-metrics, .ief-metrics, .fcm-metrics-grid, .ecm-metrics-grid) strong {
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  line-height: 1;
}
.detail-system-page :where(.performance-grid, .partial-metrics, .pullout-metrics, .ief-metrics, .fcm-metrics-grid, .ecm-metrics-grid) small { font-size: var(--type-label); }

/* Cards only remain where the information is an independent choice/group. */
.detail-system-page .partial-metrics { gap: 1px; background: var(--color-rule-dark); }
.detail-system-page .partial-metrics article {
  min-height: 17rem;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: rgba(255,255,255,.055);
  backdrop-filter: none;
}
.detail-system-page :where(.partial-config-grid, .fcm-capability-grid, .ecm-module-grid) { gap: 1px; background: var(--color-rule); }
.detail-system-page :where(.partial-config-grid, .fcm-capability-grid, .ecm-module-grid) article {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--color-surface);
}
.detail-system-page .partial-config-grid article { background: rgba(255,255,255,.055); }
.detail-system-page .partial-config-grid article::after { display: none; }
.detail-system-page :where(.partial-acclaim span, .partial-first-badge, .ecm-patent-badge) { border-radius: 0; box-shadow: none; }
.detail-system-page :where(.partial-acclaim small, .partial-first-badge small) { font-size: var(--type-label); }

/* HVAC / EDIM overview */
.detail-system-page .family-hero { padding-block: var(--space-standard) var(--space-compact); }
.detail-system-page .family-hero-row > p { max-width: var(--measure-copy); font-size: var(--type-lead); line-height: 1.7; }
.detail-system-page .family-content { padding-block: var(--space-standard); }
.detail-system-page .family-group + .family-group { margin-top: var(--space-standard); }
.detail-system-page .group-heading {
  grid-template-columns: 5rem minmax(0, 1fr) minmax(17rem, .7fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  margin-bottom: 3.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--color-rule);
}
.detail-system-page .group-heading > div:last-child > p { font-size: var(--type-body); line-height: 1.7; }
.detail-system-page .family-grid { gap: clamp(1.25rem, 2.5vw, 2.25rem); }
.detail-system-page .family-card {
  min-height: clamp(28rem, 40vw, 36rem);
  padding: 0 0 1.5rem;
  border: 0;
  border-bottom: 1px solid var(--color-rule);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.detail-system-page .family-card:hover { transform: translateY(-3px); box-shadow: none; }
.detail-system-page .family-card > span { font-size: clamp(5.5rem, 8vw, 8rem); opacity: .55; }
.detail-system-page .family-card-visual { min-height: 20rem; }
.detail-system-page .family-card-visual img { max-width: 96%; max-height: 19rem; }
.detail-system-page .family-card h3 { font-size: var(--type-card); }
.detail-system-page .family-card p { font-size: var(--type-secondary); }
.detail-system-page .edim-family-grid .family-card-placeholder { min-height: 28rem; border-bottom-color: rgba(38,143,173,.28); }

/* Technical evidence: readable labels and precise, flat surfaces. */
.detail-system-page :where(.fcm-dash-window, .ahu-flow-board, .iaqs-dash-window, .psychrometric-board, .ecm-psychrometric-board) {
  border-radius: var(--radius-small);
  box-shadow: 0 1.5rem 3rem rgba(5,24,40,.14);
}
.detail-system-page :where(.fcm-dash-window small, .ahu-flow-board small, .iaqs-dash-window small, .fcm-dash-window .dash-label, .ahu-flow-board .sec-label, .telemetry-grid small, .iaqs-tele-card small) { font-size: var(--type-note); line-height: 1.5; }
.detail-system-page main :where(figcaption, figcaption *, article small, article > span, [class*="-badge"], [class*="-tag"]) {
  font-size: max(var(--type-note), 12px);
}
.detail-system-page main svg text { font-size: 11px !important; }
.detail-system-page :where(.hw-specs, .module-specs, .sec-metrics, .telemetry-grid) { font-size: var(--type-secondary); }
.detail-system-page :where(.fcm-hw-card, .fcm-sensor-network, .fcm-app-card, .integration-card) { border-radius: 0; box-shadow: none; }

/* Solutions rail shares the same type and visual hierarchy. */
.detail-system-page .solution-stage { padding-block: 8rem 3rem; }
.detail-system-page .solution-stage-inner { min-height: calc(100svh - 11rem); }
.detail-system-page .solution-stage-heading p:not(.eyebrow) { max-width: var(--measure-copy); font-size: var(--type-body); line-height: 1.7; }
.detail-system-page .solution-stage-heading > a { font-size: var(--type-secondary); }
.detail-system-page .slider-toolbar { margin-top: 3rem; }
.detail-system-page .slider-toolbar :where(b, span, button) { font-size: var(--type-secondary); }
.detail-system-page .solution-product-card {
  flex-basis: min(31vw, 25rem);
  min-width: 20rem;
  height: clamp(23rem, 43vh, 29rem);
  padding: 1.5rem;
  border-radius: var(--radius-small);
  box-shadow: none;
}
.detail-system-page .solution-product-card > small { font-size: var(--type-label); }
.detail-system-page .solution-product-card h2 { font-size: var(--type-card) !important; }
.detail-system-page .solution-product-card p { font-size: var(--type-secondary); }

/* EDIM — marketing detail page */
.edim-detail-page { color: #10283a; background: #f7f9fb; }
.edim-hero { overflow: hidden; padding: clamp(7.5rem, 10vw, 10rem) 0 clamp(5rem, 8vw, 8rem); color: #f7fbff; background-color: #071a2d; }
.edim-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(30rem, .95fr); align-items: center; gap: clamp(3rem, 7vw, 8rem); }
.edim-hero-copy .eyebrow, .edim-section-heading-light .section-no { color: #55c4e1; }
.edim-status { margin: 1.5rem 0 2.25rem; color: #9db1c2; font-size: .75rem; letter-spacing: .16em; }
.edim-hero h1 { max-width: 52rem; margin: 0; color: white; font-size: clamp(3.4rem, 5.6vw, 6.1rem) !important; font-weight: 400; line-height: .98; letter-spacing: -.055em; }
.edim-hero h1 span { color: #76d2e8; }
.edim-hero-lead { max-width: 42rem; margin: 2rem 0 0; color: #bccbd6; font-size: clamp(1.05rem, 1.3vw, 1.25rem) !important; line-height: 1.75; }
.edim-hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.5rem; }
.edim-hero-actions > a:not(.button) { color: #dce8ef; font-size: .95rem; }
.edim-flow-visual { position: relative; min-height: 38rem; isolation: isolate; }
.edim-flow-visual::before { content: ''; position: absolute; inset: 10% 4%; background: radial-gradient(circle, rgba(61,184,217,.17), transparent 64%); }
.edim-flow-orbit { position: absolute; inset: 15%; border: 1px solid rgba(100,205,231,.24); border-radius: 50%; }
.edim-flow-orbit::before, .edim-flow-orbit::after { content: ''; position: absolute; border: 1px solid rgba(100,205,231,.12); border-radius: 50%; }
.edim-flow-orbit::before { inset: 12%; }.edim-flow-orbit::after { inset: -16%; }
.edim-flow-core { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 13rem; aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(114,217,239,.55); border-radius: 50%; background: rgba(7,31,53,.78); box-shadow: 0 0 70px rgba(50,177,211,.2); text-align: center; }
.edim-flow-core small { color: #70cde4; font-size: .65rem; letter-spacing: .18em; }.edim-flow-core strong { margin: -.75rem 0; color: white; font-size: 3rem; font-weight: 400; letter-spacing: -.04em; }.edim-flow-core span { color: #91a8b8; font-size: .72rem; }
.edim-node { position: absolute; min-width: 9rem; padding: .85rem 1rem; border-left: 1px solid #55c4e1; color: white; background: rgba(9,38,62,.7); font-size: .9rem; letter-spacing: .04em; }
.edim-node small { display: block; margin-top: .3rem; color: #819aaa; font-size: .7rem; }.node-sales { top: 13%; left: 6%; }.node-engineering { top: 22%; right: 0; }.node-material { bottom: 17%; left: 0; }.node-production { right: 7%; bottom: 8%; }
.edim-problem, .edim-outcomes, .edim-journey { padding: clamp(6rem, 9vw, 9rem) 0; }
.edim-editorial-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(30rem, 1.1fr); gap: clamp(3rem, 8vw, 9rem); }
.edim-section-heading .section-no { margin-bottom: 1.5rem; color: #159cc1; font-size: .78rem; letter-spacing: .16em; }
.edim-section-heading h2 { margin: 0; font-size: clamp(2.5rem, 4vw, 4.7rem) !important; font-weight: 400; line-height: 1.08; letter-spacing: -.045em; }
.edim-section-heading > p:last-child { max-width: 39rem; margin-top: 1.75rem; color: #aebfca; font-size: 1rem; line-height: 1.7; }
.edim-lead { max-width: 43rem; margin: 0 0 2.75rem; color: #3f5666; font-size: 1.15rem !important; line-height: 1.8; }
.edim-plain-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cfdbe2; }
.edim-plain-list li { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid #cfdbe2; }.edim-plain-list li > span { color: #25a8cb; font: .8rem/1 monospace; }.edim-plain-list strong { font-size: 1.2rem; font-weight: 500; }.edim-plain-list p { margin: .4rem 0 0; color: #667b89; font-size: .95rem !important; line-height: 1.65; }
.edim-value { padding: clamp(6rem, 9vw, 9rem) 0; color: white; background: #0a2035; }
.edim-section-heading-light { display: grid; grid-template-columns: 1fr minmax(18rem, .6fr); column-gap: 4rem; }.edim-section-heading-light .section-no { grid-column: 1 / -1; }.edim-section-heading-light > p:last-child { align-self: end; }
.edim-value-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid rgba(170,210,224,.2); border-bottom: 1px solid rgba(170,210,224,.2); }
.edim-value-steps article { min-height: 25rem; padding: 2.2rem 1.6rem 2.5rem; border-left: 1px solid rgba(170,210,224,.2); }.edim-value-steps article:last-child { border-right: 1px solid rgba(170,210,224,.2); }.edim-value-steps article > span { display: block; color: #5ac7e2; font: .8rem/1 monospace; }.edim-module-label { margin: 7rem 0 .8rem; color: #6ccce3; font-size: .72rem !important; letter-spacing: .12em; }.edim-value-steps h3 { margin: 0 0 1rem; font-size: clamp(1.45rem, 1.8vw, 1.85rem) !important; font-weight: 400; }.edim-value-steps article > p:last-child { margin: 0; color: #9db0bd; font-size: .94rem !important; line-height: 1.75; }
.edim-outcome-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(4rem, 10vw, 11rem); margin-top: 5rem; }.edim-outcome-statement strong { display: block; color: #dfe8ed; font-size: clamp(4.5rem, 8vw, 9rem); font-weight: 400; line-height: .8; letter-spacing: -.07em; }.edim-outcome-statement p { max-width: 34rem; margin: 2.5rem 0 0; color: #506776; font-size: 1.06rem !important; line-height: 1.75; }.edim-outcome-list { border-top: 1px solid #bdcdd6; }.edim-outcome-list article { display: grid; grid-template-columns: 7rem 1fr; gap: 2rem; padding: 1.7rem 0; border-bottom: 1px solid #bdcdd6; }.edim-outcome-list article > span { color: #21a5c9; font: .75rem/1.4 monospace; text-transform: uppercase; }.edim-outcome-list h3 { margin: 0; font-size: 1.35rem !important; font-weight: 500; }.edim-outcome-list p { margin: .5rem 0 0; color: #617684; font-size: .95rem !important; line-height: 1.65; }
.edim-journey { background: #eaf0f3; }.edim-journey-steps { counter-reset: step; }.edim-journey-steps article { display: grid; grid-template-columns: 6rem 10rem 1fr; gap: 1.5rem; align-items: baseline; padding: 1.5rem 0; border-top: 1px solid #b9cbd5; }.edim-journey-steps article:last-of-type { border-bottom: 1px solid #b9cbd5; }.edim-journey-steps article > span { color: #159cc1; font: .75rem/1 monospace; }.edim-journey-steps h3 { margin: 0; font-size: 1.2rem !important; font-weight: 500; }.edim-journey-steps article p { margin: 0; color: #5c7180; font-size: .94rem !important; line-height: 1.7; }.edim-development-note { margin: 1.5rem 0 0; color: #718591; font-size: .8rem !important; line-height: 1.6; }
.edim-cta > .container > p:nth-of-type(2) { max-width: 38rem; margin: 1.5rem 0 2rem; color: rgba(255,255,255,.66); font-size: 1rem !important; line-height: 1.7; }
@media (max-width: 980px) { .edim-hero-grid, .edim-editorial-grid { grid-template-columns: 1fr; }.edim-flow-visual { min-height: 32rem; }.edim-value-steps { grid-template-columns: repeat(2,1fr); }.edim-value-steps article:nth-child(2) { border-right: 1px solid rgba(170,210,224,.2); }.edim-section-heading-light, .edim-outcome-layout { grid-template-columns: 1fr; }.edim-section-heading-light > p:last-child { margin-top: 1.5rem; }.edim-outcome-layout { gap: 3rem; } }
@media (max-width: 620px) { .edim-hero { padding-top: 6.5rem; }.edim-hero h1 { font-size: clamp(2.8rem, 13vw, 4rem) !important; }.edim-hero-actions { align-items: flex-start; flex-direction: column; gap: 1.2rem; }.edim-flow-visual { min-height: 27rem; margin-inline: -1rem; }.edim-flow-core { width: 10rem; }.edim-flow-core strong { font-size: 2.3rem; }.edim-node { min-width: 7.2rem; padding: .65rem; font-size: .74rem; }.edim-node small { font-size: .62rem; }.edim-value-steps { grid-template-columns: 1fr; }.edim-value-steps article, .edim-value-steps article:nth-child(2) { min-height: auto; border-right: 1px solid rgba(170,210,224,.2); border-bottom: 1px solid rgba(170,210,224,.2); }.edim-module-label { margin-top: 3.5rem; }.edim-outcome-statement strong { font-size: 4rem; }.edim-outcome-list article { grid-template-columns: 4.5rem 1fr; gap: 1rem; }.edim-journey-steps article { grid-template-columns: 4rem 1fr; }.edim-journey-steps article p { grid-column: 2; } }

/* Limit repeated background numerals/orbits to the lead product. */
.detail-system-page :where(.partial-visual::after, .pullout-visual::after, .fcm-visual::before, .ecm-visual::before) { display: none; }
.detail-system-page :where(.partial-rings, .pullout-orbit, .fcm-orbit, .ecm-orbit) { opacity: .42; }

@media (max-width: 900px) {
  .detail-system-page {
    --type-hero: clamp(2.75rem, 10vw, 3.75rem);
    --type-product: clamp(3rem, 9vw, 4.25rem);
    --type-h2: clamp(2.15rem, 7.6vw, 2.9rem);
    --type-h3: clamp(1.5rem, 5.5vw, 1.85rem);
    --space-compact: clamp(3.75rem, 10vw, 4.5rem);
    --space-standard: clamp(5rem, 13vw, 6.25rem);
    --space-feature: clamp(5.75rem, 15vw, 7rem);
  }
  .detail-system-page :where(.eurus-intro-grid, .partial-intro-grid, .pullout-intro-grid, .air-ahu-grid, .bio-hvac-grid, .ief-intro-grid, .iaqs-intro-grid, .clt-intro-grid, .fcm-intro-grid, .ecm-intro-grid) { grid-template-columns: 1fr; }
  .detail-system-page :where(.eurus-visual, .partial-visual, .pullout-visual, .air-ahu-visual, .bio-hvac-visual, .ief-visual, .iaqs-visual, .fcm-visual, .ecm-visual) { min-height: clamp(25rem, 80vw, 34rem); }
  .detail-system-page .group-heading { grid-template-columns: 4rem 1fr; }
  .detail-system-page .group-heading > div:last-child { grid-column: 2; }
  .detail-system-page .family-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-system-page .family-card { min-height: 30rem; }
}

@media (max-width: 600px) {
  .detail-system-page {
    --type-hero: clamp(2.55rem, 12vw, 3.3rem);
    --type-product: clamp(2.75rem, 13vw, 3.5rem);
    --type-h2: clamp(2rem, 9.5vw, 2.55rem);
    --type-h3: clamp(1.45rem, 6.5vw, 1.75rem);
    --type-card: clamp(1.125rem, 5.2vw, 1.3rem);
    --type-lead: clamp(1.0625rem, 4.6vw, 1.1875rem);
    --type-body: clamp(.9375rem, 4vw, 1rem);
    --type-secondary: clamp(.875rem, 3.7vw, .9375rem);
    --type-label: clamp(.75rem, 3.2vw, .8125rem);
    --space-compact: 4rem;
    --space-standard: 5rem;
    --space-feature: 5.5rem;
  }
  .detail-system-page .container { width: min(calc(100% - 2rem), var(--container)); }
  .detail-system-page .category-hero { padding-block: 5rem 4rem; }
  .detail-system-page .category-breadcrumb { margin-bottom: 2.5rem; }
  .detail-system-page :where(.performance-heading, .partial-heading, .pullout-heading, .air-section-heading, .clt-section-heading, .fcm-section-heading, .ecm-section-heading) { grid-template-columns: 1fr; gap: 1.5rem; }
  .detail-system-page :where(.eurus-visual, .partial-visual, .pullout-visual, .air-ahu-visual, .bio-hvac-visual, .ief-visual, .iaqs-visual, .fcm-visual, .ecm-visual) { min-height: clamp(21rem, 100vw, 27rem); }
  .detail-system-page :where(.performance-grid, .concept-grid, .partial-metrics, .pullout-metrics, .pullout-maintenance-grid, .air-foundation-grid, .bio-value-grid, .ief-metrics, .ief-proof-grid, .clt-value-grid, .fcm-metrics-grid, .ecm-metrics-grid) { grid-template-columns: 1fr; }
  .detail-system-page :where(.performance-grid, .concept-grid, .partial-metrics, .pullout-metrics, .pullout-maintenance-grid, .air-foundation-grid, .bio-value-grid, .ief-metrics, .ief-proof-grid, .clt-value-grid, .fcm-metrics-grid, .ecm-metrics-grid) > article {
    min-height: 0;
    padding: 2rem 0;
    border-right: 0;
    border-left: 0 !important;
  }
  .detail-system-page .partial-metrics > article { padding-inline: 1.25rem; }
  .detail-system-page :where(.partial-config-grid, .fcm-capability-grid, .ecm-module-grid) { grid-template-columns: 1fr; }
  .detail-system-page .group-heading { grid-template-columns: 1fr; gap: .75rem; }
  .detail-system-page .group-heading > div:last-child { grid-column: 1; margin-top: .75rem; }
  .detail-system-page .family-grid { grid-template-columns: 1fr; }
  .detail-system-page .family-card { min-height: 27rem; padding-bottom: 1.75rem; }
  .detail-system-page .family-card-visual { min-height: 18rem; }
  .detail-system-page .solution-stage { min-height: 100svh; padding-block: 7rem 2.5rem; overflow-y: auto; }
  .detail-system-page .solution-stage-inner { min-height: calc(100svh - 9.5rem); }
  .detail-system-page .solution-stage-heading { align-items: flex-start; }
  .detail-system-page .solution-product-card { min-width: min(18.25rem, calc(100vw - 3.5rem)); height: 25rem; }
  .detail-system-page :where(.fcm-dash-window, .ahu-flow-board, .iaqs-dash-window, .psychrometric-board, .ecm-psychrometric-board) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .detail-system-page :where(.fcm-dash-body, .ahu-sections-grid, .iaqs-dash-body) { min-width: 42rem; }
}

/* CLT dual-model scientific comparison viewport */
.detail-system-page .clt-hero-products { min-height: 38rem; overflow: hidden; border: 1px solid rgba(62,158,183,.24); background: radial-gradient(circle at 62% 42%,rgba(44,156,184,.18),transparent 37%),#0a1d31; isolation: isolate; }
.detail-system-page .clt-hero-products::before { inset: 14% 10%; z-index: -1; border: 1px solid rgba(79,194,223,.14); border-radius: 50%; background: transparent; box-shadow: 0 0 0 4.5rem rgba(79,194,223,.025),0 0 0 9rem rgba(79,194,223,.018); }
.clt-hero-grid { position: absolute; inset: 0; z-index: -2; opacity: .48; background-image: linear-gradient(rgba(89,183,207,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(89,183,207,.1) 1px,transparent 1px); background-size: 2rem 2rem; mask-image: linear-gradient(to bottom,black 68%,transparent); }
.clt-hero-readout { position: absolute; z-index: 5; top: 1.4rem; left: 1.5rem; display: grid; gap: .25rem; }
.clt-hero-readout span,.clt-hero-status span { color: #67c9de; font: 12px ui-monospace,monospace; letter-spacing: .1em; }
.clt-hero-readout b,.clt-hero-status b { color: #7890a1; font: 11px ui-monospace,monospace; letter-spacing: .08em; }
.clt-hero-scale { position: absolute; z-index: 4; top: 6rem; left: 50%; display: flex; align-items: center; gap: .75rem; color: #66889c; font: 11px ui-monospace,monospace; letter-spacing: .08em; transform: translateX(-50%); white-space: nowrap; }
.clt-hero-scale i { width: 2.75rem; height: 1px; background: #3b8195; }
.detail-system-page .clt-hero-item img { filter: drop-shadow(0 2rem 1.5rem rgba(0,0,0,.36)); transition: transform .45s cubic-bezier(.2,.8,.2,1),filter .45s; }
.detail-system-page .clt-hero-item:hover img { filter: drop-shadow(0 2.4rem 1.8rem rgba(0,0,0,.48)); transform: translateY(-.5rem) scale(1.025); }
.detail-system-page .clt-hero-item span { display: grid; gap: .15rem; padding: .7rem .9rem; color: #eaf7fa; border: 1px solid rgba(91,199,222,.35); border-radius: 0; background: rgba(6,25,43,.82); font-size: 1.25rem; backdrop-filter: blur(10px); }
.detail-system-page .clt-hero-item span small { color: #58bdd4; font: 10px ui-monospace,monospace; letter-spacing: .1em; }
.detail-system-page .clt-hero-item figcaption { position: absolute; z-index: 3; color: #718a9c; font: 11px ui-monospace,monospace; letter-spacing: .08em; }
.detail-system-page .clt-hero-item-50 { left: -2%; bottom: 2.25rem; width: 52%; height: 63%; }
.detail-system-page .clt-hero-item-50 figcaption { left: 1.5rem; bottom: -.6rem; }
.detail-system-page .clt-hero-item-100 { right: -1%; top: 5.5rem; width: 68%; height: 78%; }
.detail-system-page .clt-hero-item-100 figcaption { right: 1.5rem; bottom: -.45rem; }
.clt-hero-status { position: absolute; z-index: 5; right: 1.5rem; bottom: 1.25rem; display: grid; justify-items: end; gap: .2rem; }
.clt-hero-status span { display: flex; align-items: center; gap: .5rem; }
.clt-hero-status i { width: .45rem; height: .45rem; border-radius: 50%; background: #62d0e5; box-shadow: 0 0 0 .3rem rgba(98,208,229,.1); animation: clt-status-pulse 1.8s ease-in-out infinite; }
@keyframes clt-status-pulse { 50% { opacity: .4; transform: scale(.75); } }
@media (max-width:900px) { .detail-system-page .clt-hero-products{min-height:34rem} }
@media (max-width:600px) { .detail-system-page .clt-hero-products{min-height:29rem}.clt-hero-readout{top:1rem;left:1rem}.clt-hero-scale{top:4.6rem}.detail-system-page .clt-hero-item-50{left:-7%;width:58%;height:59%}.detail-system-page .clt-hero-item-100{right:-8%;top:4.8rem;width:72%;height:72%}.detail-system-page .clt-hero-item span{font-size:1rem}.detail-system-page .clt-hero-item figcaption,.clt-hero-status b{display:none}.clt-hero-status{right:1rem;bottom:1rem}.clt-hero-status span{font-size:10px!important} }

/* CLT engineering model viewer */
.clt-model-viewer { overflow:hidden; color:#dce9ef; border:1px solid rgba(77,185,210,.32); border-radius:1.35rem; background:#081a2d; box-shadow:0 1.5rem 4rem rgba(7,27,45,.12); }
.clt-model-toolbar { min-height: 5.5rem; display: flex; align-items: stretch; justify-content: space-between; border-bottom: 1px solid rgba(154,207,220,.17); }
.clt-model-toolbar > p { display: grid; align-content: center; gap: .15rem; margin: 0; padding: 1rem 1.5rem; }
.clt-model-toolbar > p span { color: var(--cyan); font: 500 var(--type-label)/1.4 ui-monospace, monospace; letter-spacing: .1em; }
.clt-model-toolbar > p b { color: #f3f8fa; font-size: var(--type-secondary); font-weight: 400; }
.clt-model-toolbar > div { display: flex; }
.clt-model-toolbar button { min-width: 8.5rem; display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: 0 1.5rem; color: #93a8b7; border: 0; border-left: 1px solid rgba(154,207,220,.17); background: transparent; font-size: var(--type-card); cursor: pointer; transition: color .25s, background .25s, box-shadow .25s; }
.clt-model-toolbar button span { color: #5f8195; font: var(--type-label) ui-monospace, monospace; }
.clt-model-toolbar button:hover, .clt-model-toolbar button[aria-selected="true"] { color:white; background:linear-gradient(145deg,rgba(22,112,175,.42),rgba(67,190,217,.11)); box-shadow:inset 0 -3px #42d3f2,0 0 1.5rem rgba(31,154,219,.13); }
.clt-model-toolbar button[aria-selected="true"] span { color: var(--cyan); }
.clt-model-workspace { display:grid; grid-template-columns:minmax(32rem,1.55fr) minmax(20rem,.55fr); min-height:46rem; }
.clt-model-summary { display:flex; flex-direction:column; padding:clamp(2rem,3vw,3.25rem); border-right:1px solid rgba(154,207,220,.17); background:linear-gradient(145deg,#071729 0%,#0a2034 100%); }
.clt-model-summary .model-index { margin:0 0 2rem; color:var(--cyan); font:500 var(--type-label)/1.4 ui-monospace,monospace; letter-spacing:.11em; }
.clt-model-summary h2 { margin:0 0 1.5rem; color:#f7fbfd; font-size:clamp(2.25rem,3.2vw,4rem)!important; line-height:1.02; letter-spacing:-.035em; }
.clt-model-summary .model-summary-lead { margin:0; color:#b8c8d2; font-size:var(--type-body)!important; line-height:1.75; }
.clt-summary-features { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; margin:2.25rem 0; }
.clt-summary-features span { display:grid; justify-items:center; gap:.3rem; color:#edf7fa; text-align:center; font-size:var(--type-note); }
.clt-summary-features i { display:grid; place-items:center; width:2.8rem; height:2.8rem; color:#63cce2; border:1px solid rgba(99,204,226,.25); background:rgba(39,126,151,.08); font-style:normal; }
.clt-summary-features small { color:#718b9d; font-size:var(--type-note); line-height:1.35; }
.clt-summary-statement { margin:auto 0 2rem; padding:1.25rem 0 1.25rem 1.15rem; color:#9eb1bd; border-left:1px solid #55c3dc; font-size:var(--type-secondary)!important; line-height:1.75; }
.clt-model-summary .button { align-self:flex-start; }
.clt-model-stage { --model-rx: 0deg; --model-ry: 0deg; --model-x: 0px; --model-y: 0px; position: relative; min-width: 0; overflow: hidden; perspective: 850px; background: radial-gradient(circle at 50% 42%, rgba(62,164,193,.14), transparent 37%), #0b2034; isolation: isolate; }
.clt-model-backdrop { position:absolute; z-index:-1; top:8%; right:4%; color:rgba(55,174,215,.085); font:700 clamp(8rem,18vw,19rem)/.8 var(--font-display,sans-serif); letter-spacing:-.08em; white-space:nowrap; user-select:none; transition:opacity .25s,transform .35s; }
.clt-blueprint-grid { position: absolute; inset: 0; z-index: -1; opacity: .42; background-image: linear-gradient(rgba(81,180,205,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(81,180,205,.12) 1px,transparent 1px); background-size: 2rem 2rem; mask-image: linear-gradient(to bottom,black,transparent 95%); }
.clt-blueprint-grid::after { content: ''; position: absolute; inset: 8% 12%; border: 1px solid rgba(93,194,218,.14); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(93,194,218,.025),0 0 0 8rem rgba(93,194,218,.018); }
.clt-model-object { position:absolute; inset:5% 5% 24%; display:grid; place-items:center; margin:0; opacity:0; visibility:hidden; transform-style:preserve-3d; transform:rotateX(var(--model-rx)) rotateY(var(--model-ry)); transition:opacity .4s,visibility .4s,transform .12s ease-out; }
.clt-model-object.is-active { opacity: 1; visibility: visible; }
.clt-model-object img { width: min(80%, 42rem); max-height: 34rem; object-fit: contain; filter: drop-shadow(0 2.2rem 1.8rem rgba(0,0,0,.34)); transform: translate3d(var(--model-x),var(--model-y),2.5rem); transition: transform .12s ease-out; }
.clt-model-object model-viewer { width: 100%; height: 100%; min-height: 34rem; background: transparent; --poster-color: transparent; --progress-bar-color: #62cde4; --progress-bar-height: 2px; outline: 0; touch-action: pan-y; }
.clt-model-object model-viewer::part(default-progress-bar) { border-radius: 0; }
.clt-model-object figcaption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; padding-top: 1rem; color: #71899a; border-top: 1px solid rgba(139,197,212,.16); font-family: ui-monospace,monospace; }
.clt-model-object figcaption b { color: #6ed0e4; font-weight: 500; }
.clt-model-axis { position: absolute; left: 2rem; bottom: 4.5rem; width: 5rem; height: 5rem; opacity: .7; }
.clt-model-axis i { position: absolute; left: 50%; bottom: 50%; width: 3.1rem; height: 1px; background: #5fc7dd; transform-origin: left; }
.clt-model-axis .axis-y { transform: rotate(-90deg); }.clt-model-axis .axis-z { transform: rotate(140deg); }
.clt-model-axis span { position: absolute; color: #71bfd2; font: 11px ui-monospace,monospace; }.clt-model-axis span:nth-of-type(1){right:-.2rem;bottom:47%}.clt-model-axis span:nth-of-type(2){left:46%;top:-.35rem}.clt-model-axis span:nth-of-type(3){left:-.2rem;bottom:-.1rem}
.clt-dimension { position: absolute; z-index: 2; top: 2rem; left: 50%; display: flex; align-items: center; gap: .7rem; color: #77c9db; font: var(--type-label) ui-monospace,monospace; letter-spacing: .08em; transform: translateX(-50%); }
.clt-dimension i { width: 3rem; height: 1px; background: #438fa3; }
.clt-model-hint { position:absolute; z-index:4; right:2rem; bottom:9.5rem; display:grid; justify-items:center; gap:.1rem; margin:0; color:#6c8799; font:var(--type-note) ui-monospace,monospace; letter-spacing:.06em; }
.clt-model-hint b { color:#73cfe3; font-size:1rem; }.clt-model-hint i{width:4.6rem;color:#5dbbd0;border-bottom:1px solid #4caac0;border-radius:50%;font-size:1.3rem;font-style:normal;text-align:right}
.clt-view-controls { position:absolute; z-index:4; left:2rem; bottom:1.35rem; display:flex; gap:.7rem; }
.clt-view-controls button { width:8rem; padding:0 0 .65rem; color:#7992a3; border:0; background:transparent; font:500 var(--type-note)/1 ui-monospace,monospace; cursor:pointer; }
.clt-view-controls button span { display:block; height:5.25rem; margin-bottom:.65rem; overflow:hidden; border:1px solid rgba(112,194,214,.2); border-radius:.7rem; background:rgba(5,21,35,.7); transition:border-color .25s,box-shadow .25s,transform .25s; }
.clt-view-controls img { width:100%; height:100%; object-fit:contain; padding:.35rem; filter:saturate(.35) brightness(.68); transition:filter .25s,transform .25s; }
.clt-view-controls button[data-clt-view="front"] img { transform:rotate(-10deg) scale(.92); }
.clt-view-controls button[data-clt-view="side"] img { transform:rotate(8deg) scale(.9); }
.clt-view-controls button b { font-weight:500; }
.clt-view-controls button:hover span,.clt-view-controls button.is-active span { border-color:#45cdec; box-shadow:0 0 0 1px #45cdec,0 0 1.2rem rgba(49,193,230,.24); transform:translateY(-2px); }
.clt-view-controls button:hover img,.clt-view-controls button.is-active img { filter:saturate(1.05) brightness(1); }
.clt-view-controls button:hover,.clt-view-controls button.is-active { color:#f5fbfd; }
.clt-model-data { position: relative; display: flex; flex-direction: column; padding: clamp(2rem,4vw,3.5rem); border-left: 1px solid rgba(154,207,220,.17); background: #071729; }
.clt-model-data > article { display: none; animation: clt-panel-in .42s cubic-bezier(.2,.8,.2,1) both; }
.clt-model-data > article.is-active { display: block; }
@keyframes clt-panel-in { from { opacity: 0; transform: translateY(1rem); } }
.clt-model-data .model-index { margin: 0 0 2.5rem; color: var(--cyan); font: var(--type-label) ui-monospace,monospace; letter-spacing: .1em; }
.clt-model-data h3 { margin: 0 0 1.25rem; color: white; font-size: var(--type-h3) !important; font-weight: 400; }
.clt-model-data .model-lead { margin: 0 0 2.25rem; color: #9fb1bf; font-size: var(--type-body) !important; line-height: 1.75; }
.clt-model-data dl { margin: 0; border-top: 1px solid rgba(150,203,216,.18); }
.clt-model-data dl div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid rgba(150,203,216,.12); }
.clt-model-data dt { color: #668397; font: var(--type-label) ui-monospace,monospace; }.clt-model-data dd { margin: 0; color: #d7e1e7; font-size: var(--type-secondary); }
.clt-model-data ul { display: grid; gap: .55rem; margin: 2rem 0 0; padding: 0; color: #91a5b3; font-size: var(--type-secondary); list-style: none; }.clt-model-data li::before { content: '+ '; color: var(--cyan); }
.clt-engineering-note { margin: auto 0 0; padding-top: 2rem; border-top: 1px solid rgba(150,203,216,.16); }
.clt-engineering-note b,.clt-engineering-note span { display: block; }.clt-engineering-note b { margin-bottom: .6rem; color: #57bed5; font: var(--type-label) ui-monospace,monospace; letter-spacing: .09em; }.clt-engineering-note span { color: #6f8798; font-size: var(--type-note); line-height: 1.7; }
@media (max-width:1200px) { .clt-model-workspace{grid-template-columns:minmax(0,1fr) minmax(19rem,.55fr)} }
@media (max-width:900px) { .clt-model-workspace{grid-template-columns:1fr}.clt-model-summary{display:flex}.clt-model-stage{min-height:36rem}.clt-model-data{min-height:34rem;border-top:1px solid rgba(154,207,220,.17);border-left:0}.clt-summary-statement{margin:0 0 2rem} }
@media (max-width:600px) { .clt-model-viewer{border-radius:.9rem}.clt-model-toolbar{display:grid}.clt-model-toolbar>div{border-top:1px solid rgba(154,207,220,.17)}.clt-model-toolbar button{flex:1;min-width:0;min-height:4rem}.clt-model-stage{min-height:34rem}.clt-model-object{inset:5% 1% 27%}.clt-model-object img{width:94%}.clt-model-object model-viewer{min-height:24rem}.clt-model-axis{display:none}.clt-model-backdrop{top:10%;right:2%;font-size:8rem}.clt-model-hint{display:none}.clt-view-controls{left:1rem;right:1rem;bottom:.85rem;gap:.4rem}.clt-view-controls button{flex:1;width:auto}.clt-view-controls button span{height:4rem}.clt-model-data{min-height:37rem;padding:2rem 1.25rem} }

/* CLT engineered drainage feature field */
.clt-detail-page .clt-value { position:relative; overflow:hidden; background:radial-gradient(circle at 72% 8%,rgba(30,139,188,.13),transparent 33%),linear-gradient(135deg,#071a2c,#0b263b 58%,#071b2d); }
.clt-detail-page .clt-value::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(74,181,211,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(74,181,211,.08) 1px,transparent 1px); background-size:4.5rem 4.5rem; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.clt-detail-page .clt-value .container { position:relative; z-index:1; max-width:1500px; }
.clt-detail-page .clt-value .clt-section-heading { grid-template-columns:1.15fr .85fr 12rem; align-items:center; gap:clamp(2rem,5vw,6rem); margin-bottom:4.5rem; }
.clt-detail-page .clt-value .section-no { display:flex; align-items:center; gap:1rem; color:#55cbe5; }
.clt-detail-page .clt-value .section-no i { width:6rem; height:1px; background:#4bb9d1; }
.clt-detail-page .clt-value .clt-section-heading h2 { font-size:clamp(3rem,5vw,5.8rem)!important; font-weight:400; line-height:1.02; }
.clt-detail-page .clt-value .clt-section-heading h2 em { color:#58c9e7; font-style:normal; }
.clt-detail-page .clt-value .clt-section-heading > p { color:#bac9d2; font-size:clamp(1rem,1.35vw,1.3rem)!important; line-height:1.8; }
.clt-detail-page .clt-value .clt-section-heading aside { display:grid; gap:1rem; padding-left:1.5rem; color:#8fa7b8; border-left:1px solid rgba(74,196,224,.4); font:500 .8rem/1.55 ui-monospace,monospace; letter-spacing:.1em; }
.clt-detail-page .clt-value .clt-section-heading aside i { width:1.2rem; height:2px; background:#4cc8e3; }
.clt-detail-page .clt-value .clt-section-heading aside small { font:inherit; font-size:.65rem; }
.clt-detail-page .clt-value-grid { gap:0; border:1px solid rgba(115,194,214,.25); border-radius:.75rem; overflow:hidden; background:rgba(6,24,40,.3); }
.clt-detail-page .clt-value-grid > article { position:relative; isolation:isolate; min-height:28rem; display:flex; flex-direction:column; padding:2rem 2.35rem; overflow:hidden; border:0!important; border-right:1px solid rgba(115,194,214,.23)!important; background:linear-gradient(160deg,rgba(15,48,70,.22),rgba(4,18,31,.18)); cursor:default; transform:translateZ(0); transition:transform .34s cubic-bezier(.2,.8,.2,1),background .34s,box-shadow .34s; }
.clt-detail-page .clt-value-grid > article:last-child { border-right:0!important; }
.clt-detail-page .clt-value-grid > article::after { content:""; position:absolute; z-index:-1; right:-4rem; bottom:-5rem; width:15rem; height:15rem; opacity:.42; border:1px solid #2990bb; transform:rotate(45deg); }
.clt-detail-page .clt-value-grid .clt-feature-seal::after,.clt-detail-page .clt-value-grid .clt-feature-connect::after { border-radius:50%; box-shadow:0 0 0 2rem rgba(43,147,187,.08),0 0 0 4rem rgba(43,147,187,.04); }
.clt-detail-page .clt-value-grid .clt-feature-flow::after { right:2rem; width:8rem; height:19rem; border-width:0 1px 0 0; border-radius:0 0 5rem 0; box-shadow:1.5rem 0 rgba(37,137,176,.08),3rem 0 rgba(37,137,176,.05); transform:none; }
.clt-detail-page .clt-value-grid .clt-feature-clean::after { border-style:solid; box-shadow:-3rem 3rem rgba(36,133,174,.08),-6rem 6rem rgba(36,133,174,.04); }
.clt-detail-page .clt-value-grid span { color:#51cae5; }
.clt-detail-page .clt-value-grid .clt-feature-icon { display:block; margin:1.2rem 0 1rem; color:#56ccec; font:400 2.4rem/1 sans-serif; font-style:normal; text-shadow:0 0 1rem rgba(64,198,230,.24); }
.clt-detail-page .clt-value-grid h3 { margin:0 0 1rem; color:#f4f9fb; font-size:clamp(1.55rem,2vw,2.1rem)!important; line-height:1.08; }
.clt-detail-page .clt-value-grid p { max-width:16rem; margin:0; color:#aebfca; font-size:var(--type-body)!important; line-height:1.75; }
.clt-detail-page .clt-value-grid a { margin-top:auto; color:#54c6e2; font-size:var(--type-secondary); text-decoration:none; }
.clt-detail-page .clt-value-grid a b { margin-left:.65rem; font-size:1.1rem; font-weight:400; }
.clt-detail-page .clt-value-grid > article:hover { z-index:3; background:linear-gradient(155deg,rgba(15,58,81,.94),rgba(5,25,42,.96)); box-shadow:0 0 0 1px #50c9e5,0 1.4rem 3rem rgba(0,11,24,.38),0 0 2.2rem rgba(45,185,221,.14); transform:scale(1.045) translateY(-.55rem); }
.clt-detail-page .clt-value-grid > article:hover::after { opacity:.72; }
@media (hover:none) { .clt-detail-page .clt-value-grid > article:hover { box-shadow:none; transform:none; } }
@media (max-width:1100px) { .clt-detail-page .clt-value .clt-section-heading{grid-template-columns:1fr 1fr}.clt-detail-page .clt-value .clt-section-heading aside{display:none}.clt-detail-page .clt-value-grid{grid-template-columns:repeat(2,1fr)}.clt-detail-page .clt-value-grid>article:nth-child(2){border-right:0!important}.clt-detail-page .clt-value-grid>article:nth-child(-n+2){border-bottom:1px solid rgba(115,194,214,.23)!important} }
@media (max-width:700px) { .clt-detail-page .clt-value .clt-section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.clt-detail-page .clt-value .clt-section-heading h2{font-size:clamp(2.75rem,13vw,4.25rem)!important}.clt-detail-page .clt-value .clt-section-heading>p br{display:none}.clt-detail-page .clt-value-grid{grid-template-columns:1fr}.clt-detail-page .clt-value-grid>article{min-height:23rem;border-right:0!important;border-bottom:1px solid rgba(115,194,214,.23)!important}.clt-detail-page .clt-value-grid>article:hover{box-shadow:none;transform:none}.clt-detail-page .clt-value-grid>article:last-child{border-bottom:0!important} }

/* FCM performance hover field */
.clt-detail-page .fcm-performance { position:relative; overflow:hidden; background:radial-gradient(circle at 52% 45%,rgba(31,139,183,.15),transparent 36%),linear-gradient(135deg,#06192b,#0b273b 58%,#061a2c); }
.clt-detail-page .fcm-performance::before { content:""; position:absolute; inset:-15%; opacity:.28; background:repeating-radial-gradient(ellipse at 50% 42%,transparent 0 3.3rem,rgba(77,177,207,.25) 3.35rem 3.42rem); transform:rotate(-5deg); }
.clt-detail-page .fcm-performance .container { position:relative; z-index:1; max-width:1500px; }
.clt-detail-page .fcm-performance .fcm-section-heading { grid-template-columns:1fr 1.1fr 10rem; align-items:center; gap:clamp(2rem,5vw,6rem); margin-bottom:4rem; }
.clt-detail-page .fcm-performance .section-no { display:flex; align-items:center; gap:1rem; color:#56c9e5; }
.clt-detail-page .fcm-performance .section-no i { width:3rem; height:1px; background:#54c6e0; }
.clt-detail-page .fcm-performance .fcm-section-heading h2 { margin-top:1.75rem; color:#f4f8fb; font-size:clamp(3rem,4.8vw,5rem)!important; line-height:1.04; }
.clt-detail-page .fcm-performance .fcm-section-heading h2 em { color:#55c9e8; font-style:normal; }
.clt-detail-page .fcm-performance-lead { margin:1.5rem 0 0!important; color:#9fb2bf!important; font-size:var(--type-body)!important; line-height:1.7!important; }
.clt-detail-page .fcm-performance-manifesto { display:grid; grid-template-columns:8rem 1fr; gap:.8rem 2rem; align-items:start; padding-left:2rem; border-left:1px solid rgba(76,194,222,.42); }
.clt-detail-page .fcm-performance-manifesto small { grid-row:1/3; color:#7192a5; font:500 var(--type-label)/1.65 ui-monospace,monospace; letter-spacing:.08em; }
.clt-detail-page .fcm-performance-manifesto p { margin:0; color:#c0cdd5; font-size:var(--type-body); line-height:1.7; }
.clt-detail-page .fcm-performance-manifesto b { color:#6f899a; font:500 .68rem/1.5 ui-monospace,monospace; letter-spacing:.07em; }
.clt-detail-page .fcm-performance .fcm-section-heading aside { align-self:start; color:#718a9b; font:500 .68rem/1.6 ui-monospace,monospace; letter-spacing:.08em; }
.clt-detail-page .fcm-performance .fcm-section-heading aside i { display:block; width:1.1rem; height:2px; margin-top:1rem; background:#4cc9e5; }
.clt-detail-page .fcm-metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:.35rem; border:0; overflow:visible; }
.clt-detail-page .fcm-metrics-grid article { position:relative; isolation:isolate; min-height:31rem; padding:2rem; overflow:hidden; border:1px solid rgba(105,186,207,.24)!important; border-radius:.55rem; background:linear-gradient(155deg,rgba(14,47,68,.72),rgba(5,21,35,.76)); box-shadow:0 1rem 2rem rgba(0,0,0,.12); cursor:default; transform:translateZ(0); transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .34s,box-shadow .34s,background .34s; }
.clt-detail-page .fcm-metrics-grid article::before { content:""; position:absolute; z-index:-1; inset:0; opacity:0; background:radial-gradient(circle at 82% 8%,rgba(58,196,231,.28),transparent 30%); transition:opacity .34s; }
.clt-detail-page .fcm-metrics-grid article:hover { z-index:3; border-color:#55cde8!important; background:linear-gradient(155deg,rgba(13,55,79,.92),rgba(5,24,41,.94)); box-shadow:0 0 0 1px rgba(84,205,233,.25),0 1.5rem 3.4rem rgba(0,12,25,.42),0 0 2.5rem rgba(43,178,217,.14); transform:scale(1.045) translateY(-.6rem); }
.clt-detail-page .fcm-metrics-grid article:hover::before { opacity:1; }
.clt-detail-page .fcm-metrics-grid article > span { color:#55cce7; font:500 var(--type-label)/1 ui-monospace,monospace; }
.clt-detail-page .fcm-metrics-grid small { margin-top:.7rem; color:#668799; font:500 .65rem/1.3 ui-monospace,monospace; letter-spacing:.1em; }
.clt-detail-page .fcm-metrics-grid h3 { margin:1.7rem 0 .55rem; color:#f2f8fa; font-size:clamp(1.75rem,2.4vw,2.45rem)!important; font-weight:400; line-height:1.08; }
.clt-detail-page .fcm-metrics-grid h4 { margin:0; color:#c5d1d8; font-size:var(--type-secondary); font-weight:500; }
.clt-detail-page .fcm-metrics-grid strong { margin:1.8rem 0 .3rem; color:#f5fbfd; font-size:clamp(3.4rem,5vw,5.3rem)!important; font-weight:400; line-height:1; }
.clt-detail-page .fcm-metrics-grid p { margin-top:auto; color:#91a8b6; font-size:var(--type-secondary)!important; line-height:1.7; }
.fcm-metric-graphic { position:relative; height:8rem; margin:1.25rem 0; }
.fcm-metric-graphic.bars { display:flex; align-items:end; gap:.65rem; padding-left:5.5rem; }
.fcm-metric-graphic.bars i { width:.65rem; height:35%; background:linear-gradient(#48c9e7,rgba(50,140,181,.12)); }.fcm-metric-graphic.bars i:nth-child(2){height:52%}.fcm-metric-graphic.bars i:nth-child(3){height:72%}.fcm-metric-graphic.bars i:nth-child(4){height:95%}
.fcm-metric-graphic.curve { border-bottom:1px solid rgba(73,174,203,.16); background:linear-gradient(90deg,transparent 24%,rgba(73,174,203,.09) 25% 25.5%,transparent 26% 49%,rgba(73,174,203,.09) 50% 50.5%,transparent 51% 74%,rgba(73,174,203,.09) 75% 75.5%,transparent 76%); }
.fcm-metric-graphic.curve::before { content:""; position:absolute; left:5%; right:5%; top:35%; height:3.2rem; border-bottom:2px solid #54d0ec; border-radius:50%; transform:rotate(-7deg); }
.fcm-metric-graphic.curve b { position:absolute; right:10%; top:8%; width:.7rem; height:.7rem; border-radius:50%; background:#72e3fa; box-shadow:0 0 1.2rem #49cbe9; }
.fcm-metric-graphic.radar { width:8rem; margin-inline:auto; border:1px solid rgba(67,168,198,.27); border-radius:50%; box-shadow:0 0 0 1.8rem rgba(67,168,198,.06),0 0 0 3.6rem rgba(67,168,198,.035); }
.fcm-metric-graphic.radar::before { content:""; position:absolute; left:50%; top:50%; width:5.5rem; height:1px; background:#4ccbe7; transform:rotate(-48deg); transform-origin:left; }.fcm-metric-graphic.radar i{position:absolute;left:calc(50% - .35rem);top:calc(50% - .35rem);width:.7rem;height:.7rem;border-radius:50%;background:#75e2f7;box-shadow:0 0 1rem #4dcced}
.fcm-metric-graphic.layers i { position:absolute; left:15%; top:35%; width:65%; height:3rem; border:1px solid rgba(73,194,222,.48); background:rgba(39,132,172,.12); transform:skewY(-24deg); }.fcm-metric-graphic.layers i:nth-child(2){left:25%;top:24%}.fcm-metric-graphic.layers i:nth-child(3){left:35%;top:13%}
@media (hover:none) { .clt-detail-page .fcm-metrics-grid article:hover{transform:none} }
@media (max-width:1100px) { .clt-detail-page .fcm-performance .fcm-section-heading{grid-template-columns:1fr 1fr}.clt-detail-page .fcm-performance .fcm-section-heading aside{display:none}.clt-detail-page .fcm-metrics-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px) { .clt-detail-page .fcm-performance .fcm-section-heading{grid-template-columns:1fr}.clt-detail-page .fcm-performance-manifesto{padding-left:0;border-left:0}.clt-detail-page .fcm-metrics-grid{grid-template-columns:1fr;gap:.8rem}.clt-detail-page .fcm-metrics-grid article{min-height:27rem}.clt-detail-page .fcm-metrics-grid article:hover{transform:none}.clt-detail-page .fcm-performance .fcm-section-heading h2{font-size:clamp(2.8rem,13vw,4.2rem)!important} }

/* Home field-to-data flow */
.home-slider-ready .home-swipe > .hero { position:relative; background-color:#06172a; background-image:linear-gradient(90deg,rgba(5,18,34,.97) 0%,rgba(5,18,34,.86) 38%,rgba(5,18,34,.36) 72%,rgba(5,18,34,.56) 100%),linear-gradient(180deg,rgba(4,16,31,.28),rgba(4,16,31,.52)),url('./assets/home-hero-data-wave.png'); background-repeat:no-repeat; background-position:center,center,center 52%; background-size:cover,cover,cover; }
.home-slider-ready .home-swipe > .hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 73% 48%,rgba(56,196,232,.13),transparent 25%),linear-gradient(180deg,transparent 65%,rgba(3,14,27,.52)); }
.home-slider-ready .home-swipe > .hero .hero-inner { position:relative; z-index:1; }
.home-slider-ready .hero-actions { gap:.8rem; }
.home-slider-ready .hero-actions .button { min-height:3.6rem; padding-inline:2rem; border-radius:.75rem; transition:transform .25s,background .25s,border-color .25s,box-shadow .25s; }
.home-slider-ready .hero-actions .button-primary { box-shadow:0 .8rem 2rem rgba(63,194,223,.19); }
.home-slider-ready .hero-actions .button-primary:hover { box-shadow:0 1rem 2.4rem rgba(63,194,223,.28); }
.home-slider-ready .hero-actions .button-secondary { border-color:rgba(159,205,218,.34); background:rgba(7,25,42,.28); backdrop-filter:blur(8px); }
.home-slider-ready .hero-actions .button-secondary:hover { border-color:rgba(96,209,233,.62); background:rgba(37,100,126,.2); box-shadow:0 .8rem 2rem rgba(0,12,25,.2); }
@media (max-width:700px) { .home-slider-ready .home-swipe>.hero{background-position:center,center,62% 50%;background-size:cover,cover,auto 100%}.home-slider-ready .hero-actions .button{border-radius:.65rem} }

.home-slider-ready .home-swipe > .intro { background:radial-gradient(circle at 82% 24%,rgba(82,194,219,.16),transparent 32%),linear-gradient(110deg,#f4f8fa,#eaf3f7 70%,#dff1f6); }
.company-flow-layout { display:grid; grid-template-columns:minmax(25rem,.76fr) minmax(38rem,1.24fr); align-items:center; gap:clamp(1.5rem,2.5vw,3rem); width:100%; }
.company-flow-copy { position:relative; z-index:2; }
.company-flow-copy .eyebrow { margin:0 0 1.6rem; color:#4bc3df; font:500 var(--type-label)/1.4 ui-monospace,monospace; letter-spacing:.12em; }
.company-flow-copy h2 { max-width:10.2em; margin:0; color:#10283b; font-size:clamp(2.45rem,3.35vw,3.8rem); font-weight:600; line-height:1.12; letter-spacing:-.05em; word-break:keep-all; }
.company-flow-copy > i { display:block; width:3rem; height:1px; margin:2rem 0 1.5rem; background:#51bdd8; }
.company-flow-copy > p:last-child { max-width:32rem; margin:0; color:#64798a; font-size:clamp(.98rem,1.15vw,1.1rem); line-height:1.8; }
.company-flow-visual { position:relative; min-width:0; width:calc(100% + clamp(1rem,3vw,3.5rem)); aspect-ratio:1707/921; margin:0 clamp(-3.5rem,-3vw,-1rem) 0 0; overflow:visible; }
.company-flow-visual::before { content:""; position:absolute; inset:5% -2%; border-radius:50%; background:radial-gradient(ellipse,rgba(72,185,218,.18),rgba(72,185,218,.05) 52%,transparent 76%); filter:blur(2.8rem); }
.company-flow-visual img { position:absolute; top:6%; right:-3%; bottom:auto; left:-3%; width:106%; height:106%; max-width:none; object-fit:contain; opacity:.94; mix-blend-mode:multiply; filter:saturate(1.08) contrast(1.025) drop-shadow(0 1.2rem 2rem rgba(36,104,132,.08)); -webkit-mask-image:radial-gradient(ellipse 84% 92% at 50% 52%,#000 64%,rgba(0,0,0,.92) 78%,transparent 100%); mask-image:radial-gradient(ellipse 84% 92% at 50% 52%,#000 64%,rgba(0,0,0,.92) 78%,transparent 100%); transform:translateY(0); animation:company-flow-breathe 7s ease-in-out infinite; }
.company-flow-stages { position:absolute; z-index:2; top:5%; right:3.5%; left:3.5%; display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; pointer-events:none; }
.company-flow-stages li { min-width:0; padding-left:clamp(.3rem,1vw,.8rem); border-left:1px solid rgba(46,146,184,.22); }
.company-flow-stages span,.company-flow-stages strong,.company-flow-stages small { display:block; }
.company-flow-stages span { margin-bottom:.28rem; color:#19aace; font:600 clamp(.58rem,.72vw,.7rem)/1 ui-monospace,monospace; }
.company-flow-stages strong { color:#17384f; font-size:clamp(.58rem,.78vw,.74rem); font-weight:600; letter-spacing:.09em; }
.company-flow-stages small { margin-top:.32rem; color:#69889a; font-size:clamp(.56rem,.7vw,.67rem); letter-spacing:.04em; }
@keyframes company-flow-breathe { 50% { transform:translateY(-.35rem) scale(1.008); filter:drop-shadow(0 1.7rem 2.4rem rgba(36,104,132,.16)); } }
@media (max-width:1050px) { .company-flow-layout{grid-template-columns:minmax(20rem,.82fr) minmax(29rem,1.18fr);gap:1.5rem}.company-flow-copy h2{font-size:clamp(2.15rem,4vw,3rem)}.company-flow-visual{width:calc(100% + 1.5rem);margin-right:-1.5rem} }
@media (max-width:820px) { .company-flow-layout{grid-template-columns:1fr;gap:1.5rem;padding-top:2rem;padding-bottom:2rem}.company-flow-copy h2{max-width:17em}.company-flow-visual{width:100%;max-width:50rem;aspect-ratio:1707/921;margin:1rem auto 0} }
@media (max-width:700px) { .company-flow-layout{display:block}.company-flow-copy h2{max-width:10.5em;font-size:clamp(2.15rem,9.5vw,3rem)}.company-flow-copy>p:last-child{font-size:15px}.company-flow-visual{width:calc(100% + 2rem);margin:2rem -1rem 0;aspect-ratio:1.55/1;overflow:hidden}.company-flow-visual img{top:9%;left:50%;width:auto;height:106%;-webkit-mask-image:radial-gradient(ellipse 82% 88% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 82% 88% at 50% 50%,#000 62%,transparent 100%);transform:translateX(-50%);animation:none}.company-flow-stages{top:3%;right:1rem;left:1rem}.company-flow-stages li{padding-left:.3rem}.company-flow-stages strong{font-size:.55rem;letter-spacing:.02em}.company-flow-stages small{display:none}@keyframes company-flow-breathe{50%{transform:translateX(-50%)}} }

/* Home solution cinematic cards */
.home-slider-ready .home-swipe > .solutions { background:#dfe8ed; }
.home-slider-ready .home-swipe > .solutions .container { gap:1rem; perspective:1400px; }
.home-slider-ready .home-swipe > .solutions .solution-panel { --card-rx:0deg; --card-ry:0deg; --visual-x:0px; --visual-y:0px; position:relative; min-height:min(51vh,35rem); grid-template-columns:minmax(17rem,.72fr) minmax(22rem,1.28fr); gap:1.2rem; padding:clamp(2rem,3.2vw,3.8rem); overflow:hidden; border:1px solid rgba(104,202,225,.24); border-radius:.8rem; background:radial-gradient(circle at 70% 48%,rgba(36,134,178,.25),transparent 36%),linear-gradient(135deg,#102b43,#06182b 78%); box-shadow:0 1.2rem 3rem rgba(4,20,35,.18); transform:rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateZ(0); transform-style:preserve-3d; transition:transform .18s ease-out,border-color .35s,box-shadow .35s; }
.home-slider-ready .home-swipe > .solutions .solution-panel.edim { background:radial-gradient(circle at 68% 48%,rgba(25,105,150,.2),transparent 38%),linear-gradient(135deg,#071a2d,#031226 82%); }
.home-slider-ready .home-swipe > .solutions .solution-panel::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(81,191,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(81,191,220,.12) 1px,transparent 1px); background-size:3.5rem 3.5rem; mask-image:linear-gradient(90deg,black,transparent 75%); }
.home-slider-ready .home-swipe > .solutions .solution-panel:hover { z-index:2; border-color:rgba(87,210,238,.65); box-shadow:0 1.8rem 4.5rem rgba(3,16,30,.3),0 0 2.5rem rgba(46,181,219,.12); transform:rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(-.4rem) scale(1.012); }
.solution-panel-copy { position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start; height:100%; transform:translateZ(2.6rem); }
.home-slider-ready .solution-panel .panel-index { margin:0 0 1.25rem; color:#58cae5; font:500 var(--type-label)/1.4 ui-monospace,monospace; letter-spacing:.09em; }
.home-slider-ready .solution-panel h2 { max-width:10ch; margin:0; color:#f7fbfd; font-size:clamp(2.25rem,3.15vw,3.7rem)!important; font-weight:500; line-height:1.08; letter-spacing:-.045em; }
.home-slider-ready .solution-panel > .solution-panel-copy > p:not(.panel-index) { max-width:25rem; margin:1.35rem 0; color:#aebeca; font-size:var(--type-body); line-height:1.75; }
.home-slider-ready .solution-panel .text-link { margin-top:auto; color:#55cae6; }
.solution-tech-visual { position:relative; z-index:2; height:100%; min-height:22rem; transform:translate3d(var(--visual-x),var(--visual-y),2rem); transition:transform .18s ease-out; }
.solution-tech-visual::before { content:""; position:absolute; inset:8% 2%; border:1px solid rgba(94,205,231,.12); border-radius:50%; box-shadow:0 0 0 3rem rgba(58,171,204,.035),0 0 0 6rem rgba(58,171,204,.02); }
.solution-tech-visual img { position:absolute; z-index:2; inset:0; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 1.4rem 2rem rgba(0,10,21,.42)); }
.solution-tech-visual > span { position:absolute; z-index:3; right:0; bottom:.25rem; color:#718da0; font:500 .65rem/1.55 ui-monospace,monospace; letter-spacing:.08em; text-align:right; }
.edim-tech-visual img { width:125%; max-width:none; left:-9%; object-fit:contain; }
.hvac-tech-visual img { width:125%; max-width:none; left:-10%; object-fit:contain; opacity:1; filter:drop-shadow(0 1.2rem 2rem rgba(0,8,18,.45)); }
.tech-pane { position:absolute; z-index:1; top:17%; left:9%; width:47%; height:62%; border:1px solid rgba(87,202,230,.42); background:linear-gradient(135deg,rgba(109,209,235,.12),rgba(31,101,137,.025)); box-shadow:inset 0 0 2rem rgba(77,190,220,.08); transform:perspective(500px) rotateY(56deg); }
.tech-pane::after { content:""; position:absolute; inset:12%; border:1px solid rgba(101,211,236,.18); }
.tech-pane.pane-two { left:29%; transform:perspective(500px) rotateY(56deg) translateZ(1rem); }
.tech-pane.pane-three { left:49%; transform:perspective(500px) rotateY(56deg) translateZ(2rem); }
@media (max-width:1050px) { .home-slider-ready .home-swipe > .solutions .solution-panel{grid-template-columns:1fr;min-height:42rem}.solution-tech-visual{min-height:17rem}.home-slider-ready .solution-panel h2{max-width:none}.home-slider-ready .solution-panel .text-link{margin-top:1rem} }
@media (max-width:700px) { .home-slider-ready .home-swipe > .solutions .solution-panel{min-height:36rem;padding:2rem 1.4rem;transform:none!important}.home-slider-ready .home-swipe > .solutions .solution-panel:hover{transform:none}.solution-tech-visual{min-height:15rem;transform:none!important}.home-slider-ready .solution-panel h2{font-size:clamp(2.25rem,11vw,3.2rem)!important}.home-slider-ready .solution-panel>.solution-panel-copy>p:not(.panel-index){font-size:15px}.edim-tech-visual img{width:116%;left:-5%} }

/* Home why NOVA icon strip */
.home-slider-ready .home-swipe > .strengths { position:absolute; overflow:hidden; background:radial-gradient(circle at 94% 5%,rgba(42,157,199,.2),transparent 25%),linear-gradient(110deg,#06182b,#0b273b); }
.home-slider-ready .home-swipe > .strengths::after { content:""; position:absolute; right:-9rem; top:-12rem; width:28rem; height:28rem; border:1px solid rgba(74,181,211,.2); border-radius:50%; box-shadow:0 0 0 4rem rgba(74,181,211,.035),0 0 0 8rem rgba(74,181,211,.02); }
.home-slider-ready .home-swipe > .strengths .container { position:relative; z-index:1; display:grid; grid-template-columns:minmax(18rem,.95fr) minmax(0,3.25fr); align-items:stretch; max-width:1500px; }
.home-slider-ready .strengths .section-heading.light { display:flex; flex-direction:column; justify-content:center; padding:2rem 3rem 2rem 0; }
.home-slider-ready .strengths .section-heading .eyebrow { margin:0 0 1.5rem; color:#57cae6; font:500 var(--type-label)/1.4 ui-monospace,monospace; letter-spacing:.1em; }
.home-slider-ready .strengths .section-heading h2 { color:#f6fafc; font-size:clamp(2.2rem,3vw,3.6rem); font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.home-slider-ready .strength-grid { display:grid; grid-template-columns:repeat(4,1fr); margin:0; border:0; }
.home-slider-ready .strength-card { position:relative; min-height:20rem; padding:1.8rem 2rem; border:0; border-left:1px solid rgba(113,191,211,.2); background:transparent; cursor:default; transition:background .3s,transform .3s,box-shadow .3s; }
.home-slider-ready .strength-card:hover { z-index:2; background:linear-gradient(160deg,rgba(32,105,135,.23),rgba(7,27,44,.12)); box-shadow:inset 0 0 0 1px rgba(83,200,228,.22),0 1rem 2rem rgba(0,10,20,.16); transform:translateY(-.35rem); }
.home-slider-ready .strength-card span { display:block; color:#55cce7; font:500 var(--type-label)/1 ui-monospace,monospace; }
.home-slider-ready .strength-card svg { width:3.1rem; height:3.1rem; margin:1.15rem 0 1.5rem; fill:none; stroke:#55cce7; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 .7rem rgba(61,197,229,.18)); }
.home-slider-ready .strength-card h3 { margin:0 0 .8rem; color:#f1f7fa; font-size:clamp(1.15rem,1.45vw,1.45rem); font-weight:600; }
.home-slider-ready .strength-card p { margin:0; color:#97aebb; font-size:var(--type-secondary); line-height:1.75; }
@media (max-width:1100px) { .home-slider-ready .home-swipe>.strengths .container{grid-template-columns:1fr}.home-slider-ready .strengths .section-heading.light{padding:0 0 2.5rem}.home-slider-ready .strengths .section-heading h2{max-width:15ch}.home-slider-ready .strength-grid{grid-template-columns:repeat(2,1fr)}.home-slider-ready .strength-card:nth-child(-n+2){border-bottom:1px solid rgba(113,191,211,.2)} }
@media (max-width:700px) { .home-slider-ready .strength-grid{grid-template-columns:1fr}.home-slider-ready .strength-card{min-height:auto;padding:1.6rem 1rem;border-left:0;border-top:1px solid rgba(113,191,211,.2)}.home-slider-ready .strength-card:hover{transform:none}.home-slider-ready .strength-card svg{width:2.7rem;height:2.7rem}.home-slider-ready .strengths .section-heading h2{font-size:clamp(2.25rem,10.5vw,3.2rem)} }

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