/*
 * Veterinary: the kennel ward.
 * Every class is prefixed vet-. A warm paper ground for reading, the steel of a
 * kennel door and the ink of a cage card, the red of a "come now" sign, and the
 * dark of a hospital at night for the ward and the one chapter about what the
 * phone never does.
 */
.vet-page {
  --vet-paper: #f5f1e8;
  --vet-sheet: #ffffff;
  --vet-ink: #171c24;
  --vet-soft: #374150;
  --vet-muted: #566070;
  --vet-rule: #d8d1c2;
  --vet-steel: #8a96a3;
  --vet-steel-deep: #4e5a67;
  --vet-red: #b3261e;
  --vet-red-deep: #8f1c16;
  --vet-red-wash: #fbe0dc;
  --vet-amber: #c98a0d;
  --vet-amber-wash: #fbefc8;
  --vet-green: #1f7a4d;
  --vet-green-deep: #165a39;
  --vet-green-wash: #dcefe3;
  --vet-night: #12171f;
  --vet-night-2: #1b222d;
  --vet-ward: #1c232e;
  --vet-on-night: #eceff3;
  --vet-on-night-soft: #b7bfcb;
  --vet-glow: #ffd36b;
  --vet-card: #fffbe9;
  --vet-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "Courier New", monospace;
  --vet-hand: "Bradley Hand", "Segoe Print", "Marker Felt", "Comic Sans MS", cursive;
  background: var(--vet-paper);
  color: var(--vet-ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: clip;
}
.vet-page *, .vet-page *::before, .vet-page *::after { box-sizing: border-box; }
.vet-page ::selection { background: var(--vet-glow); color: var(--vet-ink); }
.vet-page a:focus-visible,
.vet-page summary:focus-visible,
.vet-page [tabindex]:focus-visible {
  outline: 2px solid var(--vet-red);
  outline-offset: 4px;
}
.vet-close a:focus-visible,
.vet-ward a:focus-visible { outline-color: var(--vet-glow); }
.vet-page section[id] { scroll-margin-top: 130px; }
.vet-wrap { width: min(100% - 80px, 1280px); margin-inline: auto; }

.vet-page h1, .vet-page h2 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.vet-page h2 { font-size: clamp(2.05rem, 3.3vw, 3.4rem); line-height: 1.08; }
.vet-page h1 em, .vet-page h2 em { font-style: italic; }
.vet-page h3 { font-size: 1.06rem; font-weight: 700; line-height: 1.3; }
.vet-section { padding: clamp(64px, 8vw, 108px) 0; }
.vet-section p { max-width: 68ch; }
.vet-section h2 + p { margin-top: 18px; }
.vet-page p a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.vet-page p a:hover { color: var(--vet-red-deep); }
.vet-source { margin-top: 14px; font-size: 13px; color: var(--vet-muted); }
.vet-invented { margin-top: 10px; font-size: 12.5px; color: var(--vet-muted); }
.vet-table-scroll { overflow-x: auto; margin-top: 28px; }

/* Buttons */
.vet-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 24px; }
.vet-button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 26px;
  border-radius: 999px;
  background: var(--vet-ink);
  color: #fff;
  font-weight: 700;
  font-size: 15.5px;
  text-decoration: none;
  box-shadow: 0 10px 22px -12px rgba(23, 28, 36, 0.8);
  transition: background-color 160ms ease-out, transform 160ms ease-out;
}
.vet-button:hover { background: var(--vet-red-deep); transform: translateY(-1px); }
.vet-quiet-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: inherit;
  font-weight: 600;
  font-size: 15px;
  text-decoration: underline;
  text-decoration-color: rgba(23, 28, 36, 0.4);
  text-underline-offset: 5px;
}
.vet-quiet-link:hover { text-decoration-color: currentColor; }
.vet-close .vet-button { background: var(--vet-glow); color: var(--vet-ink); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.7); }
.vet-close .vet-button:hover { background: #ffe3a0; }
.vet-close .vet-quiet-link { text-decoration-color: rgba(236, 239, 243, 0.45); }

/* Hero */
.vet-hero-shell {
  padding-top: 101px;
  background-color: var(--vet-paper);
  background-image: radial-gradient(ellipse 55% 70% at 80% 40%, #fffdf7 0, rgba(255, 253, 247, 0) 70%);
  border-bottom: 4px solid var(--vet-ink);
}
.vet-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding-top: 12px; font-size: 12.5px; color: var(--vet-muted); }
.vet-breadcrumb a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.vet-breadcrumb a:hover { color: var(--vet-ink); text-decoration: underline; }
.vet-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(32px, 4vw, 60px);
  align-items: start;
  padding: clamp(28px, 4vw, 52px) 0 clamp(56px, 6vw, 84px);
}
.vet-hero-copy { padding: 6px 0; }
.vet-hero h1 { font-size: clamp(2.5rem, 4.3vw, 4.1rem); line-height: 1.03; color: var(--vet-ink); }
.vet-hero h1 .h1-kicker {
  display: block;
  margin-bottom: 20px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--vet-red-deep);
}
.vet-h1-line { display: block; }
.vet-hero h1 em { color: var(--vet-red); }
.vet-lede { margin-top: 20px; max-width: 56ch; font-size: clamp(1rem, 1.15vw, 1.1rem); line-height: 1.6; color: var(--vet-soft); }
.vet-price { display: grid; gap: 4px; margin-top: 20px; font-size: 15.5px; }
.vet-price span strong { display: inline-block; margin-right: 6px; font-weight: 800; color: var(--vet-ink); }
.vet-price small { margin-top: 4px; font-size: 13px; color: var(--vet-muted); }
.vet-hero .ns-stars { color: #8a5a10; }

/* The ward */
.vet-ward {
  margin: 0;
  padding: 14px 16px 16px;
  border-radius: 18px;
  background: var(--vet-ward);
  color: var(--vet-on-night);
  box-shadow: 0 30px 60px -30px rgba(23, 28, 36, 0.6);
}
.vet-state { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.vet-ward-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 2px 2px 14px; }
.vet-ward-title { max-width: none !important; margin: 0; font-family: var(--font-serif); font-size: 1.35rem; line-height: 1.15; color: #fff; letter-spacing: -0.01em; }
.vet-tabs { display: inline-flex; padding: 4px; border-radius: 999px; background: rgba(0, 0, 0, 0.35); }
.vet-tabs label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vet-on-night);
  cursor: pointer;
  transition: background-color 160ms ease-out, color 160ms ease-out;
}
.vet-tabs label:hover { background: rgba(255, 255, 255, 0.1); }
.vet-state-out:checked ~ .vet-ward-head label[for="vet-state-out"] { background: #f6cfc8; color: #6b170f; }
.vet-state-in:checked ~ .vet-ward-head label[for="vet-state-in"] { background: var(--vet-glow); color: #3b2a00; }
.vet-state:focus-visible ~ .vet-ward-head .vet-tabs { outline: 2px solid var(--vet-glow); outline-offset: 3px; }

.vet-kennels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vet-door {
  position: relative;
  display: block;
  height: 100%;
  min-height: 168px;
  padding: 34px 10px 10px;
  border-radius: 10px;
  border: 3px solid var(--vet-steel);
  background-color: #11161d;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.09) 0 3px, transparent 3px 18px);
  color: var(--vet-ink);
  text-decoration: none;
  transition: border-color 300ms ease-out, background-color 300ms ease-out;
}
.vet-door:hover { border-color: #c4ccd5; }
.vet-door-plate {
  position: absolute;
  top: 6px;
  left: 8px;
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 22px;
  padding: 0 6px;
  border-radius: 4px;
  background: var(--vet-steel);
  color: #10151b;
  font-family: var(--vet-mono);
  font-size: 12px;
  font-weight: 800;
}
.vet-card {
  display: grid;
  gap: 4px;
  padding: 10px 11px 10px;
  border-radius: 4px;
  background: var(--vet-card);
  border-top: 4px solid var(--vet-red);
  box-shadow: 0 6px 12px -6px rgba(0, 0, 0, 0.6);
  transform: rotate(-0.6deg);
}
.vet-kennel:nth-child(even) .vet-card { transform: rotate(0.7deg); }
.vet-card-top { display: flex; justify-content: space-between; gap: 8px; font-family: var(--vet-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: #4b4a40; }
.vet-card-top b { font-weight: 800; color: var(--vet-ink); }
.vet-card-when { font-weight: 600; white-space: nowrap; }
.vet-card-said { font-family: var(--vet-hand); font-size: 15.5px; line-height: 1.3; color: #1c2a4a; }
.vet-card-out, .vet-card-in { padding-top: 6px; border-top: 1px dashed #b5ab80; font-size: 13px; line-height: 1.4; color: #2d3340; }
.vet-state-out:checked ~ .vet-kennels .vet-card-in,
.vet-state-in:checked ~ .vet-kennels .vet-card-out { display: none; }
.vet-state-out:checked ~ .vet-kennels .vet-kennel-lost .vet-door { background-color: #0b0e12; border-color: #566170; border-style: dashed; }
.vet-state-out:checked ~ .vet-kennels .vet-kennel-lost .vet-card { background: #ece7da; border-top-color: #8b8577; border-style: solid; opacity: 0.92; }
.vet-state-out:checked ~ .vet-kennels .vet-kennel-lost .vet-card-out { color: var(--vet-red-deep); font-weight: 700; }
.vet-state-in:checked ~ .vet-kennels .vet-door { border-color: var(--vet-glow); background-color: #2a2314; }
.vet-state-in:checked ~ .vet-kennels .vet-card { border-top-color: var(--vet-green); }
.vet-ward figcaption { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(236, 239, 243, 0.16); font-size: 14.5px; font-weight: 600; }
.vet-state-out:checked ~ figcaption .vet-cap-in,
.vet-state-in:checked ~ figcaption .vet-cap-out { display: none; }
.vet-cap-out, .vet-cap-in { display: block; }
.vet-ward .vet-invented { display: block; margin-top: 6px; font-weight: 400; color: var(--vet-on-night-soft); }

/* Jump nav */
.vet-jump {
  position: sticky;
  top: 72px;
  z-index: 5;
  background: rgba(245, 241, 232, 0.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--vet-rule);
}
.vet-jump .vet-wrap { display: flex; gap: 6px 22px; overflow-x: auto; padding: 4px 0; scrollbar-width: none; }
.vet-jump a {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vet-soft);
  text-decoration: none;
}
.vet-jump a:hover { color: var(--vet-red-deep); text-decoration: underline; }

/* Three people, one phone */
.vet-night-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.vet-night p { margin-top: 18px; }
.vet-stations { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vet-stations li { display: grid; gap: 2px; padding: 16px 20px; border: 2px solid var(--vet-ink); border-radius: 4px; background: var(--vet-sheet); }
.vet-stations b { font-family: var(--font-serif); font-size: 1.4rem; font-weight: 500; line-height: 1.15; }
.vet-stations span { font-size: 14.5px; color: var(--vet-soft); }

/* Chapters */
.vet-chapter { border-top: 1px solid var(--vet-rule); }
.vet-c1 { background: var(--vet-sheet); }
.vet-chapter-head { max-width: 76ch; }
.vet-chapter-head p { margin-top: 18px; }
.vet-chapter-tag { margin: 0 0 18px !important; font-family: var(--vet-mono); font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vet-soft); }
.vet-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 14px;
  margin-right: 10px;
  border-radius: 4px;
  background: var(--vet-steel-deep);
  color: #fff;
  font-family: var(--vet-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.vet-chapter-tie { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--vet-rule); font-weight: 500; }

/* Kennels 1 to 3: the poster and the label */
.vet-poster-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; margin-top: 40px; }
.vet-poster { margin: 0; padding: 0 0 18px; border: 3px solid var(--vet-red-deep); border-radius: 6px; background: #fffdf8; box-shadow: 0 22px 34px -24px rgba(23, 28, 36, 0.55); }
.vet-poster p { max-width: none !important; margin: 0; }
.vet-poster-head { padding: 14px 20px; background: var(--vet-red); color: #fff; font-family: var(--font-sans); font-size: 1.35rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.15; }
.vet-poster ol { list-style: none; margin: 0; padding: 4px 20px 0; counter-reset: cn; }
.vet-poster li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--vet-rule); font-size: 16px; font-weight: 600; line-height: 1.35; counter-increment: cn; }
.vet-poster li::before { content: counter(cn); flex: none; display: grid; place-items: center; width: 26px; height: 26px; margin-right: 4px; border-radius: 50%; background: var(--vet-ink); color: #fff; font-size: 13px; font-weight: 800; }
.vet-poster li span { flex: 1; }
.vet-poster li em { flex: none; padding: 2px 8px; border-radius: 3px; background: var(--vet-amber-wash); color: #5e3f00; font-family: var(--vet-mono); font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.vet-poster-foot { padding: 14px 20px 0; font-family: var(--font-serif); font-size: 1.6rem; font-style: italic; }
.vet-poster .vet-invented { padding: 0 20px; }
.vet-label { margin: 0; padding: 20px 22px 18px; border: 2px solid var(--vet-ink); border-radius: 12px; background: #fff; box-shadow: 0 18px 28px -22px rgba(23, 28, 36, 0.5); }
.vet-label p { max-width: none !important; margin: 0; }
.vet-label-head { padding-bottom: 10px; border-bottom: 3px solid var(--vet-ink); font-family: var(--vet-mono); font-size: 12.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.vet-label dl { margin: 0; }
.vet-label dl > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 4px 14px; padding: 10px 0; border-bottom: 1px dashed var(--vet-rule); }
.vet-label dt { font-family: var(--vet-mono); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vet-muted); padding-top: 3px; }
.vet-label dd { margin: 0; font-family: var(--vet-hand); font-size: 17px; line-height: 1.35; color: #1c2a4a; }
.vet-label-foot { margin-top: 14px !important; padding: 10px 12px; border-radius: 4px; background: var(--vet-amber-wash); font-size: 14px; line-height: 1.45; }

/* Kennels 4 and 6: who says what */

/* Kennel 5: the referral */

/* Kennel 7: the board */

/* Kennel 8: going home */

/* New clients */
.vet-newclients { background: var(--vet-paper); border-top: 1px solid var(--vet-rule); }
.vet-nc-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(32px, 5vw, 76px); align-items: start; }
.vet-newclients p { margin-top: 18px; }
.vet-website { margin-top: 52px; padding-top: 36px; border-top: 2px solid var(--vet-rule); scroll-margin-top: 120px; }
.vet-website h3 { font-family: var(--font-serif); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; margin: 0; }
.vet-website-head { max-width: 76ch; }
.vet-visit-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 32px 0; border-block: 1px solid var(--vet-rule); }
.vet-visit-paths li { padding: 24px; border-right: 1px solid var(--vet-rule); }
.vet-visit-paths li:first-child { padding-left: 0; }
.vet-visit-paths li:last-child { border-right: 0; }
.vet-visit-paths li > span { font-family: var(--vet-mono); color: var(--vet-steel-deep); font-size: .85rem; }
.vet-visit-paths h4 { margin: 10px 0; font-size: 1.12rem; }
.vet-visit-paths p { margin-top: 0; }
.vet-website-buying { max-width: 86ch; }
.vet-website-buying a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.vet-website-buying details { margin-top: 26px; padding-block: 18px; border-block: 1px solid var(--vet-rule); }
.vet-website-buying summary { font-weight: 650; cursor: pointer; }
@media (max-width: 760px) {
  .vet-visit-paths { grid-template-columns: 1fr; }
  .vet-visit-paths li, .vet-visit-paths li:first-child { padding: 22px 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 14px; border-right: 0; border-bottom: 1px solid var(--vet-rule); }
  .vet-visit-paths li:last-child { border-bottom: 0; }
  .vet-visit-paths h4 { margin-top: 0; }
}
.vet-bars { margin: 0; padding: 24px 26px 18px; border: 2px solid var(--vet-ink); border-radius: 8px; background: var(--vet-sheet); }
.vet-bars p { max-width: none !important; }
.vet-bars-head { margin: 0 0 18px !important; font-family: var(--font-serif); font-size: 1.3rem; line-height: 1.2; }
.vet-bar { position: relative; display: grid; gap: 6px; margin-bottom: 18px; }
.vet-bar span { font-size: 14.5px; font-weight: 600; }
.vet-bar i { display: block; height: 30px; border-radius: 4px; background: var(--vet-green); }
.vet-bar-new i { background: var(--vet-amber); }
.vet-bar b { font-family: var(--vet-mono); font-size: 12.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--vet-soft); }

/* Six ways in */
.vet-inbox { background: var(--vet-sheet); border-top: 1px solid var(--vet-rule); }
.vet-inbox-head { max-width: 76ch; }
.vet-inbox-head p { margin-top: 18px; }
.vet-doors { list-style: none; margin: 36px 0 0; padding: 0; border: 2px solid var(--vet-ink); border-radius: 8px; overflow: hidden; }
.vet-doors li { display: grid; grid-template-columns: minmax(0, 0.8fr) 40px minmax(0, 1.2fr); gap: 12px; align-items: center; padding: 16px 22px; }
.vet-doors li + li { border-top: 1px solid var(--vet-rule); }
.vet-doors li:nth-child(odd) { background: var(--vet-paper); }
.vet-door-she { font-family: var(--font-serif); font-size: 1.2rem; line-height: 1.25; }
.vet-door-arrow { font-size: 1.4rem; text-align: center; color: var(--vet-red-deep); }
.vet-door-we { font-size: 15.5px; line-height: 1.5; color: var(--vet-soft); }
.vet-inbox-tie { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--vet-rule); font-weight: 500; max-width: 68ch; }
.vet-inbox-tie a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Never */

/* Compare */
.vet-compare { background: var(--vet-sheet); }
.vet-compare-table { width: 100%; min-width: 1040px; border-collapse: collapse; }
.vet-compare-table th, .vet-compare-table td { padding: 14px 16px; text-align: left; vertical-align: top; font-size: 14.5px; line-height: 1.5; border-bottom: 1px solid var(--vet-rule); }
.vet-compare-table thead th { background: var(--vet-paper); font-family: var(--vet-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.vet-compare-table thead .vet-th-ours { background: var(--vet-red-deep); color: #fff; }
.vet-compare-table tbody th { width: 19%; font-family: var(--font-serif); font-size: 1.05rem; font-weight: 500; }
.vet-td-ours { background: var(--vet-amber-wash); font-weight: 500; }
.vet-models { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 24px; font-size: 13.5px; color: var(--vet-soft); }
.vet-models p { max-width: none !important; margin: 0; font-weight: 700; color: var(--vet-ink); }
.vet-models ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; }
.vet-models li { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--vet-ink); }
.vet-models li span { font-weight: 400; color: var(--vet-soft); }
.vet-model-openai { display: block; }

/* The practice card */

/* Setup and the test sheet */
.vet-how { background: var(--vet-sheet); border-top: 1px solid var(--vet-rule); }
.vet-steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border: 2px solid var(--vet-ink); border-radius: 8px; overflow: hidden; }
.vet-steps li { padding: 20px 18px 22px; }
.vet-steps li + li { border-left: 1px solid var(--vet-rule); }
.vet-steps h3 { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 500; }
.vet-steps p { margin-top: 8px; font-size: 14.5px; line-height: 1.5; color: var(--vet-soft); }

/* FAQ */
.vet-faq { background: var(--vet-paper); border-top: 1px solid var(--vet-rule); }
.vet-faq-grid { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(32px, 5vw, 76px); align-items: start; }
.vet-faq-grid > div:first-child { position: sticky; top: 140px; }
.vet-faq-list { border-top: 2px solid var(--vet-ink); }
.vet-faq-list details { border-bottom: 1px solid var(--vet-rule); }
.vet-faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 60px; padding: 14px 0; cursor: pointer; list-style: none; font-family: var(--font-serif); font-size: 1.2rem; line-height: 1.3; letter-spacing: -0.005em; }
.vet-faq-list summary::-webkit-details-marker { display: none; }
.vet-faq-list summary span { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--vet-sheet); font-family: var(--font-sans); font-size: 1.2rem; transition: transform 160ms ease-out; }
.vet-faq-list details[open] summary span { transform: rotate(45deg); background: var(--vet-glow); }
.vet-faq-list details p { padding: 0 0 20px; max-width: 70ch; font-size: 16px; color: var(--vet-soft); }
.vet-faq-list details p + p { margin-top: -8px; font-size: 14px; }

/* Close */
.vet-close { background: var(--vet-night); color: var(--vet-on-night); padding: clamp(64px, 8vw, 104px) 0; border-top: 4px solid var(--vet-red); }
.vet-close-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); gap: clamp(32px, 5vw, 76px); align-items: start; }
.vet-close h2 { color: #fff; }
.vet-close h2 em { color: var(--vet-glow); }
.vet-close p { margin-top: 18px; max-width: 60ch; color: var(--vet-on-night); }
.vet-close aside { display: grid; gap: 4px; padding: 22px 24px; border: 1px solid rgba(236, 239, 243, 0.22); border-radius: 6px; background: var(--vet-night-2); }
.vet-close aside strong { margin-bottom: 6px; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vet-glow); }
.vet-close aside a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; color: var(--vet-on-night); text-decoration: none; font-weight: 600; font-size: 15px; border-top: 1px solid rgba(236, 239, 243, 0.14); }
.vet-close aside a:hover { color: #fff; text-decoration: underline; }

/* The shared plans block: 44px touch targets */
.vet-page .nj-section .nj-link,
.vet-page .nj-section li > p:last-child > a,
.vet-page .nj-section a:not([class]) { display: inline-flex; align-items: center; min-height: 44px; }

/* Six systems: the cage cards */

/* Recall calendar */

@media (max-width: 1080px) {
  .vet-jump { top: 64px; }
  .vet-hero, .vet-night-grid, .vet-poster-row, .vet-nc-grid, .vet-faq-grid, .vet-close-grid { grid-template-columns: minmax(0, 1fr); }
  .vet-faq-grid > div:first-child { position: static; }
  .vet-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vet-steps li:nth-child(odd) { border-left: 0; }
  .vet-steps li:nth-child(n + 3) { border-top: 1px solid var(--vet-rule); }
}
@media (max-width: 820px) {
  .vet-doors li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .vet-door-arrow { display: none; }
}
@media (max-width: 720px) {
  .vet-wrap { width: min(100% - 40px, 1280px); }
  .vet-hero-shell { padding-top: 84px; }
  .vet-ward { padding: 10px 10px 12px; border-radius: 14px; }
  .vet-tabs { width: 100%; }
  .vet-tabs label { flex: 1; justify-content: center; padding: 0 8px; font-size: 13px; }
  .vet-label dl > div { grid-template-columns: minmax(0, 1fr); }
  .vet-steps { grid-template-columns: minmax(0, 1fr); }
  .vet-steps li + li { border-left: 0; border-top: 1px solid var(--vet-rule); }
  .vet-poster li { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .vet-kennels { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .vet-button, .vet-faq-list summary span, .vet-door, .vet-tabs label { transition: none; }
  .vet-button:hover { transform: none; }
}
