/* 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}

/* The approved lobby photograph is the hero, with the conversation centered on it. */
.hero-lobby{display:flex;position:relative;width:100%;max-width:none;height:clamp(700px,100svh,900px);min-height:700px;margin:0;padding:110px 1.5rem 4rem;align-items:flex-end;justify-content:center;overflow:hidden}
.hero-lobby .hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;background:var(--bg)}
.hero-lobby .hero-bg img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 48%;animation:none;transform:none}
.hero-lobby .hero-dim{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,24,29,.78) 0%,rgba(12,24,29,.74) 28%,rgba(12,24,29,.82) 52%,rgba(12,24,29,.96) 82%,var(--bg) 100%)}
.hero-lobby .hero-c{position:relative;z-index:2;width:100%;max-width:800px;padding:0 1rem;text-align:center}
.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:560px;margin:0 auto 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 .scroll-cue{display:block}
.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{display:grid;grid-template-rows:460px auto;margin:0;background:var(--bg);overflow:hidden}
.dogs-hero .dp img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;transform:none;transition:none}
.dogs-hero .dp:first-child img{object-position:center 63%}
.dogs-hero .dp:nth-child(2) img{object-position:center 52%}
.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}
.photo-pair img{height:auto}

/* Keep the complete final portrait visible instead of cropping it into a banner. */
.foot-photo{width:min(100% - 2rem,700px);max-width:700px;height:auto;min-height:0;margin:5rem auto 0;overflow:hidden;border-radius:6px 6px 0 0;background:var(--bg2)}
.foot-photo img{display:block;width:100%;height:auto;aspect-ratio:935 / 1247;object-fit:contain;object-position:center;filter:brightness(.9)}
.foot-photo-dim{background:linear-gradient(180deg,var(--bg) 0%,transparent 8%,transparent 92%,var(--bg3) 100%)}

@media(max-width:1100px){
  .nav-home .nav-desktop{display:none}
  .nav-home .nav-menu{display:block}
  .hero-lobby{padding-inline: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{height:max(700px,100svh);min-height:700px;padding:88px 1.25rem 3rem;align-items:flex-end}
  .hero-lobby .hero-bg{max-width:none;aspect-ratio:auto}
  .hero-lobby .hero-bg img{height:100%;max-height:none;object-fit:cover;object-position:56% center}
  .hero-lobby .hero-c{padding:0;max-width:600px}
  .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-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{grid-template-rows:clamp(220px,62vw,330px) auto}
  .dogs-hero .dp img{height:100%;max-height:none;object-fit:cover}
  .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}
  .foot-photo{width:100%;margin-top:3rem;border-radius:0}
}
@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{height:auto;min-height:390px;padding:88px 1.25rem 1.25rem;align-items:flex-end}
  .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{height:100%;max-height:none;object-fit:cover;object-position:center 45%}
  .hero-lobby .scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-lobby *{animation:none!important;transition:none!important}
}

/* Homepage readability: retain every word, photograph, and existing component. */
body:has(.hero-lobby) .coffee-overlay{background:linear-gradient(180deg,var(--bg) 0%,rgba(12,24,29,.66) 18%,rgba(12,24,29,.76) 50%,rgba(12,24,29,.94) 80%,var(--bg) 100%)}
body:has(.hero-lobby) .hero-alt,body:has(.hero-lobby) .coffee p{font-size:1rem;line-height:1.65;color:var(--t1)}
body:has(.hero-lobby) #evidence .stat-n{font-family:var(--sans);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--w)}
body:has(.hero-lobby) #evidence .stat-n sup{font:inherit;vertical-align:baseline}
body:has(.hero-lobby) #evidence .stat-l{font-family:var(--sans);font-size:1rem;font-weight:400;line-height:1.65;color:var(--t1)}
body:has(.hero-lobby) #evidence .stat-s{font-family:var(--sans);font-size:.875rem;font-weight:400;font-style:normal;line-height:1.6;color:var(--t2);margin-top:.65rem}
body:has(.hero-lobby) #evidence .stat-s a{color:var(--teal-l);text-underline-offset:3px}
body:has(.hero-lobby) .sec-lab{font-size:.875rem;letter-spacing:.1em;color:var(--teal-l)}
body:has(.hero-lobby) .step p,body:has(.hero-lobby) .coffee p{font-size:1rem;line-height:1.7}
body:has(.hero-lobby) .rev q{font-size:1.15rem;line-height:1.65}
body:has(.hero-lobby) .rev cite,body:has(.hero-lobby) .rev-tag,body:has(.hero-lobby) .feat-auth span{font-family:var(--sans);font-size:.875rem;line-height:1.6;letter-spacing:.02em;color:var(--t2)}
body:has(.hero-lobby) .cta-hrs,body:has(.hero-lobby) .foot-legal{font-size:.875rem;line-height:1.7;letter-spacing:.02em;color:var(--t2)}
body:has(.hero-lobby) .foot-links a{font-size:.875rem;letter-spacing:.02em;color:var(--t2)}
body:has(.hero-lobby) .hero-lobby+.trust span{font-size:.875rem;line-height:1.5;color:var(--t1)}
@media(max-width:700px){
 body:has(.hero-lobby) #evidence .stat{grid-template-columns:minmax(0,1fr);row-gap:.4rem;text-align:left}
 body:has(.hero-lobby) #evidence .stat-n{grid-row:auto;align-self:start;font-size:1.75rem}
 body:has(.hero-lobby) #evidence .stat-l,body:has(.hero-lobby) #evidence .stat-s{grid-column:1;margin-top:0}
}

body:has(.hero-lobby) .foot-service-area{max-width:46rem;margin:1.25rem auto 0;font-family:var(--sans);font-size:.95rem;line-height:1.7;color:var(--t2)}

/* Booking focus remains below the fixed navigation, with no forced animation. */
#booking{scroll-margin-top:12px}
#booking:focus-visible{outline:2px solid var(--teal-l);outline-offset:5px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* An inline assistant choice leaves navigation, urgent help and booking clear. */
.skyler-help{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 2rem;background:var(--bg2);border-bottom:1px solid rgba(120,201,210,.15)}
.skyler-open{display:flex;align-items:center;gap:.8rem;flex-shrink:0;min-height:64px;padding:.5rem 1.2rem .5rem .5rem;border:1px solid var(--teal-l);border-radius:2rem;background:var(--bg);color:var(--w);font-family:var(--sans);cursor:pointer;text-align:left}
.skyler-open img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.skyler-open strong,.skyler-open span span{display:block}
.skyler-open strong{font-size:1.05rem}.skyler-open span span{font-size:.875rem;color:var(--teal-l)}
.skyler-open:focus-visible{outline:3px solid var(--teal-l);outline-offset:4px}
.skyler-open:disabled{cursor:wait}
.skyler-help p{max-width:36rem;font-size:.95rem;line-height:1.65;color:var(--t2);margin:0}
.skyler-help a{color:var(--teal-l)}
@media(max-width:700px){.skyler-help{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1.5rem}}
