/* Stage 6: approved D3 home. Result-stage geometry stays with the search runtime. */
.home-part-guide { background:var(--tint); color:var(--ink); }
.home-part-guide p { font:var(--text-body); }
[data-page="home"] {
  --control-line:var(--muted);
  --control-line-on-navy:var(--on-navy-faint);
  --pill-idle:var(--band);
  --home-hero-size:clamp(44px,3.9vw,58px);
  --home-hero-tablet-size:38px;
  --home-hero-phone-size:clamp(27px,7.4vw,31px);
  --home-search-size:48px;
  --home-search-phone-size:30px;
  --home-doctor-size:44px;
  --home-doctor-phone-size:28px;
  --home-hours-size:22px;
  --home-hours-phone-size:19px;
  --home-caption-size:12.5px;
  --home-small-size:13.5px;
  --home-detail-size:14.5px;
  --home-compact-size:15.5px;
  --home-greet-size:17.5px;
  --home-text-1:17px;
  --home-text-2:13px;
  --home-text-3:15px;
  --home-text-4:11px;
  --home-text-5:52px;
  --home-text-6:18px;
  --home-text-7:16px;
  --home-text-8:14px;
  --home-text-9:12px;
  --home-text-10:30px;
  --home-text-11:24px;
  --home-text-12:40px;
  --home-text-13:28px;
  --home-text-14:22px;
  --home-text-15:20px;
  --home-text-16:12.5px;
  --home-radius-1:999px;
  --home-radius-2:24px;
  --home-radius-3:50%;
  --home-radius-4:0;
  --home-square:0;
  --home-circle:50%;
  color:var(--ink);
}
.wrap, .visit-b-head, .visit-b-layout { max-width:var(--max); padding-inline:var(--gutter); }
.section { padding-block:var(--sp-104); }
.section h2, .visit-b h2 { font:var(--text-title-section); letter-spacing:-.035em; color:var(--ink); }
.section-label, .visit-b-label { display:inline-flex; align-items:center; gap:var(--sp-8); margin-bottom:14px; color:var(--navy); font:var(--text-label); }
.section-label::before, .visit-b-label::before { content:''; width:7px; height:7px; border-radius:var(--home-circle); background:var(--lime); box-shadow:0 0 0 3px var(--lime-glow); }
.button { gap:14px; padding:14px 24px; border-radius:var(--r-s); color:var(--navy); font:var(--text-button); }
.button-lime { background:var(--lime); }
.button-line, .button-outline { border:1px solid var(--line-2); background:var(--surface); color:var(--navy); }
.section-more { margin-top:var(--sp-40); }
.section-more-link, .section-more-link.button-outline { min-height:48px; padding:10px 18px; gap:12px; border:1px solid var(--line-2); border-radius:var(--r-s); background:var(--surface); color:var(--navy); font-size:var(--frame-text-15); font-weight:600; }
.placeholder, .cond-note { color:var(--muted); font:var(--text-caption); }
.tbd { display:inline-flex; align-items:center; height:21px; padding:0 7px; border:1px dashed var(--tbd-border); border-radius:var(--r-tag); color:var(--muted); background:var(--surface); font:var(--text-tag); white-space:nowrap; vertical-align:middle; }

/* First screen: copy and information at left, preview photo at right. */
.hx { padding-block:calc(var(--frame-rest-height) + 24px) 40px; background:var(--surface); }
.hx-in { max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); grid-template-rows:1fr auto; column-gap:clamp(40px,4.6vw,72px); }
.hx-copy { grid-column:1; grid-row:1; align-self:center; padding-block:12px 32px; }
.hx h1 { font:var(--text-display-hero); font-size:var(--home-hero-size); letter-spacing:-.05em; }
.hx h1 span, .hx h1 strong { display:block; }
.hx h1 strong { font-weight:600; color:var(--navy); }
.hx-sub { margin-top:var(--sp-20); max-width:26em; color:var(--ink-2); font:var(--text-lead); }
.hx-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:var(--sp-32); }
.hx-first { display:inline-flex; align-items:center; min-height:var(--tap-min); margin-top:var(--sp-12); color:var(--ink-2); font-size:var(--frame-text-15); text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:5px; }
.hx-photo { grid-column:2; grid-row:1 / span 2; position:relative; height:clamp(540px,calc(100svh - var(--frame-rest-height) - 128px),680px); overflow:hidden; border-radius:var(--r-hero); background:var(--band); }
.hx-photo img { width:100%; height:100%; object-fit:cover; object-position:85% 42%; }
.hx-temp { position:absolute; top:16px; left:16px; padding:5px 11px; border-radius:var(--r-pill); background:var(--glass); color:var(--muted); font-size:var(--home-caption-size); font-weight:500; backdrop-filter:blur(6px); }
.hx-in:not(:has(.hx-photo)) { grid-template-columns:minmax(0,1fr); max-width:var(--page-max); }
.hx-in:not(:has(.hx-photo)) .hx-copy { padding-block:40px; }
.hxv { grid-column:1; grid-row:2; margin:0; border-top:1px solid var(--line); font-variant-numeric:tabular-nums; }
.hxv-row { display:grid; grid-template-columns:68px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.hxv-row:last-child { border-bottom:0; padding-bottom:0; }
.hxv dt { padding-top:2px; color:var(--muted); font-size:var(--frame-text-14); }
.hxv dd { min-width:0; margin:0; color:var(--ink); font-size:var(--home-compact-size); }
.hxv-place, .hxv-dr { align-items:center; }
.hxv-place dt, .hxv-dr dt { padding-top:0; }
.hxv-place dd, .hxv-dr dd { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.hxv-table { width:100%; border-collapse:collapse; }
.hxv-table tbody { display:grid; grid-template-columns:repeat(2,max-content); column-gap:40px; row-gap:2px; }
.hxv-table tr { display:flex; align-items:baseline; gap:14px; }
.hxv-table th { flex:0 0 40px; color:var(--ink-2); font-size:var(--home-detail-size); font-weight:400; text-align:left; }
.hxv-table td { color:var(--navy); font-size:var(--frame-text-17); font-weight:500; letter-spacing:-.01em; }
.hxv-note { display:flex; flex-wrap:wrap; gap:2px 12px; margin-top:6px; color:var(--muted); font-size:var(--home-small-size); }
.hxv-short { display:none; }
.hxv-link { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; min-width:var(--tap-min); min-height:var(--tap-min); color:var(--navy); font-size:var(--frame-text-14); font-weight:600; }
.hxv-link .arrow { width:11px; }

/* Condition data is rendered by the unchanged conditions.js consumer. */
.cond-section { padding-block:var(--sp-112) var(--sp-96); background:var(--surface); }
.cond-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.cond-lead { max-width:420px; color:var(--ink-2); font-size:var(--frame-text-17); }
.cond-from { display:inline-flex; align-items:center; gap:10px; margin:0 0 28px; padding:8px 18px; border-radius:var(--r-pill); background:var(--band); color:var(--ink); font-size:var(--frame-text-14); }
.cond-from i { width:8px; height:8px; border-radius:var(--home-circle); background:var(--coral); }
.cond-note { margin-top:28px; }
.cond-dots { display:none; }

/* Care content keeps its stacked panel geometry for the original tab runtime. */
.care-a { border-top:1px solid var(--line); background:var(--surface); }
.care-a-head { margin-bottom:48px; }
.care-a-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,.92fr) minmax(0,1.08fr); gap:48px; align-items:start; }
.care-a-tabs { display:flex; flex-direction:column; gap:8px; min-width:0; }
.care-a-tab { width:100%; min-height:var(--tap-min); padding:16px 0 16px 20px; border-left:2px solid var(--line); background:transparent; text-align:left; }
.care-a-tab-name { display:block; color:var(--ink-2); font-size:var(--frame-text-21); line-height:1.4; white-space:nowrap; }
.care-a-tab-line { display:block; margin-top:5px; color:var(--muted); font:var(--text-caption); }
.care-a-tab[aria-selected="true"] { border-color:var(--navy); }
.care-a-tab[aria-selected="true"] .care-a-tab-name { color:var(--ink); font-weight:600; }
.care-a-tab:focus-visible { outline-offset:-2px; }
.care-a-content { display:grid; grid-column:2 / 4; grid-template-columns:subgrid; min-width:0; }
.care-a-panel { display:grid; grid-area:1 / 1 / 2 / 3; grid-template-columns:subgrid; align-items:start; min-width:0; }
.care-a-panel[aria-hidden="true"] { visibility:hidden; pointer-events:none; }
.care-a-photo { position:relative; grid-column:2; grid-row:1; aspect-ratio:4/5; border-radius:var(--r-l); overflow:hidden; background:var(--band); visibility:visible; opacity:0; transition:opacity .4s ease; }
.care-a-panel:not([aria-hidden="true"]) .care-a-photo { opacity:1; }
.care-a-photo img { width:100%; height:100%; object-fit:cover; }
.care-a-photo .care-a-us { object-position:85% 50%; }
.care-a-photo .care-a-inj { object-position:50% 47%; }
.care-a-photo--cryo { display:flex; flex-direction:column; }
.care-a-photo--cryo .care-a-cryo { flex:1; min-height:0; height:0; object-fit:contain; padding:16px; background:none; mix-blend-mode:multiply; }
.care-a-photo--cryo figcaption { padding:8px 12px 12px; color:var(--muted); font-size:var(--frame-text-12); text-align:center; }
.care-a-detail { grid-column:1; grid-row:1; min-width:0; }
.care-a-detail h3 { color:var(--ink); font:var(--text-title-content); }
.care-a-summary { margin-top:8px; color:var(--ink-2); font-size:var(--frame-text-17); }
.care-a-steps { margin:24px 0 0; padding:0; list-style:none; }
.care-a-steps li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:baseline; padding-bottom:20px; }
.care-a-step-no { color:var(--navy); font-size:var(--frame-text-12); font-variant-numeric:tabular-nums; }
.care-a-step-text { color:var(--ink); font-size:var(--frame-text-16); line-height:1.75; }
.care-a-parts { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.care-a-parts + .care-a-parts { padding-top:0; border-top:0; }
.care-a-parts-label { color:var(--muted); font:var(--text-caption); }
.care-a-part { padding:4px 12px; border-radius:var(--r-m); background:var(--band); color:var(--ink-2); font:var(--text-caption); }
.care-a-notes { margin-top:40px; }
#care-cryo .section-more-link { margin-top:24px; }

/* Navy introduction and existing profile details. */
.dr-a { background:var(--navy); color:var(--surface); }
.dr-a-layout { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(48px,6vw,96px); align-items:center; }
.dr-a-photo { position:relative; border-radius:var(--r-l); overflow:hidden; background:var(--navy-photo); }
.dr-a-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; }
.dr-a-ncard { position:absolute; left:16px; right:16px; bottom:16px; padding:16px 20px; border-radius:var(--r-s); background:var(--glass); color:var(--ink); backdrop-filter:blur(6px); }
.dr-a-name { display:flex; align-items:baseline; gap:12px; margin-bottom:8px; }
.dr-a-name strong { font-size:var(--frame-text-24); font-weight:500; }
.dr-a-name span { color:var(--muted); font-size:var(--frame-text-14); }
.dr-a-specialty { display:flex; align-items:center; gap:8px; font-size:var(--frame-text-14); }
.dr-a-specialty::before { content:''; width:6px; height:6px; flex:none; border-radius:var(--home-circle); background:var(--lime); }
.dr-a .section-label, .dr-a-text h2 { color:var(--surface); }
.dr-a-text h2 { font-size:var(--home-doctor-size); }
.dr-a-greet { margin-top:32px; max-width:520px; color:var(--on-muted); font-size:var(--home-greet-size); line-height:1.9; letter-spacing:-.025em; }
.dr-a-greet p + p { margin-top:16px; }
.dr-a-profile { margin-top:40px; }
.dr-a-creds { margin:16px 0 0; padding:0; list-style:none; }
.dr-a-creds li { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; padding:8px 0; font-size:var(--frame-text-15); }
.dr-a-creds li span { color:var(--on-navy-faint); font-size:var(--frame-text-13); }
.dr-a-more { margin-top:12px; }
.dr-a-more summary { width:fit-content; min-height:var(--tap-min); padding-block:10px; color:var(--on-navy-faint); font:var(--text-caption); cursor:pointer; }
.dr-a-notes { margin-top:40px; }
.dr-a .placeholder { color:var(--on-navy-faint); }
.dr-a .section-more-link { border-color:var(--on-navy-border); background:transparent; color:var(--surface); }
.dr-a :focus-visible { outline-color:var(--focus-ring-on-navy); }

/* Home-sized hours and map, with the original colour map fallback. */
.visit-b { padding-block:var(--sp-112) var(--sp-104); background:var(--surface); }
.visit-b-head, .visit-b-layout { width:100%; margin-inline:auto; }
.visit-b-head { margin-bottom:32px; }
.visit-b-layout { display:grid; gap:32px; }
.visit-b-board { display:grid; grid-template-columns:minmax(0,var(--hours-col)) minmax(0,1fr); gap:56px; min-width:0; }
.visit-b-map { grid-area:1/2; position:relative; min-width:0; min-height:100%; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-l); background:var(--band); }
.visit-b-map-still, .visit-b-map-still img { position:absolute; inset:0; width:100%; height:100%; }
.visit-b-map-still img { object-fit:cover; object-position:50.4% 32.4%; }
.visit-b-pin { position:absolute; z-index:1; left:50.4%; top:32.4%; width:34px; height:34px; transform:translate(-50%,-50%); border:3px solid var(--surface); border-radius:var(--home-circle); background:var(--navy); box-shadow:var(--shadow-pin); }
.visit-b-pin::before { content:''; position:absolute; left:8px; top:8px; width:12px; height:12px; border-radius:var(--home-circle); background:var(--lime); }
.visit-b-pin::after { content:''; position:absolute; top:26px; left:1px; border-inline:13px solid transparent; border-top:24px solid var(--navy); }
.visit-b-attribution { grid-area:1/2; z-index:1; align-self:end; justify-self:end; margin:0 14px 10px; padding:0 4px; background:var(--glass); color:var(--muted); font-size:var(--frame-text-11); pointer-events:none; }
.visit-hours-group { grid-area:1/1; min-width:0; }
.visit-b-hours-title { padding-bottom:14px; border-bottom:2px solid var(--navy); font:var(--text-title-block-phone); }
.visit-b-table { width:100%; border-collapse:collapse; font-size:var(--home-hours-size); font-variant-numeric:tabular-nums; letter-spacing:-.025em; }
.visit-b-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.visit-b-table th, .visit-b-table td { padding-block:8px; line-height:1.6; }
.visit-b-table th { color:var(--ink-2); text-align:left; font-size:var(--frame-text-17); font-weight:400; white-space:nowrap; }
.visit-b-table td { color:var(--navy); text-align:right; font-weight:500; white-space:nowrap; }
.visit-b-table .visit-b-lunch th, .visit-b-table .visit-b-lunch td { padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:var(--frame-text-16); }
.visit-b-closed, .visit-b-note { margin-top:8px; color:var(--muted); font:var(--text-caption); }
.visit-b-call { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.visit-b-call-label { color:var(--muted); font:var(--text-caption); }
.visit-b-number { display:inline-flex; align-items:center; min-height:var(--tap-min); color:var(--navy); font:var(--text-num-phone); font-variant-numeric:tabular-nums; white-space:nowrap; }
.visit-b-holiday { margin-top:12px; padding:12px 16px; border:1px solid var(--line); border-radius:var(--r-s); }
.visit-b-holiday-label { font:var(--text-caption); }
.visit-b-directions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:24px; padding-top:28px; border-top:1px solid var(--line); }
.visit-b-part-head { grid-column:1; color:var(--muted); font:var(--text-caption); }
.visit-b-address { grid-column:1; font:var(--text-address); font-style:normal; letter-spacing:-.035em; }
.visit-b-floor { display:inline-flex; align-items:center; margin-left:12px; padding:3px 12px; border-radius:var(--r-chip); background:var(--band); color:var(--navy); font-size:var(--frame-text-15); font-weight:500; letter-spacing:0; }
.visit-b-actions { grid-column:2; grid-row:1/3; display:flex; flex-wrap:wrap; gap:8px; }
.visit-b-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--tap-min); padding:8px 14px; border:1px solid var(--line-2); border-radius:var(--r-s); background:var(--surface); color:var(--navy); font-size:var(--home-detail-size); }
.visit-b-external { width:8px; height:8px; border-top:1px solid currentColor; border-right:1px solid currentColor; }
.visit-b-copy { background:var(--band); }
.visit-b-copy-status, .visit-b-fallback { grid-column:1/-1; }
.visit-b-copy-status { color:var(--muted); font:var(--text-caption); }
.visit-b-copy-status:empty { display:none; }
.visit-b-fallback input { width:100%; min-height:48px; padding:12px; border:1px solid var(--control-line); border-radius:var(--r-s); background:var(--band); }
.visit-b-access { display:grid; grid-template-columns:64px minmax(0,1fr); gap:16px; margin:0; font-size:var(--frame-text-15); }
.visit-b-access dt { color:var(--muted); font:var(--text-caption); }
.visit-b-access dd { margin:0; }
[data-home-map] iframe { position:absolute; inset:0; width:100%; height:100%; border:0; opacity:0; pointer-events:none; }
[data-home-map].is-live iframe { opacity:1; pointer-events:auto; }
[data-home-map].is-live .visit-b-map-still { visibility:hidden; }

@media (hover:hover) {
@media (hover:hover) {   .button-lime:hover { background:var(--lime-hover); } }
@media (hover:hover) {   .button-line:hover, .button-outline:hover, .section-more-link:hover, .visit-b-button:hover { background:var(--surface); border-color:var(--navy); } }
@media (hover:hover) {   .hx-first:hover, .hxv-link:hover { color:var(--navy); text-decoration:underline; } }
@media (hover:hover) {   .care-a-tab:hover { border-left-color:var(--faint); } }
@media (hover:hover) {   .care-a-tab:hover .care-a-tab-name { color:var(--ink); } }
@media (hover:hover) {   .dr-a .section-more-link:hover { background:var(--navy); border-color:var(--surface); } }
}
@media (width > 860px) and (max-width:1100px) {
  .hx-in { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:36px; }
  .hx h1 { font-size:var(--home-hero-tablet-size); }
  .hx-sub { font-size:var(--frame-text-17); }
  .hxv-dr { display:none; }
  .hxv-table tbody { grid-template-columns:1fr; }
  .hx-photo { height:clamp(520px,calc(100svh - var(--frame-rest-height) - 80px),640px); }
  .care-a-layout { gap:28px; }
  .care-a-detail h3 { font-size:var(--frame-text-24); }
  .visit-b-directions { grid-template-columns:minmax(0,1fr); gap:16px; }
  .visit-b-actions { grid-column:1; grid-row:auto; }
}
@media (max-width:860px) {
  .section { padding-block:var(--sp-72); }
  .section h2, .visit-b h2 { font:var(--text-title-section-phone); }
  .section-label, .visit-b-label { font:var(--text-label-phone); margin-bottom:10px; }
  .section-more { margin-top:28px; }
  [data-page="home"] .floating-header:not(.is-scrolled) { box-shadow:none; }
  .hx { padding-top:var(--frame-rest-height); padding-bottom:0; }
  .hx-in { display:flex; flex-direction:column; padding:0; }
  .hx-photo { order:-1; width:100%; height:min(66vw,290px); border-radius:var(--home-square); }
  .hx-photo img { object-position:85% 38%; }
  .hx-temp { top:12px; left:12px; font-size:var(--frame-text-11); padding:4px 9px; }
  .hx-copy, .hx-in:not(:has(.hx-photo)) .hx-copy { padding:22px 20px 0; }
  .hx h1 { font:var(--text-display-hero-phone); font-size:var(--home-hero-phone-size); }
  .hx-sub { margin-top:10px; font-size:var(--home-compact-size); line-height:1.6; }
  .hx-actions, .hx-first { display:none; }
  .hxv { margin:18px 20px 0; }
  .hxv-row { grid-template-columns:52px minmax(0,1fr); gap:10px; padding:var(--sp-8) 0; }
  .hxv-row:last-child { padding-bottom:11px; border-bottom:1px solid var(--line); }
  .hxv dt { font-size:var(--frame-text-13); }
  .hxv dd { font-size:var(--home-detail-size); }
  .hxv-table, .hxv-note, .hxv-dr { display:none; }
  .hxv-short { display:block; }
  .hxv-short small { color:var(--muted); font-size:var(--frame-text-13); }
  .hxv-link { font-size:var(--home-small-size); }
  .cond-section { padding-block:72px 64px; }
  .cond-head { flex-direction:column; align-items:flex-start; gap:12px; }
  .cond-lead { font-size:var(--frame-text-15); }
  .cond-dots:not(:empty) { display:flex; justify-content:center; gap:6px; margin-top:16px; }
  .cond-dots span { width:6px; height:6px; border-radius:var(--r-pill); background:var(--line-2); }
  .cond-dots .is-on { width:16px; background:var(--navy); }
  .care-a-head { margin-bottom:32px; }
  .care-a-layout { display:contents; }
  .care-a-tabs { position:sticky; top:var(--frame-height); z-index:20; flex-direction:row; gap:6px; overflow-x:auto; padding:8px 4px; background:var(--glass); scrollbar-width:none; }
  .care-a-tab { flex:none; width:auto; min-height:var(--tap-min); padding:10px 16px; border:0; border-radius:var(--r-pill); background:var(--pill-idle); }
  .care-a-tab-name { font:var(--text-tab-pill); color:var(--ink-2); }
  .care-a-tab[aria-selected="true"] { background:var(--navy); }
  .care-a-tab[aria-selected="true"] .care-a-tab-name { color:var(--surface); }
  .care-a-tab-line { display:none; }
  .care-a-content { grid-template-columns:minmax(0,1fr); margin-top:24px; }
  .care-a-panel { grid-area:1/1; grid-template-columns:minmax(0,1fr); gap:24px; }
  .care-a-panel[aria-hidden="true"] .care-a-detail { display:none; }
  .care-a-photo { grid-column:1; aspect-ratio:4/3; }
  .care-a-photo .care-a-us { object-position:50% 38%; }
  .care-a-detail { grid-row:2; }
  .care-a-detail h3 { font-size:var(--frame-text-24); }
  .care-a-summary { font-size:var(--frame-text-15); }
  .care-a-step-text { font-size:var(--frame-text-14); }
  .care-a-tab:active { background:var(--line); }
  .dr-a-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .dr-a-photo img { aspect-ratio:1; object-position:50% 40%; }
  .dr-a-ncard { left:12px; right:12px; bottom:12px; padding:12px 14px; }
  .dr-a-text h2 { font-size:var(--home-doctor-phone-size); }
  .dr-a-greet { margin-top:24px; font-size:var(--frame-text-15); }
  .dr-a-name strong { font-size:var(--frame-text-20); }
  .dr-a-specialty { font-size:var(--frame-text-13); }
  .visit-b { padding-block:72px; }
  .visit-b-layout { display:flex; flex-direction:column; gap:16px; }
  .visit-b-board { display:contents; }
  .visit-b-map { order:0; min-height:0; aspect-ratio:4/3; width:100%; }
  .visit-b-attribution { order:1; margin:0; background:none; }
  .visit-b-directions { order:2; display:block; padding-top:0; border:0; }
  .visit-hours-group { order:3; width:100%; }
  .visit-b-access { order:4; }
  .visit-b-table { font-size:var(--home-hours-phone-size); }
  .visit-b-table th { font-size:var(--frame-text-15); }
  .visit-b-table .visit-b-lunch th, .visit-b-table .visit-b-lunch td { font-size:var(--frame-text-13); }
  .visit-b-number { font:var(--text-num-phone-phone); font-variant-numeric:tabular-nums; }
  .visit-b-address { margin-top:6px; font:var(--text-address-phone); }
  .visit-b-floor { margin-left:8px; font-size:var(--frame-text-13); }
  .visit-b-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }
}
@media (max-width:600px) {
  .dr-a-creds li { grid-template-columns:56px minmax(0,1fr); gap:12px; font-size:var(--frame-text-14); }
  .visit-b-map { height:clamp(200px,62vw,260px); aspect-ratio:auto; }
}
@media (prefers-reduced-motion:reduce) { .care-a-photo { transition:none; } }
.figure-credit { margin-top:16px; font-size:var(--home-text-2); line-height:1.6; }
.body-say { margin-top:16px; padding-block:8px; border-top:1px solid var(--line); font-size:var(--home-text-3); }
@media (max-width:600px) {
.figure-credit { max-width:280px; margin-inline:auto; }
}
@media (max-width:600px) {
.figure-credit { margin-top:8px; font-size:var(--home-text-4); }
}
.s2x { --bg-on:var(--surface); --fg-on:var(--ink); --soft-on:var(--tint); --card-on:var(--glass); --fade-on:transparent; --line-on:var(--line); --acc-on:var(--brand-deep);
  position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; min-height:640px; background:var(--surface);
  transition:background-color .45s ease, color .45s ease, min-height .5s ease; }
.s2x-bg { position:absolute; inset:0; z-index:-1; width:100%; height:100%; pointer-events:none; }
.s2x-wrap { position:relative; }
.s2x-ask { max-width:820px; margin-inline:auto; text-align:center; }
.s2x h2 { font-size:var(--home-text-5); line-height:1.3; }
.s2x-intro { margin-top:12px; color:var(--muted); font-size:var(--home-text-1); }
.s2x-hint { margin-top:12px; font-size:var(--home-text-3); }
.s2x .examples { margin-top:14px; }
.s2x-parts { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 12px; margin-top:22px; }
.s2x-k { font-size:var(--home-text-2); color:var(--muted); }
.s2x-row { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.s2x-part[aria-pressed="true"] { background:var(--acc-on); color:var(--bg-on); }
.s2x .ai-note { margin-top:18px; }
.s2x-answer { display:none; }
.s2x-credit { position:absolute; right:var(--gutter); bottom:-64px; font-size:var(--home-text-9); color:var(--muted); opacity:0; transition:opacity .6s; }
.s2x.is-on { min-height:780px; background:var(--bg-on); color:var(--fg-on); }
.s2x.is-on .s2x-wrap { animation:s2x-in .7s ease both; }
@keyframes s2x-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.s2x.is-on .s2x-ask { max-width:470px; margin-inline:0; text-align:left; }
.s2x.is-on h2 { font-size:var(--home-text-10); }
.s2x.is-on .s2x-intro, .s2x.is-on .examples, .s2x.is-on .s2x-hint { display:none; }
.s2x.is-on .ai-form { margin-top:18px; border-width:1px; border-color:transparent; }
.s2x.is-on .ai-input { min-height:48px; padding-inline:18px; font-size:var(--home-text-3); }
.s2x.is-on .send { min-height:48px; padding-inline:22px; font-size:var(--home-text-3); }
.s2x.is-on .s2x-parts { justify-content:flex-start; margin-top:14px; gap:6px; }
.s2x.is-on .s2x-k { display:none; }
.s2x.is-on .s2x-row { justify-content:flex-start; }
.s2x.is-on .s2x-part { border:1px solid var(--line-on); }
@media (hover:hover) { .s2x.is-on .s2x-part:hover { background:var(--soft-on); } }
.s2x.is-on .s2x-part[aria-pressed="true"] { border-color:var(--acc-on); background:var(--acc-on); }
.s2x.is-on .section-label, .s2x.is-on .ai-note, .s2x.is-on .s2x-credit { color:inherit; opacity:.66; }
.s2x.is-on .s2x-credit { bottom:24px; }
.s2x.is-on .s2x-answer { display:block; max-width:470px; margin-top:28px; padding:24px 28px; border:1px solid var(--line-on); border-radius:var(--home-radius-2); background:var(--card-on); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(6px); }
.s2x .ai-result { margin:0; padding:0; border:0; background:none; color:inherit; font-size:var(--home-text-11); font-weight:300; line-height:1.5; letter-spacing:-.03em; }
.s2x .ai-result b { font-weight:500; }
.s2x .hh-out-k { font-size:var(--home-text-2); letter-spacing:0; color:inherit; opacity:.66; }
.s2x .hh-out-n, .s2x .ai-result i { font-size:var(--home-text-3); letter-spacing:0; color:inherit; opacity:.7; }
.s2x .hh-fix { display:inline-block; color:inherit; }
.s2x .body-say { margin-top:16px; padding:14px 0 0; border-top:1px solid var(--line-on); font-size:var(--home-text-7); }
.s2x-acts { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:18px; }
.s2x-call { display:inline-flex; align-items:center; min-height:48px; padding:8px 22px; border-radius:var(--home-radius-1); background:var(--lime); color:var(--ink); font-weight:500; font-variant-numeric:tabular-nums; }
.s2x-back { padding:8px 0; background:none; color:inherit; text-decoration:underline; text-underline-offset:4px; }
.s2x--navy { --bg-on:var(--brand-deep); --fg-on:var(--surface); --soft-on:var(--on-navy-line); --line-on:var(--control-line-on-navy); --acc-on:var(--lime); --card-on:var(--navy-deep); --fade-on:var(--navy-deep); }
.s2x--navy.is-on .s2x-part[aria-pressed="true"] { color:var(--ink); }
.s2x--navy.is-on .ai-result b { color:var(--lime); }
.s2x--navy.is-on :focus-visible { outline-color:var(--lime); }
@media (width > 860px) and (max-width:1100px) {
.s2x.is-on .s2x-ask, .s2x.is-on .s2x-answer { max-width:420px; }
}
@media (max-width:860px) {
.s2x { align-items:flex-start; min-height:0; }
.s2x h2 { font-size:var(--home-text-12); }
.s2x.is-on { min-height:900px; }
.s2x.is-on .s2x-ask, .s2x.is-on .s2x-answer { max-width:none; }
.s2x.is-on .s2x-answer { margin-top:300px; }
.s2x.is-on .s2x-credit { position:static; margin:16px 0 0; }
.s2x.is-on::after { content:''; position:absolute; z-index:-1; left:0; right:0; top:0; height:250px; background:linear-gradient(to bottom, var(--fade-on) 0%, var(--fade-on) 60%, transparent 100%); pointer-events:none; }
}
@media (max-width:600px) {
.s2x h2 { font-size:var(--home-text-13); }
.s2x-intro { font-size:var(--home-text-3); }
.s2x .examples { justify-content:flex-start; }
.s2x-parts { justify-content:flex-start; }
.s2x-row { justify-content:flex-start; }
.s2x.is-on { min-height:880px; }
.s2x.is-on h2 { font-size:var(--home-text-14); }
.s2x.is-on .s2x-parts { display:none; }
.s2x.is-on .s2x-answer { margin-top:340px; padding:18px 18px 20px; }
.s2x .ai-result { font-size:var(--home-text-15); }
}
.s2x-ink { position:absolute; inset:0; z-index:-2; width:100%; height:100%; pointer-events:none; }
.s2x.is-ink:not(.is-on) .s2x-wrap { opacity:0; transition:opacity .2s ease; }
.s2x--navy.is-on { background:var(--surface); }
.s2x--navy.is-full { background:var(--brand-deep); }
.s2x.is-on .s2x-wrap { animation:s2x-in .9s var(--wrap-delay,.38s) ease both; }
.s2x.is-on { min-height:900px; }
@media (max-width:860px) {
.s2x.is-on { min-height:1080px; }
.s2x.is-on::after { animation:s2x-fade .6s var(--wrap-delay,.5s) ease both; }
}
@keyframes s2x-fade { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) {
.s2x, .s2x-bg, .s2x-credit { transition:none; }
.s2x.is-on .s2x-wrap, .s2x.is-on::after { animation:none; }
}
@keyframes s2c-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.body-controls { position:absolute; z-index:3; top:48px; right:var(--gutter); display:none; gap:8px; }
.body-controls button { min-height:44px; padding:8px 12px; border:1px solid var(--control-line-on-navy); border-radius:var(--home-radius-1); background:var(--navy-deep); color:var(--surface); font-size:var(--home-text-9); cursor:pointer; }
@media (hover:hover) { .body-controls button:hover { border-color:var(--lime); } }
.body-controls button:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.body-controls [hidden], .body-label[hidden], .body-sides[hidden] { display:none; }
.body-label { position:absolute; z-index:2; padding:5px 10px; border:1px solid var(--coral); border-radius:var(--home-radius-1); background:var(--navy-deep); color:var(--surface); font-size:var(--home-text-9); line-height:20px; white-space:nowrap; pointer-events:none; }
.body-sides { position:absolute; z-index:2; inset:auto 20px 42px; display:flex; justify-content:space-between; color:var(--on-navy-faint); font-size:var(--home-text-4); pointer-events:none; }
.s2x.is-on .body-controls { display:flex; }
@media(max-width:860px) {
  .s2x .body-controls { position:relative; top:auto; right:auto; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }
  
  .s2x.is-on .s2x-bg { top:220px; height:calc(100% - 220px); }
  .s2x.is-on .s2x-answer { margin-top:460px; }
}
@media(max-width:600px) {
  .s2x.is-on .s2x-answer { margin-top:500px; }
}

#ai-guide .s2x-ask > .ai-result:not([hidden]) { margin-top:16px; text-align:left; }
#ai-guide .s2x-links { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:18px; font-size:var(--home-text-2); line-height:1.7; }
#ai-guide .s2x-links a { text-decoration:underline; text-underline-offset:4px; }
#ai-guide .hh-recover { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
#ai-guide .hh-recover button, #ai-guide .hh-recover a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--brand-deep); border-radius:var(--home-radius-1); background:var(--surface); color:var(--brand-deep); font-size:var(--home-text-2); }
@media(max-width:860px) {
  #ai-guide.is-on .s2x-bg { top:var(--guide-figure-top,360px); height:380px; }
  #ai-guide.is-on .s2x-wrap { padding-bottom:400px; }
  #ai-guide.is-on { min-height:0; }
  #ai-guide.is-on .s2x-parts { display:flex; }
}
#ai-guide .s2x-ask > .s2x-next { text-align:left; }
#ai-guide.is-on .s2x-answer { margin-top:16px; text-align:left; }
#ai-guide [data-hh-card][hidden] { display:none; }
#ai-guide .s2x-answer > .s2c { margin-top:0; padding-top:0; border-top:0; }
#ai-guide .s2x-answer > .body-say { margin-top:0; padding-top:0; border-top:0; }
#ai-guide .s2x-answer > .s2c:not([hidden]) + .body-say { margin-top:16px; padding-top:14px; border-top:1px solid var(--line-on); }
@media (max-width:600px) {
  #ai-guide .examples { flex-wrap:wrap; justify-content:flex-start; max-width:100%; padding-block:2px; }
  #ai-guide .example { flex:0 1 auto; white-space:normal; }
}
#ai-guide.is-on .s2x-answer { padding:0; border:0; border-radius:var(--home-radius-4); background:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
#ai-guide .s2x-next-k, #ai-guide .s2c-k { font-size:var(--home-text-2); color:var(--surface); opacity:.7; }
#ai-guide .s2x-next button { min-height:42px; padding:8px 16px 8px 14px; font-size:var(--home-text-3); }
#ai-guide .ai-note[hidden], #ai-guide .section-more[hidden] { display:none; }

/* Approved initial search surface and shared controls. */
#ai-guide { --brand-deep:var(--navy-deep); }
#ai-guide:not(.is-on) { min-height:0; padding-block:96px 104px; background:var(--tint); }
.s2x-teaser { position:absolute; z-index:0; top:50%; left:68%; height:min(560px,82%); width:auto; max-width:none; transform:translate(-50%,-50%); pointer-events:none; transition:opacity .9s ease; }
#ai-guide.is-ink .s2x-teaser, #ai-guide.is-on .s2x-teaser { opacity:0; }
#ai-guide .s2x-wrap { z-index:1; }
.s2x-intro { color:var(--ink-2); font-size:var(--home-text-6); }
.s2x.is-on .ai-form { border-color:transparent; box-shadow:none; }
.s2x--navy { --bg-on:var(--navy-deep); --fade-on:var(--navy-deep); --card-on:var(--navy-deep); }
.s2x--navy.is-full { background:var(--navy-deep); }
.s2x--navy.is-on h2, .s2x--navy.is-on h3 { color:var(--surface); }
.s2x--navy.is-on .example { border-color:var(--control-line-on-navy); }
.s2x--navy.is-on .section-label, .s2x--navy.is-on .ai-note, .s2x--navy.is-on .s2x-credit { color:var(--on-muted); opacity:1; }
#ai-guide .s2x-next button { min-height:var(--tap-min); }
.body-controls button, .body-label { background:var(--navy-deep); }
.s2x.is-on .section-more-link { background:transparent; color:var(--surface); }
@media (width > 860px) {
  #ai-guide:not(.is-on) .s2x-ask { max-width:600px; margin-left:0; text-align:left; }
  #ai-guide:not(.is-on) .examples { justify-content:flex-start; }
  #ai-guide:not(.is-on) h2 { font-size:var(--home-search-size); }
}
@media (width > 860px) and (max-width:1100px) { .s2x-teaser { left:76%; height:min(460px,70%); } }
@media (max-width:860px) {
  #ai-guide:not(.is-on) { padding-block:56px 64px; }
  #ai-guide:not(.is-on) .s2x-ask { text-align:left; }
  #ai-guide:not(.is-on) h2, #ai-guide:not(.is-on) .s2x-intro { max-width:64%; }
  #ai-guide:not(.is-on) h2 { font-size:var(--home-search-phone-size); }
  .s2x-intro { font-size:var(--frame-text-16); }
  .s2x-teaser { top:36px; left:auto; right:6px; height:240px; transform:none; }
}
@media (prefers-reduced-motion:reduce) { .s2x-teaser { transition:none; } }

.s2x .ai-form { margin-top:36px; }
.s2x .examples { margin-top:14px; }
.s2x-part { padding:5px 12px; }
@media (max-width:600px) { .s2x .ai-form { margin-top:24px; } }
