/* Homepage only. Shared pages keep their existing design and assets. */
.home-page {
  --home-ink: #102e39;
  --home-muted: #53676b;
  --home-paper: #f7f8f5;
  --home-line: #d8e2df;
  --home-mint: #a3edcf;
  background: var(--home-paper);
}
.home-page [hidden] { display: none !important; }
.home-page .container { max-width: 1240px; padding-inline: 36px; }
.home-page .site-header { background: #091f2b; border-bottom: 1px solid #24404a; backdrop-filter: none; }
.home-page .site-header .container { min-height: 82px; }
.home-page .brand-logo { height: 51px; }
.home-page .main-nav a { padding: 9px 11px; font-size: 14px; }
.home-page .main-nav a.active { background: transparent; color: var(--home-mint); }
.home-page .main-nav > .nav-cta { background: #a3edcf; color: #0e302d; border-color: #a3edcf; border-radius: 5px; padding-inline: 18px; }
.home-page .main-nav .dropdown-inner a { padding: 10px 14px; }
.home-page .main-nav .lang-switch { background: transparent; }
.home-page .btn { border-radius: 5px; padding: 15px 21px; box-shadow: none; font-size: 14px; font-weight: 700; min-height: 49px; }
.home-page .btn-primary { background: #176857; color: #fff; }
.home-page .btn-primary:hover { background: #104e41; }
.home-page a:focus-visible, .home-page button:focus-visible { outline: 3px solid #29a780; outline-offset: 5px; }
.home-page .home-hero a:focus-visible, .home-page .home-hero button:focus-visible { outline-color: #a3edcf; }
.home-page .home-hero {
  padding: 64px 0 0; background: #091f2b; isolation: isolate;
  background-image: radial-gradient(ellipse at 88% 42%, #173f47 0, transparent 54%);
}
.home-page .home-hero::before { background-size: 68px 68px; opacity: .1; mask-image: linear-gradient(90deg, transparent 38%, #000); }
.home-page .home-hero::after { display: none; }
.home-page .home-hero .hero-layout { max-width: 1240px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); gap: 28px; align-items: center; }
.home-page .hero-copy > * { animation: none; }
.home-page .home-hero .eyebrow {
  background: none; border: 0; border-radius: 0; padding: 0; margin-bottom: 28px;
  color: #c4d5d8; font-size: 11px; font-weight: 600; letter-spacing: .19em;
}
.home-page .home-hero .eyebrow::before { content: ''; display: inline-block; width: 27px; height: 1px; margin-right: 12px; background: #a3edcf; vertical-align: middle; }
.home-page .home-hero h1 { font-size: clamp(40px, 4.65vw, 64px); line-height: 1.08; letter-spacing: -.047em; font-weight: 720; margin-bottom: 26px; max-width: 620px; }
.home-page .hero-location { display: block; }
.home-page .hero-emphasis { display: block; color: #a3edcf; }
.home-page .home-hero .hero-copy > .hero-lead { color: #eef5f3; font-size: 19px; margin-bottom: 10px; line-height: 1.4; font-weight: 580; }
.home-page .home-hero .hero-copy > p { color: #b6cbd0; font-size: 16px; line-height: 1.75; max-width: 490px; margin-bottom: 27px; }
.home-page .home-hero .btn-primary { background: #a3edcf; color: #0e302d; }
.home-page .home-hero .btn-primary:hover { background: #c5f6df; }
.home-page .home-hero .btn-ghost { border-color: #66818a; color: #f1f6f5; }
.home-page .hero-detail-line { gap: 8px 17px; margin-top: 28px; color: #acc2c7; font-size: 11px; }
.home-page .hero-detail-line span::before { width: 4px; height: 4px; background: #a3edcf; box-shadow: none; }
.home-page .hero-experience { min-width: 0; position: relative; padding: 0 0 10px; }
.home-page .building-options { display: grid; grid-template-columns: .8fr 1fr 1.45fr; width: 100%; max-width: 385px; margin: 0 auto; padding: 4px; border: 1px solid #39555d; border-radius: 6px; background: #102b36; }
.home-page .building-options button { min-width: 0; min-height: 44px; padding: 10px 11px; font: inherit; font-size: 12px; font-weight: 650; color: #c2d5d8; background: transparent; border: 0; border-radius: 3px; cursor: pointer; white-space: nowrap; }
.home-page .building-options button[aria-pressed="true"] { color: #123830; background: #a3edcf; }
.home-page .building-options button:hover:not([aria-pressed="true"]) { color: white; background: #28444d; }
.home-page .building-figure { height: 400px; margin: -6px -32px -10px; position: relative; }
.home-page .building-art { width: 100%; height: 100%; display: block; overflow: visible; }
.home-page .building-figure figcaption { text-align: right; position: absolute; right: 40px; bottom: 9px; color: #a7bec2; font-size: 10px; letter-spacing: .025em; }
.home-page .building-fan { transform-box: fill-box; transform-origin: center; animation: abf-fan 7s linear infinite; }
.home-page .building-pipe-flow { animation: abf-flow 2.8s linear infinite; }
.home-page .building-air { animation: abf-air 3s ease-in-out infinite; }
.home-page .building-scene:not([hidden]) { animation: abf-scene-in .45s ease-out both; }
.home-page [data-building="project"] .project-plan-line { animation: abf-plan-draw 1.4s ease-out both; stroke-dasharray: 1; }
.home-page [data-building="project"] .project-plan-detail { animation-delay: .25s; }
.home-page [data-building="project"] .project-structure { animation: abf-structure-rise 1s 1.1s ease-out both; }
.home-page [data-building="project"] .project-install-line { animation: abf-plan-draw 1.8s 2.2s ease-in-out both; stroke-dasharray: 1; }
.home-page [data-building="project"] .project-service-units { animation: abf-scene-in .8s 3.65s ease-out both; }
.home-page [data-building="project"] .building-pipe-flow { stroke: #fff0c3; }
.home-scene-away .building-art * { animation-play-state: paused !important; }
.home-motion-paused .building-scene,
.home-motion-paused .project-plan-line,
.home-motion-paused .project-structure,
.home-motion-paused .project-install-line,
.home-motion-paused .project-service-units { animation: none !important; }
.home-motion-paused .project-plan-line,
.home-motion-paused .project-install-line { stroke-dasharray: none !important; }
.home-page .building-solutions { position: relative; margin-top: -5px; }
.home-page .building-solution { padding: 15px 22px; margin-top: 12px; border-left: 2px solid #a3edcf; background: #132f3a; }
.home-page .building-solution-kicker { display: block; color: #b4cacd; font-size: 10px; letter-spacing: .06em; margin-bottom: 6px; }
.home-page .building-solution strong { display: block; font-size: 18px; letter-spacing: -.015em; line-height: 1.3; font-weight: 650; color: #f0f6f4; }
.home-page .building-solution a { display: inline-flex; align-items: center; gap: 14px; min-height: 39px; margin-top: 5px; color: #a3edcf; font-size: 12px; font-weight: 600; }
.home-page .building-solution a span { font-size: 20px; }
.home-page .building-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 15px; padding-top: 12px; }
.home-page .building-bottom > a { color: #c3d4d6; font-size: 11px; min-height: 36px; display: inline-flex; align-items: center; gap: 8px; }
.home-page .home-motion-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; border: 0; padding: 5px; background: transparent; color: #b9cfd1; font: inherit; font-size: 11px; cursor: pointer; }
.home-page .home-motion-toggle:hover { color: #fff; }
/* Touch-first product explorer. The large controls match the numbers in the drawing. */
.home-page .has-system-explorer .building-figure { height: 335px; margin-block: 2px 0; }
.home-page .has-system-explorer .building-art { height: calc(100% - 22px); }
.home-page .has-system-explorer .building-figure figcaption { bottom: 0; }
.home-page [data-building="project"] .system-part-cool .building-pipe-flow { stroke: #b0e7f2; }
.home-page .system-part { --system-accent: #a3edcf; opacity: .48; transition: opacity .25s; }
.home-page .system-part-warm { --system-accent: #edc38b; }
.home-page .system-part-cool { --system-accent: #b0e7f2; }
.home-page .system-part-control { --system-accent: #c3b8f3; }
.home-page .system-part.is-system-selected, .home-page .system-part.is-system-related { opacity: 1; }
.home-page .system-room { opacity: 0; transition: opacity .25s; }
.home-page .is-system-selected .system-room { opacity: 1; }
.home-page .system-pin circle { fill: #12333d; stroke: var(--system-accent); stroke-width: 1.5; }
.home-page .system-pin text { fill: #f1f6ee; text-anchor: middle; font-family: inherit; font-size: 12px; font-weight: 700; }
.home-page .is-system-selected .system-pin circle { fill: var(--system-accent); stroke: #eff7ee; stroke-width: 2; }
.home-page .is-system-selected .system-pin text { fill: #102e39; }
.home-page .system-pin circle:not(.system-hit) { transform-box: fill-box; transform-origin: center; }
.home-page .has-system-hotspots .system-part { cursor: pointer; }
.home-page .system-pin .system-hit,
.home-page .is-system-selected .system-pin .system-hit { fill: transparent; stroke: none; pointer-events: all; }
.home-page .system-detail > svg { transform-origin: center; }
.home-page .system-explorer { position: relative; }
.home-page .system-explorer-hint { margin: 0 0 11px; color: #b8cfd1; font-size: 12px; line-height: 1.5; }
.home-page .system-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.home-page .system-options button { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 54px; padding: 9px 7px; border: 1px solid #42636a; border-radius: 6px 6px 0 0; background: #112e39; color: #d6e3e2; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.35; cursor: pointer; transition: background .2s, border-color .2s; }
.home-page .system-options button > span { display: grid; place-items: center; flex: 0 0 21px; height: 21px; border: 1px solid #668e8e; border-radius: 50%; font-size: 10px; }
.home-page .system-options button[aria-pressed="true"] { background: #224b49; border-color: #a3edcf; color: #f3fcf4; }
.home-page .system-options button[aria-pressed="true"] > span { color: #102e39; background: #a3edcf; border-color: #a3edcf; }
.home-page .system-options button:hover:not([aria-pressed="true"]) { background: #25434c; border-color: #9fc9c6; }
.home-page .system-details { background: #15353f; border: 1px solid #557d79; border-radius: 0 0 8px 8px; margin-top: -1px; }
.home-page .system-detail { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: 17px; padding: 19px; min-height: 188px; }
.home-page .system-detail > svg { width: 100%; height: auto; display: block; }
.home-page .system-detail h2 { font-size: 17px; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; color: #f2f8f3; margin: 0 0 9px; }
.home-page .system-detail p { font-size: 13px; line-height: 1.6; color: #c1d3d4; margin: 0; }
.home-page .system-detail a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #a3edcf; font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; line-height: 1.4; }
.home-page .system-detail a span { font-size: 19px; }
.home-page .system-example-note { color: #b0c6c9; font-size: 11px; line-height: 1.6; margin: 10px 0 0; min-height: 36px; }
.home-page .has-system-explorer .building-solutions { margin-top: 0; }
.home-page .has-system-explorer .building-solution { background: none; border: 0; padding: 0; margin: 0; }
.home-page .has-system-explorer .building-solution-kicker,
.home-page .has-system-explorer .building-solution strong { display: none; }
.home-page .has-system-explorer .building-solution a { min-height: 44px; margin-top: 0; font-size: 12px; }
.home-page .has-system-explorer .building-bottom { padding-top: 0; border-top: 1px solid #34535b; }
.home-page .hero-index { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 27px; margin-top: 35px; border-top: 1px solid #34505a; font-size: 11px; color: #a8bfc3; }
.home-page .hero-index a { display: inline-flex; align-items: center; gap: 22px; min-height: 30px; color: #dce9e6; }
.home-page .hero-index a span { font-size: 20px; color: #a3edcf; }
.home-page .trust-strip { background: #eff3ee; border-color: var(--home-line); box-shadow: none; }
.home-page .trust-strip-item { padding-block: 26px; border-color: var(--home-line); }
.home-page .trust-strip-icon { background: transparent; color: #28715d; border: 1px solid #a9c7b9; border-radius: 50%; width: 33px; height: 33px; }
.home-page .trust-strip-item strong { color: var(--home-ink); font-size: 13px; }
.home-page .trust-strip-item small { color: var(--home-muted); font-size: 11px; }
.home-page main > .section { padding-block: 85px; }
.home-page .section-head { max-width: 710px; margin-bottom: 38px; }
.home-page .kicker, .home-page .cta-band-label { color: #356d58; font-size: 11px; letter-spacing: .16em; font-weight: 700; }
.home-page .section-head h2 { color: var(--home-ink); font-size: clamp(28px, 3.1vw, 41px); line-height: 1.2; letter-spacing: -.037em; font-weight: 680; }
.home-page .section-head p { color: var(--home-muted); font-size: 16px; line-height: 1.75; }
.home-page .vrf-entry-section { background: #fff; }
.home-page #vrf-entry-title { scroll-margin-top: 110px; }
.home-page .cta-band-vrf { background: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 55px; }
.home-page .cta-band-vrf .cta-band-label { color: #356d58; }
.home-page .cta-band-vrf h2 { color: var(--home-ink); font-size: clamp(26px,3.1vw,39px); line-height: 1.2; letter-spacing: -.035em; margin-block: 14px 18px; max-width: 640px; }
.home-page .cta-band-vrf p { color: var(--home-muted); font-size: 16px; line-height: 1.8; max-width: 690px; }
.home-page .cta-band-vrf .hero-actions { display: grid; gap: 12px; width: 100%; max-width: none; padding-left: 35px; border-left: 1px solid #d8e2df; }
.home-page .cta-band-vrf .btn { width: 100%; text-align: center; }
.home-page .cta-band-vrf .btn-ghost { color: #164d40; border-color: #acc8bb; background: transparent; }
/* Three real links: usable without JavaScript and easy to reach on a phone. */
.home-page .project-entry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.home-page .project-entry { display: grid; grid-template-columns: 1fr auto; gap: 17px 12px; padding: 24px; border: 1px solid #cedbd3; border-radius: 7px; background: #f6f8f4; color: #173a30; text-decoration: none; transition: border-color .2s, background-color .2s; }
.home-page .project-entry-number { font-size: 12px; color: #536e60; letter-spacing: .08em; }
.home-page .project-entry-copy { grid-column: 1; display: grid; gap: 9px; }
.home-page .project-entry-copy strong { font-size: 18px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
.home-page .project-entry-copy > span { font-size: 14px; line-height: 1.65; color: #53676b; }
.home-page .project-entry-arrow { grid-column: 2; grid-row: 1; font-size: 23px; line-height: 1; }
.home-page .project-entry:hover { border-color: #427b61; background: #edf4eb; }
.home-page .expertise-section { border-top: 1px solid var(--home-line); }
.home-page .expertise-grid { gap: 16px; }
.home-page .expertise-grid > .card:not(.expertise-featured) { border: 1px solid #d8e2df; border-radius: 8px; background: #fff; padding: 30px; box-shadow: none; min-height: 250px; transition: transform .25s, border-color .25s, box-shadow .25s; }
.home-page .expertise-grid > .card:not(.expertise-featured):hover { transform: translateY(-5px); border-color: #79a591; box-shadow: 0 15px 35px #14332b0a; }
.home-page .expertise-grid > .card::after { color: #c8d5cd; font-weight: 450; font-size: 24px; }
.home-page .expertise-grid > .card .icon { width: 45px; height: 45px; padding: 0; border-radius: 0; background: none; color: #2e7660; margin-bottom: 22px; box-shadow: none; }
.home-page .expertise-grid h3 { color: var(--home-ink); font-size: 20px; letter-spacing: -.02em; }
.home-page .expertise-grid p { color: var(--home-muted); font-size: 14px; line-height: 1.7; }
.home-page .expertise-grid .card-link { color: #206a53; font-size: 13px; }
.home-page .expertise-grid .expertise-featured { margin-top: 6px; border: 0; border-radius: 8px; padding: 38px; background: #173d34; box-shadow: none; }
.home-page .expertise-featured h3 { color: #f0f5ef; font-size: 26px; }
.home-page .expertise-featured .card-kicker, .home-page .expertise-featured .card-link { color: #a3edcf; }
.home-page .expertise-featured p, .home-page .expertise-featured-actions > a { color: #c0d6cc; }
.home-page .sector-showcase { background: #eaf0ed; border-block: 1px solid #d8e2df; }
.home-page .sector-showcase-shell { background: transparent; padding: 0; border: 0; box-shadow: none; overflow: visible; }
.home-page .sector-showcase-head { margin-bottom: 36px; }
.home-page .sector-showcase-head .section-head { max-width: 700px; }
.home-page .sector-overview-link { border: 0; border-radius: 0; padding: 10px 0; color: #285e4d; background: none; white-space: normal; }
.home-page .sector-grid { gap: 18px; }
.home-page .sector-card { padding: 31px; border-radius: 8px; background: #fdfefb; border: 1px solid #d0dcd4; box-shadow: none; }
.home-page .sector-card::before, .home-page .sector-card::after { display: none; }
.home-page .sector-card:hover { box-shadow: 0 14px 30px #193d2f08; transform: translateY(-4px); }
.home-page .sector-card-top { margin-bottom: 21px; }
.home-page .sector-icon { width: 46px; height: 46px; border-radius: 50%; background: transparent; border: 1px solid #c8d7ce; color: #3b7261; }
.home-page .sector-label { color: #5b7064; font-size: 10px; }
.home-page .sector-card h3 { font-size: 23px; letter-spacing: -.025em; }
.home-page .sector-card h3 a { color: var(--home-ink); }
.home-page .sector-card > p { color: var(--home-muted); line-height: 1.75; }
.home-page .sector-card .sector-disclaimer { font-size: 12px; color: #53665c; border-color: #afc5b8; }
.home-page .sector-tags span { color: #3b6553; background: #edf3eb; border-radius: 3px; font-size: 11px; }
.home-page .sector-card-link { color: #24684f; padding-top: 23px; }
.home-page .sector-quicklinks { gap: 10px; border-color: #c6d5ca; padding-top: 25px; margin-top: 28px; }
.home-page .sector-quicklinks > span { width: 100%; font-size: 10px; color: #53675c; margin-bottom: 3px; }
.home-page .sector-quicklinks a { border-color: #bfcec2; border-radius: 4px; color: #304c3f; background: transparent; font-weight: 500; min-height: 39px; align-items: center; }
.home-page .service-areas-panel { border: 0; border-radius: 0; padding: 0; gap: 35px 48px; background: none; box-shadow: none; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); }
.home-page .service-areas-intro h2 { font-size: clamp(28px,3vw,36px); }
.home-page .service-areas-intro { margin-bottom: 0; }
.home-page .service-coverage { margin-top: 26px; }
.home-page .service-coverage-item { border: 0; border-radius: 3px; background: #e9efea; padding: 13px; }
.home-page .service-coverage-item strong { color: #224c3c; }
.home-page .service-coverage-item small { color: #4f675a; }
.home-page .service-area-card { padding: 24px; border-radius: 6px; border-color: #d6e0d7; box-shadow: none; }
.home-page .service-area-card::before { display: none; }
.home-page .service-area-card h3 { font-size: 18px; }
.home-page .service-area-card p { color: var(--home-muted); font-size: 14px; }
.home-page .service-area-label { color: #39745b; font-size: 10px; }
.home-page .service-area-card-all { background: #edf2ed; }
.home-page .service-area-ticker { margin-top: 5px; padding-block: 22px 0; border-color: #cbdad0; }
.home-page .service-area-ticker-track { animation: none; width: 100%; }
.home-page .service-area-ticker-group { flex-wrap: wrap; gap: 12px 22px; padding-right: 0; }
.home-page .service-area-ticker-group:last-child { display: none; }
.home-page .service-area-ticker-group span { font-size: 10px; color: #5a7164; }
.home-page .service-area-ticker-group span::before { width: 3px; height: 3px; background: #7d9e89; box-shadow: none; }
.home-page .process-section { background: #102e35; }
.home-page .process-section::after { display: none; }
.home-page .process-section-head { max-width: 790px; }
.home-page .process-section-head .kicker { color: #a3edcf; }
.home-page .process-section-head h2 { color: #f0f6f2; }
.home-page .process-section-head p { color: #b9cfcb; }
.home-page .process-grid { gap: 28px; margin-top: 44px; }
.home-page .process-card { padding: 0; border: 0; border-radius: 0; min-height: 0; background: none; backdrop-filter: none; }
.home-page .process-card:hover { transform: none; background: none; }
.home-page .process-card:not(:last-child)::after { top: 28px; right: -15px; width: calc(100% - 65px); background: #47665f; }
.home-page .process-number { width: 57px; height: 57px; border: 1px solid #6c8e7e; border-radius: 50%; background: #102e35; color: #a3edcf; font-size: 17px; font-weight: 500; margin-bottom: 26px; position: relative; z-index: 2; }
.home-page .process-card h3 { font-size: 18px; font-weight: 600; }
.home-page .process-card p { color: #b9cfcb; line-height: 1.8; font-size: 14px; }
.home-page .home-faq { background: #f7f8f5; }
.home-page .home-faq > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; }
.home-page .home-faq .section-head { margin: 0; }
.home-page .faq details { background: none; border: 0; border-bottom: 1px solid #cbd8cd; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
.home-page .faq details:first-child { border-top: 1px solid #cbd8cd; }
.home-page .faq summary { padding: 21px 28px 21px 0; color: #163e32; font-size: 16px; line-height: 1.5; }
.home-page .faq details p { color: var(--home-muted); padding: 0 15px 22px 0; font-size: 14px; line-height: 1.8; }
.home-page .vrf-reading { background: #fff; border-color: #dbe3dc; }
.home-page .vrf-reading-grid { gap: 17px; }
.home-page .vrf-reading-card { background: #f5f7f2; border: 1px solid #dde5da; border-radius: 6px; padding: 29px; min-height: 277px; }
.home-page .vrf-reading-card:first-child { background: #143c33; border-color: #143c33; }
.home-page .vrf-reading-card:first-child h3 { color: #f6faf2; }
.home-page .vrf-reading-card:first-child p { color: #c0d6c9; }
.home-page .vrf-reading-card:first-child .reading-category, .home-page .vrf-reading-card:first-child > a { color: #a3edcf; }
.home-page .vrf-reading-card .reading-category { font-size: 11px; color: #35684e; }
.home-page .vrf-reading-card h3 { font-size: 24px; color: #1d3f31; font-weight: 620; letter-spacing: -.02em; }
.home-page .vrf-reading-card p { font-size: 14px; color: var(--home-muted); line-height: 1.7; }
.home-page .vrf-reading-card > a { font-size: 13px; color: #24684f; }
.home-page .vrf-reading-more { font-size: 14px; margin-bottom: 0; }
.home-page .final-cta-section { background: #eaf0e7; }
.home-page .final-cta { border: 0; border-radius: 0; padding: 0; background: none; box-shadow: none; flex-wrap: nowrap; gap: 40px; }
.home-page .final-cta h2 { color: #143e2f; font-size: clamp(30px,3.7vw,49px); letter-spacing: -.04em; line-height: 1.15; margin-block: 15px 22px; max-width: 780px; }
.home-page .final-cta p { color: #4b6858; font-size: 16px; max-width: 660px; }
.home-page .final-cta-actions { min-width: 240px; }
.home-page .final-cta .btn-ghost { color: #214f3a; border-color: #94b49d; }
.home-page .site-footer { background: #091f2b; padding-top: 65px; }
.home-page .wa-float { background: #19704b; box-shadow: 0 4px 15px #102e3530; }
.home-page .mobile-action-bar { border-color: #cbdace; background: #f7faf6f5; box-shadow: 0 -5px 20px #15342612; }
.home-page .mobile-action-bar a { color: #214337; }
.home-page .mobile-action-bar .mobile-action-whatsapp { color: #1c6b43; }
.home-motion-paused .building-fan, .home-motion-paused .building-pipe-flow, .home-motion-paused .building-air,
.home-scene-away .building-fan, .home-scene-away .building-pipe-flow, .home-scene-away .building-air { animation-play-state: paused; }
@keyframes abf-fan { to { transform: rotate(360deg); } }
@keyframes abf-flow { to { stroke-dashoffset: -48; } }
@keyframes abf-air { 50% { opacity: .25; } }
@keyframes abf-scene-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes abf-plan-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes abf-structure-rise { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1440px) { .home-page .home-hero { padding-top: 78px; } }
@media (max-width: 1100px) and (min-width: 901px) {
  .home-page .main-nav a { font-size: 12px; padding-inline: 8px; }
  .home-page .home-hero h1 { font-size: 46px; }
  .home-page .hero-detail-line { font-size: 10px; gap: 8px 12px; }
  .home-page .hero-actions { gap: 10px; }
  .home-page .home-hero .btn { font-size: 12px; padding-inline: 14px; }
}
@media (max-width: 900px) {
  .home-page .container { padding-inline: 26px; }
  .home-page .site-header .container { min-height: 69px; }
  .home-page .brand-logo { height: 45px; }
  .home-page .main-nav a { font-size: 15px; padding: 10px 14px; }
  .home-page .main-nav > .nav-cta { margin: 8px 0; }
  .home-page .home-hero { padding-top: 48px; }
  .home-page .home-hero .hero-layout { grid-template-columns: 1fr; gap: 44px; }
  .home-page .home-hero h1 { font-size: clamp(43px,7.4vw,62px); max-width: 740px; }
  .home-page .hero-location { display: inline; }
  .home-page .hero-experience { max-width: 620px; width: 100%; justify-self: center; }
  .home-page .building-figure { margin-inline: 0; }
  .home-page .home-hero .hero-copy > p { max-width: 650px; }
  .home-page .hero-index { margin-top: 24px; }
  .home-page main > .section { padding-block: 62px; }
  .home-page .cta-band-vrf { grid-template-columns: 1fr; gap: 24px; }
  .home-page .cta-band-vrf .hero-actions { padding: 0; border: 0; display: flex; }
  .home-page .cta-band-vrf .btn { width: auto; }
  .home-page .project-entry { padding: 20px; }
  .home-page .service-areas-panel { grid-template-columns: 1fr; gap: 32px; }
  .home-page .service-areas-intro { max-width: 730px; }
  .home-page .service-coverage { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-page .service-coverage-wide { grid-column: auto; }
  .home-page .expertise-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .expertise-featured-actions { border-left: 0; }
  .home-page .process-card::after { display: none; }
  .home-page .home-faq > .container { grid-template-columns: 1fr; gap: 30px; }
  .home-page .vrf-reading-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-page .vrf-reading-card { padding: 22px; }
  .home-page .vrf-reading-card h3 { font-size: 20px; }
  .home-page .final-cta { flex-wrap: wrap; }
  .home-page .final-cta-actions { display: flex; min-width: 0; }
}
@media (max-width: 640px) {
  .home-page .container { padding-inline: 21px; }
  .home-page .site-header .container { min-height: 66px; }
  .home-page .brand-logo { height: 43px; }
  .home-page .home-hero { padding-top: 35px; }
  .home-page .home-hero .eyebrow { font-size: 9px; letter-spacing: .14em; margin-bottom: 23px; }
  .home-page .home-hero h1 { font-size: clamp(36px,9.5vw,57px); line-height: 1.09; letter-spacing: -.045em; margin-bottom: 23px; }
  .home-page .hero-location { display: block; }
  .home-page .home-hero .hero-copy > .hero-lead { font-size: 17px; line-height: 1.45; margin-bottom: 12px; }
  .home-page .home-hero .hero-copy > p { font-size: 15px; line-height: 1.7; margin-bottom: 24px; }
  .home-page .home-hero .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
  .home-page .home-hero .btn { padding: 12px 9px; font-size: 13px; min-height: 50px; }
  .home-page .hero-detail-line { display: flex; gap: 7px 14px; margin-top: 21px; font-size: 10px; line-height: 1.5; }
  .home-page .hero-detail-line span:last-child { display: none; }
  .home-page .home-hero .hero-layout { gap: 34px; }
  .home-page .building-options { width: 100%; }
  .home-page .building-options button { flex: 1; font-size: 12px; padding: 10px 8px; min-height: 44px; }
  .home-page .building-figure { height: auto; margin: -8px -10px -2px; }
  .home-page .building-art { height: auto; }
  .home-page .building-figure figcaption { right: 10px; bottom: 4px; font-size: 10px; }
  .home-page .has-system-explorer .building-figure { height: clamp(248px, 78vw, 322px); margin: 5px -8px 4px; }
  .home-page .has-system-explorer .building-art { height: calc(100% - 22px); }
  .home-page .system-options button { flex-direction: column; gap: 5px; min-height: 75px; padding: 8px 3px; font-size: 12px; }
  .home-page .system-options button > span { flex-basis: auto; width: 20px; height: 20px; }
  .home-page .system-detail { grid-template-columns: 84px minmax(0, 1fr); gap: 8px 14px; padding: 15px; min-height: 238px; align-content: center; }
  .home-page .system-detail > div { display: contents; }
  .home-page .system-detail > svg { width: 84px; height: 70px; }
  .home-page .system-detail h2 { font-size: 17px; margin: 0; }
  .home-page .system-detail p { grid-column: 1 / -1; font-size: 14px; line-height: 1.55; }
  .home-page .system-detail a { grid-column: 1 / -1; font-size: 13px; }
  .home-page .system-example-note { min-height: 53px; }
  .home-page .building-solution { padding: 17px 18px; margin-top: 5px; }
  .home-page .building-solution strong { font-size: 17px; }
  .home-page .building-solution-kicker { font-size: 10px; }
  .home-page .building-solution a { font-size: 12px; }
  .home-page .building-bottom { gap: 6px 8px; }
  .home-page .building-bottom > a, .home-page .home-motion-toggle { min-height: 44px; font-size: 12px; }
  .home-page .hero-index { font-size: 10px; padding-block: 17px; margin-top: 15px; }
  .home-page .hero-index > span { max-width: 125px; line-height: 1.5; }
  .home-page .hero-index a { gap: 10px; }
  .home-page .trust-strip-item { padding-block: 20px; gap: 10px; }
  .home-page .trust-strip-item strong { font-size: 12px; }
  .home-page .trust-strip-item small { font-size: 11px; line-height: 1.5; }
  .home-page .trust-strip-icon { width: 26px; height: 26px; font-size: 11px; }
  .home-page main > .section { padding-block: 49px; }
  .home-page .section-head { margin-bottom: 27px; }
  .home-page .section-head h2, .home-page .cta-band-vrf h2 { font-size: 29px; line-height: 1.23; }
  .home-page .section-head p, .home-page .cta-band-vrf p { font-size: 15px; line-height: 1.75; }
  .home-page .kicker, .home-page .cta-band-label { font-size: 10px; }
  .home-page .cta-band-vrf .hero-actions { display: grid; grid-template-columns: 1fr; }
  .home-page .cta-band-vrf .btn { width: 100%; }
  .home-page .project-entry-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 26px; }
  .home-page .project-entry { grid-template-columns: 24px minmax(0, 1fr) 16px; gap: 12px; padding: 20px 16px; align-items: start; }
  .home-page .project-entry-number { padding-top: 3px; }
  .home-page .project-entry-copy { grid-column: 2; gap: 6px; }
  .home-page .project-entry-copy strong { font-size: 17px; }
  .home-page .project-entry-arrow { grid-column: 3; padding-top: 2px; }
  .home-page .expertise-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-page .expertise-grid > .card:not(.expertise-featured) { min-height: 0; padding: 25px; }
  .home-page .expertise-grid > .card .icon { margin-bottom: 15px; }
  .home-page .expertise-featured { padding: 27px !important; }
  .home-page .expertise-featured h3 { font-size: 24px; }
  .home-page .sector-showcase-head { margin-bottom: 27px; }
  .home-page .sector-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-page .sector-card { padding: 25px; }
  .home-page .sector-card h3 { font-size: 22px; }
  .home-page .sector-card-top { margin-bottom: 17px; }
  .home-page .sector-quicklinks a { font-size: 12px; min-height: 41px; }
  .home-page .service-coverage { grid-template-columns: 1fr 1fr; gap: 8px; }
  .home-page .service-coverage-wide { grid-column: 1 / -1; }
  .home-page .service-area-grid { grid-template-columns: 1fr; gap: 13px; }
  .home-page .service-area-card { padding: 24px; }
  .home-page .service-area-card h3 { font-size: 20px; }
  .home-page .service-area-ticker { display: none; }
  .home-page .process-grid { grid-template-columns: 1fr; gap: 0; margin-top: 30px; }
  .home-page .process-card { display: grid; grid-template-columns: 45px 1fr; gap: 19px; padding-bottom: 27px; }
  .home-page .process-card:not(:last-child)::after { display: block; left: 22px; top: 46px; bottom: 0; height: auto; width: 1px; }
  .home-page .process-number { width: 45px; height: 45px; font-size: 14px; margin: 0; }
  .home-page .process-card h3 { padding-top: 10px; }
  .home-page .process-card:last-child { padding-bottom: 0; }
  .home-page .home-faq > .container { gap: 27px; }
  .home-page .faq summary { font-size: 15px; padding-block: 19px; }
  .home-page .vrf-reading-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-page .vrf-reading-card { min-height: 0; padding: 27px; }
  .home-page .vrf-reading-card h3 { font-size: 25px; }
  .home-page .final-cta h2 { font-size: 33px; }
  .home-page .final-cta p { font-size: 15px; }
  .home-page .final-cta-actions { display: grid; gap: 11px; width: 100%; }
  .home-page .site-footer { padding-top: 45px; }
}
@media (max-width: 359px) {
  .home-page .container { padding-inline: 17px; }
  .home-page .home-hero h1 { font-size: 35px; }
  .home-page .home-hero .hero-actions { grid-template-columns: 1fr; }
  .home-page .hero-detail-line { font-size: 9px; gap: 7px 11px; }
  .home-page .building-options button { font-size: 11px; padding-inline: 4px; }
  .home-page .system-detail { min-height: 264px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page *, .home-page *::before, .home-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Mobile refinements preserve all nine systems, text and destination links. */
@media (max-width: 900px) {
  .home-page .main-nav { background: #102d38; border-top-color: #35505a; }
  .home-page .main-nav .dropdown-inner { border-left-color: #58736f; }
  .home-page .main-nav .dropdown-inner a { color: #d4e4e3; }
  .home-page .nav-submenu-toggle { background: #173a45; border-color: #4b696d; }
  .home-page .nav-submenu-toggle[aria-expanded="true"] { background: #285c53; color: #c5f6df; }
}
@media (max-width: 640px) {
  /* Clip decoration without creating a scrolling ancestor for the sticky tabs. */
  .home-page .home-hero { overflow: clip; }
  .home-page .home-hero .eyebrow { font-size: 10px; letter-spacing: .12em; }
  .home-page .home-hero .btn { justify-content: center; text-align: center; line-height: 1.35; min-height: 56px; }
  .home-page .building-options {
    position: sticky;
    top: var(--abf-header-height, 67px);
    z-index: 5;
    background: #102d38;
    border-color: #54736f;
    border-radius: 10px;
    box-shadow: 0 6px 20px #061b2440;
  }
  .home-page .building-options button { min-height: 48px; border-radius: 6px; }
  .home-page .system-explorer-hint { font-size: 13px; line-height: 1.5; }
  .home-page .system-options button { flex-direction: row; text-align: left; min-height: 62px; gap: 6px; padding: 10px 6px; }
  .home-page .system-options button > span { flex: 0 0 20px; }
  .home-page .system-detail { grid-template-columns: 64px minmax(0, 1fr); min-height: 222px; gap: 9px 12px; scroll-margin-top: calc(var(--abf-header-height, 67px) + 90px); }
  .home-page .system-detail > svg { width: 64px; height: 56px; }
  .home-page .system-detail a { font-size: 14px; }
  .home-page .system-example-note { font-size: 12px; line-height: 1.55; min-height: 56px; }
  .home-page .building-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; padding-top: 8px; }
  .home-page .building-bottom > a { font-size: 13px; line-height: 1.5; }
  .home-page .home-motion-toggle { width: 44px; height: 44px; padding: 0; justify-content: center; border: 1px solid #57766f; border-radius: 50%; font-size: 0; }
  .home-page .home-motion-toggle::before { content: 'Ⅱ'; font-size: 17px; }
  .home-page .home-motion-toggle[aria-pressed="true"]::before { content: '▷'; }
  .home-page .sector-quicklinks a { min-height: 44px; font-size: 13px; }
}
@media (max-width: 374px) {
  .home-page .system-detail { min-height: 248px; }
}
@media (hover: hover) and (pointer: fine) {
  .home-page .has-system-hotspots .system-part:hover { opacity: 1; }
  .home-page .project-entry:hover .project-entry-arrow { transform: translate(2px, -2px); }
}
@media (hover: none) {
  .home-page .expertise-grid > .card:not(.expertise-featured):hover,
  .home-page .sector-card:hover,
  .home-page .service-area-card:hover { transform: none; }
}
.home-page .project-entry-arrow { transition: transform .18s ease; }
.home-page .project-entry:active { transform: scale(.99); }
.home-page.home-motion-paused .project-entry:active { transform: none; }
@media print {
  .home-page .building-options, .home-page .home-motion-toggle, .home-page .hero-index { display: none !important; }
  .home-page .building-solution[hidden] { display: block !important; }
}
