@charset "UTF-8";
/* HVAC MAINTENANCE — page layer (W16). Calm planned-care page; balances heat and cool. */

/* Hero: wide sunlit photo band + overlapping headline card */
.mt-hero { position: relative; background: var(--p-warm); padding-bottom: 72px; }
.mt-hero-photo { height: 540px; overflow: hidden; }
.mt-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; }
.mt-hero-card { position: relative; z-index: 2; margin-top: -210px; background: #fff; border-radius: 20px; padding: 40px 48px 42px; box-shadow: 0 2px 4px rgba(23,33,58,.05), 0 26px 50px rgba(23,33,58,.14); max-width: 1000px; }
.mt-hero-card::before { content: ""; position: absolute; left: 48px; top: 0; width: 72px; height: 4px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, #A8304A, #E4677F 45%, #6FA0EE 60%, #1D5BC7); }
.mt-hero-card h1 { font-size: clamp(2.3rem, 1.5rem + 2.5vw, 3.6rem); font-weight: 850; letter-spacing: -0.035em; line-height: 1; margin: 0 0 22px; text-wrap: balance; }
.mt-hero-card h1 .accent { display: block; margin-top: 8px; font-size: .52em; font-weight: 700; letter-spacing: -0.02em; color: var(--p-sub); }
.mt-hero-body { display: grid; grid-template-columns: 1fr auto; gap: 20px 44px; align-items: end; }
.mt-hero-cta .btn { white-space: nowrap; }
.mt-hero-body .lede { margin: 0; font-size: 1.1rem; line-height: 1.6; color: var(--p-text); }
.mt-hero-cta .cta-note { margin: 10px 0 0; color: var(--p-sub); font-size: .95rem; }

/* Maintenance vs repair lanes */
.mt-lanes-sec { background: var(--p-warm); padding: 0 0 96px; }
.mt-lanes { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 18px; overflow: hidden; }
.mt-lane { padding: 40px 42px; background: #fff; }
.mt-lane h3 { font-size: 1.55rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.mt-lane ul { list-style: none; margin: 20px 0 0; padding: 0; }
.mt-lane li { padding: 12px 0; border-top: 1px solid var(--p-warm-line); }
.mt-lane--repair { background: var(--ink); color: #C9D2E5; }
.mt-lane--repair h3 { color: #fff; }
.mt-lane--repair li { border-top-color: var(--ink-3); }
.mt-lane--repair a { color: var(--sky); font-weight: 700; }

/* Checkup sheet: portrait photo + three system rows */
.mt-covers { background: #fff; padding: 104px 0; }
.mt-covers-grid { display: grid; grid-template-columns: 420px 1fr; gap: 72px; align-items: stretch; }
.mt-covers-photo { margin: 0; border-radius: 18px; overflow: hidden; min-height: 560px; }
.mt-covers-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; }
.mt-intro { font-size: 1.125rem; color: var(--p-sub); max-width: 62ch; margin: 0 0 30px; }
.mt-sheet { border-top: 2px solid var(--ink); }
.mt-row { display: grid; grid-template-columns: 200px 1fr; gap: 12px 32px; padding: 26px 0 28px 20px; border-bottom: 1px solid #E6E0D5; position: relative; }
.mt-row::before { content: ""; position: absolute; left: 0; top: 28px; bottom: 30px; width: 4px; border-radius: 2px; background: var(--ink); }
.mt-row--cool::before { background: linear-gradient(180deg, #6FA0EE, #1D5BC7); }
.mt-row--heat::before { background: linear-gradient(180deg, #E4677F, #A8304A); }
.mt-row-tag { display: flex; align-items: center; gap: 10px; margin: 2px 0 0; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.mt-row-tag svg { width: 30px; height: 30px; flex: none; }
.mt-row h3 { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.015em; margin: 0 0 6px; }
.mt-row p { margin: 0; font-size: 1.02rem; line-height: 1.62; }

/* SIGNATURE: seasonal cool/warm split */
.mt-season { background: var(--p-warm); padding: 96px 0 88px; }
.mt-season-head { margin-bottom: 36px; }
.mt-season-head h2 { margin: 0; }
.mt-split { display: grid; grid-template-columns: 1fr 1fr; }
.mt-half { padding: 64px 0 60px; }
.mt-half--cool { background: linear-gradient(135deg, #DCE8FB 0%, #EEF3FC 100%); }
.mt-half--heat { background: linear-gradient(135deg, #F8E3E7 0%, #FBF0F2 100%); }
.mt-half-inner { max-width: 560px; padding: 0 56px; }
.mt-half--cool .mt-half-inner { margin-left: auto; padding-left: var(--gut); }
.mt-half--heat .mt-half-inner { padding-right: var(--gut); }
.mt-season-word { margin: 0 0 18px; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; letter-spacing: .02em; color: var(--p-sub); }
.mt-season-word span { display: block; font-size: clamp(3.2rem, 2rem + 3.6vw, 5.6rem); font-weight: 850; letter-spacing: -0.045em; line-height: .95; margin-bottom: 8px; }
.mt-half--cool .mt-season-word span { color: var(--cobalt); }
.mt-half--heat .mt-season-word span { color: var(--heat); }
.mt-half p:last-child { margin: 0; font-size: 1.1rem; line-height: 1.6; color: var(--p-text); }
.mt-between { margin-top: 48px; display: grid; grid-template-columns: 220px repeat(3, 1fr); gap: 20px 36px; align-items: start; }
.mt-between h3 { font-size: 1.3rem; font-weight: 800; margin: 0; }
.mt-between p { margin: 0; font-size: 1rem; line-height: 1.6; padding-top: 12px; border-top: 1px solid var(--p-warm-line); }

/* The one dark band */
.mt-finds { position: relative; background: var(--ink); color: #C9D2E5; padding: 120px 0 104px; overflow: hidden; }
.mt-flow { top: 22px; opacity: .85; }
.mt-finds-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.mt-finds h2 { color: #fff; }
.mt-finds-head p:last-child { font-size: 1.1rem; color: #D5DCEB; margin: 0; }
.mt-ask { list-style: none; margin: 0; padding: 0; counter-reset: q; }
.mt-ask li { counter-increment: q; display: grid; grid-template-columns: 56px 1fr; gap: 4px 12px; padding: 24px 0; border-top: 1px solid var(--ink-3); }
.mt-ask li:first-child { border-top: 0; padding-top: 4px; }
.mt-ask li::before { content: counter(q, decimal-leading-zero); grid-row: 1 / span 2; font-family: var(--font-head); font-weight: 800; font-size: 1.6rem; line-height: 1.1; color: transparent; -webkit-text-stroke: 1.2px var(--sky); }
.mt-ask li:nth-child(n+3)::before { -webkit-text-stroke-color: var(--heat-soft); }
.mt-ask h3 { color: #fff; font-size: 1.3rem; font-weight: 800; margin: 0; }
.mt-ask p { margin: 0; font-size: 1rem; }

/* Limits + booking */
.mt-limits { background: #fff; padding: 104px 0; }
.mt-limits-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 72px; align-items: center; }
.mt-limits-grid > div:first-child p { font-size: 1.08rem; line-height: 1.65; max-width: 64ch; }
.mt-book { background: var(--p-warm); border-radius: 18px; padding: 36px 34px; }
.mt-book h3 { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; }
.mt-book p { color: var(--p-sub); }
.mt-book .btn { width: 100%; }

/* FAQ */
.mt-faq { background: var(--p-warm); padding: 104px 0; }
.mt-faq-grid { display: grid; grid-template-columns: 340px 1fr; gap: 72px; align-items: start; }
.mt-faq-grid > div:first-child p:last-child { color: var(--p-sub); font-size: 1.0625rem; }
.svc-mt .faq-list { border-top: 2px solid var(--ink); }
.svc-mt .faq-list details { border-bottom-color: var(--p-warm-line); }
.svc-mt .faq-list summary::after { color: var(--heat); }
.svc-mt .faq-list h3 { font-size: 1.25rem; font-weight: 800; }

/* Closing: calm, balanced */
.mt-closing { position: relative; background: #fff; padding: 96px 0 104px; text-align: center; }
.mt-closing::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #6FA0EE, #1D5BC7 40%, #A8304A 60%, #E4677F); }
.mt-closing-inner { display: flex; flex-direction: column; align-items: center; }
.mt-closing h2 { margin: 0 0 14px; font-size: clamp(2.2rem, 1.4rem + 2.4vw, 3.4rem); max-width: 18ch; }
.mt-closing p { font-size: 1.2rem; color: var(--p-sub); margin: 0 0 28px; }
.mt-closing p a { font-weight: 700; }

@media (max-width: 1024px) {
  .mt-hero-photo { height: 420px; }
  .mt-hero-card { margin-top: -140px; padding: 34px 36px; }
  .mt-hero-card::before { left: 36px; }
  .mt-hero-body { grid-template-columns: 1fr; }
  .mt-covers-grid, .mt-finds-grid, .mt-limits-grid, .mt-faq-grid { grid-template-columns: 1fr; gap: 40px; }
  .mt-covers-photo { min-height: 0; aspect-ratio: 16 / 9; }
  .mt-covers-photo img { object-position: 50% 30%; }
  .mt-between { grid-template-columns: 1fr 1fr; }
  .mt-between h3 { grid-column: 1 / -1; }
  .mt-half-inner { padding: 0 32px; }
}
@media (max-width: 720px) {
  .mt-hero { padding-bottom: 48px; }
  .mt-hero-photo { height: 260px; }
  .mt-hero-card { margin-top: -64px; padding: 26px 22px 28px; border-radius: 16px; }
  .mt-hero-card::before { left: 22px; }
  .mt-hero-card .crumbs { display: none; }
  .mt-hero-card h1 { font-size: 2.2rem; }
  .mt-hero-cta .btn { width: 100%; white-space: normal; }
  .mt-lanes-sec { padding-bottom: 64px; }
  .mt-lanes { grid-template-columns: 1fr; }
  .mt-lane { padding: 28px 22px; }
  .mt-covers, .mt-limits, .mt-faq { padding: 64px 0; }
  .mt-row { grid-template-columns: 1fr; padding-left: 18px; }
  .mt-season { padding: 64px 0; }
  .mt-split { grid-template-columns: 1fr; }
  .mt-half { padding: 40px 0; }
  .mt-half-inner, .mt-half--cool .mt-half-inner, .mt-half--heat .mt-half-inner { max-width: none; margin: 0; padding: 0 var(--gut); }
  .mt-between { grid-template-columns: 1fr; margin-top: 36px; }
  .mt-finds { padding: 88px 0 64px; }
  .mt-closing { padding: 64px 0 72px; }
  .mt-closing .btn { width: 100%; }
}

/* W16-R — Maintenance: heading sits on the seasonal split; Between visits reads as its continuation;
   the booking card aligns to the heading, not floating mid-column. */
.mt-season { padding: 80px 0 72px; }
.mt-season-head { margin-bottom: 28px; }
.mt-between { margin-top: 36px; }
@media (min-width: 1025px) { .mt-between { grid-template-columns: 220px repeat(3, 1fr); } }
.mt-between h3 { padding-top: 12px; border-top: 2px solid var(--ink); }
@media (min-width: 1025px) { .mt-limits-grid { grid-template-columns: 1.25fr .75fr; gap: 88px; align-items: start; } .mt-book { margin-top: 38px; } }
