/* Shared navigation and media sizing. Keep the clinic's existing palette and type. */
html{scroll-padding-top:96px}
.nav.nav-home,.nav.nav-home.stuck{min-height:76px;padding:.55rem 2rem;background:rgba(12,24,29,.98);border-bottom:1px solid rgba(120,201,210,.18);z-index:1000}
.nav-home .nav-logo img,.nav-home.stuck .nav-logo img{display:block;height:60px;width:auto}
.nav-home .nav-desktop{display:flex;gap:1.1rem}
.nav-home .nav-desktop a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px;color:var(--t1);font-size:.75rem;letter-spacing:.03em;text-transform:none}
.nav-home .nav-actions{display:flex;align-items:center;gap:.7rem}
.nav-home .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;font:500 .8rem var(--sans);letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;border:1px solid rgba(120,201,210,.4);border-radius:3px}
.nav-home a:focus-visible,.nav-home summary:focus-visible{outline:2px solid var(--teal-l);outline-offset:4px}
.nav-home a[aria-current="page"]{color:var(--teal-l)}
.nav-home .nav-menu{display:none;position:relative}
.nav-home .nav-menu summary{cursor:pointer;list-style:none;min-height:44px;padding:.55rem .8rem;border:1px solid rgba(120,201,210,.4);border-radius:3px;color:var(--w);font:.85rem var(--sans)}
.nav-home .nav-menu summary::-webkit-details-marker{display:none}
.nav-home .nav-menu summary::after{content:' +';color:var(--teal-l)}
.nav-home .nav-menu[open] summary::after{content:' −'}
.nav-home .nav-menu-links{position:absolute;top:calc(100% + .8rem);right:0;display:grid;min-width:230px;max-height:calc(100svh - 100px);overflow:auto;padding:.65rem;background:var(--bg2);border:1px solid rgba(120,201,210,.35);border-radius:4px;box-shadow:0 16px 35px rgba(0,0,0,.35)}
.nav-home .nav-menu-links a{display:flex;align-items:center;min-height:44px;padding:.6rem .8rem;color:var(--t1);text-decoration:none;font:.95rem var(--sans)}
.nav-home .nav-menu-links a:hover{background:var(--bg3);color:var(--teal-l)}
.foot img{width:auto;max-width:100%;object-fit:contain}
.foot-links a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.page-hero{padding-top:112px;padding-bottom:3rem}
.table-scroll{max-width:100%;overflow-x:auto}
.table-scroll:focus-visible{outline:2px solid var(--teal-l);outline-offset:4px}
.faq-q[type="button"]{display:block;width:100%;border:0;background:none;text-align:left;font-family:var(--sans);cursor:pointer}
.faq-q[type="button"]:focus-visible{outline:2px solid var(--teal-l);outline-offset:4px}
.faq-question[role="button"]:focus-visible{outline:2px solid var(--teal-l);outline-offset:4px}
.faq-question[role="button"]{min-height:44px}
.faq-item.open .faq-answer{max-height:none!important;height:auto!important;overflow:visible}
.faq-answer[hidden]{display:none!important}
.faq-a[hidden]{display:none!important}
.faq-item.open .faq-a{max-height:none!important;height:auto!important}

/* Lead with the conversation, then show the entire original lobby photograph. */
.hero-lobby{max-width:1280px;margin:auto;padding:112px 3rem 2rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3rem;align-items:center}
.hero-lobby .hero-c{order:1;padding:2rem 0;max-width:640px}
.hero-lobby .hero-c h1{font-size:clamp(2.8rem,4.2vw,3.8rem);line-height:1.12;margin-bottom:1.5rem;opacity:1;animation:none}
.hero-lobby .hero-c h1 em{display:inline}
.hero-lobby .hero-sub{font-size:1.06rem;line-height:1.75;max-width:530px;margin-bottom:1.7rem;opacity:1;animation:none}
.hero-lobby .hero-alt{opacity:1;animation:none}
.hero-lobby .btn{font-size:.88rem;letter-spacing:.025em;text-transform:none;animation:none}
.hero-lobby .hero-bg{order:2;position:relative;inset:auto;height:auto;max-width:410px;width:100%;margin:auto;background:var(--bg)}
.hero-lobby .hero-bg img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain;object-position:center;animation:none;transform:none}
.hero-lobby+.trust{gap:1.5rem;padding:1.4rem 2rem}
.hero-lobby+.trust span{font-size:.75rem;letter-spacing:.04em;text-transform:none;color:var(--t2)}

/* HTML intrinsic dimensions reserve space; CSS sizes the actual portrait. */
.prov-img img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}
.prov-img:hover img{transform:none}
.prov-grid{align-items:center;gap:3rem}
.dogs-hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;overflow:visible}
.dogs-hero .dp{margin:0;background:var(--bg);overflow:hidden}
.dogs-hero .dp img{display:block;width:100%;height:460px;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;transition:none}
.dogs-hero .dp:hover img{transform:none}
.dogs-hero .dp::after{content:none}
.dogs-hero figcaption{padding:1rem 1.1rem;min-height:86px}
.dogs-hero figcaption strong{display:block;font:600 1.4rem var(--serif);color:var(--w)}
.dogs-hero figcaption span{display:block;font-size:.8rem;line-height:1.5;color:var(--t2)}
.dogs-grid{max-width:800px;margin-inline:auto}
.wilma-chair{max-width:270px;margin:1.75rem auto 0;text-align:center}
.wilma-chair img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.wilma-chair figcaption{padding:.65rem;font-size:.85rem;color:var(--t2)}
.photo-pair img{height:auto}

@media(max-width:1100px){
  .nav-home .nav-desktop{display:none}
  .nav-home .nav-menu{display:block}
  .hero-lobby{padding-inline:2rem;gap:2rem}
}
@media(max-width:700px){
  html{scroll-padding-top:80px}
  .nav.nav-home,.nav.nav-home.stuck{min-height:64px;padding:.4rem .8rem}
  .nav-home .nav-logo img,.nav-home.stuck .nav-logo img{height:48px;width:auto}
  .nav-home .nav-actions{gap:.45rem}
  .nav-home .nav-cta{padding:.5rem .6rem;font-size:.72rem}
  .nav-home .nav-menu summary{padding:.5rem .65rem;font-size:.8rem}
  .hero-lobby{padding:88px 1.25rem 1.5rem;grid-template-columns:1fr;gap:1.5rem}
  .hero-lobby .hero-c{padding:0;max-width:none}
  .hero-lobby .hero-c h1{font-size:clamp(2.2rem,9vw,3.4rem);margin-bottom:1.25rem}
  .hero-lobby .hero-sub{font-size:1rem;line-height:1.65;margin-bottom:1.4rem}
  .hero-lobby .hero-bg{max-width:360px;aspect-ratio:auto}
  .hero-lobby .hero-bg img{max-height:none;height:auto;object-fit:contain}
  .hero-lobby .hero-alt{font-size:.9rem}
  .hero-lobby+.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;padding:1.25rem;text-align:center}
  .prov-grid{gap:1.5rem}
  .prov-img{max-width:320px}
  .prov-img img{height:auto;max-height:none;aspect-ratio:auto}
  .dogs-hero{gap:.75rem}
  .dogs-hero .dp img{height:clamp(190px,55vw,310px);max-height:none;object-fit:contain}
  .dogs-hero figcaption{padding:.7rem;min-height:110px}
  .dogs-hero figcaption strong{font-size:1.2rem}
  .dogs-hero figcaption span{font-size:.8rem}
  .foot img{width:auto;height:100px}
  .foot-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .65rem}
  .foot-links a{padding:.5rem .4rem;font-size:.75rem;letter-spacing:.03em;min-width:0;overflow-wrap:anywhere}
  .foot-links span{grid-column:1/-1}
  .book-wrap{padding:0 1rem}
  .page-hero{padding-top:96px;padding-bottom:2rem}
  .book-frame{padding:.75rem}
  .book-steps{grid-template-columns:1fr;gap:.25rem}
  .book-step{padding:1rem}
}
@media(max-width:350px){
  .nav-home .nav-cta{font-size:.65rem;padding:.5rem .45rem}
  .nav-home .nav-logo img,.nav-home.stuck .nav-logo img{height:42px}
}
@media(min-width:701px) and (max-height:600px){
  .hero-lobby{padding-top:96px;align-items:start}
  .hero-lobby .hero-c{padding:0}
  .hero-lobby .hero-c h1{font-size:2.35rem;margin-bottom:1rem}
  .hero-lobby .hero-sub{font-size:.95rem;line-height:1.5;margin-bottom:1rem}
  .hero-lobby .hero-alt{margin-top:.7rem}
  .hero-lobby .hero-bg img{max-height:300px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-lobby *{animation:none!important;transition:none!important}
}
