/* Polk Mobile Home Pros — redesign layer (staging preview only, body.pmhp-rd)
   Type: Archivo (wide, heavy display) + Public Sans (text). Palette kept from the live site so the brand carries over:
   work-shirt navy, bleached sand, safety amber, level-vial green. Signature motion: the spirit-level bubble settling. */

body.pmhp-rd {
  --rd-navy: #10293d;
  --rd-navy-2: #1b3d58;
  --rd-navy-3: #0a1b29;
  --rd-sand: #f3efe6;
  --rd-paper: #fffdf8;
  --rd-ink: #1f2a33;
  --rd-muted: #56636d;
  --rd-amber: #c2410c;
  --rd-amber-hi: #ea580c;
  --rd-vial: #c9dd6a;
  --rd-line: #ddd5c4;
  --rd-radius: 18px;
  --rd-ease: cubic-bezier(.2,.8,.2,1);
  --rd-spring: cubic-bezier(.34,1.56,.64,1);
  --rd-display: "Archivo", "Arial Narrow", system-ui, sans-serif;
  --rd-text: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-family: var(--rd-text);
  background: var(--rd-sand);
  color: var(--rd-ink);
  font-size: 1.0625rem;
  -webkit-font-smoothing: antialiased;
}
body.pmhp-rd h1, body.pmhp-rd h2, body.pmhp-rd h3, body.pmhp-rd h4,
body.pmhp-rd .wp-block-post-title, body.pmhp-rd .wp-block-site-title {
  font-family: var(--rd-display);
  font-stretch: 112%;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--rd-navy);
}
body.pmhp-rd h3 { font-weight: 700; font-stretch: 105%; }

/* ---------- header: sticky, frosted, one clear action ---------- */
body.pmhp-rd header.wp-block-template-part {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--rd-paper) 86%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid color-mix(in srgb, var(--rd-line) 70%, transparent);
}
body.pmhp-rd header.wp-block-template-part > div,
body.pmhp-rd .wp-block-template-part header { background: transparent; }
body.pmhp-rd .wp-block-site-title a { font-stretch: 118%; letter-spacing: -.02em; color: var(--rd-navy); text-decoration: none; }
body.pmhp-rd .wp-block-navigation a {
  font-family: var(--rd-display); font-stretch: 100%; font-weight: 600; font-size: 1rem;
  letter-spacing: 0; text-transform: none; position: relative;
}
body.pmhp-rd .wp-block-navigation .wp-block-navigation-item a:not([href*="free-quote"]) {
  background: none; color: var(--rd-navy) !important; padding: .2rem 0; border-radius: 0;
}
body.pmhp-rd .wp-block-navigation .wp-block-navigation-item a:not([href*="free-quote"])::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--rd-amber); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--rd-ease);
}
body.pmhp-rd .wp-block-navigation .wp-block-navigation-item a:not([href*="free-quote"]):hover::after { transform: scaleX(1); }
body.pmhp-rd .wp-block-navigation a[href*="free-quote"] {
  background: var(--rd-amber); color: #fff !important; border-radius: 999px; padding: .6rem 1.2rem;
  box-shadow: 0 6px 18px -8px rgba(194,65,12,.7); transition: transform .2s var(--rd-ease), background .2s;
}
body.pmhp-rd .wp-block-navigation a[href*="free-quote"]:hover { background: var(--rd-amber-hi); transform: translateY(-1px); }
/* the nav renders as two lists while the phone item is hidden: keep them on one line */
body.pmhp-rd .wp-block-navigation__responsive-container-content { flex-wrap: nowrap; align-items: center; gap: 1.6rem; }
body.pmhp-rd .wp-block-navigation__container { gap: 1.4rem; align-items: center; }

/* ---------- layout ---------- */
body.pmhp-rd .rd-section {
  max-width: min(1180px, 100%) !important;
  margin: clamp(3.5rem, 8vw, 6.5rem) auto 0 !important;
}
body.pmhp-rd .rd-kicker {
  font-family: var(--rd-display); font-stretch: 125%; font-weight: 700; font-size: .78rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--rd-amber); margin: 0 0 .6rem;
}
body.pmhp-rd .rd-h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.02; margin: 0 0 2rem; max-width: 18ch; }
body.pmhp-rd .rd-h2::after { display: none; }
body.pmhp-rd .rd-prose { max-width: 760px !important; }
body.pmhp-rd .rd-prose h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); line-height: 1.08; }

/* ---------- buttons ---------- */
body.pmhp-rd .rd-btn, body.pmhp-rd .wp-block-post-content a.rd-btn, body.pmhp-rd a.pmhp-btn {
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: var(--rd-display); font-stretch: 108%; font-weight: 700; font-size: 1.05rem; letter-spacing: 0; text-transform: none;
  background: var(--rd-amber); color: #fff !important; text-decoration: none;
  padding: .95rem 1.5rem; border-radius: 999px; border: 0;
  box-shadow: 0 10px 24px -12px rgba(194,65,12,.85), inset 0 -2px 0 rgba(0,0,0,.15);
  transition: transform .25s var(--rd-ease), box-shadow .25s var(--rd-ease), background .2s;
}
body.pmhp-rd .rd-btn span { transition: transform .25s var(--rd-ease); }
body.pmhp-rd .rd-btn:hover, body.pmhp-rd a.pmhp-btn:hover { background: var(--rd-amber-hi); transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(194,65,12,.9); }
body.pmhp-rd .rd-btn:hover span { transform: translateX(4px); }
body.pmhp-rd .rd-btn--ghost, body.pmhp-rd .wp-block-post-content a.rd-btn--ghost {
  background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45);
}
body.pmhp-rd .rd-btn--ghost:hover, body.pmhp-rd .wp-block-post-content a.rd-btn--ghost:hover { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1.5px #fff; }
body.pmhp-rd :focus-visible { outline: 3px solid var(--rd-vial); outline-offset: 3px; border-radius: 6px; }

/* ---------- hero ---------- */
body.pmhp-rd .rd-hero {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center;
  padding: clamp(3rem, 6vw, 5.5rem) max(1.25rem, calc((100% - 1180px) / 2));
  background: var(--rd-navy); color: #e9eff3;
  margin-top: 0 !important;
}
body.pmhp-rd .rd-hero::before { /* blueprint grid + warm glow */
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(60% 80% at 85% 10%, rgba(234,88,12,.22), transparent 60%),
    radial-gradient(50% 70% at 0% 100%, rgba(201,221,106,.12), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 44px 44px;
}
body.pmhp-rd .rd-eyebrow {
  display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1.2rem;
  font-family: var(--rd-display); font-stretch: 118%; font-weight: 600; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase;
  color: #cfdbe3; padding: .45rem .9rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
}
body.pmhp-rd .rd-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rd-vial); box-shadow: 0 0 0 0 rgba(201,221,106,.7); animation: rd-pulse 2.4s infinite; }
body.pmhp-rd .rd-h1 {
  color: #fff; font-size: clamp(2.6rem, 5.8vw, 4.9rem); line-height: .96; letter-spacing: -.025em;
  margin: 0 0 1.3rem; max-width: 13ch; font-stretch: 115%; font-weight: 850;
}
body.pmhp-rd .rd-h1 em { font-style: normal; color: var(--rd-vial); }
body.pmhp-rd .rd-sub { font-size: clamp(1.05rem, 1.6vw, 1.22rem); line-height: 1.6; color: #c9d6df; max-width: 46ch; margin: 0 0 2rem; }
body.pmhp-rd .rd-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2.4rem; }
body.pmhp-rd .rd-proof { list-style: none; margin: 0; padding: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: 1.2rem 2.4rem; border-top: 1px solid rgba(255,255,255,.14); }
body.pmhp-rd .rd-proof li { margin: 0; font-size: .9rem; color: #a9bac6; max-width: 14ch; line-height: 1.35; }
body.pmhp-rd .rd-proof strong { display: block; font-family: var(--rd-display); font-stretch: 112%; font-size: 1.9rem; font-weight: 800; color: #fff; line-height: 1.05; }

body.pmhp-rd .rd-hero-media { position: relative; margin: 0; }
body.pmhp-rd .rd-hero-img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 3.4; object-fit: cover; object-position: 50% 55%;
  border-radius: 28px 28px 28px 120px;
  box-shadow: 0 40px 80px -40px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08);
}
body.pmhp-rd .rd-levelcard {
  position: absolute; left: clamp(-1.5rem, -2vw, -.5rem); bottom: 9%;
  display: flex; align-items: center; gap: .9rem; max-width: 300px;
  background: var(--rd-paper); color: var(--rd-ink); border-radius: 16px; padding: .9rem 1.1rem;
  box-shadow: 0 24px 50px -20px rgba(0,0,0,.55);
}
body.pmhp-rd .rd-levelcard p { margin: 0; font-size: .82rem; line-height: 1.35; color: var(--rd-muted); }
body.pmhp-rd .rd-levelcard strong { color: var(--rd-navy); font-family: var(--rd-display); font-size: .95rem; }
body.pmhp-rd .rd-vial {
  position: relative; flex: none; width: 92px; height: 24px; border-radius: 12px;
  background: linear-gradient(180deg, #eef3d2, #d8e49a); box-shadow: inset 0 2px 4px rgba(0,0,0,.18), 0 0 0 2px var(--rd-navy);
  overflow: hidden;
}
body.pmhp-rd .rd-vial i { position: absolute; top: 3px; bottom: 3px; width: 1.5px; background: var(--rd-navy); left: 36px; }
body.pmhp-rd .rd-vial i + i { left: 55px; }
body.pmhp-rd .rd-vial-bub {
  position: absolute; top: 5px; left: 39px; width: 15px; height: 14px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff, #f4f8e4 45%, #c8d48a);
  box-shadow: inset -1px -1px 2px rgba(0,0,0,.15);
  transform: translateX(-30px);
}

/* hero entrance: pure CSS, starts on first paint (no JS gate, so LCP is never held back).
   The H1 only rises; it is never hidden. */
body.pmhp-rd .rd-h1 { animation: rd-rise .8s var(--rd-ease) both; }
body.pmhp-rd .rd-hero-copy > :not(.rd-h1) { animation: rd-fadeup .7s var(--rd-ease) both; }
body.pmhp-rd .rd-hero-copy > :nth-child(3) { animation-delay: .1s; }
body.pmhp-rd .rd-hero-copy > :nth-child(4) { animation-delay: .18s; }
body.pmhp-rd .rd-hero-copy > :nth-child(5) { animation-delay: .26s; }
body.pmhp-rd .rd-hero-img { animation: rd-wipe 1.1s var(--rd-ease) .05s both; }
body.pmhp-rd .rd-levelcard { animation: rd-pop .7s var(--rd-spring) .75s both; }
body.pmhp-rd .rd-vial-bub { animation: rd-settle 1.6s var(--rd-spring) 1.1s forwards, rd-idle 5s ease-in-out 2.8s infinite; }

@keyframes rd-rise { from { transform: translateY(14px); } to { transform: none; } }
@keyframes rd-fadeup { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes rd-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes rd-pop { from { opacity: 0; transform: translateY(20px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes rd-settle { 0% { transform: translateX(-30px); } 55% { transform: translateX(9px); } 78% { transform: translateX(-3px); } 100% { transform: translateX(0); } }
@keyframes rd-idle { 0%,100% { transform: translateX(0); } 50% { transform: translateX(1.5px); } }
@keyframes rd-pulse { 0% { box-shadow: 0 0 0 0 rgba(201,221,106,.6); } 70% { box-shadow: 0 0 0 10px rgba(201,221,106,0); } 100% { box-shadow: 0 0 0 0 rgba(201,221,106,0); } }

/* ---------- trust bar ---------- */
body.pmhp-rd .rd-trustbar {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 2.2rem;
  background: var(--rd-amber); color: #fff; padding: 1rem 1.25rem; margin-top: 0 !important;
  font-family: var(--rd-display); font-stretch: 110%; font-weight: 700; font-size: .95rem;
}
body.pmhp-rd .rd-trustbar span { display: inline-flex; align-items: center; gap: .55rem; }
body.pmhp-rd .rd-trustbar span::before {
  content: ""; width: 16px; height: 16px; border-radius: 50%; background: rgba(255,255,255,.22)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ---------- service cards ---------- */
body.pmhp-rd .rd-services { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.1rem; }
body.pmhp-rd .rd-card {
  position: relative; display: flex; flex-direction: column; gap: .2rem;
  background: var(--rd-paper); border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
  padding: 1.5rem 1.5rem 1.3rem; text-decoration: none; color: var(--rd-ink);
  transition: transform .35s var(--rd-ease), box-shadow .35s var(--rd-ease), border-color .35s;
}
body.pmhp-rd .rd-card:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 28px 50px -28px rgba(16,41,61,.45), 0 0 0 1.5px var(--rd-navy); }
body.pmhp-rd .rd-ico {
  width: 54px; height: 54px; padding: 11px; border-radius: 14px; margin-bottom: .9rem;
  background: var(--rd-sand); color: var(--rd-navy); transition: background .3s, color .3s, transform .45s var(--rd-spring);
}
body.pmhp-rd .rd-card:hover .rd-ico { background: var(--rd-navy); color: var(--rd-vial); transform: rotate(-6deg) scale(1.05); }
body.pmhp-rd .rd-ico .rd-bub { fill: currentColor; stroke: none; transition: transform .5s var(--rd-spring); }
body.pmhp-rd .rd-card:hover .rd-bub { transform: translateX(-4px); }
body.pmhp-rd .rd-card h3 { font-size: 1.3rem; margin: 0; line-height: 1.15; }
body.pmhp-rd .rd-from {
  margin: .15rem 0 .5rem; font-family: var(--rd-display); font-stretch: 120%; font-weight: 700; font-size: .78rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--rd-amber);
}
body.pmhp-rd .rd-card p:not(.rd-from) { margin: 0 0 1rem; font-size: .98rem; line-height: 1.55; color: var(--rd-muted); }
body.pmhp-rd .rd-more { margin-top: auto; font-family: var(--rd-display); font-weight: 700; color: var(--rd-navy); }
body.pmhp-rd .rd-more span { display: inline-block; transition: transform .3s var(--rd-ease); }
body.pmhp-rd .rd-card:hover .rd-more span { transform: translateX(5px); }

/* ---------- how it works ---------- */
body.pmhp-rd .rd-how { background: var(--rd-navy); color: #d5e0e7; padding: clamp(3.5rem, 7vw, 6rem) 1.25rem; max-width: none !important; }
body.pmhp-rd .rd-how-in { max-width: 1180px; margin: 0 auto; }
body.pmhp-rd .rd-how .rd-h2 { color: #fff; }
body.pmhp-rd .rd-how .rd-kicker { color: var(--rd-vial); }
body.pmhp-rd .rd-steps { list-style: none; padding: 0; margin: 0 0 2.6rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; position: relative; counter-reset: none; }
body.pmhp-rd .rd-steps::before { /* the run line that draws across the steps */
  content: ""; position: absolute; top: 27px; left: 28px; right: 28px; height: 2px;
  background: repeating-linear-gradient(90deg, var(--rd-vial) 0 10px, transparent 10px 18px);
  transform: scaleX(var(--rd-run, 1)); transform-origin: left; transition: transform 1.4s var(--rd-ease) .2s;
}
html.rd-js body.pmhp-rd .rd-steps { --rd-run: 0; }
html.rd-js body.pmhp-rd .rd-steps.is-in { --rd-run: 1; }
body.pmhp-rd .rd-steps li { position: relative; margin: 0; max-width: none; }
body.pmhp-rd .rd-num {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; margin-bottom: 1.1rem;
  background: var(--rd-navy-3); color: var(--rd-vial); font-family: var(--rd-display); font-stretch: 120%; font-weight: 800; font-size: 1.4rem;
  box-shadow: 0 0 0 2px var(--rd-vial); position: relative;
}
body.pmhp-rd .rd-steps h3 { color: #fff; font-size: 1.35rem; margin: 0 0 .5rem; }
body.pmhp-rd .rd-steps p { color: #b8c7d2; margin: 0; font-size: 1rem; }

/* ---------- cities ---------- */
body.pmhp-rd .rd-cities { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .7rem; }
body.pmhp-rd .rd-city {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.05rem 1.2rem; border-radius: 14px; background: var(--rd-paper); border: 1px solid var(--rd-line);
  font-family: var(--rd-display); font-stretch: 108%; font-weight: 700; font-size: 1.08rem; color: var(--rd-navy); text-decoration: none;
  transition: background .25s, color .25s, transform .3s var(--rd-ease);
}
body.pmhp-rd .rd-city:hover { background: var(--rd-navy); color: #fff; transform: translateY(-2px); }
body.pmhp-rd .rd-city span:last-child { color: var(--rd-amber); transition: transform .3s var(--rd-ease); }
body.pmhp-rd .rd-city:hover span:last-child { transform: translateX(4px); color: var(--rd-vial); }
body.pmhp-rd .rd-note { color: var(--rd-muted); margin-top: 1.2rem; }

/* ---------- scroll reveal ---------- */
html.rd-js body.pmhp-rd .rd-reveal { opacity: 0; transform: translateY(22px); }
html.rd-js body.pmhp-rd .rd-reveal.is-in {
  opacity: 1; transform: none;
  transition: opacity .7s var(--rd-ease) calc(var(--i, 0) * 70ms), transform .7s var(--rd-ease) calc(var(--i, 0) * 70ms),
              box-shadow .35s var(--rd-ease), border-color .35s, background .25s, color .25s;
}

/* ---------- inner pages: contractor listing card, FAQ, tables ---------- */
body.pmhp-rd .pmhp-listing {
  position: relative; background: var(--rd-paper) !important; border: 1px solid var(--rd-line) !important;
  border-left: 6px solid var(--rd-amber) !important; border-radius: var(--rd-radius) !important;
  padding: 2.4rem 1.6rem 1.3rem !important; box-shadow: 0 24px 50px -34px rgba(16,41,61,.5);
}
body.pmhp-rd .pmhp-listing::before {
  content: "Listed contractor"; position: absolute; top: -.85rem; left: 1.2rem;
  background: var(--rd-navy); color: var(--rd-vial); border-radius: 999px; padding: .3rem .85rem;
  font-family: var(--rd-display); font-stretch: 120%; font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
}
body.pmhp-rd .pmhp-listing p:first-child strong { font-family: var(--rd-display); font-size: 1.15rem; color: var(--rd-navy); }
body.pmhp-rd .wp-block-post-content table { border-collapse: separate; border-spacing: 0; width: 100%; background: var(--rd-paper); border: 1px solid var(--rd-line); border-radius: 14px; overflow: hidden; font-size: .95rem; }
body.pmhp-rd .wp-block-post-content th { background: var(--rd-navy); color: #fff; font-family: var(--rd-display); text-align: left; padding: .8rem 1rem; }
body.pmhp-rd .wp-block-post-content td { padding: .75rem 1rem; border-top: 1px solid var(--rd-line); }
body.pmhp-rd .wp-block-post-title { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; letter-spacing: -.02em; }

/* ---------- footer + mobile bar ---------- */
body.pmhp-rd .pmhp-footer { background: var(--rd-navy-3); }
body.pmhp-rd .pmhp-footer strong { font-family: var(--rd-display); font-stretch: 110%; }
body.pmhp-rd .pmhp-mbar a { font-family: var(--rd-display); font-stretch: 112%; letter-spacing: .02em; text-transform: none; }
body.pmhp-rd .pmhp-mbar-quote { background: var(--rd-amber) !important; }

/* ---------- mobile ---------- */
@media (max-width: 781px) {
  body.pmhp-rd .rd-hero { grid-template-columns: 1fr; padding-top: 2.2rem; padding-bottom: 2.4rem; gap: 1.8rem; }
  body.pmhp-rd .rd-h1 { font-size: clamp(2.35rem, 10.5vw, 3rem); }
  body.pmhp-rd .rd-sub { margin-bottom: 1.5rem; }
  body.pmhp-rd .rd-cta { margin-bottom: 1.8rem; }
  body.pmhp-rd .rd-cta .rd-btn { flex: 1 1 100%; justify-content: center; }
  body.pmhp-rd .rd-hero-img { aspect-ratio: 16 / 10; border-radius: 22px 22px 22px 70px; }
  body.pmhp-rd .rd-levelcard { left: .8rem; right: .8rem; bottom: -1.4rem; max-width: none; }
  body.pmhp-rd .rd-hero-media { margin-bottom: 1rem; }
  body.pmhp-rd .rd-trustbar { justify-content: flex-start; gap: .5rem 1.2rem; font-size: .88rem; }
  body.pmhp-rd .rd-steps { grid-template-columns: 1fr; gap: 1.8rem; }
  body.pmhp-rd .rd-steps::before { top: 28px; bottom: 28px; left: 27px; right: auto; width: 2px; height: auto;
    background: repeating-linear-gradient(180deg, var(--rd-vial) 0 10px, transparent 10px 18px); transform: scaleY(var(--rd-run, 1)); transform-origin: top; }
  body.pmhp-rd .rd-steps li { padding-left: 76px; }
  body.pmhp-rd .rd-num { position: absolute; left: 0; top: 0; }
  body.pmhp-rd .rd-cities { grid-template-columns: 1fr 1fr; }
  body.pmhp-rd .rd-city { font-size: .98rem; padding: .9rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.pmhp-rd *, body.pmhp-rd *::before, body.pmhp-rd *::after { animation: none !important; transition: none !important; }
  html.rd-js body.pmhp-rd .rd-reveal { opacity: 1 !important; transform: none !important; }
  body.pmhp-rd .rd-vial-bub { transform: none !important; }
  html.rd-js body.pmhp-rd .rd-steps { --rd-run: 1; }
}

/* ---------- costs card + prose polish ---------- */
body.pmhp-rd .rd-how { border-radius: 28px; }
body.pmhp-rd #rd-costs {
  max-width: 900px !important; background: var(--rd-paper); border: 1px solid var(--rd-line); border-radius: 28px;
  padding: clamp(1.8rem, 4vw, 3.2rem); box-shadow: 0 40px 70px -50px rgba(16,41,61,.45);
}
body.pmhp-rd #rd-costs h2 { margin-top: 0; }
body.pmhp-rd #rd-costs ul { list-style: none; padding: 0; margin: 1.4rem 0; display: grid; gap: .6rem; }
body.pmhp-rd #rd-costs li {
  max-width: none; padding: .9rem 1rem .9rem 3rem; border-radius: 12px; background: var(--rd-sand); position: relative;
}
body.pmhp-rd #rd-costs li::before {
  content: ""; position: absolute; left: 1rem; top: 50%; width: 20px; height: 8px; margin-top: -4px; border-radius: 4px;
  background: radial-gradient(circle at 50% 50%, var(--rd-navy) 0 2.4px, transparent 3px), var(--rd-vial);
}
body.pmhp-rd #rd-costs li strong { font-family: var(--rd-display); color: var(--rd-navy); }
body.pmhp-rd .rd-prose p { color: #3a4650; }
@media (max-width: 781px) {
  body.pmhp-rd .wp-block-site-title, body.pmhp-rd .wp-block-site-title a { font-size: 1.2rem !important; line-height: 1.1; }
  body.pmhp-rd .rd-eyebrow { font-size: .7rem; letter-spacing: .08em; }
  body.pmhp-rd .rd-how { border-radius: 22px; }
}

/* inner pages: quote links become the same pill button as the homepage */
body.pmhp-rd .wp-block-post-content a[href*="free-quote"]:not(.rd-city):not(.rd-card) {
  border-radius: 999px; text-transform: none; letter-spacing: 0; font-family: var(--rd-display); font-stretch: 108%; font-weight: 700;
  padding: .85rem 1.4rem; background: var(--rd-amber); box-shadow: 0 10px 24px -12px rgba(194,65,12,.85);
  transition: transform .25s var(--rd-ease), background .2s;
}
body.pmhp-rd .wp-block-post-content a[href*="free-quote"]:not(.rd-city):not(.rd-card):hover { background: var(--rd-amber-hi); transform: translateY(-2px); }
body.pmhp-rd .wp-block-post-title { position: relative; padding-bottom: 1.2rem; }
body.pmhp-rd .wp-block-post-title::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 96px; height: 12px; border-radius: 6px;
  background: radial-gradient(circle at 50% 50%, #fff 0 3.5px, transparent 4px), var(--rd-vial);
  box-shadow: 0 0 0 2px var(--rd-navy);
}
body.pmhp-rd .pmhp-listing p:first-child { font-family: var(--rd-display); font-size: 1.1rem; color: var(--rd-navy); }
@media (max-width: 781px) {
  body.pmhp-rd .wp-block-site-title a { font-stretch: 100%; white-space: nowrap; letter-spacing: -.01em; }
}

/* a11y 2026-11-04: inner-page quote pills inherited the amber link colour (amber on amber). White text on #c2410c = 5.2:1;
   hover darkens instead of lightening so it stays above 4.5:1. */
body.pmhp-rd .wp-block-post-content a[href*="free-quote"]:not(.rd-city):not(.rd-card),
body.pmhp-rd .wp-block-post-content a[href*="free-quote"]:not(.rd-city):not(.rd-card) strong { color: #fff !important; text-decoration: none; }
body.pmhp-rd .wp-block-post-content a[href*="free-quote"]:not(.rd-city):not(.rd-card):hover { background: #9a3412; }
