/* ============================================================================
 * INNOVATIVE MECHANICAL - SERVICE PAGE TYPE svc2 (2026-09-10) = the homepage v2 sheet + a .svc layer at the end
 * Built on inm-tokens.css. Client-pinned tokens respected: --band-grad (Rising Ink),
 * --card-dark, --h2-gold (dark-band accent word), --eyebrow-dark azure, --star.
 * Everything here is scoped to .rsg-inm-x.hp so it cannot leak into header/footer.
 * Layer order: tokens -> site -> header -> THIS -> footer.
 * ============================================================================ */

.rsg-inm-x.hp{
  /* CONSISTENCY TOKENS 2026-09-10: every card/plate/button on the page uses these - do not hard-code radii, shadows, hairlines or plate borders */
  --r-card:16px; --r-btn:10px; --r-tile:10px;
  --ice-line:rgba(169,211,240,.2);
  --gold-line:var(--gold-line);
  --sh-3:0 30px 60px -28px rgba(8,25,42,.45),var(--sh-2);
  --sh-dark:0 30px 60px -28px rgba(0,13,30,.7),var(--sh-2);
  --band-grad-deep:linear-gradient(166deg,#141A24 0%,#001B3F 100%); /* darker Rising Ink for plates that sit on white (owner: 'make this section darker') */
  --ink:#1A1C1B; --muted:#5E5548; --line:rgba(26,28,27,.12);
  --fs-h1:clamp(36px,4.2vw,58px); --fs-h2:clamp(30px,3.1vw,44px); --fs-h3:22px;
  --lh-heading:1.08; --lh-body:1.7;
  --pad-1:72px; --pad-2:96px; --pad-3:120px;
  font-family:var(--font-body); color:var(--ink); font-size:16.5px; line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
.rsg-inm-x.hp *{box-sizing:border-box}
.rsg-inm-x.hp .rsg-wrap{max-width:var(--container);margin:0 auto;padding:0 28px;position:relative}
.rsg-inm-x.hp p{margin:0}
.rsg-inm-x.hp ul{margin:0;padding:0;list-style:none}
.rsg-inm-x.hp img{display:block;max-width:100%}
.rsg-inm-x.hp a{color:inherit}

/* --- type ---------------------------------------------------------------- */
.rsg-inm-x.hp h1,.rsg-inm-x.hp h2,.rsg-inm-x.hp h3,.rsg-inm-x.hp h4{font-family:var(--font-heading);margin:0;text-wrap:balance}
.rsg-inm-x.hp .hp-h2{font-size:var(--fs-h2);font-weight:800;line-height:var(--lh-heading);letter-spacing:-.015em;color:var(--ink)}
.rsg-inm-x.hp .hp-h2-dark{color:#fff}
.rsg-inm-x.hp .hp-acc-red{color:var(--red)}
.rsg-inm-x.hp .hp-acc-gold{color:var(--h2-gold)}
.rsg-inm-x.hp .hp-kicker-h2{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow-warm);margin-bottom:14px}
.rsg-inm-x.hp .hp-kicker-h2::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--red)}
.rsg-inm-x.hp .hp-kicker-dark{color:var(--eyebrow-dark)}
.rsg-inm-x.hp .hp-kicker-dark::before{background:linear-gradient(90deg,var(--eyebrow-dark),var(--accent-dark))}
.rsg-inm-x.hp .hp-lede-dark{color:#E6EEF6;font-size:17.5px;max-width:62ch}
.rsg-inm-x.hp .rsg-sec--light p{color:var(--muted)}
.rsg-inm-x.hp .rsg-sec--dark p{color:var(--muted-dark)}

/* --- buttons: conversions only ------------------------------------------ */
.rsg-inm-x.hp .hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r-btn);font-family:var(--font-heading);font-weight:700;font-size:14.5px;line-height:1;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease)}
.rsg-inm-x.hp .hp-btn:active{transform:translateY(1px)}
.rsg-inm-x.hp .hp-btn-red{background:var(--red);color:#fff;box-shadow:0 8px 20px -10px rgba(170,24,44,.7)}
.rsg-inm-x.hp .hp-btn-red:hover{background:var(--red-2);transform:translateY(-1px)}
.rsg-inm-x.hp .hp-btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.34)}
.rsg-inm-x.hp .hp-btn-ghost:hover{background:rgba(255,255,255,.12)}
.rsg-inm-x.hp .hp-btn-navy{background:var(--navy);color:#fff}
.rsg-inm-x.hp .hp-btn-block{width:100%}
.rsg-inm-x.hp .hp-btn:focus-visible{outline:3px solid var(--ice);outline-offset:2px}
.rsg-inm-x.hp .hp-textlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--red);text-decoration:none;border-bottom:2px solid transparent;transition:border-color .18s}
.rsg-inm-x.hp .hp-textlink::after{content:"\2192";font-weight:600}
.rsg-inm-x.hp .hp-textlink:hover{border-color:var(--red)}
.rsg-inm-x.hp .hp-ctas{display:flex;flex-wrap:wrap;gap:12px 14px}

/* --- reveals (opt-in via .rsg-rv-js gate) -------------------------------- */
.rsg-inm-x.hp.rsg-rv-js .rsg-rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rsg-inm-x.hp.rsg-rv-js .rsg-rv.rsg-d1{transition-delay:.08s}
.rsg-inm-x.hp.rsg-rv-js .rsg-rv.rsg-d2{transition-delay:.16s}
.rsg-inm-x.hp.rsg-rv-js .rsg-rv.is-in{opacity:1;transform:none}

/* --- dark bands ----------------------------------------------------------- */
.rsg-inm-x.hp .rsg-sec--dark{position:relative;background:var(--band-grad);color:#fff}
.rsg-inm-x.hp .rsg-sec--light{background:#fff;color:var(--ink)}

/* ============================================================================
 * S1 HERO
 * ============================================================================ */
.rsg-inm-x.hp .hp-hero{--hero-navy:#0B1B36;position:relative;overflow:hidden;background:var(--hero-navy);color:#fff;padding:84px 0 168px;min-height:600px;display:flex;align-items:center}
/* slideshow stage: full-bleed real job photos, feathered into the solid navy left */
.rsg-inm-x.hp .hp-hbg{position:absolute;right:0;top:0;width:66%;height:100%;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 28%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 28%)}
.rsg-inm-x.hp .hp-hslide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.rsg-inm-x.hp .hp-hslide.is-active{opacity:1}
.rsg-inm-x.hp .hp-himg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;transform:scale(1.05)}
.rsg-inm-x.hp .hp-hslide.is-active .hp-himg{animation:hp-kb 7.2s ease-out forwards}
@keyframes hp-kb{from{transform:scale(1.05)}to{transform:scale(1.14)}}
/* scrim: keeps the left legible, lets the photo show on the right, carries the brand glows */
.rsg-inm-x.hp .hp-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(640px 640px at 6% 18%,rgba(83,157,214,.22),transparent 60%),
    radial-gradient(620px 620px at 4% 88%,rgba(226,198,163,.14),transparent 60%),
    linear-gradient(0deg,rgba(8,19,37,.5) 0%,transparent 26%),
    linear-gradient(95deg,var(--hero-navy) 0%,var(--hero-navy) 40%,rgba(11,27,54,.9) 47%,rgba(11,27,54,.55) 55%,rgba(11,27,54,.18) 62%,rgba(11,27,54,0) 68%)}
/* slideshow chrome: 4px progress bar along the top edge */
.rsg-inm-x.hp .hp-prog{position:absolute;top:0;left:0;right:0;height:4px;z-index:5;background:rgba(255,255,255,.16)}
.rsg-inm-x.hp .hp-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--h2-gold),var(--eyebrow-dark))}
.rsg-inm-x.hp .hp-prog i.run{animation:hp-prog 7.2s linear forwards}
@keyframes hp-prog{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){
  .rsg-inm-x.hp .hp-hslide{transition:none}
  .rsg-inm-x.hp .hp-hslide.is-active .hp-himg{animation:none;transform:scale(1.08)}
  .rsg-inm-x.hp .hp-prog i{animation:none;width:100%}
}
.rsg-inm-x.hp .hp-hero-wrap{position:relative;z-index:2;width:100%}
.rsg-inm-x.hp .hp-hero-copy{display:flex;flex-direction:column;max-width:640px}
/* H1 = title + counties line (Precision structure); display:contents lets the tagline H2 sit between them visually via flex order */
.rsg-inm-x.hp .hp-hero-h1{display:contents}
.rsg-inm-x.hp .hp-hero-h1-t{display:block;order:1;font-family:var(--font-heading);font-size:var(--fs-h1);font-weight:800;line-height:1.04;letter-spacing:-.018em;color:#fff;max-width:15ch;text-wrap:balance}
.rsg-inm-x.hp .hp-hero-tag{order:2}
.rsg-inm-x.hp .hp-hero-loc{order:3}
.rsg-inm-x.hp .hp-hero .hp-chips{order:4}
.rsg-inm-x.hp .hp-hero .hp-ctas{order:5}
.rsg-inm-x.hp .hp-hero-tag{margin-top:14px;font-family:var(--font-heading);font-size:clamp(20px,2vw,27px);font-weight:700;color:var(--h2-gold);letter-spacing:-.01em}
.rsg-inm-x.hp .hp-hero-loc{align-items:center;margin-top:18px;display:flex;gap:10px;font-family:var(--font-body);font-size:16px;font-weight:500;line-height:var(--lh-body);color:var(--muted-dark);max-width:52ch;text-wrap:pretty;letter-spacing:0}
.rsg-inm-x.hp .hp-hero-loc svg{flex:none;margin-top:3px;color:var(--ice)}
.rsg-inm-x.hp .hp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.rsg-inm-x.hp .hp-chips li{display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--ice-line);font-size:14px;font-weight:600;color:#fff}
.rsg-inm-x.hp .hp-chips li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--azure) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.rsg-inm-x.hp .hp-hero .hp-ctas{margin-top:30px}

/* ============================================================================
 * S2 WHO WE ARE  (credential plate overlaps the hero seam)
 * ============================================================================ */
.rsg-inm-x.hp .hp-who{padding:0 0 var(--pad-2)}
.rsg-inm-x.hp .hp-plate{position:relative;z-index:3;margin-top:-84px;background:var(--card-dark);border:1px solid var(--ice-line);border-radius:var(--r-card);box-shadow:var(--sh-2);padding:6px 30px}
.rsg-inm-x.hp .hp-plate-list{display:grid;grid-template-columns:1fr 1.05fr .9fr .85fr 1.75fr;}
.rsg-inm-x.hp .hp-plate-list li{padding:22px 16px;font-size:14px;font-weight:700;color:#fff;line-height:1.35;border-left:1px solid var(--ice-line);display:flex;align-items:center;gap:11px}
.rsg-inm-x.hp .hp-plate-list li:first-child{border-left:0}
.rsg-inm-x.hp .hp-plate-list li::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--h2-gold);transform:rotate(45deg)}
.rsg-inm-x.hp .hp-plate-mascot{position:absolute;right:-46px;bottom:-8px;width:196px;height:auto;z-index:4;filter:drop-shadow(0 14px 18px rgba(0,0,0,.4))}
.rsg-inm-x.hp .hp-plate-list li:last-child{padding-right:150px}

.rsg-inm-x.hp .hp-who-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:84px}
.rsg-inm-x.hp .hp-who-copy .hp-h2{margin-bottom:22px}
.rsg-inm-x.hp .hp-who-copy p{max-width:56ch}
.rsg-inm-x.hp .hp-who-copy p+p{margin-top:16px}
.rsg-inm-x.hp .hp-who-photos{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:end;margin-top:40px;padding-bottom:28px}
.rsg-inm-x.hp .hp-who-main,.rsg-inm-x.hp .hp-who-inset{height:auto}
.rsg-inm-x.hp .hp-who-main{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:55% 40%;border-radius:var(--r-photo);box-shadow:var(--sh-2)}
.rsg-inm-x.hp .hp-who-inset{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;border-radius:var(--r-photo);box-shadow:var(--sh-2);margin-bottom:-28px;border:5px solid #fff}
.rsg-inm-x.hp .hp-form-col{position:sticky;top:150px}

.rsg-inm-x.hp .hp-form{background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-2);border:1px solid var(--line);padding:32px}
.rsg-inm-x.hp .hp-form-title{font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin-bottom:18px}
.rsg-inm-x.hp .hp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rsg-inm-x.hp .hp-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.rsg-inm-x.hp .hp-field label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.rsg-inm-x.hp .hp-field input,.rsg-inm-x.hp .hp-field textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid rgba(26,28,27,.22);border-radius:var(--r-btn);padding:12px 14px;width:100%}
.rsg-inm-x.hp .hp-field textarea{resize:vertical;min-height:110px}
.rsg-inm-x.hp .hp-field input:focus,.rsg-inm-x.hp .hp-field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(6,54,118,.14)}
.rsg-inm-x.hp .hp-form .hp-btn{margin-top:6px}
.rsg-inm-x.hp .hp-form-alt{margin-top:14px;text-align:center;font-size:15px}
.rsg-inm-x.hp .hp-form-alt a{color:var(--red);font-weight:700;text-decoration:none}


/* Offers ticket (C3, owner-finalized 2026-09-10): straddles the Why -> Emergency seam. Real cut notches via mask; shadow on the wrapper follows the cut. */
.rsg-inm-x.hp .hp-offers{position:relative;z-index:3;margin:88px 0 -96px;filter:drop-shadow(0 34px 34px rgba(8,25,42,.22)) drop-shadow(0 6px 10px rgba(8,25,42,.10))}
.rsg-inm-x.hp .hp-tk{--stub:230px;--notch:15px;position:relative;display:grid;grid-template-columns:var(--stub) 1fr;border-radius:var(--r-card);overflow:hidden;background:#fff;color:var(--ink);-webkit-mask-image:radial-gradient(circle var(--notch) at var(--stub) 0,transparent 98%,#000 100%),radial-gradient(circle var(--notch) at var(--stub) 100%,transparent 98%,#000 100%);-webkit-mask-composite:source-in;mask-image:radial-gradient(circle var(--notch) at var(--stub) 0,transparent 98%,#000 100%),radial-gradient(circle var(--notch) at var(--stub) 100%,transparent 98%,#000 100%);mask-composite:intersect}
.rsg-inm-x.hp .hp-tk::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-line);z-index:2}
.rsg-inm-x.hp .hp-tk-stub{display:flex;align-items:center;justify-content:center;padding:36px 28px;background:linear-gradient(160deg,#AA182C 0%,#801221 100%);color:#fff;border-right:2px dashed rgba(255,255,255,.6)}
.rsg-inm-x.hp .hp-tk-stub h3{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1;position:relative;padding-bottom:14px;margin:0;color:#fff}
.rsg-inm-x.hp .hp-tk-stub h3::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:2px;background:#fff;opacity:.9}
.rsg-inm-x.hp .hp-tk-body{padding:34px 44px 36px}
.rsg-inm-x.hp .hp-offers-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 0;list-style:none;margin:0;padding:0}
.rsg-inm-x.hp .hp-offers-list li{position:relative;font-size:15px;font-weight:600;line-height:1.45;color:var(--ink);padding:12px 22px 4px 22px;border-left:1px solid var(--line)}
.rsg-inm-x.hp .hp-offers-list li:nth-child(3n+1){border-left:0;padding-left:0}
.rsg-inm-x.hp .hp-offers-list li::before{content:"";position:absolute;left:22px;top:0;width:28px;height:3px;border-radius:2px;background:var(--h2-gold)}
.rsg-inm-x.hp .hp-offers-list li:nth-child(3n+1)::before{left:0}

/* ============================================================================
 * S5 EMERGENCY  (dark, faint night photo, receives the offers overlap)
 * ============================================================================ */
.rsg-inm-x.hp .hp-emg{padding:calc(var(--pad-3) + 110px) 0 var(--pad-3);overflow:hidden;z-index:1}
.rsg-inm-x.hp .hp-emg-grid{display:grid;grid-template-columns:minmax(380px,.86fr) 1.14fr;gap:64px;align-items:center;z-index:1}
/* form card (staging form carried verbatim) */
.rsg-inm-x.hp .hp-emg-form{background:#fff;color:var(--ink);border-radius:var(--r-card);padding:32px 32px 28px;box-shadow:var(--sh-3)}
.rsg-inm-x.hp .hp-emg-form .hp-form-title{margin-bottom:20px}
.rsg-inm-x.hp .hp-field select{font:inherit;font-size:16px;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%231A1C1B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/18px no-repeat;border:1.5px solid rgba(26,28,27,.22);border-radius:var(--r-btn);padding:12px 40px 12px 14px;width:100%;appearance:none;-webkit-appearance:none}
.rsg-inm-x.hp .hp-field select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(6,54,118,.14)}
.rsg-inm-x.hp .hp-emg-form .hp-field textarea{min-height:96px}
.rsg-inm-x.hp .hp-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--muted);margin:2px 0 16px}
.rsg-inm-x.hp .hp-consent input{margin-top:3px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--red)}
.rsg-inm-x.hp .hp-emg-form .hp-form-alt{margin-top:14px;font-size:14px;color:var(--muted)}
.rsg-inm-x.hp .hp-emg-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.rsg-inm-x.hp .hp-emg-copy .hp-h2{margin-bottom:18px;max-width:20ch}
.rsg-inm-x.hp .hp-emg-points{display:grid;grid-template-columns:1fr;gap:22px;margin-top:30px}
.rsg-inm-x.hp .hp-point{display:flex;gap:16px;align-items:flex-start}
.rsg-inm-x.hp .hp-point-ico{flex:0 0 44px;width:44px;height:44px;border-radius:var(--r-tile);background:rgba(83,157,214,.14);border:1px solid var(--ice-line);color:var(--ice);display:grid;place-items:center}
.rsg-inm-x.hp .hp-point-ico svg{width:22px;height:22px}
.rsg-inm-x.hp .hp-point h4{font-size:17px;font-weight:800;color:#fff;margin-bottom:6px}
.rsg-inm-x.hp .hp-point p{font-size:15px;line-height:1.6;color:var(--muted-dark)}

/* ============================================================================
 * S6 SERVICE AREA  (map card overlaps up into the emergency band)
 * ============================================================================ */
.rsg-inm-x.hp .hp-area{padding:0 0 1px;position:relative;z-index:2}
.rsg-inm-x.hp .hp-area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.rsg-inm-x.hp .hp-area-copy{padding:var(--pad-3) 0 24px}
.rsg-inm-x.hp .hp-area-copy .hp-h2{margin-bottom:22px}
.rsg-inm-x.hp .hp-area-copy p+p{margin-top:16px}
.rsg-inm-x.hp .hp-area-copy .hp-btn{margin-top:28px}
/* right column: map in a navy plate (overlaps -150px up into the Emergency band) + county ledger below */
.rsg-inm-x.hp .hp-map{position:relative;margin-top:0;padding-top:var(--pad-3)}
.rsg-inm-x.hp .hp-map::before{content:"";position:absolute;left:-30px;top:calc(var(--pad-3) - 30px);width:46%;height:220px;border-radius:var(--r-card);background:radial-gradient(circle,rgba(226,198,163,.55) 1.4px,transparent 1.5px) 0 0/14px 14px;z-index:0}
.rsg-inm-x.hp .hp-map-plate{position:relative;border-radius:var(--r-card)}
.rsg-inm-x.hp .hp-map-frame{position:relative;border-radius:var(--r-card);overflow:hidden;background:#E9EEF3;aspect-ratio:4/3.4;box-shadow:var(--sh-3)}
.rsg-inm-x.hp .hp-map-frame::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(6,54,118,.06) 0 1px,transparent 1px 40px),repeating-linear-gradient(0deg,rgba(6,54,118,.06) 0 1px,transparent 1px 40px)}
.rsg-inm-x.hp .hp-map-frame iframe{position:relative;display:block;width:100%;height:100%;border:0}
.rsg-inm-x.hp .hp-ledger{position:relative;z-index:2;margin:-120px 22px -150px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;background:var(--card-dark);border:1px solid var(--ice-line);border-radius:var(--r-card);padding:20px 26px 8px;box-shadow:var(--sh-dark);color:#fff}
.rsg-inm-x.hp .hp-lg{position:relative;padding:12px 0}
.rsg-inm-x.hp .hp-lg{border-bottom:1px solid var(--ice-line)}
.rsg-inm-x.hp .hp-lg:nth-last-child(-n+2){border-bottom:0}
.rsg-inm-x.hp .hp-lg::before{content:"";position:absolute;left:0;top:0;width:28px;height:3px;border-radius:2px;background:var(--h2-gold)}
.rsg-inm-x.hp .hp-lg h3{font-size:14px;font-weight:800;color:#fff;margin:6px 0 4px;letter-spacing:-.005em}
.rsg-inm-x.hp .hp-lg p{font-size:14.5px;line-height:1.55;color:var(--muted-dark);margin:0}
.rsg-inm-x.hp .hp-map-mascot{position:absolute;right:-30px;top:-118px;height:170px;width:auto;z-index:5;filter:drop-shadow(0 14px 18px rgba(0,0,0,.32))}

/* ============================================================================
 * S7 REVIEWS  (existing section carried over; curved top edge)
 * ============================================================================ */
.rsg-inm-x.hp{overflow-x:clip}
.rsg-inm-x.hp .rsg-msc--rev{position:absolute;right:0;bottom:-8px;width:104px}
.rsg-inm-x.hp .rsg-msc--rev img{width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
.rsg-inm-x.hp .rsg-stars{display:inline-flex;gap:3px}
.rsg-inm-x.hp .rsg-stars svg{width:16px;height:16px;fill:var(--star);color:var(--star)}
.rsg-inm-x.hp .rsg-inm-btn-secondary{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:700;font-size:15px;color:var(--ice);text-decoration:none;border-bottom:2px solid rgba(169,211,240,.5)}
.rsg-inm-x.hp .rsg-inm-btn-secondary::after{content:"\2197";font-weight:600}
@media (max-width:900px){
  .rsg-inm-x.hp .rsg-msc--rev{display:none}
  .rsg-inm-x.hp .hp-form-col{position:static}
}

/* ============================================================================
 * S8 FAQ  (two columns)
 * ============================================================================ */

/* ============================================================================
 * S9 FINAL CTA
 * ============================================================================ */

/* --- mobile call bar ------------------------------------------------------- */
.rsg-inm-x.hp .hp-mobar{display:none}

/* ============================================================================
 * HEADER: pin it. (Move to inm-header.css when approved so every page gets it.)
 * ============================================================================ */
.rsg-inm-hdr{position:sticky;top:0;z-index:70;box-shadow:0 1px 0 rgba(26,28,27,.08)}
.rsg-inm-hdr.is-stuck{box-shadow:0 8px 24px -12px rgba(8,25,42,.28)}

/* ============================================================================
 * RESPONSIVE
 * ============================================================================ */
@media (max-width:1100px){
  .rsg-inm-x.hp .hp-plate-list{grid-template-columns:repeat(3,1fr)}
  .rsg-inm-x.hp .hp-plate-list li{border-left:0;padding:14px 12px}
  .rsg-inm-x.hp .hp-plate-list li:last-child{padding-right:12px;grid-column:span 2}
  .rsg-inm-x.hp .hp-plate-mascot{display:none}
  .rsg-inm-x.hp .hp-why-grid{grid-template-columns:1fr 1fr}
  .rsg-inm-x.hp .hp-why-feat{grid-column:span 2}
  .rsg-inm-x.hp .hp-why-photo{min-height:260px}
}
@media (max-width:900px){
  .rsg-inm-x.hp{--pad-3:88px;--pad-2:76px}
  .rsg-inm-x.hp .hp-hero{padding:64px 0 130px;min-height:0}
  .rsg-inm-x.hp .hp-hbg{width:100%;-webkit-mask-image:none;mask-image:none}
  .rsg-inm-x.hp .hp-hero-scrim{background:radial-gradient(420px 420px at 12% 12%,rgba(83,157,214,.18),transparent 62%),linear-gradient(180deg,rgba(8,20,40,.9) 0%,rgba(8,20,40,.74) 45%,rgba(8,20,40,.92) 100%)}
  .rsg-inm-x.hp .hp-who-grid,.rsg-inm-x.hp .hp-emg-grid,.rsg-inm-x.hp .hp-area-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.hp .hp-emg-form{order:2}
  .rsg-inm-x.hp .hp-offers{margin-bottom:-72px}
  .rsg-inm-x.hp .hp-tk{--stubh:72px;grid-template-columns:1fr;-webkit-mask-image:radial-gradient(circle var(--notch) at 0 var(--stubh),transparent 98%,#000 100%),radial-gradient(circle var(--notch) at 100% var(--stubh),transparent 98%,#000 100%);mask-image:radial-gradient(circle var(--notch) at 0 var(--stubh),transparent 98%,#000 100%),radial-gradient(circle var(--notch) at 100% var(--stubh),transparent 98%,#000 100%)}
  .rsg-inm-x.hp .hp-tk-stub{height:var(--stubh);padding:0 26px;justify-content:flex-start;border-right:0;border-bottom:2px dashed rgba(255,255,255,.6)}
  .rsg-inm-x.hp .hp-tk-stub h3{font-size:26px;padding-bottom:0}
  .rsg-inm-x.hp .hp-tk-stub h3::after{display:none}
  .rsg-inm-x.hp .hp-tk-body{padding:24px 26px 26px}
  .rsg-inm-x.hp .hp-offers-list{grid-template-columns:1fr 1fr;gap:16px 0}
  .rsg-inm-x.hp .hp-offers-list li{border-left:1px solid var(--line);padding-left:22px}
  .rsg-inm-x.hp .hp-offers-list li::before{left:22px}
  .rsg-inm-x.hp .hp-offers-list li:nth-child(odd){border-left:0;padding-left:0}
  .rsg-inm-x.hp .hp-offers-list li:nth-child(odd)::before{left:0}
  .rsg-inm-x.hp .hp-emg{padding:calc(var(--pad-3) + 72px) 0 var(--pad-3)}
  .rsg-inm-x.hp .hp-emg-points{grid-template-columns:1fr}
  .rsg-inm-x.hp .hp-area-copy{padding:var(--pad-3) 0 24px}
  .rsg-inm-x.hp .hp-map{padding-top:0}
  .rsg-inm-x.hp .hp-map-mascot{height:130px;right:0;top:-88px}
  .rsg-inm-x.hp .hp-map-frame{aspect-ratio:16/11}
}
@media (max-width:767px){
  .rsg-inm-x.hp{--fs-h2:clamp(27px,7vw,32px);font-size:16px}
  .rsg-inm-x.hp .rsg-wrap{padding:0 20px}
  .rsg-inm-x.hp .hp-hero-h1-t{font-size:clamp(32px,8.6vw,40px)}
  .rsg-inm-x.hp .hp-hero .hp-ctas{margin-top:22px}
  .rsg-inm-x.hp .hp-hero .hp-ctas .hp-btn{width:100%}
  .rsg-inm-x.hp .hp-chips{order:5;margin-top:18px}
  .rsg-inm-x.hp .hp-hero-copy{display:flex;flex-direction:column}
  .rsg-inm-x.hp .hp-hero-loc{font-size:15px}
  .rsg-inm-x.hp .hp-plate{margin-top:-60px;padding:8px 16px}
  .rsg-inm-x.hp .hp-plate-list{grid-template-columns:1fr 1fr}
  .rsg-inm-x.hp .hp-plate-list li{font-size:13.5px;padding:12px 8px}
  .rsg-inm-x.hp .hp-plate-list li:last-child{grid-column:span 2}
  .rsg-inm-x.hp .hp-who-grid{margin-top:48px}
  .rsg-inm-x.hp .hp-who-photos{padding-right:0;padding-bottom:0}
  .rsg-inm-x.hp .hp-who-inset{position:static;width:100%;margin-top:14px;border:0;aspect-ratio:16/10}
  .rsg-inm-x.hp .hp-form{padding:22px}
  .rsg-inm-x.hp .hp-form-row{grid-template-columns:1fr;gap:0}
  .rsg-inm-x.hp .hp-why-grid{grid-template-columns:1fr}
  .rsg-inm-x.hp .hp-why-feat{grid-column:auto;padding:28px 24px}
  .rsg-inm-x.hp .hp-why-feat h4{font-size:23px}
  .rsg-inm-x.hp .hp-why-photo{min-height:220px;max-height:260px}
  .rsg-inm-x.hp .hp-offers-list{grid-template-columns:1fr;gap:14px}
  .rsg-inm-x.hp .hp-offers-list li,.rsg-inm-x.hp .hp-offers-list li:nth-child(n){border-left:0;padding-left:0}
  .rsg-inm-x.hp .hp-offers-list li::before,.rsg-inm-x.hp .hp-offers-list li:nth-child(n)::before{left:0}
  .rsg-inm-x.hp .hp-ledger{grid-template-columns:1fr;padding:16px 20px 6px;margin:-70px 12px -90px}
  .rsg-inm-x.hp .hp-rev{padding-top:calc(var(--pad-3) + 120px)}
  .rsg-inm-x.hp .hp-lg:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .rsg-inm-x.hp .hp-lg:last-child{border-bottom:0}
  .rsg-inm-x.hp .hp-ctas .hp-btn{width:100%}
  .rsg-inm-x.hp .hp-mobar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -8px 24px -14px rgba(8,25,42,.35)}
  .rsg-inm-x.hp .hp-mobar .hp-btn{min-height:48px;padding:0 8px;font-size:12.5px;letter-spacing:.03em;gap:6px}
  .rsg-inm-x.hp .hp-mobar .hp-btn .hp-ico{width:14px;height:14px}
}
@media (prefers-reduced-motion:reduce){
  .rsg-inm-x.hp .hp-btn,.rsg-inm-x.hp .hp-card,.rsg-inm-x.hp .hp-textlink{transition:none}
}

/* Who We Are masonry: 1 tall + 2 small + 1 wide, bleeding past the container's right edge */
.rsg-inm-x.hp .hp-who-masonry{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:250px 250px;gap:14px;margin-right:-120px}
.rsg-inm-x.hp .hp-who-masonry img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-tile);box-shadow:var(--sh-1)}
.rsg-inm-x.hp .hp-who-masonry .m1{grid-row:1/3;object-position:55% 30%}
.rsg-inm-x.hp .hp-who-masonry .m2{object-position:60% 30%}
.rsg-inm-x.hp .hp-who-masonry .m4{grid-column:2/4;object-position:center 35%}
@media (max-width:1300px){.rsg-inm-x.hp .hp-who-masonry{margin-right:0}}
@media (max-width:900px){.rsg-inm-x.hp .hp-who-masonry{grid-template-rows:220px 220px}}
@media (max-width:767px){.rsg-inm-x.hp .hp-who-masonry{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}.rsg-inm-x.hp .hp-who-masonry .m1{grid-column:1/3;grid-row:auto;height:260px}.rsg-inm-x.hp .hp-who-masonry .m2,.rsg-inm-x.hp .hp-who-masonry .m3{height:160px}.rsg-inm-x.hp .hp-who-masonry .m4{grid-column:1/3;height:200px}}
/* dark form (lives in the emergency band) */

/* Who We Are gallery: 1 tall + 2 stacked, under the copy */
.rsg-inm-x.hp .hp-who-gal{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:440px;margin-top:36px}
.rsg-inm-x.hp .hp-who-gal img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-tile);box-shadow:var(--sh-1)}
.rsg-inm-x.hp .hp-who-gal .g1{grid-row:1/3;object-position:55% 30%}
.rsg-inm-x.hp .hp-who-gal .g2{object-position:60% 30%}
@media (max-width:767px){.rsg-inm-x.hp .hp-who-gal{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}.rsg-inm-x.hp .hp-who-gal .g1{grid-column:1/3;grid-row:auto;height:240px}.rsg-inm-x.hp .hp-who-gal .g2,.rsg-inm-x.hp .hp-who-gal .g3{height:150px}}
/* plate: drop to a 3+2 layout before the last cell wraps to four lines */
@media (max-width:1240px) and (min-width:1101px){.rsg-inm-x.hp .hp-plate-list li{font-size:13.5px;padding:18px 12px}.rsg-inm-x.hp .hp-plate-list li:last-child{padding-right:120px}}

/* Who We Are: v1 composition. Copy + one button with the running mascot; framed van photo with a tilted inset and a ring mark */
.rsg-inm-x.hp .hp-who-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:64px}
.rsg-inm-x.hp .hp-who-book{position:relative;display:inline-flex;padding-right:56px}
.rsg-inm-x.hp .hp-who-book .hp-btn{position:relative;z-index:1}
.rsg-inm-x.hp .hp-who-mascot{position:absolute;right:-6px;top:50%;transform:translateY(-50%);height:108px;width:auto;z-index:3;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}
.rsg-inm-x.hp .hp-who-visual{position:relative;padding:40px 60px 0 0}
.rsg-inm-x.hp .hp-who-visual .hp-who-main{width:100%;height:auto;aspect-ratio:5/4.6;object-fit:cover;object-position:55% 40%;border-radius:var(--r-card);box-shadow:var(--sh-2)}
.rsg-inm-x.hp .hp-who-visual .hp-who-inset{position:absolute;right:0;top:0;width:38%;aspect-ratio:16/10;object-fit:cover;object-position:60% 40%;border-radius:var(--r-btn);border:6px solid #fff;box-shadow:var(--sh-2);transform:rotate(3deg);margin:0}
.rsg-inm-x.hp .hp-who-ring{position:absolute;right:-14px;top:-18px;width:220px;height:220px;border-radius:50%;border:1.5px solid rgba(83,157,214,.45)}
@media (max-width:900px){.rsg-inm-x.hp .hp-who-grid{gap:40px}.rsg-inm-x.hp .hp-who-visual{padding:30px 30px 0 0}.rsg-inm-x.hp .hp-who-ring{width:160px;height:160px}}
@media (max-width:767px){.rsg-inm-x.hp .hp-who-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:64px}.rsg-inm-x.hp .hp-who-cta .hp-btn{width:auto}.rsg-inm-x.hp .hp-who-book{position:relative;display:inline-flex;padding-right:56px}
.rsg-inm-x.hp .hp-who-book .hp-btn{position:relative;z-index:1}
.rsg-inm-x.hp .hp-who-mascot{position:absolute;right:-6px;top:50%;transform:translateY(-50%);height:108px;width:auto;z-index:3;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}.rsg-inm-x.hp .hp-who-visual .hp-who-inset{width:44%}}

/* ============================================================================
 * S3 SERVICES (Precision anatomy): light band, white wave in, photo cards
 * ============================================================================ */
.rsg-inm-x.hp .hp-svc{position:relative;z-index:3;padding:calc(var(--pad-3) + 30px) 0 0;overflow:visible}
.rsg-inm-x.hp .hp-psvc-grid{margin-bottom:-260px}
.rsg-inm-x.hp .hp-why{padding-top:calc(260px + 96px)}
.rsg-inm-x.hp .hp-shead{margin:0 auto;text-align:center;max-width:820px}
.rsg-inm-x.hp .hp-shead .hp-h2{font-size:clamp(31px,3.6vw,50px);letter-spacing:-.028em;line-height:1.05}
.rsg-inm-x.hp .hp-psvc-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:26px;margin-top:50px;position:relative;z-index:3}
.rsg-inm-x.hp .hp-psvc{--c:#2E81C1;--c-ink:#1C669F;--c-wash:#E1F0FB;--c-line:#BFE0F6;position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-2);transition:transform .32s cubic-bezier(.2,.7,.16,1),box-shadow .32s}
.rsg-inm-x.hp .hp-psvc.heat{--c:#C41C33;--c-ink:#AA182C;--c-wash:#FBE9EB;--c-line:#F3C7CC}
.rsg-inm-x.hp .hp-psvc.air{--c:#2E9E5B;--c-ink:#1E7A43;--c-wash:#E7F5EC;--c-line:#C3E8D0}
.rsg-inm-x.hp .hp-psvc.duct{--c:#B8862B;--c-ink:#805928;--c-wash:#F7EFE0;--c-line:#EAD7B0}
.rsg-inm-x.hp .hp-psvc:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.rsg-inm-x.hp .hp-psvc-photo{position:relative;aspect-ratio:16/9;overflow:visible}
.rsg-inm-x.hp .hp-psvc-photo>img:first-child{border-radius:var(--r-card) var(--r-card) 0 0}
.rsg-inm-x.hp .hp-psvc-photo>img:first-child{width:100%;height:100%;object-fit:cover}
.rsg-inm-x.hp .hp-psvc-photo::before{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r-card) var(--r-card) 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(6,20,45,.22) 0%,rgba(6,20,45,.08) 45%,rgba(6,20,45,.34) 100%)}
.rsg-inm-x.hp .hp-psvc-tag{position:absolute;left:14px;top:13px;z-index:3;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:800;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:7px 13px;border-radius:999px;background:rgba(8,19,37,.62);border:1px solid rgba(255,255,255,.22)}
.rsg-inm-x.hp .hp-psvc-tag .d{width:8px;height:8px;border-radius:50%;flex:none;background:var(--c)}
/* service-card mascot (owner 2026-09-10): medium size, hidden until the card is hovered/focused; always shown where hover does not exist */
.rsg-inm-x.hp .hp-psvc-mascot{position:absolute;right:18px;bottom:-6px;z-index:4;width:auto;height:150px;max-width:40%;object-fit:contain;object-position:bottom;pointer-events:none;filter:drop-shadow(0 12px 16px rgba(14,39,70,.45));opacity:0;transform:translateY(22px);transition:opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.rsg-inm-x.hp .hp-psvc:hover .hp-psvc-mascot,.rsg-inm-x.hp .hp-psvc:focus-within .hp-psvc-mascot{opacity:1;transform:translateY(0)}
@media (hover:none){.rsg-inm-x.hp .hp-psvc-mascot{opacity:1;transform:none}}
.rsg-inm-x.hp .hp-psvc-edge{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0}
.rsg-inm-x.hp .hp-psvc-edge svg{display:block;width:100%;height:40px;transform:scaleY(-1)}
.rsg-inm-x.hp .hp-psvc-body{padding:26px 26px 26px;display:flex;flex-direction:column;flex:1}
.rsg-inm-x.hp .hp-psvc-body h3{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.rsg-inm-x.hp .hp-psvc-body h3 a{color:var(--ink);text-decoration:none;transition:color .2s}
.rsg-inm-x.hp .hp-psvc-body h3 a:hover{color:var(--c-ink)}
.rsg-inm-x.hp .hp-psvc-body>p{font-size:14.5px;color:var(--muted);margin-top:10px;line-height:1.6}
.rsg-inm-x.hp .hp-psvc-subhead{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-family:var(--font-heading);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rsg-inm-x.hp .hp-psvc-subs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px}
.rsg-inm-x.hp .hp-psvc-subs a,.rsg-inm-x.hp .hp-psvc-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:background .22s,border-color .22s,color .22s}
.rsg-inm-x.hp .hp-psvc-subs .dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--c)}
.rsg-inm-x.hp .hp-psvc-subs a:hover,.rsg-inm-x.hp .hp-psvc-subs li:first-child a,.rsg-inm-x.hp .hp-psvc-subs li:first-child .hp-psvc-pill{background:var(--c-wash);border-color:var(--c-line);color:var(--c-ink)}
.rsg-inm-x.hp .hp-psvc-explore{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:800;font-size:13px;padding:11px 19px;border:1.5px solid currentColor;border-radius:999px;color:var(--c-ink);text-decoration:none;transition:background .22s,color .22s,border-color .22s,transform .22s}
.rsg-inm-x.hp .hp-psvc-explore svg{width:16px;height:16px;transition:transform .25s}
.rsg-inm-x.hp .hp-psvc-explore:hover{background:var(--c);border-color:var(--c);color:#fff;transform:translateY(-2px)}
.rsg-inm-x.hp .hp-psvc:hover .hp-psvc-explore svg{transform:translateX(4px)}
@media (max-width:900px){.rsg-inm-x.hp .hp-psvc-grid{grid-template-columns:1fr}.rsg-inm-x.hp .hp-svc{padding-top:calc(var(--pad-3) + 10px)}}
@media (max-width:767px){.rsg-inm-x.hp .hp-psvc-body{padding:22px 20px 22px}.rsg-inm-x.hp .hp-psvc-mascot{height:130px}}
@media (prefers-reduced-motion:reduce){.rsg-inm-x.hp .hp-psvc-mascot{transform:none;transition:opacity .2s ease}}

/* staging-site shape dividers (v1): wave + gold line + red sun medallion on top, shallow wave at the bottom */
.rsg-inm-x.hp .rsg-div-top{position:absolute;top:-1px;left:0;right:0;height:60px;pointer-events:none;z-index:2}
.rsg-inm-x.hp .rsg-div-top>svg,.rsg-inm-x.hp .rsg-div-btm>svg{width:100%;height:100%;display:block}
.rsg-inm-x.hp .rsg-div-line{stroke-dasharray:760;stroke-dashoffset:760;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.rsg-inm-x.hp .is-in .rsg-div-line,.rsg-inm-x.hp:not(.rsg-rv-js) .rsg-div-line{stroke-dashoffset:0}
.rsg-inm-x.hp .hp-emg{padding-top:calc(var(--pad-3) + 100px)}
.rsg-inm-x.hp .rsg-div-btm{position:absolute;bottom:-1px;left:0;right:0;height:34px;pointer-events:none;z-index:2}
.rsg-inm-x.hp .rsg-div-sun{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:38px;height:38px;border-radius:50%;background:var(--red);box-shadow:0 2px 8px rgba(26,28,27,.20);display:flex;align-items:center;justify-content:center}
.rsg-inm-x.hp .rsg-div-sun svg{width:19px;height:19px}
@media (max-width:767px){.rsg-inm-x.hp .rsg-div-top{height:30px;top:-2px}.rsg-inm-x.hp .rsg-div-btm{height:24px}}

.rsg-inm-x.hp .hp-h2-dark .hp-acc-gold{color:var(--h2-gold)}
.rsg-inm-x.hp .hp-h2 .hp-acc-red{color:var(--red)}

@media (max-width:900px){.rsg-inm-x.hp .hp-psvc-grid{margin-bottom:-160px}.rsg-inm-x.hp .hp-why{padding-top:calc(160px + 72px)}}


/* ============================================================================
 * S4 WHY CHOOSE (Precision promise bento)
 * ============================================================================ */
.rsg-inm-x.hp .hp-why{padding:calc(260px + 96px) 0 0;position:relative;z-index:2;overflow:visible}
.rsg-inm-x.hp .hp-phead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.rsg-inm-x.hp .hp-phead .hp-h2{font-size:clamp(31px,3.6vw,50px);letter-spacing:-.028em;line-height:1.05;max-width:22ch}
.rsg-inm-x.hp .hp-pbento{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,auto);gap:18px;position:relative}
.rsg-inm-x.hp .hp-pcell{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#FFFFFF 0%,#F4F6F9 100%);border:1px solid var(--line);border-radius:var(--r-card);padding:22px;box-shadow:var(--sh-2);transition:transform .28s cubic-bezier(.2,.7,.16,1),box-shadow .28s,border-color .28s;overflow:hidden}
.rsg-inm-x.hp .hp-pcell:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}
.rsg-inm-x.hp .hp-pn{font-family:var(--font-heading);font-weight:800;font-size:13px;color:var(--navy);letter-spacing:.04em}
.rsg-inm-x.hp .hp-pcell h4{font-size:18px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:var(--ink);margin-top:0;max-width:22ch}
.rsg-inm-x.hp .hp-pcell p{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.55}
.rsg-inm-x.hp .hp-pcell:not(.lead):not(.tall02):not(.hp-pengtile){padding-bottom:26px}
.rsg-inm-x.hp .hp-pcell .hp-pn,.rsg-inm-x.hp .hp-pcell h4,.rsg-inm-x.hp .hp-pcell p{position:relative;z-index:2}
/* lead tile: dark, spans two columns */
.rsg-inm-x.hp .hp-pcell.lead{grid-column:1 / span 2;grid-row:1;background:var(--band-grad-deep);border-color:transparent;color:#fff;box-shadow:var(--sh-dark)}
.rsg-inm-x.hp .hp-pcell.lead h4{color:#fff;font-size:23px;max-width:none}
.rsg-inm-x.hp .hp-pcell.lead p{color:var(--muted-dark);max-width:none;padding-right:0;font-size:14.5px;line-height:1.6}
.rsg-inm-x.hp .hp-pcell.lead .hp-pn{color:var(--h2-gold)}
.rsg-inm-x.hp .hp-pcell.lead .hp-ppeng{filter:drop-shadow(0 12px 20px rgba(0,0,0,.5))}
/* tall tile with photo: third column, all three rows */
.rsg-inm-x.hp .hp-pcell.tall02{grid-column:3;grid-row:1 / span 3;padding:0}
.rsg-inm-x.hp .hp-t2text{padding:24px 26px 10px}
.rsg-inm-x.hp .hp-t2media{position:relative;flex:1;min-height:140px;overflow:hidden;border-radius:0 0 var(--r-card) var(--r-card)}
.rsg-inm-x.hp .hp-t2media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.rsg-inm-x.hp .hp-t2curve{position:absolute;left:0;right:0;top:-1px;z-index:2;line-height:0}
.rsg-inm-x.hp .hp-t2curve svg{display:block;width:100%;height:34px}
/* per-tile mascot: peeks up from the bottom-right corner on hover, clipped by the tile */
.rsg-inm-x.hp .hp-ppeng{position:absolute;right:8px;bottom:0;width:auto;height:86px;max-width:30%;object-fit:contain;object-position:bottom;opacity:0;transform:translateY(28px);transition:opacity .34s ease,transform .5s cubic-bezier(.2,.7,.16,1);pointer-events:none;z-index:1;filter:drop-shadow(0 10px 15px rgba(14,39,70,.42))}
.rsg-inm-x.hp .hp-pcell:hover .hp-ppeng,.rsg-inm-x.hp .hp-pcell:focus-within .hp-ppeng,.rsg-inm-x.hp .hp-pcell.is-active .hp-ppeng{opacity:1;transform:translateY(0)}
/* fourth column: the big mascot that swaps with the active tile and overlaps down into the next section */
.rsg-inm-x.hp .hp-pcell.hp-pengtile{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;overflow:visible;z-index:6;background:transparent;border:0;box-shadow:none;pointer-events:none}
.rsg-inm-x.hp .hp-pcell.hp-pengtile:hover{transform:none;box-shadow:none}
.rsg-inm-x.hp .hp-pgwell{position:absolute;inset:0}
.rsg-inm-x.hp .hp-pengpeng{position:absolute;right:-70px;bottom:-48px;height:auto;width:auto;max-height:330px;max-width:none;z-index:2;opacity:0;transition:opacity .4s ease;filter:drop-shadow(0 18px 24px rgba(14,39,70,.42));pointer-events:none}
.rsg-inm-x.hp .hp-pengpeng.show{opacity:1}
@media (max-width:1100px){
  .rsg-inm-x.hp .hp-pbento{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .rsg-inm-x.hp .hp-pcell.lead{grid-column:span 2;grid-row:auto}
  .rsg-inm-x.hp .hp-pcell.tall02{grid-column:span 2;grid-row:auto}
  .rsg-inm-x.hp .hp-t2media{min-height:220px}
  .rsg-inm-x.hp .hp-pcell.hp-pengtile{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;overflow:visible;z-index:6;background:transparent;border:0;box-shadow:none;pointer-events:none}
}
@media (max-width:900px){.rsg-inm-x.hp .hp-why{padding-top:calc(160px + 72px)}.rsg-inm-x.hp .hp-phead{flex-direction:column;align-items:flex-start}}
@media (max-width:767px){
  .rsg-inm-x.hp .hp-pbento{grid-template-columns:1fr;gap:14px}
  .rsg-inm-x.hp .hp-pcell.lead,.rsg-inm-x.hp .hp-pcell.tall02{grid-column:auto}
  .rsg-inm-x.hp .hp-pcell{padding:22px}
  .rsg-inm-x.hp .hp-pcell h4{max-width:none}
  .rsg-inm-x.hp .hp-ppeng{opacity:1;transform:none;height:78px}
}
@media (prefers-reduced-motion:reduce){.rsg-inm-x.hp .hp-ppeng{opacity:1;transform:none;transition:none}.rsg-inm-x.hp .hp-pengpeng{transition:none}}

/* ONE shape divider for every seam: the shallow symmetric curve from the service-card photo edge */
.rsg-inm-x.hp .hp-curve{position:absolute;left:0;right:0;height:70px;z-index:2;pointer-events:none;line-height:0}
.rsg-inm-x.hp .hp-curve--top{top:-1px}
.rsg-inm-x.hp .hp-curve--btm{bottom:-1px}
.rsg-inm-x.hp .hp-curve svg{display:block;width:100%;height:100%}
.rsg-inm-x.hp .hp-hero .rsg-div-btm{z-index:2}
.rsg-inm-x.hp .hp-hero{padding-bottom:190px}
@media (max-width:767px){.rsg-inm-x.hp .rsg-div-top{height:30px;top:-2px}.rsg-inm-x.hp .rsg-div-btm{height:24px}.rsg-inm-x.hp .rsg-div-sun{top:6px;width:30px;height:30px}.rsg-inm-x.hp .rsg-div-sun svg{width:15px;height:15px}}


/* stop the straddling cards' negative bottom margins from collapsing through their sections */
.rsg-inm-x.hp .hp-why{padding-bottom:1px}
.rsg-inm-x.hp .hp-svc{padding-bottom:1px}

/* ===== S7 REVIEWS (2026-09-10) ============================================ */
.rsg-inm-x.hp .hp-rev{padding:calc(var(--pad-3) + 180px) 0 calc(var(--pad-3) + 30px);overflow:hidden;z-index:1}
.rsg-inm-x.hp .hp-rev::before{content:"";position:absolute;left:50%;top:38%;width:1100px;height:700px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(83,157,214,.16),rgba(83,157,214,0) 65%);pointer-events:none}
.rsg-inm-x.hp .hp-rev-head{position:relative;text-align:center;max-width:none;margin:0 auto 44px}
.rsg-inm-x.hp .hp-rev-head .hp-h2{margin:0 auto 16px;max-width:none}
.rsg-inm-x.hp .hp-rev-head .hp-lede-dark{margin:0 auto;max-width:78ch}
.rsg-inm-x.hp .hp-stars{display:inline-flex;gap:2px}
.rsg-inm-x.hp .hp-stars svg{width:14px;height:14px;fill:var(--star)}
/* marquee */
.rsg-inm-x.hp .hp-marq{position:relative;overflow:hidden;padding:6px 0 18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rsg-inm-x.hp .hp-marq-track{display:flex;gap:20px;width:max-content;padding-left:20px;animation:hp-marq 70s linear infinite;will-change:transform}
.rsg-inm-x.hp .hp-marq:hover .hp-marq-track,.rsg-inm-x.hp .hp-marq:focus-within .hp-marq-track{animation-play-state:paused}
@keyframes hp-marq{to{transform:translateX(-50%)}}
.rsg-inm-x.hp .hp-rcard{flex:0 0 380px;background:#fff;color:var(--ink);border-radius:var(--r-card);padding:24px 24px 20px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:14px;position:relative}
.rsg-inm-x.hp .hp-rcard::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.hp .hp-rcard blockquote{margin:0;font-size:15px;line-height:1.6;color:var(--ink);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rsg-inm-x.hp .hp-rcard footer{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.rsg-inm-x.hp .hp-rav{flex:none;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:13px;display:grid;place-items:center;letter-spacing:.02em}
.rsg-inm-x.hp .hp-rid{display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:var(--muted)}
.rsg-inm-x.hp .hp-rid b{font-size:14.5px;color:var(--ink)}
.rsg-inm-x.hp .hp-rg{margin-left:auto;width:22px;height:22px}
.rsg-inm-x.hp .hp-rg svg{width:22px;height:22px}
.rsg-inm-x.hp .hp-rev-foot{position:relative;display:flex;justify-content:center;align-items:center;margin-top:26px;z-index:1}
.rsg-inm-x.hp .hp-rev-mascot{position:absolute;right:10px;top:-4px;height:200px;width:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.4));pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .rsg-inm-x.hp .hp-marq-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;padding:0 24px}
  .rsg-inm-x.hp .hp-marq-track .hp-rcard:nth-child(n+6){display:none}
  .rsg-inm-x.hp .hp-marq{-webkit-mask-image:none;mask-image:none}
}

/* ===== S8 FAQ (2026-09-10) ================================================ */
.rsg-inm-x.hp .hp-faq{padding:calc(var(--pad-3) + 20px) 0 calc(var(--pad-3) + 40px)}
.rsg-inm-x.hp .hp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.rsg-inm-x.hp .hp-faq-side{position:sticky;top:140px}
.rsg-inm-x.hp .hp-faq-side .hp-h2{max-width:12ch;margin-bottom:30px}
.rsg-inm-x.hp .hp-faq-list{border-top:1px solid var(--line)}
.rsg-inm-x.hp .hp-faq-item{border-bottom:1px solid var(--line);position:relative}
.rsg-inm-x.hp .hp-faq-item::before{content:"";position:absolute;left:0;top:26px;width:3px;height:0;border-radius:2px;background:var(--red);transition:height .35s var(--ease)}
.rsg-inm-x.hp .hp-faq-item[open]::before{height:26px}
.rsg-inm-x.hp .hp-faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 32px;align-items:start;gap:14px;padding:24px 0 22px 18px;font-family:var(--font-heading);font-weight:700;font-size:18px;line-height:1.35;color:var(--ink)}
.rsg-inm-x.hp .hp-faq-item summary::-webkit-details-marker{display:none}
.rsg-inm-x.hp .hp-faq-n{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--h2-gold);padding-top:5px;font-variant-numeric:tabular-nums}
.rsg-inm-x.hp .hp-faq-item[open] .hp-faq-n{color:var(--red)}
.rsg-inm-x.hp .hp-faq-q{transition:color .18s}
.rsg-inm-x.hp .hp-faq-item summary:hover .hp-faq-q{color:var(--navy)}
.rsg-inm-x.hp .hp-faq-pl{position:relative;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(6,54,118,.35);flex:none;transition:background .25s,border-color .25s,transform .35s var(--ease)}
.rsg-inm-x.hp .hp-faq-pl::before,.rsg-inm-x.hp .hp-faq-pl::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .35s var(--ease),background .25s}
.rsg-inm-x.hp .hp-faq-pl::after{transform:translate(-50%,-50%) rotate(90deg)}
.rsg-inm-x.hp .hp-faq-item[open] .hp-faq-pl{background:var(--navy);border-color:var(--navy)}
.rsg-inm-x.hp .hp-faq-item[open] .hp-faq-pl::before,.rsg-inm-x.hp .hp-faq-item[open] .hp-faq-pl::after{background:#fff;transform:translate(-50%,-50%) rotate(0)}
.rsg-inm-x.hp .hp-faq-a{padding:0 60px 26px 76px}
.rsg-inm-x.hp .hp-faq-a p{font-size:15.5px;line-height:1.65;color:var(--muted)}
.rsg-inm-x.hp .hp-faq-a p+p{margin-top:10px}


@media (max-width:1100px){
}
@media (max-width:900px){
  .rsg-inm-x.hp .hp-faq-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.hp .hp-faq-side{position:static}
  .rsg-inm-x.hp .hp-faq-side .hp-h2{max-width:none}
  .rsg-inm-x.hp .hp-rev-mascot{display:none}
}
@media (max-width:767px){
  .rsg-inm-x.hp .hp-rcard{flex-basis:300px}
        .rsg-inm-x.hp .hp-faq-item summary{grid-template-columns:1fr 32px;padding-left:14px;font-size:16.5px}
  .rsg-inm-x.hp .hp-faq-n{display:none}
  .rsg-inm-x.hp .hp-faq-a{padding:0 20px 22px 14px}
}

/* ===== S9 FINAL CTA (2026-09-10) = staging v1 band reproduced ============= */
.rsg-inm-x.hp .hp-cta{padding:calc(var(--pad-3) + 70px) 0 calc(var(--pad-3) + 30px);overflow:visible;z-index:1}
.rsg-inm-x.hp .hp-cta .rsg-div-top{overflow:visible}
.rsg-inm-x.hp .hp-cta-figure{display:block;position:absolute;bottom:22px;right:max(24px,calc((100% - var(--container))/2));height:230px;z-index:3;pointer-events:none;filter:drop-shadow(0 0 1px rgba(143,204,242,.9)) drop-shadow(0 0 2px rgba(143,204,242,.5)) drop-shadow(0 10px 14px rgba(3,12,24,.45))}
.rsg-inm-x.hp .hp-cta-figure img{display:block;height:100%;width:auto}
.rsg-inm-x.hp .hp-cta-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center;padding-top:24px}
.rsg-inm-x.hp .hp-cta-title{font-family:var(--font-heading);font-weight:800;line-height:1.08;letter-spacing:.008em;text-transform:uppercase;font-size:clamp(30px,3.8vw,46px);color:#fff;margin:0}
.rsg-inm-x.hp .hp-cta .hp-cta-title span{display:block;color:var(--h2-gold)}
.rsg-inm-x.hp .hp-cta-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.rsg-inm-x.hp .hp-btn-caps{padding:0 30px}
.rsg-inm-x.hp .hp-cta-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:var(--r-btn);background:transparent;border:1px solid rgba(169,211,240,.42);color:#fff;font-family:var(--font-heading);font-size:14.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}
.rsg-inm-x.hp .hp-cta-call svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
.rsg-inm-x.hp .hp-cta-call:hover{transform:scale(1.05);background:rgba(255,255,255,.08);border-color:var(--h2-gold)}
@media (max-width:900px){
  .rsg-inm-x.hp .hp-cta{padding-bottom:calc(var(--pad-3) + 90px);padding-top:calc(var(--pad-3) + 95px)}
}
@media (max-width:767px){
  .rsg-inm-x.hp .hp-cta-figure{right:12px;bottom:auto;top:-22px;height:96px}
  .rsg-inm-x.hp .hp-cta{padding-top:calc(var(--pad-3) + 95px)}
    .rsg-inm-x.hp .hp-cta-actions{flex-direction:column;align-items:stretch}
  .rsg-inm-x.hp .hp-cta{padding-bottom:calc(var(--pad-3) + 110px)}
}

/* ===== dark-band backgrounds (2026-09-10): every dark band = photo + dark overlay, clipped to the band ===== */
.rsg-inm-x.hp .hp-band{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.rsg-inm-x.hp .hp-bandbg{position:absolute;left:-20px;top:-20px;width:calc(100% + 40px);height:calc(100% + 40px);max-width:none;max-height:none;object-fit:cover;object-position:center 40%;opacity:.42;filter:saturate(.7);display:block}
.rsg-inm-x.hp .hp-bandscrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,13,30,.62) 0%,rgba(0,13,30,.74) 50%,rgba(0,13,30,.62) 100%),linear-gradient(180deg,rgba(0,13,30,.6),rgba(0,13,30,0) 28%,rgba(0,13,30,0) 72%,rgba(0,13,30,.6))}
.rsg-inm-x.hp .hp-svc>.rsg-wrap,.rsg-inm-x.hp .hp-emg>.rsg-wrap,.rsg-inm-x.hp .hp-rev>.rsg-wrap,.rsg-inm-x.hp .hp-rev>.hp-marq,.rsg-inm-x.hp .hp-cta>.rsg-wrap{position:relative;z-index:1}

/* ===== FAQ call card v2 (2026-09-10): premium plate, phone-pose mascot on the right edge ===== */
.rsg-inm-x.hp .hp-faq-call{position:relative;margin-top:34px;padding:26px 150px 26px 26px;background:var(--card-dark);border:1px solid var(--ice-line);border-radius:var(--r-card);box-shadow:var(--sh-dark);color:#fff;overflow:visible}
.rsg-inm-x.hp .hp-faq-call::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.hp .hp-faq-call::after{content:"";position:absolute;inset:0;border-radius:var(--r-card);background:radial-gradient(120% 90% at 100% 100%,rgba(83,157,214,.18),transparent 60%);pointer-events:none}
.rsg-inm-x.hp .hp-faq-call-in{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.rsg-inm-x.hp .hp-faq-tel{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:clamp(24px,2vw,28px);font-weight:800;color:#fff;text-decoration:none;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1;transition:color .2s}
.rsg-inm-x.hp .hp-faq-tel:hover{color:var(--h2-gold)}
.rsg-inm-x.hp .hp-faq-tel-ico{flex:none;width:40px;height:40px;border-radius:var(--r-tile);background:rgba(83,157,214,.16);border:1px solid var(--ice-line);color:var(--ice);display:grid;place-items:center}
.rsg-inm-x.hp .hp-faq-tel-ico svg{width:18px;height:18px;fill:currentColor}
.rsg-inm-x.hp .hp-faq-mascot{position:absolute;right:10px;bottom:0;height:172px;width:auto;z-index:2;filter:drop-shadow(0 12px 16px rgba(0,0,0,.45));pointer-events:none}

/* phone icon on every call button (owner 2026-09-10) */
.rsg-inm-x.hp .hp-btn .hp-ico{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
.rsg-inm-x.hp .hp-hero-loc .hp-pin{flex:0 0 auto;width:30px;height:30px;align-self:center;margin-top:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.rsg-inm-x.hp .hp-hero-loc .hp-pin path{fill:var(--red)}

/* ===== S6b FROM THE BLOG (2026-09-10) ==================================== */
.rsg-inm-x.hp .hp-blog{padding:var(--pad-3) 0 1px;position:relative;z-index:3}
.rsg-inm-x.hp .hp-blog-head{text-align:center;max-width:760px;margin:0 auto 40px}
.rsg-inm-x.hp .hp-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:-120px;position:relative;z-index:3}
.rsg-inm-x.hp .hp-bcard{--bc:var(--navy);display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-3);border-top:4px solid var(--bc);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rsg-inm-x.hp .hp-bcard:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.rsg-inm-x.hp .hp-bcard[data-cat="cooling"]{--bc:#2E81C1}
.rsg-inm-x.hp .hp-bcard[data-cat="heating"]{--bc:var(--red)}
.rsg-inm-x.hp .hp-bcard[data-cat="buying-guides"]{--bc:#805928}
.rsg-inm-x.hp .hp-bcard[data-cat="indoor-air-quality"]{--bc:#1AA257}
.rsg-inm-x.hp .hp-bcard-img{display:block;aspect-ratio:16/9;overflow:hidden;background:#E9EEF3}
.rsg-inm-x.hp .hp-bcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.rsg-inm-x.hp .hp-bcard:hover .hp-bcard-img img{transform:scale(1.04)}
.rsg-inm-x.hp .hp-bcard-body{display:flex;flex-direction:column;gap:12px;padding:22px 24px 24px;flex:1}
.rsg-inm-x.hp .hp-bcat{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bc);background:color-mix(in srgb,var(--bc) 10%,#fff);border-radius:999px;padding:5px 11px}
.rsg-inm-x.hp .hp-bcard-title{font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin:0}
.rsg-inm-x.hp .hp-bcard-title a{color:inherit;text-decoration:none;transition:color .2s}
.rsg-inm-x.hp .hp-bcard-title a:hover{color:var(--navy)}
.rsg-inm-x.hp .hp-bcard-ex{font-size:15px;line-height:1.6;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rsg-inm-x.hp .hp-bmore{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--bc);text-decoration:none}
.rsg-inm-x.hp .hp-bmore svg{width:14px;height:14px;transition:transform .2s}
.rsg-inm-x.hp .hp-bmore:hover svg{transform:translateX(3px)}
.rsg-inm-x.hp .hp-blog-more{position:absolute;left:0;right:0;top:calc(100% + 34px);z-index:4;text-align:center}
.rsg-inm-x.hp .hp-blog-more .hp-textlink{color:#fff;border-bottom-color:transparent}
.rsg-inm-x.hp .hp-blog-more .hp-textlink:hover{border-color:#fff}
@media (max-width:900px){
  .rsg-inm-x.hp .hp-bgrid{grid-template-columns:1fr;gap:18px;margin-bottom:-80px}
  .rsg-inm-x.hp .hp-blog-more{top:calc(100% + 28px)}
}

/* ===== 2026-09-10 post-deploy audit fixes (mobile) ===== */
@media (max-width:900px){
  .rsg-inm-x.hp .hp-faq-grid{grid-template-columns:minmax(0,1fr)}
  .rsg-inm-x.hp .hp-faq-grid>*{min-width:0}
}
@media (max-width:767px){
  /* FAQ call card: the desktop 150px right padding + un-wrappable number blew the column to 392px */
  .rsg-inm-x.hp .hp-faq-call{padding:22px 108px 22px 20px}
  .rsg-inm-x.hp .hp-faq-tel{font-size:21px;gap:10px}
  .rsg-inm-x.hp .hp-faq-tel-ico{width:34px;height:34px}
  .rsg-inm-x.hp .hp-faq-mascot{height:136px;right:4px;display:block}
  /* Why: the big greeter mascot covered the last two tiles' copy on phones */
  .rsg-inm-x.hp .hp-pengpeng{display:none}
  /* Who: mascot sits beside the button, not over it, and never blocks taps */
  .rsg-inm-x.hp .hp-who-book{padding-right:64px}
  .rsg-inm-x.hp .hp-who-mascot{right:-4px;height:84px;pointer-events:none}
  /* Reviews CTA label may wrap instead of breaking the gutter */
  .rsg-inm-x.hp .hp-rev-foot .hp-btn{white-space:normal;text-align:center;line-height:1.25;padding:12px 18px;max-width:100%}
  /* Final CTA mascot: below the straddling blog card, bottom-right of the band */
  .rsg-inm-x.hp .hp-cta-figure{top:auto;bottom:18px;right:14px;height:96px}
  /* fixed bottom bar: give the footer room so the copyright line can scroll into view */
  body.home footer.wp-block-template-part{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}


/* ===================================================================================
 * SERVICE PAGE TYPE svc2 (2026-09-10) - layer on top of the shared homepage components.
 * Loaded by every page whose _inm_page_type = svc2. Section rhythm: hero D > problem W >
 * signs D > cost W > decide D > why W > process W > contact D > area W > faq W > cta D.
 * =================================================================================== */

/* hero: full-bleed photo + left-heavy scrim; copy LEFT, white form card RIGHT (owner 2026-09-10) */
.rsg-inm-x.svc .svc-hero{padding:72px 0 124px;min-height:0} /* owner 2026-09-10 'extra spacing': 124 = 55 (bar on the dark) + ~69 of photo under the form card */
.rsg-inm-x.svc .svc-hbg{left:0;right:0;width:100%;-webkit-mask-image:none;mask-image:none}
.rsg-inm-x.svc .svc-hbg .hp-himg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;max-width:none}
.rsg-inm-x.svc .svc-hero-scrim{background:linear-gradient(90deg,rgba(8,20,40,.94) 0%,rgba(8,20,40,.86) 34%,rgba(8,20,40,.58) 62%,rgba(8,20,40,.72) 100%),linear-gradient(180deg,rgba(8,20,40,.35),rgba(8,20,40,0) 30%,rgba(8,20,40,0) 70%,rgba(8,20,40,.55))}
.rsg-inm-x.svc .svc-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:64px;align-items:center}
.rsg-inm-x.svc .svc-hero .hp-hero-copy{max-width:none}
.rsg-inm-x.svc .svc-h1{max-width:14ch}
.rsg-inm-x.svc .svc-hero .hp-hero-loc{margin-top:22px;font-size:17px;max-width:46ch}
.rsg-inm-x.svc .svc-hform{position:relative;z-index:3;background:#fff;color:var(--ink);border-radius:var(--r-card);padding:28px 28px 24px;box-shadow:var(--sh-3)}
.rsg-inm-x.svc .svc-hform::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.svc .svc-hform-t{font-size:22px;font-weight:800;letter-spacing:-.012em;line-height:1.2;color:var(--ink);margin-bottom:18px}
.rsg-inm-x.svc .svc-hform .hp-field{margin-bottom:12px}
.rsg-inm-x.svc .svc-hform .hp-field input,.rsg-inm-x.svc .svc-hform .hp-field textarea{padding:11px 13px;font-size:15.5px}
.rsg-inm-x.svc .svc-hform .hp-field textarea{min-height:84px}
.rsg-inm-x.svc .svc-hform .hp-consent{margin:0 0 14px}
.rsg-inm-x.svc .svc-hform .hp-form-alt{margin-top:12px;font-size:13.5px;color:var(--muted)}

/* S2 problem: copy + framed photo, then four stat cards straddling into the Signs band */
.rsg-inm-x.svc .svc-prob{padding:1px 0 1px;position:relative;z-index:3} /* padding-top 1px stops the plate's negative margin collapsing through the section (it was dragging the WHITE up over the hero's bottom 184px, so the dark stopped at the bar's top) */
.rsg-inm-x.svc .hp-plate{margin-top:-56px} /* owner 2026-09-10 screenshot 'just like this overlapping on hero': the hero edge crosses the bar just past halfway (56 of 96px on the dark) */
.rsg-inm-x.svc .svc-prob-grid{margin-top:var(--pad-2)}
.rsg-inm-x.svc .hp-plate-mascot{width:140px;right:-34px;left:auto;bottom:-8px} /* owner 2026-09-10 'mascot needs to be smaller' (homepage 196) */
.rsg-inm-x.svc .svc-hform .hp-form-alt{padding-right:86px;text-align:left} /* keeps the form's note text left of the mascot */
.rsg-inm-x.svc .hp-plate-list li:last-child{padding-right:104px}
.rsg-inm-x.svc .hp-plate-list{grid-template-columns:.95fr 1fr .85fr .8fr 1.95fr} /* last cell wide enough for the 150px mascot without a third line */
.rsg-inm-x.svc .svc-prob-grid{margin-top:var(--pad-2)}
.rsg-inm-x.svc .svc-prob-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.rsg-inm-x.svc .svc-prob-copy .hp-h2{margin-bottom:22px;max-width:20ch}
.rsg-inm-x.svc .svc-prob-copy p{max-width:58ch}
.rsg-inm-x.svc .svc-prob-copy p+p{margin-top:16px}
.rsg-inm-x.svc .svc-prob-copy strong,.rsg-inm-x.svc .svc-cost-copy strong{color:var(--ink);font-weight:700}
.rsg-inm-x.svc .svc-prob-copy .hp-ctas,.rsg-inm-x.svc .svc-cost-copy .hp-ctas{margin-top:30px}
.rsg-inm-x.svc .svc-prob-visual{position:relative;padding:0 0 26px 26px}
.rsg-inm-x.svc .svc-prob-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:var(--r-card);box-shadow:var(--sh-3);position:relative;z-index:1}
.rsg-inm-x.svc .svc-prob-ring{position:absolute;left:0;bottom:0;width:62%;height:62%;border-radius:var(--r-card);border:1px solid var(--line);background:radial-gradient(circle,rgba(226,198,163,.55) 1.4px,transparent 1.5px) 0 0/14px 14px;z-index:0}
.rsg-inm-x.svc .svc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:72px 0 -96px;position:relative;z-index:3}
.rsg-inm-x.svc .svc-stat{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-3);color:var(--ink);padding:26px 24px 24px;display:flex;flex-direction:column;gap:10px} /* owner 2026-09-10: light cards (were dark plates) */
.rsg-inm-x.svc .svc-stat::before{content:"";position:absolute;left:24px;top:0;width:44px;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.svc .svc-stat b{font-family:var(--font-heading);font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.15;color:var(--ink);text-wrap:balance}
.rsg-inm-x.svc .svc-stat b em{font-style:normal;color:var(--red)}
.rsg-inm-x.svc .svc-stat span{font-size:14.5px;line-height:1.55;color:var(--muted)}
/* owner 2026-09-10 '1 white and 1 dark box': cards alternate white / dark plate */
.rsg-inm-x.svc .svc-stat:nth-child(even){background:linear-gradient(135deg,#0B2A5C 0%,#1C669F 55%,#2E81C1 100%);border-color:var(--ice-line);box-shadow:var(--sh-dark);color:#fff} /* owner 2026-09-10 picked H (variants-statgrad2.mjs): deep royal top-left -> brand azure bottom-right, white text, gold figure */
.rsg-inm-x.svc .svc-stat:nth-child(even) b{color:#fff}
.rsg-inm-x.svc .svc-stat:nth-child(even) b em{color:var(--h2-gold)}
.rsg-inm-x.svc .svc-stat:nth-child(even) span{color:#F2F7FC}
/* owner 2026-09-10 'make it again white gradient': odd cards = white -> off-white diagonal (the homepage tile gradient, run corner to corner), dark text, red figure */
.rsg-inm-x.svc .svc-stat:nth-child(odd){background:linear-gradient(135deg,#FFFFFF 0%,#F1F4F8 100%);border-color:var(--line);box-shadow:var(--sh-3);color:var(--ink)}
.rsg-inm-x.svc .svc-stat:nth-child(odd) b{color:var(--ink)}
.rsg-inm-x.svc .svc-stat:nth-child(odd) b em{color:var(--red)}
.rsg-inm-x.svc .svc-stat:nth-child(odd) span{color:var(--muted)}

/* CENTRED SECTION HEADS = FULL WIDTH (owner 2026-09-10 "all section which text are middle should be in full width").
   Base sheet caps .hp-shead at 820px and .hp-lede-dark at 62ch; centred text now uses the whole .rsg-wrap. */
.rsg-inm-x.svc .hp-shead{max-width:none}
.rsg-inm-x.svc .hp-shead .hp-h2{max-width:none}
.rsg-inm-x.svc .hp-shead .hp-lede-dark,.rsg-inm-x.svc .hp-shead .svc-lede,.rsg-inm-x.svc .svc-lede-c{max-width:none}

/* S3 signs: dark band, editorial ledger (owner pick A, 2026-09-10) */
.rsg-inm-x.svc .svc-signs{padding:calc(var(--pad-3) + 96px) 0 var(--pad-3);overflow:hidden;z-index:1}
.rsg-inm-x.svc .svc-signs>.rsg-wrap,.rsg-inm-x.svc .svc-decide>.rsg-wrap{position:relative;z-index:1}
.rsg-inm-x.svc .svc-lede-c{margin:18px auto 0;text-align:center}
.rsg-inm-x.svc .svc-signs-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.rsg-inm-x.svc .svc-signs-side{position:sticky;top:140px}
.rsg-inm-x.svc .svc-signs-side .hp-h2{max-width:14ch;margin-bottom:18px}
.rsg-inm-x.svc .svc-signs-side .hp-lede-dark{max-width:40ch}
.rsg-inm-x.svc .svc-ask{position:relative;margin-top:34px;padding:26px 28px 28px;background:var(--card-dark);border:1px solid var(--ice-line);border-radius:var(--r-card);box-shadow:var(--sh-dark);overflow:visible}
.rsg-inm-x.svc .svc-ask::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.svc .rsg-sec--dark .svc-ask-t{font-family:var(--font-heading);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:#fff;margin-bottom:18px;padding-right:10px;text-wrap:balance}
.rsg-inm-x.svc .svc-ask .hp-ctas{position:relative;z-index:1}
.rsg-inm-x.svc .svc-ask-mascot{position:absolute;right:-26px;top:-118px;height:150px;width:auto;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));pointer-events:none}
.rsg-inm-x.svc .svc-sign-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ice-line)}
.rsg-inm-x.svc .svc-sign-list li{position:relative;display:grid;grid-template-columns:24px 1fr;gap:18px;padding:26px 18px 26px 22px;border-bottom:1px solid var(--ice-line);transition:background .25s}
.rsg-inm-x.svc .svc-sign-list li::before{content:"";position:absolute;left:0;top:30px;width:3px;height:0;border-radius:2px;background:var(--red);transition:height .35s var(--ease)}
.rsg-inm-x.svc .svc-sign-list li:hover{background:rgba(255,255,255,.04)}
.rsg-inm-x.svc .svc-sign-list li:hover::before{height:28px}
.rsg-inm-x.svc .svc-sign-dia{width:10px;height:10px;border-radius:2px;background:var(--h2-gold);transform:rotate(45deg);margin:8px 0 0 5px} /* owner: no numerals here */
.rsg-inm-x.svc .svc-sign-list h3{font-size:20px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:#fff;margin-bottom:8px}
.rsg-inm-x.svc .svc-sign-list p{font-size:16px;line-height:1.62;color:#E9F1F8;max-width:52ch} /* owner 2026-09-10 'paragraphs not much visible': brighter than --muted-dark on a photo band */
/* owner 2026-09-10 'just make that part dark overlay rather than the entire section': the band photo stays at full strength;
   each text block carries its own soft dark wash, edge-masked so no box shows */
.rsg-inm-x.svc .svc-signs .hp-lede-dark{color:#F2F7FB}
.rsg-inm-x.svc .svc-signs-side,.rsg-inm-x.svc .svc-sign-list{position:relative}
.rsg-inm-x.svc .svc-signs-side::before,.rsg-inm-x.svc .svc-sign-list::before{content:"";position:absolute;z-index:-1;pointer-events:none}
/* ellipse closest-side = the wash reaches zero alpha at every edge, so no panel edge is ever visible */
.rsg-inm-x.svc .svc-signs-side::before{left:-90px;right:-80px;top:-90px;bottom:-70px;background:radial-gradient(ellipse closest-side at 40% 46%,rgba(0,11,26,.93) 0%,rgba(0,11,26,.88) 44%,rgba(0,11,26,.52) 74%,rgba(0,11,26,0) 100%)}
.rsg-inm-x.svc .svc-sign-list::before{left:-80px;right:-80px;top:-86px;bottom:-86px;background:rgba(0,11,26,.9);-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 0%,#000 52%,rgba(0,0,0,.55) 80%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 0%,#000 52%,rgba(0,0,0,.55) 80%,transparent 100%)}

/* S4 cost: photo left, copy right */
.rsg-inm-x.svc .svc-cost{padding:var(--pad-3) 0 var(--pad-3)}
.rsg-inm-x.svc .svc-cost-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}
.rsg-inm-x.svc .svc-cost-visual{position:relative}
.rsg-inm-x.svc .svc-cost-photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 35%;border-radius:var(--r-card);box-shadow:var(--sh-3)}
.rsg-inm-x.svc .svc-cost-ctas{align-items:center} /* owner 2026-09-10: clipboard mascot rides the Send Us a Message button (homepage Who We Are pattern: .hp-who-book + .hp-who-mascot) */
.rsg-inm-x.svc .svc-cost-copy .hp-h2{margin-bottom:22px;max-width:18ch}
.rsg-inm-x.svc .svc-cost-copy p{max-width:56ch}
.rsg-inm-x.svc .svc-cost-copy p+p{margin-top:16px}

/* S5 repair or replace: dark band, white table plate */
.rsg-inm-x.svc .svc-decide{padding:calc(var(--pad-3) + 30px) 0 calc(var(--pad-3) + 30px);overflow:hidden;z-index:1}
.rsg-inm-x.svc .svc-table-wrap{margin-top:52px;background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-3);overflow:hidden;color:var(--ink)}
.rsg-inm-x.svc .svc-table{width:100%;border-collapse:collapse;font-size:16px}
.rsg-inm-x.svc .svc-table thead th{background:var(--band-grad-deep);color:#fff;text-align:left;font-family:var(--font-heading);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:20px 26px;border-bottom:3px solid var(--h2-gold)}
.rsg-inm-x.svc .svc-table thead th:first-child{width:26%}
.rsg-inm-x.svc .svc-th-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;vertical-align:1px}
.rsg-inm-x.svc .svc-th-dot--ok{background:var(--azure)}
.rsg-inm-x.svc .svc-th-dot--re{background:var(--h2-gold)}
.rsg-inm-x.svc .svc-table tbody th{text-align:left;font-family:var(--font-heading);font-weight:800;font-size:16px;color:var(--ink);padding:22px 26px;border-bottom:1px solid var(--line);background:#F7F8FA;vertical-align:top}
.rsg-inm-x.svc .svc-table tbody td{padding:22px 26px;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top;border-left:1px solid var(--line)}
.rsg-inm-x.svc .svc-table tbody tr:last-child th,.rsg-inm-x.svc .svc-table tbody tr:last-child td{border-bottom:0}

/* S6 why: owner portrait + hairline list (owner pick A, 2026-09-10); markers, not numerals */
.rsg-inm-x.svc .svc-why{padding:var(--pad-3) 0 var(--pad-2)}
.rsg-inm-x.svc .svc-why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.rsg-inm-x.svc .svc-why-visual{position:relative;padding:0 26px 26px 0}
.rsg-inm-x.svc .svc-why-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:var(--r-card);box-shadow:var(--sh-3);position:relative;z-index:1}
.rsg-inm-x.svc .svc-why-ring{position:absolute;right:0;bottom:0;width:62%;height:62%;border-radius:var(--r-card);border:1px solid var(--line);background:radial-gradient(circle,rgba(226,198,163,.55) 1.4px,transparent 1.5px) 0 0/14px 14px;z-index:0}
.rsg-inm-x.svc .svc-why-mascot{position:absolute;right:-18px;bottom:-4px;height:190px;width:auto;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35));pointer-events:none}
.rsg-inm-x.svc .svc-why-copy .hp-h2{max-width:20ch;margin-bottom:34px}
.rsg-inm-x.svc .svc-why-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rsg-inm-x.svc .svc-why-list li{display:grid;grid-template-columns:22px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.rsg-inm-x.svc .svc-why-dia{width:10px;height:10px;border-radius:2px;background:var(--red);transform:rotate(45deg);margin:8px 0 0 4px}
.rsg-inm-x.svc .svc-why-list h3{font-size:20px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:var(--ink);margin-bottom:8px}
.rsg-inm-x.svc .svc-why-list p{font-size:15.5px;line-height:1.62;color:var(--muted);max-width:56ch}
.rsg-inm-x.svc .svc-why-list strong{color:var(--ink)}

/* S7 process: staircase cards (owner pick 4, 2026-09-10), straddling into the contact band */
.rsg-inm-x.svc .svc-proc{padding:var(--pad-2) 0 1px;border-top:1px solid var(--line);position:relative;z-index:3}
.rsg-inm-x.svc .svc-proc .hp-shead .hp-h2{max-width:none}
.rsg-inm-x.svc .svc-steps-wrap{position:relative;margin:56px 0 -190px}
.rsg-inm-x.svc .svc-steps-line{position:absolute;left:0;top:0;width:100%;height:170px;z-index:0;pointer-events:none}
.rsg-inm-x.svc .svc-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0;padding:0;align-items:start;z-index:1}
.rsg-inm-x.svc .svc-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-3);padding:24px 22px 26px}
.rsg-inm-x.svc .svc-step:nth-child(2){margin-top:40px}
.rsg-inm-x.svc .svc-step:nth-child(3){margin-top:80px}
.rsg-inm-x.svc .svc-step:nth-child(4){margin-top:120px}
.rsg-inm-x.svc .svc-step-n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--font-heading);font-size:17px;font-weight:800;margin:-47px 0 16px;box-shadow:0 0 0 6px #fff,var(--sh-2)}
.rsg-inm-x.svc .svc-step h3{font-size:18px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:var(--ink);margin-bottom:8px}
.rsg-inm-x.svc .svc-step p{font-size:14.5px;line-height:1.6;color:var(--muted)}
.rsg-inm-x.svc .svc-proc-mascot{position:absolute;right:-48px;top:-150px;height:176px;width:auto;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.3));pointer-events:none}

/* S8 contact band: homepage emergency component; extra top room for the straddling steps */
.rsg-inm-x.svc .svc-contact{padding-top:calc(var(--pad-3) + 126px)} /* owner 2026-09-10 'extra gap': card 4 hangs 190 into the band, ~56px to the form */
.rsg-inm-x.svc .hp-rev{padding-top:calc(var(--pad-3) + 90px)} /* ledger hangs 150 (live base): ~60px to the reviews heading */
.rsg-inm-x.svc .svc-contact .hp-emg-copy .hp-h2{max-width:none}

/* OFFERS ticket (the homepage .hp-tk) at the contact -> area seam: hangs UP into the dark band, homepage depth */
.rsg-inm-x.svc .svc-area--offers{padding-top:1px} /* same collapse guard as .svc-prob: without it the ticket's negative margin drags the white section up over the band */
.rsg-inm-x.svc .hp-offers{margin:-96px 0 0}

/* S9 area = the homepage component exactly (owner 2026-09-10 'exactly like this'); base sheet = LIVE homepage css (ledger hangs -150 into the reviews band) */
.rsg-inm-x.svc .svc-area .hp-area-copy p{max-width:58ch}
.rsg-inm-x.svc .svc-area .hp-area-copy strong{color:var(--ink);font-weight:700}

/* S10 FAQ + S11 CTA on the shared rules; longer FAQ heading + sentence-case CTA with a line under it */
.rsg-inm-x.svc .svc-faq .hp-faq-side .hp-h2{max-width:14ch}
.rsg-inm-x.svc .svc-cta{padding-top:calc(var(--pad-3) + 40px)}
.rsg-inm-x.svc .svc-cta .hp-cta-inner{max-width:900px}
.rsg-inm-x.svc .svc-cta .hp-cta-title{font-size:clamp(28px,3.4vw,42px)}
.rsg-inm-x.svc .svc-cta-p{margin-top:18px;font-size:17.5px;color:var(--muted-dark)}

@media (max-width:1240px){
  .rsg-inm-x.svc .hp-plate-mascot{width:124px;right:-30px} /* narrower plate text at 1101-1240 (base sheet) */
  .rsg-inm-x.svc .svc-hform .hp-form-alt{padding-right:110px}
}
@media (max-width:1100px){
  .rsg-inm-x.svc .svc-hero-grid{grid-template-columns:minmax(0,1fr) 380px;gap:40px}
  .rsg-inm-x.svc .svc-stats{grid-template-columns:repeat(2,1fr)}
  .rsg-inm-x.svc .svc-signs-grid{grid-template-columns:.95fr 1.05fr;gap:44px}
  .rsg-inm-x.svc .svc-steps{grid-template-columns:repeat(2,1fr);gap:56px 22px}
  .rsg-inm-x.svc .svc-step:nth-child(n){margin-top:0}
  .rsg-inm-x.svc .svc-steps-line{display:none}
  .rsg-inm-x.svc .svc-steps-wrap{margin-bottom:-110px}
  .rsg-inm-x.svc .svc-contact{padding-top:calc(var(--pad-3) + 60px)}
  .rsg-inm-x.svc .svc-why-grid{gap:44px}
  .rsg-inm-x.svc .svc-proc-mascot{right:-10px;height:150px;top:-160px}
}
@media (max-width:900px){
  .rsg-inm-x.svc .hp-offers{margin-top:-72px}   /* homepage mobile depth */
  .rsg-inm-x.svc .svc-hero-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.svc .svc-hform{max-width:560px}
  .rsg-inm-x.svc .hp-plate{margin-top:-84px}
  .rsg-inm-x.svc .svc-prob-grid,.rsg-inm-x.svc .svc-cost-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.svc .svc-prob-visual{padding:0 0 18px 18px;max-width:560px}
  .rsg-inm-x.svc .svc-cost-visual{order:2;max-width:560px}
  .rsg-inm-x.svc .svc-cost-copy{order:1}
  .rsg-inm-x.svc .svc-signs-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.svc .svc-signs-side{position:static}
  .rsg-inm-x.svc .svc-signs-side .hp-h2,.rsg-inm-x.svc .svc-signs-side .hp-lede-dark{max-width:none}
  .rsg-inm-x.svc .svc-ask{padding:26px 24px 28px}
  .rsg-inm-x.svc .svc-ask-mascot{display:none}
  .rsg-inm-x.svc .svc-table{font-size:15px}
  .rsg-inm-x.svc .svc-table thead th,.rsg-inm-x.svc .svc-table tbody th,.rsg-inm-x.svc .svc-table tbody td{padding:16px 18px}
  .rsg-inm-x.svc .svc-proc-mascot{display:none}
  .rsg-inm-x.svc .svc-why-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.svc .svc-why-visual{order:2;max-width:520px;padding:0 18px 18px 0}
  .rsg-inm-x.svc .svc-why-copy{order:1}
  .rsg-inm-x.svc .svc-why-mascot{display:none}
  .rsg-inm-x.svc .svc-contact{padding-top:calc(var(--pad-3) + 60px)}
}
@media (max-width:767px){
  .rsg-inm-x.svc .svc-hero{padding:56px 0 120px;min-height:0}
  .rsg-inm-x.svc .hp-plate{margin-top:-60px}
  .rsg-inm-x.svc .svc-h1{max-width:none}
  .rsg-inm-x.svc .svc-hero-scrim{background:linear-gradient(180deg,rgba(8,20,40,.9) 0%,rgba(8,20,40,.78) 40%,rgba(8,20,40,.88) 100%)}
  .rsg-inm-x.svc .svc-hform{padding:22px 20px 20px}
  .rsg-inm-x.svc .svc-prob-grid{margin-top:var(--pad-1)}
  .rsg-inm-x.svc .svc-stats{grid-template-columns:1fr;gap:12px;margin:48px 0 -72px}
  .rsg-inm-x.svc .svc-stat{padding:20px 20px 18px}
  .rsg-inm-x.svc .svc-signs{padding-top:calc(var(--pad-3) + 60px)}
  .rsg-inm-x.svc .svc-sign-list li{grid-template-columns:20px 1fr;gap:12px;padding:20px 8px 20px 14px}
  .rsg-inm-x.svc .svc-sign-list h3{font-size:18px}
  .rsg-inm-x.svc .svc-steps{grid-template-columns:1fr;gap:52px}
  .rsg-inm-x.svc .svc-steps-wrap{margin:60px 0 -80px}
  .rsg-inm-x.svc .svc-contact{padding-top:calc(var(--pad-3) + 40px)}
  .rsg-inm-x.svc .hp-rev{padding-top:calc(var(--pad-3) + 50px)}
  .rsg-inm-x.svc .svc-why-copy .hp-h2{max-width:none}
  .rsg-inm-x.svc .svc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rsg-inm-x.svc .svc-table{min-width:560px}
  .rsg-inm-x.svc .svc-cta .hp-cta-title{font-size:clamp(26px,7vw,32px)}
}


/* ===================================================================================
 * SERVICE HUB pages (svc-hub, 2026-09-10) - layer for the cooling / heating / IAQ / ductwork hubs on top of the .svc template.
 * Hub-only pieces: S3 services cards on the dark band, the offers plate on the contact -> area seam, a gold H3 under a band H2.
 * =================================================================================== */

/* S3 services band (owner pick H, 2026-09-10): five homepage-anatomy cards on a 6-track grid (row 2 centred), then the ask plate straddling into the pricing section */
.rsg-inm-x.svc .svc-svcs{padding:calc(var(--pad-3) + 96px) 0 1px;overflow:visible;z-index:2} /* visible + above the next section so the ask plate can hang over the seam */
.rsg-inm-x.svc .svc-svcs>.rsg-wrap{position:relative;z-index:3} /* above the .rsg-div-btm wave (z 2) so the straddling ask plate is not cut by it */
/* owner 2026-09-10 'make sure all middle headings are full width': every centred section head on the hub spans the container (H2 on one line where it fits, lede on two, no orphan) */
.rsg-inm-x.svc.svc-hub .hp-shead{max-width:none}
.rsg-inm-x.svc.svc-hub .hp-shead .hp-lede-dark,.rsg-inm-x.svc.svc-hub .hp-shead .svc-lede{max-width:none}
.rsg-inm-x.svc.svc-hub .svc-proc .hp-shead .hp-h2{max-width:none} /* the AC layer caps this H2 at 24ch, which left it two-line and off-centre */
.rsg-inm-x.svc.svc-hub .svc-proc-mascot{top:-110px} /* one-line H2 reaches the mascot's head at 1440; stand it beside the lede instead (never over text) */
.rsg-inm-x.svc .svc-svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px;margin-top:56px;align-items:stretch}
.rsg-inm-x.svc .svc-card{grid-column:span 2;border-color:var(--ice-line);box-shadow:var(--sh-dark)}
.rsg-inm-x.svc .svc-card:nth-child(4){grid-column:2 / 4}
.rsg-inm-x.svc .svc-card:nth-child(5){grid-column:4 / 6}
.rsg-inm-x.svc .svc-card .hp-psvc-body{padding:24px 26px 26px}
.rsg-inm-x.svc .svc-card .hp-psvc-body h3{font-size:22px;color:var(--ink)} /* no-link titles (Heat Pumps, Mini-Splits) otherwise inherit the dark band's white */
.rsg-inm-x.svc .svc-card .hp-psvc-body>p{margin-bottom:22px}
.rsg-inm-x.svc .svc-card .hp-psvc-explore{margin-top:auto}
.rsg-inm-x.svc .svc-card-msg{color:var(--red)}
.rsg-inm-x.svc .svc-card-msg:hover{background:var(--red);border-color:var(--red);color:#fff}
/* ask plate as a row: sentence left, the two buttons stacked right, cooling mascot standing on the plate's right end; straddles -78px into the white section below */
.rsg-inm-x.svc .svc-ask--row{display:grid;grid-template-columns:1fr auto;gap:28px 40px;align-items:center;margin-top:44px;padding:28px 200px 28px 32px}
.rsg-inm-x.svc .svc-ask--straddle{position:relative;z-index:4;margin-bottom:-78px}
.rsg-inm-x.svc.svc-hub .svc-cost{padding-top:calc(var(--pad-3) + 78px)}
.rsg-inm-x.svc .svc-ask--row .svc-ask-t{margin:0;font-size:17.5px;font-weight:600;line-height:1.5;max-width:64ch;text-wrap:pretty}
.rsg-inm-x.svc .svc-ask-link{color:var(--h2-gold);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
.rsg-inm-x.svc .svc-ask-link:hover{color:#fff}
.rsg-inm-x.svc .svc-ask--row .hp-ctas{margin:0;flex-direction:column;align-items:stretch;gap:10px}
.rsg-inm-x.svc .svc-ask--row .hp-ctas .hp-btn{justify-content:center}
.rsg-inm-x.svc .svc-ask--row .svc-ask-mascot{right:-22px;top:auto;bottom:-10px;height:172px}

/* band H2 with a gold H3 under it (Notion H2 -> H3 -> paragraph) */
.rsg-inm-x.svc .svc-sub-gold{margin-top:16px;font-family:var(--font-heading);font-size:clamp(19px,1.7vw,23px);font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--h2-gold)}
.rsg-inm-x.svc .svc-compare .svc-lede-c{margin-top:16px}
/* comparison table: muted dot for the other company, gold dot + warm wash for Innovative Mechanical */
.rsg-inm-x.svc .svc-th-dot--mute{background:rgba(255,255,255,.38)}
.rsg-inm-x.svc .svc-table--vs tbody td:last-child{background:#FBF7F0;color:var(--ink);font-weight:600}
.rsg-inm-x.svc .svc-table--vs thead th:last-child{background:linear-gradient(166deg,#0E2A54 0%,#0B3B7A 100%)}
.rsg-inm-x.svc .svc-table--vs thead th:first-child{width:22%}

/* process lede under the centred H2 */
.rsg-inm-x.svc .svc-lede{font-size:17.5px;color:var(--muted);max-width:60ch}
.rsg-inm-x.svc .svc-proc .hp-shead .svc-lede{margin:16px auto 0}

/* contact band points as H3 (Notion H3s) - same look as the homepage H4 points */
.rsg-inm-x.svc .hp-point .svc-point-h{font-size:17px;font-weight:800;color:#fff;margin-bottom:6px;line-height:1.3}
.rsg-inm-x.svc .svc-contact--offers{padding-bottom:calc(var(--pad-3) + 100px)} /* 220 - 130 = 90px between the band content and the ticket (homepage: 88) */

/* offers = the homepage ticket component (base sheet .hp-offers/.hp-tk rules); here it sits at the TOP of the area section and is pulled 96px up over the contact band (the homepage hangs it 96px down into its dark band) */
.rsg-inm-x.svc .svc-area--offers{padding-top:1px} /* stops the ticket's negative margin collapsing through the section (which pulled the whole white section up over the band) */
.rsg-inm-x.svc.svc-hub .svc-offers-tk{margin:-130px 0 0} /* 34px of that is the band's white bottom wave -> 96px of dark band shows behind the ticket, as on the homepage */
.rsg-inm-x.svc .svc-area--offers .hp-area-copy{padding-top:var(--pad-2)}
.rsg-inm-x.svc .svc-area--offers .hp-map{padding-top:var(--pad-2)}
.rsg-inm-x.svc .svc-area--offers .hp-map::before{top:calc(var(--pad-2) - 30px)}

/* hub CTA: one short line */
.rsg-inm-x.svc.svc-hub .svc-cta .hp-cta-title{font-size:clamp(30px,3.8vw,48px)}

@media (max-width:1100px){
  .rsg-inm-x.svc .svc-svc-grid{grid-template-columns:1fr 1fr;gap:20px}
  .rsg-inm-x.svc .svc-card,.rsg-inm-x.svc .svc-card:nth-child(4){grid-column:auto}
  .rsg-inm-x.svc .svc-card:nth-child(5){grid-column:1 / -1;width:calc(50% - 10px);justify-self:center}
  .rsg-inm-x.svc .svc-card .hp-psvc-body{padding:22px 22px 24px}
  .rsg-inm-x.svc .svc-card .hp-psvc-body h3{font-size:20px}
  .rsg-inm-x.svc .svc-ask--row{padding-right:32px;grid-template-columns:1fr}
  .rsg-inm-x.svc .svc-ask--row .hp-ctas{flex-direction:row;flex-wrap:wrap;align-items:center}
  .rsg-inm-x.svc .svc-ask--row .hp-ctas .hp-btn{width:auto}
  .rsg-inm-x.svc .svc-ask--row .svc-ask-mascot{display:none}
}
@media (max-width:900px){
  .rsg-inm-x.svc .svc-svc-grid{grid-template-columns:1fr;gap:22px;max-width:560px;margin-left:auto;margin-right:auto}
  .rsg-inm-x.svc .svc-card:nth-child(5){grid-column:auto;width:auto}
  .rsg-inm-x.svc .svc-card .hp-psvc-body{padding:24px 24px 26px}
  .rsg-inm-x.svc .svc-ask--row{padding:26px 24px 28px}
  .rsg-inm-x.svc .svc-ask--straddle{margin-bottom:-60px}
  .rsg-inm-x.svc.svc-hub .svc-cost{padding-top:calc(var(--pad-3) + 60px)}
  .rsg-inm-x.svc.svc-hub .svc-offers-tk{margin-top:-96px}
  .rsg-inm-x.svc .svc-contact--offers{padding-bottom:calc(var(--pad-3) + 60px)}
}
@media (max-width:767px){
  .rsg-inm-x.svc .svc-svcs{padding-top:calc(var(--pad-3) + 60px)}
  .rsg-inm-x.svc .svc-svc-grid{margin-top:40px}
  .rsg-inm-x.svc .svc-ask--row .svc-ask-t{font-size:16.5px}
  .rsg-inm-x.svc .svc-ask--row .hp-ctas{align-items:flex-start}
  .rsg-inm-x.svc .svc-ask--row .hp-ctas .hp-btn{width:100%;max-width:320px}
  .rsg-inm-x.svc.svc-hub .svc-offers-tk{margin-top:-88px}
  .rsg-inm-x.svc .svc-table--vs thead th:first-child{width:auto}
  .rsg-inm-x.svc.svc-hub .svc-cta .hp-cta-title{font-size:clamp(28px,8vw,34px)}
}


/* ===================================================================================
 * SERVICES INDEX (svcs-idx, 2026-09-11) - the /services/ master page.
 * One new component: the CATEGORY CHAPTER (.svcs-cat) - a full-width alternating spread carrying a photo with a
 * category tag, the Notion lede, the category's services as a hairline ledger, and an Explore pill to that hub.
 * Category colour comes from --c/--c-ink/--c-wash/--c-line, the same tokens the homepage service cards use.
 * =================================================================================== */

.rsg-inm-x.svc.svcs-idx .svcs-cat{--c:#2E81C1;--c-ink:#1C669F;--c-wash:#E1F0FB;--c-line:#BFE0F6;position:relative;padding:var(--pad-2) 0}
.rsg-inm-x.svc.svcs-idx .svcs-cat--heat{--c:#C41C33;--c-ink:#AA182C;--c-wash:#FBE9EB;--c-line:#F3C7CC}
.rsg-inm-x.svc.svcs-idx .svcs-cat--air{--c:#2E9E5B;--c-ink:#1E7A43;--c-wash:#E7F5EC;--c-line:#C3E8D0}
.rsg-inm-x.svc.svcs-idx .svcs-cat--duct{--c:#B8862B;--c-ink:#805928;--c-wash:#F7EFE0;--c-line:#EAD7B0}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark{padding:calc(var(--pad-2) + 30px) 0 calc(var(--pad-2) + 16px)}

.rsg-inm-x.svc.svcs-idx .svcs-cat-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:0 64px;align-items:stretch}
.rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-grid{grid-template-columns:1.08fr .92fr}
.rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-media{order:2}
.rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-body{order:1}

/* media: photo + category tag pill + dot-grid ring offset behind it (the .svc-prob-visual idiom) */
.rsg-inm-x.svc.svcs-idx .svcs-cat-media{position:relative;isolation:isolate;display:flex}
.rsg-inm-x.svc.svcs-idx .svcs-cat-photo{width:100%;height:100%;min-height:clamp(380px,33vw,460px);object-fit:cover;border-radius:var(--r-card);box-shadow:var(--sh-3);position:relative;z-index:2}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-cat-photo{box-shadow:var(--sh-dark)}
.rsg-inm-x.svc.svcs-idx .svcs-cat-ring{position:absolute;z-index:1;width:210px;height:210px;right:-26px;bottom:-26px;border-radius:14px;
  background-image:radial-gradient(currentColor 1.6px,transparent 1.6px);background-size:14px 14px;color:var(--c);opacity:.42}
.rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-ring{right:auto;left:-26px}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-cat-ring{opacity:.5}
.rsg-inm-x.svc.svcs-idx .svcs-cat-tag{position:absolute;z-index:3;left:20px;top:20px;display:inline-flex;align-items:center;gap:9px;
  padding:9px 17px 9px 14px;border-radius:999px;background:#fff;color:var(--c-ink);font-weight:800;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;box-shadow:var(--sh-2)}
.rsg-inm-x.svc.svcs-idx .svcs-cat-tag .d{width:9px;height:9px;border-radius:50%;background:var(--c)}

/* body: heading, lede, then the services as a hairline ledger - diamonds, never numerals */
.rsg-inm-x.svc.svcs-idx .svcs-cat-body .hp-h2{margin-bottom:18px;font-size:clamp(29px,2.85vw,40px)}
.rsg-inm-x.svc.svcs-idx .svcs-cat-lede{margin:0 0 30px;font-size:17.5px;line-height:1.68;color:var(--muted);max-width:56ch;text-wrap:pretty}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-cat-lede{color:rgba(255,255,255,.86)}
.rsg-inm-x.svc.svcs-idx .svcs-list{border-top:1px solid var(--line);margin-bottom:32px}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-list{border-top-color:var(--ice-line)}
.rsg-inm-x.svc.svcs-idx .svcs-row{border-bottom:1px solid var(--line)}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-row{border-bottom-color:var(--ice-line)}
.rsg-inm-x.svc.svcs-idx .svcs-row>a,.rsg-inm-x.svc.svcs-idx .svcs-row>span{display:flex;align-items:center;gap:14px;padding:15px 6px 15px 0;
  font-size:17px;font-weight:700;color:var(--ink);text-decoration:none;transition:color .2s,padding-left .24s cubic-bezier(.2,.7,.16,1)}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-row>a,.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-row>span{color:#fff}
.rsg-inm-x.svc.svcs-idx .svcs-row>a::before,.rsg-inm-x.svc.svcs-idx .svcs-row>span::before{content:"";flex:none;width:9px;height:9px;
  background:var(--c);transform:rotate(45deg);border-radius:1.5px;transition:transform .24s cubic-bezier(.2,.7,.16,1)}
.rsg-inm-x.svc.svcs-idx .svcs-row>a:hover{color:var(--c-ink);padding-left:8px}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-row>a:hover{color:var(--c)}
.rsg-inm-x.svc.svcs-idx .svcs-row>a:hover::before{transform:rotate(135deg)}
.rsg-inm-x.svc.svcs-idx .svcs-row--plain>span{cursor:default}
.rsg-inm-x.svc.svcs-idx .svcs-row-go{margin-left:auto;width:19px;height:19px;opacity:0;transform:translateX(-6px);transition:opacity .24s,transform .24s}
.rsg-inm-x.svc.svcs-idx .svcs-row-go svg{width:100%;height:100%}
.rsg-inm-x.svc.svcs-idx .svcs-row>a:hover .svcs-row-go{opacity:1;transform:none}

/* explore pill = the homepage card pill, tinted to the category */
.rsg-inm-x.svc.svcs-idx .svcs-cat-explore{align-self:flex-start;color:var(--c-ink);border-color:var(--c-line)}
.rsg-inm-x.svc.svcs-idx .svcs-cat-explore:hover{background:var(--c);border-color:var(--c);color:#fff}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-cat-explore{color:#fff;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.09)}
.rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark .svcs-cat-explore:hover{background:var(--c);border-color:var(--c)}

/* intro: the H1 here is a long Notion sentence, so step it down a touch; handshake mascot on the portrait's corner */
.rsg-inm-x.svc.svcs-idx .svcs-h1{max-width:none;font-size:clamp(29px,3vw,41px);line-height:1.09}
.rsg-inm-x.svc.svcs-idx .svcs-intro .svc-prob-copy p+p{margin-top:16px}
.rsg-inm-x.svc.svcs-idx .svcs-intro-mascot{position:absolute;z-index:3;right:-30px;bottom:-34px;height:170px;width:auto;pointer-events:none}

@media (max-width:1100px){
  .rsg-inm-x.svc.svcs-idx .svcs-cat-grid,
  .rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-grid{gap:0 44px}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-photo{height:clamp(320px,38vw,400px)}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-ring{width:150px;height:150px}
}
@media (max-width:900px){
  .rsg-inm-x.svc.svcs-idx .svcs-cat{padding:var(--pad-1) 0}
  .rsg-inm-x.svc.svcs-idx .svcs-cat.rsg-sec--dark{padding:calc(var(--pad-1) + 24px) 0 var(--pad-1)}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-grid,
  .rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-grid{grid-template-columns:1fr;gap:34px}
  .rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-media{order:0}
  .rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-body{order:0}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-photo{height:300px}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-ring{width:120px;height:120px;right:-14px;bottom:-14px}
  .rsg-inm-x.svc.svcs-idx .svcs-cat--rev .svcs-cat-ring{left:auto;right:-14px}
  .rsg-inm-x.svc.svcs-idx .svcs-intro-mascot{height:128px;right:-10px;bottom:-24px}
}
@media (max-width:767px){
  .rsg-inm-x.svc.svcs-idx .svcs-cat-photo{height:236px}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-lede{font-size:16.5px;margin-bottom:24px}
  .rsg-inm-x.svc.svcs-idx .svcs-row>a,.rsg-inm-x.svc.svcs-idx .svcs-row>span{font-size:16px;padding:13px 4px 13px 0}
  .rsg-inm-x.svc.svcs-idx .svcs-cat-tag{left:14px;top:14px;font-size:11.5px;padding:8px 14px 8px 11px}
  .rsg-inm-x.svc.svcs-idx .svcs-intro-mascot{display:none}
}

/* ============================================================================================================
 * .svc-trane - TRANE DEALER page layer (page 296). Appended to the ONE svc2 type sheet after the .svc-hub layer.
 * Only what this page adds: the sourced Trane wordmark eyebrow, the six-card systems grid, the figure-only stat
 * cards, the two-column comparison table + its closing note, the hero tagline / credential line, the red sub-head.
 * ========================================================================================================== */

/* --- hero: the Notion tagline uses the homepage's own gold .hp-hero-tag slot (order 2, between the H1 and the
 *     counties line). The extra Notion credential line takes a new slot between the chips and the buttons -
 *     .hp-hero-h1 is display:contents, so every hero child is ordered by flex order, not by DOM order. ----- */
.rsg-inm-x.svc-trane .hp-hero-h1-t{max-width:20ch}   /* "Trane Authorized Dealer / In Marietta, GA" on two lines instead of orphaning "In" at 15ch */
.rsg-inm-x.svc-trane .hp-hero-tag{max-width:none;white-space:nowrap}   /* one line at 1440; unset below 1100 */
.rsg-inm-x.svc-trane .svc-hero-cred{order:5;margin:16px 0 0;display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.rsg-inm-x.svc-trane .svc-hero-cred::before{content:"";width:22px;height:1px;background:#E2C6A3;flex:0 0 auto}
.rsg-inm-x.svc-trane .hp-hero .hp-ctas{order:6}

/* --- the sourced Trane wordmark as the S2 eyebrow. WHITE ground only: #ef3c13 is Trane's own colour and is
 *     never recoloured, never redrawn, and never set against the navy bands. ------------------------------- */
.rsg-inm-x.svc-trane .svc-trane-eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.rsg-inm-x.svc-trane .svc-trane-eyebrow img{width:104px;height:auto;display:block;flex:0 0 auto}
.rsg-inm-x.svc-trane .svc-trane-eyebrow i{width:34px;height:1px;background:#E2C6A3;flex:0 0 auto}
.rsg-inm-x.svc-trane .svc-trane-eyebrow span{font-size:12.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}

/* --- S2 stat cards: this page's Notion figures are whole phrases ("400 CFM per ton"), so the whole bold line is
 *     the figure - no lead-word split like the AC page's "1-year parts and labor." --------------------------- */
.rsg-inm-x.svc-trane .svc-stats--fig .svc-stat b{display:block}
.rsg-inm-x.svc-trane .svc-stats--fig .svc-stat b em{font-style:normal;display:block;line-height:1.1}

/* --- S3 systems: six cards, 3 + 3, no centred second row (the hub's five-card offsets are switched off) ---- */
.rsg-inm-x.svc .svc-svc-grid--six{grid-template-columns:repeat(3,1fr)}
.rsg-inm-x.svc .svc-svc-grid--six>.svc-card{grid-column:auto}
.rsg-inm-x.svc .svc-svc-grid--six>.svc-card:nth-child(4){grid-column:auto}
.rsg-inm-x.svc .svc-systems .hp-psvc-body h3{font-size:20px}

/* --- S5 two-column comparison table: the "what matters to you" column is the gold row head ---------------- */
.rsg-inm-x.svc .svc-table--fit{table-layout:auto}
.rsg-inm-x.svc .svc-table--fit thead th:first-child{width:34%}
.rsg-inm-x.svc .svc-table--fit tbody th{font-weight:800;color:var(--ink)}
.rsg-inm-x.svc .svc-table--fit tbody th::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:#E2C6A3;transform:rotate(45deg);margin:0 12px 1px 0;vertical-align:middle}
.rsg-inm-x.svc .svc-table--fit tbody td{color:var(--muted)}
/* the two Notion lines that close the table. They sit INSIDE the white plate (they are the table's conclusion),
 * so they are inked for a light ground - a dark-band colour here would be light-on-white and unreadable. */
.rsg-inm-x.svc .svc-table-wrap p.svc-fits-note{margin:0;padding:26px 34px 30px;border-top:1px solid var(--line);text-align:center;font-size:16px;line-height:1.66;color:var(--muted)}   /* p.<class> is needed: the base sheet's `.rsg-sec--dark p` sets --muted-dark and would win on specificity, printing light grey on the white plate */
.rsg-inm-x.svc .svc-table-wrap p.svc-fits-note strong{display:block;margin-top:10px;color:var(--ink);font-weight:700}

/* --- S9 county ledger: this page's Notion list has FIVE groups, not the hub's six, so the last one ("Bartow
 *     County and DeKalb County - call to confirm") spans both columns instead of leaving an empty cell. ---- */
.rsg-inm-x.svc-trane .hp-ledger>.hp-lg:last-child{grid-column:1/-1}

/* --- S6: the Notion sub-head above the list, red to match the light section's accent --------------------- */
.rsg-inm-x.svc .svc-sub-red{font-family:var(--f-head);font-size:clamp(17px,1.35vw,20px);font-weight:800;letter-spacing:-.01em;color:var(--red);margin:-18px 0 26px}

@media (max-width:1100px){
  .rsg-inm-x.svc .svc-svc-grid--six{grid-template-columns:repeat(2,1fr)}
  .rsg-inm-x.svc-trane .hp-hero-tag{white-space:normal;text-wrap:balance}
  .rsg-inm-x.svc-trane .hp-hero-h1-t{max-width:16ch}
}
@media (max-width:900px){
  .rsg-inm-x.svc .svc-svc-grid--six{grid-template-columns:1fr}
  .rsg-inm-x.svc .svc-table--fit thead th:first-child{width:auto}
  .rsg-inm-x.svc .svc-table-wrap p.svc-fits-note{text-align:left;padding:22px 20px 24px}
}
@media (max-width:767px){
  /* The template puts `min-width:560px` on .svc-table and scrolls .svc-table-wrap, which clipped this page's
   * "What We Look At" column off-screen with no affordance. A two-column table stacks cleanly instead: each row
   * becomes a block, the row head keeps its gold diamond, the explanation sits under it. The thead stays in the
   * DOM (clipped, not display:none) so its two Notion strings remain available to assistive tech. */
  .rsg-inm-x.svc .svc-table-wrap:has(.svc-table--fit){overflow-x:visible}
  .rsg-inm-x.svc .svc-table--fit{min-width:0;display:block}
  .rsg-inm-x.svc .svc-table--fit thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .rsg-inm-x.svc .svc-table--fit tbody,.rsg-inm-x.svc .svc-table--fit tbody tr{display:block}
  .rsg-inm-x.svc .svc-table--fit tbody tr+tr{border-top:1px solid var(--line)}
  .rsg-inm-x.svc .svc-table--fit tbody th,.rsg-inm-x.svc .svc-table--fit tbody td{display:block;border-bottom:0;border-left:0}
  .rsg-inm-x.svc .svc-table--fit tbody th{background:none;padding:20px 20px 0}
  .rsg-inm-x.svc .svc-table--fit tbody td{padding:8px 20px 20px}
  .rsg-inm-x.svc-trane .svc-hero-cred{align-items:flex-start}
  .rsg-inm-x.svc-trane .svc-hero-cred::before{margin-top:8px}
  .rsg-inm-x.svc-trane .svc-trane-eyebrow img{width:88px}
  .rsg-inm-x.svc-trane .svc-hero-cred{order:6;font-size:12.5px}   /* the base sheet puts .hp-chips at order 5 here */
  .rsg-inm-x.svc-trane .hp-hero .hp-ctas{order:7}
  .rsg-inm-x.svc .svc-sub-red{margin:-10px 0 20px}
}

/* 2026-09-11 KELLIE LAUNCH REVIEW - Reviews mascot straddles the seam into the next section
   (was clipped: .hp-rev overflow:hidden + .rsg-div-btm z2 painted over its feet, 10px overhang). Same block in every page sheet that carries the reviews band. */
.rsg-inm-x.hp .hp-rev{overflow:visible}
.rsg-inm-x.hp .hp-rev::before{width:min(1100px,100vw)}
.rsg-inm-x.hp .hp-rev-foot{z-index:3}
.rsg-inm-x.hp .hp-rev-mascot{top:auto;bottom:-204px;right:0;height:240px}
@media (max-width:900px){.rsg-inm-x.hp .hp-rev-mascot{display:none}}

/* 2026-09-11 KELLIE LAUNCH REVIEW 2 - reviews foot must out-rank the `.hp-rev>.rsg-wrap{z-index:1}` consistency rule by specificity,
   otherwise .rsg-div-btm (z2) paints its white wave over the straddling mascot's legs. */
.rsg-inm-x.hp .hp-rev>.rsg-wrap.hp-rev-foot{z-index:3}

/* ============================================================================================================
 * .svc-about - ABOUT US page layer (page 56). Appended to the ONE svc2 type sheet after the hub / svcs / trane layers.
 * Only what this page adds: a longer H1, the story section without stat cards, the who-collage, the two-column
 * standards ledger, the credential cards, the three contact rows, the explore cards. Everything else is the
 * template's own markup on the template's own rules.
 * ========================================================================================================== */

/* --- the gold hairline token is self-referential (dead) in the base sheet site-wide; this page declares it so every gold
 *     rule the system designed in (form card, plate, cards, details plate) actually paints here. Owner call for the other pages. */
.rsg-inm-x.svc-about{--gold-line:linear-gradient(90deg,#E2C6A3,rgba(226,198,163,.15))}

/* --- hero (v3, Precision About anatomy): centred copy over a full-bleed TEAM photo, no form card; the popup and the contact
 *     band carry the GHL form. Gold on the Notion bold word; the base's vertical stacking (display:contents + order) is kept. */
.rsg-inm-x.svc-about .ab-hero--c{padding:104px 0 150px;min-height:640px}
.rsg-inm-x.svc-about .ab-hero-scrim{background:linear-gradient(180deg,rgba(8,20,40,.74) 0%,rgba(8,20,40,.8) 42%,rgba(8,20,40,.96) 100%),radial-gradient(58% 72% at 50% 52%,rgba(8,20,40,.62),rgba(8,20,40,0) 72%)} /* owner 2026-09-11 "make the background gradient more darker" (variant A shipped at .55/.62/.9) */
.rsg-inm-x.svc-about .ab-crumb{order:0;display:flex;gap:10px;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--muted-dark);margin-bottom:14px}
.rsg-inm-x.svc-about .ab-crumb a{color:var(--eyebrow-dark);text-decoration:none}
.rsg-inm-x.svc-about .ab-crumb a:hover{color:#fff}
.rsg-inm-x.svc-about .ab-crumb [aria-current]{color:#fff}
.rsg-inm-x.svc-about .ab-badge{order:0;display:inline-flex;align-items:center;gap:10px;margin:0 auto 22px;padding:8px 16px 8px 12px;border-radius:999px;border:1px solid var(--ice-line);background:rgba(8,20,40,.55);font-size:13.5px;font-weight:700;color:#fff;letter-spacing:.01em}
.rsg-inm-x.svc-about .ab-badge .d{width:8px;height:8px;border-radius:50%;background:var(--h2-gold)}
.rsg-inm-x.svc-about .ab-textlink{color:#fff;font-family:var(--font-heading);font-weight:800;font-size:14.5px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid var(--h2-gold);padding-bottom:4px;transition:color .2s,border-color .2s}
.rsg-inm-x.svc-about .ab-textlink:hover{color:var(--h2-gold)}
.rsg-inm-x.svc-about .ab-textlink svg{width:16px;height:16px}
.rsg-inm-x.svc-about .ab-hero--c .hp-hero-wrap{display:flex;justify-content:center}
.rsg-inm-x.svc-about .ab-hero-copy{max-width:900px;align-items:center;text-align:center}
.rsg-inm-x.svc-about .ab-hero--c .svc-h1{max-width:20ch;text-wrap:balance;font-size:clamp(40px,4.6vw,64px)}
.rsg-inm-x.svc-about .ab-hero--c .hp-hero-loc{justify-content:center;text-align:center;max-width:none} /* owner 2026-09-11: the service-area line sits centred on one line under the H1 */
.rsg-inm-x.svc-about .ab-hero--c .hp-chips{justify-content:center}
.rsg-inm-x.svc-about .ab-hero--c .hp-ctas{justify-content:center;align-items:center;gap:26px}
.rsg-inm-x.svc-about .svc-h1 .hp-acc-gold{color:var(--h2-gold)}
.rsg-inm-x.svc-about .ab-hero .hp-himg{object-position:50% 35%;transform:none} /* 1200x896 frame: the technician's head sits high, keep it in frame */

/* --- S2 story: the problem anatomy without the stat row, so the section closes on its own padding; kicker over the heading */
.rsg-inm-x.svc-about .ab-story{padding-bottom:var(--pad-2)}
.rsg-inm-x.svc-about .ab-story .svc-prob-grid{margin-top:var(--pad-2)}
.rsg-inm-x.svc-about .ab-story .hp-kicker-h2{margin-bottom:14px}
.rsg-inm-x.svc-about .ab-story .svc-prob-copy .hp-h2{max-width:22ch}
.rsg-inm-x.svc-about .ab-story-visual{padding:40px 60px 0 0}
.rsg-inm-x.svc-about .ab-story-visual .hp-who-main{object-position:38% 45%;box-shadow:var(--sh-3)}
.rsg-inm-x.svc-about .ab-story-visual .hp-who-inset{object-position:45% 40%}
.rsg-inm-x.svc-about .ab-story .hp-ctas{align-items:center}

/* --- S3 who: collage LEFT, copy RIGHT; hairline top like the template's Why -> Process pair; the collage hangs 96px into S4 */
.rsg-inm-x.svc-about .ab-who{padding:var(--pad-2) 0 var(--pad-2);border-top:1px solid var(--line);position:relative;z-index:3}
.rsg-inm-x.svc-about .ab-who-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center} /* owner 2026-09-11: collage centred against the copy (the hang into the standards band was dropped for it) */
.rsg-inm-x.svc-about .ab-who-copy{padding-bottom:0}
.rsg-inm-x.svc-about .ab-who-copy .hp-h2{margin-bottom:22px;max-width:16ch}
.rsg-inm-x.svc-about .ab-who-copy p{max-width:56ch}
.rsg-inm-x.svc-about .ab-who-copy p+p{margin-top:16px}
.rsg-inm-x.svc-about .ab-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:16px;margin-bottom:0;padding:26px 0 0 26px}
.rsg-inm-x.svc-about .ab-cf{position:relative;margin:0;z-index:1;border-radius:var(--r-card);box-shadow:var(--sh-3);background:#E9EEF3}
.rsg-inm-x.svc-about .ab-cf img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 40%;border-radius:var(--r-card)} /* sized by aspect-ratio like .svc-prob-photo (an absolute img inside an aspect-ratio figure painted blank in headless Chrome) */
.rsg-inm-x.svc-about .ab-cf--wide{grid-column:1/-1}
.rsg-inm-x.svc-about .ab-cf--sq{margin-top:-44px;border:5px solid #fff;z-index:2;box-shadow:var(--sh-2)} /* the two squares ride up over the wide photo, white-framed like the homepage inset */
.rsg-inm-x.svc-about .ab-cf--sq img{border-radius:calc(var(--r-card) - 4px)}
.rsg-inm-x.svc-about .ab-cf--wide img{aspect-ratio:16/9.6;object-position:50% 38%}
.rsg-inm-x.svc-about .ab-who-ring{position:absolute;left:0;top:0;width:58%;height:46%;border-radius:var(--r-card);border:1px solid var(--line);background:radial-gradient(circle,rgba(226,198,163,.55) 1.4px,transparent 1.5px) 0 0/14px 14px;z-index:0}
.rsg-inm-x.svc-about .ab-who-mascot{position:absolute;right:-26px;bottom:-16px;height:172px;width:auto;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35));pointer-events:none}

/* --- S4 standards: dark band; centred kicker + heading; six items as a TWO-COLUMN editorial ledger (the signed-off Signs
 *     anatomy, twice as wide); the wash sits behind the text block only, alpha 0 at every edge --------------------------- */
.rsg-inm-x.svc-about .ab-std{padding:var(--pad-3) 0 var(--pad-3);overflow:hidden;z-index:1;position:relative}
.rsg-inm-x.svc-about .ab-std>.rsg-wrap{position:relative;z-index:1}
.rsg-inm-x.svc-about .ab-shead .hp-kicker-h2{justify-content:center;margin-bottom:16px}
.rsg-inm-x.svc-about .ab-shead .hp-h2{max-width:none}
.rsg-inm-x.svc-about .ab-std .ab-shead{position:relative}
.rsg-inm-x.svc-about .ab-std .ab-shead::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:10%;right:10%;top:-70px;bottom:-60px;background:radial-gradient(ellipse closest-side at 50% 50%,rgba(0,11,26,.9) 0%,rgba(0,11,26,.8) 46%,rgba(0,11,26,.4) 76%,rgba(0,11,26,0) 100%)}
.rsg-inm-x.svc-about .ab-std-grid{list-style:none;margin:56px 0 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rsg-inm-x.svc-about .ab-sc{position:relative;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-3);padding:28px 26px 26px;display:flex;flex-direction:column;gap:12px}
.rsg-inm-x.svc-about .ab-sc::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.svc-about .ab-sc-ico{width:46px;height:46px;border-radius:var(--r-tile);display:grid;place-items:center;background:var(--band-grad-deep);color:var(--h2-gold);box-shadow:var(--sh-1)}
.rsg-inm-x.svc-about .ab-sc-ico svg{width:23px;height:23px}
.rsg-inm-x.svc-about .ab-sc h4{font-size:19px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:var(--ink);margin:6px 0 0}
.rsg-inm-x.svc-about .ab-sc-rule{display:block;width:34px;height:3px;border-radius:2px;background:var(--red)}
.rsg-inm-x.svc-about .ab-sc p{font-size:15px;line-height:1.62;color:var(--muted);margin:0}
.rsg-inm-x.svc-about .ab-std .ab-std-grid p{color:var(--muted)} /* the base's .rsg-sec--dark p would mute it light-on-white */
.rsg-inm-x.svc-about .ab-std-list{list-style:none;margin:52px 0 0;padding:0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 60px;border-top:1px solid var(--ice-line)}
.rsg-inm-x.svc-about .ab-std-list::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-90px;right:-90px;top:-80px;bottom:-80px;background:rgba(0,11,26,.9);-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 0%,#000 56%,rgba(0,0,0,.55) 82%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 0%,#000 56%,rgba(0,0,0,.55) 82%,transparent 100%)}
.rsg-inm-x.svc-about .ab-std-list li{position:relative;display:grid;grid-template-columns:24px 1fr;gap:18px;padding:28px 18px 28px 22px;border-bottom:1px solid var(--ice-line);transition:background .25s}
.rsg-inm-x.svc-about .ab-std-list li::before{content:"";position:absolute;left:0;top:32px;width:3px;height:0;border-radius:2px;background:var(--red);transition:height .35s var(--ease)}
.rsg-inm-x.svc-about .ab-std-list li:hover{background:rgba(255,255,255,.04)}
.rsg-inm-x.svc-about .ab-std-list li:hover::before{height:28px}
.rsg-inm-x.svc-about .ab-std-list h4{font-size:20px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:#fff;margin-bottom:8px}
.rsg-inm-x.svc-about .ab-std-list p{font-size:16px;line-height:1.62;color:#E9F1F8;max-width:52ch}
.rsg-inm-x.svc-about .ab-std-mascot{position:absolute;right:-96px;bottom:-14px;height:168px;width:auto;z-index:2;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));pointer-events:none} /* stands BESIDE the ledger's bottom-right corner on the band - inside the ledger it covered the last item's line ends */

/* --- S5 credentials (owner pick L, 2026-09-11): four TICKETS - dark stub (seal + title) | dashed perforation | white body
 *     (credential + gold-ruled "What this means for you"); the stack hangs 96 into the reviews band like the old cards did. */
.rsg-inm-x.svc-about .ab-cred{padding:var(--pad-3) 0 1px;position:relative;z-index:3} /* same 1px guard: the ticket stack must overflow onto the reviews band, not be covered by this section's white */
.rsg-inm-x.svc-about .ab-tk-list{display:grid;gap:18px;margin:56px 0 -96px;position:relative;z-index:3}
.rsg-inm-x.svc-about .ab-tk{display:grid;grid-template-columns:300px 1fr;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-3);border:1px solid var(--line);background:#fff}
.rsg-inm-x.svc-about .ab-tk-stub{position:relative;display:flex;align-items:center;gap:18px;padding:26px 28px;background:var(--band-grad-deep);color:#fff}
.rsg-inm-x.svc-about .ab-tk-stub h4{font-size:18px;font-weight:800;letter-spacing:-.012em;line-height:1.25;color:#fff;margin:0}
.rsg-inm-x.svc-about .ab-tk-stub::after{content:"";position:absolute;right:-1px;top:0;bottom:0;border-right:2px dashed rgba(255,255,255,.35)}
.rsg-inm-x.svc-about .ab-tk-body{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:center;padding:24px 30px}
.rsg-inm-x.svc-about .ab-tk-body>p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.rsg-inm-x.svc-about .ab-tk-means{padding:6px 0 6px 18px;border-left:3px solid var(--h2-gold)}
.rsg-inm-x.svc-about .ab-tk-means strong{display:block;font-family:var(--font-heading);font-size:11.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.rsg-inm-x.svc-about .ab-tk-means p{font-size:14.5px;line-height:1.58;color:var(--ink);margin:0}
/* the seal: title set around a gold ring (fitted), navy centre + stroke icon; the Trane seal carries the real Trane mark on white */
.rsg-inm-x.svc-about .ab-seal{position:relative;display:inline-block;width:96px;height:96px;flex:none}
.rsg-inm-x.svc-about .ab-seal svg{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.rsg-inm-x.svc-about .ab-seal-t{font-family:var(--font-heading);font-weight:800;font-size:8.6px;letter-spacing:.14em;fill:#063676}
.rsg-inm-x.svc-about .ab-seal-ico{position:absolute;left:50%;top:50%;width:26%;height:26%;transform:translate(-50%,-50%);color:#E2C6A3;display:grid;place-items:center}
.rsg-inm-x.svc-about .ab-seal-ico svg{width:100%;height:100%}
.rsg-inm-x.svc-about .hp-rev{padding-top:calc(var(--pad-3) + 40px);z-index:3} /* tickets hang 96 -> ~64px to the reviews heading. z-index 3: the LIVE sheet's site-wide reviews-mascot fix (240px, anchored to the band bottom, overflow visible, appended to the server sheets 2026-09-11) lets his feet straddle the seam; the base gives .hp-area z-index 2, which would paint over them here */
.rsg-inm-x.svc-about .ab-cred{z-index:4} /* one above the reviews band so the ticket stack still hangs onto it */

/* --- S7 area: this page's list is six counties, so the ledger fills 2x3 with no spanning cell; closer sentence above the button */
.rsg-inm-x.svc-about .ab-area .hp-area-copy p{max-width:58ch}

/* --- S8 contact band: three detail rows instead of two icon points; the label is the small line, the value the big one */
.rsg-inm-x.svc-about .ab-contact{padding-top:calc(var(--pad-3) + 126px)} /* the county ledger hangs 150 into this band (template value) */
.rsg-inm-x.svc-about .ab-details{position:relative;margin-top:30px;padding:6px 26px 10px;background:var(--card-dark);border:1px solid var(--ice-line);border-radius:var(--r-card);box-shadow:var(--sh-dark)} /* the live contact page's details plate */
.rsg-inm-x.svc-about .ab-details::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.svc-about .ab-rows{gap:0;margin-top:0}
.rsg-inm-x.svc-about .ab-row{padding:16px 0}
.rsg-inm-x.svc-about .ab-row+.ab-row{border-top:1px solid var(--ice-line)}
.rsg-inm-x.svc-about .ab-row .hp-point-ico{background:rgba(255,255,255,.07);border-color:transparent;color:var(--h2-gold)}
.rsg-inm-x.svc-about .ab-row{align-items:center}
.rsg-inm-x.svc-about .ab-row h4{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow-dark);margin:0 0 4px}
.rsg-inm-x.svc-about .ab-row p{font-size:16.5px;line-height:1.4;color:#F2F7FC;margin:0}
.rsg-inm-x.svc-about .ab-row p a{color:#fff;font-weight:600;text-decoration:none;overflow-wrap:anywhere} /* the email address must wrap inside the plate at 390 */
.rsg-inm-x.svc-about .ab-row>div{min-width:0}
.rsg-inm-x.svc-about .ab-row p a:hover{color:var(--h2-gold)}
.rsg-inm-x.svc-about .ab-row .ab-tel{font-family:var(--font-heading);font-size:24px;font-weight:800;letter-spacing:-.015em;line-height:1.1}
.rsg-inm-x.svc-about .ab-needs{display:inline-block;padding:3px 10px;border:1px dashed #F3B11B;border-radius:6px;color:#F3B11B;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.04em}

/* --- S9 explore: the homepage service cards (hub card anatomy) on WHITE, six on the trane 3+3 grid; the whole row hangs 150 into
 *     the CTA band. The hub/trane layers sort AFTER this one, so shared-selector overrides carry the .ab-x ancestor (0,4,0). */
.rsg-inm-x.svc-about .ab-x{padding:var(--pad-3) 0 1px;position:relative;z-index:3} /* 1px bottom padding: without it the grid's negative margin collapses through the section, the white box still reaches the cards' bottom and paints OVER the CTA's top 150px (the seam read as a flat cut). With it the cards overflow the section and sit on the band. */
.rsg-inm-x.svc-about .ab-x .ab-x-grid{margin:64px 0 -150px;position:relative;z-index:3}
.rsg-inm-x.svc-about .ab-x .svc-card{border-color:var(--line);box-shadow:var(--sh-3)}
.rsg-inm-x.svc-about .ab-x .svc-card .hp-psvc-body h3{font-size:22px}
.rsg-inm-x.svc-about .ab-x .svc-card .hp-psvc-body>p{margin-bottom:22px}
.rsg-inm-x.svc-about .ab-cta{padding-top:calc(var(--pad-3) + 94px)} /* the explore cards hang 150 into this band (60 = wave) -> 64 to the title */

@media (max-width:1240px){
  .rsg-inm-x.svc-about .ab-std-list{gap:0 40px}
  .rsg-inm-x.svc-about .ab-std-mascot{display:none} /* the side margin is too narrow to stand beside the ledger */
}
@media (max-width:1100px){
  .rsg-inm-x.svc-about .ab-std-grid{grid-template-columns:repeat(2,1fr)}
  .rsg-inm-x.svc-about .ab-tk{grid-template-columns:250px 1fr}
  .rsg-inm-x.svc-about .ab-tk-body{grid-template-columns:1fr;gap:16px}
  .rsg-inm-x.svc-about .ab-hero--c{padding:88px 0 140px}
  .rsg-inm-x.svc-about .ab-who-grid{gap:44px}
  .rsg-inm-x.svc-about .ab-who-mascot{height:140px;right:-10px}
  .rsg-inm-x.svc-about .ab-contact{padding-top:calc(var(--pad-3) + 60px)}
  .rsg-inm-x.svc-about .hp-plate-list{grid-template-columns:repeat(3,1fr)}
  .rsg-inm-x.svc-about .hp-plate-list li:last-child{padding-right:0}
}
@media (max-width:900px){
  .rsg-inm-x.svc-about .ab-story{padding-bottom:var(--pad-1)}
  .rsg-inm-x.svc-about .ab-who{padding-top:var(--pad-1)}
  .rsg-inm-x.svc-about .ab-who-grid{grid-template-columns:1fr;gap:40px}
  .rsg-inm-x.svc-about .ab-collage{order:2;max-width:560px;margin:0 auto;padding:18px 0 0 18px}
  .rsg-inm-x.svc-about .ab-who{padding-bottom:var(--pad-1)}
  .rsg-inm-x.svc-about .ab-who-copy{order:1;padding-bottom:0}
  .rsg-inm-x.svc-about .ab-who-copy .hp-h2{max-width:none}
  .rsg-inm-x.svc-about .ab-who-mascot{display:none}
  .rsg-inm-x.svc-about .ab-std-mascot{display:none}
  .rsg-inm-x.svc-about .ab-std-list{grid-template-columns:1fr;gap:0}
  .rsg-inm-x.svc-about .ab-hero--c .hp-hero-loc{text-align:center}
  .rsg-inm-x.svc-about .ab-tk{grid-template-columns:1fr}
  .rsg-inm-x.svc-about .ab-tk-stub{padding:20px 22px}
  .rsg-inm-x.svc-about .ab-tk-stub::after{right:0;left:0;top:auto;bottom:-1px;border-right:0;border-bottom:2px dashed rgba(255,255,255,.35)}
  .rsg-inm-x.svc-about .ab-tk-body{grid-template-columns:1fr;gap:16px;padding:22px 22px 24px}
  .rsg-inm-x.svc-about .ab-contact{padding-top:calc(var(--pad-3) + 60px)}
}
@media (max-width:767px){
  .rsg-inm-x.svc-about .ab-std-grid{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .rsg-inm-x.svc-about .ab-sc{padding:22px 20px 20px}
  .rsg-inm-x.svc-about .ab-hero--c{padding:64px 0 120px;min-height:0}
  .rsg-inm-x.svc-about .ab-hero-copy{align-items:stretch;text-align:left}
  .rsg-inm-x.svc-about .ab-hero--c .hp-hero-loc,.rsg-inm-x.svc-about .ab-hero--c .hp-chips,.rsg-inm-x.svc-about .ab-hero--c .hp-ctas,.rsg-inm-x.svc-about .ab-crumb{justify-content:flex-start;text-align:left}
  .rsg-inm-x.svc-about .ab-badge{margin:0 0 18px;align-self:flex-start;font-size:12.5px;padding:7px 13px 7px 10px} /* one line at 390 */
  .rsg-inm-x.svc-about .ab-hero--c .svc-h1{max-width:none;font-size:clamp(32px,8.6vw,40px)}
  .rsg-inm-x.svc-about .ab-hero--c .hp-ctas{flex-direction:column;align-items:stretch;gap:16px}
  .rsg-inm-x.svc-about .ab-textlink{align-self:center}
  .rsg-inm-x.svc-about .ab-collage{grid-template-columns:1fr 1fr;margin-bottom:0;padding:12px 0 0 12px}
  .rsg-inm-x.svc-about .ab-std{padding:var(--pad-2) 0 var(--pad-2)}
  /* the shared .svc plate rule (5 fixed tracks, written for the 140px mascot) beats the base sheet's stacked layouts and clips the 4th item at 390 - template-wide, overridden here for this page only */
  .rsg-inm-x.svc-about .hp-plate-list{grid-template-columns:1fr 1fr}
  .rsg-inm-x.svc-about .hp-plate-list li:last-child{padding-right:0}
  .rsg-inm-x.svc-about .ab-std-list{margin-top:40px}
  .rsg-inm-x.svc-about .ab-std-list li{grid-template-columns:20px 1fr;gap:12px;padding:20px 8px 20px 14px}
  .rsg-inm-x.svc-about .ab-std-list h4{font-size:18px}
  .rsg-inm-x.svc-about .ab-cred{padding:var(--pad-2) 0 1px}
  .rsg-inm-x.svc-about .ab-tk-list{margin:40px 0 -72px;gap:14px}
  .rsg-inm-x.svc-about .ab-seal{width:76px;height:76px}
  .rsg-inm-x.svc-about .ab-tk-stub h4{font-size:17px}
  .rsg-inm-x.svc-about .hp-rev{padding-top:calc(var(--pad-3) + 56px)}
  .rsg-inm-x.svc-about .ab-contact{padding-top:calc(var(--pad-3) + 40px)}
  .rsg-inm-x.svc-about .ab-row .ab-tel{font-size:21px}
  .rsg-inm-x.svc-about .ab-row p{font-size:14px} /* the email address fits the plate on one line at 390 */
  .rsg-inm-x.svc-about .ab-x{padding:var(--pad-2) 0 1px}
  .rsg-inm-x.svc-about .ab-x .ab-x-grid{margin:44px 0 -110px}
  .rsg-inm-x.svc-about .ab-cta{padding-top:calc(var(--pad-3) + 94px)}
  .rsg-inm-x.svc-about .ab-cf--sq{margin-top:-24px;border-width:4px}
  .rsg-inm-x.svc-about .ab-details{padding:2px 18px 6px}
}

/* ===== 2026-09-12 OWNER: DARK STAT CARDS GET A CONTINUOUS LIGHT SWEEP =====================
   "on dark theme card bg white bright light type continious animation after 3 to 4 second"
   A specular gloss travels across the DARK (even) cards of every .svc-stats row, then rests -
   one pass per 4s cycle (~0.75s sweep + ~3.25s hold). White cards are left alone: a white
   sheen on a white card is invisible.
   Runs on all 9 svc2 pages (36 cards, 18 dark). Compositor-only (transform), no JS, no layout.
   ::before is already the gold accent bar, so the sweep uses ::after.                        */

@keyframes inmStatSheen{
  0%   {transform:translate3d(-320%,0,0) rotate(10deg)}
  35%  {transform:translate3d(320%,0,0) rotate(10deg)}   /* clears the card entirely - measured, see README */
  100% {transform:translate3d(320%,0,0) rotate(10deg)}   /* ...and waits off-card, nothing parked on screen */
}

/* clip the sweep to the card (the gold ::before bar sits inside the box, so it is unaffected) */
.rsg-inm-x.svc .svc-stat:nth-child(even){overflow:hidden}

.rsg-inm-x.svc .svc-stat:nth-child(even)::after{
  content:"";
  position:absolute;
  top:-32%;
  left:0;
  width:40%;
  height:164%;
  pointer-events:none;
  background:linear-gradient(100deg,
    rgba(255,255,255,0)   0%,
    rgba(255,255,255,.04) 30%,
    rgba(255,255,255,.11) 42%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.11) 58%,
    rgba(255,255,255,.04) 70%,
    rgba(255,255,255,0)  100%);
  transform:translate3d(-320%,0,0) rotate(10deg);
  animation:inmStatSheen 4s cubic-bezier(.4,0,.35,1) infinite;
}

/* the two dark cards in a row shouldn't flash in lockstep */
.rsg-inm-x.svc .svc-stat:nth-child(4)::after{animation-delay:1.15s}

@media (prefers-reduced-motion:reduce){
  .rsg-inm-x.svc .svc-stat:nth-child(even)::after{animation:none;opacity:0}
}

/* --- map column top space, pages 713 + 720 only (owner request 2026-09-28) ---
   --pad-2 (96px) -> --pad-3 (120px) above the map, with the dot-grid moved to match.
   Scoped by page id on purpose: 283 and 314 also carry .svc-area--offers without
   .svc-hub, so a :not(.svc-hub) selector would shift those two as well. */
.page-id-713 .rsg-inm-x.svc .svc-area--offers .hp-map,
.page-id-720 .rsg-inm-x.svc .svc-area--offers .hp-map{padding-top:var(--pad-3)}
.page-id-713 .rsg-inm-x.svc .svc-area--offers .hp-map::before,
.page-id-720 .rsg-inm-x.svc .svc-area--offers .hp-map::before{top:calc(var(--pad-3) - 30px)}

/* --- 4-column comparison table (wine cellar, owner-approved 2026-10-21) ---
   The default table is 3 columns and sets min-width:560px so it scrolls on phones.
   Four columns need more room or the cells crush, so widen the scroll floor and give
   the row-head column slightly less of the width. Desktop is unchanged. */
.rsg-inm-x.svc .svc-table--4 thead th:first-child{width:22%}
@media (max-width:767px){
  .rsg-inm-x.svc .svc-table--4{min-width:760px}
}

/* --- centred section heads: centre the eyebrow too (2026-10-21) ---
   .hp-shead is text-align:center, but .hp-kicker-h2 is a flex container so it ignores
   that and sat left under a centred H2. Mirrors the existing .svc-about .ab-shead rule.
   Scoped to .hp-shead: the left-aligned kickers in .svc-why-copy and .hp-emg-copy stay left. */
.rsg-inm-x.svc .hp-shead .hp-kicker-h2{justify-content:center}

/* --- offers banner as its OWN section (2026-10-21) ---
   Was a .rsg-wrap nested at the top of the area section, pulled up by a fixed -96/-130px.
   A fixed pull cannot balance, because the ticket grows as it wraps: measured, 235px tall at
   1440 but 278/328/350px at 1100/1024/901, and 484px at 480. It hung 51px low at desktop and
   310px low at 480. It is now its own <section class="hp-offers-band"> between the two bands.
   White, to continue the light band below the seam. */
/* No background on purpose: the band's box reaches a half-ticket below the ticket and the map
   mascot pokes up into it, so a fill here paints over the mascot's head (probed: the topmost
   element at the mascot's head was this section). Body and the area band are both #FFF, so
   transparent is visually identical. */
.rsg-inm-x.svc .hp-offers-band{position:relative;z-index:3;margin:0;padding:0}
.rsg-inm-x.svc .hp-offers-band .svc-offers-tk,
.rsg-inm-x.svc .hp-offers-band .hp-offers{margin:0}

/* >=901px - the band keeps its NATURAL height (= the ticket) and the ticket is lifted half of
   that, so two things fall out for free at every width:
     - the straddle is exactly even (translateY is half the ticket's OWN height), and
     - the band always leaves HALF A TICKET of clear space below it, which is what lets the
       map mascot read clearly. That space is 117px at 1440 and 175px at 901 on its own.
   No fixed height can do this: the ticket is 207px on three of these pages and 235px on the
   other two at the same width, and grows to 350px by 901.
   Area copy/map padding is 56px here - measured, that puts the mascot 56px clear at 1440,
   rising to 114px at 901. */
@media (min-width:901px){
  .rsg-inm-x.svc .hp-offers-band > .rsg-wrap{transform:translateY(-50%)}
  .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-area-copy{padding-top:56px}
  .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map{padding-top:56px}
  .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map::before{top:26px}
  /* 713/720 keep the extra map headroom asked for on 2026-10-21 */
  .page-id-713 .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map,
  .page-id-720 .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map{padding-top:80px}
  .page-id-713 .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map::before,
  .page-id-720 .rsg-inm-x.svc .hp-offers-band ~ .svc-area .hp-map::before{top:50px}
}

/* <=900px - no straddle. The ticket wraps to 311-484px tall here, so centring it on the seam
   would need ~290px of empty padding in each neighbour and it buried the contact form above
   and the area H2 below. The band simply sits in normal flow between the two sections. */
@media (max-width:900px){
  /* ~50px of the card tucks into the dark band. The pull lives entirely in margin-top:
     any padding-top here would push the card back down by the same amount. padding-bottom
     stays 56px, and the negative margin shortens the flow box by the same 50px, so the gap
     below the card is unchanged. The dark band has 148px of bottom padding, so the overlap
     lands in empty padding, 98px clear of its copy. */
  .rsg-inm-x.svc .hp-offers-band{margin-top:-50px;padding:0 0 56px}
}
