/* Homepage only. Shared layout; type scales are owned by each design. */
.im-home {color:var(--im-ink);background:var(--im-background);}
.im-home *,.im-home *::before,.im-home *::after {box-sizing:border-box;}
.im-home :where(h1,h2,h3,p,ul,dl,dd,figure) {margin:0;}
.im-home img {display:block;}
.im-home button {cursor:pointer;}

.im-home .im-home-container {margin-inline:auto;}
.im-home .im-home-description {max-width:540px;margin-top:22px;color:var(--im-muted);}
.im-home .im-home-hero {position:relative;isolation:isolate;height:clamp(580px,calc(100svh - 108px),760px);min-height:580px;overflow:hidden;background:#009dc5;color:#fff;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none;}
.im-home .im-hero-media,.im-home .im-hero-image,.im-home .im-image-window,.im-home .im-photo-art {position:absolute;inset:0;}
.im-home .im-hero-image {opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;}
.im-home .im-hero-image[data-active=true] {opacity:1;visibility:visible;}
.im-home .im-hero-image .im-image-window img {width:100%;height:100%;max-width:none;object-fit:cover;}
.im-home .im-hero-image:not(.im-hero-image-2)::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,24,19,.74),rgba(15,24,19,.30) 58%,rgba(15,24,19,.10));}
.im-home .im-hero-image-0 .im-image-window img {object-position:center 55%;}
.im-home .im-hero-image-1 .im-image-window img {object-position:48% 52%;}
.im-home .im-banner-window {position:absolute;inset:0;display:grid;align-items:center;background:#009dc5;}
.im-home .im-banner-art {position:relative;width:100%;aspect-ratio:902 / 290;overflow:hidden;}
/* Preserve the banner lettering while extending its own cyan ground edge to edge. */
.im-home .im-banner-art img {position:absolute;width:227.05%;height:auto;max-width:none;left:-118.68%;top:-125.17162%;}
.im-home .im-hero-image-2::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,#001b281a,transparent 30%,transparent 68%,#001b2866);pointer-events:none;}
.im-home .im-hero-content {position:relative;height:100%;display:flex;align-items:center;padding-block:80px 140px;pointer-events:none;}
.im-home .im-hero-copy {max-width:690px;pointer-events:auto;animation:im-home-copy-in .5s ease both;}
.im-home .im-hero-copy h1 {margin:25px 0 24px;color:inherit;}
.im-home .im-hero-button:hover {background:transparent;border-color:#ffffffa6;}
@media(min-width:801px){
  .im-home .im-home-hero[data-slide="2"] .im-hero-content {align-items:flex-end;justify-content:center;padding-bottom:68px;}
  .im-home .im-home-hero[data-slide="2"] .im-hero-copy :is(.im-home-kicker,h1,.im-hero-description) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
}
.im-home .im-hero-bottom {position:absolute;left:0;right:0;bottom:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.im-home .im-hero-controls {display:flex;align-items:center;gap:8px;}
.im-home .im-hero-dots {display:flex;align-items:center;margin-left:0;}
.im-home .im-hero-dots .im-hero-dot {display:block;width:5px;height:5px;background:currentColor;border-radius:10px;opacity:.4;transition:width .25s,opacity .25s;}
.im-home .im-hero-dots [aria-current] .im-hero-dot {width:22px;opacity:1;}

.im-home .im-home-section h2 {color:var(--im-ink);}
.im-home .im-home-section .im-home-kicker {color:var(--im-accent);margin-bottom:16px;}
.im-home .im-doctor-summary {max-width:760px;margin-inline:auto;}
.im-home .im-doctor-heading-block .im-doctor-eyebrow {margin-bottom:20px;}
.im-home .im-doctor-clinic {max-width:none;margin:0;color:var(--im-muted);}
.im-home .im-doctor-summary .im-doctor-heading {display:flex;align-items:baseline;flex-wrap:wrap;column-gap:14px;row-gap:8px;margin:12px 0 0;}
.im-home .im-doctor-person,.im-home .im-doctor-role {white-space:nowrap;}
.im-home .im-doctor-role {color:var(--im-muted);}
.im-home .im-doctor-rule {position:relative;height:1px;background:var(--im-line);margin-block:32px;}
.im-home .im-doctor-rule::before {content:'';position:absolute;left:0;top:0;width:56px;height:2px;background:var(--im-accent);}
.im-home .im-doctor-credentials {list-style:none;padding:0;}
.im-home .im-doctor-summary-list {display:grid;gap:12px;margin:0 0 30px;}
.im-home .im-doctor-credentials li {position:relative;margin:0;padding-left:17px;}
.im-home .im-doctor-summary-list li::before {content:'-';position:absolute;left:0;top:0;color:var(--im-muted);}
.im-home .im-home-section h3 {color:var(--im-ink);}
.im-home .im-home-tour {background:var(--im-tour-background);}
.im-home .im-section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:40px;}
.im-home .im-section-heading .im-home-description {margin-top:12px;}
.im-home .im-section-heading>.im-home-link {flex:none;}
.im-home .im-home-tour :is(.sc-tour-carousel,.tour-carousel) {margin:0 auto;}
.im-home .im-home-tour :is(.sc-tour-note,.space-note) {font-size:12px;}
.im-home .im-visit-grid {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:start;}
.im-home .im-home-map {min-width:0;}
.im-home .im-home-map :is(.sc-map,.map-panel) {height:430px;min-height:430px;border:1px solid var(--im-line);border-radius:var(--im-radius);}
.im-home .im-visit-info>p {margin-top:12px;}
.im-home .im-visit-booking {display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:0;padding-bottom:30px;border-bottom:1px solid var(--im-line);}
.im-home .im-home-hours {padding-block:27px 20px;}
.im-home .im-home-hours dl {margin-top:16px;}
.im-home .im-home-hours dl>div {display:grid;grid-template-columns:80px 1fr;gap:12px;margin-top:12px;}
.im-home .im-home-hours dd {margin:0;font-variant-numeric:tabular-nums;}
.im-home .im-home-hours small {display:block;color:var(--im-muted);margin-top:2px;}
.im-home .im-home-opening {color:var(--im-accent);}
.im-home .im-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@keyframes im-home-copy-in {from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.im-home .im-visit-grid{gap:36px;}}
@media(max-width:800px){
  .im-home .im-home-hero{height:max(690px,calc(530px + 100vw * 290 / 902));min-height:0;}
  .im-home .im-hero-content{align-items:flex-start;padding-block:76px 120px;}
  .im-home .im-hero-image-0 .im-image-window img{object-position:62% center;}
  .im-home .im-hero-image:not(.im-hero-image-2)::after{background:linear-gradient(180deg,#18231caa,#18231c66 60%,#18231c88);}
  .im-home .im-hero-image-1 .im-image-window img{object-position:51% 48%;}
  .im-home .im-home-hero[data-slide="2"] .im-banner-art{align-self:end;margin-bottom:146px;}
  .im-home .im-hero-bottom{bottom:22px;}
  
  .im-home .im-section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px;}
  .im-home .im-visit-grid{grid-template-columns:1fr;gap:34px;}
  .im-home .im-visit-info{order:-1;}
  .im-home .im-home-map :is(.sc-map,.map-panel){height:360px;min-height:360px;}
}
@media(max-width:480px){
  .im-home .im-home-hero{height:640px;}
  .im-home .im-hero-copy h1{margin-top:22px;}
  .im-home .im-hero-dots [aria-current] .im-hero-dot{width:17px;}
  
  .im-home .im-home-map :is(.sc-map,.map-panel){height:310px;min-height:310px;}
}
@media(min-width:421px) and (max-width:480px){
  body[data-design="editorial"] .im-home .im-home-hero{height:680px;}
}
@media(prefers-reduced-motion:reduce){.im-home *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Homepage type roles; layout and imagery are shared in home-main.css. */
/* Native components own their geometry and type. Only contrast on imagery is customized. */
.im-home .im-home-hero .im-hero-button {margin-top:28px;background:transparent;color:#fff;box-shadow:none;text-decoration:none;border:1px solid currentColor;}
.im-home .im-home-hero .im-hero-button:hover,.im-home .im-home-hero .im-hero-button[data-hovered] {background:transparent;color:#fff;border-color:#ffffffa6;box-shadow:none;}
.im-home .im-home-hero :is([data-home-slide],[data-home-autoplay]) {padding:0;background:transparent;color:inherit;border:0;box-shadow:none;}
.im-home .im-home-hero :is([data-home-slide],[data-home-autoplay]):hover {background:#ffffff1f;}
.im-home .im-hero-autoplay {display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;}
.im-home .im-hero-autoplay svg {width:14px;height:14px;}
.im-home .im-hero-autoplay [data-autoplay-play],.im-home .im-hero-autoplay[data-paused="true"] [data-autoplay-pause] {display:none;}
.im-home .im-hero-autoplay[data-paused="true"] [data-autoplay-play] {display:block;}
.im-home .im-home-link {max-width:100%;}

.im-home [data-slot=card-header] .im-home-kicker {margin-bottom:0;}

/* Follow the pointer without changing the selected slide until release. */
.im-home .im-home-hero[data-dragging="true"],.im-home .im-home-hero[data-dragging="true"] * {cursor:grabbing!important;}
.im-home .im-home-hero[data-transitioning="true"] .im-hero-image {transition:none;}
.im-home .im-home-hero[data-transitioning="true"] .im-hero-image[data-active="true"] {transform:translate3d(var(--im-hero-drag-x),0,0);}
.im-home .im-home-hero[data-transitioning="true"] [data-drag-preview="true"] {opacity:1;visibility:visible;transform:translate3d(var(--im-hero-neighbor-x),0,0);}
.im-home .im-home-hero[data-transitioning="true"] .im-hero-copy {animation:none;transform:translate3d(var(--im-hero-copy-x),0,0);}
