/* ============================================================
   premium-v2.css — Trust/Security PREMIUM layer (mobile-first)
   Loads AFTER main.css + premium-overrides.css. Extends existing
   tokens (--c-primary #1B365D navy, --c-accent #E8A838 gold).
   Performance: transform/opacity only, no JS, no new fonts.
   ============================================================ */
:root{
  --pv-navy-900:#0A1828; --pv-navy-800:#0F1D2F; --pv-navy-700:#132848; --pv-navy:#1B365D;
  --pv-gold:#E8A838; --pv-gold-hi:#F4CB6E; --pv-gold-d:#C9881F; --pv-gold-ink:#1A1206;
  --pv-ink:#0F1B2D; --pv-muted:#5A6678; --pv-line:rgba(15,27,45,.08);
  --pv-radius:16px; --pv-radius-lg:22px;
  --pv-shadow-card:0 10px 30px -14px rgba(15,27,45,.22), 0 2px 6px -2px rgba(15,27,45,.07);
  --pv-shadow-card-h:0 22px 46px -18px rgba(15,27,45,.32);
  --pv-shadow-gold:0 12px 26px -10px rgba(201,136,31,.5);
  --pv-grad-gold:linear-gradient(135deg,var(--pv-gold-hi) 0%,var(--pv-gold) 52%,var(--pv-gold-d) 100%);
  --pv-grad-navy:linear-gradient(160deg,#1E3D66 0%,#132A49 55%,#0C1D34 100%);
  --pv-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- Global type polish ---------------------------------- */
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; color:#27303B; }
.section-title{ letter-spacing:-.025em; color:var(--pv-ink); font-weight:800; line-height:1.12; }
.section-subtitle{ color:var(--pv-muted); }

/* ---- Premium buttons (gold = primary action) ------------- */
.btn--cta{
  background:var(--pv-grad-gold) !important; color:var(--pv-gold-ink) !important;
  font-weight:800; letter-spacing:.005em; border:0 !important; border-radius:999px !important;
  box-shadow:var(--pv-shadow-gold) !important;
  transition:transform .28s var(--pv-ease), box-shadow .28s var(--pv-ease), filter .28s var(--pv-ease) !important;
}
.btn--cta:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(201,136,31,.6) !important; filter:brightness(1.04); }
.btn--cta:active{ transform:translateY(0); }
.btn--outline-light{
  border:1px solid rgba(255,255,255,.4) !important; border-radius:999px !important;
  background:rgba(255,255,255,.06) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  transition:transform .28s var(--pv-ease), background .28s, border-color .28s !important;
}
.btn--outline-light:hover{ transform:translateY(-2px); background:rgba(255,255,255,.14) !important; border-color:rgba(255,255,255,.7) !important; }

/* ---- Sticky mobile CTA — FIX overlap + premium glass ----- */
@media (max-width:767px){
  body{ padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
}
.sticky-cta{
  background:linear-gradient(180deg,rgba(10,24,40,.82),rgba(10,24,40,.97)) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2); backdrop-filter:blur(16px) saturate(1.2);
  border-top:1px solid rgba(232,168,56,.4) !important;
  box-shadow:0 -12px 34px -12px rgba(0,0,0,.55) !important;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
}
.sticky-cta__btn{
  background:var(--pv-grad-gold) !important; color:var(--pv-gold-ink) !important;
  border-radius:999px !important; min-height:56px; font-weight:800; letter-spacing:.005em;
  box-shadow:var(--pv-shadow-gold) !important;
}
.sticky-cta__pulse{ background:#10331F !important; box-shadow:0 0 0 3px rgba(255,255,255,.6) !important; }

/* ---- Header refinement ----------------------------------- */
.site-header{ border-bottom:1px solid rgba(255,255,255,.07); box-shadow:0 6px 24px -16px rgba(0,0,0,.6); }

/* ---- Hero — deepen + layered light ----------------------- */
.hero{ background:var(--pv-grad-navy) !important; position:relative; isolation:isolate; }
.hero::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(48% 38% at 78% 12%, rgba(232,168,56,.20), transparent 70%),
    radial-gradient(40% 40% at 8% 96%, rgba(60,120,200,.18), transparent 72%);
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.05;
  background-image:linear-gradient(to right,#fff 1px,transparent 1px),linear-gradient(to bottom,#fff 1px,transparent 1px);
  background-size:46px 46px; mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 78%);
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5em;
  color:var(--pv-gold-hi) !important; font-weight:700; letter-spacing:.16em; font-size:.72rem; text-transform:uppercase;
  background:rgba(232,168,56,.1); border:1px solid rgba(232,168,56,.28);
  padding:.5em 1em; border-radius:999px;
}
.hero__title{ letter-spacing:-.03em; line-height:1.04; font-weight:800; }
.hero__subtitle{ color:rgba(255,255,255,.82) !important; }
.quick-answer-box{
  background:rgba(255,255,255,.055) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12) !important; border-left:3px solid var(--pv-gold) !important;
  border-radius:14px !important;
}
.hero__trust .trust-badge{
  background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.16) !important;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:999px !important; color:#fff !important;
}
.hero__trust .trust-badge .icon{ color:var(--pv-gold-hi) !important; }
.hero__image{ border-radius:20px !important; overflow:hidden; box-shadow:0 30px 60px -28px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06); }
.hero__image-badge{ background:var(--pv-grad-gold) !important; color:var(--pv-gold-ink) !important; box-shadow:var(--pv-shadow-gold); border-radius:999px !important; font-weight:800; }

/* ---- Service cards — premium lift ------------------------ */
.service-card{
  background:#fff; border:1px solid var(--pv-line) !important; border-radius:var(--pv-radius) !important;
  box-shadow:var(--pv-shadow-card) !important;
  transition:transform .32s var(--pv-ease), box-shadow .32s var(--pv-ease), border-color .32s !important;
}
.service-card:hover{ transform:translateY(-5px); box-shadow:var(--pv-shadow-card-h) !important; border-color:rgba(232,168,56,.4) !important; }
.service-card__icon{
  background:linear-gradient(135deg,rgba(232,168,56,.18),rgba(232,168,56,.06)) !important;
  color:var(--pv-gold-d) !important; border-radius:14px !important; border:1px solid rgba(232,168,56,.2);
}
.service-card__title{ color:var(--pv-ink); letter-spacing:-.01em; }
.service-card__cta{ color:var(--pv-gold-d) !important; font-weight:700; }
.service-card__cta:hover{ color:var(--pv-gold-d); }

/* review cards */
.cdl-rv__card{ border-radius:var(--pv-radius) !important; box-shadow:var(--pv-shadow-card) !important; border:1px solid var(--pv-line); }

/* ---- Mobile menu drawer — premium ------------------------ */
.mobile-nav{ background:var(--pv-grad-navy) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.mobile-nav__list a, .mobile-nav__accordion{ border-bottom:1px solid rgba(255,255,255,.06); font-weight:600; letter-spacing:.005em; }
.mobile-nav__list a:hover, .mobile-nav__accordion:hover{ color:var(--pv-gold-hi) !important; }
.mobile-nav__eta{ color:var(--pv-gold-hi) !important; }

/* ---- FIX: hero image badge overlap (move to top-right) --- */
.hero__image-badge{
  top:14px !important; right:14px !important; left:auto !important; bottom:auto !important;
  padding:8px 14px !important;
}
.hero__image-caption{ padding-bottom:18px !important; }

/* ---- Mobile menu: premium scrim + gold accents ----------- */
.mobile-nav{
  box-shadow:0 0 0 100vmax rgba(7,15,28,.64) !important;   /* full-viewport scrim behind the drawer */
  border-left:1px solid rgba(232,168,56,.22) !important;
  max-width:88vw;
}
.mobile-nav__accordion .icon{ color:var(--pv-gold) !important; }
.mobile-nav__eta, .mobile-nav [class*="eta"]{ color:var(--pv-gold-hi) !important; }
.mobile-toggle__bar{ background:var(--pv-gold-hi) !important; }

/* ============================================================
   PREMIUM FOOTER — depth, hierarchy, gold accents
   ============================================================ */
.site-footer{
  position:relative; isolation:isolate;
  background:linear-gradient(180deg,#0C1C32 0%,#070F1C 100%) !important;
  padding-top:64px !important;
}
.site-footer::before{ /* top gold hairline ground line */
  content:""; position:absolute; inset-inline:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,168,56,.65),transparent);
}
.site-footer::after{ /* layered glow for depth */
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(42% 60% at 86% 0%, rgba(232,168,56,.09), transparent 70%),
    radial-gradient(46% 55% at 2% 100%, rgba(46,98,170,.12), transparent 72%);
}
.footer-heading{
  color:var(--pv-gold-hi) !important; font-size:.72rem !important; font-weight:800 !important;
  letter-spacing:.18em !important; text-transform:uppercase;
  position:relative; padding-bottom:14px !important; margin-bottom:18px !important;
  border-bottom:0 !important;
}
.footer-heading::after{
  content:""; position:absolute; inset-inline-start:0; bottom:0; width:34px; height:2px;
  border-radius:2px; background:var(--pv-grad-gold);
}
.footer-tagline{ color:rgba(206,217,233,.7) !important; }
.footer-nap, .footer-nap *{ color:rgba(206,217,233,.82) !important; }
.footer-nap .icon{ color:var(--pv-gold) !important; }
.footer-links a{
  color:rgba(206,217,233,.74) !important; display:inline-block; padding:3px 0;
  transition:color .2s var(--pv-ease), transform .2s var(--pv-ease) !important;
}
.footer-links a:hover{ color:var(--pv-gold-hi) !important; transform:translateX(4px); }
/* trust badges → cohesive premium glass row */
.footer-trust{ gap:12px !important; }
.footer-trust__item{
  background:rgba(255,255,255,.045) !important; border:1px solid rgba(232,168,56,.3) !important;
  border-radius:999px !important; padding:11px 20px !important; color:#EAF1FA !important; font-weight:600;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:transform .25s var(--pv-ease), border-color .25s !important;
}
.footer-trust__item:hover{ transform:translateY(-2px); border-color:rgba(232,168,56,.55) !important; }
.footer-trust__item .icon{ color:var(--pv-gold-hi) !important; }
/* social icons — premium gold hover */
.footer-social__link{
  width:42px; height:42px; border-radius:50% !important;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.14) !important; background:rgba(255,255,255,.045) !important;
  color:rgba(206,217,233,.82) !important;
  transition:transform .25s var(--pv-ease), background .25s, border-color .25s, color .25s !important;
}
.footer-social__link:hover{
  transform:translateY(-3px); color:var(--pv-gold-ink) !important;
  background:var(--pv-grad-gold) !important; border-color:transparent !important; box-shadow:var(--pv-shadow-gold);
}
/* bottom bar */
.footer-bottom__divider{ background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent) !important; height:1px !important; }
.footer-bottom__diamond{ background:var(--pv-gold) !important; box-shadow:0 0 10px rgba(232,168,56,.7) !important; }
.footer-copyright, .footer-bottom, .footer-bottom *{ color:rgba(206,217,233,.6) !important; }
.footer-credit, .footer-credit a, .footer-credit *{ color:var(--pv-gold-hi) !important; font-weight:700 !important; }

/* ---- Reduced motion ------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ---- Lead form widget (fallback baseline, v=20260606c) ---- */
/* Pages render their own lead-form inline <style>; this baseline kicks in if a future page references .lead-form classes without inline CSS. */
#lead-form{ background:#0F1D2F; color:#fff; padding:clamp(2.5rem,6vw,4.5rem) 1rem; }
.lead-form__wrap{ max-width:780px; margin:0 auto; background:linear-gradient(180deg,#13243B,#0F1D2F); border:1px solid rgba(232,168,56,.18); border-radius:16px; padding:clamp(1.5rem,4vw,2.5rem); box-shadow:0 24px 60px rgba(0,0,0,.35); }
.lead-form__title{ color:#fff; margin:0 0 .5rem; line-height:1.15; }
.lead-form__sub{ color:rgba(255,255,255,.72); margin:0 0 1.5rem; font-size:1rem; line-height:1.5; }
.lead-form__row{ display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:1rem; }
@media(min-width:640px){ .lead-form__row{ grid-template-columns:1fr 1fr; gap:1.25rem; } }
.lead-form__field{ display:flex; flex-direction:column; gap:.375rem; margin-bottom:1rem; }
.lead-form__row .lead-form__field{ margin-bottom:0; }
.lead-form__label{ color:#fff; font-size:.9375rem; font-weight:600; }
.lead-form__label span{ color:#E8A838; margin-left:.125rem; }
.lead-form__input,.lead-form__textarea,.lead-form__select{ width:100%; box-sizing:border-box; font-size:16px; line-height:1.4; padding:.875rem 1rem; border-radius:12px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; font-family:inherit; transition:border-color .15s,box-shadow .15s,background .15s; -webkit-appearance:none; appearance:none; }
.lead-form__input:focus,.lead-form__textarea:focus,.lead-form__select:focus{ outline:none; border-color:#E8A838; box-shadow:0 0 0 3px rgba(232,168,56,.18); background:rgba(255,255,255,.09); }
.lead-form__error{ color:#FFB4A2; font-size:.85rem; min-height:1em; }
.lead-form__submit{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem 1.75rem; border-radius:999px; background:linear-gradient(180deg,#E8A838,#C98A1F); color:#0F1D2F; font-weight:700; font-size:1.05rem; border:none; cursor:pointer; box-shadow:0 12px 32px rgba(232,168,56,.28); transition:transform .15s,box-shadow .15s; }
.lead-form__submit:hover{ transform:translateY(-1px); box-shadow:0 16px 40px rgba(232,168,56,.34); }
.lead-form__legal{ color:rgba(255,255,255,.6); font-size:.8rem; margin-top:1rem; line-height:1.5; }

/* ============================================================
   PREMIUM SERVICE/CITY/BLOG PAGE LAYER (matches home premium)
   Targets new pages built in Wave 2.
   ============================================================ */

/* ── Breadcrumbs ── */
.breadcrumbs, .breadcrumb{ margin: 22px 0 18px; font-size:.82rem; color:var(--pv-muted) !important; }
.breadcrumbs ol, .breadcrumb__list{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.4rem .55rem; align-items:center; }
.breadcrumbs li, .breadcrumb__list li{ display:inline-flex; align-items:center; gap:.55rem; }
.breadcrumbs li+li::before, .breadcrumb__list li+li::before{
  content:"›"; color:rgba(15,27,45,.35); font-weight:600; margin-right:.1rem;
}
.breadcrumbs a, .breadcrumb__list a{ color:var(--pv-muted) !important; text-decoration:none; }
.breadcrumbs a:hover, .breadcrumb__list a:hover{ color:var(--pv-gold-d) !important; }
.breadcrumbs li:last-child, .breadcrumb__list li:last-child{ color:var(--pv-ink) !important; font-weight:600; }

/* ── Service hero — match the home .hero premium feel ── */
.service-hero{
  background:var(--pv-grad-navy) !important;
  position:relative; isolation:isolate;
  padding:clamp(36px,5vw,64px) clamp(22px,4vw,52px) !important;
  border-radius:24px !important;
  overflow:hidden;
  box-shadow:0 30px 60px -32px rgba(10,24,40,.55), 0 0 0 1px rgba(255,255,255,.05) !important;
  margin-bottom:36px !important;
}
.service-hero::before{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:-1 !important;
  pointer-events:none !important; top:0 !important; right:0 !important; width:auto !important; height:auto !important;
  background:
    radial-gradient(48% 38% at 78% 12%, rgba(232,168,56,.20), transparent 70%),
    radial-gradient(40% 40% at 8% 96%, rgba(60,120,200,.18), transparent 72%) !important;
}
.service-hero::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.045;
  background-image:linear-gradient(to right,#fff 1px,transparent 1px),linear-gradient(to bottom,#fff 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 78%);
}
.service-hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5em;
  color:var(--pv-gold-hi) !important; font-weight:700; letter-spacing:.16em;
  font-size:.72rem !important; text-transform:uppercase;
  background:rgba(232,168,56,.1); border:1px solid rgba(232,168,56,.32);
  padding:.5em 1.05em; border-radius:999px;
  margin-bottom:18px;
}
.service-hero__title{
  font-size:clamp(1.85rem,4.2vw,3.1rem) !important;
  letter-spacing:-.025em !important; line-height:1.06 !important;
  font-weight:800 !important; color:#fff !important;
  margin-bottom:18px !important;
}
.service-hero__subtitle{
  color:rgba(255,255,255,.84) !important; font-size:1.05rem !important;
  max-width:62ch; line-height:1.6 !important;
}
.service-hero__meta{ gap:10px !important; margin-top:22px !important; }
.service-hero__meta .trust-badge{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  padding:9px 16px !important; border-radius:999px !important;
  color:#fff !important; font-weight:600 !important;
}
.service-hero__meta .trust-badge .icon{ color:var(--pv-gold-hi) !important; }
.service-hero .btn--cta{
  background:var(--pv-grad-gold) !important; color:var(--pv-gold-ink) !important;
  border-radius:999px !important; padding:14px 28px !important;
  box-shadow:var(--pv-shadow-gold) !important; font-weight:800 !important;
}

/* ── Service image (mid-page hero photo) ── */
.service-image{
  border-radius:20px !important; overflow:hidden;
  box-shadow:0 24px 50px -28px rgba(10,24,40,.55), 0 0 0 1px rgba(15,27,45,.06);
  margin: 8px 0 32px !important;
}
.service-image img{ display:block; width:100%; height:auto; }

/* ── Content layout (article + sidebar grid) ── */
.content-layout{ display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
@media (min-width:960px){ .content-layout{ grid-template-columns:minmax(0,1fr) 320px; gap:48px; } }
.content-main{ min-width:0; }
.content-main p,
.service-content p,
.service-page-content p,
.service-intro p{
  font-size:1.04rem; line-height:1.78; color:#27303B;
}
.content-main ul, .service-section ul{ padding-left:1.2em; }
.content-main ul li, .service-section ul li{ margin:.4em 0; line-height:1.65; }
.content-main h2,
.service-section h2,
.service-page-content h2{
  margin-top:2.4em; margin-bottom:.85em;
  font-size:clamp(1.45rem,2.5vw,1.85rem);
  letter-spacing:-.02em; color:var(--pv-ink); font-weight:800; line-height:1.16;
}
.content-main h3,
.service-section h3{
  margin-top:1.6em; margin-bottom:.55em;
  font-size:1.15rem; letter-spacing:-.01em; color:var(--pv-ink); font-weight:700;
}
.content-main strong, .service-section strong{ color:var(--pv-ink); }
.content-main a:not(.btn), .service-section a:not(.btn){
  color:var(--pv-gold-d); font-weight:600; text-decoration:underline;
  text-decoration-color:rgba(232,168,56,.4); text-underline-offset:3px;
}
.content-main a:not(.btn):hover, .service-section a:not(.btn):hover{
  text-decoration-color:var(--pv-gold);
}

/* tables inside content (cost guides) */
.content-main table, .cost-table{
  border-collapse:separate; border-spacing:0; width:100%; margin:1.4em 0;
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:var(--pv-shadow-card); border:1px solid var(--pv-line);
}
.content-main th, .cost-table th{
  background:linear-gradient(180deg,#0F1D2F,#1B365D);
  color:#fff; text-align:left; padding:14px 16px; font-weight:700; font-size:.9rem;
  letter-spacing:.02em;
}
.content-main td, .cost-table td{ padding:13px 16px; border-top:1px solid var(--pv-line); font-size:.97rem; }
.content-main tr:nth-child(even) td{ background:#FAFBFD; }

/* ── Sidebar — premium glass cards + sticky ── */
.sidebar{ display:flex; flex-direction:column; gap:18px; }
@media (min-width:960px){ .sidebar{ position:sticky; top:84px; } }
.sidebar-card,
.sidebar__card{
  background:#fff; border:1px solid var(--pv-line);
  border-radius:18px; padding:22px; box-shadow:var(--pv-shadow-card);
}
.sidebar__title,
.sidebar-card h3{
  font-size:.78rem !important; font-weight:800 !important; letter-spacing:.14em;
  text-transform:uppercase; color:var(--pv-ink); margin:0 0 14px;
  padding-bottom:10px; border-bottom:0; position:relative;
}
.sidebar__title::after,
.sidebar-card h3::after{
  content:""; position:absolute; left:0; bottom:0; width:28px; height:2px;
  border-radius:2px; background:var(--pv-grad-gold);
}
.sidebar__links, .sidebar-list{ list-style:none; padding:0; margin:0; }
.sidebar__links li, .sidebar-list li{ margin:6px 0; }
.sidebar__link, .sidebar-list a{
  display:flex; align-items:center; gap:.5em;
  color:var(--pv-ink) !important; text-decoration:none !important;
  font-weight:600; padding:8px 0;
  transition:color .2s var(--pv-ease), transform .2s var(--pv-ease);
}
.sidebar__link::before, .sidebar-list a::before{
  content:"→"; color:var(--pv-gold); font-weight:800; margin-right:.3em;
  transition:transform .2s var(--pv-ease);
}
.sidebar__link:hover, .sidebar-list a:hover{
  color:var(--pv-gold-d) !important; transform:translateX(2px);
}
.sidebar__view-all{
  display:inline-block; margin-top:10px;
  color:var(--pv-ink) !important; font-weight:800;
  border-bottom:2px solid var(--pv-gold); padding-bottom:2px;
}
/* CTA card (gold gradient) */
.sidebar-card--cta,
.sidebar__cta-card{
  background:var(--pv-grad-navy) !important;
  border:1px solid rgba(232,168,56,.4) !important;
  color:#fff;
  position:relative; overflow:hidden; isolation:isolate;
}
.sidebar-card--cta::before,
.sidebar__cta-card::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 60% at 80% 0%, rgba(232,168,56,.22), transparent 70%);
}
.sidebar-card--cta h3, .sidebar__cta-title{ color:var(--pv-gold-hi) !important; }
.sidebar-card--cta h3::after, .sidebar__cta-title::after{ background:var(--pv-grad-gold); }
.sidebar-card--cta p, .sidebar__cta-text, .sidebar__cta-sub{ color:rgba(255,255,255,.86) !important; }
.sidebar-card--cta .btn--cta, .sidebar__cta-card .btn--cta{
  background:var(--pv-grad-gold) !important; color:var(--pv-gold-ink) !important;
  border-radius:999px !important; box-shadow:var(--pv-shadow-gold) !important;
  width:100%; padding:14px 18px; font-weight:800; text-align:center; justify-content:center;
}
.sidebar-card__meta{ color:rgba(255,255,255,.7) !important; font-size:.86rem; margin-top:10px; }

/* ── FAQ — premium accordion ── */
.faq-section{ margin-top:64px !important; }
.faq-section .section-title{ margin-bottom:24px; }
.faq-list{ display:flex; flex-direction:column; gap:12px; padding:0; list-style:none; }
.faq-item{
  background:#fff; border:1px solid var(--pv-line) !important;
  border-radius:14px !important; padding:0 !important;
  box-shadow:var(--pv-shadow-card);
  transition:border-color .25s var(--pv-ease), box-shadow .25s var(--pv-ease);
}
.faq-item[open]{ border-color:rgba(232,168,56,.45) !important; box-shadow:var(--pv-shadow-card-h); }
.faq-item__question, .faq-q,
.faq-item summary{
  list-style:none; cursor:pointer; padding:18px 22px;
  font-weight:700; font-size:1.02rem; color:var(--pv-ink); letter-spacing:-.01em;
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  -webkit-tap-highlight-color:transparent;
}
.faq-item summary::-webkit-details-marker, .faq-item summary::marker{ display:none; }
.faq-item__question::after, .faq-q::after,
.faq-item summary::after{
  content:"+"; color:var(--pv-gold-d); font-weight:700; font-size:1.45rem; line-height:1;
  transition:transform .25s var(--pv-ease);
}
.faq-item[open] .faq-item__question::after,
.faq-item[open] .faq-q::after,
.faq-item[open] summary::after{ transform:rotate(45deg); }
.faq-item__answer, .faq-a{ padding:0 22px 20px; color:#3C4756; line-height:1.7; font-size:.99rem; }
.faq-item__answer p, .faq-a p{ margin:0; }
.faq-item__answer p+p, .faq-a p+p{ margin-top:.7em; }

/* ── Article body for cost guides / blog posts ── */
.page-blog-post .content-main h2{ margin-top:2.2em; }
.page-blog-post .content-main p:first-of-type{
  font-size:1.1rem; color:var(--pv-ink); line-height:1.65;
}

/* ── Vehicle/city library grids (the integration agent added these) ── */
.vehicle-link-card,
.city-services-grid a{ transition:transform .25s var(--pv-ease), border-color .25s, box-shadow .25s; }
.vehicle-link-card:hover,
.city-services-grid a:hover{ transform:translateY(-3px); }

/* ── Lead form inside vehicle pages: keep its dark style consistent ── */
.lead-form-section, .section-lead{ margin-top:60px; }

