.clinic-slideshow { position: relative; width: 100%; min-width: 0; overflow: hidden; border-radius: 12px; background: #eef3ef; }
.slideshow-stage { position: relative; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; }
.clinic-slideshow .slideshow-image { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; margin: 0; animation: none; transform: none; border: 0; border-radius: 0; box-shadow: none; }
/* Override the site's blanket reduced-motion duration for opacity only. */
@media (min-width:821px) and (prefers-reduced-motion:reduce) {
  .clinic-slideshow .slideshow-image { transition-duration:var(--slideshow-fade-duration,600ms) !important; }
}
.clinic-slideshow .slideshow-controls { position: absolute; inset: 0; z-index: 3; display: flex; justify-content: space-between; align-items: center; padding: 0 6px; background: transparent; pointer-events: none; }
.clinic-slideshow .slideshow-controls[hidden] { display: none; }
.clinic-slideshow .slideshow-arrow { display: grid; place-items: center; width: 44px; height: 64px; min-height: 44px; padding: 0; color: #fff; background: transparent; border: 0; border-radius: 6px; box-shadow: none; opacity: .28; cursor: pointer; pointer-events: auto; transition: opacity .18s ease; }
.slideshow-arrow svg { width: 24px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 2px rgba(0,0,0,.65)); }
@media (hover: hover) { .clinic-slideshow .slideshow-arrow:hover { opacity: .65; } }
.clinic-slideshow .slideshow-arrow:focus-visible { opacity: 1; background: rgba(36,72,55,.35); outline: 2px solid #fff; outline-offset: -3px; }
.clinic-slideshow:focus-visible { outline: 2px solid #49785d; outline-offset: -3px; }
.slideshow-state { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.slideshow-video-toggle { position:absolute; top:12px; left:12px; z-index:4; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffffaa; border-radius:50%; color:#244837; background:#ffffffdf; box-shadow:0 2px 10px #0002; font:700 18px/1 sans-serif; cursor:pointer; }
.slideshow-video-toggle[data-playing="false"] { top:50%; left:50%; transform:translate(-50%,-50%); }
.slideshow-video-toggle[hidden] { display:none!important; }
.slideshow-video-toggle:focus-visible { outline:3px solid #244837; outline-offset:3px; }
.hero-visual .parking-badge { z-index: 2; pointer-events: none; }
.hero-visual:has(.slideshow-controls) { z-index: auto; }
@media(min-width:821px) {
  .hero-visual .clinic-slideshow { height: 100%; border-radius: 0; }
  .hero-visual .slideshow-stage { height: 100%; aspect-ratio: auto; }
  .global-nav { gap: clamp(10px,1.2vw,20px); }
}
@media(min-width:821px) and (max-width:1200px) {
  .header-phone { display: none; }
  .header-inner { gap: 16px; }
  .global-nav a { font-size: 12px; }
  .brand-logo { width: 200px; }
}
.important-notices { position: relative; z-index: 24; background: #244837; color: #fff; }
.important-notices:empty { display: none; }
.important-notice { padding: 20px 0; }
.important-notice + .important-notice { border-top: 1px solid #ffffff30; }
.important-notice .container { position: relative; padding-right: 50px; }
.important-notice h2 { margin: 0 0 7px; font-size: 17px; line-height: 1.65; }
.important-notice p { margin: 0; font-size: 14px; line-height: 1.85; white-space: pre-line; }
.important-notice a { display: inline-block; margin-top: 10px; color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.important-notice button { position: absolute; top: 0; right: 0; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #fff; background: #ffffff20; font-size: 20px; cursor: pointer; }
.notice-dialog { width: min(600px,calc(100% - 28px)); max-height: 85vh; padding: 26px; color: #24312b; background: white; border: 0; border-radius: 14px; box-shadow: 0 24px 80px #0004; }
.notice-dialog::backdrop { background: #15251bb3; }
.notice-dialog > h2 { margin: 0 0 18px; padding-right: 80px; font-size: 21px; }
.notice-dialog > button { position: absolute; top: 20px; right: 20px; padding: 7px 13px; border: 1px solid #c7d4cc; border-radius: 6px; background: #f1f6f2; color: #244837; cursor: pointer; }
.notice-dialog article { padding: 16px 0; border-top: 1px solid #d6dfd9; }
.notice-dialog h3 { margin: 0 0 10px; font-size: 18px; }
.notice-dialog p { white-space: pre-line; line-height: 1.85; }
.notice-dialog a { color: #244837; text-decoration: underline; }
/* Keep words and short phrases together, including on Safari. Long words can
   still wrap when they exceed the entire available line width. */
.important-notice :is(h2, p), .notice-dialog :is(h3, p) { line-break: strict; word-break: normal; text-wrap: pretty; }
.notice-phrase { display: inline-block; max-width: 100%; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.documents-main { min-height: 65vh; padding: 58px 0 80px; }
.documents-breadcrumb { margin: 0 0 28px; color: #5b7062; font-size: 13px; }
.documents-breadcrumb a { text-decoration: underline; }
.documents-heading { margin-bottom: 35px; }
.documents-heading h1 { margin: 8px 0 16px; font-family: var(--rounded,sans-serif); font-size: clamp(28px,5vw,40px); color: #244837; }
.documents-heading p { color: #5b7062; line-height: 1.85; }
.documents-list { display: grid; gap: 14px; }
.document-card { position: relative; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 20px; padding: 25px 28px; border: 1px solid #d6dfd9; border-radius: 10px; background: #fff; }
.document-number { color: #799080; font-size: 15px; }
.document-type { display: inline-block; padding: 1px 8px; font-size: 10px; font-weight: 700; border-radius: 4px; background: #edf3ef; color: #315d49; }
.document-card h2 { margin: 7px 0 0; font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; }
.document-card h2 a { color: #244837; text-decoration: none; }
.document-card h2 a::after { position: absolute; inset: 0; content: ''; border-radius: 10px; }
.document-card:has(a:hover) { border-color: #8fae9b; background: #f8fbf9; }
.document-card:has(a:focus-visible) { outline: 3px solid #49785d; outline-offset: 3px; }
.document-card p { margin: 6px 0 0; color: #5c6e61; font-size: 13px; white-space: pre-line; }
.document-open { color: #49785d; font-size: 12px; white-space: nowrap; }
.documents-empty { padding: 36px 24px; color: #5c6e61; border: 1px dashed #c7d4cc; border-radius: 10px; text-align: center; }
.documents-header .header-inner { justify-content: space-between; }
.documents-header .home-link { font-size: 14px; color: #315d49; }
@media(max-width:700px) {
  .document-card { grid-template-columns: 24px 1fr; padding: 20px; gap: 12px; }
  .document-open { grid-column: 2; }
  .important-notice .container { width: calc(100% - 32px); }
  .important-notice h2 { font-size: 15px; }
  .important-notice p { font-size: 13px; }
  .documents-main { padding: 30px 0 50px; }
}


.faq-list p { white-space: pre-line; overflow-wrap: anywhere; }
.faq-list summary { overflow-wrap: anywhere; }
.care-intro, .care-links { line-height: 1.9; }
.care-intro { margin: 0 0 24px; }
.care-links { margin: 24px 0; }


