/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
Text Domain: generatepress-child
*/

/* ===========================================================================
   PURELY ELECTRIC EV — Combined styles
   Theme chrome + home page + inner page patterns
   =========================================================================== */
   @import url("https://fonts.googleapis.com/css2?family=Anton&family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500&family=Roboto+Mono:wght@400;500&display=swap");

   /* ---------------------------------------------------------------------------
		 1. DESIGN TOKENS
		 --------------------------------------------------------------------------- */
   :root {
	 /* Surfaces */
	 --pe-bg: #0a0b0c;
	 --pe-bg-2: #101315;
	 --pe-bg-3: #171a1d;
   
	 /* Borders */
	 --pe-border: rgba(255, 255, 255, .09);
	 --pe-border-strong: rgba(255, 255, 255, .16);
   
	 /* Text */
	 --pe-text: #e9edeb;
	 --pe-text-soft: #c3cbc8;
	 --pe-text-muted: #98a1a0;
   
	 /* Brand accents (two only — no third hue) */
	 --pe-green: #34d35b;
	 --pe-green-ink: #062110;
	 --pe-blue: #2b6dfb;
   
	 /* Fonts */
	 --pe-font-display: "Anton", "Arial Narrow", sans-serif;
	 --pe-font-body: "Montserrat", system-ui, -apple-system, sans-serif;
	 --pe-font-mono: "Roboto Mono", ui-monospace, monospace;
	 --pe-font-ui: var(--pe-font-body);
   
	 /* Fluid display sizes */
	 --pe-h1-size: clamp(46px, 7.2vw, 92px);
	 --pe-h2-size: clamp(32px, 4.6vw, 58px);
   
	 /* Layout / spacing */
	 --pe-maxw: 1200px;
	 --pe-pad-x: 32px;
	 --pe-section: 104px;
   
	 /* Radii */
	 --pe-radius-xs: 5px;
	 --pe-radius-sm: 8px;
	 --pe-radius-md: 9px;
	 --pe-radius-lg: 14px;
	 --pe-radius-xl: 20px;
	 --pe-radius-2xl: 28px;
	 --pe-radius-icon: 11px;
	 --pe-radius-pill: 999px;
   
	 /* Shadows (dark, never colored) */
	 --pe-shadow-card: 0 24px 50px -20px #000;
	 --pe-shadow-overlay: 0 30px 60px -28px #000;
   
	 /* Glows (CTA buttons only) */
	 --pe-glow-green: 0 8px 30px -12px var(--pe-green);
	 --pe-glow-blue: 0 8px 30px -12px var(--pe-blue);
   
	 /* Transitions */
	 --pe-ease: .15s ease;
	 --pe-ease-md: .2s ease;
   
	 /* Heading scale (Direction A / B) */
	 --h-scale: 1;
   }
   
   * {
	 box-sizing: border-box;
   }
   
   html {
	 scroll-behavior: smooth;
   }
   
   body {
	 margin: 0;
	 background: var(--pe-bg);
	 color: var(--pe-text);
	 font-family: "Montserrat", system-ui, sans-serif;
	 -webkit-font-smoothing: antialiased;
   }
   
   a {
	 color: inherit;
	 text-decoration: none;
   }
   
   img {
	 display: block;
	 max-width: 100%;
   }
   
   .grn {
	 color: var(--pe-green);
   }
   
   .blu {
	 color: var(--pe-blue);
   }
   
   .pe-root {
	 overflow-x: clip;
   }
   
   /* ----------------------------- buttons ----------------------------------- */
   
   .btn {
	 display: inline-flex;
	 align-items: center;
	 gap: 9px;
	 white-space: nowrap;
	 font-family: "Montserrat", sans-serif;
	 font-weight: 700;
	 font-size: 13.5px;
	 letter-spacing: .05em;
	 text-transform: uppercase;
	 padding: 15px 26px;
	 border-radius: 9px;
	 border: 1px solid transparent;
	 cursor: pointer;
	 transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
   }
   
   .btn svg {
	 margin-right: -3px;
   }
   
   .btn--green {
	 background: var(--pe-green);
	 color: var(--pe-green-ink);
	 box-shadow: 0 8px 30px -12px var(--pe-green);
   }
   
   .btn--green:hover {
	 transform: translateY(-2px);
	 filter: brightness(1.06);
   }
   
   .btn--blue {
	 background: var(--pe-blue);
	 color: #fff;
	 box-shadow: 0 8px 30px -12px var(--pe-blue);
   }
   
   .btn--blue:hover {
	 transform: translateY(-2px);
	 filter: brightness(1.08);
   }
   
   .btn--ghost {
	 background: transparent;
	 border-color: var(--pe-border-strong);
	 color: var(--pe-text);
   }
   
   .btn--ghost:hover {
	 border-color: var(--pe-green);
	 color: var(--pe-green);
	 transform: translateY(-2px);
   }
   
   .btn--sm {
	 padding: 11px 18px;
	 font-size: 12.5px;
   }
   
   /* --------------------------- media placeholder --------------------------- */
   
   .media-ph {
	 position: relative;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 overflow: hidden;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 min-height: 200px;
   }
   
   .media-ph__grid {
	 position: absolute;
	 inset: 0;
	 background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .028) 0 14px, transparent 14px 28px);
   }
   
   .media-ph__grid::after {
	 content: "";
	 position: absolute;
	 inset: 0;
	 background: radial-gradient(120% 120% at 70% 20%, color-mix(in oklab, var(--pe-blue) 16%, transparent), transparent 60%),
	   radial-gradient(120% 120% at 20% 90%, color-mix(in oklab, var(--pe-green) 14%, transparent), transparent 60%);
   }
   
   .media-ph__tag {
	 position: relative;
	 font-family: "Roboto Mono", ui-monospace, monospace;
	 font-size: 12px;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
	 border: 1px dashed var(--pe-border-strong);
	 padding: 9px 16px;
	 border-radius: 5px;
	 background: rgba(0, 0, 0, .35);
   }
   
   /* -------------------------------- header --------------------------------- */
   
   .pe-header {
	 position: fixed;
	 top: 0;
	 left: 0;
	 right: 0;
	 z-index: 80;
	 background: rgba(10, 11, 12, .72);
	 backdrop-filter: blur(14px);
	 border-bottom: 1px solid var(--pe-border);
   }
   
   .pe-header__inner {
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: 0 32px;
	 height: 88px;
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 24px;
   }
   
   .pe-logo img {
	 height: 57px;
	 width: auto;
   }
   
   .pe-nav {
	 display: flex;
	 align-items: center;
	 gap: 28px;
   }
   
   .pe-nav>a,
   .pe-nav__moreBtn {
	 font-size: 12.5px;
	 font-weight: 600;
	 letter-spacing: .06em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 background: none;
	 border: none;
	 cursor: pointer;
	 display: inline-flex;
	 align-items: center;
	 gap: 5px;
	 transition: color .18s;
   }
   
   .pe-nav>a:hover,
   .pe-nav__moreBtn:hover {
	 color: var(--pe-text);
   }
   
   .pe-nav__more {
	 position: relative;
   }
   
   .pe-nav__drop {
	 position: absolute;
	 top: 140%;
	 right: 0;
	 min-width: 200px;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 12px;
	 padding: 8px;
	 opacity: 0;
	 visibility: hidden;
	 transform: translateY(-6px);
	 transition: .18s;
	 box-shadow: 0 24px 50px -20px #000;
   }
   
   .pe-nav__drop.is-open {
	 opacity: 1;
	 visibility: visible;
	 transform: translateY(0);
   }
   
   .pe-nav__drop a {
	 display: block;
	 padding: 11px 14px;
	 border-radius: 8px;
	 font-size: 13px;
	 color: var(--pe-text-soft);
	 text-transform: uppercase;
	 letter-spacing: .04em;
	 font-weight: 600;
   }
   
   .pe-nav__drop a:hover {
	 background: var(--pe-bg-3);
	 color: var(--pe-green);
   }
   
   .pe-header__cta {
	 display: flex;
	 align-items: center;
	 gap: 14px;
   }
   
   .pe-burger {
	 display: none;
	 flex-direction: column;
	 gap: 5px;
	 background: none;
	 border: none;
	 cursor: pointer;
	 padding: 6px;
   }
   
   .pe-burger span {
	 width: 22px;
	 height: 2px;
	 background: var(--pe-text);
	 border-radius: 2px;
   }
   
   /* ============================ HOME PAGE ================================== */
   
   .pe-main .pe-wrap {
	 max-width: var(--pe-maxw);
	 margin-left: auto;
	 margin-right: auto;
	 padding-left: var(--pe-pad-x);
	 padding-right: var(--pe-pad-x);
   }
   
   .pe-section {
	 padding: var(--pe-section) 0;
   }
   
   .pe-placeholder-note {
	 font-family: var(--pe-font-mono);
	 font-size: 11px;
	 letter-spacing: .04em;
	 color: var(--pe-text-muted);
	 opacity: .6;
	 margin-top: 26px;
   }
   
   /* hero layout */
   
   .pe-hero__inner {
	 position: relative;
	 display: grid;
	 grid-template-columns: 1.08fr .92fr;
	 gap: 56px;
	 align-items: center;
   }
   
   .page-id-9730 .pe-hero__inner {
	 grid-template-columns: 1.2fr .8fr;
	 align-items: end;
   }
   
   /* intro */
   
   .pe-intro {
	 display: grid;
	 grid-template-columns: .85fr 1.15fr;
	 gap: 60px;
	 padding: var(--pe-section) 0;
   }
   
   .pe-intro__body p {
	 font-size: 17.5px;
	 line-height: 1.75;
	 color: var(--pe-text-soft);
	 margin: 0 0 18px;
   }
   
   .pe-intro__body p:last-child {
	 margin-bottom: 0;
   }
   
   .pe-intro__body strong {
	 color: var(--pe-text);
   }
   
   /* stats band */
   
   .pe-stats {
	 background: var(--pe-bg-2);
	 border-top: 1px solid var(--pe-border);
	 border-bottom: 1px solid var(--pe-border);
   }
   
   .pe-stats__grid {
	 display: grid;
	 grid-template-columns: repeat(4, 1fr);
   }
   
   /* why */
   
   .pe-why__top {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 40px;
	 align-items: end;
	 margin-bottom: 48px;
   }
   
   .pe-why__lead {
	 font-size: 17px;
	 line-height: 1.7;
	 color: var(--pe-text-soft);
	 max-width: 46ch;
	 margin: 0;
   }
   
   .pe-why__list {
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-why__row {
	 display: grid;
	 grid-template-columns: 96px 280px 1fr;
	 gap: 28px;
	 align-items: start;
	 padding: 30px 0;
	 border-bottom: 1px solid var(--pe-border);
   }
   
   .pe-why__n {
	 font-family: var(--pe-font-display);
	 font-size: 36px;
	 line-height: 1;
	 color: var(--pe-green);
   }
   
   .pe-why__title {
	 font-weight: 700;
	 font-size: 18px;
   }
   
   .pe-why__body {
	 color: var(--pe-text-soft);
	 font-size: 15px;
	 line-height: 1.65;
   }
   
   /* services */
   
   .pe-services__head {
	 margin-bottom: 40px;
	 max-width: 920px;
   }
   
   .pe-services__sub {
	 font-size: 16.5px;
	 line-height: 1.7;
	 color: var(--pe-text-soft);
	 margin-top: 18px;
   }
   
   .pe-services__subhead {
	 display: flex;
	 align-items: center;
	 gap: 14px;
	 font-size: 13px;
	 font-weight: 700;
	 letter-spacing: .16em;
	 text-transform: uppercase;
	 color: var(--pe-text);
	 margin: 0 0 22px;
   }
   
   .pe-services__subhead-bar {
	 width: 34px;
	 height: 2px;
	 background: var(--pe-green);
	 display: inline-block;
	 flex-shrink: 0;
   }
   
   .pe-services-grid {
	 display: grid;
	 grid-template-columns: repeat(2, 1fr);
	 border: 1px solid var(--pe-border);
   }
   
   .pe-service {
	 padding: 34px 30px;
	 border-right: 1px solid var(--pe-border);
	 border-bottom: 1px solid var(--pe-border);
	 transition: background var(--pe-ease-md);
   }
   
   .pe-services-grid .pe-service:nth-child(2n) {
	 border-right: none;
   }
   
   .pe-services-grid .pe-service:nth-last-child(-n+2) {
	 border-bottom: none;
   }
   
   .pe-service:hover {
	 background: var(--pe-bg-2);
   }
   
   .pe-service__icon {
	 width: 46px;
	 height: 46px;
	 border-radius: var(--pe-radius-icon);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 background: color-mix(in oklab, var(--pe-green) 14%, transparent);
	 color: var(--pe-green);
	 border: 1px solid color-mix(in oklab, var(--pe-green) 30%, transparent);
	 margin-bottom: 20px;
   }
   
   .pe-services-grid .pe-service:nth-child(2n) .pe-service__icon {
	 background: color-mix(in oklab, var(--pe-blue) 16%, transparent);
	 color: var(--pe-blue);
	 border-color: color-mix(in oklab, var(--pe-blue) 32%, transparent);
   }
   
   .pe-service__title {
	 font-size: 17px;
	 font-weight: 700;
	 margin: 0 0 10px;
   }
   
   .pe-service__body {
	 font-size: 14.5px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   .pe-services__cta {
	 margin-top: 34px;
   }
   
   /* testimonials */
   
   .pe-reviews__head {
	 margin-bottom: 40px;
   }
   
   .pe-reviews__grid {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 18px;
   }
   
   .pe-quote {
	 margin: 0;
	 height: 100%;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-sm);
	 padding: 28px;
   }
   
   .pe-quote__stars {
	 display: flex;
	 gap: 3px;
	 color: var(--pe-green);
   }
   
   .pe-quote blockquote {
	 margin: 16px 0 22px;
	 font-size: 15.5px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 font-style: italic;
   }
   
   .pe-quote figcaption {
	 display: flex;
	 align-items: center;
	 gap: 12px;
   }
   
   .pe-quote figcaption>span:last-child {
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
	 min-width: 0;
	 line-height: 1.3;
   }
   
   .pe-quote__av {
	 width: 40px;
	 height: 40px;
	 border-radius: 50%;
	 background: color-mix(in oklab, var(--pe-green) 22%, #0c1a10);
	 color: var(--pe-green);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 font-weight: 700;
	 font-size: 13px;
	 flex-shrink: 0;
   }
   
   .pe-quote figcaption strong {
	 display: block;
	 font-size: 14px;
   }
   
   .pe-quote figcaption em {
	 display: block;
	 font-style: normal;
	 font-size: 12.5px;
	 color: var(--pe-text-muted);
	 margin-top: 2px;
   }
   
   /* CTA band */
   
   .pe-ctaband {
	 border-top: 1px solid var(--pe-border);
	 background: radial-gradient(70% 130% at 50% 0%,
		 color-mix(in oklab, var(--pe-green) 10%, transparent),
		 transparent 60%);
   }
   
   .pe-ctaband__inner {
	 text-align: center;
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
   }
   
   .pe-ctaband__inner .pe-h2 {
	 margin-bottom: 18px;
   }
   
   .pe-ctaband__inner>p {
	 font-size: 18px;
	 color: var(--pe-text-soft);
	 line-height: 1.6;
	 margin: 0 auto 30px;
	 max-width: 54ch;
   }
   
   /* ============================ DIRECTION B ================================ */
   
   .b-wrap {
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: 0 32px;
   }
   
   .dir-b {
	 padding-top: 0;
   }
   
   .dir-b .b-h1 {
	 font-family: "Montserrat", sans-serif;
	 font-weight: 900;
	 text-transform: uppercase;
	 font-size: calc(clamp(38px, 6vw, 74px)*var(--h-scale));
	 line-height: 1.03;
	 letter-spacing: -.015em;
	 margin: 0;
   }
   
   .dir-b .b-h2 {
	 font-family: "Montserrat", sans-serif;
	 font-weight: 800;
	 text-transform: uppercase;
	 font-size: calc(clamp(27px, 3.8vw, 46px)*var(--h-scale));
	 line-height: 1.06;
	 letter-spacing: -.01em;
	 margin: 0;
   }
   
   .b-eyebrow {
	 display: inline-flex;
	 align-items: center;
	 gap: 9px;
	 border: 1px solid var(--pe-border-strong);
	 border-radius: 999px;
	 padding: 8px 15px;
	 font-size: 11.5px;
	 font-weight: 700;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
   }
   
   .b-eyebrow__bolt {
	 display: inline-flex;
	 color: var(--pe-green);
   }
   
   .b-note {
	 font-family: "Roboto Mono", monospace;
	 font-size: 11px;
	 letter-spacing: .04em;
	 color: var(--pe-text-muted);
	 opacity: .6;
	 margin-top: 26px;
	 text-align: center;
   }
   
   .b-sechead {
	 margin-bottom: 44px;
   }
   
   .b-sechead--center {
	 text-align: center;
	 max-width: 680px;
	 margin-left: auto;
	 margin-right: auto;
   }
   
   .b-sechead .b-h2 {
	 margin: 16px 0 14px;
   }
   
   .b-sechead p {
	 font-size: 17px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 margin: 0 auto;
	 max-width: 56ch;
   }
   
   /* hero B */
   
   .b-hero {
	 position: relative;
	 text-align: center;
	 padding: 150px 0 88px;
	 overflow: hidden;
   }
   
   .b-hero__glow {
	 position: absolute;
	 inset: 0;
	 pointer-events: none;
	 background: radial-gradient(50% 50% at 50% 0%, color-mix(in oklab, var(--pe-green) 16%, transparent), transparent 62%),
	   radial-gradient(60% 60% at 80% 30%, color-mix(in oklab, var(--pe-blue) 16%, transparent), transparent 60%);
   }
   
   .b-hero__inner {
	 position: relative;
   }
   
   .b-hero .b-h1 {
	 margin: 24px auto 0;
	 max-width: 16ch;
   }
   
   .b-sub {
	 font-size: 18px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 max-width: 60ch;
	 margin: 22px auto 0;
   }
   
   .b-cta-row {
	 display: flex;
	 gap: 14px;
	 justify-content: center;
	 flex-wrap: wrap;
	 margin-top: 30px;
   }
   
   .b-hero__mediawrap {
	 position: relative;
	 margin-top: 58px;
   }
   
   .b-hero__ph {
	 min-height: 430px;
   }
   
   .b-trustbar {
	 position: relative;
	 display: flex;
	 flex-wrap: wrap;
	 justify-content: center;
	 gap: 18px 30px;
	 background: rgba(16, 19, 21, .92);
	 backdrop-filter: blur(10px);
	 border: 1px solid var(--pe-border-strong);
	 border-radius: 18px;
	 padding: 18px 30px;
	 max-width: 880px;
	 margin: -38px auto 0;
	 box-shadow: 0 30px 60px -28px #000;
   }
   
   .b-trustbar__item {
	 display: flex;
	 align-items: center;
	 gap: 9px;
	 font-size: 13.5px;
	 font-weight: 600;
	 color: var(--pe-text-soft);
   }
   
   .b-trustbar__item svg {
	 color: var(--pe-green);
   }
   
   /* intro B */
   
   .b-intro {
	 padding: 104px 0;
   }
   
   .b-intro__inner {
	 max-width: 820px;
	 margin: 0 auto;
	 text-align: center;
   }
   
   .b-intro .b-h2 {
	 margin: 16px 0 22px;
   }
   
   .b-intro p {
	 font-size: 17.5px;
	 line-height: 1.78;
	 color: var(--pe-text-soft);
	 margin: 0 auto 16px;
	 max-width: 62ch;
   }
   
   .b-brands {
	 display: flex;
	 flex-wrap: wrap;
	 justify-content: center;
	 gap: 10px;
	 margin-top: 30px;
   }
   
   .b-chip {
	 border: 1px solid var(--pe-border-strong);
	 border-radius: 999px;
	 padding: 8px 16px;
	 font-size: 13px;
	 font-weight: 600;
	 color: var(--pe-text-soft);
   }
   
   /* stats B */
   
   .b-stats {
	 display: grid;
	 grid-template-columns: repeat(4, 1fr);
	 gap: 16px;
	 padding: 0 32px 16px;
   }
   
   .b-stat {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 18px;
	 padding: 30px 24px;
	 text-align: center;
   }
   
   .b-stat__val {
	 font-weight: 800;
	 font-size: 46px;
	 line-height: 1;
	 letter-spacing: -.02em;
   }
   
   .b-stat__label {
	 font-size: 12.5px;
	 letter-spacing: .06em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-top: 10px;
   }
   
   /* why B */
   
   .b-why {
	 padding: 104px 0;
   }
   
   .b-why__grid {
	 display: grid;
	 grid-template-columns: repeat(2, 1fr);
	 gap: 16px;
   }
   
   .b-whycard {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 20px;
	 padding: 32px;
	 transition: .2s;
   }
   
   .b-whycard:hover {
	 border-color: color-mix(in oklab, var(--pe-green) 50%, var(--pe-border));
	 transform: translateY(-3px);
   }
   
   .b-whycard__n {
	 font-weight: 800;
	 font-size: 15px;
	 color: var(--pe-green);
	 letter-spacing: .1em;
   }
   
   .b-whycard h3 {
	 font-size: 18px;
	 font-weight: 700;
	 margin: 14px 0 10px;
   }
   
   .b-whycard p {
	 font-size: 15px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   /* services B */
   
   .b-services {
	 padding: 104px 0;
   }
   
   .b-serv__grid {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 16px;
   }
   
   .b-servcard {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 20px;
	 padding: 30px;
	 transition: .2s;
   }
   
   .b-servcard:hover {
	 border-color: color-mix(in oklab, var(--pe-blue) 50%, var(--pe-border));
	 transform: translateY(-3px);
   }
   
   .b-servcard__icon {
	 width: 54px;
	 height: 54px;
	 border-radius: 15px;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 background: color-mix(in oklab, var(--pe-green) 15%, transparent);
	 color: var(--pe-green);
	 border: 1px solid color-mix(in oklab, var(--pe-green) 30%, transparent);
	 margin-bottom: 20px;
   }
   
   .b-servcard:nth-child(2n) .b-servcard__icon {
	 background: color-mix(in oklab, var(--pe-blue) 16%, transparent);
	 color: var(--pe-blue);
	 border-color: color-mix(in oklab, var(--pe-blue) 32%, transparent);
   }
   
   .b-servcard h3 {
	 font-size: 17px;
	 font-weight: 700;
	 margin: 0 0 10px;
   }
   
   .b-servcard p {
	 font-size: 14.5px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   /* reviews B */
   
   .b-reviews {
	 padding: 104px 0;
   }
   
   .b-rev__grid {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 16px;
   }
   
   .b-revcard {
	 margin: 0;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 20px;
	 padding: 30px;
   }
   
   .b-revcard blockquote {
	 margin: 16px 0 22px;
	 font-size: 15.5px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 font-style: italic;
   }
   
   .b-revcard figcaption {
	 display: flex;
	 align-items: center;
	 gap: 12px;
   }
   
   .b-revcard figcaption>span:last-child {
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
	 min-width: 0;
	 line-height: 1.3;
   }
   
   .b-revcard__av {
	 width: 42px;
	 height: 42px;
	 border-radius: 50%;
	 background: color-mix(in oklab, var(--pe-green) 22%, #0c1a10);
	 color: var(--pe-green);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 font-weight: 700;
	 font-size: 14px;
   }
   
   .b-revcard figcaption strong {
	 display: block;
	 font-size: 14px;
   }
   
   .b-revcard figcaption em {
	 display: block;
	 font-style: normal;
	 font-size: 12.5px;
	 color: var(--pe-text-muted);
	 margin-top: 2px;
   }
   
   /* cta B */
   
   .b-cta {
	 padding: 40px 32px 110px;
   }
   
   .b-cta__panel {
	 position: relative;
	 overflow: hidden;
	 text-align: center;
	 border-radius: 28px;
	 border: 1px solid var(--pe-border-strong);
	 padding: 72px 40px;
	 background: linear-gradient(180deg, var(--pe-bg-2), var(--pe-bg));
	 max-width: 1000px;
	 margin: 0 auto;
   }
   
   .b-cta__glow {
	 position: absolute;
	 inset: 0;
	 pointer-events: none;
	 background: radial-gradient(60% 120% at 50% 0%, color-mix(in oklab, var(--pe-green) 18%, transparent), transparent 60%),
	   radial-gradient(50% 120% at 100% 100%, color-mix(in oklab, var(--pe-blue) 16%, transparent), transparent 60%);
   }
   
   .b-cta__panel .b-h2 {
	 position: relative;
	 margin-bottom: 16px;
   }
   
   .b-cta__panel p {
	 position: relative;
	 font-size: 18px;
	 color: var(--pe-text-soft);
	 line-height: 1.6;
	 margin: 0 auto 30px;
	 max-width: 54ch;
   }
   
   .b-cta__panel .b-cta-row {
	 position: relative;
   }
   
   /* -------------------------------- footer --------------------------------- */
   
   .pe-footer {
	 border-top: 1px solid var(--pe-border);
	 background: var(--pe-bg);
   }
   
   .pe-footer__top {
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: 72px 32px 48px;
	 display: grid;
	 grid-template-columns: 1.1fr 2fr;
	 gap: 60px;
   }
   
   .pe-footer__logo {
	 height: 54px;
	 margin-bottom: 22px;
   }
   
   .pe-footer__contact {
	 list-style: none;
	 margin: 0;
	 padding: 0;
	 display: grid;
	 gap: 13px;
   }
   
   .pe-footer__contact li {
	 display: flex;
	 align-items: flex-start;
	 gap: 11px;
	 color: var(--pe-text-soft);
	 font-size: 14px;
	 line-height: 1.5;
   }
   
   .pe-footer__contact svg {
	 color: var(--pe-green);
	 flex: none;
	 margin-top: 2px;
   }
   
   .pe-social {
	 display: flex;
	 gap: 10px;
	 margin-top: 22px;
   }
   
   .pe-social__chip {
	 width: 38px;
	 height: 38px;
	 border-radius: 10px;
	 border: 1px solid var(--pe-border-strong);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 font-size: 12px;
	 font-weight: 700;
	 color: var(--pe-text-soft);
	 text-transform: uppercase;
	 transition: .18s;
   }
   
   .pe-social__chip:hover {
	 border-color: var(--pe-green);
	 color: var(--pe-green);
   }
   
   .pe-footer__cols {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 32px;
   }
   
   .pe-footer__col .widget-title {
	 font-size: 12.5px;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text);
	 margin: 0 0 16px;
   }
   
   .pe-footer__col li {
	   margin-bottom: 0 !important;
   }
   
   .pe-footer__col ul {
	 list-style: none;
	 margin: 0;
	 padding: 0;
	 display: grid;
	 gap: 11px;
   }
   
   .pe-footer__col a {
	 font-size: 14px;
	 color: var(--pe-text-muted);
	 transition: color .18s;
   }
   
   .pe-footer__col a:hover {
	 color: var(--pe-green);
   }
   
   .pe-footer__bar {
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-footer__bar {
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: 22px 32px;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 gap: 16px;
	 color: var(--pe-text-muted);
	 font-size: 13px;
   }
   
   .pe-footer__legal {
	 display: flex;
	 gap: 22px;
   }
   
   .pe-footer__legal a:hover {
	 color: var(--pe-green);
   }
   
   /* ------------------------------- switcher -------------------------------- */
   
   .pe-switch {
	 position: fixed;
	 bottom: 18px;
	 left: 50%;
	 transform: translateX(-50%);
	 z-index: 85;
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 background: rgba(16, 19, 21, .94);
	 backdrop-filter: blur(12px);
	 border: 1px solid var(--pe-border-strong);
	 border-radius: 999px;
	 padding: 7px 8px 7px 16px;
	 box-shadow: 0 24px 50px -22px #000;
   }
   
   .pe-switch__label {
	 font-size: 10.5px;
	 font-weight: 700;
	 letter-spacing: .12em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
   }
   
   .pe-switch__seg {
	 display: flex;
	 background: var(--pe-bg-3);
	 border-radius: 999px;
	 padding: 3px;
   }
   
   .pe-switch__seg button {
	 border: none;
	 background: none;
	 cursor: pointer;
	 padding: 8px 16px;
	 border-radius: 999px;
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: .02em;
	 color: var(--pe-text-soft);
	 transition: .18s;
   }
   
   .pe-switch__seg button.on {
	 background: var(--pe-green);
	 color: var(--pe-green-ink);
   }
   
   /* ------------------------------ responsive ------------------------------- */
   
   @media (max-width:980px) {
	 .pe-nav {
	   position: fixed;
	   top: 88px;
	   left: 0;
	   right: 0;
	   flex-direction: column;
	   align-items: flex-start;
	   gap: 4px;
	   background: var(--pe-bg-2);
	   border-bottom: 1px solid var(--pe-border);
	   padding: 14px 24px;
	   transform: translateY(-12px);
	   opacity: 0;
	   visibility: hidden;
	   transition: .2s;
	 }
   
	 .pe-nav.is-open {
	   transform: translateY(0);
	   opacity: 1;
	   visibility: visible;
	 }
   
	 .pe-nav__menu {
	   flex-direction: column;
	   align-items: flex-start;
	 }
   
	 .pe-nav>a,
	 .pe-nav__moreBtn {
	   padding: 10px 0;
	 }
   
	 .pe-nav__more {
	   width: 100%;
	 }
   
	 .pe-nav__drop {
	   position: static;
	   opacity: 1;
	   visibility: visible;
	   transform: none;
	   border: none;
	   background: none;
	   box-shadow: none;
	   padding: 0 0 0 12px;
	 }
   
	 .pe-burger {
	   display: flex;
	 }
   
	 .pe-hero__inner,
	 .pe-intro,
	 .pe-why__top,
	 .pe-about__inner,
	 .pe-panel {
	   grid-template-columns: 1fr;
	   gap: 40px;
	 }
   
	 .pe-panel {
	   padding: 28px 24px;
	 }
   
	 .pe-grid-3 {
	   grid-template-columns: 1fr;
	 }
   
	 .pe-stats__grid {
	   grid-template-columns: repeat(2, 1fr);
	 }
   
	 .pe-stat:nth-child(odd) {
	   border-left: none;
	 }
   
	 .pe-services-grid,
	 .pe-reviews__grid {
	   grid-template-columns: 1fr;
	 }
   
	 .pe-services-grid .pe-service {
	   border-right: none;
	 }
   
	 .pe-services-grid .pe-service:nth-last-child(-n+2) {
	   border-bottom: 1px solid var(--pe-border);
	 }
   
	 .pe-services-grid .pe-service:last-child {
	   border-bottom: none;
	 }
   
	 .pe-why__row {
	   grid-template-columns: 60px 1fr;
	   gap: 14px 20px;
	 }
   
	 .pe-why__body {
	   grid-column: 1 / -1;
	 }
   
	 .b-stats,
	 .b-why__grid {
	   grid-template-columns: repeat(2, 1fr);
	 }
   
	 .pe-footer__top {
	   grid-template-columns: 1fr;
	   gap: 40px;
	 }
   }
   
   @media (max-width:560px) {
   
	 .b-wrap,
	 .pe-header__inner,
	 .pe-footer__top,
	 .pe-footer__bar,
	 .b-stats,
	 .b-cta,
	 .pe-main .pe-wrap {
	   padding-left: 20px;
	   padding-right: 20px;
	 }
   
	 .b-stats,
	 .b-why__grid {
	   grid-template-columns: 1fr;
	 }
   
	 .pe-stats__grid {
	   grid-template-columns: 1fr;
	 }
   
	 .pe-stat {
	   border-left: none;
	   border-top: 1px solid var(--pe-border);
	 }
   
	 .pe-header__cta .btn--sm,
	 .pe-header__cta .pe-btn--sm {
	   display: none;
	 }
   
	 .pe-switch__label {
	   display: none;
	 }
   
	 .pe-footer__bar {
	   flex-direction: column;
	   align-items: flex-start;
	 }
   }
   
   /* WordPress menu inside .pe-nav */
   
   .pe-nav__menu {
	 display: flex;
	 gap: 28px;
	 list-style: none;
	 margin: 0;
	 padding: 0;
   }
   
   .pe-nav__menu>li {
	 position: relative;
   }
   
   .pe-nav__menu>li>a,
   .pe-nav__moreBtn {
	 font-size: 12.5px;
	 font-weight: 600;
	 letter-spacing: .06em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 transition: color .18s;
   }
   
   .pe-nav__menu>li>a:hover,
   .pe-nav__menu>li:hover>a {
	 color: var(--pe-text);
   }
   
   /* "More" dropdown */
   
   .pe-nav__menu>li.menu-item-has-children>.sub-menu {
	 position: absolute;
	 top: 140%;
	 right: 0;
	 min-width: 200px;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 12px;
	 padding: 8px;
	 list-style: none;
	 margin: 0;
	 opacity: 0;
	 visibility: hidden;
	 transform: translateY(-6px);
	 transition: .18s;
	 box-shadow: 0 24px 50px -20px #000;
   }
   
   .pe-nav__menu>li.menu-item-has-children:hover>.sub-menu,
   .pe-nav__menu>li.menu-item-has-children:focus-within>.sub-menu {
	 opacity: 1;
	 visibility: visible;
	 transform: translateY(0);
   }
   
   .pe-nav__menu .sub-menu a {
	 display: block;
	 padding: 11px 14px;
	 border-radius: 8px;
	 font-size: 13px;
	 color: var(--pe-text-soft);
	 text-transform: uppercase;
	 letter-spacing: .04em;
	 font-weight: 600;
   }
   
   .pe-nav__menu .sub-menu a:hover {
	 background: var(--pe-bg-3);
	 color: var(--pe-green);
   }
   
   /* Fixed header offset */
   
   body {
	 padding-top: 88px;
   }
   
   .pe-logo .custom-logo,
   .pe-logo img {
	 height: 57px;
	 width: auto;
   }
   
   /* ===========================================================================
		 3. TYPOGRAPHY UTILITIES
		 =========================================================================== */
   
   .pe-h1 {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 font-size: var(--pe-h1-size);
	 text-transform: uppercase;
	 line-height: .9;
	 letter-spacing: .005em;
	 margin: 0;
   }
   
   .pe-h2 {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 font-size: var(--pe-h2-size);
	 text-transform: uppercase;
	 line-height: .96;
	 letter-spacing: .006em;
	 margin: 0;
   }
   
   .pe-sub {
	 font-size: 18px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 max-width: 44ch;
	 margin: 0;
   }
   
   .pe-lead {
	 font-size: 17px;
	 line-height: 1.7;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   /* Colour utility classes used in wp_kses heading spans */
   
   .text-green {
	 color: var(--pe-green);
   }
   
   .text-blue {
	 color: var(--pe-blue);
   }
   
   /* ===========================================================================
		 4. BUTTONS
		 =========================================================================== */
   
   .pe-btn {
	 display: inline-flex;
	 align-items: center;
	 gap: 9px;
	 white-space: nowrap;
	 font-family: var(--pe-font-body);
	 font-weight: 700;
	 font-size: 13.5px;
	 letter-spacing: .05em;
	 text-transform: uppercase;
	 padding: 15px 26px;
	 border-radius: var(--pe-radius-md);
	 border: 1px solid transparent;
	 cursor: pointer;
	 text-decoration: none;
	 transition: transform var(--pe-ease), background var(--pe-ease-md),
	   border-color var(--pe-ease-md), box-shadow var(--pe-ease-md),
	   filter var(--pe-ease-md);
   }
   
   .pe-btn svg {
	 flex-shrink: 0;
   }
   
   .pe-btn--green {
	 background: var(--pe-green);
	 color: var(--pe-green-ink) !important;
	 box-shadow: var(--pe-glow-green);
   }
   
   .pe-btn--green:hover,
   .pe-btn--green:focus {
	 color: var(--pe-green-ink) !important;
	 transform: translateY(-2px);
	 filter: brightness(1.06);
   }
   
   .pe-btn--ghost {
	 background: transparent;
	 border-color: var(--pe-border-strong);
	 color: var(--pe-text);
   }
   
   .pe-btn--ghost:hover,
   .pe-btn--ghost:focus {
	 border-color: var(--pe-green);
	 color: var(--pe-green);
	 transform: translateY(-2px);
   }
   
   /* Row of CTA buttons — wraps on narrow screens */
   
   .pe-cta-row {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 14px;
	 margin-top: 32px;
   }
   
   .pe-cta-row--center {
	 justify-content: center;
   }
   
   /* ===========================================================================
		 5. KICKER (section label above headings)
		 =========================================================================== */
   
   .pe-kicker {
	 display: inline-flex;
	 align-items: center;
	 gap: 10px;
	 font-family: var(--pe-font-body);
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: .2em;
	 text-transform: uppercase;
	 color: var(--pe-green);
	 margin-bottom: 18px;
   }
   
   .pe-kicker__dot {
	 width: 7px;
	 height: 7px;
	 border-radius: 50%;
	 background: var(--pe-green);
	 box-shadow: 0 0 12px var(--pe-green);
	 flex-shrink: 0;
   }
   
   /* NEW — About page sales panel (blue kicker variant) */
   
   .pe-kicker--blue {
	 color: var(--pe-blue);
   }
   
   .pe-kicker--blue .pe-kicker__dot {
	 background: var(--pe-blue);
	 box-shadow: 0 0 12px var(--pe-blue);
   }
   
   /* ===========================================================================
		 6. PILL (hero badge)
		 =========================================================================== */
   
   .pe-pill {
	 display: inline-flex;
	 align-items: center;
	 gap: 9px;
	 border: 1px solid var(--pe-border-strong);
	 border-radius: var(--pe-radius-pill);
	 padding: 8px 15px;
	 font-family: var(--pe-font-body);
	 font-size: 11.5px;
	 font-weight: 600;
	 letter-spacing: .12em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
	 margin-bottom: 26px;
   }
   
   .pe-pill__dot {
	 width: 7px;
	 height: 7px;
	 border-radius: 50%;
	 background: var(--pe-green);
	 box-shadow: 0 0 12px var(--pe-green);
	 flex-shrink: 0;
   }
   
   /* ===========================================================================
		 7. TRUST ITEMS (hero bar)
		 =========================================================================== */
   
   .pe-trust {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 14px 26px;
	 margin-top: 42px;
	 padding-top: 26px;
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-trust__item {
	 display: flex;
	 align-items: center;
	 gap: 9px;
	 font-size: 13px;
	 font-weight: 600;
	 color: var(--pe-text-soft);
   }
   
   /* SVGs inside trust items inherit the green colour via CSS */
   
   .pe-trust__item svg,
   .pe-trust__icon svg {
	 color: var(--pe-green);
   }
   
   /* ===========================================================================
		 8. MEDIA PLACEHOLDER  (shown when no ACF image is set — remove in prod)
		 =========================================================================== */
   
   .pe-media-ph {
	 position: relative;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 overflow: hidden;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 min-height: 470px;
	 border-radius: var(--pe-radius-lg);
   }
   
   .pe-media-ph__tag,
   .pe-media-ph__label {
	 position: relative;
	 z-index: 1;
	 font-family: var(--pe-font-mono);
	 font-size: 12px;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
	 border: 1px dashed var(--pe-border-strong);
	 padding: 9px 16px;
	 border-radius: var(--pe-radius-xs);
	 background: rgba(0, 0, 0, .35);
   }
   
   /* ===========================================================================
		 9. HERO
		 =========================================================================== */
   
   .pe-hero {
	 position: relative;
	 padding: 63px 0 84px;
	 overflow: hidden;
   }
   
   .pe-hero__sub {
	 font-size: 18px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 max-width: 42ch;
	 margin: 26px 0 0;
   }
   
   .pe-media-img {
	 width: 100%;
	 height: auto;
	 border-radius: var(--pe-radius-lg);
   }
   
   .pe-floatcard {
	 position: absolute;
	 left: -14px;
	 bottom: -18px;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border-strong);
	 border-radius: var(--pe-radius-lg);
	 padding: 16px 20px;
	 box-shadow: var(--pe-shadow-card);
	 text-align: left;
   }
   
   .pe-floatcard__stars {
	 display: flex;
	 gap: 3px;
	 color: var(--pe-green);
   }
   
   .pe-floatcard__big {
	 font-family: var(--pe-font-display);
	 font-size: 34px;
	 line-height: 1;
	 margin-top: 6px;
   }
   
   .pe-floatcard__sub {
	 font-size: 11px;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-top: 3px;
   }
   
   /* Atmospheric radial glow — two light sources */
   
   .pe-hero__bg {
	 position: absolute;
	 inset: 0;
	 pointer-events: none;
	 background:
	   radial-gradient(60% 70% at 78% 8%, color-mix(in oklab, var(--pe-blue) 20%, transparent), transparent 60%),
	   radial-gradient(50% 60% at 0% 100%, color-mix(in oklab, var(--pe-green) 14%, transparent), transparent 60%);
   }
   
   .pe-hero__copy {
	 position: relative;
	 /* above the bg gradient */
   }
   
   .pe-hero__media {
	 position: relative;
   }
   
   .pe-hero__img {
	 width: 100%;
	 height: auto;
	 border-radius: 14px;
   }
   
   .pe-hero__img-ph {
	 /* Placeholder sizing — remove once images are in ACF */
	 min-height: 420px;
   }
   
   /* ===========================================================================
		 10. STEPS (How We Work — numbered list)
		 =========================================================================== */
   
   .pe-steps {
	 padding: var(--pe-section) 0;
   }
   
   /* Top border on the list, bottom border on each row */
   
   .pe-steps__list {
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-steps__row {
	 display: flex;
	 align-items: flex-start;
	 padding: 30px 0;
	 border-bottom: 1px solid var(--pe-border);
	 gap: 28px;
   }
   
   .pe-steps__content {
	 display: flex;
	 flex-direction: column;
	 align-items: flex-start;
	 width: 100%;
	 gap: 10px;
   }
   
   /* Number column */
   
   .pe-steps__num {
	 font-family: var(--pe-font-display);
	 font-size: 36px;
	 line-height: 1;
	 text-transform: uppercase;
	 color: var(--pe-green);
	 width: 72px;
   }
   
   /* Title column — fixed width on md+, full-width inline on mobile */
   
   .pe-steps__title {
	 font-family: var(--pe-font-ui);
	 font-size: 18px;
	 font-weight: 700;
	 color: var(--pe-text);
	 margin: 0 0 10px;
   }
   
   @media (min-width: 768px) {
	 .pe-steps__title {
	   width: 240px;
	   margin-bottom: 0;
	 }
   }
   
   /* Body copy */
   
   .pe-steps__body {
	 font-size: 15px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
   }
   
   @media (min-width: 768px) {
	 .pe-steps__content {
	   flex-direction: row;
	   gap: 28px;
	 }
   }
   
   @media (min-width: 992px) {
	 .pe-steps__content {
	   gap: 48px;
	 }
   
	 .pe-about__inner {
	   gap: 60px;
	 }
   }
   
   /* ===========================================================================
		 11. ABOUT (two-column: heading+image / body copy)
		 =========================================================================== */
   
   .pe-about {
	 padding: var(--pe-section) 0;
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-about__inner {
	 display: grid;
	 grid-template-columns: 5fr 7fr;
	 gap: 48px;
	 align-items: start;
   }
   
   .pe-about__img {
	 width: 100%;
	 height: auto;
	 border-radius: 14px;
	 margin-top: 32px;
   }
   
   .pe-about__img-ph {
	 min-height: 260px;
	 margin-top: 32px;
   }
   
   /* WYSIWYG output from ACF about_content field */
   
   .pe-about__body p {
	 font-size: 17.5px;
	 line-height: 1.75;
	 color: var(--pe-text-soft);
	 margin-bottom: 18px;
   }
   
   .pe-about__body p:last-child {
	 margin-bottom: 0;
   }
   
   .pe-about__body strong {
	 color: var(--pe-text);
   }
   
   .pe-about__body a {
	 color: var(--pe-green);
	 text-decoration: underline;
	 text-underline-offset: 3px;
   }
   
   /* Mono brand/vehicle list below body copy */
   
   .pe-brands {
	 font-family: var(--pe-font-mono);
	 font-size: 13px;
	 color: var(--pe-text-muted);
	 margin-top: 26px;
	 padding-top: 22px;
	 border-top: 1px solid var(--pe-border);
	 letter-spacing: .02em;
   }
   
   /* NEW — About page: "See all service" note under the card grid */
   
   .pe-services__note {
	 font-size: 17px;
	 line-height: 1.7;
	 color: var(--pe-text-soft);
	 margin: 32px 0 0;
   }
   
   .pe-services__note a {
	 color: var(--pe-green);
	 text-decoration: underline;
	 text-underline-offset: 3px;
   }
   
   /* NEW — About page: two-column sales panel */
   
   .pe-panel {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-xl);
	 padding: 44px;
	 display: grid;
	 grid-template-columns: 1.2fr .8fr;
	 gap: 48px;
	 align-items: center;
   }
   
   .pe-panel .pe-h2 {
	 font-size: clamp(26px, 3vw, 36px);
	 line-height: .95;
	 margin: 0 0 16px;
   }
   
   .pe-panel p {
	 font-size: 17px;
	 line-height: 1.7;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   .pe-panel-cta {
	 display: flex;
	 flex-direction: column;
	 gap: 12px;
	 align-items: flex-start;
   }
   
   .pe-panel-cta .pe-btn {
	 margin-top: 0;
   }
   
   /* ===========================================================================
		 12. CTA BAND
		 =========================================================================== */
   
   .pe-cta {
	 padding: var(--pe-section) 0;
	 border-top: 1px solid var(--pe-border);
	 text-align: center;
	 background: radial-gradient(70% 130% at 50% 0%,
		 color-mix(in oklab, var(--pe-green) 10%, transparent),
		 transparent 60%);
   }
   
   .pe-cta .pe-sub {
	 margin-left: auto;
	 margin-right: auto;
	 max-width: 54ch;
   }
   
   .pe-cta .pe-cta-row {
	 justify-content: center;
   }
   
   /* ===========================================================================
		 PAGE PATTERNS & COMPONENTS (from purely-electric-ev.css)
		 =========================================================================== */
   
   /* ---------------------------------------------------------------------------
		 2. PAGE WRAPPER  (each content block is wrapped in .pe-page)
		 --------------------------------------------------------------------------- */
   
   .pe-page,
   .pe-page *,
   .pe-page *::before,
   .pe-page *::after {
	 box-sizing: border-box;
   }
   
   .pe-page {
	 font-family: var(--pe-font-body);
	 color: var(--pe-text);
	 -webkit-font-smoothing: antialiased;
   }
   
   .pe-page img {
	 display: block;
	 max-width: 100%;
   }
   
   /* Links inside the content default to inheriting color (theme link blue is
		 overridden); specific link patterns below set their own hover behavior. */
   
   .pe-page a {
	 color: inherit;
	 text-decoration: none;
   }
   
   .pe-page a:hover {
	 color: var(--pe-green);
   }
   
   .pe-btn--blue {
	 background: var(--pe-blue);
	 color: #fff;
	 box-shadow: var(--pe-glow-blue);
   }
   
   .pe-btn--blue:hover {
	 color: #fff !important;
	 transform: translateY(-2px);
	 filter: brightness(1.08);
   }
   
   .pe-btn--sm {
	 padding: 11px 18px;
	 font-size: 12.5px;
   }
   
   .pe-btn--lg {
	 padding: 18px 32px;
	 font-size: 15px;
   }
   
   .pe-btn:disabled,
   .pe-btn--disabled {
	 opacity: .45;
	 pointer-events: none;
   }
   
   /* ---------------------------------------------------------------------------
		 5. STARS
		 --------------------------------------------------------------------------- */
   
   .pe-stars {
	 display: flex;
	 gap: 3px;
	 color: var(--pe-green);
   }
   
   /* ---------------------------------------------------------------------------
		 6. SERVICE CARD
		 --------------------------------------------------------------------------- */
   
   .pe-service-card {
	 padding: 34px 30px;
	 border: 1px solid var(--pe-border);
	 background: transparent;
	 transition: background var(--pe-ease-md);
   }
   
   .pe-service-card:hover {
	 background: var(--pe-bg-2);
   }
   
   .pe-service-card__icon {
	 width: 46px;
	 height: 46px;
	 border-radius: var(--pe-radius-icon);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 background: color-mix(in oklab, var(--pe-green) 14%, transparent);
	 color: var(--pe-green);
	 border: 1px solid color-mix(in oklab, var(--pe-green) 30%, transparent);
	 margin-bottom: 20px;
   }
   
   .pe-service-card__icon--blue {
	 background: color-mix(in oklab, var(--pe-blue) 16%, transparent);
	 color: var(--pe-blue);
	 border-color: color-mix(in oklab, var(--pe-blue) 32%, transparent);
   }
   
   .pe-service-card__title {
	 font-size: 17px;
	 font-weight: 700;
	 margin: 0 0 10px;
	 color: var(--pe-text);
   }
   
   .pe-service-card__body {
	 font-size: 14.5px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 margin: 0;
   }
   
   /* ---------------------------------------------------------------------------
		 7. REVIEW CARD
		 --------------------------------------------------------------------------- */
   
   .pe-review-card {
	 margin: 0;
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-sm);
	 padding: 28px;
   }
   
   .pe-review-card blockquote {
	 margin: 16px 0 22px;
	 font-size: 15.5px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 font-style: italic;
   }
   
   .pe-review-card figcaption {
	 display: flex;
	 align-items: center;
	 gap: 12px;
   }
   
   .pe-review-card__avatar {
	 width: 40px;
	 height: 40px;
	 border-radius: 50%;
	 background: color-mix(in oklab, var(--pe-green) 22%, #0c1a10);
	 color: var(--pe-green);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 font-weight: 700;
	 font-size: 13px;
	 flex-shrink: 0;
   }
   
   .pe-review-card__name {
	 display: block;
	 font-weight: 700;
	 font-size: 14px;
	 color: var(--pe-text);
   }
   
   .pe-review-card__vehicle {
	 display: block;
	 font-style: normal;
	 font-size: 12.5px;
	 color: var(--pe-text-muted);
	 margin-top: 2px;
   }
   
   /* ---------------------------------------------------------------------------
		 8. STAT BLOCK
		 --------------------------------------------------------------------------- */
   
   .pe-stat {
	 padding: 46px 24px;
	 border-left: 1px solid var(--pe-border);
   }
   
   .pe-stat:first-child {
	 border-left: none;
   }
   
   .pe-stat__value,
   .pe-stat__val {
	 font-family: var(--pe-font-display);
	 font-size: 54px;
	 line-height: 1;
	 color: var(--pe-text);
   }
   
   .pe-stat__suffix {
	 color: var(--pe-green);
   }
   
   .pe-stat__label {
	 font-size: 12.5px;
	 letter-spacing: .08em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-top: 10px;
   }
   
   .pe-media-ph__grid {
	 position: absolute;
	 inset: 0;
	 background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .028) 0 14px, transparent 14px 28px);
   }
   
   .pe-media-ph__grid::after {
	 content: "";
	 position: absolute;
	 inset: 0;
	 background:
	   radial-gradient(120% 120% at 70% 20%, color-mix(in oklab, var(--pe-blue) 16%, transparent), transparent 60%),
	   radial-gradient(120% 120% at 20% 90%, color-mix(in oklab, var(--pe-green) 14%, transparent), transparent 60%);
   }
   
   /* ---------------------------------------------------------------------------
		 10. MARQUEE
		 --------------------------------------------------------------------------- */
   
   .pe-marquee {
	 background: var(--pe-green);
	 color: var(--pe-green-ink);
	 overflow: hidden;
	 white-space: nowrap;
	 padding: 15px 0;
   }
   
   .pe-root[data-marquee="off"] .pe-marquee {
	 display: none;
   }
   
   .pe-marquee__track {
	 display: inline-flex;
	 animation: pe-marq 34s linear infinite;
   }
   
   .pe-marquee__item {
	 display: inline-flex;
	 align-items: center;
	 font-weight: 800;
	 font-size: 14px;
	 letter-spacing: .05em;
	 text-transform: uppercase;
   }
   
   .pe-marquee__sep {
	 opacity: .45;
	 margin: 0 22px;
   }
   
   @keyframes pe-marq {
	 to {
	   transform: translateX(-50%);
	 }
   }
   
   @media (prefers-reduced-motion: reduce) {
	 .pe-marquee__track {
	   animation: none;
	 }
   }
   
   /* ===========================================================================
		 11. PAGE PATTERNS  (used by the content blocks)
		 =========================================================================== */
   
   /* --- Page hero (area / guide / service content blocks) --- */
   
   .pe-page-hero {
	 position: relative;
	 padding: 40px 0;
	 overflow: hidden;
   }
   
   .pe-page-hero__bg {
	 position: absolute;
	 inset: 0;
	 pointer-events: none;
	 background:
	   radial-gradient(46% 60% at 88% 0%, color-mix(in oklab, var(--pe-blue) 14%, transparent), transparent 62%),
	   radial-gradient(40% 55% at -2% 100%, color-mix(in oklab, var(--pe-green) 10%, transparent), transparent 62%);
   }
   
   .pe-page-hero__inner {
	 position: relative;
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 0 32px;
   }
   
   .pe-page-hero__inner--wide {
	 max-width: 820px;
   }
   
   .pe-page-hero__title {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: clamp(44px, 6vw, 72px);
	 line-height: .92;
	 letter-spacing: .005em;
	 margin: 16px 0 0;
   }
   
   .pe-page-hero__lede {
	 font-size: 19px;
	 line-height: 1.65;
	 color: var(--pe-text-soft);
	 margin: 24px 0 0;
   }
   
   .pe-page-hero__lede--narrow {
	 max-width: 60ch;
   }
   
   .pe-page-hero__actions {
	 display: flex;
	 gap: 14px;
	 flex-wrap: wrap;
	 margin-top: 28px;
   }
   
   /* Compact trust strip under hero CTAs (e.g. Tesla Repair) */
   
   .pe-page-hero__trust {
	 display: flex;
	 flex-wrap: wrap;
	 align-items: center;
	 gap: 10px 18px;
	 margin-top: 26px;
	 padding-top: 22px;
	 border-top: 1px solid var(--pe-border);
	 font-size: 13.5px;
	 color: var(--pe-text-soft);
   }
   
   .pe-page-hero__trust-item {
	 display: inline-flex;
	 align-items: center;
	 gap: 7px;
   }
   
   .pe-page-hero__trust-icon {
	 color: var(--pe-green);
	 display: flex;
   }
   
   .pe-page-hero__trust-sep {
	 color: var(--pe-border-strong);
   }
   
   /* --- Article body (buying guides, area pages) --- */
   
   .art {
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 20px 32px 40px;
	 font-size: 17px;
	 line-height: 1.75;
	 color: var(--pe-text-soft);
   }
   
   .art h2 {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: 28px;
	 line-height: 1.06;
	 letter-spacing: .006em;
	 color: var(--pe-text);
	 margin: 48px 0 18px;
   }
   
   .art p {
	 margin: 0 0 18px;
   }
   
   .art strong {
	 color: var(--pe-text);
   }
   
   .art a.inline {
	 color: var(--pe-green);
	 text-decoration: underline;
	 text-underline-offset: 3px;
	 text-decoration-thickness: 1px;
   }
   
   body:not(.page-id-9764) .art ul:not(.svc-links) {
	 list-style: none;
	 padding: 0;
	 margin: 0 0 8px;
	 display: grid;
	 gap: 13px
   }
   
   body:not(.page-id-9764) .art ul:not(.svc-links) li {
	 display: flex;
	 gap: 12px
   }
   
   .art ul:not(.svc-links) li span:first-of-type {
	 margin-top: 9px;
	 flex: none;
	 width: 6px;
	 height: 6px;
	 border-radius: 50%;
	 background: var(--pe-green)
   }
   
   
   /* Long-form article variant with slightly larger headings + rhythm */
   
   .art--feature h2 {
	 font-size: 30px;
	 margin: 52px 0 20px;
   }
   
   /* Callout box inside article body */
   
   .art-callout {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: 16px;
	 padding: 26px 28px;
	 margin: 8px 0;
   }
   
   .art-callout p {
	 margin: 0;
	 font-size: 18px;
	 line-height: 1.6;
	 color: var(--pe-text);
   }
   
   .art-callout strong {
	 color: var(--pe-green);
   }
   
   /* --- Bottom CTA band (content-block pages) --- */
   
   .pe-page-cta {
	 padding: 88px 0;
	 border-top: 1px solid var(--pe-border);
	 background: radial-gradient(70% 130% at 50% 0%,
		 color-mix(in oklab, var(--pe-green) 10%, transparent),
		 transparent 60%);
   }
   
   .pe-page-cta__inner {
	 max-width: 720px;
	 margin: 0 auto;
	 padding: 0 32px;
	 text-align: center;
   }
   
   .pe-page-cta__title {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: var(--pe-h2-size);
	 line-height: .9;
	 letter-spacing: .006em;
	 margin: 0 0 16px;
   }
   
   .pe-page-cta__lede {
	 font-size: 18px;
	 color: var(--pe-text-soft);
	 line-height: 1.6;
	 margin: 0 auto 30px;
	 max-width: 50ch;
   }
   
   .pe-page-cta__actions {
	 display: flex;
	 gap: 14px;
	 flex-wrap: wrap;
	 justify-content: center;
   }
   
   /* --- Guide hub section + card internals --- */
   
   .pe-guides {
	 max-width: 820px;
	 margin: 0 auto;
	 padding: 20px 32px 40px;
   }
   
   .pe-cards2 {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 16px;
   }
   
   .guide-card__eyebrow {
	 font-family: var(--pe-font-mono);
	 font-size: 12px;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-bottom: 14px;
   }
   
   .guide-card__eyebrow--accent {
	 color: var(--pe-green);
   }
   
   .guide-card__title {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: 24px;
	 line-height: 1.02;
	 letter-spacing: .006em;
	 color: var(--pe-text);
	 margin: 0 0 10px;
   }
   
   .guide-card__body {
	 font-size: 14.5px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 margin: 0 0 16px;
   }
   
   .guide-card__link {
	 display: inline-flex;
	 align-items: center;
	 gap: 8px;
	 font-size: 13px;
	 font-weight: 700;
	 letter-spacing: .08em;
	 text-transform: uppercase;
	 color: var(--pe-green);
   }
   
   /* --- Service link list (area pages) --- */
   
   .svc-links {
	 list-style: none;
	 padding: 0;
	 margin: 0;
	 display: grid;
	 gap: 12px;
   }
   
   .svc-links a {
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 16px;
	 border: 1px solid var(--pe-border);
	 border-radius: 12px;
	 padding: 18px 22px;
	 color: var(--pe-text);
	 font-weight: 600;
	 font-size: 16px;
	 transition: background var(--pe-ease-md), border-color var(--pe-ease-md);
   }
   
   .svc-links a:hover {
	 background: var(--pe-bg-2);
	 border-color: var(--pe-border-strong);
	 color: var(--pe-text);
   }
   
   .svc-links a .arw {
	 color: var(--pe-green);
	 transition: transform .18s ease;
	 flex: none;
   }
   
   .svc-links a:hover .arw {
	 transform: translateX(4px);
   }
   
   /* --- FAQ accordions (native <details>) --- */
   
   .faq details {
	 border-bottom: 1px solid var(--pe-border);
   }
   
   .faq details:first-child {
	 border-top: 1px solid var(--pe-border);
   }
   
   .faq summary {
	 list-style: none;
	 cursor: pointer;
	 padding: 20px 0;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 gap: 16px;
	 font-weight: 700;
	 font-size: 16.5px;
	 color: var(--pe-text);
   }
   
   .faq summary::-webkit-details-marker {
	 display: none;
   }
   
   .faq summary .chev {
	 transition: transform .2s ease;
	 color: var(--pe-green);
	 flex: none;
   }
   
   .faq details[open] summary .chev {
	 transform: rotate(45deg);
   }
   
   .faq .ans {
	 padding: 0 0 22px;
	 color: var(--pe-text-soft);
	 font-size: 15.5px;
	 line-height: 1.7;
	 max-width: 68ch;
   }
   
   .faq .ans a {
	 color: var(--pe-green);
	 text-decoration: underline;
	 text-underline-offset: 3px;
   }
   
   /* --- Layout utilities (content blocks) --- */
   
   .pe-pad-x {
	 padding-left: var(--pe-pad-x);
	 padding-right: var(--pe-pad-x);
   }
   
   .pe-wrap {
	 max-width: var(--pe-maxw);
	 margin-left: auto;
	 margin-right: auto;
   }
   
   .pe-grid-2 {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 16px;
   }
   
   /* NEW — About page: 3-column service card grid */
   
   .pe-grid-3 {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 16px;
   }
   
   .pe-grid-3 .pe-service-card {
	 border-radius: var(--pe-radius-lg);
   }
   
   .pe-form-2col {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 18px;
   }
   
   /* --- Schedule Service page --- */
   
   .pe-schedule-hero {
	 position: relative;
	 padding: 60px 0;
	 overflow: hidden;
   }
   
   .pe-schedule-hero__bg {
	 position: absolute;
	 inset: 0;
	 pointer-events: none;
	 background:
	   radial-gradient(55% 70% at 82% 4%, color-mix(in oklab, var(--pe-blue) 18%, transparent), transparent 60%),
	   radial-gradient(46% 60% at -4% 100%, color-mix(in oklab, var(--pe-green) 12%, transparent), transparent 60%);
   }
   
   .pe-schedule-hero__inner {
	 position: relative;
   }
   
   .pe-schedule-hero .pe-h1 {
	 margin-top: 22px;
	 max-width: 16ch;
   }
   
   .pe-schedule-hero__lede {
	 font-size: 18px;
	 line-height: 1.6;
	 color: var(--pe-text-soft);
	 max-width: 56ch;
	 margin: 24px 0 0;
   }
   
   .pe-schedule-hero__trust {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 14px 26px;
	 margin-top: 34px;
   }
   
   .pe-schedule-hero__trust-item {
	 display: flex;
	 align-items: center;
	 gap: 9px;
	 font-size: 13px;
	 font-weight: 600;
	 color: var(--pe-text-soft);
   }
   
   .pe-schedule-hero__trust-icon {
	 color: var(--pe-green);
	 display: flex;
   }
   
   .pe-schedule-layout {
	 display: grid;
	 grid-template-columns: 1.15fr .85fr;
	 gap: 32px;
	 align-items: start;
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: 20px var(--pe-pad-x) var(--pe-section);
   }
   
   .pe-schedule-form__card {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-xl);
	 padding: 38px 38px 34px;
   }
   
   .pe-schedule-form__title {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: 32px;
	 line-height: .95;
	 letter-spacing: .006em;
	 margin: 0 0 26px;
   }
   
   .pe-schedule-gf__note {
	 font-size: 13px;
	 color: var(--pe-text-muted);
	 line-height: 1.5;
	 max-width: 34ch;
	 margin: 16px 0 0;
   }
   
   .pe-schedule-aside {
	 display: grid;
	 gap: 16px;
   }
   
   .pe-schedule-card {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-xl);
	 padding: 30px;
   }
   
   .pe-schedule-contact__row {
	 display: flex;
	 align-items: flex-start;
	 gap: 13px;
	 margin-bottom: 22px;
   }
   
   .pe-schedule-contact__row:last-child {
	 margin-bottom: 0;
   }
   
   .pe-schedule-contact__icon {
	 color: var(--pe-green);
	 flex: none;
	 margin-top: 2px;
	 display: flex;
   }
   
   .pe-schedule-contact__label {
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-bottom: 6px;
   }
   
   .pe-schedule-contact__body {
	 font-size: 15px;
	 line-height: 1.55;
	 color: var(--pe-text-soft);
   }
   
   .pe-schedule-contact__body--hours {
	 line-height: 1.7;
   }
   
   .pe-hours-row {
	 display: flex;
	 justify-content: space-between;
	 gap: 20px;
   }
   
   .pe-hours-row__val {
	 color: var(--pe-text);
   }
   
   .pe-hours-row__val--muted {
	 color: var(--pe-text-muted);
   }
   
   .pe-schedule-steps__heading {
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: .1em;
	 text-transform: uppercase;
	 color: var(--pe-text-muted);
	 margin-bottom: 20px;
   }
   
   .pe-schedule-steps__list {
	 display: grid;
	 gap: 18px;
   }
   
   .pe-schedule-step {
	 display: grid;
	 grid-template-columns: 34px 1fr;
	 gap: 14px;
	 align-items: start;
   }
   
   .pe-schedule-step__num {
	 font-family: var(--pe-font-display);
	 font-size: 24px;
	 line-height: 1;
	 color: var(--pe-green);
   }
   
   .pe-schedule-step__body {
	 font-size: 14.5px;
	 line-height: 1.55;
	 color: var(--pe-text-soft);
   }
   
   .pe-schedule-map {
	 border-top: 1px solid var(--pe-border);
   }
   
   .pe-schedule-map__inner {
	 max-width: var(--pe-maxw);
	 margin: 0 auto;
	 padding: var(--pe-section) var(--pe-pad-x);
   }
   
   .pe-schedule-map__kicker {
	 margin-bottom: 26px;
   }
   
   .pe-schedule-map__embed {
	 position: relative;
	 border: 1px solid var(--pe-border);
	 border-radius: var(--pe-radius-lg);
	 overflow: hidden;
	 min-height: 400px;
	 background: var(--pe-bg-2);
   }
   
   .pe-schedule-map__iframe {
	 position: absolute;
	 inset: 0;
	 width: 100%;
	 height: 100%;
	 border: 0;
	 filter: invert(92%) hue-rotate(180deg) brightness(.95) contrast(.92);
   }
   
   .pe-schedule-map__ph {
	 border-radius: var(--pe-radius-lg);
	 min-height: 400px;
   }
   
   /* --- Schedule form fields (styling target for Gravity Forms embed) --- */
   
   .pe-field {
	 background: #eef1f0;
	 border: 1px solid #d3dad7;
	 border-radius: 9px;
	 padding: 13px 15px;
	 color: #14181a;
	 font-family: var(--pe-font-body);
	 font-size: 15px;
	 width: 100%;
   }
   
   .pe-field:focus {
	 border-color: var(--pe-green);
	 outline: none;
   }
   
   .pe-field::placeholder {
	 color: #6b7472;
	 opacity: 1;
   }
   
   select.pe-field {
	 appearance: none;
	 -webkit-appearance: none;
	 cursor: pointer;
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7472' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	 background-repeat: no-repeat;
	 background-position: right 15px center;
	 padding-right: 42px;
   }
   
   textarea.pe-field {
	 resize: vertical;
	 line-height: 1.6;
   }
   
   .pe-field-label {
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: .06em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
   }
   
   /* --- Gravity Forms (Schedule Service form 10) --- */
   
   .pe-schedule-gf .gform_wrapper {
	 margin: 0;
   }
   
   .pe-schedule-gf .gform_wrapper form {
	 margin: 0;
   }
   
   .pe-schedule-gf .gform_heading {
	 display: none;
   }
   
   .pe-schedule-gf .gform_fields {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 18px;
   }
   
   .pe-schedule-gf .gfield {
	 margin: 0;
	 padding: 0;
	 grid-column: 1 / -1;
   }
   
   .pe-schedule-gf .gfield--type-html {
	 grid-column: 1 / -1;
   }
   
   .pe-schedule-gf .gfield--width-half,
   .pe-schedule-gf .gfield_width_half {
	 grid-column: auto;
   }
   
   .pe-schedule-gf .gfield_label,
   .pe-schedule-gf .gform-field-label {
	 font-size: 12px !important;
	 font-weight: 700 !important;
	 letter-spacing: .06em;
	 text-transform: uppercase;
	 color: var(--pe-text-soft);
	 margin: 0 0 8px;
   }
   
   .pe-schedule-gf .gfield_label .gfield_required,
   .pe-schedule-gf .gform-field-label .gfield_required {
	 color: var(--pe-green);
   }
   
   .pe-schedule-gf .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]),
   .pe-schedule-gf .ginput_container select,
   .pe-schedule-gf .ginput_container textarea {
	 background: #eef1f0;
	 border: 1px solid #d3dad7;
	 border-radius: 9px;
	 padding: 13px 15px;
	 color: #14181a;
	 font-family: var(--pe-font-body);
	 font-size: 15px;
	 width: 100%;
	 box-shadow: none;
   }
   
   .pe-schedule-gf .ginput_container textarea {
	 resize: vertical;
	 line-height: 1.6;
	 min-block-size: 120px;
   }
   
   .pe-schedule-gf .ginput_container select {
	 appearance: none;
	 -webkit-appearance: none;
	 cursor: pointer;
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7472' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	 background-repeat: no-repeat;
	 background-position: right 15px center;
	 padding-right: 42px;
   }
   
   .pe-schedule-gf .ginput_container input:focus,
   .pe-schedule-gf .ginput_container select:focus,
   .pe-schedule-gf .ginput_container textarea:focus {
	 border-color: var(--pe-green);
	 outline: none;
   }
   
   .pe-schedule-gf .ginput_container input::placeholder,
   .pe-schedule-gf .ginput_container textarea::placeholder {
	 color: #6b7472;
	 opacity: 1;
   }
   
   .pe-schedule-gf .gfield_description,
   .pe-schedule-gf .gfield_validation_message,
   .pe-schedule-gf .validation_message {
	 font-size: 13px;
	 line-height: 1.5;
	 margin-top: 8px;
   }
   
   .pe-schedule-gf .gfield_validation_message,
   .pe-schedule-gf .validation_message {
	 color: #f87171;
   }
   
   .pe-schedule-gf .gform_footer,
   .pe-schedule-gf .gform_page_footer {
	 display: flex;
	 flex-wrap: wrap;
	 align-items: center;
	 gap: 16px;
	 margin: 26px 0 0;
	 padding: 0;
   }
   
   .pe-schedule-gf .gform_button,
   .pe-schedule-gf input[type="submit"].gform_button {
	 display: inline-flex;
	 align-items: center;
	 gap: 9px;
	 white-space: nowrap;
	 font-family: var(--pe-font-body);
	 font-weight: 700;
	 font-size: 15px;
	 letter-spacing: .05em;
	 text-transform: uppercase;
	 padding: 18px 32px;
	 border-radius: var(--pe-radius-md);
	 border: 1px solid transparent;
	 cursor: pointer;
	 text-decoration: none;
	 background: var(--pe-green);
	 color: var(--pe-green-ink) !important;
	 box-shadow: var(--pe-glow-green);
	 transition: transform var(--pe-ease), filter var(--pe-ease-md);
   }
   
   .pe-schedule-gf .gform_button:hover,
   .pe-schedule-gf input[type="submit"].gform_button:hover {
	 transform: translateY(-2px);
	 filter: brightness(1.06);
   }
   
   .pe-schedule-gf .gform_ajax_spinner {
	 margin-left: 8px;
   }
   
   /* --- Large display phone link (Schedule contact card) --- */
   
   .pe-contact-tel {
	 font-family: var(--pe-font-display);
	 font-size: 26px;
	 line-height: 1;
	 color: var(--pe-text);
	 transition: color var(--pe-ease);
   }
   
   .pe-contact-tel:hover {
	 color: var(--pe-green);
   }
   
   /* --- FAQ category heading (EV Service FAQ) --- */
   
   .cat {
	 font-family: var(--pe-font-display);
	 font-weight: 400;
	 text-transform: uppercase;
	 font-size: 26px;
	 line-height: 1.06;
	 letter-spacing: .006em;
	 color: var(--pe-text);
	 margin: 48px 0 6px;
   }
   
   /* --- Buying-guide hub cards (shell; internals use .guide-card__*) --- */
   
   .guide-card {
	 display: block;
	 border: 1px solid var(--pe-border);
	 border-radius: 16px;
	 padding: 30px 30px 26px;
	 transition: background var(--pe-ease-md), border-color var(--pe-ease-md);
	 color: var(--pe-text);
   }
   
   .guide-card:hover {
	 background: var(--pe-bg-2);
	 border-color: var(--pe-border-strong);
	 color: var(--pe-text);
   }
   
   .guide-card .arw {
	 transition: transform .18s ease;
   }
   
   .guide-card:hover .arw {
	 transform: translateX(4px);
   }
   
   /* --- Google reviews summary (hero sidebar) --- */
   
   .pe-reviews-summary {
	 background: var(--pe-bg-2);
	 border: 1px solid var(--pe-border-strong);
	 border-radius: var(--pe-radius-lg);
	 padding: 28px 30px;
	 box-shadow: var(--pe-shadow-card);
   }
   
   .pe-reviews-summary__head {
	 display: flex;
	 align-items: center;
	 gap: 16px;
   }
   
   .pe-reviews-summary__score {
	 font-family: var(--pe-font-display);
	 font-size: 64px;
	 line-height: .9;
	 color: var(--pe-text);
   }
   
   .pe-reviews-summary__note {
	 font-size: 13.5px;
	 color: var(--pe-text-soft);
	 margin-top: 8px;
   }
   
   .pe-reviews-summary__note strong {
	 color: var(--pe-text);
   }
   
   .pe-reviews-summary .pe-btn {
	 margin-top: 22px;
	 width: 100%;
	 justify-content: center;
   }
   
   /* --- Reviews masonry columns --- */
   
   .rev-cols {
	 column-count: 3;
	 column-gap: 16px;
   }
   
   .rev-cols>figure {
	 break-inside: avoid;
	 margin: 0 0 16px;
	 width: 100%;
   }
   
   @media (max-width: 900px) {
	 .rev-cols {
	   column-count: 2;
	 }
   }
   
   @media (max-width: 600px) {
	 .rev-cols {
	   column-count: 1;
	 }
   }
   
   /* --- Question bullet list (Questions to Ask article) --- */
   
   .qlist {
	 list-style: none;
	 padding: 0;
	 margin: 0 0 8px;
	 display: grid;
	 gap: 15px;
   }
   
   .qlist li {
	 display: flex;
	 gap: 12px;
   }
   
   .qlist .qd {
	 margin-top: 9px;
	 flex: none;
	 width: 6px;
	 height: 6px;
	 border-radius: 50%;
	 background: var(--pe-green);
   }
   
   /* ===========================================================================
		 12. RESPONSIVE  (content blocks; header/footer handled by the theme)
		 =========================================================================== */
   
   /* These override the inline grid styles carried by the content blocks, so the
		 prototype's fixed multi-column layouts collapse cleanly on phones/tablets.
		 !important is required because the columns are set via inline style. */
   
   @media (max-width: 860px) {
	 .pe-grid-2,
	 .pe-grid-3 {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-form-2col {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-schedule-layout {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-schedule-gf .gform_fields {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-hero2 {
	   grid-template-columns: 1fr !important;
	   gap: 40px !important;
	 }
   
	 .pe-2col {
	   grid-template-columns: 1fr !important;
	   gap: 32px !important;
	   align-items: start !important;
	 }
   
	 .pe-stats4 {
	   grid-template-columns: repeat(2, 1fr) !important;
	 }
   
	 .pe-cards2 {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-cards2>.pe-service-card {
	   border-right: none !important;
	 }
   
	 .pe-whyrow {
	   grid-template-columns: 56px 1fr !important;
	   gap: 8px 18px !important;
	 }
   
	 .pe-whyrow> :nth-child(3) {
	   grid-column: 1 / -1;
	 }
   }
   
   @media (max-width: 560px) {
	 .pe-pad-x {
	   padding-left: 20px !important;
	   padding-right: 20px !important;
	 }
   
	 .pe-stats4 {
	   grid-template-columns: 1fr !important;
	 }
   
	 .pe-stats4>.pe-stat {
	   border-left: none !important;
	   border-top: 1px solid var(--pe-border);
	 }
   }