/* Live Wire only. Reuse the approved artwork; retain all original brand assets. */
/* Rotate the painted plate, never the real heading text. */
.brush-highlight::before { inset: -30% -8% -29%; transform: rotate(-4.5deg); }
/* Put the photograph underneath the entire feathered edge: no exposed paper rectangle. */
.hero-photo { left: 44%; z-index: auto; }
.hero::after { width: calc(50% + 68px); }
/* This layer is now a child of the full hero, not the photo's half-width container. */
.hero > .hero-treeline {
  inset: auto 0 -2px; height: clamp(205px, 16vw, 305px);
  background-size: 100% 100%; z-index: 3; pointer-events: none;
}
.hero-photo .wood-sign { z-index: 4; }
.hero-layout { z-index: 4; }
/* Leave the motto's layout slot intact, and tuck the artwork behind the logo. */
.header-motto { position: relative; z-index: 1; transform-origin: left center; pointer-events: none; }
.site-header .brand { z-index: 5; }
.site-header.is-compact .header-motto { animation: motto-tuck 640ms cubic-bezier(.22,.68,.3,1) both; }
@keyframes motto-tuck {
  0% { transform: translateX(0) rotate(-7deg) scale(1); opacity: 1; }
  22% { transform: translateX(2px) rotate(-5deg) scale(1.12); opacity: 1; }
  47% { transform: translateX(-15px) rotate(-8deg) scale(.87); opacity: 1; }
  76% { transform: translateX(-90px) rotate(-12deg) scale(.35); opacity: .65; }
  100% { transform: translateX(-145px) rotate(-12deg) scale(.15); opacity: 0; }
}
/* Match the photo's native aspect ratio so all three people stay in the opening. */
.about-grid { grid-template-columns: 1.45fr 1.05fr .95fr; }
.about-photo { align-self: center; min-height: 0; height: auto; margin-left: 0; aspect-ratio: 660 / 385; }
.about-photo > img { width: 100%; height: auto; aspect-ratio: 660 / 385; object-fit: contain; object-position: center; }
.about-photo figcaption { left: 7%; bottom: 9%; font-size: clamp(24px, 2.2vw, 34px); }
/* Full-width scenery with atmosphere only inside the dark section. No mid-card cutoffs. */
.cta-distant-forest {
  inset: 0; width: 100%; height: 100%; background-size: 100% 100%;
  -webkit-mask-image: linear-gradient(to top, #000, #000 25%, transparent 90%);
  mask-image: linear-gradient(to top, #000, #000 25%, transparent 90%); opacity: .22;
}
.cta-mountain-ridge {
  inset: 0; width: 100%; height: 100%; background-size: 100% 100%; background-position: center bottom;
  -webkit-mask-image: linear-gradient(to right, transparent 22%, #000 75%);
  mask-image: linear-gradient(to right, transparent 22%, #000 75%); opacity: .36;
}
.cta-foreground-forest { width: 100%; background-size: 100% 100%; }
/* Review excerpts are actual HTML, with source disclosure and an accessible native rail. */
.google-reviews { position: relative; padding-top: 86px; padding-bottom: 58px; }
.reviews-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 48px; }
.reviews-heading-row h2 { font-size: clamp(36px, 3.3vw, 50px); }
.reviews-heading-row > div > p:last-child { color: var(--muted); margin-top: 17px; font-size: 18px; }
.google-rating { display: grid; grid-template-columns: auto auto; gap: 5px 15px; align-items: center; min-width: 300px; padding: 23px 27px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); position: relative; }
.google-rating::before { content: ''; position: absolute; inset: -3px 10% auto; height: 5px; background: var(--red); transform: rotate(-1.3deg); }
.google-label { grid-column: 1/-1; display: flex; align-items: center; gap: 11px; font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.google-g { display: block; flex: none; width: 28px; height: 28px; }
.rating-number { font: 400 62px/1.1 var(--display); letter-spacing: -1px; }
.rating-number > span { font: 500 17px/1 var(--body); color: var(--muted); margin-left: 6px; letter-spacing: 0; }
.rating-stars { color: #b7790b; letter-spacing: 2px; font-size: 22px; line-height: 1; }
.rating-count { grid-column: 1/-1; color: var(--muted); font-size: 13px; }
.rating-action { grid-column: 1/-1; font-weight: 600; font-size: 14px; margin-top: 5px; text-decoration: underline; text-underline-offset: 4px; }
.google-rating:hover .rating-action { color: var(--red-dark); }
.reviews-toolbar { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 30px; margin-bottom: 13px; }
.reviews-toolbar > p { font-size: 15px; font-weight: 600; }
.review-controls { display: flex; align-items: center; gap: 13px; }
.review-controls button { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ink); background: transparent; }
.review-controls button:hover:not(:disabled) { background: var(--ink); color: #fff; }
.review-controls button:disabled { opacity: .32; }
.review-prev .icon { transform: rotate(180deg); }
.review-position { color: var(--muted); font-size: 13px; min-width: 42px; text-align: center; font-variant-numeric: tabular-nums; }
.review-rail { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px) / 3); gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--ink-soft) #e7e3d9; padding: 6px 2px 18px; scroll-padding-inline: 2px; }
.review-card { display: flex; flex-direction: column; min-width: 0; padding: 27px 25px 23px; border: 1px solid var(--line); border-top: 3px solid var(--red); border-radius: 10px; background: #fffefa; scroll-snap-align: start; box-shadow: 0 5px 13px #101c2005; }
.review-author { display: flex; gap: 11px; align-items: center; }
.review-author > .google-g { width: 22px; height: 22px; margin-left: auto; }
.review-initials { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #ede9de; color: var(--ink); font-size: 14px; font-weight: 700; flex: none; }
.review-author h3 { font-size: 16px; letter-spacing: -.2px; line-height: 1.2; }
.review-author div > span { font-size: 12px; color: var(--muted); }
.review-topic { color: var(--red-dark); font-size: 11px; text-transform: uppercase; letter-spacing: 1.7px; font-weight: 700; margin-top: 26px; }
.review-card blockquote { margin: 12px 0 30px; flex: 1; }
.review-card blockquote p { font-size: 22px; font-weight: 500; letter-spacing: -.3px; line-height: 1.45; }
.review-google-link { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; align-self: flex-start; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
.review-google-link:hover { color: var(--red-dark); }
.review-google-link .icon { width: 16px; height: 16px; }
.reviews-footnote { display: flex; gap: 22px; justify-content: space-between; align-items: flex-start; color: var(--muted); font-size: 12px; margin-top: 12px; line-height: 1.5; }
.reviews-footnote > details { max-width: 580px; }
.reviews-footnote summary { text-decoration: underline; text-underline-offset: 3px; }
.reviews-footnote details p { margin-top: 9px; }
.reviews-footnote a { text-decoration: underline; }
/* Perforated offer tickets, plus separate utility/financing information cards. */
.savings-section { padding-top: 77px; padding-bottom: 72px; position: relative; isolation: isolate; }
.savings-section::before, .savings-section::after { height: 35px; mask-size: 100% 100%; -webkit-mask-size: 100% 100%; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; }
.savings-section::before { top: -24px; -webkit-mask-image: url('/livewire/assets/paint/dark-brush-edge-trust-top.webp'); mask-image: url('/livewire/assets/paint/dark-brush-edge-trust-top.webp'); }
.savings-section::after { bottom: -24px; -webkit-mask-image: url('/livewire/assets/paint/dark-brush-edge-cta.webp'); mask-image: url('/livewire/assets/paint/dark-brush-edge-cta.webp'); }
.savings-heading { display: flex; gap: 65px; justify-content: space-between; align-items: flex-end; margin-bottom: 37px; }
.savings-heading .eyebrow { color: #ff7579; }
.savings-heading h2 { font-size: clamp(37px, 3.8vw, 56px); }
.savings-heading h2 > span { color: #fff; }
.savings-heading > p { max-width: 415px; color: #d6dfdc; font-size: 18px; line-height: 1.5; }
.coupon-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.coupon-ticket { background: var(--paper); color: var(--ink); border-radius: 11px; position: relative; min-width: 0; display: flex; flex-direction: column; }
.coupon-main { padding: 26px 27px 24px; flex: 1; display: flex; flex-direction: column; }
.coupon-topline { display: flex; justify-content: space-between; align-items: center; gap: 15px; color: var(--red-dark); }
.coupon-topline > span { text-transform: uppercase; letter-spacing: 2px; font-size: 11px; font-weight: 700; }
.coupon-topline .icon { width: 33px; height: 33px; }
.coupon-overline { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; margin-top: 22px; }
.coupon-value { display: flex; align-items: baseline; gap: 9px; margin-top: 4px; color: var(--red-dark); font: 400 clamp(40px,4.3vw,63px)/1.12 var(--display); letter-spacing: -.7px; }
.coupon-value > span { font: 800 19px/1 var(--body); letter-spacing: 0; }
.coupon-ticket h3 { font-size: 24px; letter-spacing: -.7px; line-height: 1.15; margin-top: 15px; }
.coupon-description { color: var(--muted); font-size: 15px; margin: 12px 0 25px; flex: 1; }
.coupon-ticket .button { font-size: 14px; padding-inline: 16px; white-space: normal; min-height: 49px; margin-top: auto; }
.coupon-stub { position: relative; border-top: 1.5px dashed #a9a89c; margin-top: auto; padding: 16px 24px 19px; display: grid; gap: 3px; font-size: 11px; text-align: center; color: var(--muted); }
.coupon-stub::before, .coupon-stub::after { content: ''; position: absolute; width: 17px; height: 17px; top: -9px; border-radius: 50%; background: var(--ink); }
.coupon-stub::before { left: -8px; }.coupon-stub::after { right: -8px; }
.coupon-stub > span:first-child { font-weight: 700; letter-spacing: 2px; color: var(--ink); }
.coupon-terms { color: #c8d2d0; font-size: 13px; line-height: 1.5; margin-top: 23px; max-width: 960px; }
.support-offers { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 35px; }
.rebate-card, .finance-card { background: #182a2f; padding: 32px; border: 1px solid #415154; border-radius: 11px; }
.support-card-top { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #c9d6d3; padding-bottom: 21px; border-bottom: 1px solid #425054; margin-bottom: 22px; }
.support-card-top .icon { color: #f96a6e; width: 25px; height: 25px; }
.support-offers .eyebrow { color: #ff8b8f; font-size: 11px; letter-spacing: 2px; }
.support-offers h3 { font-size: 30px; line-height: 1.15; letter-spacing: -.7px; margin-bottom: 19px; }
.support-offers p:not(.eyebrow) { font-size: 15px; line-height: 1.5; color: #d2dcd9; }
.rebate-status { padding: 18px 19px; border-left: 3px solid #ff7579; margin-top: 23px; background: #101c20a1; }
.rebate-status strong { font-size: 15px; color: #fff; }
.rebate-status p { margin-top: 8px; }
.rebate-links { display: flex; flex-wrap: wrap; gap: 11px 23px; margin-top: 23px; font-size: 14px; font-weight: 600; }
.rebate-links a, .finance-disclosure a { text-decoration: underline; text-underline-offset: 4px; }
.support-offers .program-date { font-size: 12px!important; margin-top: 19px; color: #aebfbb!important; }
.payment-figure { margin: 20px 0 14px; }
.payment-figure strong { font: 400 69px/1.1 var(--display); }
.payment-figure strong > span { font: 600 25px/1 var(--body); margin-left: 5px; }
.payment-figure > span { display: block; font-size: 13px; letter-spacing: 1px; color: #ebcfab; margin-top: 3px; }
.support-offers .finance-example { font-size: 13px!important; line-height: 1.55!important; }
.finance-card .button { margin-top: 21px; font-size: 15px; }
.support-offers .finance-disclosure { font-size: 12px!important; line-height: 1.55!important; margin-top: 18px; }
.dialog-offer { padding: 14px 16px; background: #fff1db; border-left: 3px solid var(--red); color: var(--ink)!important; font-size: 14px!important; margin: 12px 0; }
@media(min-width:1550px) { .hero-photo { left: 44%; }.hero::after { width: calc(50% + 84px); } }
@media(max-width:1100px) {
  .hero-photo { left: 40%; }.hero::after { width: calc(48% + 64px); }
  .about-grid { gap: 25px; }.google-rating { min-width: 276px; padding-inline: 23px; }
  .review-card { padding: 23px 20px; }.review-author h3 { font-size: 14px; }.review-initials { width: 34px; height: 34px; }
  .coupon-grid { gap: 17px; }.coupon-main { padding: 23px 22px; }.coupon-ticket h3 { font-size: 21px; }
  .rebate-card, .finance-card { padding: 26px; }.support-offers h3 { font-size: 27px; }
}
@media(max-width:900px) {
  .hero-photo { left: 42%; }.hero::after { width: calc(49% + 52px); }
  .hero > .hero-treeline { height: 180px; }
  .about-grid { grid-template-columns: 1.1fr 1fr; }.about-photo { width: 100%; margin-left: 0; }
  .about-photo figcaption { font-size: 25px; }
  .review-rail { grid-auto-columns: calc((100% - 18px)/2); }
  .coupon-main { padding: 20px 17px; }.coupon-topline > span { font-size: 10px; letter-spacing: 1px; }
  .coupon-value { font-size: 43px; gap: 6px; }.coupon-value > span { font-size: 15px; }
  .coupon-ticket h3 { font-size: 21px; }.coupon-ticket .button { padding-inline: 12px; font-size: 13px; }
  .savings-heading { gap: 30px; }.savings-heading > p { max-width: 320px; font-size: 16px; }
  .support-offers { gap: 18px; }.rebate-card, .finance-card { padding: 23px; }.support-offers h3 { font-size: 25px; }
}
@media(max-width:640px) {
  .brush-highlight::before { inset: -30% -8% -29%; transform: rotate(-3.8deg); }
  .hero-photo { left: auto; }.hero > .hero-treeline { height: 150px; z-index: 3; }
  .about-photo { width: 100%; height: auto; min-height: 0; margin: 0; }
  .about-photo figcaption { font-size: clamp(23px,6vw,30px); }
  .cta-foreground-forest { background-size: 154% 100%; }
  .cta-mountain-ridge { height: 100%; background-size: 160% 100%; background-position: right bottom; opacity: .28; }
  .google-reviews { padding-top: 58px; padding-bottom: 36px; }
  .reviews-heading-row { flex-direction: column; align-items: stretch; gap: 25px; }
  .reviews-heading-row h2 { font-size: 37px; }.reviews-heading-row > div > p:last-child { font-size: 16px; }
  .google-rating { min-width: 0; width: 100%; padding: 21px 24px; grid-template-columns: auto 1fr; column-gap: 22px; }
  .google-label { grid-column: 1/-1; }.rating-number { font-size: 56px; }.rating-stars { justify-self: end; }
  .reviews-toolbar > p { max-width: 165px; font-size: 13px; line-height: 1.3; }.reviews-toolbar { margin-top: 24px; gap: 12px; }
  .review-controls { gap: 8px; }.review-position { min-width: 30px; }.review-controls button { width: 42px; height: 42px; }
  .review-rail { grid-auto-columns: 88%; gap: 14px; }.review-card { padding: 23px 21px; }.review-author h3 { font-size: 15px; }
  .review-card blockquote p { font-size: 22px; }.reviews-footnote { flex-direction: column; gap: 10px; }
  .savings-section { padding-top: 48px; padding-bottom: 48px; }
  .savings-heading { flex-direction: column; align-items: flex-start; gap: 21px; margin-bottom: 29px; }
  .savings-heading h2 { font-size: 43px; }.savings-heading > p { max-width: none; }
  .coupon-grid { grid-template-columns: 1fr; gap: 22px; }.coupon-main { padding: 25px 26px; }
  .coupon-topline > span { font-size: 11px; letter-spacing: 2px; }.coupon-value { font-size: 64px; }
  .coupon-value > span { font-size: 21px; }.coupon-ticket h3 { font-size: 26px; }.coupon-description { font-size: 16px; }
  .coupon-ticket .button { font-size: 15px; min-height: 52px; }.coupon-terms { font-size: 12px; margin-top: 22px; }
  .support-offers { grid-template-columns: 1fr; margin-top: 27px; gap: 22px; }.rebate-card, .finance-card { padding: 25px; }
  .support-offers h3 { font-size: 28px; }.finance-card .button { width: 100%; }.support-card-top { font-size: 11px; }
  .savings-section::before, .savings-section::after { -webkit-mask-size: 800px 48px; mask-size: 800px 48px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header.is-compact .header-motto { animation: none; opacity: 0; transform: none; }
  .review-rail { scroll-behavior: auto; }
}
@media print {
  .review-rail { display: block; overflow: visible; }.review-card { break-inside: avoid; margin-bottom: 15px; }
  .review-controls { display: none!important; }.savings-section { color: #000; }.coupon-grid, .support-offers { display: block; }
  .coupon-ticket, .rebate-card, .finance-card { break-inside: avoid; background: #fff; color: #000; margin: 20px 0; }
  .support-offers p, .coupon-terms, .savings-heading > p { color: #000!important; }
}
/* A split hero cannot fit the crew and readable copy at tablet widths; give both their own row. */
@media (min-width: 641px) and (max-width: 900px) {
  .hero { display: flex; flex-direction: column; }
  .hero-layout { display: block; min-height: 0; order: 0; }
  .hero-copy { max-width: 570px; margin-inline: auto; padding: 49px 0 35px; }
  .hero-description { max-width: 530px; }
  .hero-actions { flex-direction: row; max-width: none; }
  .hero-actions .button { min-width: 0; padding-inline: 24px; }
  .hero-assurances { grid-template-columns: repeat(4, 1fr); max-width: 530px; margin-top: 27px; }
  .hero::after { content: none; }
  .hero-layout::after {
    content: ''; position: absolute; left: calc(-1 * var(--gutter)); right: calc(-1 * var(--gutter));
    bottom: -29px; height: 44px; background: var(--paper); pointer-events: none;
    -webkit-mask: url('/livewire/assets/paint/hero-paper-brush-mask-mobile.webp') center / 100% 100% no-repeat;
    mask: url('/livewire/assets/paint/hero-paper-brush-mask-mobile.webp') center / 100% 100% no-repeat;
    mask-mode: alpha;
  }
  .hero-photo { position: relative; inset: auto; order: 1; width: 100%; height: 500px; }
  .hero-photo > img { object-position: center 44%; }
  .hero > .hero-treeline { height: 175px; }
}
/* Keep the left foreground in the gutter when the two-column hero is narrow. */
@media (min-width: 901px) and (max-width: 1549px) {
  .hero > .hero-treeline {
    -webkit-mask-image: linear-gradient(to right, #000 0%, transparent 14%, transparent 66%, #000 89%);
    mask-image: linear-gradient(to right, #000 0%, transparent 14%, transparent 66%, #000 89%);
  }
}
/* Keep all words available when readers increase letter and word spacing. */
.hero h1 { max-width: 100%; overflow-wrap: anywhere; }
.hero h1 .brush-highlight { max-width: 100%; }
.service-card h3 { overflow-wrap: anywhere; }
.support-offers > * { min-width: 0; overflow-wrap: anywhere; }
/* Let the mascot's height follow its width when the CTA grid column narrows. */
.power-grid > .cta-mascot { width: 100%; height: auto; }
/* Owner-supplied seated Sparky: home footer only, with the original transparent canvas intact. */
.home-footer .footer-top { grid-template-columns: 1fr 1.2fr .65fr 280px; gap: clamp(24px, 3vw, 45px); }
.home-footer-sparky { position: relative; min-width: 0; width: 280px; min-height: 320px; justify-self: end; }
.home-footer-sparky .footer-motto { display: block; position: relative; z-index: 1; width: max-content; max-width: 100%; margin: 0; padding: 0 0 0 7px; font-size: 32px; line-height: 1.05; transform: rotate(-7deg); }
.home-footer-sparky .footer-motto .marker-line { width: 110px; }
.home-footer-sparky > img { position: absolute; right: -5px; top: 60px; display: block; width: 230px; max-width: none; height: auto; pointer-events: none; user-select: none; }
@media (max-width: 1100px) {
  .home-footer .footer-top { grid-template-columns: .95fr 1.1fr .75fr; gap: 28px; }
  .home-footer-sparky { grid-column: 1 / -1; width: 300px; }
}
@media (max-width: 640px) {
  .home-footer .footer-top { grid-template-columns: minmax(0, 1fr); gap: 31px; }
  .home-footer-sparky { width: min(100%, 300px); margin-top: 5px; }
}
@media print { .home-footer-sparky { display: none; } }

/* The supplied blank sign stays intact. County wording is real, selectable HTML
   fitted to the wooden panel, with no raster text or substitute artwork. */
.hero-sparky-sign {
  --sign-size: clamp(280px, 24vw, 325px);
  position: absolute; right: clamp(18px, 2.2vw, 34px); bottom: 13px;
  width: var(--sign-size); aspect-ratio: 1; z-index: 4; pointer-events: none;
}
.hero-sparky-sign > img { display: block; width: 100%; height: auto; }
.hero-sparky-sign-copy {
  position: absolute; left: 55%; top: 52.8%; width: 39.5%; height: 25%;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 3px; margin: 0; padding: 0; transform: rotate(-5.5deg);
  text-align: center; color: #211a13; font-family: var(--display); text-transform: uppercase;
  line-height: 1.1; letter-spacing: .1px; pointer-events: auto;
}
.hero-sparky-sign-copy > span { display: block; font-size: max(11.5px, calc(var(--sign-size) * .039)); }
.hero-sparky-sign-copy > strong { display: block; font-size: calc(var(--sign-size) * .052); font-weight: 400; line-height: 1.12; }
/* Only the homepage swaps the CTA mascot. Shared-page extraction normalizes
   this variant back to the original standing mascot before reusing the CTA. */
.home-power-cta .power-grid { grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr) minmax(245px, .8fr); gap: clamp(27px, 3vw, 42px); }
.home-power-van { position: relative; width: 100%; max-width: 370px; justify-self: center; align-self: center; z-index: 2; }
.home-power-van::before { content: ''; position: absolute; left: 7%; right: 4%; bottom: -1%; height: 10%; background: #07111599; border-radius: 50%; filter: blur(6px); pointer-events: none; }
.home-power-van > img { position: relative; display: block; width: 100%; height: auto; transform: rotate(-1deg); filter: drop-shadow(0 4px 4px #0003); }
.home-power-cta .power-copy { min-width: 0; }
.home-power-cta .power-copy h2 { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .home-power-cta .power-grid { grid-template-columns: minmax(210px, .9fr) minmax(0, 1.1fr); gap: 26px 35px; }
  .home-power-cta .power-actions { grid-column: 1 / -1; width: 100%; max-width: 630px; justify-self: center; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-power-cta .power-actions > span { grid-column: 1 / -1; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .hero-sparky-sign { --sign-size: 290px; right: 24px; bottom: 15px; }
}
@media (max-width: 640px) {
  .hero-sparky-sign { --sign-size: clamp(240px, 67vw, 260px); right: 10px; bottom: 12px; transform: scale(.5); transform-origin: bottom right; }
  .hero-sparky-sign-copy { top: 51.5%; height: 29%; gap: 2px; }
  .hero-sparky-sign-copy > strong { line-height: 1.05; }
  .home-power-cta .power-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .home-power-van { grid-column: 1; grid-row: 1; width: min(94%, 330px); }
  .home-power-cta .power-copy { grid-column: 1; grid-row: 2; text-align: center; padding-bottom: 0; }
  .home-power-cta .power-copy h2 { font-size: clamp(34px, 8.5vw, 44px); transform: rotate(-3deg); }
  .home-power-cta .power-copy > p { font-size: 16px; max-width: 440px; margin-inline: auto; }
  .home-power-cta .power-actions { grid-column: 1; grid-row: 3; grid-template-columns: minmax(0, 1fr); max-width: 430px; margin-top: 4px; }
  .home-power-cta .cta-mountain-ridge {
    inset: 0 0 auto; width: 100%; height: 250px;
    background-size: auto 100%; background-position: 60% bottom;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 70%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 70%, transparent);
    opacity: .36;
  }
}
