/* Source-matched pages, measured at 1440px on floairetx.com. Shared header/footer rules are unscoped;
   homepage rules are scoped .home-page, interior pages .interior-page (About, Financing, Services, Sales, Contact).
   Responsive layouts correct source clipping; accessible labels are retained. */
.site-header.section, .utility-bar.section { padding-block: 0; }
.site-header { position: relative; z-index: 20; }
.site-header .inner { min-height: 79px; padding: 10px 32px; gap: 65px; }
.main-nav { margin: 0 0 0 auto; gap: 30px; }
.veteran-badge { width: 133px; height: auto; }
.nav-item.has-dropdown > a::after { content: ''; display: inline-block; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); margin: 0 0 3px 12px; }
.nav-dropdown { margin-top: 0; padding-top: 12px; }
.utility-bar .inner { height: 140px; padding: 0 42px 0 16px; flex-wrap: nowrap; }
.site-logo { position: absolute; top: -45px; margin: 0; }
.site-logo img { width: 268px; height: auto; }
.utility-bar .social-hub { margin-left: auto; margin-right: 175px; display: grid; grid-template-columns: 24px; justify-content: end; gap: 10px 16px; font-family: Poppins,sans-serif; font-size: 15px; }
.utility-bar .social-hub a { color: #c52b33; }
.utility-bar .social-hub a[href^="mailto:"] { grid-column: 1 / -1; justify-self: end; color: #000; text-decoration: none; }
.utility-bar .social-hub svg { width: 19px; height: 19px; }
.call-cta-label { font: 700 25px/30px Poppins,sans-serif; margin-bottom: 2px; }
.btn-call { width: 200px; min-height: 55px; display: inline-flex; align-items: center; justify-content: center; font-family: Oswald,sans-serif; font-size: 18px; }
.home-page { font-family: Poppins,sans-serif; background: #fff; }
.home-page .section--bleed > .inner { padding-inline: 0; }
.home-page .hero-home { background: #ba0c1a; min-height: 660px; display: flex; align-items: center; padding: 0 var(--gutter); }
.home-page .hero-home .inner { width: 100%; padding-top: 22px; }
.home-page .hero-ticker { font: 400 16px/24px Oswald,sans-serif; letter-spacing: .08em; margin-bottom: 12px; }
.home-page .hero-home h1 { font: 700 60px/1.2 Oswald,sans-serif; }
.home-page .hero-home .subhead { font: 400 20px/30px Oswald,sans-serif; margin: 12px 0 22px; }
.home-page .hero-home .btn { width: 200px; min-height: 55px; text-align: center; font: 700 18px/27px Oswald,sans-serif; }
.home-page [data-section="cooling-teaser"] { padding-top: 0; padding-bottom: 64px; }
.home-page .teaser-grid { gap: 32px; }
.home-page .teaser-grid img { width: 280px; height: 280px; border: 6px solid #ddd; margin-top: -60px; position: relative; }
.home-page .teaser-grid h2 { font-family: var(--font-heading-secondary); font-size: var(--font-size-h3); line-height: 1.5; text-transform: uppercase; margin: 12px 0 14px; }
.home-page .teaser-grid p { line-height: 24px; }
.home-page .link-caps-red { margin-top: 12px; font-size: 16px; letter-spacing: 0; }
.home-page .photo-strip-item { height: 450px; aspect-ratio: auto; }
.home-page [data-section="request-cta"] { background: #fff url('/assets/img/home/construction-1920w.webp') center/cover; padding-block: 64px; }
.home-page [data-section="request-cta"] form { max-width: 628px; }
.home-page .form-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px 30px; }
.home-page .form-grid > .field { grid-column: span 2; min-width: 0; }
.home-page .form-grid > .service-choice { grid-column: span 1; }
.home-page .form-grid > .message-field { grid-column: span 3; }
.home-page .field label, .home-page .field-label-block { font-size: 15px; font-weight: 400; }
.home-page .field input, .home-page .field select, .home-page .field textarea { border-radius: 0; padding: 8px 10px; min-height: 40px; }
.home-page .field input[type="radio"], .home-page .field input[type="checkbox"] { min-height: 0; }
.home-page .field textarea { height: 100px; }
.home-page [data-section="request-cta"] button { min-width: 280px; font-weight: 400; text-transform: none; }
.home-page [data-section="intro"] { padding: 50px var(--gutter); }
.home-page [data-section="intro"] .inner { gap: 60px; }
.home-page .band-logo img { width: 170px; }
.home-page .band-heading { font-size: 34px; line-height: 1.25; max-width: 620px; }
.btn-outline { font-size: 18px; }
.home-page [data-section="services-grid"] { padding-block: 80px 24px; }
.home-page [data-section="services-grid"] h2 { font-family: Oswald,sans-serif; line-height: 1.4; }
.home-page .content-split { gap: 36px; align-items: start; }
.home-page [data-section="services-grid"] img { width: 100%; height: 416px; object-fit: cover; border-radius: 0; }
.home-page [data-section="promise-card"] { padding-block: 0 80px; }
.home-page .promise-card { gap: 60px; padding: 25px 40px; }
.home-page .promise-card img { width: 230px; }
.home-page .emergency-home { min-height: 563px; display: flex; align-items: center; background: url('/assets/img/site/home-bg-1920w.jpg') center/cover; }
.home-page .emergency-home .inner { width: 100%; }
.home-page .emergency-panel { padding: 32px; text-align: center; background: rgb(255 255 255 / .8); border: 1px solid #fff; }
.home-page .emergency-panel h2 { font: 400 34px/1.3 Oswald,sans-serif; }
.home-page .emergency-panel p { font: 400 30px/1.4 Oswald,sans-serif; margin: 20px 0 10px; }
.home-page .emergency-panel a { font: 700 32px/1.4 Oswald,sans-serif; text-decoration: none; }
.home-page [data-section="community-blurb"] { padding-block: 0; }
.home-page .community-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 0; }
.home-page .community-copy { padding: 100px 65px 70px 0; align-self: center; }
.home-page .community-copy h2 { font-weight: 400; line-height: 1.2; }
.home-page .community-copy .fw-bold { font: 700 24px/1.3 Oswald,sans-serif; }
.home-page .benefit-list li { margin-bottom: 18px; }
.home-page .dark-card { background: #000; border-radius: 0; padding: 75px 30px; }
.home-page .dark-card h2 { font-size: 54px; line-height: 1.22; }
.home-page .dark-card .hero-ticker { font: 700 16px/24px Poppins,sans-serif; color: #fff; }
.home-page .dark-card .btn { margin-top: 16px; }
.site-footer { padding: 50px var(--gutter) 16px; }
.footer-tiles { gap: 30px; margin-bottom: 50px; }
.footer-tile { background: #fff; border-radius: 0; padding: 28px; color: #000; gap: 30px; }
.footer-tile a { color: #b51b29; font-size: 15px; font-weight: 400; }
.footer-tile address { color: #000; font-size: 15px; font-weight: 400; }
.footer-tile-label { font-size: 25px; line-height: 1.2; font-weight: 700; opacity: 1; }
.footer-tile .footer-icon { width: 50px; height: 50px; filter: none; }
.footer-tile:nth-child(2) { background: var(--color-brand-primary); }
.footer-tile:nth-child(2) a { color: #000; } /* dark red on cyan is 3.3:1; black matches the tile's label and address text */
.footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 50px; }
.footer-grid > div:first-child img { width: 170px; height: auto; }
.footer-grid .footer-heading { font-size: 26px; }
.footer-secondary-nav { flex-direction: column; gap: 12px; }
.footer-secondary-nav a { text-transform: uppercase; text-decoration: none; font-weight: 700; }
.footer-grid .quick-links { display: none; }
@media (min-width:768px) and (max-width:1100px) {
 .utility-bar .social-hub { margin-right: 60px; }
 .site-logo img { width: 225px; }
 .site-header .inner { gap: 30px; padding-inline: 0; }
 .home-page .teaser-grid img { width: 220px; height: 220px; }
 .home-page .band-heading { font-size: 28px; }
 .home-page .community-copy { padding-right: 30px; }
 .home-page .dark-card h2 { font-size: 40px; }
 .footer-tile { padding: 20px; gap: 12px; }
 .footer-tile-label { font-size: 20px; }
 .footer-tile .footer-icon { width: 30px; }
}
@media (max-width:767px) {
 .site-header .inner { min-height: 64px; padding: 8px 0; gap: 0; }
 .nav-toggle { min-height: 44px; min-width: 44px; }
 .main-nav { margin: 0; gap: 8px; order: 3; }
 .main-nav > a, .nav-item > a { padding-block: 8px; }
 .utility-bar .inner { height: auto; min-height: 175px; display: grid; grid-template-columns: 130px 1fr; padding: 16px 20px; gap: 12px; }
 .site-logo { position: static; grid-row: 1 / 3; }
 .site-logo img { width: 130px; }
 .utility-bar .social-hub { margin: 0; gap: 6px 12px; justify-content: center; }
 .utility-bar .social-hub a[href^="mailto:"] { font-size: 11px; }
 .call-cta { margin: 0; width: auto; grid-column: 2; }
 .call-cta-label { font-size: 17px; line-height: 24px; }
 .btn-call { width: 100%; min-height: 44px; font-size: 15px; padding: 10px; }
 .home-page .hero-home { min-height: 450px; padding: 65px 24px 90px; }
 .home-page .hero-home .inner { padding: 0; }
 .home-page .hero-home h1 { font-size: clamp(34px, 10.8vw, 42px); }
 .home-page .hero-ticker { font-size: clamp(12px, 3.4vw, 13px); }
 .home-page .hero-home .subhead { font-size: clamp(16px, 4.7vw, 18px); }
 .home-page .teaser-grid { gap: 40px; }
 .home-page .teaser-grid img { width: 240px; height: 240px; margin-top: 0; }
 .home-page .teaser-grid > div:first-child img { margin-top: -50px; }
 .home-page [data-section="cooling-teaser"] { padding-bottom: 40px; }
 .home-page .photo-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .home-page .photo-strip-item { height: 150px; }
 .home-page [data-section="request-cta"] { padding-block: 40px; }
 .home-page .form-grid { grid-template-columns: 1fr; }
 .home-page .form-grid > .field, .home-page .form-grid > .service-choice, .home-page .form-grid > .message-field { grid-column: 1; }
 .home-page [data-section="request-cta"] button { min-width: 0; width: 100%; }
 .home-page [data-section="intro"] .inner { gap: 24px; }
 .home-page .band-heading { font-size: 28px; }
 .home-page [data-section="services-grid"] { padding-block: 40px 24px; }
 .home-page [data-section="services-grid"] img { height: auto; }
 .home-page [data-section="promise-card"] { padding-bottom: 40px; }
 .home-page .promise-card { gap: 24px; padding: 24px; text-align: left; }
 .home-page .promise-card img { width: 160px; }
 .home-page .emergency-home { min-height: 440px; }
 .home-page .emergency-panel { padding: 24px 12px; }
 .home-page .emergency-panel h2 { font-size: 30px; }
 .home-page .emergency-panel p { font-size: 24px; }
 .home-page .community-grid { grid-template-columns: 1fr; }
 .home-page .community-copy { padding: 40px 0; }
 .home-page .dark-card { padding: 40px 24px; }
 .home-page .dark-card h2 { font-size: 38px; }
 .footer-tiles, .footer-grid { grid-template-columns: 1fr; gap: 24px; }
 .footer-grid > div:first-child img { margin-inline: auto; }
}
/* Keep the logo above both header bands without trapping the navigation dropdown. */
.site-header { z-index: auto; }
.utility-bar > .inner { padding: 0 42px 0 16px; }
.home-page .hero-home .inner { padding-top: 38px; }
.home-page .dark-card .btn { min-width: 200px; min-height: 55px; text-align: center; font-weight: 400; }
@media (max-width:767px) {
 .utility-bar > .inner { padding: 16px 20px; }
 .home-page .hero-home .inner { padding-top: 0; }
}

/* ---------- Interior pages: shared ---------- */
.interior-page { font-family: Poppins,sans-serif; background: #fff; --t-title: clamp(44px,5.6vw,80px); --t-h2-lg: clamp(30px,3vw,42px); --t-h2: clamp(26px,2.3vw,32px); --t-h2-sm: 30px; --t-h3: 24px; --t-lead: 20px; --t-body-lg: 18px; }
.interior-page .btn { font-weight: 400; letter-spacing: 0; }
.interior-page .page-title-band { min-height: 0; align-items: stretch; padding: 0 40px; background-color: #444; }
.interior-page .page-title-band > .inner { width: 100%; max-width: var(--container); margin-inline: auto; padding: 0; display: flex; }
.interior-page .page-title-panel { width: 50%; max-width: none; padding: 165px 50px; background: rgba(0,0,0,.3); }
.interior-page .page-title-panel h1 { font: 700 var(--t-title)/1.2 Oswald,sans-serif; }
.interior-page .page-title-rule { width: 400px; max-width: 100%; height: 8px; margin: 10px 0; }
.interior-page .page-title-sub { font-size: var(--t-lead); line-height: 1.5; max-width: 494px; margin: 8px 0 20px; }
.interior-page .page-title-about, .interior-page .page-title-404 { background-image: linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)), url('/assets/img/about/496622269-2880w.jpg'); }
.interior-page .page-title-about, .interior-page .page-title-404 { background-image: linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)), image-set(url('/assets/img/about/496622269-2880w.avif') type('image/avif'), url('/assets/img/about/496622269-2880w.jpg') type('image/jpeg')); }
.interior-page .page-title-services { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url('/assets/img/services/sales-NEWIMG5-2880w.jpg'); background-position: 50% 0; }
.interior-page .page-title-services { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/services/sales-newimg5.avif') type('image/avif'), url('/assets/img/services/sales-NEWIMG5-2880w.jpg') type('image/jpeg')); }
.interior-page .page-title-sales { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url('/assets/img/sales/sales-bg-2880w.jpg'); }
.interior-page .page-title-sales { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/sales/sales-bg-2880w.avif') type('image/avif'), url('/assets/img/sales/sales-bg-2880w.jpg') type('image/jpeg')); }
.interior-page .page-title-contact { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url('/assets/img/contact/Contact-hero-2880w.jpg'); }
.interior-page .page-title-contact { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/contact/Contact-hero-2880w.avif') type('image/avif'), url('/assets/img/contact/Contact-hero-2880w.jpg') type('image/jpeg')); }

/* Phones get a 900w band photo (the LCP element on every interior page) instead of the desktop file. */
@media (max-width: 767px) {
  .interior-page .page-title-about, .interior-page .page-title-404 { background-image: linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)), image-set(url('/assets/img/about/496622269-2880w-mobile.avif') type('image/avif'), url('/assets/img/about/496622269-2880w.jpg') type('image/jpeg')); }
  .interior-page .page-title-services { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/services/sales-NEWIMG5-2880w-mobile.avif') type('image/avif'), url('/assets/img/services/sales-NEWIMG5-2880w.jpg') type('image/jpeg')); }
  .interior-page .page-title-sales { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/sales/sales-bg-2880w-mobile.avif') type('image/avif'), url('/assets/img/sales/sales-bg-2880w.jpg') type('image/jpeg')); }
  .interior-page .page-title-contact { background-image: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), image-set(url('/assets/img/contact/Contact-hero-2880w-mobile.avif') type('image/avif'), url('/assets/img/contact/Contact-hero-2880w.jpg') type('image/jpeg')); }
}
/* ---------- About / Financing ---------- */
.interior-page [data-section="banner-photo"] { padding-block: 50px; }
.interior-page [data-section="banner-photo"] img { display: block; width: 100%; height: 480px; object-fit: cover; }
.interior-page [data-section="about-intro"] { padding-block: 0; }
.interior-page [data-section="about-intro"] .content-split { gap: 0; }
.interior-page [data-section="about-intro"] .prose { max-width: none; padding: 30px 50px 30px 0; }
.interior-page [data-section="about-intro"] .hero-ticker { font: 700 16px/1.5 Poppins,sans-serif; letter-spacing: .1em; margin: 0; }
.interior-page [data-section="about-intro"] h2 { font-size: var(--t-h2-lg); line-height: 1.2; margin-top: 10px; }
.interior-page [data-section="about-intro"] .prose p.mt-1 { line-height: 1.7; margin-top: 20px; }
.interior-page .guarantee-rail picture { display: block; border-radius: 0; margin-bottom: 10px; }
.interior-page .guarantee-rail img { display: block; width: 100%; height: 320px; object-fit: cover; }
.interior-page .guarantee-card { padding: 30px; }
.interior-page .guarantee-card h2 { font-size: var(--t-h2-sm); line-height: 1.2; }
.interior-page .guarantee-card .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 200px; min-height: 55px; margin: 10px 0; }
.interior-page [data-section="reasons-list"] { padding: 50px 40px; }
.interior-page [data-section="reasons-list"] h2 { font: 700 var(--t-h2-sm)/1.2 Oswald,sans-serif; max-width: 726px; margin: 8px auto 20px; }
.interior-page .reasons-grid { gap: 20px 0; }
.interior-page .reason img { width: 80px; height: 80px; object-fit: contain; margin: 10px auto; }
.interior-page .reason p { font-size: var(--t-body-lg); }
/* ---------- Sales ---------- */
.interior-page .product-row { padding: 80px 40px; }
.interior-page .bg-offwhite { background: #f9f9f9; }
.interior-page .product-intro { display: grid; grid-template-columns: 25% 1fr; gap: 0; align-items: center; }
.interior-page .product-intro + .product-intro { margin-top: 60px; }
.interior-page .product-intro-img { width: auto; max-width: 100%; height: auto; max-height: 220px; margin-inline: auto; }
.interior-page .product-intro > div { padding-left: 30px; }
.interior-page .product-intro h2 { font-size: var(--t-h2-sm); line-height: 1.2; }
.interior-page .product-intro p { margin-top: 15px; }
.interior-page .product-callout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 0; margin-top: 30px; background: none; border-radius: 0; }
.interior-page .product-callout-text { padding: 40px; border-radius: 15px; }
.interior-page .product-callout-text p:first-child { margin-top: 0; }
.interior-page .callout--cyan .product-callout-text { background: var(--color-brand-primary); color: var(--color-button-text-on-brand); }
.interior-page .callout--red .product-callout-text { background: var(--color-brand-accent-red); color: #fff; }
.interior-page .product-callout-media { display: block; border-radius: 15px; overflow: hidden; min-height: 165px; }
.interior-page .product-callout-media picture, .interior-page .product-callout-media img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
.interior-page .product-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 10px; margin-top: 30px; }
.interior-page .product-gallery img { display: block; width: 100%; height: 320px; object-fit: cover; border-radius: 15px; }
.interior-page .product-note { background: #f9f9f9; border-radius: 15px; padding: 40px; margin-top: 30px; }
.interior-page .product-note p { margin: 0; }
/* ---------- Contact ---------- */
.interior-page [data-section="contact-form"] { padding-block: 90px; }
.interior-page [data-section="contact-form"] .content-split { grid-template-columns: 7fr 5fr; gap: 0; }
.interior-page .contact-card { border-color: #e1e1e1; border-radius: 0; padding: 20px; }
.interior-page .contact-card h2, .interior-page .contact-nap h2 { font: 700 var(--t-h3)/1.2 Oswald,sans-serif; text-transform: uppercase; }
.interior-page .contact-nap { padding-left: 30px; }
.interior-page .contact-nap p { font-size: var(--t-body-lg); gap: 12px; align-items: center; }
.interior-page .contact-nap .nap-icon { width: 28px; height: 28px; flex-shrink: 0; }
.interior-page .map-embed--tall iframe { display: block; width: 100%; height: 859px; border: 0; } /* nothing set a width before, so the iframe sat at the 300px browser default */
.interior-page .map-embed--tall { margin-top: 20px; }
.interior-page .field input:not([type="checkbox"]):not([type="radio"]), .interior-page .field select, .interior-page .field textarea { min-height: 50px; background: rgba(102,102,102,.15); border: 2px solid #fff; border-radius: 0; padding: 0 10px; margin: 3px 0; }
.interior-page .field textarea { height: 150px; padding-block: 10px; }
.interior-page .field label, .interior-page .field-label-block { text-transform: uppercase; color: #4d4d4d; font-size: 14px; }
.interior-page .field .checkbox-field, .interior-page .field .inline-radio, .interior-page .checkbox-field label { text-transform: none; color: inherit; font-weight: 400; }
.interior-page .contact-card .btn { min-width: 200px; min-height: 44px; }
.interior-page .contact-card .field-full:has(> .checkbox-field.w-auto) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
.interior-page .contact-card .field-full > .field-label-block { grid-column: 1 / -1; }
/* ---------- Services ---------- */
.interior-page .service-block { padding: 80px 40px; }
.interior-page .service-block .content-split { gap: 0; align-items: center; }
.interior-page .service-block .prose { max-width: none; padding-right: 30px; }
.interior-page .service-block .hero-ticker { font: 700 16px/1.5 Poppins,sans-serif; letter-spacing: 0; margin-bottom: 8px; }
.interior-page .service-block h2 { font-size: var(--t-h2); line-height: 1.2; }
.interior-page .service-block h3 { font-size: var(--t-h3); line-height: 1.25; }
.interior-page .split-media a { display: block; }
.interior-page .split-media img { display: block; width: 100%; height: 400px; object-fit: cover; border-radius: 0; }
.interior-page .service-note { background: #f4f4f4; border-radius: 8px; padding: 20px 30px; margin-top: 25px; }
.interior-page .service-note h2 { font-size: var(--t-h2-sm); line-height: 1.2; }
.interior-page .service-note p { margin-top: 10px; }
.interior-page .service-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start; margin-top: 20px; }
.interior-page .service-detail > div + div { padding-left: 30px; }
.interior-page .service-detail p { margin-top: 12px; }
.interior-page .service-detail .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 200px; min-height: 50px; margin-top: 20px; }
.interior-page .benefit-list { margin-top: 12px; }
.interior-page .benefit-list li { gap: 12px; margin-bottom: 10px; align-items: center; }
.interior-page .benefit-list img { width: 28px; height: 28px; margin-top: 0; }
.interior-page #heater-repair { background: #f9f9f9; }
.interior-page #heater-maintenance, .interior-page #attic-insulation, .interior-page #yearly-maintenance { padding-bottom: 150px; }
.interior-page .photo-strip-item { height: 400px; aspect-ratio: auto; }
.photo-strip-svc-1 { background-image: url('/assets/img/services/home-bg-1000h.jpg'); background-position: 50% 0; }
.photo-strip-svc-2 { background-image: url('/assets/img/sales/young-woman-using-home-technology-1000h.jpg'); }
.photo-strip-svc-3 { background-image: url('/assets/img/site/About-1180231043-1000h.jpg'); }
.interior-page .band { padding: 50px 40px; }
.interior-page .band > .inner { max-width: var(--container); padding: 0; display: grid; grid-template-columns: 185px 1fr auto; gap: 30px; align-items: center; }
.interior-page .band-logo img { width: 185px; height: auto; }
.interior-page .band-heading { font-size: 35px; line-height: 1.2; text-align: center; }
.interior-page .btn-outline { min-width: 230px; min-height: 55px; justify-content: center; border: 1px solid currentColor; border-radius: var(--radius-button); font: 700 18px/1 Poppins,sans-serif; letter-spacing: 0; text-transform: none; }
.interior-page .band--red .btn-outline:hover, .interior-page .band--red .btn-outline:focus-visible { background: rgba(186,12,26,1); }
.interior-page .band--stacked { padding: 0 40px 50px; }
.interior-page .band--stacked > .inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; }
.interior-page .band--stacked .band-logo img { width: 178px; margin: -90px 0 30px; }
.interior-page .band--stacked .band-heading { font-size: 40px; max-width: 892px; margin-bottom: 20px; }
.interior-page .band--stacked p { font-size: var(--t-lead); max-width: 862px; margin: 0 auto 20px; }
.interior-page .band--gradient { background-image: linear-gradient(135deg, #05C7F2 16%, #F21D2F 100%), url('/assets/img/site/NEW1-1920w.png'); }
@media (min-width:768px) and (max-width:1100px) {
 .interior-page .page-title-panel { padding: 100px 30px; }
 .interior-page .band > .inner { grid-template-columns: 140px 1fr; }
 .interior-page .band > .inner .btn-outline { grid-column: 1 / -1; justify-self: center; }
}
@media (max-width:767px) {
 .interior-page .page-title-band { padding: 0 20px; }
 .interior-page .page-title-panel { width: 100%; padding: 60px 20px; }
 .interior-page .page-title-rule { width: 200px; }
 .interior-page [data-section="banner-photo"] { padding-block: 24px; }
 .interior-page [data-section="banner-photo"] img { height: 240px; }
 .interior-page [data-section="about-intro"] .prose { padding: 20px 0; }
 .interior-page [data-section="about-intro"] h2 { font-size: var(--t-h2-lg); }
 .interior-page [data-section="reasons-list"] { padding: 30px 20px; }
 .interior-page [data-section="reasons-list"] h2 { font-size: var(--t-h3); }
 .interior-page .reason img { width: 74px; height: 74px; }
 .interior-page .product-row { padding: 40px 20px; }
 .interior-page .product-intro { grid-template-columns: 1fr; text-align: center; }
 .interior-page .product-intro > div { padding-left: 0; }
 .interior-page .product-intro h2 { font-size: var(--t-h3); }
 .interior-page .product-callout, .interior-page .product-gallery { grid-template-columns: 1fr; }
 .interior-page .product-callout-text { padding: 20px; }
 .interior-page .product-gallery img { height: 240px; }
 .interior-page [data-section="contact-form"] { padding-block: 40px; }
 .interior-page [data-section="contact-form"] .content-split { grid-template-columns: 1fr; gap: 24px; }
 .interior-page .contact-nap { padding-left: 0; }
 .interior-page .contact-nap p { font-size: 14px; }
 .interior-page .map-embed--tall iframe { height: 420px; }
 .interior-page .service-block { padding: 40px 20px; }
 .interior-page .service-block .prose { padding-right: 0; }
 .interior-page .service-block h2 { font-size: var(--t-h2); }
 .interior-page .split-media img { height: 260px; margin-top: 20px; }
 .interior-page .service-detail { grid-template-columns: 1fr; }
 .interior-page .service-detail > div + div { padding-left: 0; padding-top: 20px; }
 .interior-page .service-note { padding: 20px; }
 .interior-page .photo-strip-item { height: 150px; }
 .interior-page #heater-maintenance, .interior-page #attic-insulation, .interior-page #yearly-maintenance { padding-bottom: 110px; }
 .interior-page .band { padding: 30px 20px; }
 .interior-page .band > .inner { display: flex; flex-direction: column; text-align: center; gap: 16px; }
 .interior-page .band-heading, .interior-page .band--stacked .band-heading { font-size: 28px; }
 .interior-page .band--stacked { padding: 0 20px 30px; }
 .interior-page .band--stacked .band-logo img { width: 140px; margin: -70px 0 16px; }
}

/* ---------- Phase 5: breadcrumb trail in the interior title panel ---------- */
/* Existing sizes/colors only (14px, #fff, #ececec) so the design verifier's type and palette budgets do not move. */
.interior-page .breadcrumb { margin: 0 0 14px; font-family: Poppins,sans-serif; font-size: 14px; line-height: 1.4; color: #fff; }
.interior-page .breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 8px; }
.interior-page .breadcrumb li + li::before { content: "/"; margin-right: 8px; color: #ececec; }
.interior-page .breadcrumb a { color: #fff; text-decoration: none; }
.interior-page .breadcrumb a:hover, .interior-page .breadcrumb a:focus-visible { text-decoration: underline; }
.interior-page .breadcrumb [aria-current="page"] { color: #ececec; }

/* ---------- Phase 5: 404 page ---------- */
.interior-page .not-found-links { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; font-family: Poppins,sans-serif; font-weight: 700; }
.interior-page .not-found-links a { color: #c52b33; text-decoration: none; }
.interior-page .not-found-links a:hover, .interior-page .not-found-links a:focus-visible { text-decoration: underline; }
.interior-page [data-section="not-found"] { padding-block: 80px; }
