/* 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 .nav-cta,
.nav-home .nav-cta,
a.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:.65rem 1rem;
  font-family:var(--sans);
  font-size:max(.8rem,12px);
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  white-space:nowrap;
  color:var(--teal-l)!important;
  border:1px solid rgba(120,201,210,.4);
  border-radius:3px;
  background:transparent;
}
.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{position:relative;overflow:hidden;text-align:center;padding-top:112px;padding-bottom:3rem;max-width:100%}
.page-hero canvas{position:absolute;inset:0;width:100%;height:100%;max-width:100%;display:block;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;line-height:1.08;color:var(--w);margin-bottom:1.5rem}
.page-hero h1 em{font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--teal-l),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.page-hero p{font-size:1.1rem;color:var(--t1);max-width:600px;margin:0 auto;line-height:1.9}
.breadcrumb{font-size:max(.75rem,12px);letter-spacing:.18em;text-transform:uppercase;color:var(--t4);margin-bottom:2rem}
.breadcrumb a{color:var(--t3);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.breadcrumb a:hover{color:var(--teal-l)}
.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:max(.75rem,12px)}
  .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:max(.75rem,12px);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}}

/* ===== 2026-10-21 rendering audit ===== */
.hero-c h1,.hero-sub,.hero-alt,.scroll-cue,.sub-hero-c h1,.sub-hero-sub{opacity:1!important;animation:none!important}
.foot-tag{color:var(--teal-l)!important;opacity:1!important}
.tag,.continuity-label,.rev-tag,.feat-badge,.cta-hrs,.foot-links a,.trust span,.sec-lab,.breadcrumb,.stat-s,.scroll-cue span,.foot-legal,.nav-home .nav-desktop a{
  font-size:max(.75rem,12px);
}
.foot a,.foot-links a,.breadcrumb a,.read-more,button.faq-q,.faq-q,.faq-question,.nav-cta,.nav-home .nav-desktop a,.nav-menu summary,.nav-menu-links a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.mobile-cta-bar{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:999;
  background:rgba(12,24,29,.97);
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(74,171,184,.15);
  padding:.5rem .75rem;
  gap:.5rem;
  align-items:center;
  justify-content:center;
}
.mobile-cta-bar a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  font-size:max(.75rem,12px);
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  padding:.55rem 1.2rem;
  border-radius:2px;
  flex:1;
  text-align:center;
}
.mobile-cta-bar .mcb-text{background:var(--teal);color:var(--bg)}
.mobile-cta-bar .mcb-call{border:1px solid rgba(74,171,184,.3);color:var(--teal-l)}

html.mck-defer-chat chat-widget{
  visibility:hidden!important;
  pointer-events:none!important;
}

.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin:2rem 0}
.blog-card{border:1px solid rgba(74,171,184,.06);border-radius:8px;overflow:hidden;background:rgba(16,31,37,.3)}
.blog-card-body{padding:1.8rem}
.blog-card-date{font-size:max(12px,.7rem);letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.blog-card h3{font-size:1.15rem;margin-bottom:.6rem}
.blog-card h3 a{color:var(--w);text-decoration:none}
.blog-card p{font-size:.85rem;color:var(--t2);line-height:1.9}
.blog-card .read-more{display:inline-flex;align-items:center;min-height:44px;margin-top:.4rem;font-size:max(12px,.7rem);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-l);text-decoration:none}
.blog-note{text-align:center;margin-top:3rem;font-size:.9rem;color:var(--t2)}
.blog-pager{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;align-items:center;margin:2.5rem 0 1rem}
.blog-pager button,.blog-pager a{
  min-height:44px;
  min-width:44px;
  padding:.55rem 1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(74,171,184,.3);
  background:transparent;
  color:var(--teal-l);
  font:600 .85rem var(--sans);
  cursor:pointer;
  border-radius:3px;
}
.blog-pager button[aria-current="page"],.blog-pager a[aria-current="page"]{background:var(--teal);color:var(--bg);border-color:var(--teal)}
.blog-pager button:disabled{opacity:.4;cursor:not-allowed}
.book-wrap{max-width:700px;margin:0 auto;padding:0 2rem}
.book-frame{background:var(--bg2);border:1px solid rgba(74,171,184,.08);border-radius:12px;padding:2.5rem;margin:2rem 0}
.book-frame iframe{width:100%;min-height:700px;border:none;border-radius:8px}
.book-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0}
.book-step{text-align:center;padding:1.5rem 1rem}
.book-step-n{font-family:var(--serif);font-size:2rem;color:var(--teal);margin-bottom:.5rem}
.book-step p{font-size:.82rem;color:var(--t2);line-height:1.8}
.book-note{text-align:center;font-size:.85rem;color:var(--t2);line-height:2;max-width:500px;margin:2rem auto 0}

@media(max-width:900px){
  .mobile-cta-bar{display:flex}
  body:has(.mobile-cta-bar){padding-bottom:72px}
  body:has(.mobile-cta-bar) chat-widget{display:none!important}
  .blog-grid{grid-template-columns:1fr}
  .book-steps{grid-template-columns:1fr}
}
@media(min-width:600px) and (max-width:1024px){
  .prov-img img{
    max-height:70vh;
    width:100%;
    object-fit:cover;
    object-position:center top;
  }
}
@media(min-width:1024px){
  .hero-lobby{
    aspect-ratio:16/9;
    height:auto;
    min-height:560px;
    max-height:900px;
  }
  .hero-lobby .hero-bg img{object-fit:cover;object-position:center 38%}
}
img{max-width:100%;height:auto}
.foot img{width:auto;height:110px;max-width:100%}

