/* Pastel 3C B04 palette: pink, butter cream, sage, and charcoal text. */
:root {
  --canvas: #fffaf0;
  --surface: #fffdf7;
  --soft: #eef4e5;
  --soft-2: #f5e8b8;
  --ink: #2f2f2f;
  --muted: #525252;
  --coral: #ec6aa5;
  --coral-dark: #c34d84;
  --gold: #efdca1;
  --sage: #dce8cf;
  --dusty-rose: #b9787a;
  --dusty-rose-dark: #9f6265;
  --peace-coral: #e86f70;
  --peace-coral-dark: #d55f61;
  --line: rgba(47, 47, 47, 0.13);
}

html, body { background: var(--canvas); color: var(--ink); }
body { background-image: radial-gradient(circle at 10% 8%, rgba(236,106,165,.09), transparent 25%), radial-gradient(circle at 90% 34%, rgba(220,232,207,.55), transparent 28%); }
body :where(h1,h2,h3,h4,h5,h6,p,a,li,label,summary,span,strong,b,small) { color: var(--ink); }
.site-header, .site-footer, .section, .page-shell, .card, .faq-item, .booking-panel { border-color: var(--line); }
.site-header { background: rgba(255,253,247,.94); }
.hero, .page-hero { background: linear-gradient(125deg, rgba(245,232,184,.68), rgba(255,253,247,.96) 44%, rgba(220,232,207,.62)); }
.soft-section, .section-soft, .booking-panel { background: linear-gradient(135deg, rgba(220,232,207,.72), rgba(255,253,247,.96)); }
.card, .faq-item, .gallery-item, .service-card, .step-card { background: var(--surface); box-shadow: 0 18px 48px rgba(47,47,47,.08); }
.eyebrow, .accent-text, .price { color: var(--ink); }
.eyebrow::before, .eyebrow::after, .decorative-dot { background: var(--coral); }
.button, .btn, button, input[type="submit"], .wp-element-button { background: var(--coral); border-color: var(--coral); color: var(--ink); box-shadow: 0 10px 26px rgba(236,106,165,.22); font-weight: 400; }
.button:hover, .btn:hover, button:hover, input[type="submit"]:hover { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.button.secondary, .btn-secondary, .button-outline { background: var(--surface); border-color: var(--coral); color: var(--ink); }
.icon, .check, .feature-icon, .step-number { background: var(--sage); color: var(--ink); }
.image-frame, .hero-image, .gallery-item { outline-color: rgba(236,106,165,.28); }
.trust-strip, .trust-marquee { background: linear-gradient(90deg, var(--coral), var(--gold), var(--sage), var(--coral)); border-color: transparent; }
.trust-strip *, .trust-marquee * { color: var(--ink); }
.trust-item + .trust-item { border-left-color: rgba(47,47,47,.18); }
.gallery-item::after { background: linear-gradient(transparent 35%, rgba(255,253,247,.95)); }
.gallery-item h3, .gallery-item p, .gallery-item figcaption { color: var(--ink); }
.site-footer { background: var(--sage); color: var(--ink); }
.site-footer * { color: var(--ink); }
input, textarea, select { background: var(--surface); border-color: rgba(47,47,47,.2); color: var(--ink); }
::placeholder { color: #666; }

@media (prefers-reduced-motion: reduce) {
  .trust-track, .marquee-track { animation: none !important; }
}

/* Dusty-rose actions and consistent pop-up card containers on every route. */
.button:not(.outline),
.btn:not(.btn-secondary),
button:not(.menu-button),
input[type="submit"],
.wp-element-button {
  background: var(--dusty-rose);
  border-color: var(--dusty-rose);
  color: var(--ink);
  box-shadow: 0 10px 26px rgba(185,120,122,.24);
}
.button:not(.outline):hover,
.btn:not(.btn-secondary):hover,
button:not(.menu-button):hover,
input[type="submit"]:hover,
.wp-element-button:hover {
  background: var(--dusty-rose-dark);
  border-color: var(--dusty-rose-dark);
  color: var(--ink);
}
.button.outline, .btn-secondary, .button-outline {
  background: var(--surface);
  border-color: var(--dusty-rose);
  color: var(--ink);
}
.icon-circle,
.steps article > span {
  background: var(--soft-2);
  color: var(--ink);
  border: 0;
  box-shadow: none;
}
.card,
.price-card,
.steps article,
.text-card,
.limitation,
.request-form,
.story-feature,
.trust-grid > div,
.detail-grid > span,
.accordion details,
.gallery-item,
.pills > span {
  border-radius: 28px;
  border: 1px solid rgba(185,120,122,.22);
  background: var(--surface);
  box-shadow: 0 16px 38px rgba(47,47,47,.08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.card::before,
.price-card::before,
.steps article::before,
.trust-grid > div::before,
.detail-grid > span::before {
  display: none;
}
@media (hover:hover) {
  .card:hover,
  .price-card:hover,
  .steps article:hover,
  .text-card:hover,
  .limitation:hover,
  .request-form:hover,
  .story-feature:hover,
  .trust-grid > div:hover,
  .detail-grid > span:hover,
  .accordion details:hover,
  .gallery-item:hover,
  .pills > span:hover {
    transform: translateY(-8px);
    border-color: rgba(185,120,122,.55);
    box-shadow: 0 24px 54px rgba(47,47,47,.14);
  }
}
@media (prefers-reduced-motion: reduce) {
  .card, .price-card, .steps article, .text-card, .limitation, .request-form,
  .story-feature, .trust-grid > div, .detail-grid > span, .accordion details,
  .gallery-item, .pills > span { transition: none; }
}

/* Match all actions and the moving strip to the “Peace of Mind.” coral. */
.button,
.button.outline,
.btn,
.btn-secondary,
.button-outline,
button:not(.menu-button),
input[type="submit"],
.wp-element-button {
  background: var(--peace-coral);
  border-color: var(--peace-coral);
  color: var(--ink);
}
.button:hover,
.button.outline:hover,
.btn:hover,
.btn-secondary:hover,
.button-outline:hover,
button:not(.menu-button):hover,
input[type="submit"]:hover,
.wp-element-button:hover {
  background: var(--peace-coral-dark);
  border-color: var(--peace-coral-dark);
  color: var(--ink);
}
.trust-bar .container.trust-marquee,
.trust-strip,
.trust-marquee {
  background: var(--peace-coral);
  border-color: var(--peace-coral);
}
.trust-bar .trust-track-group > span,
.trust-bar .trust-track-group .material-symbols-outlined,
.trust-strip *,
.trust-marquee * {
  color: var(--ink);
}

/* All six trust highlights form two balanced rows of three. */
.trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .trust-grid { grid-template-columns: 1fr; }
}

/* Editorial About page layout based on the supplied reference. */
.about-story { padding-top: clamp(78px, 9vw, 128px); }
.about-editorial-split { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:clamp(48px,7vw,100px); align-items:center; }
.about-editorial-split.reverse { grid-template-columns:minmax(360px,.98fr) minmax(0,1.02fr); }
.about-copy { max-width:680px; }
.about-copy h1 { font-size:clamp(2.7rem,5vw,4.8rem); line-height:1.03; margin-bottom:30px; }
.about-copy h2, .about-lessons h2, .about-cats-today h2 { margin-bottom:28px; }
.about-copy p, .about-family-card p, .about-lessons p, .about-why p { font-size:clamp(1rem,1.35vw,1.14rem); line-height:1.85; }
.about-arch-photo { width:min(100%,620px); height:clamp(500px,54vw,760px); margin:0 auto; overflow:hidden; border:1px solid rgba(232,111,112,.22); border-radius:50% 50% 28px 28px / 38% 38% 28px 28px; background:var(--sage); box-shadow:0 24px 58px rgba(47,47,47,.11); }
.about-arch-photo.scout { height:clamp(470px,48vw,650px); }
.about-arch-photo img { width:100%; height:100%; object-fit:cover; }
.about-family-wrap { padding-inline:18px; }
.about-family-card { max-width:960px; padding:clamp(40px,6vw,70px); border:1px solid rgba(185,120,122,.24); border-radius:28px; background:var(--surface); box-shadow:0 18px 44px rgba(47,47,47,.08); }
.about-family-card p { max-width:780px; margin-bottom:0; }
.about-lessons-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(56px,8vw,120px); align-items:start; }
.about-numbered-list { display:grid; gap:38px; }
.about-numbered-list article { display:grid; grid-template-columns:48px 1fr; gap:18px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.about-numbered-list article:last-child { border-bottom:0; }
.about-numbered-list article>span { color:var(--peace-coral); font-size:1.25rem; }
.about-numbered-list h3 { margin:0 0 10px; }
.about-numbered-list p { margin:0; }
.about-cats-today { background:linear-gradient(145deg,rgba(220,232,207,.72),rgba(245,232,184,.42)); }
.about-cat-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; margin-top:48px; }
.about-cat-row article { padding:30px 18px; border:1px solid rgba(185,120,122,.22); border-radius:26px; background:var(--surface); box-shadow:0 14px 36px rgba(47,47,47,.07); transition:transform .28s ease,box-shadow .28s ease; }
.about-cat-row .icon-circle { margin:0 auto 18px; }
.about-cat-row h3 { margin:0; font-size:1.2rem; }
@media (hover:hover) { .about-cat-row article:hover { transform:translateY(-8px); box-shadow:0 22px 48px rgba(47,47,47,.13); } }
@media (max-width:900px) {
  .about-editorial-split, .about-editorial-split.reverse, .about-lessons-grid { grid-template-columns:1fr; }
  .about-editorial-split.reverse .about-arch-photo { order:2; }
  .about-editorial-split.reverse .about-copy { order:1; }
  .about-arch-photo, .about-arch-photo.scout { height:clamp(430px,82vw,620px); }
  .about-cat-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .about-story { padding-top:58px; }
  .about-copy h1 { font-size:clamp(2.3rem,11vw,3.2rem); }
  .about-arch-photo, .about-arch-photo.scout { min-width:0; height:110vw; max-height:520px; border-radius:50% 50% 22px 22px / 32% 32% 22px 22px; }
  .about-family-card { padding:32px 24px; }
  .about-cat-row { grid-template-columns:1fr; gap:16px; }
  .about-numbered-list article { grid-template-columns:40px 1fr; gap:12px; }
}

/* Fast-scan Services page. */
.services-hero { padding-bottom:clamp(56px,7vw,88px); }
.services-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:34px; }
.services-jump a { padding:10px 16px; border:1px solid rgba(232,111,112,.34); border-radius:999px; background:var(--surface); color:var(--ink); font-size:.88rem; transition:transform .2s ease,background .2s ease; }
.services-jump a:hover { transform:translateY(-2px); background:var(--gold); }
.services-specialist { display:grid; grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr); gap:clamp(54px,7vw,96px); align-items:center; }
.services-specialist>div>p { font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.82; }
.services-boundary-card { display:flex; align-items:flex-start; gap:22px; padding:clamp(30px,4vw,48px); border:1px solid rgba(185,120,122,.25); border-left:5px solid var(--peace-coral); border-radius:26px; background:var(--surface); box-shadow:0 18px 44px rgba(47,47,47,.08); }
.services-boundary-card .icon-circle { flex:0 0 48px; margin:0; }
.services-boundary-card h3 { margin-top:4px; }
.services-boundary-card p { line-height:1.78; }
.service-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-values-grid .card { align-items:flex-start; min-height:310px; text-align:left; }
.service-values-grid .icon-circle { margin-inline:0; }
.services-payment-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; }
.services-payment-grid .text-card { height:100%; }
.services-location-card { padding:34px; border:1px solid rgba(185,120,122,.22); border-radius:28px; background:var(--surface); box-shadow:0 16px 38px rgba(47,47,47,.08); }
.services-location-card .button { margin-top:12px; }
@media(max-width:900px) {
  .services-specialist, .services-payment-grid { grid-template-columns:1fr; }
  .service-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .services-jump { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; scrollbar-width:thin; }
  .services-jump a { flex:0 0 auto; }
  .services-boundary-card { display:block; }
  .services-boundary-card .icon-circle { margin-bottom:20px; }
  .service-values-grid { grid-template-columns:1fr; }
  .service-values-grid .card { min-height:0; }
}

