/*
 * Self-hosted brand fonts.
 *
 * The preview site gets these from next/font, which defines --font-fredoka and
 * --font-dm-sans on the html element. Nothing does that in WordPress, so the
 * --font-primary / --font-secondary chains further down fell through to a
 * system stack and the site rendered in the wrong face. Declaring the bundled
 * woff2 files here and defining the same two variable names restores the
 * approved typography, with no external request.
 *
 * These are the variable-weight latin subsets, so one @font-face per family
 * covers every weight the design uses.
 */
@font-face {
  font-family: "Fredoka";
  src: url("../fonts/fredoka-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-fredoka: "Fredoka";
  --font-dm-sans: "DM Sans";
}

@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after { --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-border-style: solid; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; }
  ::backdrop { --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-border-style: solid; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; }
}
}
@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --spacing: .25rem; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer components;
@layer utilities {
  .visible { visibility: visible; }
  .absolute { position: absolute; }
  .static { position: static; }
  .start { inset-inline-start: var(--spacing); }
  .end { inset-inline-end: var(--spacing); }
  .hidden { display: none; }
  .table { display: table; }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .border { border-style: var(--tw-border-style); border-width: 1px; }
  .underline { text-decoration-line: underline; }
  .ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
}
:root { --font-primary: var(--font-fredoka), "Arial Rounded MT Bold", sans-serif; --font-secondary: var(--font-dm-sans), "Helvetica Neue", sans-serif; --ink: #251e1b; --ink-muted: #675b56; --spruce: #7a2e2a; --spruce-strong: #351d1b; --paper: #f3ebdd; --surface: #fbf6ec; --line: #cfc2b2; --accent: #7a2e2a; --accent-hover: #5f211f; --button-bg: #7a2e2a; --button-hover: #5f211f; --dusty-blue: #8b9ca3; --dusty-blue-deep: #5f747c; --butter: #e8c979; --focus: #275e72; --shadow: 0 30px 80px #351d1b29; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: var(--font-secondary); text-rendering: optimizelegibility; margin: 0px; font-size: 18px; line-height: 1.6; }
a { color: inherit; }
:is(a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible) { outline: 3px solid var(--focus); outline-offset: 4px; }
.site-shell { min-height: 100dvh; overflow-x: hidden; }
.skip-link { z-index: 100; background: var(--ink); color: var(--paper); border-radius: 8px; padding: 10px 14px; position: fixed; top: 12px; left: 12px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0px); }
.site-header { grid-template-columns: 1fr auto 1fr; align-items: center; gap: 36px; width: min(100% - 48px, 1400px); height: 76px; margin: 0px auto; display: grid; }
.wordmark { width: max-content; color: var(--spruce-strong); flex-direction: column; line-height: 1; text-decoration: none; display: inline-flex; }
.wordmark small { font-family: var(--font-secondary); letter-spacing: 0.16em; text-transform: uppercase; margin-top: 6px; font-size: 9px; font-weight: 550; }
.logo-link { line-height: 0; }
.site-logo { width: clamp(168px, 15vw, 205px); height: auto; display: block; }
.footer-logo { width: min(100%, 360px); }
.desktop-nav { align-items: center; gap: clamp(20px, 2.6vw, 42px); font-size: 14px; font-weight: 580; display: flex; }
.desktop-nav a { text-underline-offset: 6px; text-decoration: none; }
.desktop-nav a:hover { text-decoration: underline; }
.site-header > .button { justify-self: end; }
.button { background: var(--button-bg); color: rgb(255, 250, 246); white-space: nowrap; border-radius: 999px; justify-content: center; align-items: center; width: fit-content; min-height: 50px; padding: 0px 24px; font-size: 15px; font-weight: 680; line-height: 1; text-decoration: none; transition: background 0.18s, transform 0.18s; display: inline-flex; }
.button:hover { background: var(--button-hover); transform: translateY(-2px); }
.button:active { transform: translateY(1px) scale(0.99); }
.button-small { min-height: 44px; padding-inline: 18px; font-size: 13px; }
.hero { grid-template-columns: minmax(0px, 0.98fr) minmax(400px, 0.9fr); align-items: center; gap: clamp(24px, 3.5vw, 64px); width: min(100% - 48px, 1400px); min-height: calc(100dvh - 76px); margin: 0px auto; padding: clamp(28px, 4vw, 62px) 0px 0px; display: grid; }
.hero-copy { min-width: 0px; max-width: 760px; padding-bottom: 6vh; }
.eyebrow { font-family: var(--font-secondary); color: var(--accent); letter-spacing: 0.16em; text-transform: uppercase; margin: 0px 0px 28px; font-size: 11px; font-weight: 680; }
.hero h1 { max-width: 760px; color: var(--spruce-strong); letter-spacing: -0.075em; margin: 0px; font-size: clamp(3.35rem, 6.2vw, 6.7rem); font-weight: 625; line-height: 0.94; }
.hero-summary { max-width: 570px; color: var(--ink-muted); margin: 30px 0px 0px; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; }
.hero-actions { align-items: center; gap: 28px; margin-top: 34px; display: flex; }
.text-link { min-height: 44px; color: var(--spruce-strong); text-underline-offset: 6px; align-items: center; gap: 8px; font-size: 15px; font-weight: 680; text-decoration-thickness: 1px; display: inline-flex; }
.text-link span { transition: transform 0.18s; }
.text-link:hover span { transform: translate(2px, -2px); }
.hero-dog-visual { pointer-events: none; justify-content: flex-end; place-self: end stretch; width: 100%; min-width: 0px; margin: 0px 0px -8px; display: flex; position: relative; }
.hero-dog-visual img { object-fit: contain; object-position: center bottom; filter: drop-shadow(rgba(23, 60, 51, 0.2) 0px 28px 30px); width: auto; max-width: 100%; height: min(82dvh, 850px); display: block; }
@media (max-width: 1040px) {
  .desktop-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .hero { grid-template-columns: minmax(0px, 0.96fr) minmax(330px, 0.86fr); gap: 22px; }
  .hero h1 { font-size: clamp(3.2rem, 7vw, 5.4rem); }
}
@media (max-width: 767px) {
  body { font-size: 17px; }
  .site-header { width: min(100% - 32px, 1400px); height: 70px; }
  .site-header > .button { min-height: 42px; padding-inline: 14px; font-size: 12px; }
  .hero { grid-template-columns: minmax(0px, 1fr); gap: 22px; width: min(100% - 32px, 1400px); min-height: auto; padding: 44px 0px 0px; }
  .hero-copy { max-width: none; padding: 0px; }
  .eyebrow { margin-bottom: 22px; }
  .hero h1 { max-width: 640px; font-size: clamp(3.25rem, 14vw, 5.2rem); line-height: 0.96; }
  .hero-summary { margin-top: 24px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 30px; }
  .hero-dog-visual { justify-content: center; justify-self: center; width: 100vw; margin: -16px 0px 0px; }
  .hero-dog-visual img { filter: drop-shadow(rgba(23, 60, 51, 0.18) 0px 22px 24px); width: auto; max-width: 112vw; height: min(73dvh, 700px); }
}
@media (max-width: 420px) {
  .wordmark small { display: none; }
  .site-header > .button { text-align: center; max-width: 142px; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4rem); }
}
body { background: radial-gradient(circle at 9% 5%, #e8c97933, transparent 24rem), radial-gradient(circle at 90% 28%, #8b9ca324, transparent 30rem), var(--paper); }
.site-shell { isolation: isolate; position: relative; }
.site-shell::before { content: ""; z-index: 50; pointer-events: none; opacity: 0.12; mix-blend-mode: multiply; background-image: radial-gradient(circle at 20% 30%, rgba(37, 33, 31, 0.2) 0px, rgba(37, 33, 31, 0.2) 0.6px, rgba(0, 0, 0, 0) 0.7px), radial-gradient(circle at 70% 60%, rgba(122, 46, 42, 0.14) 0px, rgba(122, 46, 42, 0.14) 0.55px, rgba(0, 0, 0, 0) 0.65px); background-position: 0px 0px, 5px 7px; background-size: 9px 9px, 11px 11px; position: fixed; inset: 0px; }
h1, h2, h3, .wordmark span { font-family: var(--font-primary); font-optical-sizing: auto; }
.site-header { border-bottom: 1px solid var(--line); height: 84px; }
@supports (color:color-mix(in lab, red, red)) {
  .site-header { border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }
}
.wordmark span { letter-spacing: -0.045em; font-size: 23px; font-weight: 680; }
.desktop-nav a { text-decoration: none; position: relative; }
.desktop-nav a::after { content: ""; background: var(--accent); transform-origin: 100% center; height: 1px; transition: transform 0.26s; position: absolute; bottom: -7px; left: 0px; right: 0px; transform: scaleX(0); }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform-origin: 0px center; transform: scaleX(1); }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { text-decoration: none; }
.button { border-radius: 2px 18px; box-shadow: rgba(53, 29, 27, 0.12) 0px 8px 24px; }
.hero { grid-template-columns: minmax(0px, 1.12fr) minmax(390px, 0.88fr); gap: clamp(12px, 2vw, 38px); min-height: calc(94dvh - 84px); }
.hero-copy { max-width: 68rem; }
.hero h1 { letter-spacing: -0.068em; text-wrap: balance; max-width: 68rem; font-size: clamp(4.1rem, 7.7vw, 8.25rem); font-weight: 560; line-height: 0.83; }
.hero h1 em { color: var(--accent); font-weight: 420; }
.hero-summary { max-width: 35rem; }
.hero-dog-visual img { filter: drop-shadow(rgba(53, 29, 27, 0.2) 0px 34px 28px); height: min(86dvh, 910px); }
.marquee-band { border-color: var(--dusty-blue-deep); background: var(--dusty-blue); }
.marquee-track span { color: var(--ink); }
.marquee-track i { background: repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 3px); width: 7px; height: 18px; margin-inline: 27px; }
.chapter-heading h2, .reviews-chapter__intro h2, .visit-title-wrap h2, .anxious-copy h2, .proof-intro h2, .faq-chapter h2, .closing-cta h2, .section-heading h2, .pricing-panel h2, .arrival-section h2, .care-principles h2, .boundaries-section h2, .information-section h2, .force-free-section h2, .about-page h2, .contact-page h2 { letter-spacing: -0.052em; text-wrap: balance; font-weight: 520; line-height: 0.92; }
.story-grid { grid-template-columns: repeat(12, minmax(0px, 1fr)); grid-auto-flow: dense; gap: clamp(26px, 4vw, 62px); display: grid; }
.story-photo { grid-column: 1 / span 7; margin: 0px; }
.story-photo__frame { aspect-ratio: 1.18 / 1; clip-path: polygon(0px 5%, 95% 0px, 100% 94%, 4% 100%); background: var(--dusty-blue); overflow: hidden; }
.story-photo img { object-fit: cover; object-position: 52% 43%; filter: sepia(0.12) saturate(0.72) contrast(1.06); width: 100%; height: 100%; transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); display: block; }
.story-photo:hover img { transform: scale(1.035); }
.story-photo figcaption { color: var(--ink-muted); font-family: var(--font-secondary); margin-top: 13px; font-size: 10px; }
.story-statement { border-block: 1px solid var(--line); flex-direction: column; grid-column: 8 / -1; justify-content: center; align-items: flex-start; padding: clamp(32px, 5vw, 72px) 0px; display: flex; }
.story-script { color: var(--dusty-blue-deep); font-family: var(--font-primary); margin: 0px 0px 30px; font-size: clamp(1.15rem, 1.8vw, 1.55rem); font-style: italic; }
.story-statement h3 { max-width: 34rem; color: var(--spruce-strong); letter-spacing: -0.055em; margin: 0px; font-size: clamp(2.7rem, 5vw, 5.3rem); font-weight: 520; line-height: 0.93; }
.story-statement > p:not(.story-script) { max-width: 31rem; color: var(--ink-muted); margin: 30px 0px 28px; }
.story-notes { border-block: 1px solid var(--line); grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0px, 1fr)); display: grid; }
.story-notes article { min-height: 220px; padding: 34px clamp(22px, 3vw, 42px) 38px 0px; }
.story-notes article + article { border-left: 1px solid var(--line); padding-left: clamp(22px, 3vw, 42px); }
.story-notes span { color: var(--dusty-blue-deep); font-family: var(--font-secondary); font-size: 13px; font-weight: 650; }
.story-notes h3 { color: var(--spruce-strong); margin: auto 0px 0px; padding-top: 54px; font-size: clamp(1.65rem, 2.6vw, 2.7rem); font-weight: 540; line-height: 1; }
.story-notes p { max-width: 24rem; color: var(--ink-muted); margin: 14px 0px 0px; font-size: 14px; }
.comb-motif::before { content: ""; background: var(--butter); border-radius: 0px; align-self: flex-end; width: 86px; height: 7px; margin-right: -92px; }
.proof-timeline { border-bottom: 1px solid var(--line); counter-reset: none; margin: 0px; padding: 0px; list-style: none; }
.proof-timeline li { border-top: 1px solid var(--line); grid-template-columns: 74px 1fr; gap: 28px; min-height: 190px; padding: 38px 0px; display: grid; }
.proof-timeline > li > span { color: var(--dusty-blue-deep); font-family: var(--font-secondary); font-size: 11px; }
.proof-timeline h3 { color: var(--spruce-strong); letter-spacing: -0.045em; margin: 0px; font-size: clamp(2rem, 3.2vw, 3.8rem); font-weight: 520; line-height: 0.96; }
.proof-timeline p { max-width: 36rem; color: var(--ink-muted); margin: 20px 0px 0px; }
@supports (color:color-mix(in lab, red, red)) {
  .faq-chapter { background: color-mix(in srgb, var(--dusty-blue) 28%, var(--paper)); }
}
@supports (color:color-mix(in lab, red, red)) {
  .faq-list { border-top: 1px solid color-mix(in srgb, var(--ink) 30%, transparent); }
}
@supports (color:color-mix(in lab, red, red)) {
  .faq-list details { border-color: color-mix(in srgb, var(--ink) 30%, transparent); }
}
.closing-copy { z-index: 2; position: relative; }
.closing-cta h2 { max-width: 1040px; font-size: clamp(4.3rem, 8.7vw, 9rem); line-height: 0.8; }
.closing-title-line { display: block; }
.closing-dog-peek { z-index: 1; pointer-events: none; width: clamp(210px, 23vw, 360px); position: absolute; bottom: -8%; right: 18%; }
.closing-dog-peek img { filter: drop-shadow(rgba(0, 0, 0, 0.18) 0px 14px 12px); width: 100%; height: auto; display: block; }
.closing-cta .button-light { z-index: 3; background: var(--butter); color: var(--ink); position: relative; }
.truth-strip, .pricing-panel, .team-status-panel, .contact-hero__visual { background: var(--dusty-blue); color: var(--ink); border-radius: 0px; }
.pricing-panel, .team-status-panel { background: var(--spruce-strong); color: var(--paper); }
.service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5), .visit-flow__list li:first-child, .audience-grid article:first-child, .care-question--featured, .visit-detail--confirmed, .contact-safety-note { background: var(--dusty-blue); }
@supports (color:color-mix(in lab, red, red)) {
  .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5), .visit-flow__list li:first-child, .audience-grid article:first-child, .care-question--featured, .visit-detail--confirmed, .contact-safety-note { background: color-mix(in srgb, var(--dusty-blue) 30%, var(--paper)); }
}
.cta-panel .button { background: var(--butter); color: var(--ink); }
@media (max-width: 1040px) {
  .hero { grid-template-columns: minmax(0px, 1fr) minmax(330px, 0.72fr); }
  .hero h1 { font-size: clamp(3.8rem, 8vw, 6.3rem); }
  .visit-list article { grid-template-columns: 44px 1fr; }
  .visit-list p { grid-column: 2; }
}
@media (max-width: 899px) {
  .visit-title-wrap { position: static; }
  .anxious-feature { grid-template-columns: 1fr; }
  .anxious-photo { clip-path: polygon(0px 0px, 100% 0px, 96% 94%, 3% 100%); min-height: 560px; }
  .closing-cta, .cta-panel { min-height: 520px; }
}
@media (max-width: 767px) {
  .site-header { height: 72px; }
  .hero { padding-top: 54px; }
  .hero h1 { font-size: clamp(3rem, 12.5vw, 4.4rem); line-height: 0.9; }
  .hero-dog-visual img { max-width: 118vw; }
  .story-grid { grid-template-columns: 1fr; }
  .story-photo, .story-statement, .story-notes { grid-column: 1; }
  .story-photo__frame { aspect-ratio: 0.92 / 1; }
  .story-notes { grid-template-columns: 1fr; }
  .story-notes article { min-height: 0px; padding: 30px 0px 34px; }
  .story-notes article + article { border-top: 1px solid var(--line); border-left: 0px; padding-left: 0px; }
  .story-notes h3 { padding-top: 30px; }
  .visit-list article { grid-template-columns: 40px 1fr; }
  .visit-list p { grid-column: 1 / -1; }
  .anxious-feature { width: 100%; }
  .anxious-photo { min-height: 500px; }
  .anxious-copy { padding: 58px 26px 68px; }
  .proof-timeline li { grid-template-columns: 44px 1fr; gap: 16px; }
  .faq-chapter { width: 100%; }
  .closing-cta, .cta-panel { width: 100%; margin-bottom: 0px; padding: 70px 24px; }
  .closing-cta h2 { font-size: clamp(3.5rem, 15vw, 5.4rem); }
  .closing-title-line { flex-wrap: wrap; }
  .closing-dog-peek { width: min(58vw, 230px); bottom: -34px; right: -44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
.site-header { z-index: 30; position: relative; }
.desktop-nav a[aria-current="page"] { text-decoration: none; }
.menu-toggle, .mobile-menu { display: none; }
.site-footer { border-top: 1px solid var(--line); grid-template-columns: minmax(0px, 1.15fr) minmax(420px, 0.85fr); gap: 80px; width: min(100% - 48px, 1400px); margin: 0px auto; padding: 96px 0px 28px; display: grid; }
.footer-lead { max-width: 520px; }
.wordmark-footer span { font-size: clamp(30px, 4vw, 52px); }
.footer-lead p { max-width: 470px; color: var(--ink-muted); margin: 34px 0px 0px; }
.footer-links { grid-template-columns: 0.72fr 1.28fr; gap: 52px; display: grid; }
.footer-links > div { flex-direction: column; align-items: flex-start; gap: 12px; display: flex; }
.footer-links h2 { font-family: var(--font-secondary); letter-spacing: 0.12em; text-transform: uppercase; margin: 0px 0px 10px; font-size: 11px; font-weight: 650; }
.footer-links a { color: var(--ink-muted); overflow-wrap: anywhere; text-underline-offset: 5px; font-size: 14px; text-decoration-thickness: 1px; }
.footer-base { border-top: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-secondary); grid-column: 1 / -1; justify-content: space-between; align-items: flex-start; gap: 32px; padding-top: 24px; font-size: 10px; display: flex; }
.footer-base p { max-width: 700px; margin: 0px; }
.marquee-band { border-block: 1px solid var(--line); background: var(--surface); position: relative; overflow: hidden; }
.marquee-a11y-control { clip-path: inset(50%); white-space: nowrap; border: 0px; width: 1px; height: 1px; padding: 0px; position: absolute; overflow: hidden; }
.marquee-a11y-control:focus-visible { z-index: 3; clip-path: none; border: 1px solid var(--ink); background: var(--paper); width: auto; height: 38px; color: var(--ink); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; white-space: nowrap; padding: 0px 14px; font-size: 11px; font-weight: 650; top: 9px; right: 16px; overflow: visible; }
.marquee-track { align-items: center; width: max-content; padding: 18px 0px; animation: 26s linear 0s infinite normal none running marquee-drift; display: flex; }
.marquee-track[data-paused="true"] { animation-play-state: paused; }
.marquee-track span { color: var(--spruce-strong); font-family: var(--font-secondary); white-space: nowrap; align-items: center; font-size: 12px; font-weight: 560; display: inline-flex; }
.marquee-track i { background: var(--accent); width: 42px; height: 1px; margin: 0px 32px; display: inline-block; }
@keyframes marquee-drift { 
  100% { transform: translate(-50%); }
}
.chapter, .proof-chapter, .faq-chapter { width: min(100% - 48px, 1240px); margin: 0px auto; padding: clamp(104px, 11vw, 168px) 0px; }
.chapter-heading, .proof-intro { max-width: 780px; margin-bottom: 62px; }
.chapter-heading h2, .reviews-chapter__intro h2, .visit-title-wrap h2, .anxious-copy h2, .proof-intro h2, .faq-chapter h2, .closing-cta h2, .section-heading h2, .pricing-panel h2, .arrival-section h2, .care-principles h2, .boundaries-section h2, .information-section h2, .force-free-section h2, .about-page h2, .contact-page h2 { color: var(--spruce-strong); letter-spacing: -0.065em; margin: 0px; font-size: clamp(2.5rem, 5vw, 5.25rem); font-weight: 610; line-height: 0.98; }
.chapter-heading p, .proof-intro p, .section-heading > p { max-width: 690px; color: var(--ink-muted); margin: 24px 0px 0px; }
.care-grid { grid-template-rows: repeat(2, minmax(0px, 1fr)); grid-template-columns: repeat(4, minmax(0px, 1fr)); grid-auto-flow: dense; gap: 14px; min-height: 720px; display: grid; }
.care-card { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; min-width: 0px; padding: clamp(24px, 3vw, 38px); overflow: hidden; }
.care-card h3 { color: var(--spruce-strong); letter-spacing: -0.045em; margin: 14px 0px 0px; font-size: clamp(1.55rem, 2.5vw, 2.7rem); font-weight: 620; line-height: 1.05; }
.care-card p { color: var(--ink-muted); margin: 14px 0px 0px; font-size: 15px; line-height: 1.55; }
.card-kicker { color: inherit; font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.care-large { grid-area: span 2 / span 2; grid-template-rows: minmax(0px, 1.4fr) auto; padding: 0px; display: grid; }
.care-large > div:last-child { padding: 30px 34px 34px; }
.care-photo { min-height: 0px; overflow: hidden; }
.care-photo img { object-fit: cover; object-position: 52% 35%; filter: saturate(0.78) contrast(1.04); width: 100%; height: 100%; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); display: block; }
.care-large:hover .care-photo img { transform: scale(1.035); }
.care-location { color: rgb(243, 245, 239); background: rgb(23, 60, 51); }
.care-location h3, .care-location p { color: inherit; }
.care-location p { color: rgb(214, 223, 218); }
.care-contact { background: radial-gradient(circle at 92% 8%, #c4472a2e, transparent 36%), var(--surface); }
.care-wide { background: rgb(216, 225, 217); grid-column: span 2; grid-template-columns: 1fr 0.72fr; align-items: end; gap: 34px; display: grid; }
@media (prefers-color-scheme: dark) {
  .care-wide { background: rgb(38, 58, 50); }
}
.care-wide p { margin: 0px; }
.visit-chapter { grid-template-columns: minmax(0px, 0.76fr) minmax(0px, 1fr); align-items: start; gap: clamp(70px, 10vw, 150px); width: min(100% - 48px, 1240px); min-height: 210dvh; margin: 0px auto; padding: 128px 0px; display: grid; }
.visit-title-wrap { max-width: 520px; padding: 42px 0px; }
.visit-title-wrap > p:last-child { color: var(--ink-muted); margin: 26px 0px 0px; }
.visit-list { gap: 34px; display: grid; }
.visit-list article { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 56dvh; padding: clamp(34px, 5vw, 72px); display: flex; box-shadow: rgba(23, 60, 51, 0.08) 0px 30px 70px; }
.visit-list article:nth-child(2) { color: rgb(238, 243, 238); background: rgb(23, 60, 51); }
.visit-list article:nth-child(3) { background: rgb(216, 225, 217); }
@media (prefers-color-scheme: dark) {
  .visit-list article:nth-child(3) { background: rgb(38, 58, 50); }
}
.visit-list article > span { font-family: var(--font-secondary); margin-bottom: auto; font-size: 12px; font-weight: 650; }
.visit-list h3 { letter-spacing: -0.06em; margin: 90px 0px 0px; font-size: clamp(2rem, 4vw, 4.3rem); font-weight: 620; line-height: 1; }
.visit-list p { max-width: 500px; color: var(--ink-muted); margin: 22px 0px 0px; }
.visit-list article:nth-child(2) p { color: rgb(206, 218, 212); }
.anxious-feature { color: rgb(245, 247, 241); background: rgb(23, 60, 51); border-radius: 16px; grid-template-columns: minmax(0px, 0.9fr) minmax(400px, 1.1fr); align-items: center; gap: 70px; width: min(100% - 48px, 1400px); min-height: 700px; margin: 72px auto 0px; padding: clamp(52px, 7vw, 96px); display: grid; overflow: hidden; }
.anxious-copy { max-width: 620px; }
.anxious-copy h2 { color: inherit; }
.anxious-copy p { color: rgb(208, 219, 213); max-width: 580px; margin: 28px 0px 36px; }
.button-dark { color: rgb(23, 60, 51); background: rgb(245, 247, 241); }
.anxious-mark { color: rgb(240, 121, 86); letter-spacing: -0.09em; flex-direction: column; align-items: flex-end; font-size: clamp(5.4rem, 12vw, 12rem); font-weight: 650; line-height: 0.72; display: flex; }
.anxious-mark span:last-child { color: rgb(243, 246, 241); margin-right: 0.24em; }
.proof-chapter { grid-template-columns: minmax(280px, 0.68fr) minmax(0px, 1.32fr); align-items: start; gap: 80px; display: grid; }
.proof-intro { margin: 0px; position: sticky; top: 90px; }
.proof-rail { scroll-snap-type: x; gap: 14px; display: grid; }
.proof-rail article { border: 1px dashed var(--line); background: var(--surface); scroll-snap-align: start; border-radius: 16px; flex-direction: column; justify-content: space-between; min-height: 230px; padding: 34px; display: flex; }
.proof-rail article:nth-child(2) { background: rgb(216, 225, 217); margin-left: 7%; }
@media (prefers-color-scheme: dark) {
  .proof-rail article:nth-child(2) { background: rgb(38, 58, 50); }
}
.proof-rail article:nth-child(3) { margin-left: 14%; }
.proof-rail span { color: var(--accent); font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.proof-rail p { max-width: 560px; color: var(--spruce-strong); letter-spacing: -0.025em; margin: 54px 0px 0px; font-size: clamp(1.3rem, 2.2vw, 2rem); font-weight: 560; line-height: 1.25; }
.faq-chapter { grid-template-columns: minmax(280px, 0.72fr) minmax(0px, 1.28fr); align-items: start; gap: 90px; display: grid; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary, .policy-list summary { min-height: 76px; color: var(--spruce-strong); cursor: pointer; align-items: center; padding: 22px 52px 22px 0px; font-size: 18px; font-weight: 620; list-style: none; display: flex; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.policy-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after, .policy-list summary::after { content: "+"; color: var(--accent); font-size: 28px; font-weight: 350; position: absolute; right: 10px; }
.faq-list details[open] summary::after, .policy-list details[open] summary::after { content: "-"; }
.faq-list details > p, .policy-list__content { max-width: 690px; color: var(--ink-muted); margin: 0px; padding: 0px 52px 26px 0px; }
.closing-cta, .cta-panel { color: rgb(255, 248, 243); background: rgb(196, 71, 42); border-radius: 16px; justify-content: space-between; align-items: flex-end; gap: 52px; width: min(100% - 48px, 1400px); margin: 64px auto 80px; padding: clamp(52px, 7vw, 96px); display: flex; }
.closing-cta p { font-family: var(--font-secondary); margin: 0px 0px 12px; font-size: 11px; font-weight: 650; }
.closing-cta h2, .cta-panel h2 { max-width: 820px; color: inherit; }
.button-light { color: rgb(122, 45, 28); background: rgb(255, 248, 243); flex: 0 0 auto; }
.button-light:hover { background: rgb(242, 230, 223); }
.interior-hero { grid-template-columns: minmax(0px, 1.05fr) minmax(340px, 0.7fr); align-items: center; gap: clamp(54px, 8vw, 132px); width: min(100% - 48px, 1400px); min-height: min(780px, 100dvh - 76px); margin: 0px auto; padding: 74px 0px 108px; display: grid; }
.interior-hero__copy { max-width: 820px; }
.interior-hero h1 { max-width: 840px; color: var(--spruce-strong); letter-spacing: -0.075em; margin: 0px; font-size: clamp(3.4rem, 6.4vw, 6.8rem); font-weight: 620; line-height: 0.94; }
.interior-hero__summary { max-width: 650px; color: var(--ink-muted); margin: 28px 0px 0px; font-size: clamp(18px, 1.5vw, 22px); }
.interior-hero__visual { min-width: 0px; }
.concept-photo { max-width: 510px; margin: 0px 0px 0px auto; }
.concept-photo img { object-fit: cover; width: 100%; max-height: 650px; box-shadow: var(--shadow); border-radius: 160px 160px 16px 16px; display: block; }
.concept-photo figcaption, .interior-hero__visual figcaption { color: var(--ink-muted); font-family: var(--font-secondary); margin-top: 14px; font-size: 10px; line-height: 1.45; }
.concept-photo--quiet img { filter: saturate(0.62) contrast(1.04); }
.truth-strip { color: rgb(242, 245, 239); background: rgb(23, 60, 51); border-radius: 16px; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 36px; width: min(100% - 48px, 1400px); margin: 0px auto; padding: 26px 34px; display: grid; }
.truth-strip > div { align-items: center; gap: 18px; display: flex; }
.truth-strip p { margin: 0px; font-size: 14px; }
.truth-strip .eyebrow { color: rgb(242, 155, 128); }
.status-label { width: fit-content; color: var(--accent); border: 1px solid; border-radius: 999px; padding: 6px 10px; font-size: 11px; font-weight: 650; line-height: 1.2; display: inline-flex; }
.truth-strip .status-label { color: rgb(242, 155, 128); }
.section-shell { width: min(100% - 48px, 1240px); margin: 0px auto; padding: clamp(96px, 10vw, 152px) 0px; }
.section-heading { max-width: 800px; margin-bottom: 58px; }
.service-ledger { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; overflow: hidden; }
.service-ledger__header { border-bottom: 1px solid var(--line); grid-template-columns: 1fr 0.65fr; align-items: end; gap: 42px; padding: 34px; display: grid; }
.service-ledger__header h3 { letter-spacing: -0.045em; margin: 18px 0px 0px; font-size: clamp(1.8rem, 3vw, 3.4rem); line-height: 1.05; }
.service-ledger__header p { color: var(--ink-muted); margin: 0px; }
.service-ledger__grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; padding: 14px; display: grid; }
.service-ledger__item { background: var(--paper); border-radius: 12px; min-height: 170px; padding: 26px; }
.service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5) { background: rgb(216, 225, 217); }
@media (prefers-color-scheme: dark) {
  .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5) { background: rgb(38, 58, 50); }
}
.service-ledger__item h4 { color: var(--spruce-strong); margin: 0px; font-size: 18px; }
.service-ledger__item p { color: var(--ink-muted); margin: 14px 0px 0px; font-size: 14px; }
.pricing-panel, .arrival-section, .care-principles, .force-free-section, .boundaries-section, .information-section, .about-place, .contact-safety-note { grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr); align-items: start; gap: clamp(52px, 8vw, 110px); display: grid; }
.pricing-panel { color: rgb(242, 245, 239); background: rgb(23, 60, 51); border-radius: 16px; width: min(100% - 48px, 1400px); padding-inline: clamp(44px, 6vw, 86px); }
.pricing-panel h2, .pricing-panel p { color: inherit; }
.pricing-panel__statement > p:last-child { color: rgb(206, 217, 211); }
.pricing-options, .topic-grid, .information-list { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; margin: 0px; padding: 0px; list-style: none; display: grid; }
.pricing-options li, .topic-grid li, .information-list li { border: 1px solid rgba(255, 255, 255, 0.23); border-radius: 12px; flex-direction: column; justify-content: space-between; min-height: 118px; padding: 22px; font-size: 14px; display: flex; }
.visit-flow__list { counter-reset: visit-flow 0; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; margin: 0px; padding: 0px; list-style: none; display: grid; }
.visit-flow__list li { border: 1px solid var(--line); background: var(--surface); counter-increment: visit-flow 1; border-radius: 16px; align-items: flex-end; min-height: 250px; padding: 30px; display: flex; }
.visit-flow__list li:first-child { background: rgb(216, 225, 217); grid-row: span 2; min-height: 514px; }
@media (prefers-color-scheme: dark) {
  .visit-flow__list li:first-child { background: rgb(38, 58, 50); }
}
.visit-flow__list li::before { content: counter(visit-flow, decimal-leading-zero); color: var(--accent); font-family: var(--font-secondary); align-self: flex-start; margin-right: auto; font-size: 11px; }
.visit-flow__list h3 { color: var(--spruce-strong); letter-spacing: -0.04em; margin: 0px; font-size: clamp(1.4rem, 2.4vw, 2.5rem); }
.visit-flow__list p { color: var(--ink-muted); margin: 14px 0px 0px; font-size: 14px; }
.arrival-section__intro > p:last-child, .care-principles__copy > p, .force-free-section__copy > p, .boundaries-section__statement > p, .information-section__intro > p:last-child, .about-place__copy > p, .contact-safety-note p { color: var(--ink-muted); }
.topic-grid li, .information-list li { border-color: var(--line); background: var(--surface); color: var(--spruce-strong); }
.topic-grid small { color: var(--ink-muted); font-family: var(--font-secondary); font-size: 10px; }
.approval-note { border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 6px solid var(--accent); background: var(--surface); border-radius: 16px; padding: 30px; }
.approval-note h3 { color: var(--spruce-strong); letter-spacing: -0.045em; margin: 22px 0px 0px; font-size: clamp(1.5rem, 2.8vw, 2.8rem); line-height: 1.08; }
.approval-note p { color: var(--ink-muted); margin: 16px 0px 0px; font-size: 14px; }
.policy-list { border-top: 1px solid var(--line); }
.cta-panel { width: min(100% - 48px, 1400px); padding-top: clamp(58px, 7vw, 96px); padding-bottom: clamp(58px, 7vw, 96px); }
.cta-panel > p { color: rgb(255, 230, 222); max-width: 460px; margin: 0px; }
.cta-panel .eyebrow { color: rgb(255, 248, 243); }
.cta-panel .button { color: rgb(122, 45, 28); background: rgb(255, 248, 243); flex: 0 0 auto; }
.audience-grid, .pacing-stack, .proof-grid, .care-question-grid, .team-placeholders, .visit-details { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; display: grid; }
.audience-grid article, .pacing-stack article, .proof-grid > *, .care-question, .team-placeholder, .visit-detail, .asset-placeholder { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; min-height: 220px; padding: 28px; }
.audience-grid article:first-child, .care-question--featured, .visit-detail--confirmed { background: rgb(216, 225, 217); }
@media (prefers-color-scheme: dark) {
  .audience-grid article:first-child, .care-question--featured, .visit-detail--confirmed { background: rgb(38, 58, 50); }
}
.audience-grid h3, .pacing-stack h3, .proof-grid strong, .care-question h3, .team-placeholder h3 { color: var(--spruce-strong); letter-spacing: -0.035em; margin: 0px; font-size: clamp(1.3rem, 2vw, 2.1rem); line-height: 1.12; }
.audience-grid p, .pacing-stack p, .proof-grid span, .care-question p, .team-placeholder p { color: var(--ink-muted); margin: 18px 0px 0px; font-size: 14px; }
.pacing-stack article:first-child { color: rgb(242, 245, 239); background: rgb(23, 60, 51); grid-column: 1 / -1; min-height: 300px; }
.pacing-stack article:first-child h3, .pacing-stack article:first-child p { color: inherit; }
.boundary-prompts { gap: 12px; display: grid; }
.boundary-prompts > * { border: 1px solid var(--line); background: var(--surface); border-radius: 12px; padding: 24px; }
.asset-placeholder { border-style: dashed; flex-direction: column; justify-content: space-between; align-items: flex-start; min-height: 260px; display: flex; }
.about-photo-placeholder { border: 1px dashed var(--line); color: rgb(23, 60, 51); background: radial-gradient(circle at 50% 24%, rgba(196, 71, 42, 0.2), rgba(0, 0, 0, 0) 22%), linear-gradient(145deg, rgb(214, 223, 215), rgb(174, 191, 179)); border-radius: 160px 160px 16px 16px; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 600px; padding: 38px; display: flex; }
.about-photo-placeholder span { font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.about-photo-placeholder strong { letter-spacing: -0.05em; max-width: 360px; margin-top: 14px; font-size: clamp(2rem, 3vw, 3.8rem); line-height: 1.02; }
.about-facts { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; margin: 0px; display: grid; }
.about-fact { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; flex-direction: column; justify-content: space-between; min-height: 220px; padding: 30px; display: flex; }
.about-fact--primary { color: rgb(242, 245, 239); background: rgb(23, 60, 51); grid-row: span 2; min-height: 454px; }
.about-fact dt { font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.about-fact dd { letter-spacing: -0.055em; margin: 30px 0px 0px; font-size: clamp(1.7rem, 3.4vw, 3.8rem); font-weight: 600; line-height: 1.03; }
.source-note { color: var(--ink-muted); font-family: var(--font-secondary); font-size: 10px; line-height: 1.5; }
.about-foundation > .source-note { margin: 20px 0px 0px; }
.team-status-panel { color: rgb(242, 245, 239); background: rgb(23, 60, 51); border-radius: 16px; grid-template-columns: 0.65fr 1.35fr; gap: 64px; padding: clamp(32px, 5vw, 62px); display: grid; }
.team-status-copy h3 { letter-spacing: -0.055em; margin: 0px; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.team-status-copy p { color: rgb(206, 217, 211); }
.team-placeholder { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.18); }
.team-placeholder h3, .team-placeholder p { color: inherit; }
.team-placeholder > span { color: rgb(242, 155, 128); font-family: var(--font-secondary); font-size: 10px; }
.care-question--featured { grid-row: span 2; min-height: 454px; }
.about-affiliation-note { justify-content: space-between; align-items: flex-end; gap: 32px; margin-top: 14px; display: flex; }
.about-affiliation-note span { color: var(--accent); flex: 0 0 auto; font-size: 12px; font-weight: 650; }
.about-place__placeholder { border: 1px dashed var(--line); background-image: ; background-position-x: ; background-position-y: ; background-repeat: ; background-attachment: ; background-origin: ; background-clip: ; background-color: ; background-size: 28px 28px; border-radius: 16px; flex-direction: column; justify-content: flex-end; min-height: 340px; padding: 34px; display: flex; }
.about-place__placeholder span { font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.about-place__placeholder p { max-width: 440px; color: var(--ink-muted); margin: 16px 0px 0px; }
.contact-hero__visual { color: rgb(242, 245, 239); background: rgb(23, 60, 51); border-radius: 16px; max-width: 560px; margin-left: auto; padding: 38px; }
.contact-card-intro { color: rgb(242, 155, 128); font-family: var(--font-secondary); margin: 0px 0px 24px; font-size: 11px; font-style: normal; font-weight: 650; }
.contact-methods { gap: 10px; font-style: normal; display: grid; }
.contact-method { border-bottom: 1px solid rgba(255, 255, 255, 0.18); grid-template-columns: 86px minmax(0px, 1fr); gap: 20px; min-width: 0px; padding: 18px 0px; display: grid; }
.contact-method span { color: rgb(190, 203, 197); font-size: 12px; }
.contact-method a { color: rgb(242, 245, 239); overflow-wrap: anywhere; text-underline-offset: 5px; min-width: 0px; font-size: 14px; }
.contact-hero__visual .source-note { color: rgb(184, 199, 192); margin: 26px 0px 0px; }
.enquiry-form { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; padding: clamp(30px, 5vw, 56px); }
.visit-details { margin: 0px; }
.visit-detail { flex-direction: column; justify-content: space-between; min-height: 190px; display: flex; }
.visit-detail dt { font-family: var(--font-secondary); font-size: 11px; font-weight: 650; }
.visit-detail dd { color: var(--ink-muted); margin: 40px 0px 0px; font-size: 15px; }
.contact-safety-note { background: rgb(216, 225, 217); border-radius: 16px; grid-template-columns: minmax(0px, 760px); width: min(100% - 48px, 1400px); padding-inline: clamp(44px, 6vw, 86px); }
@media (prefers-color-scheme: dark) {
  .contact-safety-note { background: rgb(38, 58, 50); }
}
.contact-cta__actions { align-items: center; gap: 24px; display: flex; }
.contact-cta .text-link { color: rgb(255, 248, 243); }
@media (max-width: 1040px) {
  .header-cta { display: none; }
  .menu-toggle { border: 1px solid var(--line); background: var(--surface); width: 46px; height: 46px; color: var(--spruce-strong); cursor: pointer; border-radius: 999px; justify-content: center; justify-self: end; align-items: center; display: inline-flex; }
  .mobile-menu { z-index: 40; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); border-radius: 16px; padding: 24px; position: absolute; top: 68px; left: 0px; right: 0px; }
  .mobile-menu:not([hidden]) { gap: 24px; display: grid; }
  .mobile-menu nav { display: grid; }
  .mobile-menu nav a { border-bottom: 1px solid var(--line); min-height: 52px; color: var(--spruce-strong); align-items: center; font-weight: 620; text-decoration: none; display: flex; }
  .site-footer { grid-template-columns: 1fr; }
  .care-grid { min-height: 620px; }
  .visit-chapter { gap: 56px; }
  .anxious-feature { grid-template-columns: 1fr 0.9fr; }
  .interior-hero { grid-template-columns: minmax(0px, 1fr) minmax(300px, 0.62fr); gap: 44px; }
  .interior-hero h1 { font-size: clamp(3.2rem, 7vw, 5.6rem); }
}
@media (max-width: 899px) {
  .chapter, .proof-chapter, .faq-chapter, .section-shell, .visit-chapter { width: min(100% - 36px, 1240px); }
  .visit-chapter { grid-template-columns: 1fr; min-height: auto; }
  .visit-title-wrap { max-width: 680px; padding: 0px; }
  .visit-list article { min-height: 420px; }
  .anxious-feature { grid-template-columns: 1fr; min-height: auto; }
  .anxious-mark { align-items: flex-start; }
  .proof-chapter, .faq-chapter { grid-template-columns: 1fr; }
  .proof-intro { position: static; }
  .interior-hero { grid-template-columns: 1fr; width: min(100% - 36px, 1400px); min-height: auto; }
  .concept-photo, .interior-hero__visual { width: min(100%, 620px); max-width: none; margin: 0px auto; }
  .truth-strip, .pricing-panel, .contact-safety-note, .cta-panel, .closing-cta { width: min(100% - 36px, 1400px); }
  .pricing-panel, .arrival-section, .care-principles, .force-free-section, .boundaries-section, .information-section, .about-place, .contact-safety-note { grid-template-columns: 1fr; }
  .cta-panel, .closing-cta { flex-direction: column; align-items: flex-start; }
  .team-status-panel { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .site-header, .site-footer { width: min(100% - 32px, 1400px); }
  .site-footer { gap: 54px; padding-top: 72px; }
  .footer-links { grid-template-columns: 1fr; }
  .footer-base { flex-direction: column; }
  .chapter, .proof-chapter, .faq-chapter, .section-shell, .visit-chapter { width: min(100% - 32px, 1240px); padding: 86px 0px; }
  .chapter-heading, .proof-intro, .section-heading { margin-bottom: 42px; }
  .care-grid { grid-template-rows: none; grid-template-columns: 1fr; min-height: 0px; }
  .care-large, .care-location, .care-contact, .care-wide { grid-area: auto; min-height: 300px; }
  .care-large { min-height: 620px; }
  .care-wide { grid-template-columns: 1fr; align-items: start; }
  .visit-list article { min-height: 360px; padding: 30px; }
  .visit-list h3 { margin-top: 70px; }
  .anxious-feature { width: min(100% - 32px, 1400px); margin-top: 30px; padding: 52px 28px; }
  .anxious-mark { font-size: clamp(4.7rem, 25vw, 7.2rem); }
  .proof-rail article:nth-child(2), .proof-rail article:nth-child(3) { margin-left: 0px; }
  .closing-cta, .cta-panel, .pricing-panel, .contact-safety-note { width: min(100% - 32px, 1400px); margin-bottom: 48px; padding: 44px 28px; }
  .interior-hero { width: min(100% - 32px, 1400px); padding: 50px 0px 72px; }
  .interior-hero h1 { font-size: clamp(3rem, 13vw, 4.6rem); line-height: 0.97; }
  .truth-strip { grid-template-columns: 1fr; width: min(100% - 32px, 1400px); }
  .truth-strip > div { flex-direction: column; align-items: flex-start; gap: 8px; }
  .service-ledger__header, .service-ledger__grid, .pricing-options, .topic-grid, .information-list, .visit-flow__list, .audience-grid, .pacing-stack, .proof-grid, .care-question-grid, .team-placeholders, .about-facts, .visit-details { grid-template-columns: 1fr; }
  .visit-flow__list li:first-child, .pacing-stack article:first-child, .about-fact--primary, .care-question--featured { grid-area: auto; min-height: 260px; }
  .team-status-panel { gap: 32px; padding: 30px 22px; }
  .about-photo-placeholder { border-radius: 110px 110px 14px 14px; min-height: 500px; }
  .about-affiliation-note, .contact-cta__actions { flex-direction: column; align-items: flex-start; }
  .contact-method { grid-template-columns: 1fr; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: auto ease 0s 1 normal none running none; transform: none; }
  .marquee-track [aria-hidden="true"] { display: none; }
}
@media (max-width: 420px) {
  .mobile-menu { padding: 18px; }
  .marquee-track { animation-duration: 22s; }
  .chapter-heading h2, .reviews-chapter__intro h2, .visit-title-wrap h2, .anxious-copy h2, .proof-intro h2, .faq-chapter h2, .closing-cta h2, .section-heading h2, .pricing-panel h2, .arrival-section h2, .care-principles h2, .boundaries-section h2, .information-section h2, .force-free-section h2, .about-page h2, .contact-page h2 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
}
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
.chapter, .proof-chapter, .faq-chapter { padding-block: clamp(118px, 13vw, 190px); }
.visit-chapter { grid-template-columns: minmax(240px, 0.62fr) minmax(0px, 1.38fr); gap: clamp(60px, 9vw, 140px); min-height: auto; padding-block: clamp(118px, 13vw, 190px); }
.visit-title-wrap { padding: 0px; position: sticky; top: 118px; }
.visit-list { border-bottom: 1px solid var(--line); gap: 0px; }
.visit-list article, .visit-list article:nth-child(2), .visit-list article:nth-child(3) { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); min-height: 0px; color: var(--ink); box-shadow: none; background: 0px 0px; border-radius: 0px; grid-template-columns: 54px minmax(210px, 0.74fr) minmax(0px, 1fr); align-items: start; gap: clamp(20px, 3vw, 44px); padding: clamp(34px, 5vw, 64px) 0px; display: grid; }
.visit-list article > span { color: var(--accent); margin: 4px 0px 0px; }
.visit-list h3 { color: var(--spruce-strong); margin: 0px; font-size: clamp(2rem, 3vw, 3.6rem); font-weight: 520; }
.visit-list p, .visit-list article:nth-child(2) p { color: var(--ink-muted); margin: 6px 0px 0px; font-size: 16px; }
.anxious-feature { background: var(--accent); min-height: 780px; color: var(--paper); border-radius: 0px; grid-template-columns: minmax(0px, 1.03fr) minmax(380px, 0.97fr); gap: 0px; padding: 0px; }
.anxious-photo { clip-path: polygon(0px 0px, 94% 0px, 100% 100%, 0px 100%); height: 100%; min-height: 780px; margin: 0px; overflow: hidden; }
.anxious-photo img { object-fit: cover; object-position: 54% 45%; filter: sepia(0.16) saturate(0.62) contrast(1.08); width: 100%; height: 100%; display: block; }
.anxious-copy { max-width: none; padding: clamp(54px, 7vw, 110px); }
.anxious-copy h2, .anxious-copy p { color: var(--paper); }
.anxious-copy h2 { font-size: clamp(3.1rem, 5.7vw, 6.4rem); }
.anxious-copy p { max-width: 32rem; }
.comb-motif { align-items: flex-end; gap: 9px; height: 68px; margin-bottom: 54px; display: flex; }
.comb-motif::before { content: ""; background: var(--butter); align-self: flex-end; width: 86px; height: 7px; margin-right: -92px; }
.comb-motif i { background: var(--butter); width: 2px; height: 55px; display: block; }
.comb-motif i:nth-child(2n) { height: 42px; }
.button-dark { background: var(--paper); color: var(--accent); }
.button-dark:hover { background: var(--butter); }
.proof-chapter { grid-template-columns: minmax(280px, 0.7fr) minmax(0px, 1.3fr); }
.faq-chapter { background: color-mix(in srgb, var(--dusty-blue) 28%, var(--paper)); width: 100%; max-width: none; padding-inline: max(24px, -620px + 50vw); }
.faq-list { border-top: 1px solid color-mix(in srgb, var(--ink) 30%, transparent); }
.faq-list details { border-color: color-mix(in srgb, var(--ink) 30%, transparent); }
.faq-list summary, .policy-list summary { min-height: 94px; font-family: var(--font-primary); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 520; }
.faq-list summary::after, .policy-list summary::after { content: "↘"; color: var(--accent); font-family: var(--font-secondary); font-size: 19px; transition: transform 0.22s; }
.faq-list details[open] summary::after, .policy-list details[open] summary::after { content: "↘"; transform: rotate(-90deg); }
.closing-cta, .cta-panel { background: var(--spruce-strong); min-height: 620px; color: var(--paper); border-radius: 0px; margin: 0px auto; padding: clamp(54px, 8vw, 112px); position: relative; overflow: hidden; }
.closing-cta { align-items: center; }
.closing-cta .closing-copy { max-width: min(72%, 900px); }
.closing-cta p, .closing-cta h2, .cta-panel h2 { color: var(--paper); }
.closing-cta .button-light, .cta-panel .button { background: var(--butter); color: var(--ink); }
.site-footer { border-top: 5px solid var(--dusty-blue); padding-top: 110px; }
.interior-hero h1 { letter-spacing: -0.06em; text-wrap: balance; font-weight: 520; line-height: 0.9; }
.concept-photo img, .about-photo-placeholder { clip-path: polygon(4% 0px, 100% 3%, 94% 100%, 0px 96%); border-radius: 0px; }
.truth-strip, .contact-hero__visual { background: var(--dusty-blue); color: var(--ink); border-radius: 0px; }
.truth-strip .eyebrow, .truth-strip .status-label, .contact-card-intro, .team-placeholder > span { color: var(--spruce-strong); }
.pricing-panel, .team-status-panel { background: var(--spruce-strong); color: var(--paper); border-radius: 0px; }
.service-ledger, .service-ledger__item, .visit-flow__list li, .audience-grid article, .pacing-stack article, .proof-grid > *, .care-question, .team-placeholder, .visit-detail, .asset-placeholder, .approval-note, .enquiry-form, .boundary-prompts > *, .about-fact, .about-place__placeholder, .contact-safety-note { box-shadow: none; border-radius: 0px; }
.service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5), .visit-flow__list li:first-child, .audience-grid article:first-child, .care-question--featured, .visit-detail--confirmed, .contact-safety-note { background: color-mix(in srgb, var(--dusty-blue) 30%, var(--paper)); }
.pacing-stack article:first-child, .about-fact--primary { background: var(--spruce-strong); color: var(--paper); }
.about-photo-placeholder { background: radial-gradient(circle at 48% 23%, #e8c97973, transparent 24%), linear-gradient(145deg, #b9c4c7, var(--dusty-blue)); color: var(--ink); }
.contact-hero__visual .contact-method a, .contact-hero__visual { color: var(--ink); }
.contact-method { border-color: rgba(37, 33, 31, 0.25); }
.instagram-chapter { grid-template-columns: minmax(260px, 0.58fr) minmax(0px, 1.42fr); align-items: start; gap: clamp(54px, 8vw, 124px); width: min(100% - 48px, 1320px); margin: 0px auto; padding: clamp(68px, 8vw, 118px) 0px clamp(118px, 13vw, 190px); display: grid; }
.visit-chapter { padding-bottom: clamp(72px, 8vw, 118px); }
.instagram-chapter__intro { max-width: 30rem; position: sticky; top: 118px; }
.instagram-chapter__intro h2 { color: var(--spruce-strong); letter-spacing: -0.055em; text-wrap: balance; margin: 0px; font-size: clamp(3.2rem, 5.8vw, 6.6rem); font-weight: 520; line-height: 0.9; }
.instagram-chapter__intro > p:not(.eyebrow) { max-width: 27rem; color: var(--ink-muted); margin: 28px 0px; }
.instagram-dog-cloud { grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: start; gap: clamp(34px, 5vw, 76px); padding: 46px 0px 70px; display: grid; }
.instagram-dog-card { color: var(--ink); text-decoration: none; transition: transform 0.24s; display: block; position: relative; }
.instagram-dog-card:first-child { transform: translateY(42px) rotate(-2.4deg); }
.instagram-dog-card:nth-child(2) { transform: translateY(-20px) rotate(1.8deg); }
.instagram-dog-card:nth-child(3) { transform: translate(8%, 54px) rotate(2.2deg); }
.instagram-dog-card:nth-child(4) { transform: translateY(-18px) rotate(-1.6deg); }
.instagram-dog-card:hover { transform: translateY(-8px) rotate(0deg); }
.instagram-dog-card img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center center; width: 100%; display: block; box-shadow: rgba(53, 29, 27, 0.18) 0px 26px 54px; }
.instagram-dog-card:nth-child(2) img, .instagram-dog-card:nth-child(3) img { aspect-ratio: 5 / 4; }
.instagram-dog-card span { border-bottom: 1px solid var(--accent); width: fit-content; color: var(--ink-muted); font-family: var(--font-secondary); margin: 12px 0px 0px auto; font-size: 11px; display: block; }
.concept-photo img { aspect-ratio: 4 / 5; object-position: center center; }
.about-photo-stack { min-height: 650px; padding-bottom: 34px; position: relative; }
.about-photo-stack figure { margin: 0px; }
.about-photo-stack .about-photo-stack__primary { width: min(86%, 470px); margin: 0px 0px 0px auto; transform: rotate(1.8deg); }
.about-photo-stack__primary img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; display: block; box-shadow: rgba(53, 29, 27, 0.2) 0px 30px 64px; }
.about-photo-stack__floating { width: min(48%, 250px); position: absolute; bottom: 74px; right: 60%; transform: rotate(-5deg); }
.about-photo-stack__floating img { aspect-ratio: 1 / 1; object-fit: cover; border: 8px solid var(--surface); width: 100%; display: block; box-shadow: rgba(53, 29, 27, 0.22) 0px 18px 38px; }
.about-photo-stack > p { max-width: 240px; color: var(--ink-muted); font-family: var(--font-secondary); margin: 16px 0px 0px auto; font-size: 11px; }
.conversation-prompts { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; display: grid; }
.conversation-prompt { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); min-height: 220px; padding: 28px; }
.conversation-prompt > span { color: var(--butter); font-family: var(--font-secondary); font-size: 10px; }
.conversation-prompt h3 { color: inherit; letter-spacing: -0.035em; margin: 18px 0px 0px; font-size: clamp(1.3rem, 2vw, 2.1rem); line-height: 1.12; }
.conversation-prompt p { color: color-mix(in srgb, var(--paper) 78%, transparent); margin: 18px 0px 0px; font-size: 14px; }
.about-instagram-window { min-height: 340px; color: var(--paper); text-decoration: none; display: block; position: relative; overflow: hidden; }
.about-instagram-window img { object-fit: cover; width: 100%; height: 100%; min-height: 340px; transition: transform 0.35s; display: block; }
.about-instagram-window::after { content: ""; background: linear-gradient(rgba(0, 0, 0, 0), rgba(53, 29, 27, 0.82)); position: absolute; inset: 45% 0px 0px; }
.about-instagram-window span { z-index: 1; font-family: var(--font-secondary); font-size: 14px; font-weight: 650; position: absolute; bottom: 22px; left: 24px; right: 24px; }
.about-instagram-window:hover img { transform: scale(1.035); }
.contact-method span { color: var(--ink-muted); }
.cta-panel > p, .cta-panel .eyebrow, .contact-cta .text-link { color: var(--paper); }
@media (max-width: 1040px) {
  .visit-list article { grid-template-columns: 44px 1fr; }
  .visit-list p { grid-column: 2; }
}
@media (max-width: 899px) {
  .visit-chapter { grid-template-columns: 1fr; gap: 54px; }
  .visit-title-wrap { position: static; }
  .anxious-feature { grid-template-columns: 1fr; }
  .anxious-photo { clip-path: polygon(0px 0px, 100% 0px, 96% 94%, 3% 100%); min-height: 560px; }
  .closing-cta, .cta-panel { min-height: 520px; }
  .instagram-chapter { grid-template-columns: 1fr; }
  .instagram-chapter__intro { position: static; }
}
@media (max-width: 767px) {
  .hero { grid-template-columns: minmax(0px, 1fr); }
  .visit-list article { grid-template-columns: 40px 1fr; }
  .visit-list p { grid-column: 1 / -1; }
  .anxious-feature { width: 100%; }
  .anxious-photo { min-height: 500px; }
  .anxious-copy { padding: 58px 26px 68px; }
  .faq-chapter { width: 100%; }
  .closing-cta, .cta-panel { width: 100%; margin-bottom: 0px; padding: 70px 24px; }
  .closing-cta .closing-copy { max-width: 88%; }
  .instagram-chapter { width: min(100% - 32px, 1320px); }
  .instagram-dog-cloud { gap: 28px 18px; }
  .instagram-dog-card:first-child, .instagram-dog-card:nth-child(2), .instagram-dog-card:nth-child(3), .instagram-dog-card:nth-child(4) { transform: none; }
  .instagram-dog-card:nth-child(2), .instagram-dog-card:nth-child(4) { margin-top: 48px; }
  .instagram-dog-card span { font-size: 10px; }
  .about-photo-stack { min-height: 440px; }
  .about-photo-stack__primary { width: 82%; }
  .about-photo-stack__floating { width: 46%; bottom: 54px; right: 56%; }
  .conversation-prompts { grid-template-columns: 1fr; }
  .about-hero { padding-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .instagram-dog-card, .instagram-dog-card:hover, .about-instagram-window img, .about-instagram-window:hover img { transition: none; transform: none; }
}
.site-footer .footer-links h2 { color: var(--accent); font-family: var(--font-secondary); letter-spacing: 0.14em; text-transform: uppercase; margin: 0px 0px 12px; font-size: 0.75rem; font-weight: 720; line-height: 1.2; }
.service-ledger { background: 0px 0px; border: 0px; overflow: visible; }
.service-ledger__header { border-bottom: 2px solid var(--ink); padding: 0px 0px clamp(34px, 5vw, 62px); }
.service-ledger__grid { counter-reset: conversation-ledger 0; padding: 0px; display: block; }
.service-ledger__item, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5) { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); counter-increment: conversation-ledger 1; background: 0px 0px; grid-template-columns: 64px minmax(190px, 0.7fr) minmax(0px, 1.3fr); align-items: baseline; gap: clamp(18px, 4vw, 54px); min-height: 0px; padding: clamp(28px, 4vw, 46px) 0px; display: grid; }
.service-ledger__item::before { content: counter(conversation-ledger, decimal-leading-zero); color: var(--accent); font-family: var(--font-secondary); letter-spacing: 0.08em; font-size: 0.72rem; font-weight: 720; }
.service-ledger__item h4 { font-family: var(--font-primary); letter-spacing: -0.035em; font-size: clamp(1.45rem, 2.4vw, 2.3rem); font-weight: 540; line-height: 1.05; }
.service-ledger__item p { margin: 0px; font-size: 0.95rem; }
.pricing-options { border-top: 1px solid rgba(255, 255, 255, 0.3); display: block; }
.pricing-options li { justify-content: initial; background: 0px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.3); border-image: none; border-radius: 0px; grid-template-columns: 24px minmax(0px, 1fr); min-height: 0px; padding: 19px 0px; display: grid; }
.pricing-options li::before { content: ""; background: var(--butter); width: 10px; height: 1px; margin-top: 0.7em; }
.visit-flow__list { border-top: 2px solid var(--ink); display: block; }
.visit-flow__list li, .visit-flow__list li:first-child { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: 0px 0px; grid-template-columns: 72px minmax(0px, 1fr); align-items: start; width: 88%; min-height: 0px; padding: clamp(34px, 5vw, 58px) 0px; display: grid; }
.visit-flow__list li:nth-child(2n) { margin-left: auto; }
.visit-flow__list li::before { color: var(--accent); letter-spacing: 0.08em; margin: 7px 0px 0px; font-size: 0.72rem; font-weight: 720; }
.visit-flow__list h3 { font-size: clamp(1.85rem, 3.3vw, 3.7rem); }
.visit-flow__list p { max-width: 43rem; font-size: 0.95rem; }
.topic-grid { border-top: 2px solid var(--ink); gap: 0px clamp(28px, 5vw, 70px); }
.topic-grid li { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: 0px 0px; border-radius: 0px; min-height: 0px; padding: 26px 0px; }
.topic-grid li span { max-width: 28rem; font-family: var(--font-primary); font-size: clamp(1.15rem, 2vw, 1.65rem); font-weight: 520; line-height: 1.12; }
.topic-grid small { margin-top: 22px; }
.about-facts { border-block: 2px solid var(--ink); grid-template-columns: 1.15fr 0.8fr 1.3fr; gap: 0px; }
.about-fact, .about-fact--primary, .about-fact--wide { border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 1px solid var(--line); min-height: 190px; color: var(--ink); background: 0px 0px; padding: 28px clamp(20px, 3vw, 42px); }
.about-fact:first-child { border-left: 0px; padding-left: 0px; }
.about-fact dd { font-size: clamp(1.7rem, 2.8vw, 3.15rem); }
.conversation-prompts { border-top: 1px solid rgba(255, 255, 255, 0.24); grid-template-columns: 1fr; gap: 0px; }
.conversation-prompt { background: 0px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.24); border-image: none; grid-template-columns: 44px minmax(120px, 0.55fr) minmax(0px, 1fr); align-items: baseline; gap: 20px; min-height: 0px; padding: 26px 0px; display: grid; }
.conversation-prompt h3, .conversation-prompt p { margin: 0px; }
.care-question-grid { border-block: 2px solid var(--ink); grid-template-columns: 1fr; gap: 0px; }
.care-question, .care-question--featured { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: 0px 0px; grid-template-columns: minmax(220px, 0.8fr) minmax(0px, 1.2fr); align-items: start; gap: clamp(28px, 6vw, 90px); min-height: 0px; padding: clamp(28px, 4vw, 44px) 0px; display: grid; }
.care-question:last-child { border-bottom: 0px; }
.care-question h3, .care-question p { margin: 0px; }
.enquiry-form { background: 0px 0px; border: 0px; padding: 0px; }
.information-list { border-top: 2px solid var(--ink); counter-reset: contact-notes 0; display: block; }
.information-list li { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); counter-increment: contact-notes 1; background: 0px 0px; grid-template-columns: 58px minmax(180px, 0.72fr) minmax(0px, 1.28fr); align-items: baseline; gap: clamp(16px, 4vw, 48px); min-height: 0px; padding: clamp(24px, 4vw, 40px) 0px; display: grid; }
.information-list li::before { content: counter(contact-notes, decimal-leading-zero); color: var(--accent); font-family: var(--font-secondary); letter-spacing: 0.08em; font-size: 0.72rem; font-weight: 720; }
.information-list strong { color: var(--spruce-strong); font-family: var(--font-primary); font-size: clamp(1.25rem, 2.3vw, 2rem); font-weight: 540; line-height: 1.1; }
.visit-details { border-top: 2px solid var(--ink); gap: 0px; }
.visit-detail, .visit-detail--confirmed { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: 0px 0px; min-height: 0px; padding: 26px 0px; }
.visit-detail:nth-child(2n+1) { padding-right: clamp(20px, 4vw, 48px); }
.visit-detail:nth-child(2n) { border-left: 1px solid var(--line); padding-left: clamp(20px, 4vw, 48px); }
.visit-detail dd { margin-top: 24px; }
@media (max-width: 767px) {
  .service-ledger__header { grid-template-columns: 1fr; }
  .service-ledger__item, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5), .information-list li, .conversation-prompt { grid-template-columns: 42px minmax(0px, 1fr); }
  .service-ledger__item p, .information-list li > span, .conversation-prompt p { grid-column: 2; }
  .care-question, .care-question--featured { grid-template-columns: 1fr; gap: 14px; }
  .care-question p { grid-column: auto; }
  .visit-flow__list li, .visit-flow__list li:first-child { width: 100%; }
  .about-facts, .visit-details { grid-template-columns: 1fr; }
  .about-fact, .about-fact--primary, .about-fact--wide { border-left: 0px; border-bottom: 1px solid var(--line); min-height: 0px; padding: 28px 0px; }
  .about-fact:last-child { border-bottom: 0px; }
  .visit-detail:nth-child(2n+1), .visit-detail:nth-child(2n) { border-left: 0px; padding: 24px 0px; }
}
.brand-motif { pointer-events: none; }
.brand-motif path { stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4px; vector-effect: non-scaling-stroke; }
.fur-trail path:last-child, .comb-sweep path:last-child { stroke-width: 2px; }
.editorial-story { background: radial-gradient(circle at 88% 18%, #e8c97970 0 8%, transparent 8.3%), linear-gradient(168deg, var(--paper) 0 62%, color-mix(in srgb, var(--dusty-blue) 62%, var(--paper)) 62.2% 100%); width: 100%; max-width: none; padding-inline: max(24px, -660px + 50vw); position: relative; overflow: clip; }
.story-comb { width: clamp(220px, 31vw, 470px); color: var(--accent); opacity: 0.55; position: absolute; top: 40px; right: -48px; transform: rotate(9deg); }
.editorial-story .chapter-heading, .editorial-story .story-grid { z-index: 1; position: relative; }
.story-photo { align-self: start; transform: rotate(-1.5deg); }
.story-photo__frame { clip-path: polygon(0px 9%, 91% 0px, 100% 86%, 11% 100%); }
.story-statement { border: 0px; margin-top: clamp(40px, 7vw, 104px); padding-inline: clamp(0px, 2vw, 32px); }
.story-statement::before { content: ""; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 7px); width: 84px; height: 10px; margin-bottom: 34px; display: block; }
.story-notes { border: 0px; grid-template-columns: 0.9fr 1.28fr 0.82fr; align-items: start; gap: clamp(14px, 3vw, 44px); min-height: 520px; padding-top: clamp(90px, 11vw, 150px); }
.story-notes article, .story-notes article + article { border: 0px; min-height: 270px; padding: clamp(30px, 4vw, 50px); position: relative; }
.story-notes article:first-child { background: var(--butter); clip-path: polygon(3% 0px, 100% 8%, 93% 100%, 0px 88%); margin-top: 82px; transform: rotate(-2deg); }
.story-notes article:nth-child(2) { background: var(--paper); clip-path: polygon(7% 3%, 95% 0px, 100% 91%, 0px 100%); transform: rotate(1.25deg); }
.story-notes article:nth-child(3) { background: var(--accent); color: var(--paper); clip-path: polygon(0px 9%, 93% 0px, 100% 89%, 7% 100%); margin-top: 118px; transform: rotate(2.4deg); }
.story-notes article:nth-child(3) span, .story-notes article:nth-child(3) h3, .story-notes article:nth-child(3) p { color: var(--paper); }
.story-notes h3 { padding-top: 48px; }
.visit-chapter { background: var(--accent); width: 100%; max-width: none; min-height: 720px; color: var(--paper); border-radius: 48% 52% 0px 0px / 8vw 8vw 0px 0px; padding: clamp(148px, 15vw, 220px) max(24px, -660px + 50vw) clamp(120px, 13vw, 190px); display: block; position: relative; overflow: clip; }
.visit-fur-trail { width: min(970px, 74vw); color: var(--butter); opacity: 0.5; position: absolute; top: 55%; left: 19%; transform: translateY(-50%) rotate(-6deg); }
.visit-title-wrap { z-index: 1; max-width: 780px; position: relative; top: auto; }
.visit-title-wrap .eyebrow, .visit-title-wrap h2, .visit-list h3, .visit-list p, .visit-list article:nth-child(2) p { color: var(--paper); }
.visit-chapter .visit-title-wrap > p { color: var(--paper); opacity: 0.82; }
.visit-title-wrap h2 { font-size: clamp(3.5rem, 7vw, 7.6rem); }
.visit-list { z-index: 1; border: 0px; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: clamp(30px, 5vw, 72px); margin-top: clamp(70px, 9vw, 130px); display: grid; position: relative; }
.visit-list article, .visit-list article:nth-child(2), .visit-list article:nth-child(3) { min-height: 300px; color: var(--paper); border: 0px; padding: 0px; display: block; }
.visit-list article:nth-child(2) { margin-top: 94px; }
.visit-list article:nth-child(3) { margin-top: 24px; }
.visit-list article > span { border: 2px solid var(--butter); width: 54px; height: 54px; color: var(--butter); border-radius: 50%; place-items: center; margin: 0px 0px 28px; display: grid; }
.visit-list h3 { max-width: 12ch; }
.visit-list p, .visit-list article:nth-child(2) p { opacity: 0.78; max-width: 29rem; margin-top: 20px; }
.instagram-chapter { background: radial-gradient(ellipse 52% 44% at 76% 48%, color-mix(in srgb, var(--dusty-blue) 70%, var(--paper)) 0 68%, transparent 69%), var(--paper); width: 100%; max-width: none; padding-inline: max(24px, -660px + 50vw); position: relative; overflow: clip; }
.instagram-fur-trail { width: min(760px, 62vw); color: var(--accent); opacity: 0.32; position: absolute; bottom: 6%; right: -6%; transform: rotate(8deg); }
.instagram-chapter__intro, .instagram-dog-cloud { z-index: 1; position: relative; }
.instagram-dog-card img { box-shadow: rgba(53, 29, 27, 0.11) 18px 24px; }
.instagram-dog-card:nth-child(2) img { clip-path: polygon(0px 5%, 100% 0px, 94% 100%, 6% 91%); }
.instagram-dog-card:nth-child(3) img { clip-path: polygon(5% 0px, 94% 7%, 100% 92%, 0px 100%); }
.anxious-feature { clip-path: ellipse(93% 100% at 50% 100%); }
.proof-chapter { background: var(--butter); clip-path: polygon(0px 6vw, 100% 0px, 100% 100%, 0px 100%); width: 100%; max-width: none; padding-inline: max(24px, -620px + 50vw); position: relative; overflow: clip; }
.proof-comb { width: clamp(220px, 34vw, 500px); color: var(--accent); opacity: 0.34; position: absolute; bottom: -32px; left: -40px; }
.proof-intro, .proof-timeline { z-index: 1; position: relative; }
.proof-timeline { border: 0px; }
.proof-timeline li { border-top: 2px solid var(--ink); width: 76%; min-height: 0px; padding: 38px 0px 44px; }
.proof-timeline li:nth-child(2) { margin-left: 12%; }
.proof-timeline li:nth-child(3) { margin-left: 24%; }
.faq-chapter { background: var(--dusty-blue); border-radius: 50% 50% 0px 0px / 6vw 6vw 0px 0px; padding-top: clamp(150px, 15vw, 220px); }
.closing-cta { background: radial-gradient(circle at 86% 16%, #e8c9792e 0 13%, transparent 13.4%), var(--spruce-strong); clip-path: polygon(0px 0px, 96% 5%, 100% 100%, 0px 100%); min-height: 700px; }
.services-page main, .about-page main, .contact-page main { overflow: clip; }
.services-page .truth-strip { clip-path: polygon(0px 15%, 100% 0px, 98% 84%, 2% 100%); width: 104%; margin-left: -2%; padding-inline: max(42px, -630px + 50vw); position: relative; transform: rotate(-1deg); }
.service-menu { background: radial-gradient(circle at 84% 29%, #e8c9798f 0 11%, transparent 11.3%), var(--paper); width: 100%; max-width: none; padding-inline: max(24px, -620px + 50vw); position: relative; }
.service-menu-comb { width: clamp(250px, 33vw, 480px); color: var(--dusty-blue-deep); opacity: 0.38; position: absolute; top: 70px; right: -70px; transform: rotate(12deg); }
.service-menu .section-heading, .service-ledger { z-index: 1; position: relative; }
.service-ledger__header { border-bottom: 0px; width: min(88%, 1040px); padding-bottom: 54px; }
.service-ledger__header::after { content: ""; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 8px); width: min(700px, 72%); height: 9px; margin-top: 34px; display: block; }
.service-ledger__grid { counter-reset: conversation-ledger 0; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 18px; display: grid; }
.service-ledger__item, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(5) { background: 0px 0px; border: 0px; min-height: 250px; padding: clamp(30px, 4vw, 50px); display: block; position: relative; }
.service-ledger__item:first-child { background: var(--dusty-blue); clip-path: polygon(0px 7%, 96% 0px, 100% 88%, 8% 100%); grid-column: 1 / span 5; transform: rotate(-1.4deg); }
.service-ledger__item:nth-child(2) { background: var(--butter); clip-path: polygon(5% 0px, 100% 8%, 93% 100%, 0px 91%); grid-column: 7 / -1; margin-top: 86px; transform: rotate(1.7deg); }
.service-ledger__item:nth-child(3) { background: var(--surface); clip-path: polygon(0px 4%, 93% 0px, 100% 94%, 6% 100%); grid-column: 2 / span 6; margin-top: 16px; transform: rotate(0.9deg); }
.service-ledger__item:nth-child(4) { background: var(--accent); color: var(--paper); clip-path: polygon(7% 0px, 100% 5%, 94% 100%, 0px 91%); grid-column: 8 / -1; margin-top: 72px; transform: rotate(-1.8deg); }
.service-ledger__item::before { border: 1px solid; border-radius: 50%; place-items: center; width: 48px; height: 48px; margin-bottom: 44px; display: grid; }
.service-ledger__item h4 { font-size: clamp(1.8rem, 3vw, 3.3rem); }
.service-ledger__item p { max-width: 36rem; margin-top: 18px; }
.service-ledger__item:nth-child(4) h4, .service-ledger__item:nth-child(4) p, .service-ledger__item:nth-child(4)::before { color: var(--paper); }
.pricing-panel { background: var(--spruce-strong); border-radius: 48% 52% 0px 0px / 8vw 8vw 0px 0px; width: 100%; max-width: none; min-height: 720px; padding: clamp(150px, 16vw, 230px) max(24px, -620px + 50vw) clamp(120px, 13vw, 180px); position: relative; overflow: clip; }
.pricing-fur-trail { width: min(940px, 74vw); color: var(--butter); opacity: 0.38; position: absolute; bottom: 4%; right: -4%; transform: rotate(-5deg); }
.pricing-panel__statement, .pricing-options { z-index: 1; position: relative; }
.pricing-panel h2 { font-size: clamp(3.5rem, 6.5vw, 7.4rem); }
.pricing-options { border-top: 0px; }
.pricing-options li { border-color: rgba(255, 255, 255, 0.25); padding-block: 24px; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.visit-flow { width: min(100% - 48px, 1160px); padding-bottom: clamp(140px, 16vw, 230px); position: relative; }
.service-flow-trail { width: 1040px; color: var(--dusty-blue-deep); opacity: 0.26; position: absolute; top: 48%; left: 50%; transform: translate(-50%, -50%) rotate(79deg); }
.visit-flow .section-heading, .visit-flow__list { z-index: 1; position: relative; }
.visit-flow__list { border: 0px; }
.visit-flow__list li, .visit-flow__list li:first-child { background: var(--surface); clip-path: polygon(0px 5%, 96% 0px, 100% 91%, 5% 100%); border: 0px; grid-template-columns: 64px 1fr; width: 58%; min-height: 230px; padding: clamp(34px, 5vw, 58px); display: grid; }
.visit-flow__list li:nth-child(2n) { background: var(--dusty-blue); clip-path: polygon(6% 0px, 100% 7%, 94% 100%, 0px 90%); margin-left: auto; }
.visit-flow__list li:nth-child(3) { background: var(--butter); }
.visit-flow__list li + li { margin-top: -16px; }
.visit-flow__list li::before { border: 1px solid; border-radius: 50%; place-items: center; width: 46px; height: 46px; display: grid; }
.arrival-section { background: var(--dusty-blue); clip-path: polygon(0px 5vw, 100% 0px, 100% 100%, 0px 100%); width: 100%; max-width: none; padding-inline: max(24px, -620px + 50vw); position: relative; overflow: clip; }
.arrival-comb { width: clamp(260px, 36vw, 520px); color: var(--accent); opacity: 0.38; position: absolute; bottom: -40px; right: -70px; }
.arrival-section__intro, .topic-grid { z-index: 1; position: relative; }
.topic-grid { columns: 230px 3; border: 0px; column-gap: clamp(28px, 5vw, 72px); display: block; }
.topic-grid li { break-inside: avoid; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 2px solid var(--ink); background: 0px 0px; min-height: 150px; margin: 0px 0px 36px; padding: 0px 0px 28px; }
.topic-grid li:nth-child(2n) { padding-top: 54px; }
.topic-grid li span { font-size: clamp(1.5rem, 2.5vw, 2.7rem); }
.care-principles { background: var(--butter); clip-path: polygon(0px 9%, 97% 0px, 100% 90%, 5% 100%); width: min(100% - 48px, 1320px); padding: clamp(70px, 8vw, 110px); }
.approval-note { border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 3px solid var(--accent); background: 0px 0px; padding: 0px 0px 0px clamp(30px, 5vw, 72px); }
.policies-section, .faq-section { width: min(100% - 48px, 1080px); }
.faq-section { background: color-mix(in srgb, var(--dusty-blue) 28%, var(--paper)); border-radius: 50% 50% 0px 0px / 5vw 5vw 0px 0px; width: 100%; max-width: none; padding-inline: max(24px, -540px + 50vw); }
.services-page .cta-panel { clip-path: polygon(0px 0px, 96% 5%, 100% 100%, 0px 100%); }
.about-foundation { background: var(--dusty-blue); border-radius: 50% 50% 0px 0px / 6vw 6vw 0px 0px; width: 100%; max-width: none; padding-inline: max(24px, -620px + 50vw); position: relative; overflow: clip; }
.about-foundation-comb { width: clamp(260px, 36vw, 520px); color: var(--accent); opacity: 0.36; position: absolute; top: 48px; right: -80px; transform: rotate(11deg); }
.about-foundation .section-heading, .about-facts { z-index: 1; position: relative; }
.about-foundation .section-heading > p:last-child, .arrival-section .arrival-section__intro > p:last-child, .contact-practical .section-heading > p:last-child { color: var(--ink); }
.about-facts { border: 0px; min-height: 410px; display: block; position: relative; }
.about-fact, .about-fact--primary, .about-fact--wide { width: auto; min-height: 0px; color: var(--ink); background: 0px 0px; border: 0px; padding: 0px; position: absolute; }
.about-fact:first-child { max-width: 330px; top: 22px; left: 0px; }
.about-fact:nth-child(2) { max-width: 270px; top: 168px; left: 36%; }
.about-fact:nth-child(3) { max-width: 390px; top: 30px; right: 0px; }
.about-fact::after { content: ""; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 8px); width: 88px; height: 7px; margin-top: 24px; display: block; }
.about-fact dd { margin-top: 12px; font-size: clamp(2.2rem, 4.8vw, 5.3rem); }
.about-team { background: var(--spruce-strong); width: 100%; max-width: none; color: var(--paper); clip-path: polygon(0px 6vw, 100% 0px, 100% 100%, 0px 100%); padding-inline: max(24px, -620px + 50vw); position: relative; overflow: clip; }
.about-team-trail { width: min(900px, 70vw); color: var(--butter); opacity: 0.34; position: absolute; bottom: 10%; right: -8%; transform: rotate(-7deg); }
.about-team .section-heading, .team-status-panel { z-index: 1; position: relative; }
.about-team .section-heading h2, .about-team .section-heading p { color: var(--paper); }
.team-status-panel { background: 0px 0px; padding: 0px; }
.team-status-copy h3 { color: var(--butter); font-size: clamp(3rem, 6vw, 6.7rem); }
.conversation-prompt { grid-template-columns: 54px minmax(140px, 0.55fr) minmax(0px, 1fr); }
.about-care { width: min(100% - 48px, 1120px); }
.care-question-grid { border: 0px; }
.care-question, .care-question--featured { background: var(--surface); clip-path: polygon(0px 6%, 96% 0px, 100% 89%, 5% 100%); border: 0px; width: 82%; padding: clamp(32px, 5vw, 56px); }
.care-question:nth-child(2) { background: var(--dusty-blue); clip-path: polygon(6% 0px, 100% 7%, 94% 100%, 0px 90%); margin-left: auto; }
.care-question:nth-child(3) { background: var(--butter); width: 66%; margin-left: 9%; }
.care-question + .care-question { margin-top: -10px; }
.about-place { background: var(--accent); width: 100%; max-width: none; color: var(--paper); grid-template-columns: minmax(0px, 0.78fr) minmax(0px, 1.22fr); gap: 0px; padding: 0px; }
.about-place__copy { padding: clamp(70px, 9vw, 130px) max(36px, -620px + 50vw); }
.about-place__copy h2, .about-place__copy p, .about-place__copy .eyebrow { color: var(--paper); }
.about-instagram-window { clip-path: ellipse(78% 100% at 78% center); min-height: 620px; }
.about-cta { background: var(--dusty-blue); color: var(--ink); clip-path: polygon(0px 5%, 100% 0px, 96% 100%, 4% 94%); }
.about-cta h2, .about-cta p, .about-cta .eyebrow { color: var(--ink); }
.contact-hero { min-height: min(720px, 100dvh - 76px); position: relative; }
.contact-hero-comb { width: clamp(250px, 32vw, 470px); color: var(--accent); opacity: 0.34; position: absolute; bottom: 40px; right: -80px; transform: rotate(14deg); }
.contact-hero__copy, .contact-quick-card { z-index: 1; position: relative; }
.contact-hero h1 { max-width: 700px; }
.contact-hero-actions { margin-top: 36px; }
.contact-quick-card { background: var(--dusty-blue); max-width: 570px; color: var(--ink); border-radius: 46% 54% 44% 56% / 37% 35% 65% 63%; margin-left: auto; padding: clamp(44px, 5vw, 68px); font-style: normal; overflow: hidden; }
.contact-quick-card::after { content: ""; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 8px); width: 126px; height: 9px; position: absolute; bottom: 42px; right: 38px; }
.contact-quick-card .contact-card-intro { color: var(--ink); opacity: 0.7; }
.contact-quick-card__phone, .contact-quick-card__email { overflow-wrap: anywhere; text-underline-offset: 8px; text-decoration-thickness: 2px; display: block; }
.contact-quick-card__phone { font-family: var(--font-primary); letter-spacing: -0.05em; margin-top: 24px; font-size: clamp(2.4rem, 4vw, 4.6rem); font-weight: 560; line-height: 0.95; }
.contact-quick-card__email { margin-top: 28px; font-size: clamp(0.95rem, 1.4vw, 1.2rem); }
.contact-social-links { flex-wrap: wrap; gap: 14px 28px; margin-top: 44px; display: flex; }
.contact-social-links a { text-underline-offset: 5px; font-weight: 650; }
.contact-location { margin: 40px 0px 0px; font-size: 0.82rem; font-weight: 650; }
.contact-form-section { grid-template-columns: minmax(260px, 0.7fr) minmax(0px, 1.3fr); align-items: start; gap: clamp(56px, 9vw, 130px); width: min(100% - 48px, 1120px); padding-block: clamp(90px, 10vw, 140px); display: grid; position: relative; }
.contact-form-heading { margin: 0px; position: sticky; top: 110px; }
.contact-prep-list { border-top: 2px solid var(--ink); margin: 0px; padding: 0px; list-style: none; }
.contact-prep-list li { border-bottom: 1px solid var(--line); grid-template-columns: 52px minmax(0px, 1fr); gap: 24px; padding: clamp(28px, 4vw, 44px) 0px; display: grid; }
.contact-prep-list > li > span { color: var(--accent); font-family: var(--font-secondary); letter-spacing: 0.08em; padding-top: 5px; font-size: 0.72rem; font-weight: 720; }
.contact-prep-list strong { color: var(--spruce-strong); font-family: var(--font-primary); font-size: clamp(1.55rem, 2.6vw, 2.4rem); font-weight: 540; line-height: 1.05; }
.contact-prep-list p { max-width: 37rem; color: var(--ink-muted); margin: 12px 0px 0px; }
.contact-health-note { background: var(--butter); width: 100%; padding: 34px max(24px, -560px + 50vw); }
.contact-health-note > div { justify-content: space-between; align-items: baseline; gap: 32px; display: flex; }
.contact-health-note h2, .contact-health-note p { margin: 0px; }
.contact-health-note h2 { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.1; }
.contact-health-note p { color: var(--ink); font-size: 0.95rem; }
.contact-action-band { background: var(--spruce-strong); min-height: 480px; color: var(--paper); clip-path: polygon(0px 5vw, 100% 0px, 100% 100%, 0px 100%); grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: 60px; padding: clamp(90px, 10vw, 140px) max(24px, -620px + 50vw); display: grid; }
.contact-action-band h2 { max-width: 780px; color: var(--paper); letter-spacing: -0.055em; text-wrap: balance; margin: 0px; font-size: clamp(3.1rem, 6vw, 6.6rem); font-weight: 520; line-height: 0.9; }
.contact-action-band .eyebrow, .contact-action-band .text-link { color: var(--paper); }
.contact-action-band__actions { flex-direction: column; align-items: center; gap: 24px; display: flex; }
.contact-action-band .button-light { background: var(--butter); color: var(--ink); }
.site-footer { background: var(--dusty-blue); border: 0px; border-radius: 50% 50% 0px 0px / 7vw 7vw 0px 0px; width: 100%; max-width: none; min-height: 590px; margin-top: 0px; padding: clamp(150px, 15vw, 220px) max(24px, -660px + 50vw) 36px; position: relative; overflow: clip; }
.site-footer::after { content: "MUCKY PAWS"; color: rgba(243, 235, 221, 0.2); font-family: var(--font-primary); letter-spacing: -0.08em; white-space: nowrap; pointer-events: none; font-size: clamp(7rem, 19vw, 20rem); font-weight: 650; line-height: 0.8; position: absolute; bottom: -0.23em; right: -0.04em; }
.footer-fur-trail { width: min(920px, 68vw); color: var(--accent); opacity: 0.42; position: absolute; top: 34px; right: -3%; transform: rotate(-4deg); }
.footer-lead, .footer-links, .footer-base { z-index: 1; position: relative; }
.footer-lead p, .footer-links a, .footer-base { color: var(--ink); }
.site-footer .footer-links h2 { color: var(--accent); }
.footer-base { border-color: rgba(37, 30, 27, 0.35); }
@media (max-width: 1040px) {
  .visit-list { grid-template-columns: 1fr; gap: 56px; }
  .visit-list article, .visit-list article:nth-child(2), .visit-list article:nth-child(3) { width: min(82%, 660px); min-height: 0px; margin: 0px; }
  .visit-list article:nth-child(2) { margin-left: 14%; }
  .visit-list article:nth-child(3) { margin-left: 7%; }
  .story-notes { min-height: 470px; }
  .about-fact:nth-child(2) { left: 31%; }
  .about-fact:nth-child(3) { max-width: 330px; }
  .visit-details { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 767px) {
  .editorial-story, .visit-chapter, .instagram-chapter, .proof-chapter, .faq-chapter, .service-menu, .pricing-panel, .arrival-section, .about-foundation, .about-team, .contact-form-section, .contact-practical, .site-footer { padding-inline: 24px; }
  .story-comb, .service-menu-comb, .about-foundation-comb, .contact-hero-comb { width: 230px; right: -92px; }
  .story-notes { min-height: 0px; padding-top: 70px; display: block; }
  .story-notes article, .story-notes article + article, .story-notes article:first-child, .story-notes article:nth-child(2), .story-notes article:nth-child(3) { width: 88%; min-height: 240px; margin: -18px 0px 0px; }
  .story-notes article:nth-child(2) { margin-left: auto; }
  .story-notes article:nth-child(3) { width: 82%; margin-left: 6%; }
  .visit-chapter, .faq-chapter, .pricing-panel, .about-foundation, .site-footer { border-radius: 50% 50% 0px 0px / 36px 36px 0px 0px; }
  .visit-title-wrap h2, .pricing-panel h2 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .visit-list article, .visit-list article:nth-child(2), .visit-list article:nth-child(3) { width: 100%; margin-left: 0px; }
  .instagram-chapter { background: radial-gradient(ellipse 70% 34% at 78% 63%, color-mix(in srgb, var(--dusty-blue) 70%, var(--paper)) 0 68%, transparent 69%), var(--paper); }
  .instagram-fur-trail { width: 620px; right: -70%; }
  .anxious-feature { clip-path: ellipse(120% 100% at 50% 100%); }
  .proof-chapter, .arrival-section, .about-team, .contact-practical { clip-path: polygon(0px 38px, 100% 0px, 100% 100%, 0px 100%); }
  .proof-timeline li, .proof-timeline li:nth-child(2), .proof-timeline li:nth-child(3) { width: 100%; margin-left: 0px; }
  .services-page .truth-strip { width: 108%; margin-left: -4%; padding-inline: 32px; }
  .service-ledger__header { width: 100%; }
  .service-ledger__grid { display: block; }
  .service-ledger__item, .service-ledger__item:first-child, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(3), .service-ledger__item:nth-child(4) { width: 90%; min-height: 250px; margin: -16px 0px 0px; }
  .service-ledger__item:nth-child(2n) { margin-left: auto; }
  .pricing-panel { grid-template-columns: 1fr; }
  .pricing-fur-trail { width: 680px; right: -80%; }
  .visit-flow__list li, .visit-flow__list li:first-child, .visit-flow__list li:nth-child(2n) { width: 94%; margin-left: 0px; }
  .visit-flow__list li:nth-child(2n) { margin-left: auto; }
  .service-flow-trail, .contact-form-trail { opacity: 0.18; width: 800px; }
  .topic-grid { columns: 1; }
  .topic-grid li:nth-child(2n) { padding-top: 0px; }
  .care-principles { grid-template-columns: 1fr; padding: 70px 34px; }
  .approval-note { border-top: 3px solid var(--accent); border-left: 0px; padding: 30px 0px 0px; }
  .about-facts { min-height: 0px; }
  .about-fact, .about-fact--primary, .about-fact--wide, .about-fact:first-child, .about-fact:nth-child(2), .about-fact:nth-child(3) { border-bottom: 1px solid rgba(37, 30, 27, 0.28); max-width: none; padding: 30px 0px; position: static; }
  .about-fact dd { font-size: clamp(2.5rem, 13vw, 4.2rem); }
  .team-status-panel { grid-template-columns: 1fr; }
  .conversation-prompt { grid-template-columns: 44px 1fr; }
  .care-question, .care-question--featured, .care-question:nth-child(2), .care-question:nth-child(3) { grid-template-columns: 1fr; width: 94%; margin-left: 0px; }
  .care-question:nth-child(2) { margin-left: auto; }
  .about-place { grid-template-columns: 1fr; }
  .about-place__copy { padding: 84px 24px; }
  .about-instagram-window { clip-path: ellipse(96% 72% at 50% 72%); min-height: 460px; }
  .contact-hero { padding-bottom: 90px; }
  .contact-hero-actions { align-items: flex-start; }
  .contact-quick-card { border-radius: 42% 58% 46% 54% / 18% 20% 80% 82%; width: 100%; max-width: none; margin: 18px 0px 0px; padding: 46px 34px; }
  .contact-quick-card__phone { font-size: clamp(2.3rem, 12vw, 3.5rem); }
  .contact-quick-card::after { bottom: 30px; right: 28px; }
  .contact-form-section { grid-template-columns: 1fr; gap: 48px; }
  .contact-form-heading { position: static; }
  .contact-prep-list li { grid-template-columns: 42px minmax(0px, 1fr); gap: 16px; }
  .contact-health-note { padding-inline: 24px; }
  .contact-health-note > div { flex-direction: column; align-items: flex-start; gap: 10px; }
  .contact-action-band { clip-path: polygon(0px 36px, 100% 0px, 100% 100%, 0px 100%); grid-template-columns: 1fr; align-items: start; gap: 54px; min-height: 560px; padding: 110px 24px 90px; }
  .contact-action-band__actions { align-items: flex-start; }
  .site-footer { min-height: 730px; }
  .footer-fur-trail { width: 650px; right: -95%; }
  .site-footer::after { font-size: 29vw; bottom: -0.05em; }
}
@media (prefers-reduced-motion: reduce) {
  .story-photo, .story-notes article, .service-ledger__item, .contact-hero__visual, .contact-methods { transform: none; }
}
.desktop-nav a, .desktop-nav a:hover, .desktop-nav a[aria-current="page"] { text-decoration: none; }
.services-page .truth-strip { background: radial-gradient(circle at 50% 50%, var(--butter) 0 58px, transparent 59px), linear-gradient(102deg, var(--dusty-blue) 0 50%, color-mix(in srgb, var(--dusty-blue) 68%, var(--paper)) 50% 100%); clip-path: polygon(0px 12%, 100% 0px, 100% 88%, 0px 100%); border-block: 1px solid rgba(53, 29, 27, 0.24); grid-template-columns: repeat(2, minmax(0px, 1fr)); width: 100%; min-height: 190px; margin: 0px; padding: 0px max(24px, -620px + 50vw); display: grid; position: relative; overflow: hidden; transform: none; }
.services-page .truth-strip::after { content: ""; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 9px); width: 230px; height: 10px; position: absolute; bottom: 34px; left: 50%; transform: translate(-50%) rotate(-3deg); }
.services-page .truth-strip > div { grid-template-rows: auto auto; grid-template-columns: 52px minmax(0px, 1fr); align-content: center; column-gap: 24px; min-width: 0px; padding: 54px clamp(26px, 5vw, 76px); display: grid; }
.services-page .truth-strip > div + div { border-left: 1px solid rgba(53, 29, 27, 0.24); }
.truth-strip__number { color: var(--accent); font-family: var(--font-primary); grid-row: 1 / span 2; align-self: center; font-size: 1.5rem; font-weight: 650; }
.services-page .truth-strip .eyebrow { color: var(--ink); margin: 0px 0px 8px; }
.services-page .truth-strip > div > p:last-child { max-width: 20rem; color: var(--ink); font-family: var(--font-primary); letter-spacing: -0.035em; font-size: clamp(1.25rem, 2.2vw, 2rem); font-weight: 560; line-height: 1.05; }
.service-menu { background: radial-gradient(ellipse at 92% 18%, #e8c9796b 0 13%, transparent 13.3%), linear-gradient(90deg, transparent 0 49.92%, #351d1b14 49.92% 50.08%, transparent 50.08%), var(--paper); padding-top: clamp(120px, 12vw, 180px); padding-bottom: clamp(130px, 14vw, 210px); }
.service-menu-comb { opacity: 0.24; top: 110px; right: -110px; }
.service-menu > .section-heading { width: min(100%, 900px); margin-bottom: clamp(74px, 8vw, 116px); }
.service-menu > .section-heading h2 { max-width: 760px; }
.service-ledger { grid-template-columns: minmax(280px, 0.78fr) minmax(0px, 1.22fr); align-items: start; gap: clamp(70px, 9vw, 150px); display: grid; }
.service-ledger__header { border-block: 2px solid var(--ink); width: auto; padding: 36px 0px 46px; position: sticky; top: 116px; }
.service-ledger__header > div, .service-ledger__header > p { width: auto; max-width: 30rem; }
.service-ledger__header h3 { margin-top: 18px; font-size: clamp(2.6rem, 4vw, 4.8rem); line-height: 0.96; }
.service-ledger__header > p { margin-top: 34px; font-size: 1.05rem; line-height: 1.65; }
.service-ledger__header::after { width: 100%; margin-top: 42px; }
.service-ledger__grid { border-top: 2px solid var(--ink); display: block; position: relative; }
.service-ledger__item, .service-ledger__item:first-child, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(3), .service-ledger__item:nth-child(4) { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); width: 100%; min-height: 0px; color: var(--ink); clip-path: none; background: 0px 0px; grid-template-rows: auto auto; grid-template-columns: 72px minmax(0px, 1fr); align-items: start; column-gap: clamp(24px, 4vw, 52px); margin: 0px; padding: clamp(34px, 4.8vw, 64px) 0px; display: grid; transform: none; }
.service-ledger__item::before { background: var(--dusty-blue); width: 52px; height: 52px; color: var(--ink); border: 0px; border-radius: 50% 44% 56% 48%; grid-area: 1 / 1 / span 2; margin: 0px; }
.service-ledger__item:nth-child(2)::before, .service-ledger__item:nth-child(4)::before { background: var(--butter); }
.service-ledger__item:nth-child(3)::before { background: var(--accent); color: var(--paper); }
.service-ledger__item h4, .service-ledger__item:nth-child(4) h4 { color: var(--ink); grid-column: 2; font-size: clamp(1.9rem, 3vw, 3.2rem); line-height: 1; }
.service-ledger__item p, .service-ledger__item:nth-child(4) p { max-width: 42rem; color: var(--muted); grid-column: 2; margin-top: 18px; font-size: 1rem; line-height: 1.65; }
.pricing-panel__statement > p:last-child { max-width: 42rem; margin-top: clamp(38px, 4.5vw, 64px); line-height: 1.6; }
.about-foundation { background: radial-gradient(circle at 91% 24%, #e8c979a3 0 112px, transparent 114px), linear-gradient(115deg, var(--dusty-blue) 0 68%, color-mix(in srgb, var(--dusty-blue) 72%, var(--paper)) 68% 100%); padding-top: clamp(130px, 13vw, 190px); padding-bottom: clamp(120px, 12vw, 180px); }
.about-foundation .section-heading { width: min(100%, 780px); margin-bottom: clamp(70px, 8vw, 110px); }
.about-foundation .section-heading h2 { max-width: 700px; }
.about-facts { counter-reset: about-fact 0; border-block: 2px solid rgba(53, 29, 27, 0.72); grid-template-columns: 0.95fr 0.82fr 1.23fr; min-height: 0px; display: grid; }
.about-fact, .about-fact--primary, .about-fact--wide, .about-fact:first-child, .about-fact:nth-child(2), .about-fact:nth-child(3) { counter-increment: about-fact 1; background: 0px 0px; border: 0px; flex-direction: column; justify-content: space-between; width: auto; max-width: none; min-height: 320px; padding: clamp(38px, 4.5vw, 64px) clamp(24px, 3.5vw, 48px); display: flex; position: static; }
.about-fact + .about-fact { border-left: 1px solid rgba(53, 29, 27, 0.38); }
.about-fact::before { content: "0" counter(about-fact); border: 1px solid var(--accent); width: 50px; height: 50px; color: var(--accent); font-family: var(--font-secondary); letter-spacing: 0.08em; border-radius: 50%; place-items: center; font-size: 0.72rem; font-weight: 750; display: grid; }
.about-fact::after { display: none; }
.about-fact dt { margin-top: auto; padding-top: 42px; }
.about-fact dd { text-wrap: balance; max-width: 11ch; margin-top: 16px; font-size: clamp(2.25rem, 3.6vw, 4rem); line-height: 0.95; }
.team-status-panel { grid-template-columns: minmax(300px, 0.82fr) minmax(0px, 1.18fr); align-items: start; gap: clamp(70px, 10vw, 150px); }
.team-status-copy h3 { margin: 0px 0px clamp(38px, 5vw, 64px); }
.team-status-copy p { max-width: 34rem; margin: 0px; font-size: 1.05rem; line-height: 1.7; }
.conversation-prompts { border-top: 1px solid rgba(243, 235, 221, 0.42); }
.about-instagram-window span { display: none; }
.about-cta { grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: clamp(48px, 8vw, 120px); width: min(100% - 48px, 1240px); min-height: 0px; margin: clamp(90px, 10vw, 150px) auto 0px; padding: clamp(84px, 8vw, 118px) clamp(42px, 7vw, 94px) clamp(105px, 10vw, 145px); }
.about-cta > div { max-width: 760px; }
.about-cta .eyebrow { margin-bottom: 22px; }
.about-cta h2 { text-wrap: balance; margin: 0px; font-size: clamp(3rem, 5.8vw, 6.2rem); line-height: 0.92; }
.about-cta h2 + p { max-width: 38rem; margin-top: 30px; font-size: 1.05rem; line-height: 1.6; }
.site-footer--with-dog { margin-top: clamp(120px, 12vw, 190px); padding-top: clamp(220px, 20vw, 290px); overflow: visible; }
.footer-dog-perch { z-index: 4; pointer-events: none; filter: drop-shadow(rgba(53, 29, 27, 0.2) 0px 24px 24px); width: clamp(330px, 38vw, 600px); position: absolute; top: clamp(-190px, -11vw, -125px); right: clamp(24px, 8vw, 150px); transform: rotate(-3deg); }
.footer-dog-perch img { width: 100%; height: auto; display: block; }
@media (max-width: 1040px) {
  .service-ledger { grid-template-columns: 1fr; gap: 70px; }
  .service-ledger__header { position: static; }
  .about-facts { grid-template-columns: 1fr; }
  .about-fact, .about-fact--primary, .about-fact--wide, .about-fact:first-child, .about-fact:nth-child(2), .about-fact:nth-child(3) { grid-template-columns: 64px minmax(0px, 1fr); column-gap: 24px; min-height: 0px; padding: 42px 0px; display: grid; }
  .about-fact + .about-fact { border-top: 1px solid rgba(53, 29, 27, 0.38); border-left: 0px; }
  .about-fact::before { grid-row: 1 / span 2; }
  .about-fact dt, .about-fact dd { grid-column: 2; }
  .about-fact dt { margin: 0px; padding-top: 0px; }
  .about-fact dd { max-width: 15ch; }
  .team-status-panel { grid-template-columns: 1fr; gap: 70px; }
  .about-cta { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .services-page .truth-strip { background: radial-gradient(circle at 88% 18%, var(--butter) 0 42px, transparent 43px), var(--dusty-blue); clip-path: polygon(0px 18px, 100% 0px, 100% calc(100% - 18px), 0px 100%); grid-template-columns: 1fr; min-height: 0px; padding: 38px 24px; }
  .services-page .truth-strip::after { bottom: 42px; left: auto; right: -24px; transform: rotate(-3deg); }
  .services-page .truth-strip > div { padding: 28px 0px; }
  .services-page .truth-strip > div + div { border-top: 1px solid rgba(53, 29, 27, 0.24); border-left: 0px; }
  .service-menu { background: radial-gradient(ellipse at 108% 14%, #e8c97970 0 13%, transparent 13.4%), var(--paper); padding-top: 104px; padding-bottom: 120px; }
  .service-menu > .section-heading { margin-bottom: 64px; }
  .service-ledger { gap: 52px; }
  .service-ledger__header { padding-top: 30px; }
  .service-ledger__item, .service-ledger__item:first-child, .service-ledger__item:nth-child(2), .service-ledger__item:nth-child(3), .service-ledger__item:nth-child(4) { grid-template-columns: 54px minmax(0px, 1fr); column-gap: 18px; }
  .service-ledger__item::before { width: 44px; height: 44px; }
  .pricing-panel__statement > p:last-child { margin-top: 42px; }
  .about-foundation { background: radial-gradient(circle at 104% 8%, #e8c97994 0 78px, transparent 80px), var(--dusty-blue); padding-top: 108px; padding-bottom: 112px; }
  .about-foundation .section-heading { margin-bottom: 58px; }
  .team-status-copy h3 { margin-bottom: 44px; font-size: clamp(3.4rem, 15vw, 5rem); line-height: 0.94; }
  .team-status-copy p { font-size: 1rem; line-height: 1.7; }
  .about-cta { clip-path: polygon(0px 20px, 100% 0px, 96% 100%, 4% calc(100% - 14px)); gap: 42px; width: calc(100% - 32px); margin-top: 72px; padding: 76px 28px 110px; }
  .about-cta h2 + p { margin-top: 26px; }
  .site-footer--with-dog { margin-top: 108px; padding-top: 210px; }
  .footer-dog-perch { width: min(92vw, 430px); top: -126px; right: 50%; transform: translate(50%) rotate(-3deg); }
}
.closing-cta .closing-dog-peek { width: clamp(230px, 23vw, 360px); bottom: -11%; right: 28%; transform: rotate(1.5deg); }
.services-closing-cta { border-block: 1px solid color-mix(in srgb, var(--ink) 28%, transparent); width: min(100% - 48px, 1240px); min-height: 0px; color: var(--ink); background: 0px 0px; grid-template-columns: minmax(0px, 1fr) minmax(340px, 0.84fr); grid-template-areas: "copy dog" "detail dog" "action dog"; align-items: start; column-gap: clamp(42px, 7vw, 100px); margin: clamp(44px, 5vw, 72px) auto clamp(20px, 3vw, 42px); padding: clamp(44px, 4.5vw, 64px) clamp(24px, 5vw, 68px); display: grid; position: relative; overflow: visible; }
.services-closing-cta::before { background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 10px); content: ""; width: 180px; height: 12px; position: absolute; top: -6px; left: clamp(24px, 5vw, 68px); }
.services-closing-cta > :not(.services-closing-cta__dog) { z-index: 2; position: relative; }
.services-closing-cta > div:not(.services-closing-cta__dog) { grid-area: copy; }
.services-closing-cta .eyebrow { color: var(--accent); margin-bottom: 20px; }
.services-closing-cta h2 { max-width: 13ch; color: var(--ink); text-wrap: balance; margin: 0px; font-size: clamp(2.8rem, 4.7vw, 4.9rem); line-height: 0.92; }
.services-closing-cta > p { max-width: 36rem; color: var(--ink-muted); grid-area: detail; margin: 28px 0px 34px; font-size: 1.05rem; line-height: 1.65; }
.services-closing-cta > .button { grid-area: action; justify-self: start; }
.services-closing-cta__dog { z-index: 1; pointer-events: none; filter: drop-shadow(rgba(15, 8, 7, 0.24) 0px 22px 20px); grid-area: dog; place-self: center end; width: min(100%, 500px); position: relative; transform: rotate(-2deg) translateY(8px); }
.services-closing-cta__dog img { width: 100%; height: auto; display: block; }
.site-footer--dog-services { margin-top: clamp(72px, 7vw, 110px); padding-top: clamp(185px, 15vw, 240px); }
.footer-dog-perch--services { width: clamp(390px, 43vw, 690px); top: clamp(-130px, -8vw, -86px); left: clamp(30px, 6vw, 110px); right: auto; transform: rotate(1.5deg); }
.site-footer--dog-about { margin-top: clamp(135px, 12vw, 190px); padding-top: clamp(230px, 20vw, 300px); }
.footer-dog-perch--about { width: clamp(390px, 40vw, 630px); top: clamp(-190px, -12vw, -135px); right: clamp(-48px, 1vw, 28px); transform: rotate(-7deg); }
.site-footer--dog-contact { margin-top: clamp(170px, 15vw, 240px); padding-top: clamp(290px, 24vw, 360px); }
.footer-dog-perch--contact { width: clamp(250px, 23vw, 370px); top: clamp(-295px, -19vw, -220px); left: clamp(50px, 15vw, 250px); right: auto; transform: rotate(-1deg); }
@media (max-width: 767px) {
  .closing-cta .closing-dog-peek { width: min(50vw, 200px); bottom: -22px; right: -20px; transform: rotate(2deg); }
  .services-closing-cta { grid-template-columns: minmax(0px, 1fr); grid-template-areas: "copy" "dog" "detail" "action"; gap: 0px; width: calc(100% - 32px); margin-top: 58px; padding: 54px 20px 60px; }
  .services-closing-cta::before { left: 20px; }
  .services-closing-cta h2 { max-width: 10ch; font-size: clamp(2.7rem, 12vw, 3.8rem); }
  .services-closing-cta > p { margin: 20px 0px 28px; }
  .services-closing-cta__dog { justify-self: center; width: min(84vw, 350px); margin: 24px auto 12px; transform: rotate(-3deg); }
  .site-footer--dog-services { margin-top: 68px; padding-top: 184px; }
  .footer-dog-perch--services { width: min(90vw, 430px); top: -78px; left: 8px; right: auto; transform: rotate(2deg); }
  .site-footer--dog-about { margin-top: 130px; padding-top: 225px; }
  .footer-dog-perch--about { width: min(90vw, 430px); top: -132px; right: -10px; transform: rotate(-8deg); }
  .site-footer--dog-contact { margin-top: 180px; padding-top: 290px; }
  .footer-dog-perch--contact { width: min(58vw, 245px); top: -205px; left: 12px; right: auto; transform: rotate(-2deg); }
}

/* WordPress and Elementor transport layer.
 *
 * The rules above are the literal deployed preview cascade. These final rules
 * only neutralize layout wrappers that do not exist in the Next.js preview;
 * they intentionally do not restyle the approved design itself.
 */
body.mucky-paws-preview-theme {
  margin: 0;
  background: radial-gradient(circle at 9% 5%, #e8c97933, transparent 24rem), radial-gradient(circle at 90% 28%, #8b9ca324, transparent 30rem), var(--paper);
  color: var(--ink);
  /* The approved body face. This previously hardcoded the generic fallback
     stack - the value var(--font-secondary) happened to compute to back when
     nothing defined --font-dm-sans - which silently overrode the real font for
     the whole page, because body.mucky-paws-preview-theme outranks body. */
  font-family: var(--font-secondary);
  font-size: 18px;
  line-height: 1.6;
}

body.mucky-paws-preview-theme .site-shell {
  width: 100%;
  max-width: none;
}

body.mucky-paws-preview-theme .elementor,
body.mucky-paws-preview-theme .elementor > .e-con,
body.mucky-paws-preview-theme .elementor > .elementor-section,
body.mucky-paws-preview-theme .elementor .elementor-widget-html,
body.mucky-paws-preview-theme .elementor .elementor-widget-html > .elementor-widget-container,
body.mucky-paws-preview-theme .elementor .elementor-widget-mucky-paws-exact-section,
body.mucky-paws-preview-theme .elementor .elementor-widget-mucky-paws-exact-section > .elementor-widget-container {
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

body.mucky-paws-preview-theme .elementor > .e-con,
body.mucky-paws-preview-theme .elementor > .elementor-section {
  --container-max-width: none;
  --content-width: 100%;
  --display: block;
  --gap: 0;
  display: block;
}

body.mucky-paws-preview-theme .elementor .elementor-widget-html,
body.mucky-paws-preview-theme .elementor .elementor-widget-mucky-paws-exact-section {
  --widgets-spacing: 0;
}

body.mucky-paws-preview-theme .elementor .elementor-widget-html > .elementor-widget-container > main {
  width: 100%;
  max-width: none;
}

body.mucky-paws-preview-theme .elementor .mucky-paws-exact-main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.mucky-paws-preview-theme .elementor .mucky-paws-exact-main > .e-con-inner,
body.mucky-paws-preview-theme .elementor .mucky-paws-exact-main > .mucky-paws-exact-section,
body.mucky-paws-preview-theme .elementor .mucky-paws-exact-section > .elementor-widget-container {
  display: contents !important;
}

body.mucky-paws-preview-theme .site-shell img,
body.mucky-paws-preview-theme .site-shell svg {
  vertical-align: middle;
}

body.mucky-paws-preview-theme .menu-icon-close[hidden],
body.mucky-paws-preview-theme .menu-icon-open[hidden] {
  display: none !important;
}

/*
 * Elementor's frontend stylesheet resets `.elementor a { box-shadow: none }`.
 * That selector is a class plus an element, so it outranks this stylesheet's
 * own single-class `.button` rule: inside Elementor-rendered sections every
 * button silently lost its drop shadow, while the theme-rendered header kept
 * it. Restated here at a specificity that wins.
 *
 * Only `.button` needs this. The design's other shadowed pieces are already
 * safe: `.instagram-dog-card img` and `.concept-photo img` are two-class
 * selectors that beat `.elementor img`, and `.review-card` is an <article>,
 * which Elementor does not reset.
 *
 * Keep the value in step with the `.button` rule earlier in this file.
 */
body.mucky-paws-preview-theme .elementor a.button {
  box-shadow: rgba(53, 29, 27, 0.12) 0px 8px 24px;
}

@media (max-width: 767px) {
  body.mucky-paws-preview-theme {
    font-size: 17px;
  }
}

/* --- Synced from app/graphic.css (2026-08-26): seam bridges, home reviews carousel, contact panel + map --- */

/*
 * Seam bridges: several sections below sit on a curved or diagonal top edge
 * (border-radius or clip-path) that cuts away its own corners, revealing
 * whatever is behind the section rather than the section painted above it -
 * normally invisible because the page background is cream on both sides, but
 * visible as a stray cream sliver when the section above is colored. Each
 * bridge is a plain rectangle placed immediately before the curved section,
 * pulled up under it with a negative margin, painted in the color the
 * section above ends in, so the curve reveals that color instead of cream.
 */
.seam-bridge {
  width: 100%;
  pointer-events: none;
}

.seam-bridge--home-visit {
  height: 9vw;
  margin-bottom: -9vw;
  background: color-mix(in srgb, var(--dusty-blue) 62%, var(--paper));
}

.seam-bridge--home-faq {
  height: 7vw;
  margin-bottom: -7vw;
  background: var(--butter);
}

.seam-bridge--about-team {
  height: 7vw;
  margin-bottom: -7vw;
  background: var(--dusty-blue);
}

/*
 * The contact panel is a plain rounded card rather than the previous organic
 * blob: the blob's curved edges squeezed the phone number and address into
 * awkward line breaks and clipped them against its own border.
 */
.contact-quick-card {
  max-width: 560px;
  margin-left: auto;
  padding: clamp(30px, 3.2vw, 44px);
  overflow: hidden;
  border-radius: 26px;
  background: var(--dusty-blue);
  color: var(--ink);
  font-style: normal;
}

.contact-quick-card .contact-card-intro {
  margin: 0;
  color: var(--ink);
  opacity: 0.72;
  font-family: var(--font-secondary);
  font-size: 0.7rem;
  font-weight: 720;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contact-rows {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
}

.contact-row {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  align-items: baseline;
  gap: 4px 18px;
  padding: 17px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 17%, transparent);
  color: inherit;
  text-decoration: none;
}

.contact-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.contact-row__label {
  color: var(--ink);
  opacity: 0.62;
  font-family: var(--font-secondary);
  font-size: 0.68rem;
  font-weight: 720;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-row__value {
  margin: 0;
  color: var(--spruce-strong);
  font-family: var(--font-primary);
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  font-weight: 540;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

a.contact-row:hover .contact-row__value,
a.contact-row:focus-visible .contact-row__value {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.contact-row--phone .contact-row__value {
  font-size: clamp(1.5rem, 2.5vw, 2.05rem);
  letter-spacing: -0.02em;
}

/* Home: real Google reviews in a swipeable, snap-aligned carousel. */

/*
 * The band fades back to --paper at its bottom edge on purpose: the section
 * below it (.anxious-feature) is clipped to a dome, so whatever colour sits
 * here shows through its cut top corners.
 */
.reviews-chapter {
  width: 100%;
  max-width: none;
  position: relative;
  overflow: clip;
  padding: clamp(96px, 11vw, 148px) max(24px, calc((100vw - 1320px) / 2)) clamp(88px, 10vw, 136px);
  background: linear-gradient(
    180deg,
    var(--paper) 0,
    color-mix(in srgb, var(--dusty-blue) 24%, var(--paper)) 28% 60%,
    var(--paper) 100%
  );
  --star: color-mix(in srgb, var(--butter) 80%, var(--ink));
}

.reviews-comb {
  width: clamp(230px, 28vw, 400px);
  position: absolute;
  top: 46px;
  right: -60px;
  color: var(--accent);
  opacity: 0.26;
  transform: rotate(-8deg);
}

.reviews-chapter__intro {
  max-width: 760px;
  position: relative;
  z-index: 1;
  margin-bottom: clamp(38px, 4vw, 54px);
}

.reviews-score {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 22px 0 20px;
}

.reviews-score__number {
  color: var(--spruce-strong);
  font-family: var(--font-primary);
  font-size: clamp(2.5rem, 4.2vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}

.reviews-score__detail {
  max-width: 17rem;
  color: var(--ink-muted);
  font-size: 0.95rem;
  line-height: 1.35;
}

.reviews-carousel {
  position: relative;
  z-index: 1;
}

.reviews-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(82vw, 372px);
  gap: 18px;
  padding: 4px 4px 14px;
  margin: -4px -4px 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--ink) 30%, transparent) transparent;
}

.reviews-rail:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
  border-radius: 8px;
}

.review-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-height: 348px;
  padding: 28px 28px 24px;
  scroll-snap-align: start;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 20px 44px -36px rgb(53 29 27 / 0.55);
}

.review-stars {
  width: 104px;
  height: 20px;
  flex: none;
  fill: var(--star);
}

/* The full review text is always present; the fade only keeps cards level. */
.review-card__quote {
  position: relative;
  max-height: 12.4em;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.97rem;
  line-height: 1.56;
}

.review-card__quote::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 3.4em;
  background: linear-gradient(180deg, transparent, var(--surface) 82%);
  pointer-events: none;
}

/* The quote is a single paragraph; the reviewer's own breaks come through as
   <br><br>, which is also what the editor writes when the owner presses Enter. */
.review-card__quote p {
  margin: 0;
}

.review-card__meta {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.review-card__name {
  color: var(--spruce-strong);
  font-family: var(--font-primary);
  font-size: 1.02rem;
  font-weight: 540;
}

.review-card__date {
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.review-card__link {
  align-self: flex-start;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 650;
  text-underline-offset: 4px;
}

.reviews-nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.reviews-nav__button {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  color: var(--ink);
  font-size: 1.15rem;
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--ink) 45%, transparent);
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.reviews-nav__button:hover {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
}

.reviews-nav__button:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

/* Contact: the find-us map beside the practical visit details. */

.contact-visit {
  width: min(100% - 48px, 1120px);
  padding-block: clamp(78px, 9vw, 126px);
  display: grid;
  grid-template-columns: minmax(250px, 0.74fr) minmax(0, 1.26fr);
  align-items: start;
  gap: clamp(38px, 5.5vw, 84px);
}

.contact-visit__copy {
  margin: 0;
}

.contact-visit__address {
  margin: 24px 0 0;
  font-style: normal;
}

.contact-visit__address span {
  display: block;
  margin-bottom: 6px;
  color: var(--accent);
  font-family: var(--font-secondary);
  font-size: 0.68rem;
  font-weight: 720;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-visit__address p {
  margin: 0;
  color: var(--spruce-strong);
  font-family: var(--font-primary);
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  font-weight: 540;
  line-height: 1.35;
}

.contact-visit__copy .button {
  margin-top: 30px;
}

.contact-map {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 22px;
}

.contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 900px) {
  .contact-visit {
    grid-template-columns: 1fr;
  }

  .contact-map {
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 767px) {
  .reviews-chapter {
    padding-inline: 24px;
  }

  .reviews-rail {
    grid-auto-columns: min(86vw, 330px);
  }

  .review-card {
    min-height: 320px;
    padding: 24px 22px 20px;
  }

  .reviews-nav {
    justify-content: center;
  }
}

/* The old blob card's decorative dashes belong to a layout that no longer exists. */
.contact-quick-card::after {
  content: none;
}

@media (max-width: 767px) {
  .contact-quick-card {
    width: 100%;
    max-width: none;
    margin: 18px 0 0;
    padding: 28px 24px;
    border-radius: 22px;
  }

  .contact-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
