@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800&display=swap');
/* =====================================================================
   Mo'Tail & Spaw — redesign mockup layer
   Loaded after the theme CSS. Everything new is prefixed `rd-` so it
   can be lifted into the WordPress theme piece by piece.
   Audit refs in comments: [A#] = audit dimension, [N] = Alysa's notes.
   ===================================================================== */

:root {
  /* Brand tokens (from the live theme) */
  --rd-lime: #84BD00;
  --rd-lime-bright: #B1D600;
  --rd-lime-ink: #4B6B00;      /* lime darkened for text on white: 6.1:1 [A4] */
  --rd-charcoal: #333F48;
  --rd-carbon: #252A36;
  --rd-cloud: #FAF9F9;
  --rd-line: #E4E4E0;
  --rd-muted: #5B6570;         /* 5.9:1 on white */
  --rd-white: #fff;

  /* Colour library: flat tints and shades of the three core colours.
     Use these solid values for depth; no gradients anywhere. */
  --rd-lime-50:  #F5FAE8;
  --rd-lime-100: #E6F2C4;
  --rd-lime-200: #CFE68A;
  --rd-lime-300: #B1D600;
  --rd-lime-500: #84BD00;
  --rd-lime-600: #6FA000;
  --rd-lime-700: #5A8200;
  --rd-lime-900: #34480A;
  --rd-ink-50:   #EEF0F3;
  --rd-ink-200:  #C6CCD3;
  --rd-ink-400:  #6D7884;
  --rd-ink-600:  #333F48;
  --rd-ink-800:  #252A36;
  --rd-ink-900:  #181C24;
  --rd-cloud-50: #FCFBF9;
  --rd-cloud-100:#F6F4EF;
  --rd-cloud-200:#ECE9E1;

  /* Muted service tones for photo overlays */
  --rd-tone-orange: #C99670;
  --rd-tone-purple: #9C92AF;
  --rd-tone-teal:   #6A9E99;
  --rd-tone-green:  #8FAA72;

  /* Service accents from the brand family chart. Iconography only, never fills or text. */
  --rd-svc-pickup: #78B438;    /* green  */
  --rd-svc-daycare: #E88C44;   /* orange */
  --rd-svc-lodging: #9E86BE;   /* purple */
  --rd-svc-grooming: #2CA69C;  /* teal   */

  /* Type roles — one job per face [N: typesetting consistency] */
  --rd-display: Cubano, "Barlow Condensed", Impact, sans-serif;  /* h1/h2 only, ≤ 8 words */
  --rd-condensed: "Barlow Condensed", "Arial Narrow", sans-serif; /* h3, eyebrows, buttons, nav */
  --rd-body: Barlow, system-ui, sans-serif;                       /* everything else */

  --rd-radius: 22px;
  --rd-radius-sm: 12px;
  --rd-shadow: 0 1px 2px rgba(37,42,54,.06), 0 8px 24px rgba(37,42,54,.08);
  --rd-wrap: 1240px;
  --rd-gutter: clamp(16px, 4vw, 40px);
}

/* ---------- base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body { font-family: var(--rd-body); color: var(--rd-charcoal); }
.rd-wrap { max-width: var(--rd-wrap); margin: 0 auto; padding: 0 var(--rd-gutter); box-sizing: border-box; }
.rd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Visible, on-brand focus ring everywhere [A4][A8] */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--rd-lime) !important;
  outline-offset: 3px !important;
  border-radius: 6px;
}

.rd-eyebrow {
  font-family: var(--rd-condensed); font-weight: 700; font-size: 15px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--rd-lime-ink);
  margin: 0 0 10px;
}
.rd-on-dark .rd-eyebrow { color: var(--rd-lime-bright); }

.rd-h1, .rd-h2 { font-family: var(--rd-display); font-weight: 400; color: var(--rd-carbon); margin: 0 0 18px; letter-spacing: 0; text-wrap: balance; }
.rd-h1 { font-size: clamp(38px, 5.4vw, 72px); line-height: 1.02; }
.rd-h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.08; }
.rd-h3 { font-family: var(--rd-condensed); font-weight: 700; font-size: 26px; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; color: var(--rd-carbon); margin: 0 0 8px; }
.rd-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; color: var(--rd-muted); max-width: 60ch; margin: 0 0 24px; text-wrap: pretty; }
.rd-on-dark .rd-h1, .rd-on-dark .rd-h2, .rd-on-dark .rd-h3 { color: #fff; }
.rd-on-dark .rd-lead { color: rgba(255,255,255,.88); }
.rd-center { text-align: center; }
.rd-center .rd-lead { margin-left: auto; margin-right: auto; }

/* ---------- buttons: one primary per view [A6][N: button hierarchy] ---------- */
.rd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border-radius: 999px;
  font-family: var(--rd-condensed); font-weight: 700; font-size: 19px; letter-spacing: .02em;
  text-decoration: none !important; line-height: 1; cursor: pointer; border: 2px solid transparent;
  transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.rd-btn:hover { transform: translateY(-1px); }
.rd-btn--primary { background: var(--rd-lime); color: var(--rd-carbon) !important; }
.rd-btn--primary:hover { background: var(--rd-lime-bright); }
.rd-btn--dark { background: var(--rd-carbon); color: #fff !important; }
.rd-btn--dark:hover { background: #000; }
.rd-btn--ghost { background: transparent; color: var(--rd-carbon) !important; border-color: var(--rd-carbon); }
.rd-btn--ghost:hover { background: var(--rd-carbon); color: #fff !important; }
.rd-on-dark .rd-btn--ghost { color: #fff !important; border-color: rgba(255,255,255,.7); }
.rd-on-dark .rd-btn--ghost:hover { background: #fff; color: var(--rd-carbon) !important; }
.rd-btn--sm { min-height: 42px; padding: 0 18px; font-size: 17px; }
.rd-btn svg { width: 18px; height: 18px; flex: none; }
.rd-btns { display: flex; flex-wrap: wrap; gap: 12px; }

.rd-link { font-family: var(--rd-condensed); font-weight: 700; font-size: 18px; color: var(--rd-carbon); text-decoration: none; border-bottom: 2px solid var(--rd-lime); padding-bottom: 1px; }
.rd-link:hover { color: var(--rd-lime-ink); }
.rd-link::after { content: " →"; }

/* =====================================================================
   HEADER — utility bar + main nav + Book Now [N: nav journey][A7]
   ===================================================================== */
.rd-util { background: var(--rd-carbon); color: #fff; font-size: 15px; }
.rd-util .rd-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.rd-util a { color: #fff; text-decoration: none; }
.rd-util a:hover { color: var(--rd-lime-bright); }
.rd-util__left, .rd-util__right { display: flex; gap: 22px; align-items: center; }
.rd-util__left span { color: rgba(255,255,255,.75); }
.rd-util svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 6px; fill: var(--rd-lime-bright); }

.rd-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 1px 0 var(--rd-line), 0 6px 18px rgba(37,42,54,.06); }
.rd-header .rd-wrap { display: flex; align-items: center; gap: 24px; min-height: 88px; }
/* Logo gets clear space instead of touching the top edge [N: logo flush] */
.rd-logo { display: block; padding: 14px 0; flex: none; }
.rd-logo img { display: block; height: 58px; width: auto; }

.rd-nav { margin-left: auto; }
.rd-nav > ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.rd-nav a, .rd-nav button.rd-nav__parent {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; border-radius: 10px;
  font-family: var(--rd-condensed); font-weight: 700; font-size: 19px; letter-spacing: .02em;
  color: var(--rd-carbon); text-decoration: none; background: none; border: 0; cursor: pointer;
}
.rd-nav a:hover, .rd-nav button.rd-nav__parent:hover, .rd-nav [aria-current="page"] { background: var(--rd-cloud); color: var(--rd-carbon); }
.rd-nav [aria-current="page"] { box-shadow: inset 0 -3px 0 var(--rd-lime); border-radius: 10px 10px 4px 4px; }
.rd-nav__parent svg { width: 12px; height: 12px; transition: transform .2s; }
.rd-nav__item { position: relative; }
.rd-nav__menu {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 270px; padding: 8px;
  background: #fff; border: 1px solid var(--rd-line); border-radius: 16px; box-shadow: var(--rd-shadow);
  list-style: none; margin: 0; display: none;
}
.rd-nav__item.is-open .rd-nav__menu { display: block; }
.rd-nav__item.is-open .rd-nav__parent svg { transform: rotate(180deg); }
.rd-nav__menu a { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 10px 12px; }
.rd-nav__menu small { font-family: var(--rd-body); font-weight: 400; font-size: 14px; color: var(--rd-muted); letter-spacing: 0; }
.rd-header__cta { flex: none; }
.rd-burger { display: none; margin-left: auto; width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--rd-line); background: #fff; cursor: pointer; }
.rd-burger svg { width: 24px; height: 24px; }

@media (max-width: 1180px) {
  .rd-nav a, .rd-nav button.rd-nav__parent { font-size: 17px; padding: 8px 8px; }
}
@media (max-width: 1024px) {
  .rd-util__left span, .rd-util__hide-md { display: none; }
  .rd-burger { display: inline-grid; place-items: center; }
  .rd-header .rd-wrap { min-height: 72px; gap: 12px; }
  .rd-logo img { height: 46px; }
  .rd-header__cta { order: 3; margin-left: auto; }
  .rd-burger { order: 4; margin-left: 0; }
  .rd-nav { position: fixed; inset: 0 0 0 auto; width: min(360px, 88vw); background: #fff; margin: 0; padding: 88px 20px 24px;
            transform: translateX(100%); transition: transform .25s ease; box-shadow: -12px 0 40px rgba(0,0,0,.18); overflow-y: auto; z-index: 1001; }
  .rd-nav.is-open { transform: none; }
  .rd-nav > ul { flex-direction: column; align-items: stretch; gap: 2px; }
  .rd-nav a, .rd-nav button.rd-nav__parent { width: 100%; justify-content: space-between; font-size: 20px; padding: 12px; }
  .rd-nav__menu { position: static; box-shadow: none; border: 0; padding: 0 0 0 12px; min-width: 0; }
  .rd-nav__close { position: absolute; top: 20px; right: 20px; }
  .rd-scrim { position: fixed; inset: 0; background: rgba(37,42,54,.45); z-index: 999; opacity: 0; pointer-events: none; transition: opacity .2s; }
  .rd-scrim.is-open { opacity: 1; pointer-events: auto; }
}
@media (min-width: 1025px) { .rd-nav__close, .rd-scrim { display: none; } }
@media (max-width: 560px) {
  .rd-util__right a:not(:last-child) { display: none; }
  .rd-header__cta { display: none; }        /* mobile uses the sticky bottom bar instead */
  .rd-burger { margin-left: auto; }
}

/* Mobile sticky action bar: Call / Book / Directions [A6] */
.rd-actionbar { display: none; }
@media (max-width: 760px) {
  .rd-actionbar {
    display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 8px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96); backdrop-filter: blur(8px); box-shadow: 0 -4px 20px rgba(37,42,54,.12);
  }
  .rd-actionbar a { min-height: 48px; padding: 0 10px; font-size: 17px; }
  body { padding-bottom: 76px; }
}

/* =====================================================================
   HOMEPAGE
   ===================================================================== */
.rd-section { padding: clamp(56px, 8vw, 104px) 0; }
.rd-section--cloud { background: var(--rd-cloud); }
.rd-section--dark { background: var(--rd-carbon); }
.rd-section__head { margin-bottom: clamp(28px, 4vw, 48px); }
.rd-section__head--split { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }

/* Hero: headline + proof + CTA on the left, media behind [A1][A6][N: no hero CTA] */
.rd-hero { position: relative; min-height: min(760px, 88vh); display: grid; align-items: end; color: #fff; overflow: hidden; background: var(--rd-carbon); }
.rd-hero__media, .rd-hero__media video, .rd-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-hero__media::after { content: ""; position: absolute; inset: 0; background: rgba(24,28,36,.58); }
.rd-hero__body { position: relative; width: 100%; box-sizing: border-box; padding-top: 72px; padding-bottom: clamp(40px, 7vw, 88px); }
.rd-hero__inner { max-width: 760px; }
.rd-hero .rd-h1 { color: #fff; }
.rd-hero .rd-lead { color: rgba(255,255,255,.9); }
.rd-hero__proof { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 16px; font-weight: 600; }
.rd-hero__proof li { display: flex; align-items: center; gap: 8px; }
.rd-hero__proof svg { width: 18px; height: 18px; fill: var(--rd-lime-bright); flex: none; }
.rd-hero__pause { position: absolute; right: var(--rd-gutter); bottom: 24px; z-index: 2; display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); background: rgba(0,0,0,.35); color: #fff; font: 600 14px var(--rd-body); cursor: pointer; }
.rd-hero__pause svg { width: 12px; height: 12px; fill: currentColor; }
@media (max-width: 760px) {
  .rd-hero { min-height: 640px; }
  .rd-hero__media::after { background: rgba(24,28,36,.7); }
  .rd-hero__pause { top: 16px; bottom: auto; }
}

/* Services: 4-up grid with photo + price [A3][A6] */
.rd-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 1080px) { .rd-services { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .rd-services { grid-template-columns: 1fr; } }
.rd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); overflow: hidden; box-shadow: var(--rd-shadow); transition: transform .2s, box-shadow .2s; }
.rd-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(37,42,54,.06), 0 16px 36px rgba(37,42,54,.12); }
.rd-card__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--rd-cloud); position: relative; }
.rd-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Icon badge lives in the card body (not the cropped photo frame) and overlaps the photo edge */
/* Scalloped badge icons sit inside a white circle, scaled down so a white border
   shows all round. Every badge is identical in size. */
.rd-card__icon { position: absolute; left: 16px; top: -44px; z-index: 1; width: 84px; height: 84px; border-radius: 50%;
  display: grid; place-items: center; background: #fff; color: var(--rd-svc, var(--rd-lime));
  box-shadow: 0 6px 18px rgba(37,42,54,.16); }
.rd-card__icon svg { width: 66px; height: 66px; display: block; fill: currentColor; }
.rd-card--pickup   { --rd-svc: var(--rd-svc-pickup); }
.rd-card--daycare  { --rd-svc: var(--rd-svc-daycare); }
.rd-card--lodging  { --rd-svc: var(--rd-svc-lodging); }
.rd-card--grooming { --rd-svc: var(--rd-svc-grooming); }
.rd-card .rd-link { border-bottom-color: var(--rd-svc, var(--rd-lime)); }
.rd-card__icon--pickup   { --rd-svc: var(--rd-svc-pickup); }
.rd-card__icon--daycare  { --rd-svc: var(--rd-svc-daycare); }
.rd-card__icon--lodging  { --rd-svc: var(--rd-svc-lodging); }
.rd-card__icon--grooming { --rd-svc: var(--rd-svc-grooming); }
.rd-card__body { position: relative; padding: 52px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.rd-card__body p { margin: 0; color: var(--rd-muted); font-size: 17px; line-height: 1.5; }
.rd-card__body p b { display: block; color: var(--rd-carbon); font-weight: 700; margin-bottom: 2px; }
.rd-card__price { margin-top: auto !important; padding-top: 14px; border-top: 1px dashed var(--rd-line); color: var(--rd-carbon) !important; font-size: 16px !important; }
.rd-card__price strong { font-family: var(--rd-condensed); font-size: 24px; }
.rd-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 22px 22px; }

/* Photo placeholder (honest gap: no Mo'Tail-branded van photo exists yet) */
.rd-ph { width: 100%; height: 100%; display: grid; place-items: center; text-align: center; padding: 16px;
  background: var(--rd-cloud-200); color: var(--rd-muted); font: 600 14px/1.35 var(--rd-body); }
.rd-ph svg { width: 72px; height: 72px; color: #B9C0A8; fill: currentColor; display: block; margin: 0 auto 8px; }

/* First visit strip [A1][A7] */
.rd-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: step; margin: 0; padding: 0; list-style: none; }
@media (max-width: 860px) { .rd-steps { grid-template-columns: 1fr; } }
.rd-step { position: relative; background: #fff; border-radius: var(--rd-radius); padding: 28px 24px 24px 24px; border: 1px solid var(--rd-line); }
.rd-step::before { counter-increment: step; content: counter(step); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: var(--rd-carbon); color: var(--rd-lime-bright); font: 400 22px var(--rd-display); margin-bottom: 14px; }
.rd-step p { margin: 0; color: var(--rd-muted); line-height: 1.5; }
.rd-steps-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 28px; }
.rd-steps-cta small { color: var(--rd-muted); font-size: 15px; }

/* Why us comparison [A9] */
.rd-compare-wrap { overflow-x: auto; border-radius: var(--rd-radius); border: 1px solid rgba(255,255,255,.14); }
.rd-compare { width: 100%; border-collapse: collapse; min-width: 640px; color: #fff; font-size: 17px; }
.rd-compare th, .rd-compare td { padding: 16px 18px; text-align: center; border-bottom: 1px solid rgba(255,255,255,.1); }
.rd-compare th:first-child, .rd-compare td:first-child { text-align: left; }
.rd-compare thead th { font-family: var(--rd-condensed); font-size: 18px; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.rd-compare thead th.rd-us { color: var(--rd-carbon); background: var(--rd-lime); }
.rd-compare td.rd-us { background: rgba(132,189,0,.14); font-weight: 700; }
.rd-compare tr:last-child td { border-bottom: 0; }
.rd-yes { color: var(--rd-lime-bright); font-weight: 700; }
.rd-dim { color: rgba(255,255,255,.55); }

/* Membership — scalloped box with even padding [N: scallop padding][A9] */
.rd-member { position: relative; background: var(--rd-lime); color: var(--rd-carbon);
  --r: 22px;
  mask: linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*2) calc(100% - var(--r)*2),
        radial-gradient(farthest-side, #000 97%, transparent) 0 0/calc(var(--r)*2) calc(var(--r)*2) round;
  -webkit-mask: linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*2) calc(100% - var(--r)*2),
        radial-gradient(farthest-side, #000 97%, transparent) 0 0/calc(var(--r)*2) calc(var(--r)*2) round;
  padding: calc(var(--r) * 3.2);     /* equal on all four sides, clears the scallops */
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 900px) { .rd-member { grid-template-columns: 1fr; padding: calc(var(--r) * 2.4); } }
.rd-member .rd-h2 { color: var(--rd-carbon); }
.rd-member .rd-lead { color: var(--rd-carbon); }
.rd-member__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 520px) { .rd-member__stats { grid-template-columns: 1fr; } }
.rd-stat { background: rgba(255,255,255,.9); border-radius: var(--rd-radius-sm); padding: 18px 14px; text-align: center; }
.rd-stat strong { display: block; font: 400 clamp(26px, 3vw, 36px)/1 var(--rd-display); color: var(--rd-carbon); margin-bottom: 6px; }
.rd-stat span { font-size: 15px; line-height: 1.3; color: var(--rd-charcoal); display: block; }
.rd-member__math { grid-column: 1 / -1; margin: 0; font-size: 16px; font-weight: 600; }
.rd-member__math span { display: inline-block; background: var(--rd-carbon); color: var(--rd-lime-bright); border-radius: 999px; padding: 3px 12px; margin-right: 8px; font-family: var(--rd-condensed); letter-spacing: .04em; }

/* Split media/text (pickup) */
.rd-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .rd-split { grid-template-columns: 1fr; } }
.rd-split__media { border-radius: var(--rd-radius); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--rd-shadow); }
.rd-split__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-pricechips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; padding: 0; list-style: none; }
.rd-pricechips li { background: var(--rd-cloud); border: 1px solid var(--rd-line); border-radius: 999px; padding: 8px 16px; font-size: 16px; }
.rd-pricechips strong { font-family: var(--rd-condensed); font-size: 19px; }

/* Testimonials with hierarchy [N: testimonial design][A2] */
.rd-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 960px) { .rd-reviews { grid-template-columns: 1fr; } }
.rd-review { margin: 0; background: #fff; color: var(--rd-charcoal); border-radius: var(--rd-radius); padding: 28px; display: flex; flex-direction: column; gap: 18px; box-shadow: var(--rd-shadow); }
.rd-stars { display: flex; gap: 3px; }
.rd-stars svg { width: 20px; height: 20px; fill: #F5B400; }
.rd-review blockquote { margin: 0; font-size: 19px; line-height: 1.55; color: var(--rd-carbon); }
.rd-review blockquote::before { content: "\201C"; display: block; font: 400 64px/0.6 var(--rd-display); color: var(--rd-lime); margin-bottom: 8px; }
.rd-review figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--rd-line); }
.rd-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--rd-carbon); color: var(--rd-lime-bright); display: grid; place-items: center; font: 400 20px var(--rd-display); flex: none; }
.rd-review cite { font-style: normal; font-weight: 700; color: var(--rd-carbon); display: block; }
.rd-review figcaption small { color: var(--rd-muted); font-size: 15px; }
.rd-review--todo { background: transparent; border: 2px dashed rgba(255,255,255,.45); box-shadow: none; color: #fff; justify-content: center; text-align: center; }
.rd-review--todo p { margin: 0; color: rgba(255,255,255,.85); }
.rd-rating { display: inline-flex; align-items: center; gap: 12px; background: #fff; color: var(--rd-carbon); border-radius: 999px; padding: 8px 18px 8px 10px; text-decoration: none; font-weight: 600; }
.rd-rating b { font: 400 22px var(--rd-display); }

/* Visit us */
.rd-visit { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; align-items: stretch; }
@media (max-width: 900px) { .rd-visit { grid-template-columns: 1fr; } }
.rd-hours { width: 100%; border-collapse: collapse; font-size: 17px; margin: 8px 0 20px; }
.rd-hours th, .rd-hours td { text-align: left; padding: 10px 0; border-bottom: 1px solid var(--rd-line); vertical-align: top; }
.rd-hours th { font-family: var(--rd-condensed); font-size: 18px; text-transform: uppercase; letter-spacing: .04em; padding-right: 16px; white-space: nowrap; }
.rd-map { border-radius: var(--rd-radius); overflow: hidden; min-height: 380px; border: 1px solid var(--rd-line); background: var(--rd-cloud); }
.rd-map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.rd-contact-list { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; font-size: 18px; }
.rd-contact-list a { color: var(--rd-carbon); }

/* Sister-brand note [A5] */
.rd-sister { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); padding: 18px 22px; font-size: 17px; }
.rd-sister img { width: 44px; height: 44px; flex: none; }
.rd-sister p { margin: 0; }

/* Franchise slim strip [A7] */
.rd-franchise { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 22px 0; border-top: 1px solid var(--rd-line); }
.rd-franchise p { margin: 0; font-size: 18px; }
.rd-franchise strong { font-family: var(--rd-condensed); font-size: 21px; text-transform: uppercase; letter-spacing: .03em; margin-right: 8px; }

/* =====================================================================
   FOOTER — one subscribe control, hours, legal links [A11][N: blue button]
   ===================================================================== */
.rd-footer { background: var(--rd-carbon); color: rgba(255,255,255,.85); padding: 64px 0 24px; font-size: 16px; }
.rd-footer a { color: #fff; text-decoration: none; }
.rd-footer a:hover { color: var(--rd-lime-bright); text-decoration: underline; }
.rd-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.5fr; gap: 36px; }
.rd-footer__tag { margin: 0 0 22px; color: rgba(255,255,255,.75); max-width: 30ch; }
.rd-footer__grid > div > h2 + ul { margin-bottom: 4px; }
@media (max-width: 1100px) { .rd-footer__grid { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 760px) { .rd-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rd-footer__grid { grid-template-columns: 1fr; } }
.rd-footer h2 { font: 700 17px var(--rd-condensed); text-transform: uppercase; letter-spacing: .1em; color: var(--rd-lime-bright); margin: 0 0 14px; }
.rd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.rd-footer__logo { height: 64px; width: auto; margin-bottom: 18px; }
.rd-footer__hours { margin: 14px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 15px; }
.rd-footer__hours dt { font-weight: 700; color: #fff; }
.rd-footer__hours dd { margin: 0; }
.rd-subscribe label { display: block; font-weight: 600; color: #fff; margin-bottom: 8px; }
.rd-subscribe__row { display: flex; gap: 8px; }
.rd-subscribe input { flex: 1; min-width: 0; min-height: 50px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; padding: 0 18px; font: 16px var(--rd-body); }
.rd-subscribe input::placeholder { color: rgba(255,255,255,.6); }
.rd-subscribe small { display: block; margin-top: 8px; color: rgba(255,255,255,.6); font-size: 14px; }
.rd-social { display: flex; gap: 10px; margin-top: 22px; }
.rd-social a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); display: grid; place-items: center; }
.rd-social img { width: 18px; height: 18px; filter: brightness(0) invert(1); }
.rd-footer__sister { margin-top: 18px; font-size: 15px; color: rgba(255,255,255,.7); }
.rd-footer__bottom { margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; font-size: 14px; color: rgba(255,255,255,.6); }
.rd-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* Book modal (desktop: QR + phone instead of a silent app-store bounce) [A7] */
.rd-modal { border: 0; border-radius: 24px; padding: 0; max-width: 520px; width: calc(100% - 32px); box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.rd-modal:not([open]) { display: none !important; }
.rd-modal[open] { display: block; position: fixed; inset: 0; margin: auto; height: fit-content; }
.rd-modal::backdrop { background: rgba(37,42,54,.6); }
.rd-modal__body { padding: 32px; text-align: center; }
.rd-modal__qr { width: 184px; height: 184px; margin: 8px auto 16px; padding: 12px; border-radius: 16px; border: 1px solid var(--rd-line); display: grid; place-items: center; }
.rd-modal__close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--rd-cloud); cursor: pointer; font-size: 22px; }
.rd-modal .rd-btns { justify-content: center; margin-top: 16px; }

/* =====================================================================
   INNER-PAGE POLISH (applies to the untouched WordPress blocks)
   ===================================================================== */
/* Hide the old theme header/footer if any fragment survives */
#moraw-site-header, .wp-site-blocks > footer.wp-block-template-part { display: none !important; }

/* FAQ accordions: they were <details> already but rendered as a wall [A8] */
.wp-block-details { border: 1px solid var(--rd-line); border-radius: 14px; padding: 0 20px; margin: 0 0 10px !important; background: #fff; }
.wp-block-details summary { list-style: none; cursor: pointer; padding: 18px 36px 18px 0; position: relative; font: 700 20px/1.3 var(--rd-condensed); color: var(--rd-carbon); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--rd-lime); display: grid; place-items: center; font: 700 20px/1 var(--rd-body); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details[open] { padding-bottom: 12px; }

/* Display face reserved for short headlines [A3][N: typesetting] */
.is-style-h3.wp-block-paragraph { font-family: var(--rd-body) !important; font-size: 22px !important; line-height: 1.45 !important; }

/* Anchor tab bar on Pricing & Location [A6] */
.rd-tabs { position: sticky; top: 88px; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--rd-line); }
.rd-tabs ul { display: flex; gap: 6px; overflow-x: auto; list-style: none; margin: 0 auto; padding: 10px var(--rd-gutter); max-width: var(--rd-wrap); }
.rd-tabs a { display: block; white-space: nowrap; padding: 10px 16px; border-radius: 999px; font: 700 18px var(--rd-condensed); color: var(--rd-carbon); text-decoration: none; border: 1px solid var(--rd-line); }
.rd-tabs a:hover, .rd-tabs a.is-active { background: var(--rd-carbon); color: #fff; border-color: var(--rd-carbon); }
@media (max-width: 1024px) { .rd-tabs { top: 72px; } }

/* Callouts used on new pages */
.rd-note { background: #FFF8E1; border: 1px solid #F1D98A; border-radius: 14px; padding: 14px 18px; font-size: 16px; color: #5A4A12; }
.rd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 860px) { .rd-grid-2 { grid-template-columns: 1fr; } }
.rd-panel { background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); padding: 28px; }
.rd-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.rd-checklist li { position: relative; padding-left: 34px; line-height: 1.5; }
.rd-checklist li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--rd-lime) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%23252A36' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/16px no-repeat; }
.rd-form { display: grid; gap: 14px; }
.rd-form label { font-weight: 600; display: grid; gap: 6px; font-size: 16px; }
.rd-form input, .rd-form select, .rd-form textarea { min-height: 48px; border-radius: 12px; border: 1px solid #C9CDD2; padding: 10px 14px; font: 16px var(--rd-body); background: #fff; }
.rd-form textarea { min-height: 110px; }
.rd-form .rd-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .rd-form .rd-row { grid-template-columns: 1fr; } }
.rd-faq-group { margin-bottom: 40px; }
.rd-faq-group .rd-h3 { margin-bottom: 14px; }
.rd-page-hero { padding: clamp(48px, 7vw, 88px) 0 clamp(32px, 5vw, 56px); background: var(--rd-cloud); }
.rd-prose { max-width: 72ch; font-size: 18px; line-height: 1.6; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}


/* =====================================================================
   ROUND 3: location-ready layout, story, franchise, gallery, FAQ
   ===================================================================== */
/* Location chip in the utility bar */
.rd-loc b { font-weight: 700; }
.rd-loc u { text-decoration-color: var(--rd-lime-bright); text-underline-offset: 3px; margin-left: 4px; color: var(--rd-lime-bright); }
@media (max-width: 560px) { .rd-util__hide-sm { display: none; } }

/* Stats band directly under the hero */
.rd-stats { background: var(--rd-lime); color: var(--rd-carbon); }
.rd-stats__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.rd-stats__row > div { padding: 26px 16px; text-align: center; border-left: 1px solid rgba(37,42,54,.18); }
.rd-stats__row > div:first-child { border-left: 0; }
.rd-stats strong { display: block; font: 400 clamp(30px, 3.4vw, 44px)/1 var(--rd-display); }
.rd-stats span { display: block; margin-top: 6px; font: 700 16px var(--rd-condensed); letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 760px) { .rd-stats__row { grid-template-columns: 1fr 1fr; } .rd-stats__row > div:nth-child(3) { border-left: 0; } .rd-stats__row > div:nth-child(n+3) { border-top: 1px solid rgba(37,42,54,.18); } }
.rd-fineprint { margin: 18px 0 0; color: var(--rd-muted); font-size: 14px; }

/* Day-in-the-life gallery */
.rd-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 14px; }
.rd-shot { position: relative; margin: 0; border-radius: var(--rd-radius); overflow: hidden; background: var(--rd-cloud); }
.rd-shot--wide { grid-column: span 2; }
.rd-shot img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.rd-shot:hover img { transform: scale(1.04); }
.rd-shot figcaption { position: absolute; left: 12px; bottom: 12px; background: rgba(255,255,255,.94); color: var(--rd-carbon); border-radius: 999px; padding: 6px 14px; font: 700 15px var(--rd-condensed); letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 860px) { .rd-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; } }

/* Homepage FAQ accordion */
.rd-hfaq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
@media (max-width: 900px) { .rd-hfaq { grid-template-columns: 1fr; } }
.rd-accordion { display: grid; gap: 10px; }
.rd-acc { background: #fff; border: 1px solid var(--rd-line); border-radius: 16px; transition: box-shadow .2s, border-color .2s; }
.rd-acc[open] { border-color: transparent; box-shadow: var(--rd-shadow); }
.rd-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; font: 700 20px/1.3 var(--rd-condensed); color: var(--rd-carbon); }
.rd-acc summary::-webkit-details-marker { display: none; }
.rd-acc summary::after { content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--rd-cloud) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 5v14M5 12h14' stroke='%23252A36' stroke-width='2.4' stroke-linecap='round'/></svg>") center/14px no-repeat; transition: transform .25s, background-color .25s; }
.rd-acc[open] summary::after { transform: rotate(45deg); background-color: var(--rd-lime); }
.rd-acc > div { padding: 0 22px 20px; color: var(--rd-muted); font-size: 17px; line-height: 1.6; }
.rd-acc > div p { margin: 0; }

/* Location cards */
.rd-locs { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; align-items: stretch; }
@media (max-width: 900px) { .rd-locs { grid-template-columns: 1fr; } }
.rd-loc-card { display: grid; grid-template-columns: 1fr 1.1fr; background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); overflow: hidden; box-shadow: var(--rd-shadow); }
@media (max-width: 700px) { .rd-loc-card { grid-template-columns: 1fr; } }
.rd-loc-card__map { min-height: 300px; background: var(--rd-cloud); }
.rd-loc-card__map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; display: block; }
.rd-loc-card__body { padding: 26px; }
.rd-loc-card .rd-hours { font-size: 15px; margin: 4px 0 12px; }
.rd-loc-card .rd-hours th { font-size: 15px; }
.rd-loc-card .rd-contact-list { font-size: 16px; margin-bottom: 8px; }
.rd-loc-card__note { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font-weight: 600; font-size: 15px; }
.rd-loc-card__note svg { width: 18px; height: 18px; fill: var(--rd-lime-ink); }
.rd-badge { display: inline-block; margin: 0 0 10px; padding: 4px 12px; border-radius: 999px; background: var(--rd-cloud); border: 1px solid var(--rd-line); font: 700 14px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-lime-ink); }
.rd-badge--lime { background: var(--rd-lime); border-color: var(--rd-lime); color: var(--rd-carbon); }
.rd-loc-next { background: var(--rd-carbon); color: rgba(255,255,255,.85); border-radius: var(--rd-radius); padding: 28px; display: flex; flex-direction: column; gap: 6px; }
.rd-loc-next p { margin: 0 0 8px; }
.rd-form--dark label { color: #fff; }
.rd-form--dark input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); color: #fff; }
.rd-loc-next__fr { margin-top: auto !important; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.14); }
.rd-loc-next__fr a { color: var(--rd-lime-bright); font-weight: 700; }

/* Story band */
.rd-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.rd-page-hero .rd-story { grid-template-columns: 1.2fr .8fr; }
@media (max-width: 860px) { .rd-story, .rd-page-hero .rd-story { grid-template-columns: 1fr; } }
.rd-story__media { border-radius: 200px 200px var(--rd-radius) var(--rd-radius); overflow: hidden; aspect-ratio: 4 / 5; max-height: 560px; box-shadow: var(--rd-shadow); }
.rd-story__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-family { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; }
.rd-family li { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--rd-line); background: #fff; font: 700 16px var(--rd-condensed); letter-spacing: .03em; text-transform: uppercase; }
.rd-family li.is-us { background: var(--rd-carbon); color: #fff; border-color: var(--rd-carbon); }

/* Franchise panel: dark scalloped card, pillars + CTA */
.rd-fr { --r: 22px; position: relative; display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; background: var(--rd-carbon);
  mask: linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*2) calc(100% - var(--r)*2), radial-gradient(farthest-side, #000 97%, transparent) 0 0/calc(var(--r)*2) calc(var(--r)*2) round;
  -webkit-mask: linear-gradient(#000 0 0) no-repeat 50%/calc(100% - var(--r)*2) calc(100% - var(--r)*2), radial-gradient(farthest-side, #000 97%, transparent) 0 0/calc(var(--r)*2) calc(var(--r)*2) round;
  padding: calc(var(--r) * 3.2); }
@media (max-width: 900px) { .rd-fr { grid-template-columns: 1fr; padding: calc(var(--r) * 2.4); } }
.rd-fr__pillars { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 700px) { .rd-fr__pillars { grid-template-columns: 1fr; } }
.rd-fr__pillars li { border-top: 3px solid var(--rd-lime); padding-top: 12px; }
.rd-fr__pillars strong { display: block; color: #fff; font: 700 20px var(--rd-condensed); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.rd-fr__pillars span { color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.5; }
.rd-fr__cta { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: var(--rd-radius); padding: 26px; display: grid; gap: 12px; }
.rd-fr__cta .rd-btn { width: 100%; }
.rd-fr__kicker { margin: 0; color: var(--rd-lime-bright); font: 700 16px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; text-align: center; }
.rd-fr__fine { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.6); }

/* Our Story page */
.rd-page-hero--story { padding-bottom: clamp(48px, 7vw, 88px); }
.rd-fam-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 960px) { .rd-fam-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rd-fam-grid { grid-template-columns: 1fr; } }
.rd-fam { background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.rd-fam p { margin: 0; color: var(--rd-muted); flex: 1; }
.rd-fam.is-us { background: var(--rd-lime); border-color: var(--rd-lime); }
.rd-fam.is-us p { color: var(--rd-carbon); }
.rd-fam.is-us .rd-link { border-bottom-color: var(--rd-carbon); }
.rd-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; position: relative; }
.rd-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 22px; height: 3px; background: var(--rd-line); }
.rd-timeline li { position: relative; padding-top: 52px; }
.rd-timeline li::before { content: ""; position: absolute; top: 12px; left: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--rd-lime); box-shadow: 0 0 0 5px #fff; }
.rd-timeline li.is-next::before { background: #fff; border: 3px dashed var(--rd-lime-ink); }
.rd-timeline b { font: 400 22px var(--rd-display); color: var(--rd-lime-ink); }
.rd-timeline p { margin: 0; color: var(--rd-muted); }
@media (max-width: 900px) { .rd-timeline { grid-template-columns: 1fr; } .rd-timeline::before { left: 10px; right: auto; top: 0; bottom: 0; width: 3px; height: auto; } .rd-timeline li { padding: 0 0 0 44px; } .rd-timeline li::before { top: 4px; } }
.rd-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 860px) { .rd-team { grid-template-columns: 1fr 1fr; } }
.rd-person p { margin: 0; color: var(--rd-muted); }
.rd-person__ph { aspect-ratio: 1; border-radius: 50%; margin-bottom: 14px; background: var(--rd-lime-100); }

/* Reset the theme's dark-bar <details> styling for the new accordions (homepage, FAQ page, inner-page FAQs) */
details.rd-acc, details.wp-block-details { margin: 0 0 10px !important; outline: none !important; }
details.rd-acc summary, details.wp-block-details summary {
  background: transparent !important; color: var(--rd-carbon) !important; border-radius: 16px; outline: none !important;
  font-family: var(--rd-condensed) !important; font-weight: 700 !important; font-size: 20px !important; line-height: 1.3 !important;
  margin: 0 !important; position: relative; }
details.rd-acc summary { padding: 20px 22px !important; }
details.wp-block-details summary { padding: 18px 36px 18px 0 !important; }
details.rd-acc summary:hover, details.wp-block-details summary:hover { outline: none !important; color: var(--rd-lime-ink) !important; }
details.rd-acc summary:focus-visible, details.wp-block-details summary:focus-visible { outline: 3px solid var(--rd-lime) !important; outline-offset: 2px !important; }
details.rd-acc summary::after { mask: none !important; -webkit-mask: none !important; position: static !important; display: block !important; height: 30px !important; width: 30px !important; }
details.rd-acc[open] summary::after { background-color: var(--rd-lime) !important; }
details.rd-acc summary::after { background-color: var(--rd-cloud) !important; }
details.wp-block-details summary::after { mask: none !important; -webkit-mask: none !important; background-color: var(--rd-lime) !important; top: 50% !important; right: 0 !important; transform: translateY(-50%) !important; width: 28px !important; height: 28px !important; }
details.rd-acc[open], details.wp-block-details[open] { background: #fff !important; border: 1px solid transparent !important; outline: none !important; }
details.wp-block-details { border: 1px solid var(--rd-line) !important; }
details.rd-acc > :not(summary), details.wp-block-details > :not(summary) { color: var(--rd-muted) !important; }
details.rd-acc > div { padding: 0 22px 20px !important; }
details.wp-block-details > :not(summary) { padding: 0 0 16px !important; }
details.rd-acc a, details.wp-block-details a { color: var(--rd-carbon) !important; font-style: normal !important; }


/* =====================================================================
   ROUND 4: depth, photo tones, scalloped dog photos
   ===================================================================== */
/* Layered backgrounds instead of flat fills */
.rd-section--cloud { background: var(--rd-cloud-100); }
.rd-section--dark { background: var(--rd-ink-800); }
.rd-footer { background: var(--rd-ink-900); }
.rd-footer__bottom { border-top-color: var(--rd-ink-600); }
.rd-util { background: var(--rd-ink-900); }

/* Stats band: lime ramp with deeper dividers */
.rd-stats { background: var(--rd-lime-500); border-bottom: 6px solid var(--rd-lime-600); }
.rd-stats__row > div { border-left-color: rgba(52,72,10,.28); }
.rd-stats span { color: var(--rd-lime-900); }

/* Buttons pick up shades */
.rd-btn--primary { background: var(--rd-lime-500); box-shadow: 0 3px 0 var(--rd-lime-700); }
.rd-btn--primary:hover { background: var(--rd-lime-300); }
.rd-btn--dark { background: var(--rd-ink-800); box-shadow: 0 3px 0 var(--rd-ink-900); }
.rd-btn--dark:hover { background: var(--rd-ink-600); }
.rd-eyebrow { color: var(--rd-lime-700); }

/* Membership scallop: flat lime with lime-50 tiles */
.rd-member { background: var(--rd-lime-500); }
.rd-stat { background: var(--rd-lime-50); box-shadow: 0 3px 0 var(--rd-lime-700); }
.rd-member__math span { background: var(--rd-lime-900); color: var(--rd-lime-200); }

/* First-visit steps: lime-50 cards, ink-800 numbers */
.rd-step { background: var(--rd-lime-50); border-color: var(--rd-lime-100); }
.rd-step::before { background: var(--rd-ink-800); color: var(--rd-lime-300); }

/* Cards and comparison table */
.rd-card { border-color: var(--rd-ink-50); }
.rd-card__price { border-top-color: var(--rd-ink-50) !important; }
.rd-compare thead th.rd-us { background: var(--rd-lime-500); }
.rd-compare td.rd-us { background: var(--rd-ink-600); }
.rd-compare .rd-yes { color: var(--rd-lime-300); }
.rd-family li { border-color: var(--rd-cloud-200); }
.rd-loc-next { background: var(--rd-ink-800); border-top: 6px solid var(--rd-lime-500); }
.rd-fr { background: var(--rd-ink-800); }
.rd-fr__cta { background: var(--rd-ink-600) !important; border-color: var(--rd-ink-400) !important; }
.rd-acc[open] summary::after, details.rd-acc[open] summary::after { background-color: var(--rd-lime-300) !important; }

/* Gallery: muted service-colour overlays; hover reveals the true photo */
.rd-shot { isolation: isolate; }
.rd-shot img { filter: saturate(.8) contrast(1.02); transition: transform .5s ease, filter .4s ease; }
.rd-shot::after { content: ""; position: absolute; inset: 0; background: var(--rd-tone, transparent); mix-blend-mode: color; opacity: .72; transition: opacity .4s ease; pointer-events: none; }
.rd-shot { background: var(--rd-tone, var(--rd-cloud)); }
.rd-shot img { mix-blend-mode: luminosity; }
.rd-shot figcaption { z-index: 2; }
.rd-shot:hover::after { opacity: 0; }
.rd-shot:hover img { mix-blend-mode: normal; }
.rd-shot:hover img { filter: none; }
.rd-tone--orange { --rd-tone: var(--rd-tone-orange); }
.rd-tone--purple { --rd-tone: var(--rd-tone-purple); }
.rd-tone--teal   { --rd-tone: var(--rd-tone-teal); }
.rd-tone--green  { --rd-tone: var(--rd-tone-green); }
.rd-tone--orange figcaption { box-shadow: inset 4px 0 0 var(--rd-svc-daycare); }
.rd-tone--purple figcaption { box-shadow: inset 4px 0 0 var(--rd-svc-lodging); }
.rd-tone--teal   figcaption { box-shadow: inset 4px 0 0 var(--rd-svc-grooming); }
.rd-tone--green  figcaption { box-shadow: inset 4px 0 0 var(--rd-svc-pickup); }

/* Reviews: scalloped dog-photo placeholders (same scallop as the service badges) */
.rd-dogpic { flex: none; width: 64px; height: 64px; display: grid; place-items: center; text-align: center;
  background: var(--rd-lime-100);
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='98 98 828 828'%3E%3Cg fill='black'%3E%3Ccircle cx='512' cy='512' r='346'/%3E%3Ccircle cx='858' cy='512' r='68'/%3E%3Ccircle cx='832' cy='644' r='68'/%3E%3Ccircle cx='757' cy='757' r='68'/%3E%3Ccircle cx='644' cy='832' r='68'/%3E%3Ccircle cx='512' cy='858' r='68'/%3E%3Ccircle cx='380' cy='832' r='68'/%3E%3Ccircle cx='267' cy='757' r='68'/%3E%3Ccircle cx='192' cy='644' r='68'/%3E%3Ccircle cx='166' cy='512' r='68'/%3E%3Ccircle cx='192' cy='380' r='68'/%3E%3Ccircle cx='267' cy='267' r='68'/%3E%3Ccircle cx='380' cy='192' r='68'/%3E%3Ccircle cx='512' cy='166' r='68'/%3E%3Ccircle cx='644' cy='192' r='68'/%3E%3Ccircle cx='757' cy='267' r='68'/%3E%3Ccircle cx='832' cy='380' r='68'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='98 98 828 828'%3E%3Cg fill='black'%3E%3Ccircle cx='512' cy='512' r='346'/%3E%3Ccircle cx='858' cy='512' r='68'/%3E%3Ccircle cx='832' cy='644' r='68'/%3E%3Ccircle cx='757' cy='757' r='68'/%3E%3Ccircle cx='644' cy='832' r='68'/%3E%3Ccircle cx='512' cy='858' r='68'/%3E%3Ccircle cx='380' cy='832' r='68'/%3E%3Ccircle cx='267' cy='757' r='68'/%3E%3Ccircle cx='192' cy='644' r='68'/%3E%3Ccircle cx='166' cy='512' r='68'/%3E%3Ccircle cx='192' cy='380' r='68'/%3E%3Ccircle cx='267' cy='267' r='68'/%3E%3Ccircle cx='380' cy='192' r='68'/%3E%3Ccircle cx='512' cy='166' r='68'/%3E%3Ccircle cx='644' cy='192' r='68'/%3E%3Ccircle cx='757' cy='267' r='68'/%3E%3Ccircle cx='832' cy='380' r='68'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.rd-dogpic span { font: 700 11px/1.1 var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-lime-700); max-width: 44px; }
.rd-dogpic--lg { width: 96px; height: 96px; margin: 0 auto 8px; background: var(--rd-ink-600); }
.rd-dogpic--lg span { color: #fff; font-size: 13px; max-width: 60px; }
.rd-review { background: #fff; }
.rd-review figcaption small { display: block; }
.rd-review.rd-review--todo { background: rgba(255,255,255,.04); }
.rd-dogpic { width: 72px; height: 72px; }
.rd-dogpic--lg { width: 104px; height: 104px; }

/* "The math" callout: its own container so it stands out on the lime */
.rd-member__math { display: block;
  background: var(--rd-ink-800); color: #fff !important; border-radius: 16px; padding: 18px 22px;
  box-shadow: 0 4px 0 var(--rd-lime-700); font-size: 18px; line-height: 1.45; }
.rd-member__math span { display: inline-block; margin: 0 12px 0 0; vertical-align: 1px; background: var(--rd-lime-300); color: var(--rd-ink-900); border-radius: 999px; padding: 6px 14px;
  font: 700 16px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; }
.rd-member__math b, .rd-member__math strong { color: var(--rd-lime-300); }

/* Dog photos get the same treatment as the service icons:
   scalloped photo scaled down inside a white circle, so a white border shows all round */
.rd-ring { flex: none; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(37,42,54,.16); }
.rd-ring .rd-dogpic { width: 66px; height: 66px; margin: 0; }
.rd-ring--lg { width: 116px; height: 116px; margin: 0 auto 10px; }
.rd-ring--lg .rd-dogpic { width: 92px; height: 92px; background: var(--rd-lime-100); }
.rd-ring--lg .rd-dogpic span { color: var(--rd-lime-700); }
.rd-card__img .rd-ph { padding-bottom: 44px; }

/* Phone gallery: 2 columns, spans chosen so same-colour tiles never touch
   (green / orange+teal / purple / teal / purple) and time still reads in order */
@media (max-width: 860px) {
  .rd-gallery .rd-shot { grid-column: span 1; }
  .rd-gallery .rd-shot:nth-child(1), .rd-gallery .rd-shot:nth-child(4),
  .rd-gallery .rd-shot:nth-child(5), .rd-gallery .rd-shot:nth-child(6) { grid-column: 1 / -1; }
}

/* =====================================================================
   SERVICE PAGE TEMPLATE (Doggy Daycare first). Flat library colours only;
   the service colour appears on the icon badge alone.
   ===================================================================== */
.rd-phero { background: var(--rd-cloud-100); padding: clamp(40px, 6vw, 80px) 0; }
.rd-phero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .rd-phero__grid { grid-template-columns: 1fr; } }
.rd-phero .rd-h1 { font-size: clamp(40px, 5.6vw, 76px); }
.rd-phero__proof { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; padding: 0; margin: 24px 0 0; font-weight: 600; }
.rd-phero__proof li { display: flex; align-items: center; gap: 8px; }
.rd-phero__proof svg { width: 18px; height: 18px; fill: var(--rd-lime-700); }
.rd-phero__media { position: relative; }
.rd-phero__media img { width: 100%; aspect-ratio: 4 / 5; max-height: 560px; object-fit: cover; object-position: 50% 12%; display: block;
  border-radius: 240px 240px var(--rd-radius) var(--rd-radius); }
.rd-phero__badge { position: absolute; left: -18px; bottom: 28px; width: 104px; height: 104px; border-radius: 50%; background: #fff;
  display: grid; place-items: center; color: var(--rd-svc, var(--rd-svc-daycare)); box-shadow: 0 6px 18px rgba(37,42,54,.16); }
.rd-phero__badge svg { width: 82px; height: 82px; fill: currentColor; }
@media (max-width: 860px) { .rd-phero__badge { left: 12px; } }

.rd-facts { background: var(--rd-ink-800); color: #fff; }
.rd-facts__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.rd-facts__row > div { padding: 22px 18px; border-left: 1px solid var(--rd-ink-600); display: grid; gap: 2px; }
.rd-facts__row > div:first-child { border-left: 0; }
.rd-facts span { font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-lime-300); }
.rd-facts strong { font: 400 clamp(22px, 2.4vw, 30px)/1.1 var(--rd-display); }
.rd-facts small { color: var(--rd-ink-200); font-size: 14px; }
@media (max-width: 760px) { .rd-facts__row { grid-template-columns: 1fr 1fr; } .rd-facts__row > div:nth-child(3) { border-left: 0; } .rd-facts__row > div:nth-child(n+3) { border-top: 1px solid var(--rd-ink-600); } }

.rd-included { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--rd-cloud-200); }
.rd-included li { padding: 26px 24px 26px 0; border-bottom: 1px solid var(--rd-cloud-200); }
.rd-included li:not(:nth-child(3n+1)) { padding-left: 24px; border-left: 1px solid var(--rd-cloud-200); }
.rd-included p { margin: 0; color: var(--rd-muted); }
@media (max-width: 860px) { .rd-included { grid-template-columns: 1fr; } .rd-included li, .rd-included li:not(:nth-child(3n+1)) { padding: 20px 0; border-left: 0; } }

.rd-sched { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 860px) { .rd-sched { grid-template-columns: 1fr; } }
.rd-sched__media img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 62%; border-radius: var(--rd-radius); display: block; position: sticky; top: 120px; }
.rd-schedule { list-style: none; margin: 8px 0 12px; padding: 0; display: grid; gap: 0; }
.rd-schedule li { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--rd-cloud-200); }
.rd-schedule time { font: 700 17px var(--rd-condensed); letter-spacing: .04em; text-transform: uppercase; color: var(--rd-lime-700); font-variant-numeric: tabular-nums; }
.rd-schedule strong { display: block; color: var(--rd-carbon); font-size: 18px; }
.rd-schedule span { color: var(--rd-muted); }

.rd-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 980px; margin: 0 auto; }
@media (max-width: 760px) { .rd-fit { grid-template-columns: 1fr; } }
.rd-fit__card { background: var(--rd-lime-50); border: 1px solid var(--rd-lime-100); border-radius: var(--rd-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.rd-fit__card p { margin: 0; color: var(--rd-muted); }
.rd-fit__card .rd-badge { align-self: flex-start; }
.rd-fit__card .rd-btn { align-self: flex-start; margin-top: auto; }
.rd-fit__card--alt { background: #fff; border-color: var(--rd-cloud-200); }

.rd-prices { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; align-items: start; }
@media (max-width: 900px) { .rd-prices { grid-template-columns: 1fr; } }
.rd-price-single { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rd-price-single__item { background: var(--rd-lime-500); border-radius: var(--rd-radius); padding: 22px; display: grid; gap: 4px; box-shadow: 0 3px 0 var(--rd-lime-700); }
.rd-price-single__item span { font: 700 14px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-lime-900); }
.rd-price-single__item strong { font: 400 clamp(40px, 4.6vw, 56px)/1 var(--rd-display); color: var(--rd-carbon); }
.rd-price-single__item small { color: var(--rd-lime-900); font-size: 14px; }
.rd-price-single__note { grid-column: 1 / -1; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: 16px; padding: 16px 18px; color: var(--rd-muted); }
.rd-price-single__note strong, .rd-price-single__note b { color: var(--rd-carbon); }
.rd-price-tables { display: grid; gap: 16px; }
.rd-tablewrap { overflow-x: auto; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); }
.rd-ptable { width: 100%; border-collapse: collapse; font-size: 17px; font-variant-numeric: tabular-nums; }
.rd-ptable caption { text-align: left; padding: 16px 20px 6px; font: 700 18px var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-carbon); }
.rd-ptable th, .rd-ptable td { padding: 12px 20px; text-align: left; border-top: 1px solid var(--rd-cloud-100); white-space: nowrap; }
.rd-ptable thead th { font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-400); border-top: 0; padding-top: 4px; }
.rd-ptable td:nth-child(2) { font-weight: 700; color: var(--rd-carbon); }
.rd-ptable .rd-save { color: var(--rd-lime-700); font-weight: 700; text-align: right; }
.rd-ptable tr.is-best { background: var(--rd-lime-50); }
.rd-tag { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: var(--rd-ink-800); color: var(--rd-lime-300); font: 700 11px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; vertical-align: 2px; }
.rd-addons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 560px) { .rd-addons { grid-template-columns: 1fr; } }
.rd-addons li { background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: 16px; padding: 14px 18px; display: grid; }
.rd-addons strong { color: var(--rd-carbon); }
.rd-addons span { color: var(--rd-muted); font-size: 15px; }
.rd-member-strip { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px;
  background: var(--rd-ink-800); color: #fff; border-radius: var(--rd-radius); padding: 18px 24px; box-shadow: 0 4px 0 var(--rd-lime-700); }
.rd-member-strip p { margin: 0; font-size: 18px; }
.rd-member-strip .rd-link { color: #fff; border-bottom-color: var(--rd-lime-300); }

.rd-reviews--two { grid-template-columns: repeat(2, 1fr); max-width: 980px; }
@media (max-width: 760px) { .rd-reviews--two { grid-template-columns: 1fr; } }

.rd-crosses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 860px) { .rd-crosses { grid-template-columns: 1fr; } }
.rd-cross { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); background: #fff; color: var(--rd-carbon); text-decoration: none; transition: border-color .2s, transform .2s; }
.rd-cross:hover { border-color: var(--rd-svc); transform: translateY(-2px); }
.rd-cross__icon { flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: 0 4px 12px rgba(37,42,54,.14); color: var(--rd-svc); }
.rd-cross__icon svg { width: 50px; height: 50px; fill: currentColor; }
.rd-cross strong { display: block; font: 700 20px var(--rd-condensed); text-transform: uppercase; letter-spacing: .03em; }
.rd-cross small { color: var(--rd-muted); font-size: 15px; }
.rd-cross__go { margin-left: auto; font-size: 22px; color: var(--rd-svc); }
.rd-cta-band .rd-fr__cta .rd-btn { width: 100%; }

/* Service-page accent: one splash of the service colour on accordion toggles and price headers.
   --rd-svc = fill, --rd-svc-tint = pale fill, --rd-svc-ink = text-safe shade (≥ 5:1 on white) */
:root {
  --rd-svc-daycare-tint: #FBE8D9;  --rd-svc-daycare-ink: #A2561A;
  --rd-svc-lodging-tint: #ECE6F4;  --rd-svc-lodging-ink: #6A558C;
  --rd-svc-grooming-tint: #D9F0EE; --rd-svc-grooming-ink: #1D6E67;
  --rd-svc-pickup-tint: #E6F2D8;   --rd-svc-pickup-ink: #4D7424;
}
.rd-svcpage--daycare  { --rd-svc: var(--rd-svc-daycare);  --rd-svc-tint: var(--rd-svc-daycare-tint);  --rd-svc-ink: var(--rd-svc-daycare-ink); }
.rd-svcpage--lodging  { --rd-svc: var(--rd-svc-lodging);  --rd-svc-tint: var(--rd-svc-lodging-tint);  --rd-svc-ink: var(--rd-svc-lodging-ink); }
.rd-svcpage--grooming { --rd-svc: var(--rd-svc-grooming); --rd-svc-tint: var(--rd-svc-grooming-tint); --rd-svc-ink: var(--rd-svc-grooming-ink); }
.rd-svcpage--pickup   { --rd-svc: var(--rd-svc-pickup);   --rd-svc-tint: var(--rd-svc-pickup-tint);   --rd-svc-ink: var(--rd-svc-pickup-ink); }

/* Accordion + toggles in the service colour (plus drawn with a mask so it takes any colour) */
.rd-svcpage details.rd-acc summary::after {
  background-color: var(--rd-svc-tint) !important; background-image: none !important;
  box-shadow: inset 0 0 0 30px var(--rd-svc-tint);
}
.rd-svcpage details.rd-acc summary { position: relative; }
.rd-svcpage details.rd-acc summary::before {
  content: ""; position: absolute; right: 22px; top: 50%; width: 30px; height: 30px; margin-top: -15px; z-index: 1;
  background: var(--rd-svc-ink);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 7v10M7 12h10' stroke='black' stroke-width='2.6' stroke-linecap='round'/></svg>") center/20px no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 7v10M7 12h10' stroke='black' stroke-width='2.6' stroke-linecap='round'/></svg>") center/20px no-repeat;
  transition: transform .25s;
}
.rd-svcpage details.rd-acc[open] summary::after { background-color: var(--rd-svc) !important; box-shadow: inset 0 0 0 30px var(--rd-svc); }
.rd-svcpage details.rd-acc[open] summary::before { background: #fff; transform: rotate(45deg); }
.rd-svcpage details.rd-acc summary:hover { color: var(--rd-svc-ink) !important; }

/* Price headers */
.rd-svcpage .rd-ptable caption { color: var(--rd-svc-ink); caption-side: top; }
.rd-svcpage .rd-ptable caption::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 10px; border-radius: 50%; background: var(--rd-svc); vertical-align: 0; }
.rd-svcpage .rd-price-single__item span { color: var(--rd-lime-900); }
.rd-svcpage .rd-addons strong { color: var(--rd-svc-ink); }

@media (max-width: 560px) {
  .rd-ptable th, .rd-ptable td { padding: 10px 10px; font-size: 15px; }
  .rd-ptable caption { padding: 14px 12px 4px; }
  .rd-ptable .rd-tag { display: none; }
  .rd-util__right { display: none; }          /* the sticky Book bar covers this on phones */
  .rd-util .rd-wrap { justify-content: center; }
}

/* =====================================================================
   FRANCHISE PAGE: lime + charcoal only (no service colour except the stream icons)
   ===================================================================== */
.rd-phero--dark { background: var(--rd-ink-800); color: #fff; }
.rd-phero--dark .rd-h1 { color: #fff; }
.rd-phero--dark .rd-lead { color: var(--rd-ink-200); }
.rd-phero__note { margin: 20px 0 0; display: inline-block; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--rd-ink-600);
  font: 700 14px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-lime-300); }

.rd-streams { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 960px) { .rd-streams { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rd-streams { grid-template-columns: 1fr; } }
.rd-streams li { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); background: #fff; }
.rd-streams p { margin: 0; color: var(--rd-muted); }
.rd-streams .rd-cross__icon { color: var(--rd-svc); }
.rd-stream__dot { flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--rd-lime-100);
  color: var(--rd-lime-700); font: 400 30px var(--rd-display); }

.rd-path { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; counter-reset: path; position: relative; }
.rd-path::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 3px; background: var(--rd-lime-100); }
.rd-path li { position: relative; padding-top: 62px; counter-increment: path; }
.rd-path li::before { content: counter(path); position: absolute; top: 0; left: 0; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  background: var(--rd-ink-800); color: var(--rd-lime-300); font: 400 22px var(--rd-display); box-shadow: 0 0 0 6px #fff; }
.rd-path li:last-child::before { background: var(--rd-lime-500); color: var(--rd-ink-900); }
.rd-path p { margin: 0; color: var(--rd-muted); font-size: 16px; }
@media (max-width: 1000px) { .rd-path { grid-template-columns: 1fr 1fr 1fr; row-gap: 28px; } .rd-path::before { display: none; } }
@media (max-width: 600px) { .rd-path { grid-template-columns: 1fr; } .rd-path li { padding: 4px 0 0 66px; min-height: 48px; } }

.rd-invest__figure { background: var(--rd-ink-800); color: #fff; border-radius: var(--rd-radius); padding: 24px 26px; margin: 8px 0 16px; display: grid; gap: 4px; box-shadow: 0 4px 0 var(--rd-lime-700); }
.rd-invest__figure span { font: 700 14px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-lime-300); }
.rd-invest__figure strong { font: 400 clamp(40px, 5vw, 60px)/1 var(--rd-display); }
.rd-invest__figure small { color: var(--rd-ink-200); font-size: 15px; }
.rd-invest p { color: var(--rd-muted); }
.rd-traits { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-traits li { padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--rd-lime-200); font: 700 17px var(--rd-condensed); letter-spacing: .03em; text-transform: uppercase; color: var(--rd-carbon); }

.rd-inquire { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 900px) { .rd-inquire { grid-template-columns: 1fr; } }
.rd-next { list-style: none; margin: 8px 0 20px; padding: 0; display: grid; gap: 14px; counter-reset: nx; }
.rd-next li { counter-increment: nx; display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; }
.rd-next li::before { content: counter(nx); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--rd-lime-100); color: var(--rd-lime-900); font-weight: 700; }
.rd-next strong { color: var(--rd-carbon); }
.rd-next span { color: var(--rd-muted); }
.rd-inquire__phone { font-size: 18px; }
.rd-inquire__phone a { color: var(--rd-carbon); font-weight: 700; }
.rd-legal { margin: 32px 0 0; padding-top: 18px; border-top: 1px solid var(--rd-cloud-200); color: var(--rd-muted); font-size: 13px; line-height: 1.5; max-width: 90ch; }

/* Leadership: five across on desktop, wraps evenly (3 + 2, centred) on smaller screens */
.rd-leaders { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 20px; }
.rd-leaders li { flex: 0 1 calc((100% - 80px) / 5); min-width: 170px; text-align: center; }
.rd-leaders p { margin: 0; color: var(--rd-muted); }
.rd-leader__ph { display: grid; place-items: center; width: 100%; max-width: 180px; aspect-ratio: 1; margin: 0 auto 14px; border-radius: 50%;
  background: var(--rd-lime-100); color: var(--rd-lime-700); font: 400 clamp(34px, 3.4vw, 46px) var(--rd-display); box-shadow: inset 0 0 0 6px #fff, 0 0 0 1px var(--rd-lime-200); }
@media (max-width: 1000px) { .rd-leaders li { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 560px) { .rd-leaders li { flex-basis: calc((100% - 20px) / 2); min-width: 0; } }

/* Path to ownership: three phases, every step marker identical */
.rd-phases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; position: relative; }
.rd-phase { position: relative; display: flex; flex-direction: column; background: var(--rd-cloud-100); border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 26px 24px 22px; }
.rd-phase + .rd-phase::before { content: ""; position: absolute; left: -30px; top: 42px; width: 24px; height: 24px;
  background: var(--rd-lime-700);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat; }
.rd-phase__label { margin: 0; font: 700 13px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-lime-700); }
.rd-phase .rd-h3 { font-size: 30px; margin: 2px 0 4px; }
.rd-phase__blurb { margin: 0 0 16px; color: var(--rd-muted); }
.rd-phase__steps { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 14px; }
.rd-phase__steps li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; }
.rd-phase__num { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--rd-ink-800); color: var(--rd-lime-300); font: 400 18px var(--rd-display); }
.rd-phase__steps h4 { margin: 6px 0 2px; font: 700 18px var(--rd-condensed); letter-spacing: .02em; text-transform: uppercase; color: var(--rd-carbon); }
.rd-phase__steps p { margin: 0; color: var(--rd-muted); font-size: 15px; line-height: 1.5; }
.rd-phase__out { margin: auto 0 0; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--rd-lime-200); font-weight: 700; color: var(--rd-carbon); }
.rd-phase__out span { display: block; font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-lime-700); margin-bottom: 2px; }
@media (max-width: 960px) {
  .rd-phases { grid-template-columns: 1fr; gap: 40px; }
  .rd-phase + .rd-phase::before { left: 50%; top: -32px; transform: translateX(-50%) rotate(90deg); }
}
.rd-leader__photo { display: block; width: 100%; max-width: 180px; aspect-ratio: 1; margin: 0 auto 14px; border-radius: 50%; object-fit: cover; object-position: 50% 38%;
  box-shadow: inset 0 0 0 6px #fff, 0 0 0 1px var(--rd-lime-200); border: 6px solid #fff; outline: 1px solid var(--rd-lime-200); }
/* Headshots from different shoots: black & white keeps the set consistent */
.rd-leader__photo { filter: grayscale(1) contrast(1.08) brightness(1.02); }


/* =====================================================================
   LODGING PAGE (purple splash via .rd-svcpage--lodging)
   ===================================================================== */
.rd-suites { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
@media (max-width: 960px) { .rd-suites { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; } }
.rd-suite { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); overflow: hidden; }
.rd-suite.is-top { border-color: var(--rd-svc); box-shadow: 0 0 0 1px var(--rd-svc); }
.rd-suite__img { aspect-ratio: 3 / 2; overflow: hidden; }
.rd-suite__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-suite__body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rd-suite__tag { margin: 0; align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: var(--rd-svc-tint); color: var(--rd-svc-ink); font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; }
.rd-suite .rd-h3 { margin: 0; color: var(--rd-svc-ink); }
.rd-suite__meta { margin: 0; color: var(--rd-muted); font-weight: 600; }
.rd-suite__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 6px; }
.rd-suite__prices div { background: var(--rd-cloud-100); border-radius: 14px; padding: 12px 14px; display: grid; }
.rd-suite__prices span { font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-suite__prices strong { font: 400 34px/1.05 var(--rd-display); color: var(--rd-carbon); }
.rd-suite__prices small { color: var(--rd-muted); font-size: 13px; }
.rd-suite .rd-checklist { margin-top: 4px; }

.rd-menus { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) { .rd-menus { grid-template-columns: 1fr; } }
.rd-menu th { font-weight: 600; color: var(--rd-carbon); white-space: normal; }
.rd-menu td { text-align: right; font-weight: 700; color: var(--rd-carbon); }
.rd-policy th { width: 38%; color: var(--rd-carbon); white-space: normal; font-weight: 700; vertical-align: top; }
.rd-policy td { white-space: normal; color: var(--rd-muted); font-weight: 400 !important; }

.rd-safety { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 900px) { .rd-safety { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rd-safety { grid-template-columns: 1fr; } }
.rd-safety li { background: var(--rd-ink-600); border-radius: var(--rd-radius); padding: 22px; display: grid; gap: 6px; }
.rd-safety strong { font: 400 30px/1 var(--rd-display); color: var(--rd-lime-300); }
.rd-safety span { color: var(--rd-ink-50); }
.rd-safety__note { margin: 22px 0 0; max-width: 80ch; color: var(--rd-ink-200); font-size: 15px; }

/* =====================================================================
   SERVICE-COLOURED BUTTONS
   Filled with the service colour at rest (dark text: 5.4–6.8:1),
   white with a service-colour outline and text on hover (5.4–6.4:1).
   Applies to booking buttons on service pages and the homepage service cards.
   Site-wide buttons (header Book Now, phone action bar) stay lime.
   ===================================================================== */
.rd-card--daycare  { --rd-svc-ink: var(--rd-svc-daycare-ink); }
.rd-card--lodging  { --rd-svc-ink: var(--rd-svc-lodging-ink); }
.rd-card--grooming { --rd-svc-ink: var(--rd-svc-grooming-ink); }
.rd-card--pickup   { --rd-svc-ink: var(--rd-svc-pickup-ink); }

.rd-svcpage .rd-btn--primary,
.rd-svcpage .rd-btn--dark,
.rd-card .rd-card__actions .rd-btn--dark {
  background: var(--rd-svc);
  color: var(--rd-ink-900) !important;
  border: 2px solid var(--rd-svc);
  box-shadow: 0 3px 0 var(--rd-svc-ink);
}
.rd-svcpage .rd-btn--primary:hover, .rd-svcpage .rd-btn--primary:focus-visible,
.rd-svcpage .rd-btn--dark:hover, .rd-svcpage .rd-btn--dark:focus-visible,
.rd-card .rd-card__actions .rd-btn--dark:hover, .rd-card .rd-card__actions .rd-btn--dark:focus-visible {
  background: #fff;
  color: var(--rd-svc-ink) !important;
  border-color: var(--rd-svc);
  box-shadow: 0 3px 0 var(--rd-svc);
}

/* Button shade of each service colour: the lightest shade that carries WHITE text at ≥ 4.6:1 */
:root { --rd-svc-daycare-btn: #B55C16; --rd-svc-lodging-btn: #8566AD; --rd-svc-grooming-btn: #22827A; --rd-svc-pickup-btn: #557F28; }
.rd-svcpage--daycare, .rd-card--daycare   { --rd-svc-btn: var(--rd-svc-daycare-btn); }
.rd-svcpage--lodging, .rd-card--lodging   { --rd-svc-btn: var(--rd-svc-lodging-btn); }
.rd-svcpage--grooming, .rd-card--grooming { --rd-svc-btn: var(--rd-svc-grooming-btn); }
.rd-svcpage--pickup, .rd-card--pickup     { --rd-svc-btn: var(--rd-svc-pickup-btn); }

.rd-svcpage .rd-btn--primary,
.rd-svcpage .rd-btn--dark,
.rd-card .rd-card__actions .rd-btn--dark {
  background: var(--rd-svc-btn);
  border-color: var(--rd-svc-btn);
  color: #fff !important;
  box-shadow: 0 3px 0 var(--rd-svc-ink);
}
.rd-svcpage .rd-btn--primary:hover, .rd-svcpage .rd-btn--primary:focus-visible,
.rd-svcpage .rd-btn--dark:hover, .rd-svcpage .rd-btn--dark:focus-visible,
.rd-card .rd-card__actions .rd-btn--dark:hover, .rd-card .rd-card__actions .rd-btn--dark:focus-visible {
  background: #fff;
  border-color: var(--rd-svc-btn);
  color: var(--rd-svc-btn) !important;
  box-shadow: 0 3px 0 var(--rd-svc-btn);
}

/* Invisible bridge over the gap between a nav item and its dropdown, so moving the
   pointer down to the menu never counts as leaving it */
@media (min-width: 1025px) {
  .rd-nav__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
}

/* =====================================================================
   GROOMING PAGE (teal splash via .rd-svcpage--grooming)
   ===================================================================== */
.rd-sizes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); overflow: hidden; }
.rd-sizes li { padding: 18px 16px; display: grid; gap: 2px; border-left: 1px solid var(--rd-cloud-200); background: #fff; }
.rd-sizes li:first-child { border-left: 0; }
.rd-sizes strong { font: 700 19px var(--rd-condensed); text-transform: uppercase; letter-spacing: .03em; color: var(--rd-svc-ink); }
.rd-sizes span { color: var(--rd-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 860px) { .rd-sizes { grid-template-columns: repeat(3, 1fr); } .rd-sizes li:nth-child(4) { border-left: 0; } .rd-sizes li:nth-child(n+4) { border-top: 1px solid var(--rd-cloud-200); } }
@media (max-width: 480px) { .rd-sizes { grid-template-columns: 1fr 1fr; } .rd-sizes li:nth-child(odd) { border-left: 0; } .rd-sizes li:nth-child(4) { border-left: 1px solid var(--rd-cloud-200); } .rd-sizes li:nth-child(n+3) { border-top: 1px solid var(--rd-cloud-200); } }

.rd-pkgs { display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 960px) { .rd-pkgs { grid-template-columns: 1fr; } }
.rd-pkg-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .rd-pkg-cards { grid-template-columns: 1fr; } }
.rd-pkg { background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.rd-pkg > p { margin: 0; color: var(--rd-muted); }
.rd-pkg .rd-h3 { margin: 0; color: var(--rd-svc-ink); }
.rd-pkg--top { border-color: var(--rd-svc); box-shadow: 0 0 0 1px var(--rd-svc); }
.rd-pkg--top .rd-suite__tag { align-self: flex-start; }
.rd-matrix th small { display: block; font-weight: 400; color: var(--rd-muted); font-size: 13px; }
.rd-matrix tbody th { color: var(--rd-carbon); font-weight: 700; }
.rd-matrix td { font-weight: 700; color: var(--rd-carbon); }
.rd-matrix thead th:nth-child(3), .rd-matrix td:nth-child(3) { background: var(--rd-svc-tint); }
.rd-pkg-extra { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) { .rd-pkg-extra { grid-template-columns: 1fr; } }
.rd-pkg__prices { list-style: none; margin: auto 0 0; padding: 12px 0 0; border-top: 1px dashed var(--rd-cloud-200); display: flex; flex-wrap: wrap; gap: 10px 22px; }
.rd-pkg__prices li { display: grid; }
.rd-pkg__prices span { font: 700 12px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-pkg__prices strong { font: 400 28px/1.1 var(--rd-display); color: var(--rd-carbon); }

.rd-mb { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
@media (max-width: 860px) { .rd-mb { grid-template-columns: 1fr; } }
.rd-mb p { color: var(--rd-muted); }
.rd-mb__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rd-mb__item { background: var(--rd-svc-tint); border-radius: var(--rd-radius); padding: 20px; display: grid; gap: 4px; }
.rd-mb__item span { font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-svc-ink); }
.rd-mb__item strong { font: 400 38px/1 var(--rd-display); color: var(--rd-carbon); }
.rd-mb__item small { color: var(--rd-muted); font-size: 14px; }
.rd-mb__item--pkg { grid-column: 1 / -1; background: var(--rd-ink-800); }
.rd-mb__item--pkg span { color: var(--rd-lime-300); }
.rd-mb__item--pkg strong { color: #fff; }
.rd-mb__item--pkg small { color: var(--rd-ink-200); }

.rd-grid-stack { display: grid; gap: 16px; }
.rd-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rd-strip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rd-radius); display: block; }
@media (max-width: 700px) { .rd-strip { grid-template-columns: 1fr; } }

/* =====================================================================
   PRICING PAGE: one section per service, each in its own colour
   ===================================================================== */
.rd-phero--compact { padding: clamp(40px, 6vw, 72px) 0 clamp(28px, 4vw, 48px); }
.rd-phero--compact .rd-h1 { font-size: clamp(40px, 5.4vw, 68px); }

.rd-tabs--dots a { display: inline-flex; align-items: center; gap: 8px; }
.rd-tabs--dots a::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--dot, var(--rd-lime-500)); flex: none; }
.rd-dot--daycare  { --dot: var(--rd-svc-daycare); }
.rd-dot--lodging  { --dot: var(--rd-svc-lodging); }
.rd-dot--grooming { --dot: var(--rd-svc-grooming); }
.rd-dot--pickup   { --dot: var(--rd-svc-pickup); }
.rd-dot--member   { --dot: var(--rd-svc-member); }
.rd-dot--visit    { --dot: var(--rd-ink-600); }
.rd-tabs--dots a:hover::before, .rd-tabs--dots a.is-active::before { box-shadow: 0 0 0 2px #fff; }

.rd-psec { scroll-margin-top: 170px; }
.rd-psec__head { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; flex-wrap: wrap; }
.rd-psec__head .rd-h2 { margin: 0; }
.rd-psec__head .rd-eyebrow { margin-bottom: 4px; }
.rd-psec__head .rd-cross__icon { color: var(--rd-svc); width: 72px; height: 72px; }
.rd-psec__head .rd-cross__icon svg { width: 56px; height: 56px; }
.rd-psec__head .rd-link { margin-left: auto; border-bottom-color: var(--rd-svc); }
.rd-psec__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.rd-psec__grid--two { grid-template-columns: 1fr 1fr; }
@media (max-width: 1000px) { .rd-psec__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .rd-psec__grid, .rd-psec__grid--two { grid-template-columns: 1fr; } }
.rd-psec .rd-price-single { grid-template-columns: 1fr; }
.rd-psec__note { margin: 16px 0 0; color: var(--rd-muted); font-size: 15px; }
.rd-ptable td small { display: block; font-weight: 400; color: var(--rd-muted); font-size: 13px; }
.rd-menu td { vertical-align: top; }

.rd-example { background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 22px; }
.rd-example__label { margin: 0; display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--rd-svc-tint); color: var(--rd-svc-ink); font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; }
.rd-example__q { margin: 10px 0 12px; font-weight: 700; color: var(--rd-carbon); font-size: 18px; }
.rd-example__math { list-style: none; margin: 0; padding: 0; display: grid; font-variant-numeric: tabular-nums; }
.rd-example__math li { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--rd-cloud-100); color: var(--rd-muted); }
.rd-example__math b { color: var(--rd-carbon); }
.rd-example__math li.is-total { border-bottom: 0; border-top: 2px solid var(--rd-svc); margin-top: 4px; font-weight: 700; color: var(--rd-carbon); }
.rd-example__math li.is-total b { font: 400 26px var(--rd-display); color: var(--rd-svc-ink); }
.rd-example__hours { margin: 14px 0 0; color: var(--rd-muted); font-size: 15px; }

.rd-perks { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.rd-perks li { position: relative; padding-left: 30px; font-weight: 600; color: var(--rd-carbon); }
.rd-perks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--rd-ink-800) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%23B1D600' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/14px no-repeat; }

/* =====================================================================
   MEMBERSHIP PAGE (lime + charcoal; membership spans every service)
   ===================================================================== */
.rd-mcard-wrap { display: grid; place-items: center; padding: 20px 0; }
.rd-mcard { width: min(420px, 100%); aspect-ratio: 1.586; border-radius: 22px; padding: 26px 28px; display: flex; flex-direction: column;
  background: var(--rd-ink-800); color: #fff; box-shadow: 0 24px 50px rgba(24,28,36,.28), 0 0 0 1px var(--rd-ink-600) inset;
  transform: rotate(-4deg); position: relative; overflow: hidden; }
.rd-mcard::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: var(--rd-lime-500); opacity: .16; }
.rd-mcard__top { display: flex; justify-content: space-between; align-items: center; }
.rd-mcard__mark { width: 44px; height: 48px; fill: var(--rd-lime-300); }
.rd-mcard__tier { padding: 5px 12px; border-radius: 999px; background: var(--rd-lime-500); color: var(--rd-ink-900); font: 700 13px var(--rd-condensed); letter-spacing: .14em; text-transform: uppercase; }
.rd-mcard__brand { margin: auto 0 2px; font: 400 26px/1 var(--rd-display); color: #fff; }
.rd-mcard__name { margin: 0 0 14px; font: 700 15px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-lime-200); }
.rd-mcard__foot { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--rd-ink-200); border-top: 1px solid var(--rd-ink-600); padding-top: 10px; }
@media (prefers-reduced-motion: no-preference) { .rd-mcard { transition: transform .4s ease; } .rd-mcard-wrap:hover .rd-mcard { transform: rotate(0deg) translateY(-4px); } }

.rd-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 820px; margin: 0 auto; }
@media (max-width: 680px) { .rd-plans { grid-template-columns: 1fr; } }
.rd-plan { position: relative; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 30px 28px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.rd-plan--best { background: var(--rd-lime-50); border-color: var(--rd-lime-500); box-shadow: 0 0 0 1px var(--rd-lime-500); }
.rd-plan__flag { position: absolute; top: -13px; right: 22px; margin: 0; padding: 4px 12px; border-radius: 999px; background: var(--rd-ink-800); color: var(--rd-lime-300); font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; }
.rd-plan__price { margin: 4px 0 0; display: flex; align-items: baseline; gap: 6px; }
.rd-plan__price strong { font: 400 clamp(48px, 5vw, 64px)/1 var(--rd-display); color: var(--rd-carbon); }
.rd-plan__price span { color: var(--rd-muted); font-weight: 600; }
.rd-plan__net { margin: 0 0 12px; color: var(--rd-muted); }
.rd-plan .rd-btn { margin-top: auto; }

.rd-perkgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 960px) { .rd-perkgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rd-perkgrid { grid-template-columns: 1fr; } }
.rd-perkgrid li { background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 24px; display: grid; gap: 6px; align-content: start; }
.rd-perkgrid strong { font: 400 34px/1 var(--rd-display); color: var(--rd-lime-700); }
.rd-perkgrid .rd-h3 { margin: 4px 0 0; }
.rd-perkgrid p { margin: 0; color: var(--rd-muted); }

.rd-calc { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: start; }
@media (max-width: 900px) { .rd-calc { grid-template-columns: 1fr; } }
.rd-calc__inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; background: var(--rd-cloud-100); border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 26px; }
@media (max-width: 600px) { .rd-calc__inputs { grid-template-columns: 1fr; } }
.rd-calc__field { display: grid; gap: 10px; align-content: start; }
.rd-calc__field label, .rd-calc__label { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; color: var(--rd-carbon); }
.rd-calc__field output { font: 400 24px var(--rd-display); color: var(--rd-lime-700); min-width: 2ch; text-align: right; }
.rd-calc input[type=range] { width: 100%; accent-color: var(--rd-lime-600); height: 28px; }
.rd-calc select { min-height: 46px; border-radius: 12px; border: 1px solid #C9CDD2; padding: 8px 12px; font: 16px var(--rd-body); background: #fff; }
.rd-seg { display: flex; gap: 6px; background: #fff; border: 1px solid #C9CDD2; border-radius: 12px; padding: 4px; }
.rd-seg label { flex: 1; justify-content: center; padding: 8px 10px; border-radius: 9px; cursor: pointer; font-weight: 600 !important; }
.rd-seg input { position: absolute; opacity: 0; pointer-events: none; }
.rd-seg label:has(input:checked) { background: var(--rd-ink-800); color: #fff; }
.rd-seg label:has(input:focus-visible) { outline: 3px solid var(--rd-lime-500); outline-offset: 2px; }
.rd-calc__result { background: var(--rd-ink-800); color: #fff; border-radius: var(--rd-radius); padding: 28px; display: grid; gap: 10px; position: sticky; top: 120px; box-shadow: 0 4px 0 var(--rd-lime-700); }
.rd-calc__kicker { margin: 0; font: 700 13px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-lime-300); }
.rd-calc__spend { margin: 0; font-size: 18px; color: var(--rd-ink-200); }
.rd-calc__spend b { color: #fff; font-variant-numeric: tabular-nums; }
.rd-calc__rows { margin: 4px 0; display: grid; font-variant-numeric: tabular-nums; }
.rd-calc__rows div { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--rd-ink-600); }
.rd-calc__rows dt { color: var(--rd-ink-200); }
.rd-calc__rows dd { margin: 0; font-weight: 700; }
.rd-calc__net { margin: 6px 0 0; display: grid; gap: 2px; }
.rd-calc__net span { color: var(--rd-ink-200); }
.rd-calc__net strong { font: 400 clamp(44px, 5vw, 60px)/1 var(--rd-display); color: #F2B8A0; font-variant-numeric: tabular-nums; }
.rd-calc.is-ahead .rd-calc__net strong { color: var(--rd-lime-300); }
.rd-calc__net small { color: var(--rd-ink-200); }
.rd-calc__alt { margin: 0; color: var(--rd-ink-200); }
.rd-calc__alt b { color: #fff; }
.rd-calc__result .rd-btn { justify-self: start; margin-top: 6px; }
.rd-calc__fine { margin: 4px 0 0; font-size: 12px; color: var(--rd-ink-400); line-height: 1.45; }

/* =====================================================================
   NEW CUSTOMERS PAGE
   ===================================================================== */
.rd-picks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 960px) { .rd-picks { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rd-picks { grid-template-columns: 1fr; } }
.rd-pick { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 22px; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius);
  background: #fff; color: var(--rd-carbon); text-decoration: none; transition: border-color .2s, transform .2s; }
.rd-pick:hover { border-color: var(--rd-svc); transform: translateY(-2px); }
.rd-pick .rd-cross__icon { color: var(--rd-svc); margin-bottom: 10px; }
.rd-pick__need { font: 400 22px/1.15 var(--rd-display); color: var(--rd-carbon); }
.rd-pick strong { font: 700 16px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-svc-ink); }
.rd-pick small { color: var(--rd-muted); font-size: 15px; }
.rd-pick__go { position: absolute; right: 20px; top: 22px; font-size: 22px; color: var(--rd-svc); }

.rd-pup { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 900px) { .rd-pup { grid-template-columns: 1fr; } }
.rd-pup__intro img { width: 100%; max-width: 380px; aspect-ratio: 1; object-fit: cover; object-position: 50% 62%; border-radius: 200px 200px var(--rd-radius) var(--rd-radius); display: block; margin-top: 8px; }
.rd-pup__cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.rd-pup__cards > li { display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 22px; }
.rd-pup__cards .rd-cross__icon { color: var(--rd-svc); }
.rd-pup__cards p { margin: 0 0 10px; color: var(--rd-muted); }
.rd-pup__cards .rd-h3 { margin-bottom: 6px; }
.rd-pup__cards .rd-link { border-bottom-color: var(--rd-svc, var(--rd-lime)); }
.rd-pup__cards .rd-checklist { margin-top: 6px; }

.rd-steps--four { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px) { .rd-steps--four { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rd-steps--four { grid-template-columns: 1fr; } }

.rd-ready { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
@media (max-width: 1000px) { .rd-ready { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rd-ready { grid-template-columns: 1fr; } }
.rd-vax { list-style: none; margin: 8px 0 12px; padding: 0; display: grid; gap: 8px; }
.rd-vax li { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 14px; border-radius: 12px; background: var(--rd-lime-50); border: 1px solid var(--rd-lime-100); }
.rd-vax strong { color: var(--rd-carbon); }
.rd-vax span { color: var(--rd-muted); font-size: 14px; }
.rd-ready__note { margin: 0; color: var(--rd-muted); font-size: 15px; }
.rd-panel--dark { background: var(--rd-ink-800); border-color: var(--rd-ink-800); color: var(--rd-ink-50); }
.rd-panel--dark .rd-checklist li { color: var(--rd-ink-50); }

/* Puppy 101: four guide cards (socialization, vaccinations, grooming, boarding) */
.rd-pup { grid-template-columns: .7fr 1.3fr; }
.rd-p101 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) { .rd-p101 { grid-template-columns: 1fr; } }
.rd-p101__card { background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.rd-p101__card .rd-cross__icon { color: var(--rd-svc); width: 58px; height: 58px; }
.rd-p101__card .rd-cross__icon svg { width: 44px; height: 44px; }
.rd-p101__card .rd-stream__dot { width: 58px; height: 58px; font-size: 26px; }
.rd-p101__card .rd-h3 { margin: 4px 0 0; }
.rd-p101__why { margin: 0; color: var(--rd-carbon); font-weight: 600; line-height: 1.45; }
.rd-p101__tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.rd-p101__tips li { position: relative; padding-left: 20px; color: var(--rd-muted); font-size: 15px; line-height: 1.45; }
.rd-p101__tips li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-svc, var(--rd-lime-500)); }
.rd-p101__help { margin: auto 0 0; padding-top: 12px; border-top: 1px dashed var(--rd-cloud-200); font-size: 15px; color: var(--rd-muted); line-height: 1.45; }
.rd-p101__help b { color: var(--rd-carbon); }
.rd-p101__help a { color: var(--rd-svc-ink, var(--rd-lime-700)); font-weight: 700; white-space: nowrap; }
.rd-p101__help a::after { content: " →"; }
.rd-p101__note { margin: 20px 0 0; color: var(--rd-muted); font-size: 14px; }

/* Paws Pickup: single sponsor credit instead of repeated ad copy */
.rd-sponsor { margin-top: 24px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 20px; border: 1px dashed var(--rd-cloud-200); border-radius: var(--rd-radius); }
.rd-sponsor__label { font: 700 12px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-sponsor p { margin: 0; color: var(--rd-muted); }
.rd-sponsor a { color: var(--rd-carbon); }

/* =====================================================================
   LOCATIONS PAGE
   ===================================================================== */
.rd-lochero { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.rd-loccount { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; }
.rd-loccount li { min-width: 120px; padding: 16px 20px; border-radius: var(--rd-radius); background: var(--rd-ink-800); color: #fff; display: grid; }
.rd-loccount strong { font: 400 44px/1 var(--rd-display); color: var(--rd-lime-300); }
.rd-loccount span { font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-200); }
.rd-loccount .is-soon { background: #fff; border: 2px dashed var(--rd-lime-500); color: var(--rd-carbon); }
.rd-loccount .is-soon strong { color: var(--rd-lime-700); }
.rd-loccount .is-soon span { color: var(--rd-muted); }

.rd-flag { display: grid; grid-template-columns: .8fr 1.2fr; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); overflow: hidden; box-shadow: var(--rd-shadow); }
@media (max-width: 860px) { .rd-flag { grid-template-columns: 1fr; } }
.rd-flag__media { position: relative; min-height: 320px; }
.rd-flag__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-flag__badge { position: absolute; left: 16px; top: 16px; margin: 0; }
.rd-flag__body { padding: clamp(24px, 3vw, 36px); display: grid; gap: 12px; align-content: start; }
.rd-flag__body .rd-h2 { margin: 0; }
.rd-flag__body .rd-contact-list { margin: 0; }
.rd-flag__label { margin: 8px 0 0; font: 700 13px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-flag__svcs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-flag__svcs a { display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px 4px 4px; border-radius: 999px; border: 1px solid var(--rd-cloud-200); color: var(--rd-carbon); text-decoration: none; font: 700 16px var(--rd-condensed); letter-spacing: .03em; text-transform: uppercase; }
.rd-flag__svcs a:hover { border-color: var(--rd-svc); }
.rd-flag__svcs .rd-cross__icon { width: 36px; height: 36px; box-shadow: none; color: var(--rd-svc); }
.rd-flag__svcs .rd-cross__icon svg { width: 30px; height: 30px; }
.rd-flag .rd-hours { margin: 0; font-size: 15px; }
.rd-flag__facts { list-style: none; margin: 6px 0 4px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media (max-width: 560px) { .rd-flag__facts { grid-template-columns: 1fr 1fr; } }
.rd-flag__facts li { background: var(--rd-lime-50); border: 1px solid var(--rd-lime-100); border-radius: 14px; padding: 10px 12px; display: grid; }
.rd-flag__facts strong { font: 400 22px/1.1 var(--rd-display); color: var(--rd-carbon); }
.rd-flag__facts span { font-size: 13px; color: var(--rd-muted); }
.rd-flag__map { margin-top: 20px; border-radius: var(--rd-radius); overflow: hidden; border: 1px solid var(--rd-cloud-200); height: 320px; background: var(--rd-cloud-100); }
.rd-flag__map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* =====================================================================
   MULTI-LOCATION: picker, sample badge, card grid, profiles
   ===================================================================== */
.rd-locpick { position: relative; }
.rd-loc { background: none; border: 0; padding: 0; color: #fff; font: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.rd-loc:hover u { color: #fff; }
.rd-locmenu { position: absolute; left: 0; top: calc(100% + 8px); z-index: 1100; min-width: 280px; list-style: none; margin: 0; padding: 8px;
  background: #fff; border-radius: 16px; box-shadow: var(--rd-shadow), 0 0 0 1px var(--rd-cloud-200); }
.rd-locmenu[hidden] { display: none; }
.rd-locmenu button { width: 100%; text-align: left; display: grid; gap: 2px; padding: 10px 12px; border: 0; border-radius: 10px; background: none; cursor: pointer;
  font: 700 17px var(--rd-condensed); letter-spacing: .02em; color: var(--rd-carbon); }
.rd-locmenu button small { font: 400 13px var(--rd-body); color: var(--rd-muted); letter-spacing: 0; }
.rd-locmenu button:hover { background: var(--rd-cloud-100); }
.rd-locmenu button[aria-current="true"] { background: var(--rd-lime-50); box-shadow: inset 3px 0 0 var(--rd-lime-500); }
.rd-locmenu__all { display: block; padding: 10px 12px; margin-top: 4px; border-top: 1px solid var(--rd-cloud-100); color: var(--rd-lime-700) !important; font-weight: 700; }

.rd-badge--sample { background: #FFF4D6; border-color: #E3C46A; color: #6B4E00; }

.rd-locs--multi { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.rd-loc-card--compact { grid-template-columns: 1fr; }
.rd-loc-card--compact .rd-hours th { width: 32%; }
.rd-loc-card.is-sample { border-style: dashed; }

.rd-flags { display: grid; gap: 28px; }
.rd-flag--flip { grid-template-columns: 1.2fr .8fr; }
.rd-flag--flip .rd-flag__media { order: 2; }
@media (max-width: 860px) { .rd-flag--flip { grid-template-columns: 1fr; } .rd-flag--flip .rd-flag__media { order: 0; } }
.rd-flags .rd-flag__map { margin-top: -8px; margin-bottom: 20px; }
.rd-flag__map--ph { display: grid; place-items: center; border-style: dashed; color: var(--rd-muted); }
.rd-flag__map--ph p { margin: 0; }

/* =====================================================================
   LOCATION CATALOG: equal compact cards (Locations page + homepage)
   ===================================================================== */
.rd-lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; align-items: stretch; }
.rd-lcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); overflow: hidden; box-shadow: var(--rd-shadow); }
.rd-lcard.is-sample { border-style: dashed; border-color: #E3C46A; }
.rd-lcard__img { position: relative; aspect-ratio: 16 / 9; background: var(--rd-cloud-100); }
.rd-lcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-lcard__badge { position: absolute; left: 12px; top: 12px; margin: 0; }
.rd-lcard__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.rd-lcard .rd-h3 { margin: 0 0 2px; }
.rd-lcard__addr, .rd-lcard__phone { margin: 0; font-size: 15px; color: var(--rd-muted); }
.rd-lcard__addr a, .rd-lcard__phone a { color: var(--rd-carbon); }
.rd-lcard__svcs { list-style: none; margin: 6px 0 2px; padding: 0; display: flex; gap: 6px; }
.rd-lcard__svcs .rd-cross__icon { width: 34px; height: 34px; color: var(--rd-svc); box-shadow: 0 0 0 1px var(--rd-cloud-200); }
.rd-lcard__svcs .rd-cross__icon svg { width: 28px; height: 28px; }
details.rd-lcard__hours { margin: 4px 0 0 !important; border-top: 1px solid var(--rd-cloud-100); outline: none !important; background: transparent !important; border-radius: 0 !important; }
details.rd-lcard__hours summary { list-style: none; cursor: pointer; padding: 10px 0 !important; margin: 0 !important; background: transparent !important; color: var(--rd-carbon) !important;
  font: 700 15px var(--rd-condensed) !important; letter-spacing: .08em; text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; border-radius: 0; outline: none !important; }
details.rd-lcard__hours summary::-webkit-details-marker { display: none; }
details.rd-lcard__hours summary::after { content: "" !important; mask: none !important; -webkit-mask: none !important; position: static !important; width: 10px !important; height: 10px !important;
  background: none !important; border-right: 2px solid var(--rd-carbon); border-bottom: 2px solid var(--rd-carbon); transform: rotate(45deg) !important; margin-top: -4px; transition: transform .2s; }
details.rd-lcard__hours[open] summary::after { transform: rotate(-135deg) !important; margin-top: 4px; }
details.rd-lcard__hours[open] { border: 0 !important; border-top: 1px solid var(--rd-cloud-100) !important; }
details.rd-lcard__hours > :not(summary) { padding: 0 !important; color: var(--rd-muted) !important; }
.rd-lcard__hours .rd-hours { font-size: 14px; margin: 0 0 6px; }
.rd-lcard__hours .rd-hours th { font-size: 14px; }
.rd-lcard__actions { margin-top: auto; padding-top: 10px; display: flex; align-items: center; gap: 10px; }
.rd-lcard__actions .rd-btn { margin: 0; }
.rd-lcard__nomap { font-size: 13px; color: var(--rd-muted); }
.rd-lcard--next { background: var(--rd-ink-800); border-color: var(--rd-ink-800); padding: 22px; gap: 8px; }
.rd-lcard--next p { margin: 0; color: var(--rd-ink-50); }
.rd-lcard--next .rd-badge { align-self: flex-start; }
.rd-lcard--next .rd-form { margin-top: auto; gap: 10px; }
.rd-lcard__img { overflow: hidden; }
.rd-lcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.rd-lcard__inside { margin: -2px 0 2px; display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: var(--rd-cloud-100); font: 700 13px var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-muted); }
.rd-lcard__inside a { color: var(--rd-carbon); }
.rd-lcard__ph { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; background: var(--rd-cloud-100); border-bottom: 1px dashed var(--rd-cloud-200); color: var(--rd-ink-400); }
.rd-lcard__ph svg { width: 40px; height: 40px; }
.rd-lcard__ph span { font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; }

/* Paws & Pints service badges on a location card: same scallop + scale, Charcoal Blue fill, white brand glyph */
.rd-lcard__svcs li { list-style: none; }
.rd-ppbadge { position: relative; color: var(--rd-ink-600); }
.rd-ppbadge .rd-scallop { width: 28px; height: 28px; display: block; }
.rd-ppbadge img { position: absolute; left: 50%; top: 50%; width: 15px; height: 15px; transform: translate(-50%, -50%); object-fit: contain; }
.rd-lcard__pp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 2px; }
.rd-lcard__pplabel { font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lcard__pp .rd-lcard__svcs { margin: 0; }

/* ---- Locations: finder (search + state chips) and state-grouped catalog ---- */
.rd-lochero .rd-lead { max-width: 58ch; }
.rd-finder { display: grid; gap: 14px; margin-top: 22px; max-width: 760px; }
.rd-finder__search { position: relative; display: block; }
.rd-finder__search svg { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); fill: var(--rd-ink-400); pointer-events: none; }
.rd-finder__search input { width: 100%; box-sizing: border-box; height: 54px; padding: 0 18px 0 46px; border: 2px solid var(--rd-cloud-200); border-radius: 999px;
  background: #fff; font: 500 17px var(--rd-body); color: var(--rd-ink-800); }
.rd-finder__search input:focus { outline: none; border-color: var(--rd-lime-600); box-shadow: 0 0 0 4px var(--rd-lime-100, #EEF7D6); }
.rd-finder__chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.rd-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1.5px solid var(--rd-cloud-200); border-radius: 999px; background: #fff;
  font: 700 14px var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-ink-700, #28323A); text-decoration: none; }
.rd-chip span { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--rd-cloud-100); font: 700 12px var(--rd-body); letter-spacing: 0; text-align: center; }
.rd-chip:hover { border-color: var(--rd-ink-600); }
.rd-chip.is-on { background: var(--rd-ink-800); border-color: var(--rd-ink-800); color: #fff; }
.rd-chip.is-on span { background: var(--rd-lime-500); color: var(--rd-ink-900, #11171C); }
.rd-lochero__meta { margin: 14px 0 0; font-size: 14px; color: var(--rd-muted); }
.rd-section--tight { padding-top: 24px; }
.rd-lstate { scroll-margin-top: 130px; }
.rd-lstate + .rd-lstate { margin-top: 44px; }
.rd-lstate__head { display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; margin-bottom: 20px; border-bottom: 2px solid var(--rd-ink-800); }
.rd-lstate__head .rd-h2 { margin: 0; }
.rd-lstate__count { font: 700 13px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lgrid .rd-lcard { scroll-margin-top: 130px; }
.rd-lempty { padding: 28px; border: 2px dashed var(--rd-cloud-200); border-radius: var(--rd-radius); text-align: center; }
.rd-lempty p { margin: 6px 0 0; color: var(--rd-muted); }
.rd-lnext { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; align-items: end; margin-top: 44px; padding: 26px 28px; border-radius: var(--rd-radius); background: var(--rd-ink-800); }
.rd-lnext p { margin: 6px 0 0; color: var(--rd-ink-50); }
.rd-lnext .rd-h3 { margin: 10px 0 0; }
.rd-lnext__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.rd-lnext__form .rd-note { grid-column: 1 / -1; }
@media (max-width: 900px) { .rd-lnext, .rd-lnext__form { grid-template-columns: 1fr; } }

/* header picker: state headings */
.rd-locmenu__state { padding: 10px 12px 2px; font: 700 11px var(--rd-condensed); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-locmenu__state:not(:first-child) { margin-top: 4px; border-top: 1px solid var(--rd-cloud-200); padding-top: 12px; }

/* =====================================================================
   LOCATION LANDING PAGE (/locations/<slug>/)
   ===================================================================== */
.rd-lcard__page { align-self: flex-start; font-size: 15px; }
.rd-crumbs { background: var(--rd-cloud-100); border-bottom: 1px solid var(--rd-cloud-200); }
.rd-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 12px 0; font-size: 14px; color: var(--rd-muted); }
.rd-crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--rd-ink-400); }
.rd-crumbs a { color: var(--rd-carbon); }
.rd-crumbs [aria-current] { font-weight: 700; color: var(--rd-carbon); }
.rd-lp .rd-phero { padding-top: clamp(28px, 4vw, 56px); }
.rd-lp__h1 { font-size: clamp(36px, 4.6vw, 62px) !important; text-wrap: balance; }
.rd-lp__nap { font-style: normal; display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 18px 0 4px; }
.rd-lp__nap a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--rd-carbon); }
.rd-lp__nap svg { width: 18px; height: 18px; fill: var(--rd-lime-700); flex: none; }
.rd-lp__sample { border-color: var(--rd-cloud-200) !important; color: var(--rd-muted) !important; background: #fff; font-size: 14px; }
.rd-lp__media { position: relative; aspect-ratio: 4 / 3.4; border-radius: var(--rd-radius); overflow: hidden; border: 1px solid var(--rd-cloud-200); background: #fff; }
.rd-lp__media .rd-lcard__ph { border: 0; }
.rd-lp__media .rd-lcard__ph svg { width: 64px; height: 64px; }

/* local pricing: one card per service, service colour on the badge, header rule and button */
.rd-lsvcs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.rd-lsvc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-cloud-200); border-top: 4px solid var(--rd-svc); border-radius: var(--rd-radius); overflow: hidden; }
.rd-lsvc__head { display: flex; align-items: center; gap: 14px; padding: 20px 20px 12px; }
.rd-lsvc__head .rd-h3 { margin: 0; }
.rd-lsvc__head p { margin: 2px 0 0; color: var(--rd-muted); }
.rd-lsvc__head b { color: var(--rd-svc-ink); font-size: 20px; }
.rd-lsvc__table th, .rd-lsvc__table td { padding: 10px 20px; font-size: 16px; white-space: normal; }
.rd-lsvc__table td:last-child { color: var(--rd-muted); text-align: right; }
.rd-lsvc__table thead th:not(:first-child) { text-align: right; }
.rd-lsvc__table td:nth-child(2) { text-align: right; }
.rd-lsvc__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 20px; border-top: 1px solid var(--rd-cloud-100); }
.rd-lsvc .rd-btn--dark { background: var(--rd-svc-btn); border-color: var(--rd-svc-btn); color: #fff !important; box-shadow: 0 3px 0 var(--rd-svc-ink); }
.rd-lsvc .rd-btn--dark:hover, .rd-lsvc .rd-btn--dark:focus-visible { background: #fff; color: var(--rd-svc-btn) !important; box-shadow: 0 3px 0 var(--rd-svc-btn); }
.rd-included--four { grid-template-columns: repeat(4, 1fr); }
.rd-included--four li:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
.rd-included--four li:not(:first-child) { padding-left: 24px; border-left: 1px solid var(--rd-cloud-200); }

/* team */
.rd-lp__team small { display: block; margin-top: 6px; font-size: 14px; color: var(--rd-ink-400); line-height: 1.4; }
.rd-lp__owner { max-width: 720px; margin: 44px auto 0; padding: 26px 30px; border-left: 4px solid var(--rd-lime-500); background: var(--rd-cloud-100); border-radius: 0 var(--rd-radius) var(--rd-radius) 0; }
.rd-lp__owner p { margin: 0 0 10px; font-size: 20px; line-height: 1.5; color: var(--rd-carbon); }
.rd-lp__owner cite { font: 700 15px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: var(--rd-muted); }
.rd-lp__hiring { text-align: center; margin: 22px 0 0; }

/* reviews: score column + 3 local reviews */
.rd-lp__revgrid { display: grid; grid-template-columns: 300px 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.rd-lp__score .rd-h2 { margin-bottom: 18px; }
.rd-lp__big { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
.rd-lp__big b { font: 400 64px/1 var(--rd-display); color: #fff; }
.rd-lp__big > span { display: grid; gap: 4px; color: var(--rd-ink-200); font-size: 15px; }
.rd-lp__big .rd-stars svg { width: 18px; height: 18px; fill: var(--rd-lime-500); }
.rd-lp__bars { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 6px; font-size: 13px; color: var(--rd-ink-200); font-variant-numeric: tabular-nums; }
.rd-lp__bars li { display: grid; grid-template-columns: 26px 1fr 34px; align-items: center; gap: 10px; }
.rd-lp__bars i { height: 8px; border-radius: 99px; background: var(--rd-ink-600); overflow: hidden; }
.rd-lp__bars b { display: block; height: 100%; background: var(--rd-lime-500); }
.rd-lp__bars li span:last-child { text-align: right; }
.rd-lp__score .rd-link { display: inline-block; margin-left: 14px; color: #fff; }
.rd-lp__reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rd-lp__reviews .rd-review { padding: 22px; }
.rd-lp__reviews .rd-review blockquote { font-size: 17px; }

/* visit */
.rd-lp__visit { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.rd-lp__hours { margin: 8px 0 22px; }
.rd-lp__dl { margin: 0 0 22px; display: grid; gap: 14px; }
.rd-lp__dl div { display: grid; grid-template-columns: 170px 1fr; gap: 12px; padding-top: 14px; border-top: 1px solid var(--rd-cloud-200); }
.rd-lp__dl dt { font: 700 14px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lp__dl dd { margin: 0; }
.rd-lp__map { aspect-ratio: 4 / 3; border-radius: var(--rd-radius); overflow: hidden; border: 1px solid var(--rd-cloud-200); }
.rd-lp__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.rd-lp__label { display: flex; align-items: center; gap: 8px; margin: 22px 0 12px; font: 700 14px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lp__pin svg { width: 16px; height: 16px; fill: var(--rd-lime-700); display: block; }
.rd-lp__areas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-lp__areas li { padding: 6px 14px; border-radius: 999px; background: var(--rd-cloud-100); font-weight: 600; font-size: 15px; }

@media (max-width: 1024px) {
  .rd-lsvcs, .rd-lp__reviews { grid-template-columns: 1fr; }
  .rd-lp__revgrid, .rd-lp__visit { grid-template-columns: 1fr; }
  .rd-included--four { grid-template-columns: 1fr 1fr; }
  .rd-included--four li:nth-child(odd) { padding-left: 0; border-left: 0; }
}
@media (max-width: 600px) {
  .rd-included--four { grid-template-columns: 1fr; }
  .rd-included--four li { padding-left: 0 !important; border-left: 0 !important; }
  .rd-lp__dl div { grid-template-columns: 1fr; gap: 4px; }
}
.rd-lsvc__table thead th { white-space: nowrap; }
.rd-lsvc__table td:last-child { color: var(--rd-carbon); font-weight: 600; }
.rd-lp__score .rd-h2 { font-size: clamp(30px, 3vw, 40px); }


/* =====================================================================
   OUR STORY: numbers strip, chapters, leadership with dog "packs"
   ===================================================================== */
.rd-facts--five .rd-facts__row { grid-template-columns: repeat(5, 1fr); }
.rd-facts--five strong { color: #fff; }
.rd-chapters-wrap { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(28px, 5vw, 80px); align-items: start; }
.rd-chapters-intro { position: sticky; top: 140px; }
.rd-chapters { list-style: none; margin: 0; padding: 0; position: relative; }
.rd-chapters::before { content: ""; position: absolute; left: 118px; top: 10px; bottom: 10px; width: 3px; background: var(--rd-cloud-200); }
.rd-chapter { display: grid; grid-template-columns: 104px 1fr; gap: 40px; padding: 0 0 36px; position: relative; }
.rd-chapter::before { content: ""; position: absolute; left: 111px; top: 8px; width: 17px; height: 17px; border-radius: 50%; background: var(--rd-lime-500); box-shadow: 0 0 0 5px #fff; }
.rd-chapter.is-next::before { background: #fff; border: 3px dashed var(--rd-lime-700); box-sizing: border-box; }
.rd-chapter__year { font: 400 26px/1.1 var(--rd-display); color: var(--rd-lime-700); text-align: right; }
.rd-chapter .rd-h3 { margin: 0 0 6px; }
.rd-chapter p { margin: 0; color: var(--rd-muted); font-size: 18px; line-height: 1.6; max-width: 60ch; }
.rd-chapter__cities { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-chapter__cities li { padding: 5px 12px; border-radius: 999px; background: var(--rd-cloud-100); font: 700 14px var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-carbon); }
.rd-chapter p.rd-chapter__pull { margin-top: 14px; padding: 12px 16px; border-left: 4px solid var(--rd-svc-daycare); background: var(--rd-svc-daycare-tint, #FCEBDD); color: var(--rd-carbon); font-weight: 700; border-radius: 0 12px 12px 0; }

.rd-lead-group { margin: 0 0 16px; font: 700 14px var(--rd-condensed) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lead-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 36px; }
.rd-lead-grid--two { grid-template-columns: repeat(2, 1fr); }
.rd-lead-card { display: grid; grid-template-columns: 132px 1fr; gap: 22px; align-items: start; padding: 24px; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); }
.rd-lead-card .rd-leader__photo, .rd-lead-card .rd-leader__ph { max-width: 132px; margin: 0; }
.rd-lead-card .rd-leader__ph { font-size: 38px; }
.rd-lead-card .rd-h3 { margin: 0; }
.rd-lead-card__title { margin: 2px 0 10px; font: 700 15px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-lime-700); }
.rd-lead-card__bio { margin: 0 0 16px; color: var(--rd-muted); font-size: 16px; line-height: 1.55; }
.rd-lead-card__packlabel { margin: 0 0 8px; font: 700 12px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lead-grid:not(.rd-lead-grid--two) .rd-lead-card { grid-template-columns: 1fr; }
.rd-lead-grid:not(.rd-lead-grid--two) .rd-lead-card__face { max-width: 132px; }

/* dog photo placeholders in the same 16-scallop shape; hover = brand colour + name */
.rd-pack { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-dog { --tone: var(--rd-lime-500); position: relative; display: block; width: 78px; height: 78px; cursor: default; outline: none;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='98 98 828 828'><circle cx='512' cy='512' r='346'/><circle cx='858' cy='512' r='68'/><circle cx='832' cy='644' r='68'/><circle cx='757' cy='757' r='68'/><circle cx='644' cy='832' r='68'/><circle cx='512' cy='858' r='68'/><circle cx='380' cy='832' r='68'/><circle cx='267' cy='757' r='68'/><circle cx='192' cy='644' r='68'/><circle cx='166' cy='512' r='68'/><circle cx='192' cy='380' r='68'/><circle cx='267' cy='267' r='68'/><circle cx='380' cy='192' r='68'/><circle cx='512' cy='166' r='68'/><circle cx='644' cy='192' r='68'/><circle cx='757' cy='267' r='68'/><circle cx='832' cy='380' r='68'/></svg>") center/contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='98 98 828 828'><circle cx='512' cy='512' r='346'/><circle cx='858' cy='512' r='68'/><circle cx='832' cy='644' r='68'/><circle cx='757' cy='757' r='68'/><circle cx='644' cy='832' r='68'/><circle cx='512' cy='858' r='68'/><circle cx='380' cy='832' r='68'/><circle cx='267' cy='757' r='68'/><circle cx='192' cy='644' r='68'/><circle cx='166' cy='512' r='68'/><circle cx='192' cy='380' r='68'/><circle cx='267' cy='267' r='68'/><circle cx='380' cy='192' r='68'/><circle cx='512' cy='166' r='68'/><circle cx='644' cy='192' r='68'/><circle cx='757' cy='267' r='68'/><circle cx='832' cy='380' r='68'/></svg>") center/contain no-repeat; }
.rd-dog--daycare  { --tone: var(--rd-svc-daycare); }
.rd-dog--lodging  { --tone: var(--rd-svc-lodging); }
.rd-dog--grooming { --tone: var(--rd-svc-grooming); }
.rd-dog--pickup   { --tone: var(--rd-svc-pickup); }
.rd-dog--lime     { --tone: var(--rd-lime-500); }
.rd-dog__ph { position: absolute; inset: 0; display: grid; place-items: center; background: var(--rd-cloud-100); color: var(--rd-cloud-200); transition: opacity .2s; }
.rd-dog__ph svg { width: 30px; height: 30px; fill: var(--rd-ink-200, #C5CBD0); }
.rd-dog img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-dog__name { position: absolute; inset: 0; display: grid; place-items: center; padding: 10px; text-align: center; background: var(--tone); color: #fff;
  font: 800 15px/0.95 "Barlow Condensed", "Arial Narrow", sans-serif; letter-spacing: .02em; text-transform: uppercase;
  opacity: 0; transform: scale(.9); transition: opacity .2s, transform .2s; }
.rd-dog:hover .rd-dog__name, .rd-dog:focus-visible .rd-dog__name { opacity: 1; transform: none; }
.rd-dog--lime .rd-dog__name { color: var(--rd-ink-900, #11171C); }
.rd-dog:focus-visible { filter: drop-shadow(0 0 0 var(--tone)); }

@media (max-width: 1024px) {
  .rd-facts--five .rd-facts__row { grid-template-columns: repeat(3, 1fr); }
  .rd-chapters-wrap, .rd-lead-grid, .rd-lead-grid--two { grid-template-columns: 1fr; }
  .rd-chapters-intro { position: static; }
  .rd-lead-grid:not(.rd-lead-grid--two) .rd-lead-card { grid-template-columns: 132px 1fr; }
}
@media (max-width: 600px) {
  .rd-facts--five .rd-facts__row { grid-template-columns: 1fr 1fr; }
  .rd-chapters::before { left: 7px; }
  .rd-chapter { grid-template-columns: 1fr; gap: 4px; padding-left: 34px; }
  .rd-chapter::before { left: 0; }
  .rd-chapter__year { text-align: left; font-size: 22px; }
  .rd-lead-card, .rd-lead-grid:not(.rd-lead-grid--two) .rd-lead-card { grid-template-columns: 1fr; }
  .rd-lead-card__face { max-width: 120px; }
}
.rd-dog__name { padding: 6px; }
.rd-dog--long .rd-dog__name { font-size: 12.5px; letter-spacing: 0; }
.rd-dog__ph { background: var(--rd-cloud-200); }
.rd-dog__ph svg { fill: #fff; }
/* Kyle & Megan share one pack: a strip joined under both founder cards */
.rd-founders { margin-bottom: 36px; }
.rd-founders .rd-lead-grid { margin-bottom: 0; }
.rd-founders .rd-lead-card { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.rd-founders__pack { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; padding: 18px 24px; background: var(--rd-cloud-100);
  border: 1px solid var(--rd-cloud-200); border-top: 0; border-radius: 0 0 var(--rd-radius) var(--rd-radius); }
.rd-founders__pack .rd-lead-card__packlabel { margin: 0; text-align: right; }
.rd-founders__pack .rd-lead-card__packlabel span { display: block; font: 400 14px var(--rd-body); letter-spacing: 0; text-transform: none; color: var(--rd-muted); }
@media (min-width: 1025px) { .rd-founders .rd-lead-grid--two { gap: 0; } .rd-founders .rd-lead-card + .rd-lead-card { border-left: 0; }
  .rd-founders .rd-lead-card:first-child { border-top-right-radius: 0; } .rd-founders .rd-lead-card:last-child { border-top-left-radius: 0; } }
@media (max-width: 1024px) { .rd-founders .rd-lead-grid--two { gap: 0; } .rd-founders .rd-lead-card + .rd-lead-card { border-top: 0; border-radius: 0; }
  .rd-founders .rd-lead-card:first-child { border-radius: var(--rd-radius) var(--rd-radius) 0 0; } }
@media (max-width: 600px) { .rd-founders__pack { flex-direction: column; } .rd-founders__pack .rd-lead-card__packlabel { text-align: center; } }

/* FAQ page: +/× toggles take each category's colour (General = lime, Membership = Mint) */
.rd-svcpage--general { --rd-svc: var(--rd-lime-500); --rd-svc-tint: var(--rd-lime-100, #EEF7D6); --rd-svc-ink: var(--rd-lime-700); }
.rd-svcpage--member  { --rd-svc: var(--rd-svc-member); --rd-svc-tint: var(--rd-svc-member-tint); --rd-svc-ink: #3F8A55; }
.rd-svcpage--general details.rd-acc[open] summary::before { background: var(--rd-ink-900, #11171C); }
.rd-faq-group__h { display: flex; align-items: center; gap: 12px; }
.rd-faq-group__h .rd-cross__icon { flex: none; }
/* General / Membership: same scallop badge, simple white glyph */
.rd-faqbadge { position: relative; }
.rd-faqbadge .rd-scallop { width: 50px; height: 50px; }
.rd-faqbadge .rd-faqbadge__g { position: absolute; left: 50%; top: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); fill: #fff; color: #fff; }
.rd-svcpage--general .rd-faqbadge__g { fill: var(--rd-ink-900, #11171C); color: var(--rd-ink-900, #11171C); }
.rd-faqbadge .rd-scallop { width: 62px; height: 62px; }

/* Membership = Mint (#BDE9C9), Retail = Lilac (#D7B9E4): true P&P secondary colours, white art */
:root { --rd-svc-member: #BDE9C9; --rd-svc-member-tint: #E5F6EA; --rd-svc-retail: #D7B9E4; --rd-svc-retail-tint: #F1E6F6; --rd-glyph: #333F48; }
.rd-card--member { --rd-svc: var(--rd-svc-member); --rd-svc-ink: #3F8A55; }
.rd-card--retail { --rd-svc: var(--rd-svc-retail); --rd-svc-ink: #7A4A90; }


/* =====================================================================
   BLOG (Mo'Talk): category pills in service colours, featured post + grid
   ===================================================================== */
.rd-bhero .rd-lead { max-width: 60ch; }
.rd-bchips { margin-top: 24px; }
.rd-bpill { --c: var(--rd-lime-500); --t: var(--rd-lime-100, #EEF7D6); --i: var(--rd-lime-700);
  display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--t); color: var(--i);
  font: 700 12px var(--rd-condensed); letter-spacing: .1em; text-transform: uppercase; }
.rd-bpill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.rd-bpill--daycare  { --c: var(--rd-svc-daycare);  --t: var(--rd-svc-daycare-tint);  --i: var(--rd-svc-daycare-ink); }
.rd-bpill--lodging  { --c: var(--rd-svc-lodging);  --t: var(--rd-svc-lodging-tint);  --i: var(--rd-svc-lodging-ink); }
.rd-bpill--grooming { --c: var(--rd-svc-grooming); --t: var(--rd-svc-grooming-tint); --i: var(--rd-svc-grooming-ink); }
.rd-bpill--pickup   { --c: var(--rd-svc-pickup);   --t: var(--rd-svc-pickup-tint);   --i: var(--rd-svc-pickup-ink); }
.rd-bpill--member   { --c: var(--rd-svc-member);   --t: var(--rd-svc-member-tint);   --i: #3F8A55; }
.rd-bpill--health   { --c: var(--rd-ink-600);      --t: var(--rd-ink-50);            --i: var(--rd-ink-600); }
.rd-chip--daycare.is-on  { background: var(--rd-svc-daycare-btn);  border-color: var(--rd-svc-daycare-btn); }
.rd-chip--lodging.is-on  { background: var(--rd-svc-lodging-btn);  border-color: var(--rd-svc-lodging-btn); }
.rd-chip--grooming.is-on { background: var(--rd-svc-grooming-btn); border-color: var(--rd-svc-grooming-btn); }
.rd-chip--pickup.is-on   { background: var(--rd-svc-pickup-btn);   border-color: var(--rd-svc-pickup-btn); }
.rd-chip--member.is-on   { background: #3F8A55; border-color: #3F8A55; }
.rd-chip--general.is-on  { background: var(--rd-lime-700); border-color: var(--rd-lime-700); }

.rd-bcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: var(--rd-radius); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.rd-bcard:hover { transform: translateY(-3px); box-shadow: var(--rd-shadow); }
.rd-bcard__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--rd-cloud-100); }
.rd-bcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.rd-bcard:hover .rd-bcard__img img { transform: scale(1.03); }
.rd-bcard__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.rd-bcard__title { margin: 0; text-wrap: balance; }
.rd-bcard__title a { color: var(--rd-carbon); text-decoration: none; }
.rd-bcard__title a:hover { text-decoration: underline; text-decoration-color: var(--rd-lime-500); text-underline-offset: 4px; }
.rd-bcard__body p { margin: 0; color: var(--rd-muted); font-size: 16px; line-height: 1.55; }
.rd-bcard__body .rd-bcard__meta { margin-top: auto; font-size: 14px; color: var(--rd-ink-400); }
.rd-bcard--feature { display: grid; grid-template-columns: 1.25fr 1fr; margin-bottom: 24px; }
.rd-bcard--feature .rd-bcard__img { aspect-ratio: auto; min-height: 340px; }
.rd-bcard--feature .rd-bcard__body { justify-content: center; padding: clamp(24px, 4vw, 48px); gap: 14px; }
.rd-bcard--feature .rd-bcard__title { font-size: clamp(28px, 3vw, 40px); }
.rd-bcard--feature .rd-bcard__body p { font-size: 18px; }
.rd-bcard--feature .rd-bcard__meta { margin-top: 6px; }
.rd-bgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .rd-bgrid { grid-template-columns: 1fr 1fr; } .rd-bcard--feature { grid-template-columns: 1fr; } .rd-bcard--feature .rd-bcard__img { min-height: 0; aspect-ratio: 3 / 2; } }
@media (max-width: 600px) { .rd-bgrid { grid-template-columns: 1fr; } }

/* Blog: Breed profiles (Lilac) and Franchising (Carbon with lime) */
.rd-bpill--breeds    { --c: var(--rd-svc-retail); --t: var(--rd-svc-retail-tint); --i: #7A4A90; }
.rd-bpill--franchise { --c: var(--rd-lime-500);   --t: var(--rd-ink-800);          --i: #fff; }
.rd-chip--breeds.is-on    { background: #7A4A90; border-color: #7A4A90; }
.rd-chip--franchise.is-on { background: var(--rd-ink-900, #11171C); border-color: var(--rd-ink-900, #11171C); }
.rd-btraits { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.rd-btraits li { display: inline-flex; gap: 5px; padding: 4px 9px; border-radius: 8px; background: var(--rd-cloud-100); font-size: 13px; color: var(--rd-carbon); }
.rd-btraits b { font: 700 12px var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-ink-400); padding-top: 1px; }

/* Blog: Local stories = Charcoal Blue with a pin (city shown in the meta line); Health moves to Shadow grey */
.rd-bpill--local  { --c: var(--rd-ink-600); --t: var(--rd-ink-50); --i: var(--rd-ink-600); }
.rd-bpill--local::before { display: none; }
.rd-bpill svg { width: 12px; height: 12px; fill: currentColor; margin-left: -2px; }
.rd-bpill--health { --c: #7C878E; --t: #EDEFF0; --i: #5A646B; }
.rd-chip--local.is-on  { background: var(--rd-ink-600); border-color: var(--rd-ink-600); }
.rd-chip--health.is-on { background: #5A646B; border-color: #5A646B; }
.rd-bplace { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; color: var(--rd-ink-600); }
.rd-bplace svg { width: 13px; height: 13px; fill: var(--rd-lime-700); }
/* Blog chips: the post-count badge takes a light tint of its own category (was lime on every chip) */
.rd-chip--daycare  span { background: var(--rd-svc-daycare-tint);  color: var(--rd-svc-daycare-ink); }
.rd-chip--lodging  span { background: var(--rd-svc-lodging-tint);  color: var(--rd-svc-lodging-ink); }
.rd-chip--grooming span { background: var(--rd-svc-grooming-tint); color: var(--rd-svc-grooming-ink); }
.rd-chip--pickup   span { background: var(--rd-svc-pickup-tint);   color: var(--rd-svc-pickup-ink); }
.rd-chip--member   span { background: var(--rd-svc-member-tint);   color: #3F8A55; }
.rd-chip--breeds   span { background: var(--rd-svc-retail-tint);   color: #7A4A90; }
.rd-chip--local    span { background: var(--rd-ink-50);            color: var(--rd-ink-600); }
.rd-chip--health   span { background: #EDEFF0;                     color: #5A646B; }
.rd-chip--general  span { background: var(--rd-lime-100, #EEF7D6); color: var(--rd-lime-700); }
.rd-chip.rd-chip--daycare.is-on span  { background: var(--rd-svc-daycare-tint);  color: var(--rd-svc-daycare-ink); }
.rd-chip.rd-chip--lodging.is-on span  { background: var(--rd-svc-lodging-tint);  color: var(--rd-svc-lodging-ink); }
.rd-chip.rd-chip--grooming.is-on span { background: var(--rd-svc-grooming-tint); color: var(--rd-svc-grooming-ink); }
.rd-chip.rd-chip--pickup.is-on span   { background: var(--rd-svc-pickup-tint);   color: var(--rd-svc-pickup-ink); }
.rd-chip.rd-chip--member.is-on span   { background: var(--rd-svc-member-tint);   color: #3F8A55; }
.rd-chip.rd-chip--breeds.is-on span   { background: var(--rd-svc-retail-tint);   color: #7A4A90; }
.rd-chip.rd-chip--local.is-on span    { background: var(--rd-ink-50);            color: var(--rd-ink-600); }
.rd-chip.rd-chip--health.is-on span   { background: #EDEFF0;                     color: #5A646B; }
.rd-chip.rd-chip--general.is-on span  { background: var(--rd-lime-100, #EEF7D6); color: var(--rd-lime-700); }

/* Location cards, compact: photo on the left, details on the right, two across on a laptop.
   Keeps a whole card (and usually two) on screen at 1280x720. */
@media (min-width: 700px) {
  .rd-lgrid { grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); gap: 16px; }
  .rd-lcard:not(.rd-lcard--next) { display: grid; grid-template-columns: 180px 1fr; }
  .rd-lcard:not(.rd-lcard--next) .rd-lcard__img { aspect-ratio: auto; height: 100%; min-height: 200px; }
  .rd-lcard__ph { border-bottom: 0; border-right: 1px dashed var(--rd-cloud-200); padding: 40px 10px 10px; text-align: center; }
  .rd-lcard__ph svg { width: 32px; height: 32px; }
  .rd-lcard__ph span { font-size: 11px; }
  .rd-lcard__badge { left: 8px; top: 8px; right: 8px; font-size: 10px !important; padding: 4px 8px !important; text-align: center; }
  .rd-lcard__body { padding: 14px 18px 14px; gap: 4px; }
  .rd-lcard .rd-h3 { font-size: 22px; }
  .rd-lcard__svcs { margin: 4px 0 0; }
  details.rd-lcard__hours summary { padding: 6px 0 !important; }
  .rd-lcard__actions { padding-top: 6px; }
  .rd-lcard__page { font-size: 14px; margin-top: 2px; }
}
.rd-lstate + .rd-lstate { margin-top: 32px; }
.rd-lstate__head { margin-bottom: 14px; padding-bottom: 8px; }
.rd-lstate__head .rd-h2 { font-size: clamp(26px, 2.6vw, 34px); }
.rd-lnext { margin-top: 32px; padding: 20px 24px; }
/* States with one location sit side by side; a state with several spans the full row */
.rd-lstates { display: grid; grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); gap: 28px 16px; align-items: start; }
.rd-lstates .rd-lstate + .rd-lstate { margin-top: 0; }
.rd-lstate--wide { grid-column: 1 / -1; }
.rd-lstate .rd-lgrid { grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); }
@media (max-width: 699px) { .rd-lstates, .rd-lstate .rd-lgrid { grid-template-columns: 1fr; } }
/* Locations hero: shorter so the first cards show on a laptop screen */
.rd-lochero { padding-block: clamp(24px, 3vw, 40px) !important; }
.rd-lochero .rd-h1 { font-size: clamp(34px, 4vw, 52px) !important; margin-bottom: 6px; }
.rd-lochero .rd-lead { margin-bottom: 0; }
.rd-lochero .rd-finder { margin-top: 16px; gap: 10px; }
.rd-lochero .rd-finder__search input { height: 48px; }
.rd-lochero__meta { margin-top: 10px; }
/* Catalog cards without photos: name + status badge on one row */
.rd-lcard:not(.rd-lcard--next) { display: flex !important; }
.rd-lcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.rd-lcard__head .rd-lcard__badge { position: static; margin: 2px 0 0; flex: none; }
.rd-lnext--grid { grid-column: 1 / -1; margin-top: 0; }
/* Catalog card v3: details left, hours right (always visible), one action row. No stretching to a neighbour's height. */
.rd-lgrid, .rd-lstates { align-items: start; }
.rd-lcard__body { gap: 8px !important; }
.rd-lcard__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 18px; }
.rd-lcard__info { display: flex; flex-direction: column; gap: 4px; }
.rd-lcard__hrs { border-left: 1px solid var(--rd-cloud-200); padding-left: 16px; }
.rd-lcard__hrs .rd-lcard__pplabel { display: block; margin: 0 0 4px; }
.rd-lcard__hrs .rd-hours { width: 100%; font-size: 13px; line-height: 1.35; margin: 0; }
.rd-lcard__hrs .rd-hours th { display: block; padding: 0; font: 700 12px var(--rd-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--rd-carbon); border: 0; }
.rd-lcard__hrs .rd-hours td { display: block; padding: 0 0 6px; color: var(--rd-muted); border: 0; }
.rd-lcard__hrs .rd-hours tr { display: block; border: 0; }
.rd-lcard__actions { margin-top: 4px !important; padding-top: 10px !important; border-top: 1px solid var(--rd-cloud-100); flex-wrap: wrap; }
.rd-lcard__actions .rd-lcard__page { margin: 0 0 0 auto; }
@media (max-width: 520px) {
  .rd-lcard__cols { grid-template-columns: 1fr; gap: 10px; }
  .rd-lcard__hrs { border-left: 0; padding-left: 0; border-top: 1px solid var(--rd-cloud-100); padding-top: 8px; }
  .rd-lcard__actions .rd-lcard__page { margin: 4px 0 0; flex-basis: 100%; }
}


/* =====================================================================
   LOCATION TILES + POP-UP (tiles on Locations and the homepage; details open in a <dialog>)
   ===================================================================== */
.rd-lgrid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 14px; }
.rd-lstates { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; }
.rd-lstate .rd-lgrid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; }
.rd-ltile-wrap { scroll-margin-top: 130px; }
.rd-ltile { width: 100%; display: grid; gap: 8px; text-align: left; padding: 16px 18px; background: #fff; border: 1px solid var(--rd-cloud-200); border-radius: 18px;
  cursor: pointer; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s, transform .2s; }
.rd-ltile:hover, .rd-ltile:focus-visible { border-color: var(--rd-lime-600); box-shadow: var(--rd-shadow); transform: translateY(-2px); outline: none; }
.rd-ltile.is-sample { border-style: dashed; border-color: #E3C46A; }
.rd-ltile__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.rd-ltile__name { font: 700 22px/1.1 var(--rd-condensed); text-transform: uppercase; letter-spacing: .02em; color: var(--rd-carbon); }
.rd-ltile__badge { flex: none; margin: 2px 0 0 !important; font-size: 10px !important; padding: 4px 8px !important; }
.rd-ltile__sub { font-size: 14px; color: var(--rd-muted); }
.rd-ltile__svcs { display: flex; gap: 5px; }
.rd-ltile__svcs .rd-cross__icon { width: 30px; height: 30px; color: var(--rd-svc); box-shadow: 0 0 0 1px var(--rd-cloud-200); }
.rd-ltile__svcs .rd-cross__icon svg { width: 25px; height: 25px; }
.rd-ltile__more { font: 700 14px var(--rd-condensed); letter-spacing: .04em; color: var(--rd-lime-700); }
.rd-ltile:hover .rd-ltile__more span { margin-left: 4px; }

.rd-ldlg { width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 0; border: 0; border-radius: 22px; overflow: auto; background: #fff; color: var(--rd-carbon);
  box-shadow: 0 30px 80px rgba(24,28,36,.35); }
.rd-ldlg::backdrop { background: rgba(24,28,36,.55); }
.rd-ldlg[open] { animation: rd-dlg-in .18s ease-out; }
@keyframes rd-dlg-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rd-ldlg__close { position: absolute; right: 12px; top: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; color: var(--rd-carbon);
  font: 400 26px/1 var(--rd-body); cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.rd-ldlg__close:hover { background: var(--rd-lime-500); }
.rd-ldlg__media { position: relative; height: 200px; background: var(--rd-cloud-100); overflow: hidden; }
.rd-ldlg__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rd-ldlg__media .rd-lcard__ph { border: 0; padding: 0; }
.rd-ldlg__media .rd-lcard__badge { position: absolute; left: 14px; top: 14px; right: auto; margin: 0; font-size: 11px !important; }
.rd-ldlg .rd-lcard__body { padding: 20px 24px 22px; display: flex; flex-direction: column; gap: 10px; }
.rd-ldlg__name { margin: 0; font-size: 28px; }
@media (max-width: 520px) { .rd-ldlg__media { height: 150px; } .rd-ldlg .rd-lcard__body { padding: 16px; } }
.rd-ldlg:not([open]) { display: none !important; }  /* a theme/homepage rule was forcing closed dialogs to display:block */

/* Hover / focus labels on service icons (locations tiles + pop-ups): a small bubble in the service's colour */
.rd-tip { position: relative; }
.rd-tip::after, .rd-tip::before { position: absolute; left: 50%; pointer-events: none; opacity: 0; transition: opacity .15s, transform .15s; z-index: 5; }
.rd-tip::after { content: attr(data-tip); bottom: calc(100% + 9px); transform: translate(-50%, 4px); white-space: nowrap;
  padding: 5px 9px; border-radius: 8px; background: var(--rd-svc-btn, var(--rd-ink-800)); color: #fff;
  font: 700 12px/1 var(--rd-condensed); letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 4px 12px rgba(24,28,36,.2); }
.rd-tip::before { content: ""; bottom: calc(100% + 3px); transform: translate(-50%, 4px); border: 6px solid transparent; border-bottom: 0; border-top-color: var(--rd-svc-btn, var(--rd-ink-800)); }
.rd-tip:hover::after, .rd-tip:hover::before, .rd-tip:focus-visible::after, .rd-tip:focus-visible::before { opacity: 1; transform: translate(-50%, 0); }
.rd-tip:focus-visible { outline: none; }
.rd-tip:focus-visible .rd-cross__icon { box-shadow: 0 0 0 2px var(--rd-svc-btn, var(--rd-ink-600)); }
.rd-tip--pp { --rd-svc-btn: var(--rd-ink-600); }

/* Location status: Open now (lime) · Coming soon (Charcoal Blue outline) · Sample (yellow) */
.rd-badge--soon { background: #fff; border-color: var(--rd-ink-600); color: var(--rd-ink-600); }
.rd-ltile.is-soon { background: var(--rd-cloud-50, #FCFBFA); }
.rd-ltile.is-soon .rd-ltile__svcs { opacity: .55; }
.rd-ltile--all { text-decoration: none; background: var(--rd-lime-50, #F6FBE8); border: 1.5px dashed var(--rd-lime-600); align-content: center; }
.rd-ltile--all .rd-ltile__name { color: var(--rd-lime-ink, #3E5A00); }
.rd-lochero__meta b { color: var(--rd-carbon); }
/* Header location picker: long lists scroll */
.rd-locmenu { max-height: min(70vh, 520px); overflow-y: auto; overscroll-behavior: contain; }

/* States pack into a 4-column grid: each state spans as many columns as it has locations (max 4), so
   one-location states sit beside each other and nothing leaves a half-empty row. */
.rd-lstates { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; grid-auto-flow: row dense; gap: 28px 14px; }
.rd-lstate--wide { grid-column: auto; }
.rd-lspan-1 { grid-column: span 1; } .rd-lspan-2 { grid-column: span 2; } .rd-lspan-3 { grid-column: span 3; } .rd-lspan-4 { grid-column: span 4; }
.rd-lstate .rd-lgrid { gap: 14px; }
.rd-lspan-1 .rd-lgrid { grid-template-columns: 1fr !important; }
.rd-lspan-2 .rd-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.rd-lspan-3 .rd-lgrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.rd-lspan-4 .rd-lgrid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) {
  .rd-lstates { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rd-lspan-3, .rd-lspan-4 { grid-column: span 2; }
  .rd-lspan-3 .rd-lgrid, .rd-lspan-4 .rd-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .rd-lstates { grid-template-columns: 1fr !important; }
  .rd-lspan-2, .rd-lspan-3, .rd-lspan-4 { grid-column: span 1; }
  .rd-lstate .rd-lgrid { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   LOCATIONS v4: state sidebar + results. "All" = every state, separated by a thin rule and small label.
   ===================================================================== */
.rd-lbrowse { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.rd-lside { position: sticky; top: 130px; }
.rd-lside__label { margin: 0 0 8px; font: 700 12px var(--rd-condensed); letter-spacing: .14em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-lside ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rd-lside__link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: 10px;
  font: 700 16px var(--rd-condensed); letter-spacing: .03em; color: var(--rd-carbon); text-decoration: none; }
.rd-lside__link span { min-width: 24px; padding: 1px 7px; border-radius: 999px; background: var(--rd-cloud-100); font: 700 12px var(--rd-body); text-align: center; color: var(--rd-muted); }
.rd-lside__link:hover { background: var(--rd-cloud-100); }
.rd-lside__link.is-on { background: var(--rd-ink-800); color: #fff; }
.rd-lside__link.is-on span { background: var(--rd-lime-500); color: var(--rd-ink-900, #11171C); }
.rd-lside li:first-child { padding-bottom: 6px; margin-bottom: 6px; border-bottom: 1px solid var(--rd-cloud-200); }

/* results: plain stacked states (undo the packed-span layout) */
.rd-lresults .rd-lstates { display: block !important; }
.rd-lresults .rd-lstate { margin: 0; padding: 18px 0 22px; border-top: 1px solid var(--rd-cloud-200); }
.rd-lresults .rd-lstate:first-child { border-top: 0; padding-top: 0; }
.rd-lresults .rd-lstate__head { border: 0; margin: 0 0 12px; padding: 0; display: flex; align-items: baseline; gap: 10px; }
.rd-lstate__name { margin: 0; font: 700 15px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-carbon); }
.rd-lresults .rd-lstate .rd-lgrid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important; gap: 12px; }
.rd-lstates.is-one-state .rd-lstate { border-top: 0; padding-top: 0; }
.rd-lempty { margin-top: 8px; }

@media (max-width: 860px) {
  .rd-lbrowse { grid-template-columns: 1fr; gap: 14px; }
  .rd-lside { position: static; }
  .rd-lside__label { display: none; }
  .rd-lside ul { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .rd-lside li:first-child { padding: 0; margin: 0; border: 0; }
  .rd-lside__link { white-space: nowrap; border: 1px solid var(--rd-cloud-200); border-radius: 999px; padding: 7px 12px; font-size: 14px; }
}
.rd-lochero > .rd-wrap { width: 100%; box-sizing: border-box; }   /* hero was shrink-wrapped and centred; align with the sidebar */
.rd-lcard__actions .rd-lcard__page { margin: 0 !important; font-size: inherit; }
/* Hero text starts where the results column starts (sidebar 220px + the browse gap) */
@media (min-width: 861px) {
  .rd-lochero > .rd-wrap > * { margin-left: calc(220px + clamp(20px, 3vw, 40px)); }
}
/* Phone: the state chip row must scroll inside itself, not widen the page */
.rd-lbrowse { grid-template-columns: 220px minmax(0, 1fr); }
.rd-lbrowse > * { min-width: 0; }
@media (max-width: 860px) { .rd-lbrowse { grid-template-columns: minmax(0, 1fr); } }
/* Location landing hero: breathing room between the address/phone line and the buttons */
.rd-lp__nap { margin: 20px 0 28px; }
.rd-lp .rd-phero .rd-btns { margin-top: 0; }
.rd-lp__media .rd-lcard__badge { left: 14px; top: 14px; right: auto; font-size: 11px !important; padding: 4px 10px !important; }


/* =====================================================================
   CAREERS
   ===================================================================== */
.rd-jobfilter { display: flex; gap: 12px; flex-wrap: wrap; }
.rd-jobfilter label { font-size: 13px; font-weight: 700; }
.rd-jobfilter select { min-width: 200px; min-height: 44px; }
.rd-jobcount { margin: 0 0 12px; font: 700 13px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-jobs { display: grid; gap: 10px; }
.rd-job { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 20px; align-items: center; padding: 18px 22px; background: #fff;
  border: 1px solid var(--rd-cloud-200); border-radius: 16px; transition: border-color .2s, box-shadow .2s; }
.rd-job:hover { border-color: var(--rd-lime-600); box-shadow: var(--rd-shadow); }
.rd-job__main { display: grid; gap: 4px; justify-items: start; }
.rd-job__title { margin: 2px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rd-job__open { margin: 0 !important; font-size: 10px !important; padding: 3px 8px !important; }
.rd-job__where { margin: 0; display: inline-flex; align-items: center; gap: 4px; font-weight: 700; font-size: 14px; color: var(--rd-ink-600); }
.rd-job__where svg { width: 14px; height: 14px; fill: var(--rd-lime-700); }
.rd-job__blurb { margin: 0; color: var(--rd-muted); font-size: 15px; }
.rd-job__facts { margin: 0; display: grid; grid-template-columns: auto auto; gap: 4px 20px; }
.rd-job__facts dt { font: 700 11px var(--rd-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-400); }
.rd-job__facts dd { margin: 0; font-weight: 700; font-size: 14px; white-space: nowrap; }
.rd-job__facts div { display: grid; gap: 2px; }
@media (max-width: 800px) {
  .rd-job { grid-template-columns: 1fr; gap: 12px; }
  .rd-job .rd-btn { justify-self: start; }
  .rd-jobfilter select { min-width: 0; width: 100%; }
  .rd-jobfilter label { flex: 1 1 140px; }
}
/* Long option labels (e.g. "Oklahoma City, OK (opening soon)") must not widen forms on phones */
.rd-grid-2 > *, .rd-form .rd-row > * { min-width: 0; }
.rd-form select { width: 100%; max-width: 100%; }
@media (max-width: 600px) { .rd-form .rd-row { grid-template-columns: 1fr; } }
.rd-form input, .rd-form select, .rd-form textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.rd-jobmore { margin: 16px 0 0; color: var(--rd-muted); }
