:root {
  --color-bg: #f3eee4; --color-text: #3d4a42; --color-heading: #1e332b;
  --color-muted: #6b7c72; --color-accent: #c4785b; --color-surface: #e7efe6;
  --color-border: rgba(30,51,43,.1); --nav-fg: #f3eee4; --nav-solid: rgba(243,238,228,.95);
  --nav-solid-fg: #1e332b; --btn-primary-fg: #fff8f2; --btn-ghost-fg: #1e332b;
  --font-display: 'Rubik', sans-serif; --font-body: 'Heebo', sans-serif;
  --btn-radius: 999px; --footer-bg: #e4ece3; --sage: #6a8f73; --cream: #f3eee4;
}
html:has(body.theme-vet) { overflow-x: hidden; }
.theme-vet { overflow-x: hidden; overscroll-behavior-x: none; }
.theme-vet [data-reveal="left"],
.theme-vet [data-reveal="right"] { transform: translateY(28px); }
body { font-family: var(--font-body); background: var(--color-bg); color: var(--color-text); }
h1,h2,h3 { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.02em; }
.btn--primary { background: var(--color-accent); }
.btn--ghost { border-color: rgba(30,51,43,.22); }
.vet-hero { position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; }
.vet-hero__stage { position: absolute; inset: 0; display: grid; grid-template-columns: 1.35fr .85fr; overflow: hidden; }
.vet-hero__a, .vet-hero__b, .vet-hero__c { overflow: hidden; min-width: 0; background: #c4b8a4; }
.vet-hero__a img, .vet-hero__b img, .vet-hero__c img, .vet-orb img { width: 100%; height: 100%; object-fit: cover; }
.vet-hero__stack { display: grid; grid-template-rows: 1.1fr .9fr; gap: 10px; padding: 10px 10px 10px 0; overflow: hidden; }
.vet-hero__b, .vet-hero__c { border-radius: 28px; }
.vet-hero__overlay { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(30,51,43,.45) 0%, rgba(30,51,43,.12) 48%, rgba(196,120,91,.18) 100%); pointer-events: none; }
.vet-hero__copy { position: relative; z-index: 2; min-height: 100vh; display: flex; align-items: flex-end; padding: 7rem 7% 5.5rem; }
.vet-hero__card { background: rgba(243,238,228,.94); backdrop-filter: blur(14px); padding: 2.2rem 2.3rem 2.1rem; border-radius: 32px; max-width: 36rem; box-shadow: 0 28px 64px rgba(30,51,43,.18); }
.vet-hero h1 { font-size: clamp(2.3rem, 5.4vw, 3.8rem); line-height: 1.05; margin-bottom: .7rem; color: var(--color-heading); }
.vet-hero .lede { font-size: 1.12rem; font-weight: 400; margin: 0 0 1.6rem; max-width: none; white-space: nowrap; color: var(--color-muted); }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.vet-orb { position: absolute; left: 6%; bottom: 11%; z-index: 3; width: min(240px, 28vw); aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 7px solid #f3eee4; box-shadow: 0 18px 40px rgba(30,51,43,.22); }
.vet-stories, .vet-gallery { padding: 16px 0; background: #2c463c; overflow: hidden; }
.vet-marquee { overflow: hidden; width: 100%; direction: ltr; }
.vet-marquee__track { display: flex; width: max-content; animation: vet-roll 46s linear infinite; }
.vet-marquee:hover .vet-marquee__track,
.vet-marquee:focus-within .vet-marquee__track { animation-play-state: paused; }
.vet-marquee__set { display: flex; gap: 12px; padding-inline-end: 12px; flex-shrink: 0; }
.vet-marquee figure { flex: 0 0 340px; margin: 0; border-radius: 22px; overflow: hidden; background: #c4b8a4; }
.vet-marquee img { width: 340px; height: 38vh; max-height: 380px; object-fit: cover; display: block; }
@keyframes vet-roll { to { transform: translate3d(-50%, 0, 0); } }
.vet-gallery .vet-marquee__track { animation-duration: 54s; animation-direction: reverse; }
.vet-about { padding-block: 7.5rem; overflow: hidden; }
.vet-about__grid { display: grid; gap: 3.5rem; align-items: center; }
@media (min-width: 880px) { .vet-about__grid { grid-template-columns: 1.05fr .95fr; } }
.vet-portrait { border-radius: 46% 54% 48% 52% / 42% 40% 60% 58%; overflow: hidden; aspect-ratio: 1; background: #c4b8a4; box-shadow: 0 24px 50px rgba(30,51,43,.12); }
.body-lg { font-size: 1.12rem; line-height: 1.9; color: var(--color-muted); }
.vet-pills { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.2rem; }
.vet-pills div { background: var(--color-surface); padding: 1rem 1.25rem; border-radius: 20px; min-width: 7.5rem; }
.vet-pills b { display: block; font-size: 1.55rem; color: var(--sage); }
.vet-pills span { font-size: .85rem; color: var(--color-muted); }
.vet-belief { display: grid; min-height: 68vh; background: #2c463c; color: #f6f1e8; overflow: hidden; }
@media (min-width: 800px) { .vet-belief { grid-template-columns: 1fr 1fr; } }
.vet-belief blockquote { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.4rem, 6vw, 4.5rem) 10%; margin: 0; }
.vet-belief .eyebrow { color: #e0b49a; }
.vet-belief__quote { font-size: clamp(1.2rem, 2.2vw, 1.7rem); line-height: 1.7; max-width: 28ch; font-weight: 500; }
.vet-belief cite { display: block; margin-top: 1.5rem; letter-spacing: .08em; font-size: .82rem; font-style: normal; color: #c5d4cb; }
.vet-belief__img { min-height: 46vh; overflow: hidden; background: #c4b8a4; }
.vet-belief__img img { width: 100%; height: 100%; object-fit: cover; }
.vet-services { padding-block: 5.5rem 6.5rem; overflow: hidden; }
.vet-cards { display: grid; gap: 1.25rem; margin-top: 2.2rem; }
@media (min-width: 700px) { .vet-cards { grid-template-columns: repeat(3,1fr); } }
.vet-cards article { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 10px 28px rgba(30,51,43,.06); }
.vet-cards .zoom-img { background: #c4b8a4; }
.vet-cards img { height: 180px; width: 100%; object-fit: cover; }
.vet-cards h3, .vet-cards p { padding: 0 1.2rem; }
.vet-cards h3 { margin: 1.05rem 0 .35rem; }
.vet-cards p { padding-bottom: 1.3rem; color: var(--color-muted); font-size: .95rem; }
.vet-care { padding: 6.5rem 0 1rem; overflow: hidden; }
.vet-care__grid { display: grid; gap: 1.4rem; margin-top: 2rem; }
@media (min-width: 800px) { .vet-care__grid { grid-template-columns: repeat(3,1fr); } }
.vet-care article { background: var(--color-surface); border-radius: 28px; overflow: hidden; }
.vet-care .zoom-img { background: #c4b8a4; }
.vet-care img { height: 240px; width: 100%; object-fit: cover; }
.vet-care h3, .vet-care p { padding: 0 1.3rem; }
.vet-care h3 { margin: 1.1rem 0 .4rem; }
.vet-care p { padding-bottom: 1.4rem; color: var(--color-muted); }
.vet-contact .contact-wrap, .vet-contact .contact-form, .vet-contact .map-card { border-radius: 24px; }
@media (max-width: 700px) {
  .vet-hero__stage { grid-template-columns: 1fr; }
  .vet-hero__stack { display: none; }
  .vet-orb { display: none; }
  .vet-hero__copy { align-items: center; }
  .vet-marquee figure, .vet-marquee img { flex-basis: 260px; width: 260px; height: 32vh; }
}
@media (prefers-reduced-motion: reduce) {
  .vet-marquee__track { animation: none; }
  .vet-hero__a img { animation: none; }
}
body.a11y-stop-motion .vet-marquee__track { animation: none; }
