/* HVAC CLT system-led visual layer — August 2026 */

:root {
  --hvac-ink: #082c3b;
  --hvac-ink-2: #164553;
  --hvac-teal: #078886;
  --hvac-teal-dark: #006d6c;
  --hvac-coral: #ef6a4b;
  --hvac-cream: #f6f3eb;
  --hvac-white: #fffefa;
  --hvac-mist: #e8f5f3;
  --hvac-warm: #f7e7d2;
  --hvac-gutter: clamp(22px, 4.6vw, 74px);
  --hvac-section: clamp(72px, 8vw, 124px);
  --hvac-max: 1420px;
}

body { font-size: clamp(18px, 1.2vw, 20px); line-height: 1.58; background: var(--hvac-cream); }
p { text-wrap: pretty; }
.main-nav a { font-size: clamp(1rem, 1vw, 1.08rem); }
.btn { min-height: 56px; padding: 14px 26px; font-size: clamp(1.0625rem, 1.1vw, 1.1875rem); }
.context-kicker, .eyebrow, .tag, .stage-index { font-size: clamp(.76rem, .9vw, .88rem); letter-spacing: .12em; }
.context-page h1 { font-size: clamp(3.2rem, 6.7vw, 7.2rem); }
.context-page h2 { font-size: clamp(2.35rem, 4.8vw, 5rem); }
.context-page h3 { font-size: clamp(1.45rem, 2vw, 2.2rem); }
.context-intro p, .catalog-hero p, .context-hero-copy p, .decision-scale-copy p, .area-map-copy p { font-size: clamp(1rem, 1.35vw, 1.2rem); }
.context-wrap { width: min(calc(100% - (var(--hvac-gutter) * 2)), var(--hvac-max)); }
.context-section { padding: var(--hvac-section) 0; }
.form-message strong, .form-message span { display: block; }
.form-message strong { color: var(--hvac-ink); font-size: 1.05rem; }
.form-message span { margin-top: 6px; }

/* Header and mobile conversion controls. */
.site-header { padding: 8px clamp(8px, 1.2vw, 18px) 0; background: linear-gradient(180deg, rgba(246,243,235,.98), rgba(246,243,235,.88)); }
.nav-wrap { width: min(100%, 1740px); min-height: 76px; gap: clamp(12px, 1.3vw, 22px); border-radius: 18px; }
.main-nav ul { gap: 0; background: transparent; }
.main-nav a { padding-inline: clamp(6px, .65vw, 10px); white-space: nowrap; }
.header-actions .btn { min-height: 48px; padding: 11px 21px; font-size: 1.0625rem; }
.dock-action { font-size: .9rem !important; }
.dock-action strong { font-size: 1rem !important; }

/* Art-directed home opening. */
.hvac-hero { padding: clamp(14px, 2vw, 28px) var(--hvac-gutter) 0; }
.hvac-hero-shell { width: min(100%, 1540px); min-height: clamp(680px, calc(100svh - 132px), 900px); margin-inline: auto; position: relative; overflow: hidden; border-radius: clamp(26px, 3vw, 46px); color: white; background: var(--hvac-ink); }
.hvac-hero-copy { width: min(64%, 900px); min-height: inherit; position: relative; z-index: 2; padding: clamp(64px, 8vw, 120px) clamp(34px, 6vw, 96px); display: flex; flex-direction: column; justify-content: center; }
.hvac-hero-copy .context-kicker { color: #9fe1dd; }
.hvac-hero-copy h1 { max-width: 11ch; margin-top: 20px; font-size: clamp(3.8rem, 5.9vw, 6.8rem); }
.hvac-hero-copy > p:not(.context-kicker) { max-width: 35ch; margin-top: 24px; color: rgba(255,255,255,.76); font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.hvac-hero-copy .hero-actions { margin-top: 34px; }
.hvac-hero-copy .btn-secondary { color: white; border-color: rgba(255,255,255,.48); }
.hvac-hero-media { position: absolute; inset: 0; }
.hvac-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,44,59,.98) 0%,rgba(8,44,59,.88) 31%,rgba(8,44,59,.58) 53%,rgba(8,44,59,.1) 82%),linear-gradient(0deg,rgba(8,44,59,.34),transparent 55%); }
.hvac-hero-media img { width:100%; height:100%; object-fit:cover; object-position:62% center; }
.comfort-status { z-index:3; width:min(290px,calc(100% - 44px)); padding:20px 22px; position:absolute; right:24px; bottom:24px; border:1px solid rgba(255,255,255,.38); border-radius:16px; color:var(--hvac-ink); background:rgba(255,254,250,.93); backdrop-filter:blur(14px); box-shadow:0 24px 60px rgba(8,44,59,.2); }
.comfort-status-top { display:flex; align-items:center; justify-content:space-between; }
.comfort-status strong { font-size:clamp(2.5rem,4vw,4rem); letter-spacing:-.06em; }
.comfort-status span { color:var(--hvac-ink-2); font-size:.8rem; font-weight:800; }
.status-line { height:5px; margin-top:15px; overflow:hidden; border-radius:10px; background:#d6e7e5; }
.status-line::before { content:""; width:74%; height:100%; display:block; background:var(--hvac-teal); }
.hero-capabilities { margin-top:auto; padding-top:42px; display:flex; flex-wrap:wrap; gap:9px 20px; color:rgba(255,255,255,.74); font-size:.82rem; font-weight:750; }
.hero-capabilities span::before { content:""; width:7px; height:7px; margin-right:9px; display:inline-block; border-radius:50%; background:#76d0cb; vertical-align:middle; }

/* Dynamic comfort-service navigator. */
.system-navigator { padding:var(--hvac-section) 0; background:var(--hvac-white); }
.navigator-head { display:grid; grid-template-columns:.85fr 1.15fr; align-items:end; gap:60px; }
.navigator-head p { max-width:47ch; color:var(--ink-soft); font-size:1.08rem; }
.navigator-shell { margin-top:clamp(48px,6vw,80px); display:grid; grid-template-columns:330px 1fr; overflow:hidden; border-radius:32px; background:var(--hvac-mist); }
.navigator-tabs { padding:24px 0; background:var(--hvac-ink); }
.navigator-tab { width:100%; min-height:76px; padding:16px 28px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:12px; border:0; color:rgba(255,255,255,.68); background:transparent; text-align:left; cursor:pointer; }
.navigator-tab span { color:#7ed3cf; font-size:.72rem; font-weight:900; }
.navigator-tab strong { font-size:1.05rem; }
.navigator-tab:hover,.navigator-tab[aria-selected="true"] { color:white; background:rgba(255,255,255,.1); }
.navigator-tab[aria-selected="true"] { box-shadow:inset 5px 0 var(--hvac-coral); }
.navigator-panel { min-height:570px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); }
.navigator-content { padding:clamp(42px,6vw,78px); display:flex; flex-direction:column; align-items:flex-start; }
.navigator-content h3 { max-width:10ch; margin-top:16px; font-size:clamp(2.8rem,5vw,5.4rem); }
.navigator-content p { max-width:42ch; margin-top:20px; color:var(--ink-soft); }
.navigator-symptoms { margin:32px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:9px; list-style:none; }
.navigator-symptoms li { padding:9px 13px; border-radius:999px; background:rgba(8,44,59,.08); font-size:.82rem; font-weight:750; }
.navigator-content .btn { margin-top:auto; }
.navigator-image { min-height:520px; overflow:hidden; }
.navigator-image img { width:100%; height:100%; object-fit:cover; transition:opacity .18s ease,transform .3s ease; }
.navigator-shell.is-changing .navigator-image img { opacity:.4; transform:scale(1.02); }

/* Connected home-comfort system. */
.comfort-system { padding:var(--hvac-section) 0; color:white; background:var(--hvac-ink); }
.comfort-system-head { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:end; }
.comfort-system-head .context-kicker { color:#8edbd7; }
.comfort-system-head p { max-width:50ch; color:rgba(255,255,255,.68); }
.comfort-system-layout { margin-top:70px; display:grid; grid-template-columns:minmax(560px,1.25fr) minmax(320px,.75fr); gap:clamp(42px,6vw,90px); align-items:center; }
.house-system { min-height:580px; position:relative; overflow:hidden; border-radius:30px; background:linear-gradient(180deg,#bfdedb 0 31%,#f4ede0 31% 100%); }
.house-roof { width:72%; height:43%; position:absolute; top:9%; left:14%; background:var(--hvac-white); clip-path:polygon(50% 0,100% 47%,90% 47%,90% 100%,10% 100%,10% 47%,0 47%); }
.house-floor { width:58%; height:33%; position:absolute; top:51%; left:21%; border:4px solid rgba(8,44,59,.18); border-top:0; background:#fffefa; }
.air-duct { position:absolute; z-index:2; background:#98c9c6; }
.duct-main { width:47%; height:18px; top:39%; left:26%; }
.duct-left { width:18px; height:38%; top:39%; left:32%; }
.duct-right { width:18px; height:38%; top:39%; right:32%; }
.airflow-dot { width:8px; height:8px; position:absolute; z-index:3; border-radius:50%; background:var(--hvac-coral); animation:airflow 4s linear infinite; }
.airflow-dot:nth-child(1) { top:39.8%; left:29%; }.airflow-dot:nth-child(2) { top:39.8%; left:45%; animation-delay:-1s; }.airflow-dot:nth-child(3) { top:39.8%; left:61%; animation-delay:-2s; }.airflow-dot:nth-child(4) { top:54%; left:32.6%; animation-delay:-.5s; }.airflow-dot:nth-child(5) { top:67%; right:32.4%; animation-delay:-2.6s; }
@keyframes airflow { 0%,100%{opacity:.25;transform:translateX(-8px)}50%{opacity:1;transform:translateX(8px)} }
.system-hotspot { min-width:112px; min-height:48px; padding:10px 14px; position:absolute; z-index:5; border:1px solid rgba(8,44,59,.16); border-radius:12px; color:var(--hvac-ink); background:rgba(255,254,250,.96); font-size:.75rem; font-weight:850; cursor:pointer; box-shadow:0 12px 26px rgba(8,44,59,.12); }
.system-hotspot::before { content:""; width:8px; height:8px; margin-right:8px; display:inline-block; border-radius:50%; background:var(--hvac-teal); }
.system-hotspot[aria-selected="true"] { color:white; background:var(--hvac-teal-dark); }
.hotspot-outdoor { right:5%; bottom:8%; }.hotspot-thermostat { top:52%; right:22%; }.hotspot-airhandler { bottom:12%; left:25%; }.hotspot-ducts { top:29%; left:43%; }.hotspot-return { bottom:27%; left:6%; }.hotspot-supply { top:54%; left:37%; }.hotspot-iaq { top:12%; right:4%; }
.system-detail { min-height:400px; padding:clamp(32px,4vw,52px); display:flex; flex-direction:column; border-radius:26px; color:var(--hvac-ink); background:var(--hvac-white); }
.system-detail .context-kicker { color:var(--hvac-teal-dark); }
.system-detail h3 { margin-top:18px; font-size:clamp(2rem,3.6vw,3.8rem); }
.system-detail p { margin-top:20px; color:var(--ink-soft); }
.system-detail ul { margin:30px 0 0; padding:0; list-style:none; }
.system-detail li { padding:11px 0; border-bottom:1px solid rgba(8,44,59,.12); font-size:.88rem; }
.system-detail a { margin-top:auto; align-self:flex-start; }

/* Symptom-first inspection selector. */
.symptom-desk { padding:var(--hvac-section) 0; background:#dcefed; }
.symptom-desk-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,130px); }
.symptom-desk-copy { align-self:start; position:sticky; top:130px; }
.symptom-desk-copy h2 { max-width:9ch; margin-top:16px; }
.symptom-desk-copy p { max-width:34ch; margin-top:22px; color:var(--ink-soft); }
.symptom-options { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.symptom-option { min-height:126px; padding:22px; border:0; border-radius:16px; color:var(--hvac-ink); background:rgba(255,254,250,.78); text-align:left; cursor:pointer; }
.symptom-option strong,.symptom-option small { display:block; }
.symptom-option strong { font-size:1.02rem; }.symptom-option small { margin-top:6px; color:var(--ink-soft); font-size:.8rem; }
.symptom-option:hover,.symptom-option[aria-selected="true"] { color:white; background:var(--hvac-ink); }
.symptom-option[aria-selected="true"] small { color:rgba(255,255,255,.65); }
.inspection-result { margin-top:14px; padding:clamp(30px,4vw,48px); border-radius:24px; color:white; background:var(--hvac-teal-dark); }
.inspection-result h3 { margin-top:12px; }
.inspection-result p { margin-top:14px; color:rgba(255,255,255,.74); }
.inspection-result ul { margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 22px; list-style:none; }
.inspection-result li { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.86rem; }
.inspection-result .btn { margin-top:28px; color:var(--hvac-ink); background:white; border-color:white; }

/* Diagnostic transparency. */
.diagnostic-proof { padding:var(--hvac-section) 0; background:var(--hvac-white); }
.diagnostic-grid { display:grid; grid-template-columns:minmax(400px,.85fr) minmax(0,1.15fr); gap:18px; }
.diagnostic-photo { min-height:640px; position:relative; overflow:hidden; border-radius:30px; }
.diagnostic-photo img { width:100%; height:100%; object-fit:cover; }
.diagnostic-photo-copy { position:absolute; right:0; bottom:0; left:0; padding:clamp(30px,5vw,60px); color:white; background:linear-gradient(0deg,rgba(8,44,59,.9),transparent); }
.diagnostic-photo-copy h2 { max-width:9ch; }
.readout-panel { padding:clamp(34px,5vw,66px); border-radius:30px; color:#d9eeec; background:#0b3443; }
.readout-note { padding:12px 15px; display:inline-flex; border-radius:8px; color:#0b3443; background:#a7ded9; font-size:.74rem; font-weight:850; }
.readout-panel > p { max-width:50ch; margin-top:22px; color:rgba(255,255,255,.64); }
.readout-list { margin-top:38px; display:grid; gap:10px; }
.readout { min-height:82px; padding:16px 18px; display:grid; grid-template-columns:.7fr 1fr auto; align-items:center; gap:20px; border-radius:12px; background:rgba(255,255,255,.07); }
.readout span { color:#88ccc7; font-size:.74rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.readout strong { color:white; font-size:1rem; }
.readout b { color:#f4bd5c; font-size:.84rem; }

/* Temperature service split. */
.temperature-services { padding:var(--hvac-section) 0; background:var(--hvac-cream); }
.temperature-split { min-height:560px; display:grid; grid-template-columns:1fr 160px 1fr; overflow:hidden; border-radius:32px; background:var(--hvac-white); }
.temp-side { padding:clamp(40px,6vw,78px); display:flex; flex-direction:column; }
.temp-side.cool { background:#dceff1; }.temp-side.warm { background:#f5e6d5; }
.temp-side h3 { margin-top:20px; font-size:clamp(3rem,5.5vw,6rem); }
.temp-side ul { margin:auto 0 0; padding:0; list-style:none; }
.temp-side li { padding:11px 0; border-bottom:1px solid rgba(8,44,59,.13); }
.temp-center { display:grid; place-items:center; position:relative; background:var(--hvac-white); }
.thermostat-mini { width:116px; height:116px; display:grid; place-items:center; border:10px solid #e5ecea; border-radius:50%; color:var(--hvac-ink); background:white; box-shadow:0 16px 34px rgba(8,44,59,.12); font-size:2rem; font-weight:900; }

/* Seasonal cycle and energy behavior. */
.season-efficiency { padding:var(--hvac-section) 0; color:white; background:var(--hvac-ink); }
.season-efficiency-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(48px,7vw,100px); }
.season-wheel { min-height:540px; position:relative; display:grid; place-items:center; }
.season-ring { width:min(470px,100%); aspect-ratio:1; position:relative; border:42px solid rgba(255,255,255,.1); border-radius:50%; }
.season-center { position:absolute; inset:29%; display:grid; place-items:center; border-radius:50%; color:var(--hvac-ink); background:#a7ded9; font-size:1.05rem; font-weight:900; text-align:center; }
.season-label { width:160px; position:absolute; text-align:center; }
.season-label strong,.season-label small { display:block; }.season-label small { margin-top:5px; color:rgba(255,255,255,.62); font-size:.74rem; }
.season-spring { top:2%; left:50%; transform:translateX(-50%); }.season-summer { top:50%; right:-5%; transform:translateY(-50%); }.season-fall { bottom:2%; left:50%; transform:translateX(-50%); }.season-winter { top:50%; left:-5%; transform:translateY(-50%); }
.efficiency-story { display:flex; flex-direction:column; justify-content:center; }
.efficiency-story .context-kicker { color:#8edbd7; }
.efficiency-story h2 { margin-top:18px; }
.efficiency-compare { margin-top:38px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.efficiency-column { padding:26px; border-radius:18px; background:rgba(255,255,255,.07); }
.efficiency-column.smart { background:#0a716f; }
.efficiency-column strong { display:block; font-size:1.2rem; }
.efficiency-column ul { margin:22px 0 0; padding:0; list-style:none; }
.efficiency-column li { padding:8px 0; color:rgba(255,255,255,.7); font-size:.82rem; }

/* Service journey with airflow route. */
.service-journey { padding:var(--hvac-section) 0; background:var(--hvac-white); }
.journey-head { max-width:850px; }
.journey-head h2 { margin-top:18px; }
.journey-route { margin:70px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); position:relative; list-style:none; }
.journey-route::before { content:""; height:12px; position:absolute; top:41px; right:8%; left:8%; border-top:3px solid #89cfca; border-radius:50%; transform:rotate(-1.2deg); }
.journey-stage { padding:0 18px; position:relative; text-align:center; }
.journey-symbol { width:86px; height:86px; margin:0 auto; display:grid; place-items:center; position:relative; z-index:2; border:8px solid var(--hvac-white); border-radius:50%; color:white; background:var(--hvac-teal-dark); font-size:.78rem; font-weight:900; }
.journey-stage:nth-child(even) .journey-symbol { background:var(--hvac-coral); }
.journey-stage h3 { margin-top:24px; font-size:1.25rem; }
.journey-stage p { margin-top:9px; color:var(--ink-soft); font-size:.84rem; }

/* Focused service-page diagrams. */
.service-hero-badge { margin-top:32px; display:inline-flex; gap:10px; padding:12px 15px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(8,44,59,.28); backdrop-filter:blur(8px); font-size:.84rem; font-weight:800; }
.flow-sequence { margin:55px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; }
.flow-sequence li { min-height:180px; padding:24px; position:relative; background:var(--hvac-white); }
.flow-sequence li:nth-child(even) { background:var(--hvac-mist); }
.flow-sequence li:not(:last-child)::after { content:"→"; position:absolute; z-index:3; top:50%; right:-12px; color:var(--hvac-coral); font-weight:900; transform:translateY(-50%); }
.flow-sequence span { color:var(--hvac-teal-dark); font-size:.72rem; font-weight:900; }
.flow-sequence strong { display:block; margin-top:52px; font-size:1rem; }
.heat-pump-cycle { min-height:650px; display:grid; grid-template-columns:1fr 140px 1fr; overflow:hidden; border-radius:30px; }
.cycle-season { padding:clamp(40px,6vw,76px); display:flex; flex-direction:column; }
.cycle-season.summer { background:#dcedf0; }.cycle-season.winter { background:#f4e4d1; }
.cycle-season h2 { margin-top:16px; }
.cycle-season p { margin-top:auto; color:var(--ink-soft); }
.cycle-core { display:grid; place-items:center; color:white; background:var(--hvac-ink); writing-mode:vertical-rl; font-size:.9rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.energy-arrow { margin:40px 0; display:flex; align-items:center; gap:14px; font-weight:850; }
.energy-arrow::before { content:""; height:4px; flex:1; border-radius:5px; background:var(--hvac-coral); }
.duct-house { min-height:650px; position:relative; overflow:hidden; border-radius:30px; background:linear-gradient(180deg,#cce7e4 0 28%,#fffefa 28% 100%); }
.duct-house-outline { width:74%; height:58%; position:absolute; top:22%; left:13%; border:5px solid rgba(8,44,59,.22); border-top:0; }
.duct-house-outline::before { content:""; width:70%; height:70%; position:absolute; top:-34%; left:15%; border-top:5px solid rgba(8,44,59,.22); border-left:5px solid rgba(8,44,59,.22); transform:rotate(45deg); }
.duct-path { position:absolute; z-index:2; border-radius:8px; background:#84c7c2; }
.duct-return-main { width:24px; height:44%; bottom:18%; left:25%; }.duct-trunk { width:50%; height:24px; top:45%; left:25%; }.duct-supply-a { width:24px; height:30%; top:45%; left:50%; }.duct-supply-b { width:24px; height:30%; top:45%; right:25%; }
.duct-label { position:absolute; z-index:4; padding:10px 13px; border-radius:9px; color:white; background:var(--hvac-ink); font-size:.74rem; font-weight:850; }
.dl-return { bottom:12%; left:14%; }.dl-system { bottom:10%; left:43%; }.dl-supply { top:34%; right:14%; }.dl-rooms { bottom:11%; right:13%; }
.duct-issue { position:absolute; z-index:5; padding:8px 11px; border-radius:999px; color:white; background:var(--hvac-coral); font-size:.68rem; font-weight:850; }
.issue-leak { top:43%; left:61%; }.issue-balance { top:60%; right:16%; }.issue-restriction { bottom:29%; left:20%; }
.thermostat-stage { min-height:650px; padding:clamp(40px,6vw,76px); display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:80px; border-radius:30px; background:var(--hvac-mist); }
.thermostat-device { width:min(430px,100%); aspect-ratio:1; margin:auto; display:grid; place-items:center; position:relative; border:26px solid white; border-radius:50%; color:white; background:var(--hvac-ink); box-shadow:0 28px 70px rgba(8,44,59,.18); }
.thermostat-device strong { font-size:clamp(5rem,9vw,8rem); letter-spacing:-.08em; }
.thermostat-device span { position:absolute; bottom:22%; color:#8edbd7; font-size:.82rem; font-weight:850; }
.thermostat-controls { display:grid; gap:14px; }
.control-row { min-height:86px; padding:18px 22px; display:grid; grid-template-columns:1fr auto; align-items:center; border-radius:13px; background:rgba(255,255,255,.76); }
.control-row strong { font-size:1rem; }.control-row small { color:var(--ink-soft); }
.urgent-hero { padding:clamp(70px,9vw,130px) 0; color:white; background:var(--hvac-ink); }
.urgent-hero-grid { display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:center; }
.urgent-hero h1 { max-width:10ch; margin-top:18px; }
.urgent-hero p { max-width:43ch; margin-top:24px; color:rgba(255,255,255,.72); }
.urgent-path { padding:34px; border-radius:24px; color:var(--hvac-ink); background:var(--hvac-white); }
.urgent-path strong { display:block; font-size:1.5rem; }
.urgent-path ul { margin:24px 0 0; padding:0; list-style:none; }
.urgent-path li { padding:12px 0; border-bottom:1px solid rgba(8,44,59,.12); }
.urgent-emergency { padding:clamp(60px,7vw,94px) 0; color:white; background:#823d31; }
.urgent-emergency-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }

/* Requested sitewide type reduction: display titles about 30% smaller,
   supporting text substantially smaller with a readable mobile floor. */
body { font-size:clamp(14.5px,.84vw,15.5px) !important; }
h1 { font-size:clamp(2.65rem,4.15vw,5rem) !important; }
h2 { font-size:clamp(1.7rem,3.35vw,3.5rem) !important; }
h3 { font-size:clamp(1.15rem,1.45vw,1.55rem) !important; }
p, li { font-size:clamp(.875rem,.78vw,.95rem) !important; }
.main-nav a { font-size:.875rem !important; }
.btn, button, input, select, textarea, label { font-size:.875rem !important; }
.context-kicker, .eyebrow, .tag, .stage-index { font-size:.7rem !important; }
small, .fine { font-size:.75rem !important; }

@media (max-width: 1180px) {
  .hvac-hero-copy { width:min(69%,820px); padding-inline:clamp(34px,5vw,64px); }
  .navigator-shell { grid-template-columns:280px 1fr; }
  .navigator-panel { grid-template-columns:1fr; }
  .navigator-image { min-height:330px; order:-1; }
  .navigator-content { min-height:380px; }
  .comfort-system-layout { grid-template-columns:1fr; }
  .house-system { min-height:620px; }
  .system-detail { min-height:0; }
}

@media (max-width: 1300px) and (min-width: 1121px) {
  .nav-wrap { padding-inline:8px; grid-template-columns:auto 1fr; gap:8px; }
  .brand { gap:8px; }
  .brand-mark { width:44px; height:44px; }
  .brand-name { font-size:.96rem; }
  .brand-place { display:none; }
  .main-nav { justify-self:end; }
  .main-nav a { padding-inline:4px; }
  .header-actions { display:none; }
}

@media (max-width: 1023px) {
  .hvac-hero-shell { min-height:720px; }
  .hvac-hero-copy { width:min(78%,720px); min-height:720px; }
  .hvac-hero-media::after { background:linear-gradient(90deg,rgba(8,44,59,.96),rgba(8,44,59,.7) 58%,rgba(8,44,59,.18)),linear-gradient(0deg,rgba(8,44,59,.38),transparent 60%); }
  .hero-capabilities { margin-top:40px; }
  .navigator-head,.comfort-system-head,.symptom-desk-grid,.diagnostic-grid,.season-efficiency-grid,.thermostat-stage,.urgent-hero-grid,.urgent-emergency-grid { grid-template-columns:1fr; }
  .navigator-shell { grid-template-columns:220px 1fr; }
  .symptom-desk-copy { position:static; }
  .diagnostic-photo { min-height:480px; }
  .temperature-split { grid-template-columns:1fr 120px 1fr; }
  .journey-route { grid-template-columns:1fr; gap:0; }
  .journey-route::before { width:3px; height:auto; top:40px; bottom:40px; right:auto; left:42px; border:0; background:#89cfca; }
  .journey-stage { min-height:145px; padding:0 0 30px 118px; text-align:left; }
  .journey-symbol { position:absolute; top:0; left:0; }
  .journey-stage h3 { margin-top:0; }
  .flow-sequence { grid-template-columns:1fr; }
  .flow-sequence li { min-height:120px; }
  .flow-sequence li strong { margin-top:24px; }
  .flow-sequence li:not(:last-child)::after { top:auto; right:28px; bottom:-16px; transform:rotate(90deg); }
  .heat-pump-cycle { grid-template-columns:1fr; }
  .cycle-season { min-height:420px; }
  .cycle-core { min-height:80px; writing-mode:horizontal-tb; }
}

@media (max-width: 767px) {
  body { font-size:17px; }
  .site-header { padding:6px 8px 0; }
  .nav-wrap { min-height:68px; padding:0 8px 0 10px; }
  .brand-mark { width:46px; height:46px; }
  .brand-place { font-size:.58rem; }
  .header-actions { display:none; }
  .main-nav { inset:76px 8px 8px; }
  .main-nav::before { content:"Service menu"; padding:22px 24px 10px; display:block; color:#8edbd7; font-size:.76rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
  .main-nav a { min-height:60px; font-size:1.04rem; }
  .hvac-hero { padding:8px 8px 0; }
  .hvac-hero-shell { border-radius:24px; }
  .hvac-hero-shell { min-height:720px; }
  .hvac-hero-copy { width:100%; min-height:720px; padding:58px 24px 42px; justify-content:flex-end; }
  .hvac-hero-copy h1 { max-width:9ch; font-size:clamp(3.15rem,15vw,5.2rem); }
  .hvac-hero-copy .hero-actions { display:grid; }
  .hvac-hero-copy .btn { width:100%; }
  .hvac-hero-media::after { background:linear-gradient(0deg,rgba(8,44,59,.98) 0%,rgba(8,44,59,.82) 50%,rgba(8,44,59,.12) 88%),linear-gradient(90deg,rgba(8,44,59,.48),transparent); }
  .comfort-status { display:none; }
  .hero-capabilities { display:grid; grid-template-columns:1fr 1fr; }
  .navigator-head { gap:20px; }
  .navigator-shell { grid-template-columns:1fr; border-radius:22px; }
  .navigator-tabs { padding:8px; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .navigator-tab { min-width:150px; min-height:60px; padding:12px 16px; scroll-snap-align:start; }
  .navigator-tab[aria-selected="true"] { box-shadow:inset 0 -4px var(--hvac-coral); }
  .navigator-image { min-height:270px; }
  .navigator-content { min-height:430px; padding:32px 24px; }
  .navigator-content h3 { font-size:clamp(2.7rem,12vw,4rem); }
  .house-system { min-height:520px; }
  .system-hotspot { min-width:0; min-height:42px; padding:9px 10px; font-size:.66rem; }
  .hotspot-outdoor { right:3%; }.hotspot-thermostat { right:13%; }.hotspot-airhandler { left:17%; }.hotspot-ducts { left:39%; }.hotspot-return { left:2%; }.hotspot-supply { left:32%; }.hotspot-iaq { right:2%; }
  .symptom-options { grid-template-columns:1fr; }
  .symptom-option { min-height:100px; }
  .inspection-result ul { grid-template-columns:1fr; }
  .diagnostic-photo { min-height:420px; }
  .readout { grid-template-columns:1fr auto; }
  .readout span { grid-column:1/-1; }
  .temperature-split { grid-template-columns:1fr; }
  .temp-side { min-height:390px; }
  .temp-center { min-height:150px; }
  .season-wheel { min-height:470px; }
  .season-ring { border-width:32px; }
  .season-label { width:130px; font-size:.84rem; }
  .season-summer { right:-3%; }.season-winter { left:-3%; }
  .efficiency-compare { grid-template-columns:1fr; }
  .duct-house { min-height:520px; }
  .thermostat-stage { padding:34px 20px; gap:50px; }
  .urgent-hero { padding:70px 0; }
  .urgent-path { padding:26px 22px; }
  .mobile-dock { right:10px; bottom:max(10px,env(safe-area-inset-bottom)); grid-template-columns:1fr 1fr; }
  .dock-action { min-width:0; min-height:56px; padding:8px 14px; }
}

@media (max-width: 430px) {
  .context-wrap { width:min(calc(100% - 36px),var(--hvac-max)); }
  .hvac-hero-copy h1 { font-size:clamp(3rem,15.5vw,4.25rem); }
  .hero-capabilities { grid-template-columns:1fr; gap:6px; }
  .comfort-status strong { font-size:2.5rem; }
  .house-system { min-height:480px; margin-inline:-4px; }
  .system-hotspot { font-size:0; width:36px; height:36px; padding:0; border-radius:50%; }
  .system-hotspot::before { width:10px; height:10px; margin:0; }
  .system-detail { padding:28px 22px; }
  .temperature-split,.heat-pump-cycle,.thermostat-stage,.duct-house { border-radius:20px; }
  .season-wheel { min-height:420px; }
  .season-ring { width:300px; border-width:28px; }
  .season-label { width:105px; }
  .season-label small { display:none; }
  .thermostat-device { border-width:18px; }
  .duct-label { font-size:.62rem; }
  .duct-issue { font-size:.58rem; }
}

@media (prefers-reduced-motion: reduce) {
  .airflow-dot { animation:none; opacity:.9; }
  .navigator-image img { transition:none; }
}
