:root {
  --inner-shell: min(1240px, calc(100% - 80px));
  --inner-sage: #eef7e6;
  --inner-ink: #082841;
  --inner-muted: #415f62;
}

/* Franchise opportunity page */
.franchise-page .inner-header,
.franchise-page .inner-header.scrolled {
  background:
    linear-gradient(115deg,rgba(255,255,255,.14),rgba(255,255,255,.035) 46%,rgba(2,72,142,.1)),
    rgba(11,133,218,.86);
  border-bottom-color:rgba(205,242,255,.45);
  box-shadow:0 18px 46px rgba(3,71,139,.26),inset 0 1px 0 rgba(255,255,255,.3);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}

.franchise-hero { min-height:720px; }
.franchise-page .ownership-kicker { margin:0 0 18px; color:#08734f; font:800 11px/1.6 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.franchise-hero-copy > .ownership-kicker { color:#b8e34f; }
.ownership-section { padding:clamp(72px,8vw,120px) 0; background:#fff; }
.ownership-intro { max-width:760px; }
.ownership-section h2,.ownership-market-band h2 { margin:0; color:#092f3e; font:600 clamp(44px,5vw,72px)/1.02 var(--editorial); letter-spacing:-.035em; }
.ownership-section h2 em,.ownership-market-band h2 em { display:block; color:#08734f; font-weight:500; }
.ownership-intro > p:not(.ownership-kicker),.ownership-market-band p:not(.ownership-kicker) { margin:24px 0 0; color:#536f74; font-size:16px; line-height:1.8; }
.ownership-cards { margin-top:48px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ownership-cards article { padding:32px; border:1px solid rgba(255,255,255,.2); border-radius:24px; background:rgba(255,255,255,.06); }
.ownership-section h3 { margin:18px 0 12px; color:#0b443f; font:600 30px/1.12 var(--editorial); }
.ownership-section article p,.ownership-questions p { margin:0; color:#536f74; font-size:15px; line-height:1.8; }
.ownership-number { color:#b8e34f; font-size:11px; font-weight:800; letter-spacing:.08em; }
.ownership-dark { background:linear-gradient(125deg,#072f2b,#074954); }
.ownership-dark h2,.ownership-dark h3 { color:#fff; }
.ownership-dark h2 em,.franchise-page .ownership-dark .ownership-kicker,.ownership-dark .premium-inline-link { color:#b8e34f; }
.ownership-dark .ownership-intro > p:not(.ownership-kicker),.ownership-dark article p { color:#d2e3df; }
.ownership-dark .premium-inline-link { margin-top:32px; }
.ownership-editorial-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,7vw,100px); align-items:start; }
.ownership-role-list article { padding:0 0 26px; border-bottom:1px solid #dbe6df; margin-bottom:26px; }
.ownership-role-list h3 { margin-top:0; }
.ownership-fit-list { margin:24px 0 0; padding-left:20px; color:#536f74; font-size:15px; line-height:1.8; }
.ownership-fit-list li { margin-top:10px; }
.ownership-review { background:#eff5e9; }
.ownership-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 50px; margin-top:40px; }
.ownership-review-grid article { border-top:1px solid #cbdcc8; padding-top:12px; }
.ownership-market-band { background:#073c36; padding:64px 0; }
.ownership-market-band > .section-shell { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.ownership-market-band > .section-shell > div { max-width:700px; }
.ownership-market-band h2 { color:#fff; }
.ownership-market-band h2 em,.franchise-page .ownership-market-band .ownership-kicker { color:#b8e34f; }
.ownership-market-band p:not(.ownership-kicker) { color:#d2e3df; }
.ownership-market-band .button { flex-shrink:0; white-space:nowrap; }
.ownership-questions details { padding:23px 0; border-bottom:1px solid #d4e2db; }
.ownership-questions summary { cursor:pointer; color:#0b443f; font-size:17px; font-weight:800; line-height:1.5; }
.ownership-questions summary:focus-visible { outline:2px solid #087fa6; outline-offset:5px; }
.ownership-questions p { padding-top:18px; }
.franchise-page .franchise-hero .inner-hero-actions .button { white-space:nowrap; }
@media(max-width:1100px) {
  .ownership-cards { grid-template-columns:1fr; }
  .ownership-editorial-grid { grid-template-columns:1fr; }
  .ownership-market-band > .section-shell { flex-direction:column; align-items:flex-start; }
}
@media(max-width:720px) {
  .ownership-review-grid { grid-template-columns:1fr; }
  .ownership-cards article { padding:26px; }
  .ownership-section h2,.ownership-market-band h2 { font-size:clamp(40px,11vw,54px); }
  .ownership-market-band .button { width:100%; justify-content:center; }
  .franchise-page .franchise-path-rail { grid-template-columns:1fr; gap:32px; }
  .franchise-page .franchise-path-rail p { font-size:15px; line-height:1.75; max-width:380px; margin-inline:auto; }
  .franchise-page .franchise-values { grid-template-columns:1fr; text-align:left; }
  .franchise-page .franchise-values article + article { border-left:0; }
  .franchise-page .franchise-values p { font-size:14px; line-height:1.7; }
  .franchise-page .franchise-hero-copy > .ownership-kicker { font-size:10px; margin-bottom:20px; }
  .ownership-fit-list { text-align:left; }
}
.franchise-hero .inner-hero-media { object-position:58% center; }
.franchise-hero::before {
  background:linear-gradient(90deg,rgba(3,31,42,.97) 0%,rgba(3,44,48,.91) 37%,rgba(3,43,45,.48) 60%,rgba(3,35,47,.12) 79%);
}
.franchise-hero .inner-hero-shell { min-height:648px; }
.franchise-hero-copy { max-width:780px; }
.franchise-hero h1 { max-width:760px; font-size:clamp(68px,6.6vw,100px); }
.franchise-hero h1 em { color:#b8e34f; }
.franchise-hero-copy > p { max-width:610px; }
.franchise-hero .inner-hero-actions .button { padding-inline:26px; }
.franchise-trust > span { display:flex; align-items:center; justify-content:center; gap:12px; }
.franchise-trust svg {
  width:28px;
  height:28px;
  flex:0 0 28px;
  fill:none;
  stroke:#08734f;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.franchise-purpose {
  position:relative;
  overflow:hidden;
  padding:clamp(100px,10vw,150px) 0;
  background:
    radial-gradient(circle at 4% 88%,rgba(174,221,79,.18),transparent 30%),
    radial-gradient(circle at 92% 12%,rgba(11,133,218,.1),transparent 32%),
    linear-gradient(135deg,#f8fbf3,#edf6e7);
}
.franchise-purpose::before {
  content:"";
  position:absolute;
  top:-250px;
  left:-240px;
  width:520px;
  height:520px;
  border:1px solid rgba(7,117,142,.12);
  border-radius:50%;
  box-shadow:0 0 0 72px rgba(7,117,142,.025);
}
.franchise-purpose-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(64px,8vw,118px);
  align-items:center;
}
.franchise-purpose h2,
.franchise-path h2,
.franchise-leadership h2,
.franchise-interest h2 {
  margin:0;
  color:var(--inner-ink);
  font-family:var(--editorial);
  font-size:clamp(56px,5.6vw,84px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.94;
}
.franchise-purpose h2 em,
.franchise-path h2 em,
.franchise-leadership h2 em,
.franchise-interest h2 em { display:block; color:#08734f; font-weight:500; }
.franchise-purpose-copy > p {
  max-width:620px;
  margin:28px 0 0;
  color:#476267;
  font-size:17px;
  line-height:1.78;
}
.franchise-values { margin-top:36px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(6,70,57,.16); }
.franchise-values article { min-width:0; padding:22px 18px 0 0; }
.franchise-values article + article { padding-left:18px; border-left:1px solid rgba(6,70,57,.13); }
.franchise-values strong { color:#075f45; font-family:var(--editorial); font-size:25px; font-weight:600; }
.franchise-values p { margin:8px 0 0; color:#597176; font-size:12px; line-height:1.55; }
.franchise-purpose-media { position:relative; margin:0; }
.franchise-purpose-media::before { content:""; position:absolute; inset:22px -22px -22px 22px; border:1px solid rgba(11,133,218,.26); border-radius:30px; }
.franchise-purpose-media img { position:relative; width:100%; aspect-ratio:1.38; object-fit:cover; object-position:62% center; border-radius:30px; box-shadow:0 28px 62px rgba(5,47,47,.2); }

.franchise-path { padding:clamp(100px,10vw,148px) 0; background:#fff; }
.franchise-path h2 { text-align:center; }
.franchise-path h2 em { display:inline; }
.franchise-path-rail { position:relative; margin-top:72px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.franchise-path-rail::before {
  content:"";
  position:absolute;
  top:82px;
  right:12.5%;
  left:12.5%;
  height:3px;
  background:linear-gradient(90deg,#0b85da,#1db6ca 38%,#55bf6f 67%,#b8e34f);
}
.franchise-path-rail article { position:relative; z-index:1; min-width:0; padding:0 22px; text-align:center; }
.franchise-path-rail article > span { display:block; color:#074a4a; font-family:var(--editorial); font-size:58px; line-height:1; }
.franchise-path-rail article > i {
  width:56px;
  height:56px;
  margin:18px auto 24px;
  display:block;
  background:linear-gradient(145deg,#0b85da,#18aabe);
  border:7px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 2px #0b85da,0 10px 24px rgba(11,133,218,.2);
}
.franchise-path-rail article:nth-child(3) > i { background:linear-gradient(145deg,#16aeb0,#62c95c); box-shadow:0 0 0 2px #4fc164,0 10px 24px rgba(56,172,91,.2); }
.franchise-path-rail article:nth-child(4) > i { background:linear-gradient(145deg,#83cf45,#b8e34f); box-shadow:0 0 0 2px #a5d946,0 10px 24px rgba(125,184,57,.2); }
.franchise-path-rail h3 { margin:0; color:#0c4443; font-family:var(--editorial); font-size:25px; font-weight:600; line-height:1.08; }
.franchise-path-rail p { max-width:230px; margin:13px auto 0; color:#587075; font-size:13px; line-height:1.6; }

.franchise-leadership { background:linear-gradient(110deg,#f7faf6,#fff); }
.franchise-leadership-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.franchise-leadership figure { min-height:610px; margin:0; }
.franchise-leadership figure img { width:100%; height:100%; object-fit:cover; object-position:center; }
.franchise-leadership-grid > div { padding:clamp(78px,8vw,126px) clamp(44px,7vw,112px); align-self:center; }
.franchise-leadership h2 em { display:inline; }
.franchise-leadership p { max-width:600px; margin:26px 0 0; color:#50696e; font-size:17px; line-height:1.8; }

.franchise-interest {
  position:relative;
  overflow:hidden;
  padding:clamp(96px,10vw,145px) 0;
  background:
    radial-gradient(circle at 10% 90%,rgba(184,227,79,.16),transparent 32%),
    radial-gradient(circle at 90% 12%,rgba(11,133,218,.11),transparent 34%),
    #eff6e8;
}
.franchise-interest-heading { text-align:center; }
.franchise-interest h2 { font-size:clamp(54px,5.3vw,78px); }
.franchise-interest h2 em { display:inline; }
.franchise-interest-heading > p { margin:20px 0 0; color:#496468; font-size:17px; }
.franchise-form {
  max-width:940px;
  margin:46px auto 0;
  padding:42px;
  background:rgba(255,255,255,.87);
  border:1px solid rgba(255,255,255,.92);
  border-radius:26px;
  box-shadow:0 28px 64px rgba(5,57,49,.15),inset 0 1px 0 #fff;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.franchise-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.franchise-form .form-field label { color:#123f42; }
.franchise-form .form-field input,
.franchise-form .form-field textarea { min-height:56px; background:#fbfdfb; }
.franchise-form .form-field textarea { min-height:116px; }
.franchise-submit {
  width:100%;
  min-height:62px;
  margin-top:28px;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#fff;
  background:linear-gradient(100deg,#07493e,#06664f 58%,#087a74);
  border:0;
  border-radius:13px;
  font-family:var(--sans);
  font-size:16px;
  font-weight:750;
  box-shadow:0 18px 38px rgba(4,70,57,.22),inset 0 1px 0 rgba(255,255,255,.16);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.franchise-submit:hover,.franchise-submit:focus-visible { transform:translateY(-2px); box-shadow:0 22px 44px rgba(4,70,57,.28); }
.franchise-submit svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.franchise-privacy { margin:20px 0 0; display:flex; align-items:center; justify-content:center; gap:9px; color:#526c6f; font-size:12px; text-align:center; }
.franchise-privacy svg { width:17px; height:17px; fill:none; stroke:#6d9d31; stroke-width:1.8; }
.franchise-form-status { min-height:22px; margin:12px 0 0; color:#075f45; font-size:14px; font-weight:700; text-align:center; }

@media (max-width:980px) {
  .franchise-purpose-grid,.franchise-leadership-grid { grid-template-columns:1fr; }
  .franchise-purpose-media { max-width:760px; }
  .franchise-leadership figure { min-height:480px; }
  .franchise-path-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px 24px; }
  .franchise-path-rail::before { display:none; }
}

@media (max-width:720px) {
  .franchise-page .inner-header,
  .franchise-page .inner-header.scrolled { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .franchise-hero { min-height:570px; }
  .franchise-hero .inner-hero-media { object-position:64% center; }
  .franchise-hero::before { background:linear-gradient(180deg,rgba(3,30,39,.88),rgba(3,43,44,.7) 66%,rgba(3,37,42,.46)); }
  .franchise-hero .inner-hero-shell { min-height:498px; padding:66px 0 50px; align-items:center; }
  .franchise-hero-copy { width:100%; text-align:center; }
  .franchise-hero h1 { max-width:390px; margin-inline:auto; font-size:clamp(50px,14.5vw,64px); line-height:.91; }
  .franchise-hero-copy > p { max-width:360px; margin:22px auto 0; font-size:15px; }
  .franchise-hero .inner-hero-actions { width:min(100%,370px); margin:28px auto 0; align-items:center; }
  .franchise-hero .inner-hero-actions .text-link { align-self:center; }
  .franchise-trust > span { min-width:0; padding:10px 5px; flex-direction:column; gap:6px; font-size:8.5px; line-height:1.25; }
  .franchise-trust svg { width:20px; height:20px; flex-basis:20px; }
  .franchise-purpose,.franchise-path,.franchise-interest { padding-block:76px; }
  .franchise-purpose-grid { gap:48px; text-align:center; }
  .franchise-purpose h2,.franchise-path h2,.franchise-leadership h2,.franchise-interest h2 { font-size:clamp(42px,12vw,54px); line-height:.98; text-align:center; }
  .franchise-purpose-copy > p { margin:22px auto 0; font-size:15px; line-height:1.7; }
  .franchise-values { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .franchise-values article { padding:18px 7px 0; }
  .franchise-values article + article { padding-left:7px; }
  .franchise-values strong { font-size:21px; }
  .franchise-values p { font-size:9.5px; line-height:1.45; }
  .franchise-purpose-media::before { inset:12px -8px -12px 8px; }
  .franchise-purpose-media img { aspect-ratio:1.16; border-radius:22px; }
  .franchise-path-rail { margin-top:48px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 12px; }
  .franchise-path-rail article { padding:0 5px; }
  .franchise-path-rail article > span { font-size:44px; }
  .franchise-path-rail article > i { width:44px; height:44px; margin:13px auto 19px; border-width:6px; }
  .franchise-path-rail h3 { font-size:20px; }
  .franchise-path-rail p { margin-top:9px; font-size:10.5px; line-height:1.5; }
  .franchise-leadership figure { min-height:360px; }
  .franchise-leadership-grid > div { padding:70px 18px 78px; text-align:center; }
  .franchise-leadership p { margin:20px auto 0; font-size:15px; line-height:1.7; }
  .franchise-leadership .premium-inline-link { justify-content:center; }
  .franchise-interest-heading > p { max-width:340px; margin:18px auto 0; font-size:14px; line-height:1.6; }
  .franchise-form { margin-top:34px; padding:24px 18px; border-radius:22px; }
  .franchise-form-grid { grid-template-columns:1fr; gap:18px; }
  .franchise-form .form-field input,.franchise-form .form-field textarea { min-height:54px; }
  .franchise-form .form-field textarea { min-height:110px; }
  .franchise-submit { min-height:58px; margin-top:22px; }
  .franchise-privacy { align-items:flex-start; font-size:10px; line-height:1.5; }
}

/* Tablet navigation must remain attached to the viewport after page scroll.
   Fixed positioning also avoids backdrop-filter creating a containing block
   for the off-canvas drawer in Chromium and WebKit. */
@media (min-width:721px) and (max-width:980px) {
  body.inner-page.premium-mobile-nav .inner-header,
  body.inner-page.premium-mobile-nav .inner-header.scrolled {
    position:fixed;
    right:0;
    left:0;
    z-index:1100;
    width:100%;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  body.inner-page.premium-mobile-nav .inner-header { top:34px; }
  body.inner-page.premium-mobile-nav .inner-header.scrolled { top:0; }
  body.inner-page.premium-mobile-nav main { padding-top:78px; }
}

/* Match the universal 75% blue glass navigation treatment. */
.inner-page .inner-header,
.inner-page .inner-header.scrolled,
.franchise-page .inner-header,
.franchise-page .inner-header.scrolled {
  background:
    linear-gradient(115deg,rgba(255,255,255,.12),rgba(255,255,255,.025) 46%,rgba(2,72,142,.08)),
    rgba(11,133,218,.75);
  border-bottom-color:rgba(205,242,255,.42);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}

.inner-page { color: var(--inner-ink); background: #f8fbf5; }
.section-shell { width: var(--inner-shell); margin-inline: auto; }

.inner-header {
  position: sticky;
  top: 0;
  z-index: 30;
  color: #fff;
  background: linear-gradient(110deg, rgba(4, 52, 41, .96), rgba(5, 45, 65, .94));
  border-bottom: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 42px rgba(3, 27, 28, .18);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
}
.inner-header.scrolled { background: linear-gradient(110deg, rgba(3,48,38,.82), rgba(4,42,62,.79)); backdrop-filter: blur(34px) saturate(170%); -webkit-backdrop-filter: blur(34px) saturate(170%); }
.inner-header .site-nav a { color: #fff; font-weight: 500; }
.inner-header .site-nav a::after { background: var(--leaf); }
.inner-header .site-nav a.active::after { transform: scaleX(1); }

.inner-hero { position: relative; min-height: 680px; overflow: hidden; isolation: isolate; color: #fff; background: #063c36; }
.inner-hero-media { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.inner-hero::before { content:""; position:absolute; inset:0; z-index:-2; background: linear-gradient(90deg, rgba(4,34,39,.95) 0%, rgba(4,40,43,.8) 34%, rgba(4,41,43,.32) 58%, rgba(4,35,48,.08) 74%, rgba(4,35,48,.16) 100%); }
.inner-hero::after { content:""; position:absolute; inset:auto 0 0; z-index:-1; height:180px; background:linear-gradient(180deg,transparent,var(--inner-sage)); clip-path:ellipse(75% 58% at 50% 100%); }
.inner-hero-shell { width: var(--inner-shell); min-height: 610px; margin-inline:auto; padding:80px 0 112px; display:flex; align-items:center; }
.inner-hero-copy { max-width:730px; }
.inner-hero h1 { margin:0; font-family:var(--editorial); font-size:clamp(68px,7vw,108px); font-weight:600; letter-spacing:-.055em; line-height:.88; text-shadow:0 18px 45px rgba(2,22,28,.28); }
.inner-hero h1 em { display:block; color:#aada48; font-weight:500; line-height:1; }
.services-hero-title > span { display:block; }
.services-mobile-break { display:none; }
@media (min-width:981px) {
  .services-hero-copy { max-width:920px; }
  .inner-hero .services-hero-title { font-size:clamp(66px,6vw,92px); }
  .services-hero-title > span { white-space:nowrap; }
}
.inner-hero-copy > p { max-width:640px; margin:26px 0 0; color:rgba(255,255,255,.86); font-size:clamp(18px,1.5vw,22px); line-height:1.6; }
.inner-hero-actions { margin-top:34px; display:flex; align-items:center; gap:24px; }
.inner-hero-actions .button { min-height:58px; padding-inline:30px; border-radius:999px; font-size:15px; box-shadow:0 18px 35px rgba(0,25,30,.26); }
.inner-hero-actions .text-link { width:fit-content; margin:0; padding-bottom:4px; align-self:center; color:#fff; font-size:14px; font-weight:650; line-height:1.2; border-bottom:1px solid rgba(255,255,255,.42); transform:none; }
.inner-hero-trust { position:absolute; right:0; bottom:0; left:0; z-index:2; min-height:72px; padding:0 max(40px,calc((100% - 1240px)/2)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; color:#123f3e; background:rgba(238,247,230,.94); border-top:1px solid rgba(255,255,255,.6); backdrop-filter:blur(18px); }
.inner-hero-trust span { text-align:center; font-size:13px; font-weight:650; }
.inner-hero-trust span + span { border-left:1px solid rgba(5,71,57,.18); }
.services-trust > span { display:flex; align-items:center; justify-content:center; gap:12px; }
.services-trust > span > span { border:0; }
.service-trust-icon { width:29px; height:29px; flex:0 0 29px; fill:none; stroke:#08734f; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 4px 8px rgba(5,71,57,.1)); }
.service-trust-icon .service-trust-accent { stroke:#79a92f; stroke-width:2; }
.areas-page .inner-hero-trust span { display:flex; align-items:center; justify-content:center; gap:12px; }
.area-trust-icon { width:27px; height:27px; flex:0 0 27px; fill:none; stroke:#08734f; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 4px 8px rgba(5,71,57,.1)); }
.inspection-page .inner-hero-trust span { display:flex; align-items:center; justify-content:center; gap:12px; }
.inspection-trust-icon { width:27px; height:27px; flex:0 0 27px; fill:none; stroke:#08734f; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 4px 8px rgba(5,71,57,.1)); }
.inspection-trust-icon .inspection-trust-accent { stroke:#79a92f; stroke-width:1.9; }
.story-trust > span { min-width:0; display:flex; align-items:center; justify-content:center; gap:12px; }
.story-trust > span > span { min-width:0; padding-inline:0; border:0; overflow-wrap:anywhere; }
.story-trust-icon { width:29px; height:29px; flex:0 0 29px; fill:none; stroke:#08734f; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 4px 8px rgba(5,71,57,.1)); }
.story-trust-icon .story-trust-accent { stroke:#79a92f; stroke-width:1.8; }
.insulation-trust > span { min-width:0; display:flex; align-items:center; justify-content:center; gap:12px; }
.insulation-trust > span > span { min-width:0; padding-inline:0; border:0; overflow-wrap:anywhere; }
.insulation-trust-icon { width:29px; height:29px; flex:0 0 29px; fill:none; stroke:#08734f; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 4px 8px rgba(5,71,57,.1)); }
.insulation-trust-icon .insulation-trust-accent { stroke:#79a92f; stroke-width:1.9; }

.editorial-intro { position:relative; overflow:hidden; padding:clamp(90px,10vw,150px) 0; background: radial-gradient(circle at 88% 20%,rgba(12,137,175,.13),transparent 32%), radial-gradient(circle at 8% 90%,rgba(161,211,76,.2),transparent 38%), linear-gradient(135deg,#f8fbf3,var(--inner-sage)); }
.editorial-intro::after { content:""; position:absolute; width:520px; height:520px; right:-240px; top:-250px; border:1px solid rgba(7,117,142,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(7,117,142,.025),0 0 0 140px rgba(7,117,142,.018); }
.editorial-intro-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .85fr; gap:clamp(60px,9vw,140px); align-items:start; }
.editorial-intro h2,.service-story h2,.confidence-band h2,.inner-process h2,.inner-booking h2,.story-heading,.area-heading,.inspection-heading { margin:0; font-family:var(--editorial); font-weight:600; letter-spacing:-.05em; line-height:.98; }
.editorial-intro h2 { max-width:700px; font-size:clamp(54px,6vw,88px); }
.editorial-intro p { margin:0; color:var(--inner-muted); font-size:17px; line-height:1.8; }
.editorial-intro p + p { margin-top:22px; }
.editorial-intro .lead-copy { color:#163f47; font-size:clamp(19px,1.6vw,23px); }
.services-page .editorial-intro p,
.services-page .editorial-intro .lead-copy {
  color:#395462;
  font-family:var(--sans);
  font-size:16px;
  font-weight:400;
  letter-spacing:normal;
  line-height:1.65;
}
.services-page .editorial-intro h2 em { display:block; color:#08734f; font-weight:500; font-style:italic; }
.services-intro-copy { max-width:560px; }
.services-intro-points { margin:34px 0 0; padding:0; list-style:none; border-top:1px solid rgba(5,71,57,.18); }
.services-intro-points li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; align-items:center; padding:15px 0; border-bottom:1px solid rgba(5,71,57,.16); }
.services-intro-points li > span { color:#08769d; font-family:var(--editorial); font-size:25px; font-weight:600; font-style:italic; line-height:1; }
.services-intro-points strong { display:block; color:#123f3e; font-size:14px; font-weight:750; letter-spacing:-.01em; line-height:1.3; }
.services-intro-points small { display:block; margin-top:3px; color:#526e72; font-size:12.5px; font-weight:500; line-height:1.5; }
.story-page .editorial-intro p,
.story-page .editorial-intro .lead-copy {
  color:#395462;
  font-family:var(--sans);
  font-size:16px;
  font-weight:500;
  letter-spacing:normal;
  line-height:1.72;
}
.areas-page .editorial-intro p,
.areas-page .editorial-intro .lead-copy {
  color:#395462;
  font-family:var(--sans);
  font-size:clamp(18px,1.45vw,21px);
  font-weight:500;
  letter-spacing:normal;
  line-height:1.7;
}
.areas-page .editorial-intro h2 em { display:block; color:#08734f; font-weight:500; font-style:italic; }
.areas-intro-copy { max-width:610px; }
.areas-intro-kicker { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:#08769d; font:700 12px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; }
.areas-intro-kicker::before { content:""; width:34px; height:1px; background:linear-gradient(90deg,#08769d,#94c83d); }
.areas-intro-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:34px 0 0; padding:20px 0 0; border-top:1px solid rgba(5,71,57,.18); }
.areas-intro-details > div { min-width:0; padding-right:18px; }
.areas-intro-details > div + div { padding-left:18px; border-left:1px solid rgba(5,71,57,.15); }
.areas-intro-details dt { color:#0b614e; font:600 italic 23px/1 var(--editorial); }
.areas-intro-details dd { margin:7px 0 0; color:#526e72; font:600 11.5px/1.45 var(--sans); }

.service-stories { overflow:hidden; padding:clamp(90px,10vw,150px) 0; background:#fff; }
.service-story { display:grid; grid-template-columns:1.05fr .85fr; gap:clamp(56px,8vw,120px); align-items:center; }
.service-story + .service-story { margin-top:clamp(110px,13vw,190px); }
.service-story-reverse .service-story-media { order:2; }
.services-page .service-story-reverse { position:relative; isolation:isolate; }
.services-page .service-story-reverse::before {
  content:"";
  position:absolute;
  top:clamp(-90px,-6vw,-58px);
  bottom:clamp(-90px,-6vw,-58px);
  left:50%;
  z-index:-1;
  width:100vw;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse 35% 72% at 84% 48%, transparent 0 47%, rgba(8,127,166,.14) 47.2% 47.45%, transparent 47.7% 59%, rgba(8,127,166,.075) 59.2% 59.45%, transparent 59.7%),
    radial-gradient(circle at 14% 72%, rgba(157,207,75,.16), transparent 31%),
    repeating-linear-gradient(132deg, transparent 0 84px, rgba(6,76,63,.025) 85px, transparent 86px),
    linear-gradient(108deg,#f8fbf5 0%,#ffffff 48%,#eaf7f6 100%);
  border-block:1px solid rgba(7,95,69,.08);
  box-shadow:inset 0 28px 70px rgba(255,255,255,.72),inset 0 -24px 64px rgba(6,84,71,.035);
}
.service-story-media { position:relative; margin:0; }
.service-story-media::before { content:""; position:absolute; inset:24px -24px -24px 24px; z-index:0; border:1px solid rgba(8,125,166,.25); border-radius:34px; }
.service-story-media img { position:relative; z-index:1; width:100%; aspect-ratio:1.24; object-fit:cover; border-radius:34px; box-shadow:0 28px 65px rgba(5,47,47,.18); }
.service-story-copy { padding-inline:clamp(0px,2vw,28px); }
.service-story h2 { color:var(--inner-ink); font-size:clamp(54px,5.5vw,82px); }
.service-story h2 em,.confidence-band h2 em,.inner-process h2 em,.inner-booking h2 em { display:block; color:#08734f; font-weight:500; }
.service-story-copy > p { margin:24px 0 0; color:var(--inner-muted); font-size:17px; line-height:1.78; }
.refined-list { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid rgba(8,55,53,.15); }
.refined-list li { position:relative; padding:14px 0 14px 28px; color:#173f42; border-bottom:1px solid rgba(8,55,53,.12); font-weight:600; }
.refined-list li::before { content:""; position:absolute; left:2px; top:21px; width:8px; height:8px; background:#91c83e; border-radius:50%; box-shadow:0 0 0 6px rgba(145,200,62,.14); }
.premium-inline-link { margin-top:28px; display:inline-flex; align-items:center; gap:16px; color:#075f45; font-weight:750; }
.premium-inline-link span { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#08739d,#075f45); border-radius:50%; transition:transform .2s ease; }
.premium-inline-link:hover span { transform:translateX(4px); }

.confidence-band { position:relative; overflow:hidden; padding:clamp(86px,9vw,130px) 0; color:#fff; background:radial-gradient(circle at 84% 20%,rgba(35,157,188,.25),transparent 36%),radial-gradient(circle at 8% 88%,rgba(144,199,62,.17),transparent 34%),linear-gradient(120deg,#063143,#064f42 56%,#075c43); }
.confidence-band::after { content:""; position:absolute; right:-160px; bottom:-260px; width:620px; height:620px; border:1px solid rgba(170,218,72,.18); border-radius:50%; box-shadow:0 0 0 90px rgba(170,218,72,.03); }
.confidence-grid { position:relative; z-index:1; display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,9vw,140px); align-items:center; }
.confidence-band h2 { font-size:clamp(52px,5.3vw,80px); }
.confidence-band h2 em { color:#b8e34f; }
.confidence-title-line { display:block; white-space:nowrap; }
.confidence-band h2 .confidence-title-line em { display:inline; }
.confidence-points { border-top:1px solid rgba(255,255,255,.2); }
.confidence-points p { margin:0; padding:22px 0; display:grid; grid-template-columns:120px 1fr; gap:24px; border-bottom:1px solid rgba(255,255,255,.16); }
.confidence-points strong { font-family:var(--editorial); font-size:26px; font-weight:600; }
.confidence-points span { color:rgba(255,255,255,.7); line-height:1.6; }

.inner-process { position:relative; overflow:hidden; padding:clamp(100px,11vw,160px) 0; background:radial-gradient(circle at 92% 8%,rgba(5,137,184,.15),transparent 34%),linear-gradient(135deg,#f8fbf3,#e9f5e3); }
.inner-process h2 { max-width:900px; margin-inline:auto; text-align:center; font-size:clamp(56px,6vw,88px); }
.process-rail { position:relative; margin-top:84px; display:grid; grid-template-columns:repeat(3,1fr); gap:60px; }
.process-rail::before { content:""; position:absolute; top:9px; left:8%; right:8%; height:1px; background:linear-gradient(90deg,#7dbf3d,#0b92bd,#075f45); }
.process-rail article { position:relative; padding-top:43px; text-align:center; }
.process-rail article > span { position:absolute; top:0; left:50%; width:19px; height:19px; background:#075f45; border:5px solid #f1f8eb; border-radius:50%; box-shadow:0 0 0 1px rgba(5,95,69,.28),0 8px 16px rgba(4,55,53,.16); transform:translateX(-50%); }
.process-rail h3 { margin:0; font-family:var(--editorial); font-size:clamp(27px,2.5vw,36px); font-weight:600; }
.process-rail p { max-width:330px; margin:14px auto 0; color:var(--inner-muted); line-height:1.7; }

.inner-booking { position:relative; overflow:hidden; padding:clamp(84px,9vw,126px) 0; background-color:#f5f7ed; background-image:linear-gradient(90deg,rgba(250,249,241,.18),rgba(237,248,245,.06)),url("/optimized-assets/green-faith-booking-background.webp"); background-position:center; background-size:cover; }
.inner-booking-grid { display:grid; grid-template-columns:1fr .78fr; gap:80px; align-items:center; }
.inner-booking h2 { font-size:clamp(55px,5.8vw,86px); }
.inner-booking p { color:var(--inner-muted); font-size:18px; }
.inner-booking-actions { width:min(100%,600px); display:grid; gap:14px; justify-self:center; justify-items:stretch; }
.booking-primary,.booking-phone { min-height:64px; padding:0 26px; display:flex; align-items:center; justify-content:center; border-radius:999px; font-weight:700; box-shadow:0 18px 34px rgba(4,51,53,.16); }
.booking-primary { color:#fff; background:linear-gradient(120deg,#083e5a,#087fa6); }
.booking-phone { gap:18px; color:#082841; background:linear-gradient(110deg,#edf8df,#caeff1); border:1px solid rgba(8,125,166,.22); }
.booking-phone span { color:#08769d; font-size:12px; font-weight:750; }
.booking-phone strong { font-size:20px; }

.inner-page .inspection-cta {
  min-width:0;
  min-height:56px;
  height:56px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:#fff;
  background:linear-gradient(135deg,#075f45,#064331);
  border:0;
  border-radius:999px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:700;
  letter-spacing:.005em;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 14px 30px rgba(5,46,36,.2),inset 0 1px 0 rgba(255,255,255,.12);
  transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.inner-page .inspection-cta .calendar-icon { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.inner-page .inspection-cta:hover,.inner-page .inspection-cta:focus-visible { color:#fff; background:var(--ocean-deep); transform:translateY(-2px); box-shadow:0 14px 30px rgba(5,46,36,.22); }
.inner-booking-actions .inspection-cta { width:100%; }
.inner-page .inner-booking-actions .inspection-cta .calendar-icon,
.inner-page .inner-booking-actions .booking-phone .phone-icon {
  position:static;
  left:auto;
  width:24px;
  height:24px;
  padding:0;
  flex:0 0 24px;
  color:currentColor;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.inner-page .inner-booking-actions .booking-phone { min-height:56px; padding:0 22px; justify-content:center; gap:18px; }
.inner-page .inner-booking-actions .booking-phone .phone-icon { fill:none; stroke:#08769d; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Keep shared booking calls to action legible at every container width. */
.inner-page .inner-booking-actions { container-type:inline-size; }
.inner-page .inner-booking-actions .booking-primary {
  white-space:nowrap;
  font-size:clamp(14px,4.2cqw,16px);
}
.inner-page .inner-booking-actions .booking-phone {
  display:grid;
  grid-template-columns:24px minmax(0,max-content);
  grid-template-rows:auto auto;
  column-gap:14px;
  row-gap:2px;
  align-content:center;
  justify-content:center;
  justify-items:start;
  min-width:0;
  padding:9px 22px;
}
.inner-page .inner-booking-actions .booking-phone .phone-icon {
  grid-column:1;
  grid-row:1 / 3;
  align-self:center;
}
.inner-page .inner-booking-actions .booking-phone span,
.inner-page .inner-booking-actions .booking-phone strong {
  grid-column:2;
  min-width:0;
  white-space:nowrap;
  line-height:1.15;
}
.inner-page .inner-booking-actions .booking-phone span {
  font-size:clamp(10px,3.2cqw,12px);
}
.inner-page .inner-booking-actions .booking-phone strong {
  font-size:clamp(14px,5cqw,20px);
}

/* Shared editorial inner-page patterns */
.split-section { padding:clamp(90px,10vw,150px) 0; background:#fff; }
.split-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,9vw,130px); align-items:center; }
.split-grid.reverse .split-media { order:2; }
.split-copy h2,.story-heading,.area-heading,.inspection-heading { margin:0; font-family:var(--editorial); font-size:clamp(54px,5.7vw,84px); font-weight:600; letter-spacing:-.05em; line-height:.98; }
.split-copy h2 em,.story-heading em,.area-heading em,.inspection-heading em { display:block; color:#08734f; font-weight:500; }
.split-copy p { color:var(--inner-muted); font-size:17px; line-height:1.8; }
.split-media { margin:0; }
.split-media img { width:100%; aspect-ratio:1.22; object-fit:cover; border-radius:34px; box-shadow:0 28px 65px rgba(5,47,47,.18); }
.regional-advice-media img { object-position:center 48%; }
.attic-before-after { position:relative; isolation:isolate; aspect-ratio:1.48; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid rgba(255,255,255,.86); border-radius:34px; box-shadow:0 28px 65px rgba(5,47,47,.18),0 0 0 8px rgba(238,247,230,.42); }
.attic-before-after::after { content:""; position:absolute; top:0; bottom:0; left:50%; z-index:2; width:1px; background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.92),rgba(255,255,255,.35)); box-shadow:0 0 16px rgba(4,45,45,.2); }
.attic-before-after span { display:block; background-image:url("/optimized-assets/green-faith-existing-before-after.webp"); background-repeat:no-repeat; }
.attic-before-panel { background-size:224% auto; background-position:left center; }
.attic-after-panel { background-size:181% auto; background-position:right center; }
.story-preparation { background:radial-gradient(circle at 10% 86%,rgba(163,213,77,.13),transparent 34%),linear-gradient(135deg,#fbfcf8,#f1f8ed); }
.story-preparation .split-grid { grid-template-columns:1.05fr .95fr; gap:clamp(48px,6vw,90px); }
.story-preparation .split-copy { max-width:none; }
.story-preparation .split-copy h2 { font-size:clamp(54px,5vw,76px); }
.story-preparation .split-copy h2 > span { display:block; white-space:nowrap; }
.story-preparation .split-media img { object-position:right center; border:1px solid rgba(255,255,255,.8); box-shadow:0 30px 72px rgba(5,47,47,.2),0 0 0 10px rgba(255,255,255,.48); }
.insulation-purpose { background:radial-gradient(circle at 8% 84%,rgba(163,213,77,.12),transparent 34%),linear-gradient(135deg,#fbfcf8,#f0f7ec); }
.insulation-purpose .split-copy h2 { margin:0; font-family:var(--editorial); font-size:clamp(54px,5.7vw,84px); font-weight:600; letter-spacing:-.05em; line-height:.98; }
.insulation-purpose .split-copy h2 em { display:block; color:#08734f; font-weight:500; }
.insulation-purpose .split-media img { border:1px solid rgba(255,255,255,.82); box-shadow:0 30px 72px rgba(5,47,47,.19),0 0 0 10px rgba(255,255,255,.46); }

/* Attic insulation page: homepage-inspired premium light-section atmosphere */
.insulation-page .editorial-intro {
  isolation:isolate;
  background:
    linear-gradient(118deg,transparent 0 24%,rgba(255,255,255,.48) 24.15% 39%,transparent 39.15%),
    radial-gradient(ellipse at 90% 14%,rgba(8,127,189,.19),rgba(8,127,189,.045) 29%,transparent 54%),
    radial-gradient(ellipse at 7% 88%,rgba(145,200,62,.23),rgba(145,200,62,.055) 31%,transparent 58%),
    linear-gradient(142deg,#fbfdf8 0%,#f1f8ed 43%,#eaf5f3 100%);
  box-shadow:inset 0 70px 120px rgba(255,255,255,.28),inset 0 -70px 130px rgba(7,81,58,.035);
}
.insulation-page .editorial-intro::before {
  content:"";
  position:absolute;
  bottom:-230px;
  left:-185px;
  z-index:-1;
  width:570px;
  height:430px;
  border:1px solid rgba(7,117,142,.1);
  border-radius:50%;
  box-shadow:0 0 0 62px rgba(145,200,62,.025),0 0 0 124px rgba(8,127,189,.02);
  transform:rotate(12deg);
}
.insulation-page .editorial-intro::after {
  right:-220px;
  top:-260px;
  width:640px;
  height:640px;
  border-color:rgba(255,255,255,.72);
  box-shadow:0 0 0 72px rgba(8,127,189,.035),0 0 0 144px rgba(145,200,62,.02),-36px 48px 100px rgba(6,73,62,.05);
}
.insulation-page .split-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.insulation-page .split-section > .section-shell { position:relative; z-index:1; }
.insulation-page .split-section:not(.insulation-purpose) {
  background:
    repeating-linear-gradient(132deg,transparent 0 92px,rgba(7,81,58,.024) 93px,transparent 94px),
    radial-gradient(ellipse at 15% 42%,rgba(145,200,62,.105),transparent 38%),
    radial-gradient(ellipse at 86% 72%,rgba(8,127,189,.105),transparent 42%),
    linear-gradient(112deg,#fff 0%,#fafcf8 48%,#eff8f6 100%);
  border-block:1px solid rgba(7,81,58,.07);
}
.insulation-page .split-section:not(.insulation-purpose)::before {
  content:"";
  position:absolute;
  top:-310px;
  right:-270px;
  z-index:0;
  width:700px;
  height:700px;
  border:1px solid rgba(8,127,189,.13);
  border-radius:50%;
  box-shadow:0 0 0 74px rgba(8,127,189,.028),0 0 0 148px rgba(145,200,62,.018);
}
.insulation-page .split-section:not(.insulation-purpose)::after {
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:38%;
  height:2px;
  background:linear-gradient(90deg,#91c83e,#0b92bd,transparent);
  opacity:.7;
}
.insulation-page .insulation-purpose {
  background:
    linear-gradient(122deg,transparent 0 47%,rgba(255,255,255,.5) 47.15% 61%,transparent 61.15%),
    radial-gradient(ellipse at 9% 76%,rgba(145,200,62,.22),transparent 36%),
    radial-gradient(ellipse at 78% 18%,rgba(8,127,189,.14),transparent 37%),
    linear-gradient(140deg,#f9fcf5,#edf7e9 48%,#eef7f5);
  box-shadow:inset 0 72px 130px rgba(255,255,255,.38),inset 0 -72px 130px rgba(7,81,58,.04);
}
.insulation-page .insulation-purpose::before {
  content:"";
  position:absolute;
  left:-250px;
  bottom:-325px;
  z-index:0;
  width:680px;
  height:680px;
  border:1px solid rgba(7,95,69,.115);
  border-radius:46% 54% 58% 42% / 52% 43% 57% 48%;
  box-shadow:0 0 0 76px rgba(145,200,62,.025),0 0 0 152px rgba(8,127,189,.018);
  transform:rotate(-13deg);
}
.insulation-page .insulation-purpose::after {
  content:"";
  position:absolute;
  top:0;
  right:7%;
  width:34%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(8,127,189,.5),#91c83e,transparent);
}
.insulation-page .inner-process {
  isolation:isolate;
  background:
    linear-gradient(118deg,transparent 0 27%,rgba(255,255,255,.47) 27.15% 42%,transparent 42.15%),
    radial-gradient(ellipse at 88% 12%,rgba(8,127,189,.2),rgba(8,127,189,.045) 31%,transparent 55%),
    radial-gradient(ellipse at 9% 91%,rgba(145,200,62,.22),rgba(145,200,62,.05) 32%,transparent 58%),
    linear-gradient(145deg,#fbfdf8 0%,#f0f8eb 44%,#eaf5f3 76%,#f7fbf7 100%);
  box-shadow:inset 0 90px 150px rgba(255,255,255,.32),inset 0 -105px 165px rgba(7,81,58,.04);
}
.insulation-page .inner-process::before {
  content:"";
  position:absolute;
  top:-285px;
  right:-235px;
  z-index:-1;
  width:720px;
  height:720px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:43% 57% 48% 52% / 55% 42% 58% 45%;
  background:conic-gradient(from 206deg,rgba(8,127,189,.035),rgba(145,200,62,.09),rgba(255,255,255,.16),rgba(8,127,189,.065));
  box-shadow:inset 30px 24px 78px rgba(255,255,255,.25),-38px 52px 110px rgba(8,93,111,.07);
  transform:rotate(-14deg);
}
.insulation-page .inner-process::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:radial-gradient(circle,rgba(7,81,58,.095) 0 1px,transparent 1.25px);
  background-size:22px 22px;
  mask-image:linear-gradient(100deg,transparent 0 58%,#000 84%,transparent 100%);
  opacity:.34;
}
.insulation-page .inner-booking {
  border-top:1px solid rgba(8,127,189,.14);
  box-shadow:inset 0 38px 90px rgba(255,255,255,.24),inset 0 -30px 80px rgba(7,81,58,.035);
}
.proof-strip { padding:62px 0; color:#fff; background:linear-gradient(115deg,#063143,#075f45); }
.proof-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.proof-strip p { margin:0; padding:8px 34px; text-align:center; }
.proof-strip p + p { border-left:1px solid rgba(255,255,255,.2); }
.proof-strip strong { display:block; font-family:var(--editorial); font-size:30px; font-weight:600; }
.proof-strip span { color:rgba(255,255,255,.7); font-size:13px; }

.areas-list {
  position:relative;
  padding:clamp(90px,10vw,150px) 0;
  color:#fff;
  background:
    linear-gradient(100deg,rgba(3,46,39,.87) 0%,rgba(4,57,48,.74) 46%,rgba(4,47,53,.66) 100%),
    url("/optimized-assets/green-faith-service-areas-section.webp") center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(255,255,255,.1);
}
.area-heading { max-width:850px; }
.areas-list .area-heading em { color:#aada48; }
.area-lines { margin-top:60px; border-top:1px solid rgba(255,255,255,.28); }
.area-line { padding:28px 0; display:grid; grid-template-columns:1fr 1.2fr; gap:50px; border-bottom:1px solid rgba(255,255,255,.22); }
.area-line h3 { margin:0; font-family:var(--editorial); font-size:34px; font-weight:600; }
.area-line p { margin:0; color:rgba(239,249,246,.82); line-height:1.7; }

.inspection-section { padding:clamp(90px,10vw,150px) 0; background:radial-gradient(circle at 90% 10%,rgba(8,143,183,.13),transparent 32%),linear-gradient(135deg,#f8fbf3,#edf7e8); }
.inspection-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(60px,8vw,120px); align-items:start; }
.inspection-copy p { color:var(--inner-muted); font-size:17px; line-height:1.8; }
.inspection-benefits li { display:flex; align-items:center; gap:15px; padding:14px 0; }
.inspection-benefits li::before { display:none; }
.inspection-benefits svg { width:30px; height:30px; flex:0 0 30px; fill:none; stroke:#08734f; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 5px 8px rgba(5,71,57,.1)); }
.inspection-benefits .icon-accent { stroke:#83b832; stroke-width:2; }
.inspection-form { position:relative; isolation:isolate; padding:clamp(28px,4vw,48px); background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,252,249,.88)); border:1px solid rgba(255,255,255,.98); border-radius:30px; box-shadow:0 34px 80px rgba(5,57,53,.16),0 0 0 1px rgba(7,113,91,.06); backdrop-filter:blur(18px); }
.inspection-form::before { content:""; position:absolute; z-index:-1; inset:11px; pointer-events:none; border:1px solid rgba(8,127,166,.1); border-radius:22px; }
.inspection-form::after { content:""; position:absolute; z-index:-2; right:-16px; bottom:-16px; width:150px; height:150px; pointer-events:none; background:radial-gradient(circle,rgba(145,200,62,.13),transparent 68%); }
.inspection-form-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; padding-bottom:22px; border-bottom:1px solid rgba(5,71,57,.14); }
.inspection-form-intro span { display:block; margin-bottom:7px; color:#08769d; font:700 10.5px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.inspection-form-intro strong { display:block; color:#0a3b3b; font:600 28px/1 var(--editorial); letter-spacing:-.025em; }
.inspection-form-intro p { display:flex; align-items:center; gap:8px; margin:0; color:#557175; font:700 10.5px/1 var(--sans); white-space:nowrap; text-transform:uppercase; letter-spacing:.08em; }
.inspection-form-intro i { width:4px; height:4px; background:#91c83e; border-radius:50%; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:grid; gap:8px; }
.form-field.full { grid-column:1/-1; }
.form-field label { color:#123d40; font-size:12px; font-weight:750; letter-spacing:.015em; }
.form-field input,.form-field textarea { width:100%; min-height:56px; padding:13px 16px; color:var(--inner-ink); background:linear-gradient(145deg,rgba(247,251,247,.98),rgba(239,248,244,.92)); border:1px solid rgba(5,72,57,.2); border-radius:13px; box-shadow:inset 0 1px 0 rgba(255,255,255,.9); font:inherit; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.form-field textarea { min-height:130px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { outline:0; background:#fff; border-color:#087fa6; box-shadow:0 0 0 4px rgba(8,135,177,.12),inset 0 1px 0 #fff; }
.form-submit { width:100%; min-height:62px; margin-top:20px; padding:0 23px 0 28px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:linear-gradient(110deg,#075f45 0%,#07745c 52%,#087fa6 100%); border:0; border-radius:999px; box-shadow:0 16px 34px rgba(5,64,63,.22); font:700 15px var(--sans); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.form-submit svg { width:34px; height:34px; padding:8px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:50%; }
.form-submit:hover { transform:translateY(-2px); box-shadow:0 20px 40px rgba(5,64,63,.26); }
.form-status { margin:15px 0 0; color:#075f45; font-weight:650; }

@media (max-width: 980px) {
  :root { --inner-shell:min(100% - 48px, 1240px); }
  .inner-hero { min-height:620px; }
  .inner-hero-shell { min-height:550px; }
  .inner-hero h1 { font-size:clamp(62px,9vw,88px); }
  .editorial-intro-grid,.service-story,.confidence-grid,.inner-booking-grid,.split-grid,.inspection-grid { grid-template-columns:1fr; gap:55px; }
  .story-preparation .split-grid { grid-template-columns:1fr; }
  .story-preparation .split-copy h2 > span { white-space:normal; }
  .service-story-reverse .service-story-media,.split-grid.reverse .split-media { order:0; }
  .service-story-copy { max-width:720px; }
  .inner-booking-actions { max-width:620px; }
  .footer-shell { grid-template-columns:1.25fr 1fr 1fr; }
  .footer-contact { grid-column:2; }
}

@media (max-width: 720px) {
  /* Keep the shared mobile drawer and its close control above every inner-page hero. */
  .premium-mobile-nav.inner-page .inner-header {
    z-index: 1100;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .premium-mobile-nav.inner-page .inner-header.scrolled {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .premium-mobile-nav.inner-page .site-nav { z-index: 1101; }

  .premium-mobile-nav.inner-page .inner-header.scrolled .site-nav {
    top: 78px;
    height: calc(100dvh - 78px);
    max-height: calc(100dvh - 78px);
  }

  :root { --inner-shell:calc(100% - 34px); }
  .inner-page .utility-proof span:nth-child(2),.inner-page .utility-proof span:nth-child(3) { display:none; }
  .inner-hero { min-height:670px; }
  .inner-hero-media { object-position:62% center; }
  .inner-hero::before { background:linear-gradient(180deg,rgba(4,34,39,.88),rgba(4,40,43,.66) 68%,rgba(4,41,43,.34)); }
  .inner-hero-shell { min-height:598px; padding:70px 0 116px; align-items:flex-end; }
  .inner-hero h1 { font-size:clamp(56px,17vw,76px); }
  .inner-hero-copy > p { font-size:16px; }
  .inner-hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
  .inner-hero-actions .button { width:100%; }
  .inner-hero-actions .text-link { align-self:flex-start; }
  .inner-hero-trust { min-height:72px; padding-inline:12px; }
  .inner-hero-trust span { padding-inline:8px; font-size:9px; }
  .services-trust > span { gap:6px; }
  .service-trust-icon { width:20px; height:20px; flex-basis:20px; }
  .areas-page .inner-hero-trust span { gap:6px; }
  .area-trust-icon { width:20px; height:20px; flex-basis:20px; }
  .inspection-page .inner-hero-trust span { gap:6px; }
  .inspection-trust-icon { width:20px; height:20px; flex-basis:20px; }
  .story-trust > span { gap:6px; }
  .story-trust-icon { width:20px; height:20px; flex-basis:20px; }
  .insulation-trust { right:auto; width:100vw; box-sizing:border-box; }
  .insulation-trust > span { gap:6px; }
  .insulation-trust-icon { width:20px; height:20px; flex-basis:20px; }
  .editorial-intro,.service-stories,.inner-process,.areas-list,.inspection-section { padding-block:84px; }
  .editorial-intro h2,.service-story h2,.confidence-band h2,.inner-process h2,.inner-booking h2,.split-copy h2,.story-heading,.area-heading,.inspection-heading { font-size:clamp(48px,14vw,66px); }
  .confidence-band h2 { font-size:min(calc((100vw - 34px)/15.6),46px); }
  .service-story + .service-story { margin-top:100px; }
  .service-story-media::before { inset:14px -10px -14px 10px; }
  .service-story-media img,.split-media img { border-radius:24px; }
  .process-rail { margin-top:58px; grid-template-columns:1fr; gap:42px; }
  .process-rail::before { top:0; bottom:0; left:9px; right:auto; width:1px; height:auto; }
  .process-rail article { padding:0 0 0 42px; text-align:left; }
  .process-rail article > span { top:4px; left:9px; }
  .process-rail p { margin-left:0; }
  .confidence-points p { grid-template-columns:90px 1fr; }
  .proof-strip-grid { grid-template-columns:1fr; }
  .proof-strip p + p { border-top:1px solid rgba(255,255,255,.17); border-left:0; }
  .area-line { grid-template-columns:1fr; gap:8px; }
  .areas-intro-details { grid-template-columns:1fr; padding-top:0; border-top:0; }
  .areas-intro-details > div { padding:15px 0; border-top:1px solid rgba(5,71,57,.16); }
  .areas-intro-details > div + div { padding-left:0; border-left:0; }
  .areas-intro-details dt { font-size:25px; }
  .areas-intro-details dd { font-size:12.5px; }
  .inspection-form-intro { align-items:flex-start; flex-direction:column; gap:12px; }
  .inspection-form-intro strong { font-size:26px; }
  .form-grid { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
  .inner-page .inner-booking-actions .booking-phone {
    min-height:72px;
    height:auto;
    padding:10px 18px;
    column-gap:12px;
    row-gap:3px;
  }

  /* Services mobile layout */
  .services-page .inner-header {
    z-index:1100;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .services-page .inner-header.scrolled {
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .services-page .site-nav { z-index:1101; }
  .services-page .inner-header.scrolled .site-nav {
    top:78px;
    height:calc(100dvh - 78px);
    max-height:calc(100dvh - 78px);
  }

  .services-page .inner-hero { min-height:650px; }
  .services-page .inner-hero-media { object-position:58% center; }
  .services-page .inner-hero-shell {
    min-height:578px;
    padding:62px 0 108px;
    align-items:center;
    text-align:center;
  }
  .services-page .inner-hero-copy {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .services-page .inner-hero h1 {
    font-size:clamp(47px,13.2vw,60px);
    line-height:.92;
  }
  .services-page .services-mobile-break { display:inline; }
  .services-page .services-home-line { white-space:nowrap; }
  .services-page .services-home-line > em { display:inline; margin-left:.04em; }
  .services-page .inner-hero-copy > p {
    max-width:34rem;
    margin:22px auto 0;
    font-size:15px;
    line-height:1.6;
  }
  .services-page .inner-hero-actions {
    max-width:370px;
    margin:28px auto 0;
    align-items:center;
  }
  .services-page .inner-hero-actions .text-link { align-self:center; }
  .services-page .inner-hero-trust > span {
    min-width:0;
    padding:11px 5px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
  }
  .services-page .inner-hero-trust > span > span {
    padding:0;
    line-height:1.25;
    text-align:center;
  }
  .services-page .inner-hero-trust .service-trust-icon {
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .services-page .editorial-intro,
  .services-page .service-stories,
  .services-page .inner-process { padding-block:72px; }
  .services-page .editorial-intro-grid,
  .services-page .service-story,
  .services-page .confidence-grid,
  .services-page .inner-booking-grid { gap:38px; }
  .services-page .editorial-intro h2,
  .services-page .service-story h2,
  .services-page .confidence-band h2,
  .services-page .inner-process h2,
  .services-page .inner-booking h2 {
    max-width:620px;
    margin-inline:auto;
    font-size:clamp(40px,11.5vw,52px);
    line-height:1;
    text-align:center;
  }
  .services-page .editorial-intro h2 { max-width:540px; }
  .services-page .services-intro-copy,
  .services-page .service-story-copy {
    max-width:620px;
    margin-inline:auto;
    padding-inline:0;
    text-align:center;
  }
  .services-page .editorial-intro p,
  .services-page .editorial-intro .lead-copy,
  .services-page .service-story-copy > p,
  .services-page .inner-booking p {
    max-width:36rem;
    margin-inline:auto;
    font-size:15px;
    line-height:1.7;
    text-align:center;
  }
  .services-page .editorial-intro p + p { margin-top:18px; }
  .services-page .services-intro-points {
    margin-top:30px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid rgba(5,71,57,.16);
  }
  .services-page .services-intro-points li {
    min-width:0;
    padding:18px 8px;
    display:block;
    border-bottom:0;
    text-align:center;
  }
  .services-page .services-intro-points li + li { border-left:1px solid rgba(5,71,57,.14); }
  .services-page .services-intro-points li > span { display:block; margin-bottom:9px; font-size:23px; }
  .services-page .services-intro-points strong { font-size:12.5px; line-height:1.3; }
  .services-page .services-intro-points small { font-size:10.5px; line-height:1.45; }
  .services-page .service-story + .service-story { margin-top:82px; }
  .services-page .service-story-media { width:min(100%,560px); margin-inline:auto; }
  .services-page .service-story-copy > p { margin-top:20px; }
  .services-page .refined-list { margin-top:25px; }
  .services-page .refined-list li {
    min-width:0;
    padding:16px 7px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    font-size:11px;
    line-height:1.4;
    text-align:center;
    border-bottom:0;
  }
  .services-page .refined-list {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid rgba(8,55,53,.12);
  }
  .services-page .refined-list li + li { border-left:1px solid rgba(8,55,53,.12); }
  .services-page .refined-list li::before {
    position:static;
    flex:0 0 7px;
    width:7px;
    height:7px;
  }
  .services-page .premium-inline-link { justify-content:center; }
  .services-page .confidence-band { padding-block:72px; }
  .services-page .confidence-title-line { white-space:normal; }
  .services-page .confidence-points {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .services-page .confidence-points p {
    min-width:0;
    padding:18px 8px;
    display:block;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .services-page .confidence-points p + p { border-left:1px solid rgba(255,255,255,.14); }
  .services-page .confidence-points strong { display:block; font-size:22px; }
  .services-page .confidence-points span { display:block; margin-top:8px; font-size:10.5px; line-height:1.45; }
  .services-page .process-rail {
    margin-top:48px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 18px;
  }
  .services-page .process-rail::before { display:none; }
  .services-page .process-rail article {
    padding:30px 5px 0;
    text-align:center;
  }
  .services-page .process-rail article:nth-child(3) {
    width:calc(50% - 9px);
    grid-column:1 / -1;
    justify-self:center;
  }
  .services-page .process-rail article > span { top:0; left:50%; transform:translateX(-50%); }
  .services-page .process-rail h3 { font-size:clamp(23px,6.5vw,29px); }
  .services-page .process-rail p { margin:10px auto 0; font-size:11.5px; line-height:1.55; text-align:center; }
  .services-page .inner-booking { padding-block:72px; text-align:center; }
  .services-page .inner-booking p { margin-top:18px; }
  .services-page .inner-booking-actions { width:min(100%,390px); margin-inline:auto; }

  /* Attic insulation mobile layout */
  .insulation-page .inner-header {
    z-index:1100;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .insulation-page .inner-header.scrolled {
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .insulation-page .site-nav { z-index:1101; }
  .insulation-page .inner-header.scrolled .site-nav {
    top:78px;
    height:calc(100dvh - 78px);
    max-height:calc(100dvh - 78px);
  }

  .insulation-page .inner-hero { min-height:650px; }
  .insulation-page .inner-hero-media { object-position:57% center; }
  .insulation-page .inner-hero-shell {
    min-height:578px;
    padding:62px 0 108px;
    align-items:center;
    text-align:center;
  }
  .insulation-page .inner-hero-copy {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .insulation-page .inner-hero h1 {
    max-width:560px;
    margin-inline:auto;
    font-size:clamp(45px,12.8vw,58px);
    line-height:.94;
  }
  .insulation-page .inner-hero-copy > p {
    max-width:34rem;
    margin:22px auto 0;
    font-size:15px;
    line-height:1.6;
  }
  .insulation-page .inner-hero-actions {
    width:min(100%,370px);
    margin:28px auto 0;
    align-items:center;
  }
  .insulation-page .inner-hero-actions .text-link { align-self:center; }
  .insulation-page .inner-hero-trust > span {
    min-width:0;
    padding:11px 5px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
  }
  .insulation-page .inner-hero-trust > span > span {
    padding:0;
    line-height:1.25;
    text-align:center;
  }
  .insulation-page .inner-hero-trust .insulation-trust-icon {
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .insulation-page .editorial-intro,
  .insulation-page .split-section,
  .insulation-page .inner-process { padding-block:72px; }
  .insulation-page .editorial-intro-grid,
  .insulation-page .split-grid,
  .insulation-page .inner-booking-grid { gap:38px; }
  .insulation-page .editorial-intro h2,
  .insulation-page .split-copy h2,
  .insulation-page .inner-process h2,
  .insulation-page .inner-booking h2,
  .insulation-page .insulation-purpose .split-copy h2 {
    max-width:620px;
    margin-inline:auto;
    font-size:clamp(40px,11.5vw,52px);
    line-height:1;
    text-align:center;
  }
  .insulation-page .editorial-intro-grid > div,
  .insulation-page .split-copy {
    max-width:620px;
    margin-inline:auto;
    text-align:center;
  }
  .insulation-page .editorial-intro p,
  .insulation-page .editorial-intro .lead-copy,
  .insulation-page .split-copy p,
  .insulation-page .inner-booking p {
    max-width:36rem;
    margin-inline:auto;
    font-size:15px;
    line-height:1.7;
    text-align:center;
  }
  .insulation-page .editorial-intro p + p { margin-top:18px; }
  .insulation-page .split-media {
    width:min(100%,560px);
    margin-inline:auto;
  }
  .insulation-page .attic-before-after {
    width:min(100%,560px);
    aspect-ratio:1.34;
  }
  .insulation-page .attic-before-panel,
  .insulation-page .attic-after-panel { background-size:200% auto; }
  .insulation-page .attic-before-panel { background-position:left center; }
  .insulation-page .attic-after-panel { background-position:right center; }
  .insulation-page .split-copy > p { margin-top:20px; }
  .insulation-page .refined-list {
    margin-top:25px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-bottom:1px solid rgba(8,55,53,.12);
  }
  .insulation-page .refined-list li {
    min-width:0;
    padding:16px 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    font-size:11px;
    line-height:1.4;
    text-align:center;
  }
  .insulation-page .refined-list li:nth-child(odd) { border-right:1px solid rgba(8,55,53,.12); }
  .insulation-page .refined-list li::before {
    position:static;
    flex:0 0 7px;
    width:7px;
    height:7px;
  }
  .insulation-page .proof-strip { padding:38px 0; }
  .insulation-page .proof-strip-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .insulation-page .proof-strip p {
    min-width:0;
    padding:8px 7px;
  }
  .insulation-page .proof-strip p + p {
    border-top:0;
    border-left:1px solid rgba(255,255,255,.17);
  }
  .insulation-page .proof-strip strong { font-size:23px; }
  .insulation-page .proof-strip span {
    display:block;
    margin-top:6px;
    font-size:10px;
    line-height:1.4;
  }
  .insulation-page .premium-inline-link { justify-content:center; }
  .insulation-page .process-rail {
    margin-top:48px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 18px;
  }
  .insulation-page .process-rail::before { display:none; }
  .insulation-page .process-rail article {
    padding:30px 5px 0;
    text-align:center;
  }
  .insulation-page .process-rail article:nth-child(3) {
    width:calc(50% - 9px);
    grid-column:1 / -1;
    justify-self:center;
  }
  .insulation-page .process-rail article > span { top:0; left:50%; transform:translateX(-50%); }
  .insulation-page .process-rail h3 { font-size:clamp(23px,6.5vw,29px); }
  .insulation-page .process-rail p {
    margin:10px auto 0;
    font-size:11.5px;
    line-height:1.55;
    text-align:center;
  }
  .insulation-page .inner-booking {
    padding-block:72px;
    text-align:center;
  }
  .insulation-page .inner-booking p { margin-top:18px; }
  .insulation-page .inner-booking-actions {
    width:min(100%,390px);
    margin-inline:auto;
  }

  /* Our Story mobile layout */
  .story-page .inner-header {
    z-index:1100;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .story-page .inner-header.scrolled {
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .story-page .site-nav { z-index:1101; }
  .story-page .inner-header.scrolled .site-nav {
    top:78px;
    height:calc(100dvh - 78px);
    max-height:calc(100dvh - 78px);
  }

  .story-page .inner-hero { min-height:650px; }
  .story-page .inner-hero-media { object-position:58% center; }
  .story-page .inner-hero-shell {
    min-height:578px;
    padding:62px 0 108px;
    align-items:center;
    text-align:center;
  }
  .story-page .inner-hero-copy {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .story-page .inner-hero h1 {
    max-width:600px;
    margin-inline:auto;
    font-size:clamp(39px,11.8vw,52px);
    line-height:.95;
  }
  .story-page .inner-hero h1 > span,
  .story-page .inner-hero h1 > em {
    display:block;
    white-space:nowrap;
  }
  .story-page .inner-hero-copy > p {
    max-width:34rem;
    margin:22px auto 0;
    font-size:15px;
    line-height:1.6;
  }
  .story-page .inner-hero-actions {
    width:min(100%,370px);
    margin:28px auto 0;
    align-items:center;
  }
  .story-page .inner-hero-actions .text-link { align-self:center; }
  .story-page .inner-hero-trust > span {
    min-width:0;
    padding:11px 5px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
  }
  .story-page .inner-hero-trust > span > span {
    padding:0;
    line-height:1.25;
    text-align:center;
  }
  .story-page .inner-hero-trust .story-trust-icon {
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .story-page .editorial-intro,
  .story-page .split-section { padding-block:72px; }
  .story-page .editorial-intro-grid,
  .story-page .split-grid,
  .story-page .confidence-grid,
  .story-page .inner-booking-grid { gap:38px; }
  .story-page .editorial-intro h2,
  .story-page .split-copy h2,
  .story-page .confidence-band h2,
  .story-page .inner-booking h2,
  .story-page .story-preparation .split-copy h2 {
    max-width:620px;
    margin-inline:auto;
    font-size:clamp(40px,11.5vw,52px);
    line-height:1;
    text-align:center;
  }
  .story-page .editorial-intro-grid > div,
  .story-page .split-copy {
    max-width:620px;
    margin-inline:auto;
    text-align:center;
  }
  .story-page .editorial-intro p,
  .story-page .editorial-intro .lead-copy,
  .story-page .split-copy p,
  .story-page .inner-booking p {
    max-width:36rem;
    margin-inline:auto;
    font-size:15px;
    line-height:1.7;
    text-align:center;
  }
  .story-page .editorial-intro p + p,
  .story-page .split-copy p + p { margin-top:18px; }
  .story-page .split-media {
    width:min(100%,560px);
    margin-inline:auto;
  }
  .story-page .story-preparation .split-copy h2 {
    font-size:clamp(35px,10.5vw,48px);
  }
  .story-page .story-preparation .split-copy h2 > span { white-space:nowrap; }
  .story-page .premium-inline-link { justify-content:center; }

  .story-page .confidence-band { padding-block:72px; }
  .story-page .confidence-points {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .story-page .confidence-points p {
    min-width:0;
    padding:18px 7px;
    display:block;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .story-page .confidence-points p + p { border-left:1px solid rgba(255,255,255,.14); }
  .story-page .confidence-points strong {
    display:block;
    font-size:22px;
  }
  .story-page .confidence-points span {
    display:block;
    margin-top:8px;
    font-size:10.5px;
    line-height:1.45;
  }
  .story-page .inner-booking {
    padding-block:72px;
    text-align:center;
  }
  .story-page .inner-booking p { margin-top:18px; }
  .story-page .inner-booking-actions {
    width:min(100%,390px);
    margin-inline:auto;
  }

  /* Service Areas mobile layout */
  .areas-page .inner-hero {
    min-height:570px;
  }
  .areas-page .inner-hero-media {
    object-position:58% center;
  }
  .areas-page .inner-hero-shell {
    min-height:498px;
    padding:92px 0 60px;
    align-items:center;
    text-align:center;
  }
  .areas-page .inner-hero-copy {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .areas-page .inner-hero h1 {
    max-width:600px;
    margin-inline:auto;
    font-size:clamp(43px,12.2vw,56px);
    line-height:.94;
  }
  .areas-page .inner-hero h1 em {
    white-space:nowrap;
  }
  .areas-page .inner-hero-copy > p {
    max-width:34rem;
    margin:22px auto 0;
    font-size:15px;
    line-height:1.6;
  }
  .areas-page .inner-hero-actions {
    width:min(100%,370px);
    margin:28px auto 0;
    align-items:center;
  }
  .areas-page .inner-hero-actions .text-link {
    align-self:center;
  }
  .areas-page .inner-hero-trust > span {
    min-width:0;
    padding:11px 5px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    line-height:1.25;
    text-align:center;
  }
  .areas-page .inner-hero-trust .area-trust-icon {
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .areas-page .editorial-intro,
  .areas-page .areas-list,
  .areas-page .split-section {
    padding-block:72px;
  }
  .areas-page .editorial-intro-grid,
  .areas-page .split-grid,
  .areas-page .inner-booking-grid {
    gap:38px;
  }
  .areas-page .editorial-intro h2,
  .areas-page .area-heading,
  .areas-page .split-copy h2,
  .areas-page .inner-booking h2 {
    max-width:620px;
    margin-inline:auto;
    font-size:clamp(40px,11.5vw,52px);
    line-height:1;
    text-align:center;
  }
  .areas-page .areas-intro-copy,
  .areas-page .split-copy {
    max-width:620px;
    margin-inline:auto;
    text-align:center;
  }
  .areas-page .areas-intro-kicker {
    margin:0 auto 18px;
    justify-content:center;
  }
  .areas-page .areas-intro-kicker::after {
    content:"";
    width:34px;
    height:1px;
    background:linear-gradient(90deg,#94c83d,#08769d);
  }
  .areas-page .editorial-intro p,
  .areas-page .editorial-intro .lead-copy,
  .areas-page .split-copy p,
  .areas-page .inner-booking p {
    max-width:36rem;
    margin-inline:auto;
    font-size:15px;
    line-height:1.7;
    text-align:center;
  }
  .areas-page .editorial-intro p + p {
    margin-top:18px;
  }
  .areas-page .areas-intro-details {
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:30px;
    padding-top:18px;
    border-top:1px solid rgba(5,71,57,.16);
  }
  .areas-page .areas-intro-details > div {
    min-width:0;
    padding:4px 8px;
    border-top:0;
  }
  .areas-page .areas-intro-details > div + div {
    padding-left:8px;
    border-left:1px solid rgba(5,71,57,.14);
  }
  .areas-page .areas-intro-details dt {
    font-size:22px;
    text-align:center;
  }
  .areas-page .areas-intro-details dd {
    margin-top:8px;
    font-size:10px;
    line-height:1.4;
    text-align:center;
  }

  .areas-page .area-heading {
    max-width:560px;
  }
  .areas-page .area-lines {
    margin-top:42px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .areas-page .area-line {
    min-width:0;
    padding:24px 10px;
    display:block;
    text-align:center;
  }
  .areas-page .area-line:nth-child(odd) {
    border-right:1px solid rgba(255,255,255,.2);
  }
  .areas-page .area-line h3 {
    font-size:clamp(23px,6.5vw,29px);
    line-height:1.05;
  }
  .areas-page .area-line p {
    margin:11px auto 0;
    font-size:11px;
    line-height:1.55;
  }

  .areas-page .split-media {
    width:min(100%,560px);
    margin-inline:auto;
  }
  .areas-page .split-copy > p {
    margin-top:20px;
  }
  .areas-page .premium-inline-link {
    justify-content:center;
  }
  .areas-page .proof-strip {
    padding:38px 0;
  }
  .areas-page .proof-strip-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .areas-page .proof-strip p {
    min-width:0;
    padding:8px 7px;
  }
  .areas-page .proof-strip p + p {
    border-top:0;
    border-left:1px solid rgba(255,255,255,.17);
  }
  .areas-page .proof-strip strong {
    font-size:clamp(17px,5.2vw,22px);
  }
  .areas-page .proof-strip span {
    display:block;
    margin-top:7px;
    font-size:10px;
    line-height:1.4;
  }
  .areas-page .inner-booking {
    padding-block:72px;
    text-align:center;
  }
  .areas-page .inner-booking p {
    margin-top:18px;
  }
  .areas-page .inner-booking-actions {
    width:min(100%,390px);
    margin-inline:auto;
  }

  /* Free Inspection mobile layout */
  .inspection-page .inner-hero {
    min-height:570px;
  }
  .inspection-page .inner-hero-media {
    object-position:58% center;
  }
  .inspection-page .inner-hero-shell {
    min-height:498px;
    padding:92px 0 60px;
    align-items:center;
    text-align:center;
  }
  .inspection-page .inner-hero-copy {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .inspection-page .inner-hero h1 {
    max-width:600px;
    margin-inline:auto;
    font-size:clamp(43px,12.2vw,56px);
    line-height:.94;
  }
  .inspection-page .inner-hero h1 em {
    white-space:nowrap;
  }
  .inspection-page .inner-hero-copy > p {
    max-width:34rem;
    margin:22px auto 0;
    font-size:15px;
    line-height:1.6;
  }
  .inspection-page .inner-hero-actions {
    width:min(100%,370px);
    margin:28px auto 0;
    align-items:center;
  }
  .inspection-page .inner-hero-actions .text-link {
    align-self:center;
  }
  .inspection-page .inner-hero-trust > span {
    min-width:0;
    padding:11px 5px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    line-height:1.25;
    text-align:center;
  }
  .inspection-page .inner-hero-trust .inspection-trust-icon {
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .inspection-page .inspection-section,
  .inspection-page .inner-process {
    padding-block:72px;
  }
  .inspection-page .inspection-grid,
  .inspection-page .confidence-grid,
  .inspection-page .inner-booking-grid {
    gap:40px;
  }
  .inspection-page .inspection-copy {
    max-width:620px;
    margin-inline:auto;
    text-align:center;
  }
  .inspection-page .inspection-heading,
  .inspection-page .confidence-band h2,
  .inspection-page .inner-process h2,
  .inspection-page .inner-booking h2 {
    max-width:620px;
    margin-inline:auto;
    font-size:clamp(40px,11.5vw,52px);
    line-height:1;
    text-align:center;
  }
  .inspection-page .inspection-copy > p,
  .inspection-page .inner-booking p {
    max-width:36rem;
    margin:20px auto 0;
    font-size:15px;
    line-height:1.7;
    text-align:center;
  }
  .inspection-page .inspection-benefits {
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-bottom:1px solid rgba(8,55,53,.12);
  }
  .inspection-page .inspection-benefits li {
    min-width:0;
    min-height:112px;
    padding:17px 8px;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    font-size:11px;
    line-height:1.4;
    text-align:center;
    border-bottom:1px solid rgba(8,55,53,.12);
  }
  .inspection-page .inspection-benefits li:nth-child(odd) {
    border-right:1px solid rgba(8,55,53,.12);
  }
  .inspection-page .inspection-benefits svg {
    width:28px;
    height:28px;
    flex-basis:28px;
  }

  .inspection-page .inspection-form {
    width:min(100%,620px);
    margin-inline:auto;
    padding:24px 18px 20px;
    scroll-margin-top:118px;
    border-radius:24px;
    box-shadow:0 28px 62px rgba(5,57,53,.17),0 0 0 1px rgba(7,113,91,.055);
  }
  .inspection-page .inspection-form::before {
    inset:8px;
    border-radius:18px;
  }
  .inspection-page .inspection-form-intro {
    margin-bottom:24px;
    padding-bottom:20px;
    align-items:center;
    text-align:center;
  }
  .inspection-page .inspection-form-intro span {
    margin-bottom:8px;
    font-size:10px;
  }
  .inspection-page .inspection-form-intro strong {
    font-size:30px;
  }
  .inspection-page .inspection-form-intro p {
    justify-content:center;
    font-size:10px;
  }
  .inspection-page .form-grid {
    gap:16px;
  }
  .inspection-page .form-field {
    gap:9px;
  }
  .inspection-page .form-field label {
    font-size:13px;
    font-weight:750;
  }
  .inspection-page .form-field input,
  .inspection-page .form-field textarea {
    min-height:58px;
    padding:14px 15px;
    background:rgba(246,251,247,.94);
    border-radius:14px;
    font-size:16px;
  }
  .inspection-page .form-field textarea {
    min-height:126px;
  }
  .inspection-page .form-submit {
    min-height:64px;
    margin-top:22px;
    padding-left:24px;
    font-size:15px;
  }
  .inspection-page .form-status:empty {
    display:none;
  }

  .inspection-page .confidence-band {
    padding-block:72px;
  }
  .inspection-page .confidence-points {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .inspection-page .confidence-points p {
    min-width:0;
    padding:18px 7px;
    display:block;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .inspection-page .confidence-points p + p {
    border-left:1px solid rgba(255,255,255,.14);
  }
  .inspection-page .confidence-points strong {
    display:block;
    font-size:clamp(18px,5.1vw,22px);
  }
  .inspection-page .confidence-points span {
    display:block;
    margin-top:8px;
    font-size:10px;
    line-height:1.45;
  }

  .inspection-page .process-rail {
    margin-top:48px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 18px;
  }
  .inspection-page .process-rail::before {
    display:none;
  }
  .inspection-page .process-rail article {
    padding:30px 5px 0;
    text-align:center;
  }
  .inspection-page .process-rail article:nth-child(3) {
    width:calc(50% - 9px);
    grid-column:1 / -1;
    justify-self:center;
  }
  .inspection-page .process-rail article > span {
    top:0;
    left:50%;
    transform:translateX(-50%);
  }
  .inspection-page .process-rail h3 {
    font-size:clamp(23px,6.5vw,29px);
  }
  .inspection-page .process-rail p {
    margin:10px auto 0;
    font-size:11.5px;
    line-height:1.55;
    text-align:center;
  }
  .inspection-page .inner-booking {
    padding-block:72px;
    text-align:center;
  }
  .inspection-page .inner-booking-actions {
    width:min(100%,390px);
    margin-inline:auto;
  }

  /* Tighter shared hero finish for approved mobile inner pages */
  .services-page .inner-hero,
  .insulation-page .inner-hero,
  .story-page .inner-hero { min-height:570px; }
  .services-page .inner-hero-shell,
  .insulation-page .inner-hero-shell,
  .story-page .inner-hero-shell {
    min-height:498px;
    padding:92px 0 60px;
  }
}

/* Universal inner-page navigation: lock to the homepage's visible deep-blue glass color. */
body.inner-page .inner-header,
body.inner-page .inner-header.scrolled,
body.inner-page.premium-mobile-nav .inner-header,
body.inner-page.premium-mobile-nav .inner-header.scrolled {
  background:
    linear-gradient(115deg,rgba(255,255,255,.065),rgba(255,255,255,.018) 46%,rgba(2,72,142,.035)),
    rgba(11,88,133,.96);
  border-bottom-color:rgba(224,248,255,.48);
  box-shadow:0 18px 44px rgba(0,45,82,.18),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(30px) saturate(175%);
  -webkit-backdrop-filter:blur(30px) saturate(175%);
}

.franchise-hero-copy {
  max-width:930px;
}

.franchise-hero h1 {
  max-width:930px;
  font-size:clamp(60px,5.5vw,84px);
}

.franchise-title-line {
  display:block;
  white-space:nowrap;
}

.franchise-hero h1 em.franchise-title-line {
  white-space:nowrap;
}

.franchise-purpose h2 .purpose-title-line {
  display:block;
  white-space:nowrap;
}

/* Premium franchise inquiry surface. */
.franchise-interest {
  padding:clamp(104px,10vw,150px) 0;
  background:
    radial-gradient(circle at 7% 88%,rgba(161,211,76,.2),transparent 31%),
    radial-gradient(circle at 92% 10%,rgba(11,133,218,.13),transparent 34%),
    linear-gradient(135deg,#f4f9ed 0%,#fbfcf8 52%,#eef6ea 100%);
}

.franchise-interest-shell {
  position:relative;
  isolation:isolate;
  width:min(1080px,calc(100% - 48px));
  padding:clamp(56px,6vw,76px) clamp(42px,6.6vw,78px) clamp(44px,5.5vw,64px);
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,.97),rgba(251,253,251,.92)),
    #fff;
  border:1px solid rgba(6,71,58,.2);
  border-radius:34px;
  box-shadow:
    0 32px 78px rgba(4,48,45,.17),
    0 0 0 7px rgba(255,255,255,.48),
    inset 0 1px 0 #fff;
}

.franchise-interest-shell::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:2;
  height:9px;
  background:linear-gradient(90deg,#07513a 0%,#075f55 42%,#087fbd 76%,#082b57 100%);
}

.franchise-interest-shell::after {
  content:"";
  position:absolute;
  top:-140px;
  right:-90px;
  z-index:-1;
  width:430px;
  height:430px;
  border:1px solid rgba(8,127,189,.1);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(8,127,189,.025),0 0 0 108px rgba(145,200,62,.018);
}

.franchise-interest-heading {
  position:relative;
  z-index:1;
}

.franchise-interest h2 {
  font-size:clamp(54px,5.1vw,74px);
  line-height:.97;
}

.franchise-interest-heading > p {
  max-width:620px;
  margin:18px auto 0;
  font-size:16px;
  line-height:1.65;
}

.franchise-form {
  max-width:none;
  margin:42px 0 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.franchise-form-grid {
  gap:24px 28px;
}

.franchise-form .form-field--wide {
  grid-column:1 / -1;
}

.franchise-form .form-field label {
  margin-bottom:9px;
  color:#0b3534;
  font-size:14px;
  font-weight:750;
  letter-spacing:.005em;
}

.franchise-form .form-field input,
.franchise-form .form-field textarea {
  min-height:60px;
  padding:15px 17px;
  color:#0a3335;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,248,.94));
  border:1px solid rgba(5,78,61,.36);
  border-radius:14px;
  box-shadow:inset 0 1px 2px rgba(5,47,43,.035),0 1px 0 #fff;
  font-size:16px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.franchise-form .form-field textarea {
  min-height:132px;
  resize:vertical;
}

.franchise-form .form-field input:hover,
.franchise-form .form-field textarea:hover {
  border-color:rgba(5,95,69,.58);
}

.franchise-form .form-field input:focus,
.franchise-form .form-field textarea:focus {
  outline:0;
  background:#fff;
  border-color:#087fa6;
  box-shadow:0 0 0 4px rgba(8,127,189,.12),inset 0 1px 0 #fff;
}

.franchise-submit {
  min-height:76px;
  margin-top:30px;
  padding:8px 10px 8px 30px;
  justify-content:space-between;
  color:#fff;
  background:linear-gradient(102deg,#174f2d 0%,#075841 38%,#063c58 72%,#082d58 100%);
  border:1px solid rgba(183,226,78,.72);
  border-radius:999px;
  box-shadow:0 20px 42px rgba(3,54,53,.24),inset 0 1px 0 rgba(255,255,255,.22);
  font-size:18px;
}

.franchise-submit svg {
  width:56px;
  height:56px;
  padding:16px;
  flex:0 0 56px;
  color:#d0ef4d;
  border:2px solid #c8e94c;
  border-radius:50%;
}

.franchise-submit:hover,
.franchise-submit:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 24px 50px rgba(3,54,53,.31),0 0 0 4px rgba(145,200,62,.13);
}

.franchise-privacy {
  margin-top:22px;
  color:#425e62;
  font-size:12.5px;
}

.franchise-privacy svg {
  width:19px;
  height:19px;
  flex:0 0 19px;
  stroke:#075f45;
}

@media (max-width:720px) {
  .franchise-purpose h2 {
    font-size:clamp(34px,9.6vw,41px);
    letter-spacing:-.055em;
  }

  .franchise-purpose h2 .purpose-title-line {
    white-space:nowrap;
  }

  .franchise-interest {
    padding-block:78px;
  }

  .franchise-interest-shell {
    width:calc(100% - 28px);
    padding:48px 18px 30px;
    border-radius:25px;
    box-shadow:0 24px 54px rgba(4,48,45,.15),0 0 0 4px rgba(255,255,255,.46),inset 0 1px 0 #fff;
  }

  .franchise-interest-shell::before {
    height:7px;
  }

  .franchise-interest h2 {
    font-size:clamp(40px,11.4vw,49px);
  }

  .franchise-interest-heading > p {
    max-width:320px;
    margin-top:16px;
    font-size:14px;
  }

  .franchise-form {
    margin-top:32px;
    padding:0;
  }

  .franchise-form-grid {
    grid-template-columns:1fr;
    gap:18px;
  }

  .franchise-form .form-field--wide {
    grid-column:auto;
  }

  .franchise-form .form-field label {
    margin-bottom:7px;
    font-size:13px;
  }

  .franchise-form .form-field input,
  .franchise-form .form-field textarea {
    min-height:56px;
    padding:13px 14px;
    border-radius:12px;
    font-size:16px;
  }

  .franchise-form .form-field textarea {
    min-height:118px;
  }

  .franchise-submit {
    position:relative;
    min-height:66px;
    margin-top:24px;
    padding:7px 64px;
    justify-content:center;
    text-align:center;
    font-size:15.5px;
  }

  .franchise-submit span {
    width:100%;
    text-align:center;
  }

  .franchise-submit svg {
    position:absolute;
    right:8px;
    width:48px;
    height:48px;
    padding:13px;
    flex-basis:48px;
  }

  .franchise-privacy {
    margin-top:18px;
    align-items:center;
    font-size:10.5px;
    line-height:1.5;
  }
}

@media (max-width:720px) {
  .franchise-page .franchise-hero {
    min-height:570px;
  }

  .franchise-hero h1 {
    max-width:none;
    font-size:clamp(35px,9vw,39px);
  }
}

/* Services-page franchise network context */
.services-network {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(92px,9vw,138px) 0;
  color:#fff;
  background:
    radial-gradient(circle at 7% 12%,rgba(184,227,79,.16),transparent 31%),
    radial-gradient(circle at 92% 82%,rgba(38,181,221,.18),transparent 34%),
    linear-gradient(135deg,#052f38 0%,#064b47 52%,#082d45 100%);
}

.services-network::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.17;
  background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(ellipse at center,#000,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 80%);
}

.services-network-shell {
  width:var(--inner-shell);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  align-items:center;
  gap:clamp(58px,7vw,104px);
}

.services-network-eyebrow {
  margin:0 0 18px;
  color:#b8e34f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.services-network h2 {
  margin:0;
  font-family:var(--editorial);
  font-size:clamp(52px,5vw,76px);
  font-weight:600;
  letter-spacing:-.052em;
  line-height:.94;
}

.services-network h2 em {
  display:block;
  color:#b8e34f;
  font-weight:500;
}

.services-network-copy > p:not(.services-network-eyebrow) {
  max-width:610px;
  margin:26px 0 0;
  color:rgba(255,255,255,.76);
  font-size:16px;
  line-height:1.72;
}

.services-network-link {
  margin-top:30px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

.services-network-link span {
  color:#b8e34f;
  font-size:19px;
  transition:transform .2s ease;
}

.services-network-link:hover span,
.services-network-link:focus-visible span {
  transform:translateX(4px);
}

.services-market-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.services-market-grid article {
  min-width:0;
  min-height:330px;
  padding:32px 28px;
  color:#0a303c;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,247,230,.95));
  border:1px solid rgba(255,255,255,.4);
  border-radius:25px;
  box-shadow:0 24px 56px rgba(0,20,32,.24),inset 0 1px 0 rgba(255,255,255,.84);
}

.services-market-code {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#fff;
  font-family:var(--editorial);
  font-size:23px;
  font-weight:700;
  background:linear-gradient(145deg,#08734f,#0b8f76);
  border-radius:50%;
  box-shadow:0 10px 24px rgba(5,81,58,.2);
}

.services-market-code-fl {
  background:linear-gradient(145deg,#086d9f,#0aa0b3);
}

.services-market-grid h3 {
  margin:26px 0 0;
  color:#0a243c;
  font-family:var(--editorial);
  font-size:42px;
  font-weight:600;
  letter-spacing:-.04em;
  line-height:1;
}

.services-market-grid strong {
  margin-top:9px;
  display:block;
  color:#08734f;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.services-market-grid p {
  margin:18px 0 0;
  color:#4d666d;
  font-size:14px;
  line-height:1.65;
}

@media (max-width:1040px) {
  .services-network-shell {
    grid-template-columns:1fr;
  }

  .services-network-copy {
    max-width:760px;
  }
}

@media (max-width:720px) {
  .services-network {
    padding:78px 0;
  }

  .services-network h2 {
    font-size:clamp(42px,12vw,54px);
  }

  .services-network-copy > p:not(.services-network-eyebrow) {
    font-size:14px;
  }

  .services-market-grid {
    grid-template-columns:1fr;
  }

  .services-market-grid article {
    min-height:0;
  }
}

/* Data-driven service-area finder */
.areas-page .inner-hero h1 > span { display:block; }

.location-finder-section {
  position:relative;
  overflow:hidden;
  padding:clamp(90px,9vw,138px) 0;
  background:
    radial-gradient(circle at 8% 92%,rgba(158,207,74,.18),transparent 34%),
    radial-gradient(circle at 92% 8%,rgba(8,127,166,.14),transparent 31%),
    linear-gradient(135deg,#f8fbf3,#edf7e8);
}

.location-finder-section::before {
  content:"";
  position:absolute;
  top:-260px;
  right:-260px;
  width:620px;
  height:620px;
  border:1px solid rgba(8,127,166,.12);
  border-radius:50%;
  box-shadow:0 0 0 84px rgba(8,127,166,.025),0 0 0 168px rgba(8,127,166,.018);
}

.location-finder-heading {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr minmax(320px,.72fr);
  gap:clamp(48px,8vw,110px);
  align-items:end;
}

.location-finder-kicker,
.current-locations-kicker {
  margin:0 0 18px;
  color:#08769d;
  font:800 11px/1 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
}

.location-finder-heading h2,
.current-locations-heading h2 {
  margin:0;
  color:var(--inner-ink);
  font-family:var(--editorial);
  font-size:clamp(56px,6vw,86px);
  font-weight:600;
  letter-spacing:-.052em;
  line-height:.94;
}

.location-finder-heading h2 em,
.current-locations-heading h2 em {
  display:block;
  color:#08734f;
  font-weight:500;
}

.location-finder-heading > p,
.current-locations-heading > p {
  margin:0;
  color:#395b61;
  font-size:16px;
  font-weight:500;
  line-height:1.75;
}

.location-finder-panel {
  position:relative;
  z-index:2;
  margin-top:58px;
  padding:18px;
  display:grid;
  grid-template-columns:minmax(440px,.9fr) minmax(0,1.3fr);
  gap:18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.94);
  border-radius:38px;
  box-shadow:0 34px 90px rgba(5,57,53,.15),0 0 0 1px rgba(7,113,91,.055);
  backdrop-filter:blur(18px);
}

.location-search-column {
  min-width:0;
  padding:clamp(24px,2vw,32px);
  display:flex;
  flex-direction:column;
}

.zip-search-form label {
  display:block;
  margin-bottom:12px;
  color:#113f40;
  font-size:13px;
  font-weight:800;
}

.zip-search-control {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.zip-search-control input {
  min-width:0;
  min-height:60px;
  padding:0 20px;
  color:#092f35;
  background:#f5faf6;
  border:1px solid rgba(5,72,57,.22);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font:700 18px var(--sans);
  letter-spacing:.04em;
}

.zip-search-control input:focus {
  outline:0;
  background:#fff;
  border-color:#087fa6;
  box-shadow:0 0 0 4px rgba(8,135,177,.12);
}

.zip-search-control button {
  min-height:60px;
  padding:0 18px 0 22px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  background:linear-gradient(110deg,#075f45,#087fa6);
  border:0;
  border-radius:16px;
  box-shadow:0 14px 30px rgba(5,76,72,.2);
  font:800 13px var(--sans);
  white-space:nowrap;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}

.zip-search-control button:hover { transform:translateY(-2px); box-shadow:0 18px 34px rgba(5,76,72,.26); }
.zip-search-control button:disabled { opacity:.68; cursor:wait; transform:none; }
.zip-search-control button svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.zip-search-form > p { margin:10px 0 0; color:#6a8183; font-size:11px; line-height:1.5; }

.location-result {
  min-height:178px;
  margin-top:34px;
  padding:25px 26px;
  background:linear-gradient(145deg,#073f3a,#064f47 58%,#075a67);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  box-shadow:0 20px 46px rgba(4,46,45,.18);
}

.location-result-label {
  display:block;
  color:#aada48;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.location-result h3 {
  margin:10px 0 0;
  color:#fff;
  font-family:var(--editorial);
  font-size:clamp(28px,3vw,38px);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1;
}

.location-result p { margin:14px 0 0; color:rgba(239,249,246,.78); font-size:13px; line-height:1.6; }
.location-result-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:10px 18px; }
.location-result-actions a { color:#fff; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.location-result.is-error { background:linear-gradient(145deg,#633b29,#744731); }

.location-finder-note {
  margin-top:auto;
  padding-top:28px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.location-finder-note svg { width:28px; height:28px; fill:none; stroke:#08769d; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.location-finder-note p { margin:0; color:#5a7377; font-size:11.5px; line-height:1.6; }
.location-finder-note strong { color:#0b574d; }

.service-map-frame {
  position:relative;
  min-width:0;
  min-height:610px;
  overflow:hidden;
  background:#dcebe4;
  border-radius:28px;
}

.service-map-frame > .service-map { position:absolute; inset:0; }
.service-map .maplibregl-canvas { outline:0; }
.service-map .maplibregl-ctrl-top-right { top:14px; right:14px; }
.service-map .maplibregl-ctrl-group { overflow:hidden; border:1px solid rgba(6,63,58,.14); border-radius:13px; box-shadow:0 12px 28px rgba(5,51,51,.14); }
.service-map .maplibregl-popup-content { padding:16px 18px; color:#183f43; border-radius:15px; box-shadow:0 16px 40px rgba(4,40,42,.18); font:600 12px/1.45 var(--sans); }
.service-map .maplibregl-popup-content strong { display:block; margin-bottom:3px; color:#075f45; font-size:14px; }
.service-map .maplibregl-popup-close-button { padding:4px 7px; color:#244d50; font-size:17px; }
.service-map .maplibregl-ctrl-attrib { font-size:10px; }

.service-map-fallback {
  position:absolute;
  inset:20px;
  z-index:2;
  margin:0;
  padding:28px;
  display:grid;
  place-items:center;
  color:#20494b;
  background:rgba(244,250,246,.94);
  border:1px solid rgba(5,72,57,.16);
  border-radius:20px;
  text-align:center;
  font-size:14px;
  line-height:1.6;
}

.service-map-fallback[hidden] { display:none; }

.current-locations-heading {
  display:grid;
  grid-template-columns:1fr minmax(300px,.68fr);
  gap:clamp(44px,8vw,100px);
  align-items:end;
}

.current-locations-kicker { color:#aada48; }
.current-locations-heading h2 { max-width:760px; color:#fff; }
.current-locations-heading h2 em { color:#aada48; }
.current-locations-heading > p { color:rgba(239,249,246,.78); }

.market-location-grid {
  margin-top:58px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.market-location-card {
  min-width:0;
  padding:clamp(28px,4vw,46px);
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.065));
  border:1px solid rgba(255,255,255,.22);
  border-radius:30px;
  box-shadow:0 24px 56px rgba(0,24,30,.18),inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter:blur(14px);
}

.market-location-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.market-location-code { width:54px; height:54px; display:grid; place-items:center; color:#063c36; background:#aada48; border-radius:50%; font:700 23px/1 var(--editorial); }
.market-location-status { color:rgba(255,255,255,.72); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.market-location-card h3 { margin:26px 0 0; color:#fff; font-family:var(--editorial); font-size:clamp(38px,4vw,52px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.market-location-card > p, .market-location-details p { margin:9px 0 0; color:#aada48; font-size:12px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.market-location-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:26px; }
.market-location-title h3 { margin:0; }
.market-view-more { flex-shrink:0; padding:12px 16px; border:1px solid rgba(255,255,255,.55); border-radius:999px; color:#fff; font:800 12px/1.4 var(--sans); white-space:nowrap; }
.market-view-more:hover, .market-view-more:focus-visible { background:#fff; color:#073c36; }
.market-location-details { min-height:68px; }
#current-locations > .section-shell > p > .premium-inline-link { color:#fff; }
.market-location-card h4 { margin:30px 0 0; color:#fff; font-size:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.market-city-list { margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.market-city-list li { min-width:0; padding:11px 0; color:rgba(244,251,248,.8); border-bottom:1px solid rgba(255,255,255,.13); font-size:12px; font-weight:600; }
.market-city-group { border-bottom:1px solid rgba(255,255,255,.18); }
.market-city-group summary { padding:11px 0; color:rgba(244,251,248,.8); font-size:12px; font-weight:600; cursor:pointer; }
.market-city-group:first-child { margin-top:16px; border-top:1px solid rgba(255,255,255,.18); }
.market-city-group summary:focus-visible { outline:2px solid #bce548; outline-offset:4px; }
.market-city-group .market-city-list { margin:0 0 16px; }
.market-location-card .market-location-address { font-size:12px; line-height:1.6; }
.market-location-actions { margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.market-location-actions a { color:#fff; font-size:12px; font-weight:800; }
.market-location-actions a:first-child { padding:12px 18px; color:#063f3d; background:#aada48; border-radius:999px; }
.market-location-actions a:last-child { text-decoration:underline; text-underline-offset:4px; }

@media (max-width:1200px) {
  .location-finder-panel { grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr); }
  .zip-search-control { grid-template-columns:minmax(0,1fr); }
  .zip-search-control input,
  .zip-search-control button { width:100%; box-sizing:border-box; }
  .zip-search-control button { justify-content:center; }
}

@media (max-width:1040px) {
  .location-finder-heading,
  .current-locations-heading { grid-template-columns:1fr; gap:28px; }
  .location-finder-heading > p,
  .current-locations-heading > p { max-width:720px; }
  .location-finder-panel { grid-template-columns:1fr; }
  .location-search-column { padding:38px; }
  .service-map-frame { min-height:520px; }
}

@media (max-width:720px) {
  .areas-page .inner-hero h1 { font-size:clamp(51px,15vw,68px); }
  .areas-page .inner-hero h1 > span,
  .areas-page .inner-hero h1 em { white-space:nowrap; }
  .location-finder-section { padding:78px 0; }
  .location-finder-heading { text-align:center; }
  .location-finder-heading h2,
  .current-locations-heading h2 { font-size:clamp(45px,13vw,58px); }
  .location-finder-heading > p,
  .current-locations-heading > p { font-size:14px; line-height:1.65; }
  .location-finder-panel { width:calc(100% - 24px); margin-top:40px; padding:8px; border-radius:28px; }
  .location-search-column { padding:26px 18px 30px; }
  .zip-search-form label { text-align:center; }
  .zip-search-control { grid-template-columns:1fr; }
  .zip-search-control button { justify-content:center; }
  .zip-search-form > p { text-align:center; }
  .location-result { min-height:0; margin-top:26px; padding:24px 21px; text-align:center; }
  .location-result-actions { justify-content:center; }
  .location-finder-note { margin-top:26px; text-align:left; }
  .service-map-frame { min-height:430px; border-radius:22px; }
  .current-locations-heading { text-align:center; }
  .market-location-grid { margin-top:40px; grid-template-columns:1fr; }
  .market-location-card { border-radius:25px; text-align:left; }
  .market-city-list { gap:0 20px; }
  .market-location-actions { justify-content:flex-start; }
}

@media (max-width:390px) {
  .areas-page .inner-hero h1 { font-size:clamp(46px,14.4vw,56px); }
  .location-finder-panel { width:100%; }
  .location-search-column { padding-inline:14px; }
  .market-city-list { grid-template-columns:1fr; }
}
.state-page .state-section { padding: clamp(64px, 7vw, 112px) 0; }
.state-page .state-editorial { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.state-page main h2 { margin: 0 0 24px; font-family: 'Cormorant Garamond', serif; font-size: clamp(40px, 4.4vw, 68px); line-height: 1.02; letter-spacing: -.035em; color: #0b2e3e; }
.state-page main h2 em { display: block; color: #075943; }
.state-page .state-section p { font-size: 16px; line-height: 1.85; margin: 0 0 20px; color: #45616a; }
.state-page .state-section .state-lead { font-size: clamp(20px, 2vw, 26px); line-height: 1.5; color: #103d3b; font-weight: 600; }
.state-page .state-eyebrow, .state-page .state-section .state-eyebrow { font: 800 11px/1.6 'Manrope', sans-serif; text-transform: uppercase; letter-spacing: .15em; color: #087353; margin: 0 0 18px; }
.state-page .state-hero { min-height: 670px; }
.state-page .state-hero .inner-hero-copy { max-width: 780px; }
.state-page .state-hero h1 { font-size: clamp(44px, 5.4vw, 80px); line-height: 1.02; }
.state-page .state-hero .state-eyebrow { color: #c0e446; }
.state-page .state-hero .inner-hero-media { object-position: center; }
.state-page .state-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; color: #fff; font-size: 12px; margin: 0 0 32px; }
.state-page .state-breadcrumb a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.state-page .state-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.state-page .state-actions a, .state-page .state-contact .button { white-space: nowrap; font-size: 14px; }
.state-page .state-hero .state-actions .text-link { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
.state-page .state-assurance { background: #eaf4df; padding: 24px 0; color: #123f3a; font-size: 13px; font-weight: 800; }
.state-page .state-assurance .section-shell { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.state-page .state-assurance a { color: inherit; }
.state-page .state-services { background: #092f2b; }
.state-page .state-services h2, .state-page .state-services h3 { color: #fff; }
.state-page .state-services h2 em { color: #c0e446; }
.state-page .state-services p { color: #d2e2dd; }
.state-page .state-section.state-services .state-eyebrow { color: #c0e446; }
.state-page .state-section-heading { max-width: 790px; margin-bottom: 42px; }
.state-page .state-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.state-page .state-service-grid article { padding: 30px; border: 1px solid #ffffff30; border-radius: 20px; display: flex; flex-direction: column; }
.state-page .state-number { color: #c0e446; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.state-page main h3 { font: 700 23px/1.3 'Manrope', sans-serif; color: #103d3b; margin: 20px 0 16px; }
.state-page .state-service-grid a { color: #c0e446; font-weight: 800; font-size: 14px; margin-top: auto; }
.state-page .state-visual-grid { align-items: center; }
.state-page .state-attic-photo { margin: 0; border-radius: 28px; overflow: hidden; }
.state-page .state-attic-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.state-page .state-checklist { padding-left: 22px; color: #153e3d; font-size: 16px; line-height: 1.7; }
.state-page .state-checklist li { padding: 6px 0 6px 8px; }
.state-page .state-checklist li::marker { color: #087353; }
.state-page .state-section .state-note { font-size: 13px; line-height: 1.7; margin-top: 20px; }
.state-page .state-coverage { background: #e8f2df; scroll-margin-top: 140px; }
.state-page .state-city-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; gap: 12px; }
.state-page .state-city-grid li { padding: 20px; background: #ffffffbf; border: 1px solid #0b57431a; border-radius: 12px; font-size: 16px; font-weight: 800; color: #143f3a; }
.state-page .state-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; list-style: none; padding: 0; margin: 0; }
.state-page .state-process li { border-top: 1px solid #0b574333; padding-top: 26px; }
.state-page .state-process span { font: italic 48px 'Cormorant Garamond', serif; color: #087353; }
.state-page .state-faq { background: #f1f5ed; }
.state-page .state-questions details { border-bottom: 1px solid #0b574333; }
.state-page .state-questions summary { cursor: pointer; padding: 23px 4px; color: #153e3d; font: 800 16px/1.6 'Manrope', sans-serif; }
.state-page .state-questions details p { padding: 0 4px 10px; }
.state-page .state-questions a { color: #075943; text-decoration: underline; }
.state-page .state-contact { background: linear-gradient(115deg, #072e2b, #0c4651); scroll-margin-top: 140px; }
.state-page .state-contact h2, .state-page .state-contact h3 { color: white; }
.state-page .state-contact h2 em, .state-page .state-section.state-contact .state-eyebrow { color: #c0e446; }
.state-page .state-contact p { color: #d4e5df; }
.state-page .state-contact-card { padding: clamp(26px, 4vw, 48px); background: #ffffff0a; border: 1px solid #ffffff36; border-radius: 24px; }
.state-page .state-contact-card h3 { margin-top: 0; }
.state-page .state-contact-card dt { color: #c0e446; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin: 24px 0 8px; }
.state-page .state-contact-card dd { margin: 0; color: #fff; font-size: 20px; line-height: 1.6; }
.state-page .state-contact-card a { color: #fff; }
.state-page .state-contact-card address { font-style: normal; }
.state-page .state-coverage .state-contact-card { border-color:#0b574333; }
.state-page .state-coverage .state-contact-card a, .state-page .state-city-grid a { color:#075943; }
.state-page .state-city-grid a, .market-city-list a { text-decoration:underline; text-underline-offset:4px; }
.state-page .state-county { border: 1px solid #0b574333; border-radius: 16px; background: #ffffff70; margin-bottom: 14px; overflow: hidden; }
.state-page .state-county > summary { padding: 22px; cursor: pointer; color: #143f3a; font-weight: 800; list-style-position: inside; }
.state-page .state-county > summary span { display: block; font-size: 12px; font-weight: 500; margin-top: 6px; }
.state-page .state-county .state-city-grid { padding: 0 16px 16px; }
.state-page .state-county .state-city-grid li { font-size: 13px; padding: 14px 10px; overflow-wrap: anywhere; }
.state-page .state-county summary:focus-visible { outline: 2px solid #087353; outline-offset: -4px; }
@media (max-width: 1100px) {
  .state-page main { text-align: center; }
  .state-page .state-hero .inner-hero-copy,
  .state-page .state-hero .inner-hero-copy > p,
  .state-page .state-section-heading { margin-inline: auto; }
  .state-page .state-section p { max-width: 680px; margin-inline: auto; }
  .state-page .state-breadcrumb,
  .state-page .state-actions,
  .state-page .state-assurance .section-shell { justify-content: center; }
  .state-page .state-actions .text-link { align-self: center; justify-content: center; }
  .state-page .state-checklist { padding-left: 0; list-style-position: inside; }
  .state-page .state-checklist li { padding-inline: 0; }
  .state-page .state-questions summary { list-style-position: inside; }
  .state-page .state-editorial, .state-page .state-service-grid, .state-page .state-process { grid-template-columns: minmax(0, 1fr); }
  .state-page .state-attic-photo img { aspect-ratio: 16 / 9; }
  .state-page .state-hero .inner-hero-shell { padding-top: 55px; padding-bottom: 65px; }
}
@media (max-width: 600px) {
  .state-page .state-hero h1 { font-size: clamp(38px, 10vw, 55px); }
  .state-page .state-hero .inner-hero-copy > p:not(.state-eyebrow) { font-size: 16px; line-height: 1.7; }
  .state-page .state-actions { flex-direction: column; align-items: stretch; gap: 22px; }
  .state-page .state-actions a { text-align: center; }
  .state-page .state-assurance .section-shell { justify-content: center; text-align: center; flex-direction: column; gap: 14px; }
  .state-page .state-city-grid { gap: 10px; }
  .state-page .state-city-grid li { font-size: 13px; padding: 16px 10px; }
  .state-page .state-contact .button { width: 100%; padding-inline: 16px; }
}
/* Shared city boundary map and approved editorial presentation. */
.city-boundary-card { margin: 28px 0 0; overflow: hidden; border: 1px solid #bed1c7; border-radius: 22px; background: #fff; box-shadow: 0 12px 36px #063d3010; }
.city-boundary-map { width: 100%; height: 340px; background: #e3ece6; text-align: left; }
.state-page .city-boundary-card .city-boundary-status { padding: 12px 18px; margin: 0; font: 400 12px/1.5 Manrope, sans-serif; }
.city-boundary-card .maplibregl-ctrl button { width: 44px; height: 44px; }
.city-boundary-card .maplibregl-ctrl-attrib { font: 10px/1.4 Arial, sans-serif; }
@media (max-width: 600px) { .city-boundary-map { height: 310px; } }
/* One-line local heading, copy aligned with map top. */
.city-map-column { container-type: inline-size; min-width: 0; }
.state-page .city-map-editorial > div:last-child > p:last-of-type { margin-bottom: 0; }
.state-page .city-map-editorial > div:last-child > .premium-inline-link { margin-top: 8px; }
.state-page .city-map-column .city-local-heading { font-size: min(52px, 7cqi); white-space: nowrap; width: 100%; max-width: none; line-height: 1.15; letter-spacing: -.035em; }
@media (min-width: 1101px) {
  .state-page .city-map-editorial { align-items: stretch; }
  .city-map-editorial > div:last-child { display: flex; flex-direction: column; align-self: stretch; padding-top: var(--city-map-offset, 132px); }
  .city-map-editorial > div:last-child > .premium-inline-link { align-self: flex-start; }
  .city-map-column { display: flex; flex-direction: column; }
  .city-map-column .city-boundary-card { display: flex; flex-direction: column; flex: 1; }
  .city-map-column .city-boundary-map { flex: 1; height: auto; min-height: 280px; }
}

.city-local-heading > span { display: inline-block; width: max-content; }
.city-boundary-card { position: relative; }
.city-boundary-badge { position: absolute; left: 8px; top: 8px; max-width: calc(100% - 72px); padding: 5px 8px; border-radius: 8px; background: #ffffffed; color: #164d42; font: 600 10px/1.4 Manrope,sans-serif; z-index: 1; }
@media (max-width: 600px) {
  .state-page.city-page .state-assurance .section-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-block: 14px; }
  .state-page.city-page .state-assurance .section-shell > span:nth-child(2) { display: none; }
  .state-page.city-page .state-assurance .section-shell > * { min-width: 0; font-size: clamp(10px, 2.65vw, 13px); white-space: nowrap; text-align: center; }
}
