/* Nero's remaining 38 pages (scripts/build_pages38.py): only what the AC hub's kit (inner.css, cluster.css) has no
   object for. Same tokens, the same white cut-corner cards that lift, the same night bands with a photo under the film,
   flame + ice accents, no decorative numbers. */

/* ---------- the dark card band (faults / signs / services offered): the spoke cards without discs or links ---------- */
.p38-cards .sp__head .lead + .lead, .p38-moneyband .sp__head .lead + .lead { margin-top: 10px; }
.p38-cards .wh__h3 { margin-top: 10px; }
.p38-card { gap: 10px; padding: 32px 30px 30px; }
.p38-card::before { content: ""; display: block; width: 44px; height: 4px; margin-bottom: 10px; border-radius: 2px;
  background: linear-gradient(90deg, #F7934A, #F0641E 60%, #C4411A); }
.p38-card--ice::before { background: linear-gradient(90deg, #5FB3EC, #1E88D6 55%, #0E67A8); }
.p38-card .sp__t { font-size: 22px; line-height: 1.2; }
.p38-card p + p { margin-top: 8px; }
.p38-grid--4, .p38-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 940px; margin-inline: auto; }
.p38-grid--5 > :nth-child(4) { grid-column: 1 / span 1; }
.sp__grid.p38-grid--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sp__grid.p38-grid--5 > * { grid-column: span 2; }
.sp__grid.p38-grid--5 > :nth-child(4) { grid-column: 2 / span 2; }
.sp__grid.p38-grid--5 > :nth-child(5) { grid-column: 4 / span 2; }
.p38-cards .sp__close + .sp__close { margin-top: 14px; }

/* ---------- the faults / signs band, round 6: option B's frosted glass panels, no icons (Shoaib 11-05) ---------- */
.p38-fband .sec__bg::after { background: linear-gradient(180deg, rgba(11, 22, 34, .9), rgba(11, 22, 34, .82) 45%, rgba(11, 22, 34, .92)); }
.p38-fb__head { max-width: 900px; margin: 0 auto; text-align: center; }
.p38-fb__head .h2 { color: #FFFFFF; margin-inline: auto; }
.p38-fb__head .lead { margin-top: 14px; color: rgba(247, 249, 251, .86); }
.p38-fb__head .wh__h3 { margin-top: 10px; }
.p38-fb__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 1080px; margin: 46px auto 0; }
.p38-fb__gl { position: relative; display: grid; align-content: start; gap: 8px; padding: 28px 32px 30px; border-radius: 20px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .04)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16), inset 0 1px 0 rgba(255, 255, 255, .22), 0 30px 50px -36px rgba(0, 0, 0, .9);
  transition: transform .3s var(--ease); }
.p38-fb__gl:hover { transform: translateY(-3px); }
.p38-fb__t { font: 700 24px/1.2 var(--fd); letter-spacing: .01em; color: #FFFFFF; text-wrap: balance; }
.p38-fb__gl p { font-size: 16px; line-height: 1.65; color: rgba(247, 249, 251, .82); }
.p38-fb__gl p + p { margin-top: 2px; }
.p38-fb__gl a { color: #9CD0F2; font-weight: 700; }
.p38-fb__grid > :last-child:nth-child(odd) { grid-column: 1 / -1; max-width: calc(50% - 10px); justify-self: center; width: 100%; }
/* the marker in place of the icon: m1 an edge bar, m2 a short rule above the title, m0 nothing */
.p38-fb--m1 .p38-fb__gl { padding-left: 36px; }
.p38-fb--m1 .p38-fb__gl::before { content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 4px; border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, #F7934A, #F0641E 55%, #C4411A); box-shadow: 0 0 18px rgba(240, 100, 30, .55); }
.p38-fb--m1 .p38-fb__gl--ice::before { background: linear-gradient(180deg, #5FB3EC, #1E88D6 55%, #0E67A8); box-shadow: 0 0 18px rgba(30, 136, 214, .6); }
.p38-fb--m2 .p38-fb__gl::before { content: ""; display: block; width: 44px; height: 4px; margin-bottom: 8px; border-radius: 2px; background: linear-gradient(90deg, #F7934A, #F0641E); }
.p38-fb--m2 .p38-fb__gl--ice::before { background: linear-gradient(90deg, #5FB3EC, #1E88D6); }
/* the icon: hidden unless the marker is an icon (m3 glass tile, m4 solid disc); beside the title, the words under the title */
.p38-fb__ic { display: none; }
.p38-fb--m3 .p38-fb__gl, .p38-fb--m4 .p38-fb__gl { grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; row-gap: 8px; }
.p38-fb--m3 .p38-fb__ic, .p38-fb--m4 .p38-fb__ic { grid-row: span 2; display: grid; place-items: center; width: 54px; height: 54px; flex: none; }
.p38-fb--m3 .p38-fb__t, .p38-fb--m4 .p38-fb__t { align-self: center; }
.p38-fb--m3 .p38-fb__w, .p38-fb--m4 .p38-fb__w { grid-column: 2; }
.p38-fb__w p + p { margin-top: 2px; }
.p38-fb__ic .i { width: 28px; height: 28px; fill: currentColor; }
/* m3 (live): one icon family (Phosphor duotone), the glyph tinted flame or ice, on a quiet neutral glass tile */
.p38-fb--m3 .p38-fb__ic { border-radius: 14px; color: #F7934A; background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16), inset 0 1px 0 rgba(255, 255, 255, .2); }
.p38-fb--m3 .p38-fb__gl--ice .p38-fb__ic { color: #7CC2EE; }
.p38-fb--m4 .p38-fb__ic { border-radius: 50%; color: #FFFFFF; background: linear-gradient(145deg, #F7934A 0%, #F0641E 50%, #C4411A 100%); box-shadow: 0 14px 26px -12px rgba(196, 65, 26, .7); }
.p38-fb--m4 .p38-fb__gl--ice .p38-fb__ic { background: linear-gradient(145deg, #5FB3EC 0%, #1E88D6 48%, #0E67A8 100%); box-shadow: 0 14px 26px -12px rgba(14, 103, 168, .7); }
@media (max-width: 767px) { .p38-fb--m3 .p38-fb__ic, .p38-fb--m4 .p38-fb__ic { width: 46px; height: 46px; } .p38-fb--m3 .p38-fb__gl, .p38-fb--m4 .p38-fb__gl { column-gap: 16px; } }
.p38-fb__foot { display: grid; justify-items: center; max-width: 860px; margin: 40px auto 0; text-align: center; }
.p38-fb__close { font-size: 17px; line-height: 1.7; color: rgba(247, 249, 251, .88); }
.p38-fb__close + .p38-fb__close { margin-top: 12px; }
.p38-fb__close a { color: #9CD0F2; font-weight: 700; }
.p38-fb__foot .actions { justify-content: center; margin-top: 24px; }
@media (max-width: 1023px) { .p38-fb__grid { grid-template-columns: 1fr; } .p38-fb__grid > :last-child:nth-child(odd) { max-width: none; } }
@media (max-width: 767px) { .p38-fb__gl { padding: 22px 22px 24px; } .p38-fb--m1 .p38-fb__gl { padding-left: 26px; } .p38-fb__t { font-size: 21px; } }
@media (prefers-reduced-motion: reduce) { .p38-fb__gl { transition: none; } .p38-fb__gl:hover { transform: none; } }

/* ---------- (round 5, record) the faults / signs band: the homepage's emergency band (Shoaib 11-05 picked "Emergency band") ---------- */
.p38-ecband .ec.ec--right { align-items: start; }
.p38-ecband .ec__formcol { position: sticky; top: 120px; margin-top: 8px; }
.p38-ecband .emg__lead + .emg__lead { margin-top: 12px; }
.p38-path { gap: 26px; }
.p38-node::after { content: ""; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 0 0 4px rgba(255, 255, 255, .2); }
.p38-path .ec__step p + p { margin-top: 6px; }
.p38-path a { color: #9CD0F2; font-weight: 700; }
.p38-ecard { padding: 34px 32px 32px; border-radius: 18px; background: #FFFFFF; clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
  box-shadow: inset 0 4px 0 #F0641E, 0 50px 90px -50px rgba(0, 0, 0, .9); }
.p38-ecard::before { content: ""; display: block; width: 40px; height: 4px; margin-bottom: 18px; border-radius: 4px; background: linear-gradient(90deg, #F0641E, #F58A3C); }
.p38-ecard p { font-size: 18px; line-height: 1.65; color: var(--night); }
.p38-ecard p + p { margin-top: 12px; }
.p38-ecard a:not(.btn) { color: #0E67A8; font-weight: 700; }
.p38-ecard__acts { display: grid; gap: 12px; margin-top: 26px; }
.p38-ecard__acts .btn { width: 100%; }
@media (max-width: 899px) { .p38-ecband .ec__formcol { position: static; margin-top: 0; } }
@media (max-width: 767px) { .p38-ecard { padding: 26px 22px 24px; clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); } .p38-ecard p { font-size: 17px; } }

/* ---------- (previous round) the faults / signs band: dark glass panels (Shoaib 11-04: "Glass panels but make it dark leave icons") ---------- */
.p38-glassband .sec__bg::after { background: linear-gradient(180deg, rgba(6, 14, 24, .93), rgba(8, 18, 30, .86) 45%, rgba(6, 14, 24, .94)); }
.p38-glband__head { max-width: 900px; margin: 0 auto; text-align: center; }
.p38-glband__head .h2 { color: #FFFFFF; margin-inline: auto; }
.p38-glband__head .lead { margin-top: 14px; color: rgba(247, 249, 251, .86); }
.p38-glband__head .wh__h3 { margin-top: 10px; }
.p38-glband__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 1100px; margin: 46px auto 0; }
.p38-gl { display: grid; justify-items: center; align-content: center; gap: 10px; padding: 32px 34px 34px; border-radius: 20px; text-align: center;
  background: linear-gradient(160deg, rgba(20, 38, 58, .86), rgba(7, 16, 27, .82)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), inset 0 1px 0 rgba(255, 255, 255, .12), 0 34px 56px -36px rgba(0, 0, 0, .95);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.p38-gl:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), inset 0 1px 0 rgba(255, 255, 255, .14), 0 40px 60px -36px rgba(0, 0, 0, .95); }
.p38-gl__ic { grid-row: span 2; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; color: #FFFFFF;
  background: linear-gradient(145deg, #F7934A 0%, #F0641E 50%, #C4411A 100%); box-shadow: 0 0 0 5px rgba(255, 255, 255, .05), 0 14px 26px -12px rgba(196, 65, 26, .7); }
.p38-gl__ic--ice { background: linear-gradient(145deg, #5FB3EC 0%, #1E88D6 48%, #0E67A8 100%); box-shadow: 0 0 0 5px rgba(255, 255, 255, .05), 0 14px 26px -12px rgba(14, 103, 168, .7); }
.p38-gl__ic .i { width: 24px; height: 24px; fill: currentColor; }
.p38-gl__t { font: 700 24px/1.2 var(--fd); letter-spacing: .01em; color: #FFFFFF; text-wrap: balance; }
.p38-gl p { max-width: 460px; font-size: 16px; line-height: 1.65; color: rgba(247, 249, 251, .8); text-wrap: pretty; }
.p38-gl p + p { margin-top: -2px; }
.p38-gl a { color: #9CD0F2; font-weight: 700; }
.p38-glband__grid > :last-child:nth-child(odd) { grid-column: 1 / -1; max-width: calc(50% - 10px); justify-self: center; width: 100%; }
.p38-glband__foot { display: grid; justify-items: center; max-width: 880px; margin: 40px auto 0; text-align: center; }
.p38-glband__close { font-size: 17px; line-height: 1.7; color: rgba(247, 249, 251, .88); }
.p38-glband__close + .p38-glband__close { margin-top: 12px; }
.p38-glband__close a { color: #9CD0F2; font-weight: 700; }
.p38-glband__foot .actions { justify-content: center; margin-top: 24px; }
@media (max-width: 1023px) { .p38-glband__grid { grid-template-columns: 1fr; } .p38-glband__grid > :last-child:nth-child(odd) { max-width: none; } }
@media (max-width: 767px) { .p38-gl { padding: 26px 22px; } .p38-gl__t { font-size: 21px; } }
@media (prefers-reduced-motion: reduce) { .p38-gl { transition: none; } .p38-gl:hover { transform: none; } }

/* ---------- the light estimate band (cost sections, local permit sections) ---------- */
.p38-cost__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 60px; align-items: center; }
.p38-cost__grid--solo { grid-template-columns: minmax(0, 880px); }
.p38-copy p { max-width: 660px; }
.p38-copy p:last-child { font-weight: 400; color: var(--muted); }
.p38-copy a { color: #0E67A8; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.p38-copy a:hover, .p38-copy a:focus-visible { color: #C4411A; }
.p38-h3 { margin-top: 26px; font: 700 26px/1.2 var(--fd); letter-spacing: .01em; color: var(--night); }
.p38-cost__ph { position: relative; margin: 0; filter: drop-shadow(0 34px 40px rgba(11, 22, 34, .22)); }
.p38-cost__ph img { display: block; width: 100%; aspect-ratio: 1 / .86; height: auto; object-fit: cover; border-radius: 22px;
  clip-path: polygon(0 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 0 100%); }
.p38-ul { margin: 14px 0 0; padding-left: 22px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.p38-ul li + li { margin-top: 6px; }

/* ---------- the comparison band: any number of columns; header cells coloured ice / night / flame in order ---------- */
.wh__t thead th.p38-th { color: #FFFFFF; }
.wh__t thead th.p38-th--ice { background: linear-gradient(150deg, #5FB3EC, #1E88D6 55%, #0E67A8); }
.wh__t thead th.p38-th--night { background: linear-gradient(150deg, #1E3D5C, #0B1622); }
.wh__t thead th.p38-th--flame { background: linear-gradient(150deg, #F7934A, #F0641E 50%, #C4411A); }
.p38-t--2:not(.p38-t--rh) { min-width: 640px; }
.p38-t--2:not(.p38-t--rh) tbody td:first-child { border-left: 0; }
.p38-t--3.p38-t--rh { min-width: 860px; }
.p38-t--3.p38-t--rh tbody th { width: 19%; }
.wh__t a { color: #0E67A8; font-weight: 700; }
.p38-table .wh__note + .wh__note { margin-top: 12px; }

/* ---------- the points band (Shoaib 11-04 picked P3 "Photo + panels"): the job photo, panels overlapping its edge ---------- */
.p38-pp__head { max-width: 900px; }
.p38-pp__head .lead { margin-top: 14px; color: var(--muted); }
.p38-pp { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: center; margin-top: 46px; }
.p38-pp__ph { grid-column: 1; grid-row: 1; margin: 0; filter: drop-shadow(0 40px 44px rgba(11, 22, 34, .25)); }
.p38-pp__ph img { display: block; width: 100%; aspect-ratio: 1 / .86; height: auto; object-fit: cover; object-position: 50% 40%; border-radius: 26px;
  clip-path: polygon(0 0, calc(100% - 52px) 0, 100% 52px, 100% 100%, 0 100%); }
.p38-pp__stack { position: relative; z-index: 1; grid-column: 2; grid-row: 1; display: grid; gap: 16px; margin-left: -96px; }
.p38-pn { padding: 28px 32px 28px 30px; border-radius: 18px; background: #FFFFFF; border-left: 5px solid #F0641E;
  box-shadow: 0 34px 56px -34px rgba(11, 22, 34, .5), inset 0 0 0 1px rgba(15, 27, 38, .06); }
.p38-pn--ice { border-left-color: #1E88D6; }
.p38-pn--night { border-left-color: #F7934A; background: linear-gradient(160deg, #15293E, #0A1522); }
.p38-pn__t { font: 700 23px/1.2 var(--fd); letter-spacing: .01em; color: var(--night); text-wrap: balance; }
.p38-pn p { margin-top: 8px; font-size: 15.5px; line-height: 1.65; color: var(--muted); }
.p38-pn p + p { margin-top: 6px; }
.p38-pn--night .p38-pn__t { color: #FFFFFF; }
.p38-pn--night p { color: rgba(247, 249, 251, .82); }
.p38-pn a { color: #0E67A8; font-weight: 700; }
.p38-pn--night a { color: #9CD0F2; }
.p38-points .p38-close { margin-top: 34px; }
@media (max-width: 1023px) { .p38-pp { grid-template-columns: 1fr; } .p38-pp__stack { grid-column: 1; grid-row: 2; margin: -64px 18px 0; } }
@media (max-width: 767px) { .p38-pp__stack { margin: -40px 10px 0; } .p38-pn { padding: 22px 22px 22px 20px; } .p38-pn__t { font-size: 21px; } }

/* ---------- the light point cards ("how we decide", "who should look at it") ---------- */
.p38-sub { margin-top: 10px; font: 700 24px/1.25 var(--fd); letter-spacing: .01em; color: #C4411A; }
.p38-points .hw__head .lead { margin-top: 14px; color: var(--muted); }
.hw__card:nth-child(3n) .hw__ic { color: #F5F8FB; background: linear-gradient(145deg, #1E3D5C, #0B1622); }
.hw__card p + p { margin-top: 6px; }
.hw__grid.p38-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hw__grid.p38-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p38-close { max-width: 880px; margin-top: 30px; font-size: 17px; line-height: 1.7; color: var(--muted); }

/* ---------- location pages: the intro paragraphs in the hero, the service groups, the reasons, the money cards ---------- */
.hero--split .p38-lead { margin-top: 16px; font-size: 18px; line-height: 1.65; }
.hero--split .p38-lead + .p38-lead { margin-top: 12px; }
.p38-grps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.p38-grps > * { grid-column: span 2; }
.p38-grps > :nth-child(4) { grid-column: 2 / span 2; }
.p38-grps > :nth-child(5) { grid-column: 4 / span 2; }
.p38-grp { align-content: start; }
.p38-links { display: grid; margin: 6px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.p38-links li { border-bottom: 1px solid var(--line); }
.p38-links a, .p38-links li:not(:has(a)) { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px;
  font: 700 15.5px/1.3 var(--fb); color: var(--night); text-decoration: none; }
.p38-links a .i { width: 16px; height: 16px; flex: none; color: #E8541F; transition: transform .2s var(--ease); }
.p38-links a:hover, .p38-links a:focus-visible { color: #0E67A8; }
.p38-links a:hover .i, .p38-links a:focus-visible .i { transform: translateX(3px); }
.p38-why { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; max-width: 980px; margin: 40px auto 0; padding: 0; list-style: none; }
.p38-why li { display: flex; align-items: center; gap: 16px; min-height: 64px; padding: 14px 22px 14px 14px; border-radius: 16px; color: #FFFFFF;
  background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); font: 700 17px/1.35 var(--fb); }
.p38-tick { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 50%; color: #FFFFFF;
  background: linear-gradient(145deg, #F7934A 0%, #F0641E 50%, #C4411A 100%); }
.p38-why li:nth-child(4n+2) .p38-tick, .p38-why li:nth-child(4n+3) .p38-tick { background: linear-gradient(145deg, #5FB3EC 0%, #1E88D6 48%, #0E67A8 100%); }
.p38-tick .i { width: 18px; height: 18px; fill: currentColor; }
.p38-money p { font-size: 16px; line-height: 1.65; color: var(--muted); }
.p38-money p + p { margin-top: 8px; }
.p38-money a { color: #0E67A8; font-weight: 700; }
.p38-pend { margin-top: 14px; font: 700 15px/1.4 var(--fb); color: #5A6672; }
.p38-money .p38-pend { color: #5A6672; }
.h2.p38-faqh { font-size: 40px; line-height: 1.06; }
.p38-ctalead { max-width: 760px; margin: 14px auto 0; font-size: 18px; line-height: 1.6; color: rgba(247, 249, 251, .9); text-align: center; }

/* ---------- FAQ hub: topic list beside the groups (sticky on desktop), each group the homepage accordion ---------- */
.p38-faq__grid { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 56px; align-items: start; }
.p38-faq__nav { position: sticky; top: 110px; }
.p38-faq__nav ul { display: grid; margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--line); }
.p38-faq__nav a { display: flex; align-items: center; min-height: 44px; padding: 6px 0 6px 18px; margin-left: -2px; border-left: 2px solid transparent;
  font: 700 15.5px/1.35 var(--fb); color: var(--muted); text-decoration: none; }
.p38-faq__nav a:hover, .p38-faq__nav a:focus-visible { color: var(--night); border-left-color: #E8541F; }
.p38-faq__g { scroll-margin-top: 110px; }
.p38-faq__g + .p38-faq__g { margin-top: 64px; }
.h2.p38-faq__h { margin-bottom: 18px; font-size: 38px; line-height: 1.08; }
.p38-faq .acc__inner p + p { margin-top: 10px; }
.p38-faq__rel { margin-top: 16px; font-size: 16px; color: var(--muted); }
.p38-faq__rel a { color: #0E67A8; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.p38-ask { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 56px; align-items: center; }
.p38-ask__copy .h2 { color: #FFFFFF; }
.p38-ask__copy .lead { margin-top: 16px; color: rgba(247, 249, 251, .9); }
.p38-ask__call { margin-top: 18px; font-size: 16px; line-height: 1.6; color: #F7C9A8; }

@media (max-width: 1023px) {
  .p38-faq__grid, .p38-ask { grid-template-columns: 1fr; gap: 36px; }
  .p38-faq__nav { position: static; }
  .p38-cost__grid { grid-template-columns: 1fr; gap: 36px; }
  .p38-cost__ph { max-width: 560px; }
  .sp__grid.p38-grid--5, .p38-grps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp__grid.p38-grid--5 > *, .p38-grps > * { grid-column: auto !important; }
  .hw__grid.p38-grid--4, .hw__grid.p38-grid--2 { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  /* the visually hidden header row must clip: overflow does not apply to a table-header-group */
  .p38-t thead { display: block; }
  /* first H1 lines with a long word ("Dehumidifiers", "Installation and Replacement") set smaller on phones */
  .hero--split .hc2__l1.p38-l1--long { font-size: 34px; }
  /* the form's button carries the doc's own label ("Book a Humidity Assessment"): it may wrap on a phone */
  .quote .btn--block { white-space: normal; text-align: center; padding-block: 12px; }
  .sp__grid.p38-grid--5, .p38-grps, .p38-grid--4, .p38-grid--2, .p38-why { grid-template-columns: 1fr; }
  .p38-t--2:not(.p38-t--rh), .p38-t--3.p38-t--rh { min-width: 0; }
  .p38-h3 { font-size: 23px; }
  .hero--split .p38-lead { font-size: 17px; }
}

/* location services cards: the family photo across the card's top (Shoaib 11-05: "images on services section") */
.p38-grp { padding-top: 0; overflow: hidden; }
.p38-grp__ph { position: relative; margin: 0 -28px 10px; overflow: hidden; }
.p38-grp__ph img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s var(--ease); }
.p38-grp__ph::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, #F0641E, #E8541F 45%, #1E88D6); }
.p38-grp:hover .p38-grp__ph img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .p38-grp__ph img { transition: none; } .p38-grp:hover .p38-grp__ph img { transform: none; } }

/* locations: "Why [Town] Homeowners Choose Us" as the pledge plate (Shoaib 11-05 picked V1, options/p38-loc-why-options.html) */
/* shared: the centred heading */
.p38-wp__head { max-width: 900px; margin: 0 auto; text-align: center; }
.p38-wp__head .h2 { margin-inline: auto; color: #FFFFFF; }

/* ---------- V1 pledge plate: five across, two rows */
.p38-wp__plate { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1180px; margin: 44px auto 0; padding: 14px 18px; list-style: none; border-radius: 22px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: inset 0 4px 0 #F0641E, inset 0 0 0 1px rgba(255, 255, 255, .16), 0 40px 60px -36px rgba(0, 0, 0, .95); }
.p38-wp__v { position: relative; display: flex; align-items: center; justify-content: center; min-height: 128px; padding: 18px 16px 28px; text-align: center;
  font: 700 21px/1.18 var(--fd); letter-spacing: .01em; color: #FFFFFF; text-wrap: balance; }
.p38-wp__v:not(:nth-child(5n + 1)) { border-left: 1px solid rgba(255, 255, 255, .14); }
.p38-wp__v:nth-child(n + 6) { border-top: 1px solid rgba(255, 255, 255, .14); }
.p38-wp__v::after { content: ""; position: absolute; left: 50%; bottom: 14px; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: linear-gradient(90deg, #F7934A, #F0641E); }
.p38-wp__v--ice::after { background: linear-gradient(90deg, #5FB3EC, #1E88D6); }
@media (max-width: 1023px) {
  .p38-wp__plate { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p38-wp__v:not(:nth-child(5n + 1)) { border-left: 0; } .p38-wp__v:nth-child(n + 6) { border-top: 0; }
  .p38-wp__v:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .14); } .p38-wp__v:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .14); }
}
@media (max-width: 767px) {
  .p38-wp__plate { grid-template-columns: 1fr; padding: 6px 14px; } .p38-wp__v { min-height: 0; padding: 18px 10px 26px; font-size: 20px; }
  .p38-wp__v:nth-child(even) { border-left: 0; } .p38-wp__v:nth-child(n + 2) { border-top: 1px solid rgba(255, 255, 255, .14); }
}

/* locations: the rebates / financing band as the estimate photo + panels (Shoaib 11-05 picked R1, options/p38-loc-money-options.html) */
/* (Shoaib 11-05 tried "Panels can be light mode", then "Revert it": the panels stay dark glass) */
.p38-mg__b a { color: #9CD0F2; font-weight: 700; }
.p38-mg__b p { margin: 10px 0 0; font-size: 16px; line-height: 1.7; color: rgba(247, 249, 251, .84); }
.p38-mg__b .p38-pend { margin-top: 14px; font: 800 13px/1.3 var(--fh); letter-spacing: .1em; text-transform: uppercase; color: rgba(247, 249, 251, .62); }
.p38-mp { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 0; align-items: center; }
.p38-mp__ph { position: relative; margin: 0; }
.p38-mp__ph img { display: block; width: 100%; height: auto; aspect-ratio: 720 / 860; object-fit: cover; border-radius: 26px; clip-path: polygon(0 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 0 100%);
  box-shadow: 0 40px 60px -40px rgba(0, 0, 0, .9); }
.p38-mp__copy { position: relative; z-index: 1; margin-left: -70px; }
.p38-mp__head { padding-left: 70px; }
.p38-mp__head .h2 { color: #FFFFFF; }
.p38-mp__stack { display: grid; gap: 16px; margin-top: 26px; }
.p38-mg { padding: 26px 30px 26px; border-radius: 20px; background: linear-gradient(160deg, rgba(21, 41, 62, .92), rgba(10, 21, 34, .94)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: inset 4px 0 0 #F0641E, inset 0 0 0 1px rgba(255, 255, 255, .14), 0 30px 50px -30px rgba(0, 0, 0, .95); }
.p38-mg--ice { box-shadow: inset 4px 0 0 #1E88D6, inset 0 0 0 1px rgba(255, 255, 255, .14), 0 30px 50px -30px rgba(0, 0, 0, .95); }
.p38-mg__t { margin: 0; font: 700 24px/1.2 var(--fd); letter-spacing: .01em; color: #FFFFFF; }
@media (max-width: 1023px) { .p38-mp { grid-template-columns: 1fr; } .p38-mp__ph { max-width: 460px; } .p38-mp__copy { margin: -60px 14px 0; } .p38-mp__head { padding: 0; margin-top: 90px; } }
@media (max-width: 767px) { .p38-mg { padding: 22px 20px; } .p38-mp__copy { margin: 0; } .p38-mp__head { margin-top: 36px; } }

/* locations: the services heading centred (Shoaib 11-05: "make this heading in center aligned Our HVAC Services in Hyattsville") */
.p38-svcs .hw__head { max-width: 900px; margin-inline: auto; text-align: center; }
.p38-svcs .hw__head .h2 { margin-inline: auto; }
