/* Final FV refinements: critical subjects remain visible at every viewport. */
.today-hours__status {
  display: none;
}

/* Mobile director and footer: denser information without decorative clutter. */
.site-footer__family-logo {
  display: block;
  margin: 3px 0 0 !important;
  line-height: 0;
}

.site-footer__family-logo img {
  display: block;
  width: min(100%, 280px);
  height: auto;
  object-fit: contain;
}

.top-director__role {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 #director .top-director__name {
    min-height: 76px !important;
  }

  body .page-01 #director .top-director__role {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 0 4px !important;
    color: #527889 !important;
    font-size: clamp(6.5px, 1.75vw, 8px) !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }

  body .page-01 #director .top-director__history-list li,
  body .page-01 #director .top-director__history-list li:nth-child(n + 5) {
    padding-left: 0 !important;
  }

  body .page-01 #director .top-director__history-list li::before {
    display: none !important;
    content: none !important;
  }

  body .site-footer {
    padding-block: 36px 70px !important;
  }

  body .site-footer__inner {
    width: calc(100% - 28px) !important;
  }

  body .site-footer__logo-image {
    height: 50px !important;
  }

  body .site-footer__brand .site-footer__formal-name {
    margin-top: 12px !important;
    font-size: .84rem !important;
  }

  body .site-footer__brand > p {
    margin-top: 4px !important;
    font-size: .72rem !important;
    line-height: 1.45 !important;
  }

  body .site-footer__walkin,
  body .site-footer__area {
    display: none !important;
  }

  body .site-footer__family-clinic {
    box-sizing: border-box !important;
    width: min(100%, 310px) !important;
    margin-top: 14px !important;
    padding: 9px 12px 10px !important;
    gap: 4px !important;
    border-color: rgba(255, 255, 255, .8) !important;
    background: rgba(255, 255, 255, .94) !important;
  }

  body .site-footer__family-clinic > span {
    color: #0879ac !important;
    font-size: .52rem !important;
  }

  body .site-footer__family-logo img {
    width: min(100%, 168px) !important;
  }

  body .site-footer__family-clinic > a:not(.site-footer__family-logo) {
    margin-top: 2px !important;
    color: #096f9d !important;
    font-size: .66rem !important;
  }

  body .site-footer__family-clinic > a:not(.site-footer__family-logo) b {
    color: #0b91c8 !important;
  }

  body .site-trust {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding: 13px !important;
  }

  body .site-trust__eyebrow {
    margin-bottom: 8px !important;
  }

  body .site-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body .site-trust__grid div {
    gap: 2px !important;
  }

  body .site-trust__grid span {
    font-size: .54rem !important;
  }

  body .site-trust__grid strong {
    font-size: .62rem !important;
    line-height: 1.4 !important;
  }

  body .site-trust__grid small {
    display: none !important;
  }

  body .site-trust__links {
    gap: 5px 12px !important;
    margin-top: 9px !important;
  }

  body .site-trust__links a {
    font-size: .6rem !important;
  }

  body .site-footer__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
    margin-top: 24px !important;
  }

  body .site-footer__group p {
    margin-bottom: 7px !important;
    font-size: .66rem !important;
  }

  body .site-footer__group a {
    font-size: .65rem !important;
    line-height: 1.3 !important;
  }

  body .site-footer__group a + a {
    margin-top: 5px !important;
  }

  body .site-footer__bottom {
    margin-top: 26px !important;
    font-size: .62rem !important;
  }

  body .site-footer__bottom div {
    margin-top: 10px !important;
    gap: 7px 12px !important;
  }
}

/* Today's clinic status: show the same dated answer on desktop and mobile. */
@media (min-width: 768px) {
  body .page-01 .hero-05 > .today-hours .today-hours__status {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    padding: 8px 12px !important;
    border: 1px solid #b8e3cf !important;
    border-radius: 8px !important;
    background: linear-gradient(105deg, #effbf5, #f8fffc) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: #28765a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > span i {
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #26ad72 !important;
    box-shadow: 0 0 0 4px rgba(38, 173, 114, .12) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status-date,
  body .page-01 .hero-05 > .today-hours .today-hours__status-particle {
    display: inline !important;
    color: inherit !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > strong {
    display: inline-flex !important;
    align-items: center !important;
    color: #08774f !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    letter-spacing: .03em !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > small {
    display: none !important;
  }
}

body .page-01 .hero-05 > .today-hours .today-hours__status--closed {
  border-color: #efc9bf !important;
  background: linear-gradient(105deg, #fff5f1, #fffaf8) !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status--closed > span,
body .page-01 .hero-05 > .today-hours .today-hours__status--closed .today-hours__status-date,
body .page-01 .hero-05 > .today-hours .today-hours__status--closed .today-hours__status-particle {
  color: #8c4437 !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status--closed > span i {
  background: #d86550 !important;
  box-shadow: 0 0 0 4px rgba(216, 101, 80, .12) !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status--closed > strong {
  color: #b53f2e !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status > strong > span {
  display: inline-block !important;
  margin-left: .12em !important;
  font-size: .6em !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  vertical-align: middle !important;
}

/* Mobile director nameplate: keep the full name and readings clear of the ribbon edge. */
@media (max-width: 767px) {
  body .page-01 .top-director__name {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    width: min(86%, 330px) !important;
    padding: 9px 16px 9px 58px !important;
  }

  body .page-01 .top-director__name::after {
    z-index: 0 !important;
    left: 34px !important;
    width: 17px !important;
  }

  body .page-01 .top-director__name h2,
  body .page-01 .top-director__name span {
    position: relative !important;
    z-index: 2 !important;
  }

  body .page-01 .top-director__name h2 {
    grid-column: 1 / -1 !important;
    white-space: nowrap !important;
  }

  body .page-01 .top-director__name .top-director__reading {
    grid-column: 1 / -1 !important;
    margin-top: 3px !important;
    color: #087eae !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
  }
}

/* Mobile director: portrait and career side by side, followed by the complete message. */
@media (max-width: 767px) {
  body .page-01 #director.top-director {
    padding: 32px 0 36px !important;
  }

  body .page-01 #director .news-02 {
    width: calc(100% - 28px) !important;
    margin-inline: auto !important;
  }

  body .page-01 #director .top-director__grid {
    display: block !important;
    height: auto !important;
    margin-top: 13px !important;
  }

  body .page-01 #director .top-director__content {
    display: grid !important;
    grid-template-columns: minmax(130px, .8fr) minmax(0, 1.2fr) !important;
    grid-template-rows: auto auto auto auto auto !important;
    grid-template-areas:
      "director-photo director-name"
      "director-photo director-history"
      "director-lead director-lead"
      "director-message director-message"
      "director-link director-link" !important;
    gap: 8px 10px !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body .page-01 #director .top-director__photo--mobile {
    grid-area: director-photo !important;
    align-self: stretch !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 238px !important;
    min-height: 238px !important;
    margin: 0 !important;
    border: 4px solid #fff !important;
    border-radius: 15px !important;
    box-shadow: 0 12px 27px rgba(22, 89, 120, .13) !important;
  }

  body .page-01 #director .top-director__photo--mobile img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
    object-position: center 8% !important;
  }

  body .page-01 #director .top-director__name {
    grid-area: director-name !important;
    align-self: start !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 10px 10px 9px 12px !important;
    overflow: visible !important;
    border: 1px solid rgba(29, 160, 210, .22) !important;
    border-left: 4px solid #13a2d5 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 7px 18px rgba(10, 88, 122, .08) !important;
  }

  body .page-01 #director .top-director__name::before,
  body .page-01 #director .top-director__name::after {
    display: none !important;
  }

  body .page-01 #director .top-director__name h2 {
    margin: 0 !important;
    color: #083f5c !important;
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.25 !important;
    letter-spacing: .12em !important;
  }

  body .page-01 #director .top-director__name .top-director__reading {
    display: block !important;
    margin-top: 4px !important;
    color: #188bb9 !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    letter-spacing: .14em !important;
  }

  body .page-01 #director .top-director__history {
    grid-area: director-history !important;
    align-self: stretch !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    overflow: hidden !important;
    border: 1px solid rgba(139, 202, 227, .4) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: 0 7px 18px rgba(10, 88, 122, .07) !important;
  }

  body .page-01 #director .top-director__history h3 {
    gap: 5px !important;
    margin: 0 0 3px !important;
    color: #087db4 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  body .page-01 #director .top-director__history h3 svg {
    width: 13px !important;
    height: 13px !important;
  }

  body .page-01 #director .top-director__history-list li {
    padding: 3px 0 !important;
    border-bottom-color: rgba(139, 190, 211, .44) !important;
    color: #31566a !important;
    font-size: clamp(7.5px, 2vw, 9px) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  body .page-01 #director .top-director__lead {
    grid-area: director-lead !important;
    margin: 8px 0 0 !important;
    padding: 9px 4px 9px 13px !important;
    border-left: 4px solid #0ca0d7 !important;
    color: #087eb7 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    letter-spacing: .035em !important;
  }

  body .page-01 #director .top-director__lead .pc-br {
    display: block !important;
  }

  body .page-01 #director .top-director__message {
    grid-area: director-message !important;
    display: block !important;
    max-height: none !important;
    margin: 2px 0 0 !important;
    padding: 11px 12px !important;
    overflow: visible !important;
    border-radius: 11px !important;
    color: #315363 !important;
    background: rgba(255, 255, 255, .68) !important;
    font-size: 11.5px !important;
    line-height: 1.72 !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
  }

  body .page-01 #director .top-director__message p:nth-child(n + 2) {
    display: none !important;
  }

  body .page-01 #director .top-director__link {
    grid-area: director-link !important;
    min-height: 46px !important;
    height: auto !important;
    margin: 6px auto 0 !important;
    padding: 9px 10px 9px 15px !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}

/* Mobile long-page guidance: a clear invitation plus a quiet reading-progress rail. */
.mobile-scroll-invitation,
.mobile-page-progress {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 .mobile-scroll-invitation {
    position: relative !important;
    z-index: 12 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;
    width: min(260px, calc(100% - 48px)) !important;
    min-height: 54px !important;
    margin: -12px auto 22px !important;
    padding: 8px 18px !important;
    border: 1px solid rgba(26, 165, 215, .28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 24px rgba(8, 89, 126, .13) !important;
    color: #0a6f9f !important;
    text-decoration: none !important;
  }

  body .page-01 .mobile-scroll-invitation::before,
  body .page-01 .mobile-scroll-invitation::after {
    position: absolute !important;
    top: 50% !important;
    width: 22px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, #42b8df) !important;
    content: "" !important;
  }

  body .page-01 .mobile-scroll-invitation::before {
    right: calc(100% + 5px) !important;
  }

  body .page-01 .mobile-scroll-invitation::after {
    left: calc(100% + 5px) !important;
    transform: rotate(180deg) !important;
  }

  body .page-01 .mobile-scroll-invitation > span {
    display: grid !important;
    gap: 2px !important;
    text-align: left !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    color: #21a5d5 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .24em !important;
    line-height: 1 !important;
  }

  body .page-01 .mobile-scroll-invitation strong {
    color: #145771 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    line-height: 1.3 !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    position: relative !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #2bb6e2, #0787c4) !important;
    box-shadow: 0 5px 12px rgba(9, 139, 194, .24) !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    position: absolute !important;
    top: 7px !important;
    left: 8px !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) !important;
    animation: mobile-scroll-chevron 1.8s ease-in-out infinite !important;
  }

  body .page-01 .mobile-scroll-invitation > i b + b {
    top: 11px !important;
    animation-delay: .16s !important;
  }

  body > .mobile-page-progress {
    --page-progress: 0;
    position: fixed !important;
    z-index: 70 !important;
    top: 38vh !important;
    right: 5px !important;
    display: grid !important;
    justify-items: center !important;
    gap: 5px !important;
    width: 9px !important;
    opacity: .42 !important;
    pointer-events: none !important;
    transition: opacity .25s ease !important;
  }

  body > .mobile-page-progress.is-started {
    opacity: .7 !important;
  }

  body > .mobile-page-progress.is-complete {
    opacity: 0 !important;
  }

  body > .mobile-page-progress > span {
    color: #198ebc !important;
    font-size: 6px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    writing-mode: vertical-rl !important;
  }

  body > .mobile-page-progress > i {
    position: relative !important;
    display: block !important;
    width: 3px !important;
    height: 19vh !important;
    min-height: 90px !important;
    max-height: 150px !important;
    overflow: hidden !important;
    border-radius: 99px !important;
    background: rgba(28, 151, 199, .16) !important;
  }

  body > .mobile-page-progress > i > b {
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: linear-gradient(180deg, #2bb8df, #0579ba 72%, #e75f96) !important;
    transform: scaleY(var(--page-progress)) !important;
    transform-origin: top !important;
    transition: transform .12s linear !important;
  }
}

@keyframes mobile-scroll-chevron {
  0%, 100% { opacity: .35; transform: translateY(-2px) rotate(45deg); }
  50% { opacity: 1; transform: translateY(2px) rotate(45deg); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .mobile-scroll-invitation > i b {
    animation: none !important;
  }
}

/* 2026-09-04 supplied family logo and final mobile/desktop presentation pass. */
.payment-lead-break {
  display: none;
}

.site-footer__family-art {
  position: relative;
  display: block;
  width: min(100%, 240px);
  aspect-ratio: 3 / 1;
}

.site-footer__family-art img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: contain !important;
}

.site-footer__family-art-word {
  display: none !important;
}

@keyframes mobile-fv-badge-soft-in {
  0% { opacity: 0; filter: blur(7px); transform: translate3d(0, 8px, 0); }
  100% { opacity: .94; filter: blur(0); transform: translate3d(0, 0, 0); }
}

@keyframes mobile-scroll-cue-flow {
  0% { opacity: .22; transform: translateY(-18px); }
  40% { opacity: .95; }
  100% { opacity: .14; transform: translateY(62px); }
}

@media (max-width: 767px) {
  .payment-lead-break {
    display: block;
  }

  /* Compress the payment information while keeping the three-column logos readable. */
  body .page-01 #access > .top-access-payment.payment-section-refresh {
    width: calc(100% - 28px) !important;
    margin: 28px auto !important;
    padding: 18px 12px 16px !important;
    border-radius: 17px !important;
    box-shadow: 0 0 0 7px #eff9fe, 0 9px 22px rgba(16,89,126,.08) !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__head > span {
    margin-bottom: 3px !important;
    font-size: 9px !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__head h3 {
    margin-top: 0 !important;
    font-size: 1.22rem !important;
    line-height: 1.25 !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__lead {
    margin: 5px auto 0 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  body .page-01 #access > .top-access-payment .payment-methods {
    gap: 9px !important;
    margin-top: 9px !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__group {
    padding: 10px 10px 11px !important;
    border-radius: 13px !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__group h4 {
    gap: 7px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  body .page-01 #access > .top-access-payment .payment-method-icon {
    flex-basis: 27px !important;
    width: 27px !important;
    height: 27px !important;
  }

  body .page-01 #access > .top-access-payment .payment-method-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  body .page-01 #access > .top-access-payment .payment-method-intro {
    margin: 5px 0 7px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  body .page-01 #access > .top-access-payment .payment-brands--cards {
    gap: 5px !important;
  }

  body .page-01 #access > .top-access-payment .payment-brands--cards .payment-brand {
    min-height: 44px !important;
    padding: 5px 4px !important;
    border-radius: 8px !important;
  }

  body .page-01 #access > .top-access-payment .payment-brands--cards .payment-brand--touch {
    min-height: 38px !important;
  }

  body .page-01 #access > .top-access-payment .payment-transit-logo-strip {
    height: 142px !important;
    min-height: 142px !important;
    padding: 6px !important;
    border-radius: 10px !important;
  }

  body .page-01 #access > .top-access-payment .payment-transit-logo-strip img {
    max-height: 126px !important;
  }

  body .page-01 #access > .top-access-payment .payment-brand-copy {
    display: none !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__warning {
    margin-top: 8px !important;
    padding-top: 4px !important;
    padding-bottom: 0 !important;
  }

  /* Give the clinic-gallery heading the same visual weight as adjacent sections. */
  body .page-01 #gallery .top-gallery__head {
    padding-left: 0 !important;
  }

  body .page-01 #gallery .top-gallery__head::before {
    display: none !important;
    content: none !important;
  }

  body .page-01 #gallery .top-gallery__head h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  body .page-01 #gallery .top-gallery__head p {
    margin-top: 7px !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
  }

  body .page-01 #faq .faq-07 {
    box-sizing: border-box !important;
    padding-right: 18px !important;
  }

  body .page-01 #faq .faq-09 {
    padding-right: 4px !important;
    line-height: 1.75 !important;
  }

  /* A quieter credential reveal and stronger cumulative total. */
  body .page-01 .hero-05 > .hero-surgery-record {
    top: calc(var(--mobile-fv-photo-height) - 160px) !important;
    right: 4px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong > b {
    font-size: 34px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record .hero-surgery-record__period {
    letter-spacing: -.04em !important;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record {
    animation: mobile-fv-badge-soft-in 1.25s cubic-bezier(.22,.72,.24,1) .18s both !important;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record::before {
    animation: none !important;
  }

  body .page-01 .hero-05 .hero-09 .hero-10 + .hero-10 {
    margin-top: -4px !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 146px) !important;
  }

  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    left: -3px !important;
    min-height: 184px !important;
    gap: 10px !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    letter-spacing: .55em !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    height: 108px !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    height: 48px !important;
  }

  /* Keep the supplied emblem colors and render only its wordmark in white. */
  body .site-footer__family-clinic .site-footer__family-art {
    width: 100% !important;
    max-width: 154px !important;
  }

  body .site-footer__family-clinic .site-footer__family-art-mark,
  body .site-footer__family-clinic .site-footer__family-art-word {
    display: block !important;
  }

  body .site-footer__family-clinic .site-footer__family-art-mark {
    clip-path: inset(0 72% 0 0);
    filter: none !important;
  }

  body .site-footer__family-clinic .site-footer__family-art-word {
    clip-path: inset(0 0 0 28%);
    filter: brightness(0) invert(1) !important;
  }
}

@media (min-width: 768px) {
  /* Stronger desktop actions. */
  body .page-01 #director .top-director__link,
  body .page-01 #access .top-access__info .top-access__button {
    color: #fff !important;
    background: linear-gradient(128deg, #18afd9 0%, #0786c2 52%, #0764a3 100%) !important;
    box-shadow: 0 10px 24px rgba(4,91,143,.16) !important;
  }

  body .page-01 #director .top-director__link span,
  body .page-01 #access .top-access__info .top-access__button span,
  body .page-01 #access .top-access__info .top-access__button svg {
    color: #fff !important;
    stroke: currentColor !important;
  }

  /* Preserve the asphalt area by moving captions below, not over, the photographs. */
  body .page-01 #access .top-access__parking-images {
    height: clamp(300px, 23vw, 360px) !important;
  }

  body .page-01 #access .top-access__parking-images img {
    object-position: center 100% !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  /* Let the full team own the right side while the copy sits on a green field. */
  body .page-01 .top-recruit-link > .top-recruit-link__inner {
    grid-template-columns: minmax(390px, 48%) minmax(0, 1fr) !important;
    background: linear-gradient(118deg, #176c61 0%, #258a6d 43%, #62aa66 100%) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::before {
    background-image: url("../img/optimized/staff-group-2026-10.jpg") !important;
    background-position: right center !important;
    background-size: 64% auto !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    filter: saturate(.92) brightness(.98) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    background: linear-gradient(90deg, rgba(21,91,77,.98) 0%, rgba(31,119,91,.97) 37%, rgba(34,118,91,.74) 48%, rgba(9,71,84,.12) 69%, rgba(5,63,83,.08) 100%) !important;
  }

  body .page-01 .top-recruit-link__copy {
    max-width: 560px !important;
  }

  /* Keep footer credits clear of the family-clinic panel. */
  body .site-footer__bottom {
    position: static !important;
    display: grid !important;
    justify-items: center !important;
    gap: 14px !important;
    margin-top: 34px !important;
    text-align: center !important;
  }

  body .site-footer__bottom > div {
    justify-content: center !important;
    margin: 0 !important;
  }

  body .site-footer__bottom > p {
    order: 2;
    width: 100%;
    text-align: center !important;
  }

  body .header-01 .header-contact-cta__phone,
  body .header-01 .header-contact-cta__phone strong {
    color: #0875b8 !important;
  }

  /* Refine desktop first-view overhangs and align the utility strip's lower edge. */
  body .page-01 .hero-05 .hero-09 {
    left: -48px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    top: -14px !important;
    right: -28px !important;
    transform: scale(1.08) !important;
    transform-origin: top right !important;
  }

  body .page-01 .hero-05 > .trust-strip--hero {
    bottom: 70px !important;
  }
}

@keyframes mobile-scroll-line-flow {
  0% { opacity: 0; transform: translateY(-12px); }
  24% { opacity: .82; }
  72% { opacity: .82; }
  100% { opacity: 0; transform: translateY(30px); }
}

.top-surgery-record__period-mobile {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 .top-surgery-record__heading > small {
    display: block !important;
    color: #688391 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }

  body .page-01 .top-surgery-record__message > .top-surgery-record__period-mobile {
    display: block !important;
    margin: 9px 0 0 !important;
    color: #78909c !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }
}

.hero-05 > .hero-surgery-record {
  isolation: isolate;
  border-color: rgba(255, 255, 255, .94) !important;
  background: radial-gradient(circle at 32% 22%, rgba(255, 255, 255, .98), rgba(245, 252, 255, .87) 52%, rgba(218, 242, 252, .82) 100%) !important;
  box-shadow: 0 16px 38px rgba(4, 72, 108, .19), inset 0 0 0 5px rgba(255, 255, 255, .35) !important;
}

/* Mobile today-hours: answer "open today?" and "what time?" at a glance. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .today-hours {
    padding: 9px !important;
    border-top-width: 4px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__head {
    margin-bottom: 6px !important;
    padding: 0 2px 6px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 1px 7px !important;
    padding: 8px 10px !important;
    border: 1px solid #b8e3cf !important;
    border-radius: 10px !important;
    background: linear-gradient(105deg, #effbf5, #f8fffc) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > span {
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #28765a !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > span i {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #26ad72 !important;
    box-shadow: 0 0 0 4px rgba(38, 173, 114, .12) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > strong {
    grid-row: 1 !important;
    color: #08774f !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: .04em !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > small {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 3px !important;
    color: #174f64 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__body {
    gap: 5px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__thursday {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(0, 1fr) 70px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__timeline {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__timeline b {
    color: #087eb4 !important;
    font-size: 10px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__timeline strong {
    color: #153f54 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__body > .today-hours__row .today-hours__time {
    color: #153f54 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__alert {
    grid-column: 1 / -1 !important;
    min-height: 74px !important;
    padding: 11px 13px !important;
    border-radius: 11px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__alert strong {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
}

/* Mobile director portrait: nameplate flows in from the right under the photo. */
@media (max-width: 767px) {
  body .page-01 .top-director__content {
    display: flex !important;
    flex-direction: column !important;
  }

  body .page-01 .top-director__photo--mobile {
    position: relative !important;
    order: 1 !important;
    width: calc(100% - 12px) !important;
    height: 215px !important;
    margin: 8px 12px 0 0 !important;
    overflow: hidden !important;
    border-radius: 8px 18px 8px 18px !important;
  }

  body .page-01 .top-director__photo--mobile img {
    width: 100% !important;
    height: 215px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  body .page-01 .top-director__name {
    position: relative !important;
    z-index: 3 !important;
    order: 2 !important;
    align-self: flex-end !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    width: min(79%, 310px) !important;
    margin: -28px 0 0 auto !important;
    padding: 9px 18px 9px 48px !important;
    overflow: hidden !important;
    border-radius: 15px 0 0 4px !important;
    background: linear-gradient(100deg, #eefaff 0%, #d8f1fb 42%, #bce6f7 100%) !important;
    box-shadow: 0 8px 20px rgba(0, 112, 164, .16) !important;
    text-align: left !important;
  }

  body .page-01 .top-director__name::before {
    content: "院長" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    background: linear-gradient(155deg, #32b9df, #008dcc) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    writing-mode: vertical-rl !important;
  }

  body .page-01 .top-director__name::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 32px !important;
    width: 20px !important;
    height: 100% !important;
    background: #e8f8fe !important;
    clip-path: polygon(100% 0, 100% 100%, 0 100%) !important;
  }

  body .page-01 .top-director__name h2 {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    color: #073f60 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    letter-spacing: .12em !important;
  }

  body .page-01 .top-director__name span {
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
    color: #138cbe !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
  }

  body .page-01 .top-director__lead {
    order: 3 !important;
    margin-top: 12px !important;
  }

  body .page-01 .top-director__message {
    order: 4 !important;
  }

  body .page-01 .top-director__history {
    order: 5 !important;
  }

  body .page-01 .top-director__link {
    order: 6 !important;
  }
}

/* First-visit guidance: an original Yamasaki Eye Clinic welcome card. */
.first-visit-summary.first-visit-summary--photo {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
  grid-template-rows: 1fr auto;
  grid-template-areas:
    "first-visit-body first-visit-photo"
    "first-visit-button first-visit-photo";
  width: min(1320px, calc(100% - 64px)) !important;
  min-height: 500px;
  margin: clamp(72px, 7vw, 116px) auto !important;
  overflow: hidden !important;
  border: 1px solid rgba(26, 154, 207, .22) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 4% 100%, rgba(83, 190, 226, .13), transparent 28%),
    #fff !important;
  box-shadow: 0 24px 60px rgba(19, 85, 115, .12) !important;
}

.first-visit-summary.first-visit-summary--photo::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 9px;
  height: 100%;
  background: linear-gradient(180deg, #08a8dd 0 52%, #81c94b 52% 70%, #f6a73a 70% 86%, #ea72a7 86%);
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
  grid-area: first-visit-photo !important;
  position: relative;
  min-width: 0;
  min-height: 500px !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: #eaf6fa;
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, .14), transparent 27%);
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
  width: 100% !important;
  height: 100% !important;
  min-height: 500px;
  object-fit: cover !important;
  object-position: 53% center !important;
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
  grid-area: first-visit-body !important;
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 50px 52px 22px 58px !important;
  text-align: left !important;
}

.first-visit-summary--photo .first-visit-summary__eyebrow {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px !important;
  color: #078dca !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .2em !important;
}

.first-visit-summary--photo .first-visit-summary__eyebrow::before {
  content: "";
  width: 38px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, #16aadd 0 25%, #7fc750 25% 50%, #f3ad3d 50% 75%, #ea75a5 75%);
}

.first-visit-summary.first-visit-summary--photo h2 {
  margin: 0 !important;
  color: #0c4968 !important;
  font-size: clamp(30px, 2.4vw, 43px) !important;
  font-weight: 850 !important;
  letter-spacing: .045em !important;
  line-height: 1.35 !important;
}

.first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 22px 0 24px !important;
  padding: 15px 18px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #234f65 !important;
  background: #ecf8fc !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__lead > span {
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 50%;
  color: #fff !important;
  background: #10a5d8 !important;
  font-size: 16px !important;
  font-weight: 900;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__lead strong {
  color: #078bc7 !important;
  font-size: 1.12em;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(210px, .85fr) !important;
  gap: 14px !important;
  margin: 0 !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
.first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
  min-width: 0;
  margin: 0 !important;
  padding: 17px 18px !important;
  border: 1px solid #d7ebf3 !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .9) !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
  background: #fffaf2 !important;
  border-color: #f3dfbd !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title > span {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px;
  place-items: center;
  border: 0 !important;
  border-radius: 50% !important;
  color: #0797cf !important;
  background: #e7f6fb !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title > span {
  color: #d58b23 !important;
  background: #fff0d6 !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title strong {
  color: #164b65 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings ul {
  display: grid;
  gap: 5px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 15px !important;
  color: #4a6877 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 1px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #21abd9;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff-label {
  margin: 2px 0 6px 44px !important;
  color: #9a7b4a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .12em;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff {
  display: flex !important;
  gap: 9px !important;
  margin: 0 0 0 44px !important;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff span {
  display: inline-flex !important;
  align-items: baseline;
  gap: 5px;
  color: #536d79 !important;
  font-size: 11px !important;
  white-space: nowrap;
}

.first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff strong {
  color: #d58120 !important;
  font-size: 16px !important;
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
  grid-area: first-visit-button !important;
  position: relative !important;
  z-index: 3;
  display: flex !important;
  width: auto !important;
  min-height: 62px !important;
  align-items: center;
  justify-content: center;
  margin: 0 52px 44px 58px !important;
  padding: 15px 72px 15px 28px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #18a9da, #057fc1) !important;
  box-shadow: 0 12px 25px rgba(0, 132, 195, .2) !important;
  font-size: 16px !important;
  text-decoration: none !important;
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__button > span {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  display: grid !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  place-items: center;
  border-radius: 50% !important;
  color: #067eae !important;
  background: #fff !important;
  font-size: 27px !important;
  line-height: 1 !important;
}

.first-visit-summary.first-visit-summary--photo > .first-visit-summary__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 132, 195, .26) !important;
}

@media (max-width: 980px) {
  .first-visit-summary.first-visit-summary--photo {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "first-visit-photo"
      "first-visit-body"
      "first-visit-button";
    width: min(680px, calc(100% - 32px)) !important;
    min-height: 0;
    margin: 54px auto !important;
    border-radius: 26px !important;
  }

  .first-visit-summary.first-visit-summary--photo::before {
    width: 100%;
    height: 7px;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
    min-height: 0 !important;
    height: clamp(210px, 50vw, 330px) !important;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    min-height: 0 !important;
    object-position: center 40% !important;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    padding: 30px 26px 20px !important;
  }

  .first-visit-summary.first-visit-summary--photo h2 {
    font-size: clamp(25px, 7vw, 34px) !important;
  }

  .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
    margin: 18px 0 !important;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    min-height: 58px !important;
    margin: 0 26px 28px !important;
  }
}

@media (max-width: 620px) {
  .first-visit-summary.first-visit-summary--photo {
    width: calc(100% - 28px) !important;
    margin: 44px auto !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 38px rgba(19, 85, 115, .11) !important;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
    height: 54vw !important;
    max-height: 245px;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    padding: 25px 20px 17px !important;
  }

  .first-visit-summary--photo .first-visit-summary__eyebrow {
    margin-bottom: 8px !important;
    font-size: 10px !important;
  }

  .first-visit-summary.first-visit-summary--photo h2 {
    font-size: clamp(23px, 7.2vw, 30px) !important;
    letter-spacing: .02em !important;
  }

  .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
    gap: 9px;
    margin: 15px 0 !important;
    padding: 12px 13px !important;
    font-size: 13px !important;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    padding: 14px 15px !important;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title {
    margin-bottom: 8px !important;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title strong {
    font-size: 13px !important;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title strong br {
    display: none;
  }

  .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff {
    gap: 16px !important;
  }

  .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    min-height: 56px !important;
    margin: 0 20px 22px !important;
    font-size: 15px !important;
  }
}

/* Important notice modal: opens above the current page without navigation. */
.important-notice-modal[hidden] {
  display: none !important;
}

.important-notice-modal {
  position: fixed;
  z-index: 3000;
  inset: 0;
  display: grid;
  padding: clamp(20px, 4vw, 56px);
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .24s ease, visibility .24s ease;
}

.important-notice-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.important-notice-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(8, 40, 57, .54);
  cursor: pointer;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.important-notice-modal__panel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(850px, 100%);
  max-height: min(720px, calc(100dvh - 80px));
  overflow: auto;
  border: 1px solid rgba(126, 200, 226, .6);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 32px 90px rgba(0, 43, 66, .28);
  color: #164d68;
  opacity: 0;
  transform: translateY(18px) scale(.975);
  transition: opacity .26s ease, transform .26s cubic-bezier(.22, .8, .3, 1);
}

.important-notice-modal.is-open .important-notice-modal__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.important-notice-modal__close {
  position: absolute;
  z-index: 2;
  top: 20px;
  right: 20px;
  display: grid;
  width: 46px;
  height: 46px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(19, 139, 190, .24);
  border-radius: 50%;
  background: #f0faff;
  color: #0b75a7;
  cursor: pointer;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.important-notice-modal__close span {
  margin-top: -3px;
}

.important-notice-modal__head {
  display: grid;
  min-height: 108px;
  padding: 24px 86px 22px 34px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px 18px;
  border-bottom: 1px solid #d9edf5;
  background: linear-gradient(120deg, #eefaff 0%, #f9fdff 58%, #fff8f8 100%);
}

.important-notice-modal__head p {
  margin: 0;
  color: #1598cc;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .2em;
}

.important-notice-modal__head span {
  color: #c93030;
  font-size: .92rem;
  font-weight: 900;
}

.important-notice-modal__head time {
  color: #5e7d8c;
  font-size: .78rem;
  font-weight: 700;
}

.important-notice-modal__body {
  padding: clamp(34px, 5vw, 58px);
}

.important-notice-modal__body h2 {
  max-width: 720px;
  margin: 0 auto 30px;
  color: #124f6d;
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  font-weight: 900;
  line-height: 1.55;
  text-align: center;
}

.important-notice-modal__body h2::after {
  display: block;
  width: 68px;
  height: 4px;
  margin: 22px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #0a91ce, #6acdea);
  content: "";
}

.important-notice-modal__body > div {
  max-width: 650px;
  margin-inline: auto;
  color: #385e70;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
}

.important-notice-modal__body > div p + p {
  margin-top: 10px;
}

.important-notice-modal__link {
  display: flex;
  width: min(420px, 100%);
  min-height: 58px;
  margin: 34px auto 0;
  padding: 12px 20px 12px 26px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border-radius: 999px;
  background: linear-gradient(100deg, #35b4df, #058fd0);
  color: #fff;
  box-shadow: 0 12px 25px rgba(3, 133, 191, .2);
  font-size: .95rem;
  font-weight: 800;
  text-decoration: none;
}

.important-notice-modal__link span {
  font-size: 1.15rem;
  transition: transform .2s ease;
}

.is-important-notice-open {
  overflow: hidden;
}

@media (hover: hover) {
  .important-notice-modal__close:hover {
    background: #087fb7;
    color: #fff;
    transform: rotate(8deg);
  }

  .important-notice-modal__link:hover span {
    transform: translateX(4px);
  }
}

@media (max-width: 767px) {
  .important-notice-modal {
    padding: 16px;
    align-items: center;
  }

  .important-notice-modal__panel {
    max-height: calc(100dvh - 32px);
    border-radius: 18px;
  }

  .important-notice-modal__close {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    font-size: 26px;
  }

  .important-notice-modal__head {
    min-height: 96px;
    padding: 18px 64px 16px 20px;
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .important-notice-modal__head p {
    font-size: .63rem;
  }

  .important-notice-modal__head span {
    font-size: .82rem;
  }

  .important-notice-modal__head time {
    font-size: .7rem;
  }

  .important-notice-modal__body {
    padding: 28px 22px 30px;
  }

  .important-notice-modal__body h2 {
    margin-bottom: 22px;
    font-size: 1.28rem;
    line-height: 1.6;
    text-align: left;
  }

  .important-notice-modal__body h2::after {
    width: 48px;
    margin: 16px 0 0;
  }

  .important-notice-modal__body > div {
    font-size: .9rem;
    line-height: 1.85;
  }

  .important-notice-modal__link {
    min-height: 54px;
    margin-top: 26px;
    font-size: .86rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .important-notice-modal,
  .important-notice-modal__panel {
    transition: none;
  }
}

.hero-05 > .hero-surgery-record::before {
  position: absolute;
  z-index: -1;
  inset: 7px;
  border: 1px solid rgba(22, 147, 199, .2);
  border-radius: inherit;
  content: "";
}

.hero-surgery-record__detail {
  display: grid !important;
  gap: 2px;
}

.hero-surgery-record__period {
  display: block;
  padding-top: 3px;
  border-top: 1px solid rgba(7, 89, 149, .15);
  font-weight: 700;
  letter-spacing: .02em;
}

/* A light editorial title treatment instead of a plain translucent rectangle. */
.hero-05 .hero-09 {
  overflow: visible !important;
  isolation: isolate;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.hero-05 .hero-09::before {
  position: absolute;
  z-index: 2;
  top: -11px;
  left: 18px;
  padding: 3px 10px 3px 12px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px;
  background: linear-gradient(90deg, #078dcc, #55bbdf);
  box-shadow: 0 5px 14px rgba(7,99,145,.18);
  color: #fff;
  content: "YAMASAKI EYE CLINIC";
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .18em;
  white-space: nowrap;
}

.hero-05 .hero-09::after {
  display: none !important;
}

.hero-05 .hero-09 .hero-10 {
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .96)) drop-shadow(0 0 13px rgba(255, 255, 255, .9));
}

/* Thursday: separate clinical care from reception guidance. */
.hero-05 > .today-hours .today-hours__row.is-thursday > .today-hours__session {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: stretch;
  display: grid;
  place-items: center;
}

.hero-05 > .today-hours .today-hours__clinical-group,
.hero-05 > .today-hours .today-hours__reception-group {
  grid-column: 2;
  display: grid;
  min-width: 0;
}

.hero-05 > .today-hours .today-hours__clinical-group {
  grid-template-columns: repeat(3, minmax(0, auto));
  align-items: center;
  gap: 5px 12px;
}

.hero-05 > .today-hours .today-hours__reception-group {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 10px;
  margin-top: 7px;
  padding: 7px 9px;
  border-top: 1px solid rgba(35, 143, 187, .24);
  border-radius: 5px;
  background: rgba(235, 247, 252, .72);
}

.hero-05 > .today-hours .today-hours__group-label {
  color: #637b87;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .05em;
  white-space: nowrap;
}

.hero-05 > .today-hours .today-hours__clinical-group > .today-hours__group-label {
  grid-column: 1 / -1;
  color: #087db8;
}

.hero-05 > .today-hours .today-hours__reception-group .today-hours__reception,
.hero-05 > .today-hours .today-hours__reception-group .today-hours__contact {
  grid-column: 2;
}

.hero-05 .hero-09 .hero-11,
.hero-05 .hero-09 .hero-11 .static-hero-char {
  color: #1182ba !important;
}

.hero-05 .hero-09 .hero-12,
.hero-05 .hero-09 .hero-12 .static-hero-char {
  color: #07548b !important;
}

@media (min-width: 768px) {
  .hero-05 .hero-09::before {
    display: none !important;
    content: none !important;
  }

  .hero-05 > .today-hours {
    left: clamp(16px, 1.4vw, 24px) !important;
    right: auto !important;
    width: min(500px, calc(100% - 48px)) !important;
    max-width: 500px !important;
  }

  .hero-05 > .hero-06[data-hero-kind="exterior-wide"] img,
  .hero-05 > .hero-06[data-hero-kind="exterior-sign"] img,
  .hero-05 > .hero-06[data-hero-kind="staff"] img {
    object-position: center 48% !important;
  }

  .hero-05 .hero-09 {
    overflow: visible !important;
    padding: 14px 24px 17px 0 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday {
    grid-template-columns: minmax(0, 3.1fr) minmax(86px, .62fr) !important;
    gap: 10px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday {
    padding: 12px 16px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle {
    padding-inline: 8px !important;
    place-content: center !important;
    text-align: center !important;
  }
}

/* Surgical chart enters with a restrained, sequential rise. */
.top-surgery-chart i {
  animation: none !important;
  opacity: .28;
  transform: scaleY(.06);
  transform-origin: center bottom;
}

.top-surgery-chart.is-chart-visible i {
  animation: yamasakiSurgeryBarRise .85s cubic-bezier(.2, .8, .25, 1) forwards !important;
}

.top-surgery-chart.is-chart-visible li:nth-child(2) i { animation-delay: .08s !important; }
.top-surgery-chart.is-chart-visible li:nth-child(3) i { animation-delay: .16s !important; }
.top-surgery-chart.is-chart-visible li:nth-child(4) i { animation-delay: .24s !important; }
.top-surgery-chart.is-chart-visible li:nth-child(5) i { animation-delay: .32s !important; }

@keyframes yamasakiSurgeryBarRise {
  0% { opacity: .28; transform: scaleY(.06); }
  72% { opacity: 1; transform: scaleY(1.035); }
  100% { opacity: 1; transform: scaleY(1); }
}

@media (min-width: 1024px) {
  .top-surgery-record__message p,
  .top-surgery-chart > p {
    white-space: nowrap;
  }

  .top-surgery-record__message p {
    font-size: clamp(.64rem, .7vw, .72rem) !important;
    letter-spacing: -.02em;
  }
}

/* 2026-09-04 mobile hours controls and schedule-label refinement. */
@keyframes mobile-hours-orbit {
  to { transform: rotate(1turn); }
}

@keyframes mobile-scroll-cue-flow-long {
  0% { opacity: .18; transform: translateY(-30px); }
  42% { opacity: .92; }
  100% { opacity: .10; transform: translateY(108px); }
}

@media (prefers-reduced-motion: reduce) {
  .top-surgery-chart i,
  .top-surgery-chart.is-chart-visible i {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

/* Keep the complete weekly-hours panel within one practical viewport. */
@media (min-width: 768px) {
  .top-access__panel--hours .top-access__hours {
    padding: 20px clamp(22px, 3vw, 36px) 22px !important;
  }

  .top-access__panel--hours .top-unified-head {
    margin-bottom: 8px !important;
    padding: 10px 12px !important;
  }

  .top-access__panel--hours .top-unified-head::before {
    font-size: clamp(4rem, 7vw, 6rem) !important;
  }

  .top-access__panel--hours .top-unified-head > h2 {
    margin-block: 3px !important;
    font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
  }

  .top-access__panel--hours .top-unified-head > p {
    font-size: .78rem !important;
    line-height: 1.45 !important;
  }

  .top-access__panel--hours .top-access__table-wrap {
    margin-top: 8px !important;
  }

  .top-access__panel--hours .top-access__table th,
  .top-access__panel--hours .top-access__table td {
    height: auto !important;
    padding: 8px clamp(6px, .85vw, 12px) !important;
  }

  .top-access__panel--hours .schedule-cell,
  .top-access__panel--hours .schedule-shift {
    gap: 2px !important;
  }

  .top-access__panel--hours .schedule-cell b,
  .top-access__panel--hours .schedule-shift b {
    font-size: .68rem !important;
  }

  .top-access__panel--hours .schedule-cell small,
  .top-access__panel--hours .schedule-shift small {
    font-size: clamp(.9rem, 1vw, 1rem) !important;
    line-height: 1.25 !important;
  }

  .top-access__panel--hours .top-hours-summary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px !important;
    margin: 12px auto 0 !important;
  }

  .top-access__panel--hours .top-hours-summary__grid {
    display: contents !important;
  }

  .top-access__panel--hours .top-hours-summary__item,
  .top-access__panel--hours .top-hours-summary__row,
  .top-access__panel--hours .top-hours-summary__foot {
    min-width: 0;
    border-radius: 10px !important;
  }

  .top-access__panel--hours .top-hours-summary__item--reception {
    grid-template-columns: 1fr !important;
    align-content: start;
    gap: 3px !important;
    padding: 9px 12px !important;
  }

  .top-access__panel--hours .top-hours-summary__annotation {
    grid-column: 1 !important;
    margin-top: 3px !important;
    padding-top: 4px !important;
    font-size: .66rem !important;
    line-height: 1.35 !important;
  }

  .top-access__panel--hours .top-hours-summary__row {
    display: block !important;
  }

  .top-access__panel--hours .top-hours-summary__label {
    min-height: 0;
    padding: 6px 10px !important;
    font-size: .72rem !important;
  }

  .top-access__panel--hours .top-hours-summary__content {
    display: grid !important;
    gap: 2px 10px !important;
    padding: 7px 10px !important;
    font-size: .7rem !important;
    line-height: 1.4 !important;
  }

  .top-access__panel--hours .top-hours-summary__content small {
    font-size: .64rem !important;
    line-height: 1.35 !important;
  }

  .top-access__panel--hours .top-hours-summary__foot {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, auto)) !important;
    align-items: center;
    gap: 5px 18px !important;
    padding: 7px 12px !important;
    font-size: .66rem !important;
    line-height: 1.35 !important;
  }

  .top-access__panel--hours .top-hours-summary__foot small {
    grid-column: auto !important;
    font-size: .61rem !important;
  }

  .top-access__panel--hours .top-access__button {
    min-height: 42px !important;
    margin-top: 11px !important;
    padding: 8px 18px !important;
    font-size: .78rem !important;
  }
}

@media (min-width: 1100px) {
  .top-access__panel--hours .top-hours-summary {
    grid-template-columns: 1.05fr .9fr 1.25fr;
  }
}

@media (max-width: 767px) {
  .top-access__panel--hours {
    padding: 28px 14px !important;
  }

  .top-access__panel--hours .top-unified-head {
    margin-bottom: 7px !important;
  }

  .top-access__panel--hours .top-unified-head > span {
    font-size: 10px !important;
  }

  .top-access__panel--hours .top-unified-head > h2 {
    font-size: 22px !important;
  }

  .top-access__panel--hours .top-unified-head > p {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .top-access__panel--hours .mobile-weekly-table-wrap {
    margin-top: 8px !important;
  }

  .top-access__panel--hours .mobile-weekly-table th,
  .top-access__panel--hours .mobile-weekly-table td {
    padding: 6px 4px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .top-access__panel--hours .mobile-weekly-table .is-thursday td:nth-child(2) {
    padding-block: 5px !important;
  }

  .top-access__panel--hours .mobile-weekly-table .is-thursday span {
    font-size: 10px !important;
  }

  .top-access__panel--hours .mobile-weekly-table .is-thursday small {
    margin-top: 1px !important;
    font-size: 9px !important;
  }

  .top-access__panel--hours .top-hours-summary {
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 9px 10px !important;
  }

  .top-access__panel--hours .top-hours-summary__row,
  .top-access__panel--hours .top-hours-summary__foot {
    display: none !important;
  }

  .top-access__panel--hours .top-hours-summary__item--reception {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 3px 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .top-access__panel--hours .top-hours-summary__annotation {
    grid-column: 1 / -1 !important;
    margin-top: 3px !important;
    padding-top: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  .top-access__panel--hours .top-hours-summary__item strong,
  .top-access__panel--hours .top-hours-summary__item span {
    font-size: 12px !important;
  }

  .top-access__panel--hours .top-access__button {
    min-height: 42px !important;
    margin-top: 9px !important;
    padding-block: 7px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 767px) {
  .hero-05 > .hero-06[data-hero-kind="exterior-wide"],
  .hero-05 > .hero-06[data-hero-kind="exterior-sign"],
  .hero-05 > .hero-06[data-hero-kind="staff"] {
    background: #dcecf3 var(--hero-slide-image) center / cover no-repeat !important;
  }

  .hero-05 > .hero-06[data-hero-kind="exterior-wide"]::before,
  .hero-05 > .hero-06[data-hero-kind="exterior-sign"]::before,
  .hero-05 > .hero-06[data-hero-kind="staff"]::before {
    position: absolute;
    z-index: 0;
    inset: -22px;
    background: var(--hero-slide-image) center / cover no-repeat;
    content: "";
    filter: blur(15px) saturate(.82);
    opacity: .48;
    transform: scale(1.06);
  }

  .hero-05 > .hero-06[data-hero-kind="exterior-wide"] img,
  .hero-05 > .hero-06[data-hero-kind="exterior-sign"] img,
  .hero-05 > .hero-06[data-hero-kind="staff"] img {
    z-index: 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 10px 22px rgba(15, 66, 89, .16));
  }

  .hero-05 > .hero-06[data-hero-kind="staff"] img {
    object-position: center 39% !important;
  }

  .hero-05 > .hero-06::after {
    z-index: 2 !important;
  }

  .hero-05 .hero-09 {
    overflow: visible !important;
    padding: 11px 15px 13px 0 !important;
  }

  .hero-05 .hero-09::before {
    top: -9px;
    left: 13px;
    padding: 2px 8px 2px 10px;
    font-size: 7px;
  }

  .hero-05 .hero-09::after {
    right: 18px;
  }

  .hero-05 > .today-hours .today-hours__thursday {
    grid-template-columns: minmax(0, 3fr) 66px !important;
    gap: 6px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday {
    padding: 7px 9px !important;
  }

  .hero-05 > .today-hours .today-hours__clinical-group {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .hero-05 > .today-hours .today-hours__reception-group {
    grid-template-columns: 1fr;
    gap: 1px;
    margin-top: 4px;
    padding: 4px 6px;
  }

  .hero-05 > .today-hours .today-hours__reception-group .today-hours__reception,
  .hero-05 > .today-hours .today-hours__reception-group .today-hours__contact {
    grid-column: 1;
  }

  .hero-05 > .today-hours .today-hours__group-label {
    font-size: 8px;
  }

  .today-hours--sheet .today-hours__row.is-thursday > .today-hours__session {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: stretch;
    display: grid;
    place-items: center;
  }

  .today-hours--sheet .today-hours__clinical-group,
  .today-hours--sheet .today-hours__reception-group {
    grid-column: 2;
    display: grid;
    gap: 3px;
    min-width: 0;
  }

  .today-hours--sheet .today-hours__reception-group {
    margin-top: 6px;
    padding: 7px 8px;
    border-top: 1px solid rgba(35, 143, 187, .24);
    border-radius: 5px;
    background: rgba(235, 247, 252, .72);
  }

  .today-hours--sheet .today-hours__group-label {
    color: #087db8;
    font-size: 9px;
    font-weight: 900;
  }

  .today-hours--sheet .today-hours__reception-group .today-hours__group-label {
    color: #637b87;
  }

  .today-hours--sheet .today-hours__reception,
  .today-hours--sheet .today-hours__contact {
    grid-column: 1;
  }

  .hero-05 > .today-hours .today-hours__timeline,
  .hero-05 > .today-hours .today-hours__timeline b {
    font-size: 10.5px !important;
    line-height: 1.4 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle {
    padding: 5px 3px !important;
    place-content: center !important;
    text-align: center !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__session {
    font-size: 9px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__time {
    font-size: 17px !important;
  }

  .hero-05 > .hero-surgery-record {
    top: calc(clamp(520px, 138vw, 590px) - 154px) !important;
    width: 146px !important;
    height: 146px !important;
    min-width: 146px !important;
    padding: 17px 12px 13px !important;
  }

  .hero-05 > .hero-surgery-record > span {
    max-width: 112px !important;
    font-size: 8.5px !important;
  }

  .hero-05 > .hero-surgery-record > strong {
    margin-top: 3px !important;
  }

  .hero-05 > .hero-surgery-record > strong > b {
    font-size: 30px !important;
  }

  .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    display: grid !important;
    width: 112px !important;
    margin-top: 4px !important;
    font-size: 7.5px !important;
    line-height: 1.3 !important;
  }

  .hero-surgery-record__breakdown {
    display: none !important;
  }
}

/* Desktop column rail: denser rhythm with a light, editorial backdrop. */
@media (min-width: 768px) {
  .top-news {
    padding-bottom: clamp(28px, 3vw, 42px) !important;
  }

  .top-news__block--columns {
    position: relative;
    isolation: isolate;
    align-items: start;
    grid-template-columns: minmax(180px, 225px) minmax(0, 1fr) !important;
    gap: clamp(28px, 3vw, 46px) !important;
    margin-top: clamp(24px, 3vw, 40px) !important;
    padding: clamp(28px, 3vw, 40px) clamp(20px, 2.6vw, 38px) clamp(24px, 2.6vw, 34px) !important;
    border-block: 1px solid rgba(61, 165, 208, .18);
    background:
      linear-gradient(105deg, rgba(234, 247, 252, .9) 0%, rgba(250, 254, 255, .72) 43%, rgba(235, 248, 252, .88) 100%);
    overflow: hidden;
  }

  .top-news__block--columns::before,
  .top-news__block--columns::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
  }

  .top-news__block--columns::before {
    width: clamp(180px, 18vw, 300px);
    aspect-ratio: 1;
    top: -62%;
    left: clamp(105px, 12vw, 180px);
    border: 1px solid rgba(20, 157, 211, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(255, 255, 255, .32), 0 0 0 58px rgba(73, 184, 224, .05);
  }

  .top-news__block--columns::after {
    width: 150px;
    height: 150px;
    right: -54px;
    bottom: -92px;
    border-radius: 50%;
    background: rgba(48, 177, 224, .09);
  }

  .top-news__block--columns .top-news__side--columns {
    padding-top: 3px !important;
  }

  .top-news__block--columns .top-news__title {
    color: #075b86;
    font-size: clamp(3rem, 4vw, 4.5rem);
    line-height: .9;
    letter-spacing: -.045em;
  }

  .top-news__block--columns .top-news__subtitle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    color: #17475d;
    font-size: .95rem;
  }

  .top-news__block--columns .top-news__subtitle::before {
    content: "";
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0b91ce, #67cbe9);
  }

  .top-news__block--columns .top-news__button--side {
    min-width: 166px;
    min-height: 48px;
    margin-top: 30px;
    padding: 13px 24px;
    border: 1px solid rgba(255, 255, 255, .78);
    background: linear-gradient(135deg, #25afe2, #0789c8);
    box-shadow: 0 12px 26px rgba(0, 130, 190, .18);
  }

  .top-news__block--columns .top-news__column-content {
    padding-top: 0 !important;
  }

  .top-news__block--columns .top-column-card a {
    position: relative;
    padding-bottom: 8px;
  }

  .top-news__block--columns .top-column-card img {
    border: 1px solid rgba(255, 255, 255, .92);
    border-radius: 10px;
    box-shadow: 0 12px 26px rgba(25, 89, 116, .12);
  }

  .top-news__block--columns .top-column-card__meta {
    gap: 12px;
    margin-top: 14px;
    color: #577586;
    font-size: .78rem;
  }

  .top-news__block--columns .top-column-card__meta span {
    padding: 4px 12px;
    border: 1px solid rgba(30, 157, 207, .16);
    background: rgba(255, 255, 255, .82);
    color: #167aa6;
    font-size: .7rem;
  }

  .top-news__block--columns .top-column-card h4 {
    margin-top: 11px;
    color: #123f54;
    font-size: clamp(.88rem, 1vw, .98rem);
    line-height: 1.65;
  }

  .top-news__block--columns .top-column-scrollbar {
    height: 5px;
    margin-top: clamp(22px, 2.4vw, 32px);
    border: 1px solid rgba(68, 153, 190, .12);
    background: rgba(255, 255, 255, .84);
  }

  .top-news__block--columns .top-column-scrollbar .swiper-scrollbar-drag {
    background: linear-gradient(90deg, #179fd7, #70cce9);
    box-shadow: 0 2px 8px rgba(16, 142, 194, .2);
  }
}

/* NEWS and COLUMN use one editorial heading system. */
@media (min-width: 768px) {
  .top-news > .top-news__pixel {
    display: none !important;
  }

  .top-news__inner > .top-news__side {
    padding-top: 3px !important;
  }

  .top-news__inner > .top-news__side > .top-news__title {
    color: #075b86 !important;
    font-size: clamp(3rem, 4vw, 4.5rem) !important;
    line-height: .9 !important;
    letter-spacing: -.045em !important;
  }

  .top-news__inner > .top-news__side > .top-news__subtitle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px !important;
    color: #17475d !important;
    font-size: .95rem !important;
  }

  .top-news__inner > .top-news__side > .top-news__subtitle::before {
    width: 28px;
    height: 3px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: linear-gradient(90deg, #0b91ce, #67cbe9);
    content: "";
  }
}

/* Upper-page spacing: notice, slide indicator, clinic photo rail and news list. */
.top-important-notice {
  width: min(940px, calc(100% - 48px)) !important;
  border-color: rgba(216, 50, 50, .34) !important;
  background: linear-gradient(105deg, #fffafa 0%, #fff5f5 100%) !important;
  box-shadow: 0 10px 28px rgba(151, 43, 43, .08) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.top-important-notice > .top-important-notice__trigger {
  position: relative;
  cursor: pointer;
}

.top-important-notice > .top-important-notice__trigger > strong {
  border-color: #d93d3d !important;
  background: #d93d3d !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(199, 42, 42, .16);
}

.top-important-notice > .top-important-notice__trigger > b {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(216, 50, 50, .28), 0 5px 12px rgba(168, 40, 40, .1);
  line-height: 1;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

@media (hover: hover) {
  .top-important-notice:hover {
    border-color: rgba(216, 50, 50, .56) !important;
    box-shadow: 0 15px 34px rgba(151, 43, 43, .14) !important;
    transform: translateY(-2px);
  }

  .top-important-notice:hover > .top-important-notice__trigger > b {
    background: #d93d3d;
    color: #fff;
    transform: translateX(3px);
  }
}

@media (min-width: 768px) {
  /* Access: keep every item visible while fitting the panel within one screen. */
  .top-access__panel--map {
    padding: 22px clamp(24px, 3vw, 40px) 28px !important;
  }

  .top-access__panel--map > h2 {
    min-height: 54px !important;
    padding: 8px 18px !important;
    font-size: clamp(1.25rem, 1.7vw, 1.55rem) !important;
  }

  .top-access__parking-photo {
    height: clamp(170px, 14vw, 220px) !important;
    margin-top: 16px !important;
  }

  .top-access__parking-photo figcaption {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    gap: 12px !important;
    padding: 10px 14px !important;
  }

  .top-access__parking-photo figcaption strong {
    font-size: clamp(.82rem, 1vw, .95rem) !important;
  }

  .top-access__parking-photo figcaption span {
    font-size: clamp(.68rem, .82vw, .8rem) !important;
    line-height: 1.45 !important;
  }

  .top-access__map-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr) !important;
    gap: clamp(18px, 2.2vw, 30px) !important;
    margin-top: 18px !important;
  }

  .top-access__map,
  .top-access__map iframe {
    height: clamp(260px, 20vw, 310px) !important;
  }

  .top-access__info dl {
    gap: 8px !important;
  }

  .top-access__info dl > div {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .top-access__info dt {
    gap: 7px !important;
    padding: 8px 10px !important;
    font-size: clamp(.72rem, .82vw, .82rem) !important;
  }

  .top-access__info dt svg {
    width: 17px !important;
    height: 17px !important;
  }

  .top-access__info dd {
    font-size: clamp(.74rem, .88vw, .88rem) !important;
    line-height: 1.5 !important;
  }

  .top-access__info .top-access__button {
    min-height: 44px !important;
    margin-top: 12px !important;
    padding: 9px 16px !important;
    font-size: .82rem !important;
  }

  .hero-05 > .hero-13.js-hero-dots {
    top: auto !important;
    bottom: 28px !important;
    z-index: 84 !important;
  }

  .top-gallery {
    margin-top: -36px !important;
  }

  .top-news__inner {
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) !important;
    gap: clamp(28px, 3vw, 48px) !important;
    max-width: 1420px !important;
    padding-inline: clamp(24px, 4vw, 64px) !important;
  }

  .top-news__block--notice {
    width: min(100%, 980px) !important;
    justify-self: start !important;
  }

  .top-notice-row {
    grid-template-columns: 160px 108px minmax(0, 1fr) 42px !important;
    gap: 14px !important;
    min-height: 68px !important;
    padding-block: 13px !important;
  }

  .top-notice-row__category {
    padding: 5px 10px !important;
    font-size: .68rem !important;
  }

  .top-notice-row time {
    font-size: .8rem !important;
  }

  .top-notice-row strong {
    font-size: clamp(.88rem, 1vw, 1rem) !important;
    line-height: 1.5 !important;
  }

  .top-notice-row__arrow {
    width: 38px !important;
    height: 38px !important;
  }
}

@media (max-width: 767px) {
  .top-important-notice {
    width: calc(100% - 16px) !important;
    padding-inline: 0 !important;
  }

  .top-important-notice > .top-important-notice__trigger {
    min-height: 82px !important;
    padding: 12px !important;
  }

  .top-important-notice > .top-important-notice__trigger > b {
    width: 32px;
    height: 32px;
  }

  .top-news {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .top-notice-row {
    min-height: 82px !important;
    padding: 11px 2px !important;
  }

  .top-notice-row strong {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* Mobile FV: portrait photo, bottom-right copy and hours contained in one view. */
@media (max-width: 767px) {
  .hero-01,
  .hero-01 > .hero-02 {
    background: #edf9fd !important;
  }

  .hero-01 > .hero-02 {
    padding-bottom: 0 !important;
  }

  .hero-05 {
    --mobile-fv-photo-height: clamp(530px, 144vw, 620px);
    display: flex !important;
    gap: 0 !important;
    padding: 0 10px 16px !important;
    overflow: hidden !important;
    border-radius: 0 0 28px 28px !important;
    background:
      linear-gradient(180deg, transparent 0 var(--mobile-fv-photo-height), rgba(225, 245, 252, .96) var(--mobile-fv-photo-height), #edf9fd 100%) !important;
  }

  .hero-05 > .hero-06,
  .hero-05 > .hero-06 img,
  .hero-05 > .mobile-hero-summary {
    height: var(--mobile-fv-photo-height) !important;
    min-height: var(--mobile-fv-photo-height) !important;
  }

  .hero-05 > .hero-06 {
    inset: 0 0 auto !important;
    border-radius: 0 0 26px 26px !important;
  }

  .hero-05 > .hero-06 img {
    width: 100% !important;
    object-fit: cover !important;
  }

  .hero-05 > .hero-06[data-hero-kind="exterior-wide"] img {
    object-fit: cover !important;
    object-position: 43% center !important;
  }

  .hero-05 > .hero-06[data-hero-kind="exterior-sign"] img {
    object-fit: cover !important;
    object-position: 51% center !important;
  }

  .hero-05 > .hero-06[data-hero-kind="staff"] img {
    object-fit: cover !important;
    object-position: 50% 42% !important;
  }

  .hero-05 > .hero-06[data-hero-kind="operating-room"] img {
    object-fit: cover !important;
    object-position: 54% center !important;
  }

  .hero-05 > .hero-06::after {
    background:
      linear-gradient(135deg, rgba(255, 255, 255, .28), transparent 52%),
      linear-gradient(180deg, transparent 48%, rgba(7, 62, 89, .16) 100%) !important;
  }

  .hero-05 .hero-09 {
    top: calc(var(--mobile-fv-photo-height) - 225px) !important;
    right: 13px !important;
    left: auto !important;
    width: min(285px, calc(100% - 26px)) !important;
    padding: 10px 8px 8px !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .hero-05 .hero-09::before {
    top: -7px !important;
    left: 8px !important;
  }

  .hero-05 .hero-09 .hero-10,
  .hero-05 .hero-09 .hero-11,
  .hero-05 .hero-09 .hero-12,
  .hero-05 .hero-09 .static-hero-char {
    color: #075995 !important;
    font-size: clamp(27px, 7.5vw, 32px) !important;
    line-height: 1.27 !important;
    text-shadow: 0 1px 0 #fff, 0 0 12px rgba(255, 255, 255, .98), 0 3px 16px rgba(255, 255, 255, .82) !important;
  }

  .hero-05 .hero-09 .hero-10 {
    display: block !important;
    margin: 0 !important;
  }

  .hero-05 .hero-09 .hero-10 + .hero-10 {
    margin-top: 3px !important;
  }

  .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 108px) !important;
    right: 13px !important;
    left: auto !important;
    width: min(220px, calc(100% - 160px)) !important;
    max-width: none !important;
    padding: 7px 9px !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 7px !important;
    color: #173f55 !important;
    background: rgba(255, 255, 255, .86) !important;
    box-shadow: 0 7px 18px rgba(10, 71, 99, .12) !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    -webkit-backdrop-filter: blur(3px) !important;
    backdrop-filter: blur(3px) !important;
  }

  .hero-05 > .hero-surgery-record {
    top: calc(var(--mobile-fv-photo-height) - 126px) !important;
    left: 13px !important;
    width: 118px !important;
    height: 118px !important;
    min-width: 118px !important;
    padding: 11px 8px !important;
  }

  .hero-05 > .hero-surgery-record > span {
    font-size: 7.5px !important;
  }

  .hero-05 > .hero-surgery-record > strong {
    font-size: 10px !important;
  }

  .hero-05 > .hero-surgery-record > strong > b {
    font-size: 26px !important;
  }

  .hero-05 > .today-hours {
    position: static !important;
    order: 2;
    z-index: 8;
    width: 100% !important;
    max-width: none !important;
    margin: -3px auto 0 !important;
    padding: 8px 9px 8px !important;
    border: 1px solid #78cbe8 !important;
    border-top-width: 3px !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 12px 27px rgba(20, 91, 124, .12) !important;
    transform: none !important;
  }

  .hero-05 > .today-hours .today-hours__head {
    min-height: 24px;
    margin: 0 0 5px !important;
    padding: 0 2px 5px !important;
  }

  .hero-05 > .today-hours .today-hours__label {
    font-size: 13px !important;
  }

  .hero-05 > .today-hours .today-hours__date {
    padding: 2px 6px !important;
    font-size: 9px !important;
  }

  .hero-05 > .today-hours .today-hours__body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px !important;
  }

  .hero-05 > .today-hours .today-hours__body > .today-hours__row {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 5px !important;
    min-height: 38px !important;
    padding: 4px 5px !important;
    border: 1px solid #d6ebf3 !important;
    border-radius: 8px !important;
    background: #f8fcfe !important;
  }

  .hero-05 > .today-hours .today-hours__body > .today-hours__row .today-hours__session {
    min-height: 25px !important;
    padding: 2px 4px !important;
    font-size: 9px !important;
  }

  .hero-05 > .today-hours .today-hours__body > .today-hours__row .today-hours__time {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 62px !important;
    gap: 4px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .today-hours__row {
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 9px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday {
    display: grid !important;
    grid-template-columns: 37px minmax(0, 1fr) !important;
    gap: 3px 6px !important;
    padding: 5px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday > .today-hours__session {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    min-height: 0 !important;
    padding: 3px !important;
    font-size: 9px !important;
  }

  .hero-05 > .today-hours .today-hours__clinical-group {
    grid-column: 2 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .hero-05 > .today-hours .today-hours__timeline {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 5px;
    font-size: 9px !important;
    line-height: 1.28 !important;
  }

  .hero-05 > .today-hours .today-hours__timeline b,
  .hero-05 > .today-hours .today-hours__timeline strong {
    font-size: 9px !important;
    line-height: 1.28 !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group {
    grid-column: 2 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 2px !important;
    padding: 3px 5px !important;
  }

  .hero-05 > .today-hours .today-hours__group-label {
    display: none !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group .today-hours__reception,
  .hero-05 > .today-hours .today-hours__reception-group .today-hours__contact {
    display: block !important;
    grid-column: 1 !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    place-content: center !important;
    padding: 5px 3px !important;
    text-align: center !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__session,
  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__time {
    min-height: 0 !important;
    padding: 2px !important;
    font-size: 10px !important;
  }

  .hero-05 > .today-hours .today-hours__note,
  .hero-05 > .today-hours .today-hours__note--thursday {
    grid-column: 1 / -1;
    margin: 2px 1px 0 !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .hero-05 > .today-hours .today-hours__link {
    min-height: 28px !important;
    height: 28px !important;
    margin-top: 4px !important;
    padding: 3px 8px !important;
    font-size: 10px !important;
  }

  .hero-05 > .hero-13.js-hero-dots {
    display: none !important;
  }
}

/* Thursday card: pair each care type directly with its time. */
.hero-05 > .today-hours .today-hours__clinical-group {
  grid-template-columns: 1fr !important;
  align-content: center;
  gap: 0 !important;
}

.hero-05 > .today-hours .today-hours__timeline {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(60, 158, 198, .18);
  color: #284f62;
  line-height: 1.3 !important;
}

.hero-05 > .today-hours .today-hours__timeline:last-child {
  border-bottom: 0;
}

.hero-05 > .today-hours .today-hours__timeline b {
  position: relative;
  padding-left: 11px;
  color: #087db8;
  font-size: 11px !important;
  white-space: nowrap;
}

.hero-05 > .today-hours .today-hours__timeline b::before {
  position: absolute;
  top: .42em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2eaddd;
  content: "";
}

.hero-05 > .today-hours .today-hours__timeline strong {
  color: #153f55;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: -.01em;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .hero-05 > .today-hours .today-hours__timeline {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 6px;
    padding-block: 3px;
  }

  .hero-05 > .today-hours .today-hours__timeline b {
    font-size: 10px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline strong {
    font-size: 11px;
  }
}

/* Mobile tab affordance: explicit switching hint, arrows and selected check. */
.top-news__mobile-switch-hint {
  display: none;
}

@media (max-width: 767px) {
  .top-news .top-news__mobile-switch-hint {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0 4px 7px;
    color: #587786;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .025em;
  }

  .top-news .top-news__mobile-switch-hint span {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #169fd4;
    font-size: 13px;
    line-height: 1;
  }

  .top-news .top-news__mobile-tabs button[aria-selected="false"] {
    color: #176783 !important;
    background: #fff !important;
    box-shadow: inset 0 0 0 1px #b8dfea !important;
  }

  .top-news .top-news__mobile-tabs button::after {
    content: "›" !important;
    display: grid;
    width: 24px !important;
    height: 24px !important;
    place-items: center;
    border: 0 !important;
    color: #0d8fc5;
    background: #e5f6fb !important;
    box-shadow: none !important;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
  }

  .top-news .top-news__mobile-tabs button[aria-selected="true"]::after {
    content: "✓" !important;
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    color: #0788bf;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .2) !important;
    font-size: 13px;
  }
}

/* Mobile first-visit card: reset legacy positioning that could overlap the CTA. */
@media (max-width: 767px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "first-visit-photo"
      "first-visit-body"
      "first-visit-button" !important;
    width: calc(100% - 28px) !important;
    min-height: 0 !important;
    margin: 44px auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
    grid-area: first-visit-photo !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: clamp(190px, 53vw, 245px) !important;
    min-height: 190px !important;
    margin: 0 !important;
    opacity: 1 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 42% !important;
    opacity: 1 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    grid-area: first-visit-body !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 25px 20px 17px !important;
    transform: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    grid-area: first-visit-button !important;
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    min-height: 56px !important;
    margin: 0 20px 22px !important;
    padding: 13px 64px 13px 24px !important;
    transform: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button:hover {
    transform: none !important;
  }
}

.top-phone-contact__access-link {
  display: inline-flex;
  min-height: 46px;
  padding: 9px 24px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

@media (hover: hover) {
  .top-phone-contact__access-link:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, .18);
    transform: translateY(-2px);
  }
}

/* FV purpose navigation: keep the desktop rail visible while reducing its footprint. */
@media (min-width: 1100px) {
  .top-purpose-nav {
    right: 12px !important;
    width: 148px !important;
    padding: 9px !important;
    border-radius: 18px !important;
  }

  .top-purpose-nav__head > span {
    display: block !important;
    margin-bottom: 1px !important;
    font-size: 0.5rem !important;
  }

  .top-purpose-nav__head h2 {
    margin: 0 0 7px !important;
    font-size: 0.82rem !important;
  }

  .top-purpose-nav .hero-21 {
    gap: 5px !important;
  }

  .top-purpose-nav .hero-22 {
    grid-template-columns: 27px minmax(0, 1fr) 9px !important;
    gap: 6px !important;
    min-height: 55px !important;
    padding: 6px !important;
    border-radius: 11px !important;
  }

  .top-purpose-nav .hero-23 {
    width: 27px !important;
    height: 27px !important;
  }

  .top-purpose-nav .hero-23 svg {
    width: 18px !important;
    height: 18px !important;
  }

  .top-purpose-nav .hero-24 {
    font-size: 0.61rem !important;
    line-height: 1.3 !important;
  }

  .top-purpose-nav .hero-25 {
    font-size: 1rem !important;
  }
}

/* Desktop FV: tighten the two-line message and give clinical times priority. */
@media (min-width: 768px) {
  .hero-05 .hero-09 {
    top: clamp(12px, 2.5%, 22px) !important;
    padding-block: 5px 7px !important;
  }

  .hero-05 .hero-09 .static-hero-copy-text,
  .hero-05 .hero-09 .static-hero-char {
    font-size: clamp(2.35rem, 3.45vw, 3.25rem) !important;
    line-height: 0.92 !important;
  }

  .hero-05 .hero-10 + .hero-10 {
    margin-top: 2px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday {
    padding: 10px 16px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    padding-block: 5px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline b {
    font-size: 13px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline strong {
    font-size: 14.5px !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 0 8px !important;
    margin-top: 4px !important;
    padding: 5px 8px !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group .today-hours__group-label {
    grid-row: 1 / span 2;
    align-self: center;
  }

  .hero-05 > .today-hours .today-hours__reception-group .today-hours__reception,
  .hero-05 > .today-hours .today-hours__reception-group .today-hours__contact {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}

/* Access heading and parking caption refinement. */
@media (min-width: 768px) {
  .top-access__panel--map > h2 {
    position: relative;
    width: auto;
    min-height: 0 !important;
    margin-inline: auto !important;
    padding: 23px 0 13px !important;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    color: #0c536f;
    font-size: clamp(1.65rem, 2.1vw, 2.15rem) !important;
    letter-spacing: .1em;
  }

  .top-access__panel--map > h2::before {
    position: absolute;
    top: 1px;
    left: 50%;
    color: #159fd6;
    content: "ACCESS";
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .24em;
    transform: translateX(-50%);
  }

  .top-access__panel--map > h2::after {
    position: absolute;
    bottom: 4px;
    left: 50%;
    width: 48px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #078dcc, #5bc5e3);
    content: "";
    transform: translateX(-50%);
  }

  .top-access__panel--map > h2 svg {
    display: none;
  }

  .top-access__parking-photo figcaption {
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    justify-content: flex-start !important;
  }

  .top-access__parking-photo figcaption span {
    min-width: 0;
  }
}

/* Contact: use the desktop width to reduce the section height substantially. */
@media (min-width: 768px) {
  .top-phone-contact {
    min-height: 0 !important;
    padding: 24px clamp(24px, 4vw, 58px) !important;
  }

  .top-phone-contact__inner {
    display: grid !important;
    grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr) !important;
    grid-template-areas:
      "heading card"
      "heading link";
    align-items: center !important;
    justify-items: stretch !important;
    gap: 10px 30px !important;
    max-width: 1120px !important;
  }

  .top-phone-contact__heading {
    grid-area: heading;
    text-align: left;
  }

  .top-phone-contact .top-phone-contact__heading > span {
    min-height: 27px;
    padding: 4px 14px;
    font-size: .66rem;
  }

  .top-phone-contact__heading h2 {
    margin-top: 7px !important;
    font-size: clamp(1.55rem, 2.35vw, 2.15rem) !important;
    line-height: 1.25 !important;
  }

  .top-phone-contact__heading p {
    margin-top: 7px !important;
    font-size: .74rem !important;
    line-height: 1.5 !important;
  }

  .top-phone-contact .top-phone-contact__card {
    grid-area: card;
    width: 100% !important;
    padding: 10px 16px 11px !important;
    border-top-width: 4px !important;
  }

  .top-phone-contact .top-phone-contact__phone-link {
    width: 100% !important;
    min-height: 58px !important;
    padding: 8px 48px 8px 18px !important;
    border-radius: 15px !important;
  }

  .top-phone-contact .top-phone-contact__number strong {
    font-size: clamp(2rem, 3.45vw, 3rem) !important;
  }

  .top-phone-contact__fax {
    margin-top: 6px !important;
  }

  .top-phone-contact__fax strong {
    font-size: 1rem !important;
  }

  .top-phone-contact__hours {
    margin-top: 7px !important;
    padding-top: 7px !important;
    gap: 20px !important;
    font-size: .7rem !important;
  }

  .top-phone-contact a.top-phone-contact__access-link {
    grid-area: link;
    justify-self: center;
    min-height: 40px;
    padding: 7px 22px;
  }
}

@media (max-width: 767px) {
  .top-phone-contact {
    padding-block: 28px 34px !important;
  }

  .top-phone-contact__inner {
    gap: 13px !important;
  }
}

/* Contact: brighten the scene and keep the heading/CTA visually coherent. */
.top-phone-contact {
  border-block: 1px solid rgba(42, 164, 209, .24);
  background: #cfeefa !important;
}

.top-phone-contact::before {
  filter: saturate(.92) brightness(1.02) !important;
}

.top-phone-contact::after {
  background: linear-gradient(100deg, rgba(213, 240, 249, .88), rgba(174, 219, 237, .76)) !important;
}

.top-phone-contact__heading h2 {
  color: #075b86 !important;
  text-shadow: none !important;
  word-break: keep-all;
}

.top-phone-contact__heading p {
  color: #385f72 !important;
  opacity: 1 !important;
}

.top-phone-contact a.top-phone-contact__access-link {
  width: min(370px, 100%) !important;
  min-width: 0 !important;
  padding: 7px 9px 7px 20px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 30px !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #24afe1, #078bc9) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0, 125, 183, .2) !important;
}

.top-phone-contact a.top-phone-contact__access-link > .top-phone-contact__access-label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  font-size: .76rem !important;
  text-align: center;
}

.top-phone-contact a.top-phone-contact__access-link > .top-phone-contact__access-arrow {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 30px;
  height: 30px;
  padding: 0 !important;
  display: grid;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  color: #fff;
  font-size: 1rem !important;
  line-height: 1;
}

@media (min-width: 1100px) {
  .top-phone-contact__inner {
    grid-template-columns: minmax(450px, .95fr) minmax(0, 1.05fr) !important;
    max-width: 1280px !important;
  }

  .top-phone-contact__heading h2 {
    font-size: clamp(1.65rem, 2vw, 1.9rem) !important;
    white-space: nowrap;
  }
}

/* Access photos supplied by the clinic. */
.top-access__parking-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  height: 100%;
}

.top-access__parking-images img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.top-access__parking-images img:first-child {
  object-position: center bottom !important;
}

.top-access__parking-images img:last-child {
  object-position: center 94% !important;
}

@media (max-width: 767px) {
  .top-access__parking-images {
    grid-template-columns: 1fr;
  }

  .top-access__parking-images img:last-child {
    display: none;
  }
}

/* Contact-lens feature: replace stacked rounded cards with an editorial layout. */
.top-contact-feature--refresh .top-contact-feature__inner {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.top-contact-feature--refresh .top-contact-feature__hero {
  overflow: hidden;
  background: #fff;
}

.top-contact-feature--refresh .contact-support-list {
  gap: 0;
  border-block: 1px solid #d8eaf3;
}

.top-contact-feature--refresh .contact-support-list span {
  min-height: 64px;
  padding: 9px 14px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.top-contact-feature--refresh .contact-support-list span + span {
  border-left: 1px solid #d8eaf3 !important;
}

.top-contact-feature--refresh .top-contact-feature__grid {
  gap: 0 !important;
  padding: 18px 28px 0;
  border-top: 1px solid #d8eaf3;
  background: rgba(255, 255, 255, .72);
}

.top-contact-feature--refresh .top-contact-info {
  min-height: 126px;
  padding: 16px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.top-contact-feature--refresh .top-contact-info + .top-contact-info {
  border-top: 0 !important;
  border-left: 1px solid #d8eaf3 !important;
}

.top-contact-feature--refresh .contact-hours-panel {
  margin-top: 18px;
  border: 0 !important;
  border-left: 4px solid #168fd0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #e8f6fc, rgba(245, 251, 254, .9)) !important;
  box-shadow: none !important;
}

@media (min-width: 768px) {
  .top-contact-feature--refresh .top-contact-feature__photo {
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
  }
}

@media (max-width: 767px) {
  .top-contact-feature--refresh .top-contact-feature__hero {
    overflow: visible;
  }

  .top-contact-feature--refresh .contact-support-list {
    gap: 0;
  }

  .top-contact-feature--refresh .contact-support-list span:nth-child(odd) {
    border-right: 1px solid #d8eaf3 !important;
  }

  .top-contact-feature--refresh .contact-support-list span + span {
    border-left: 0 !important;
  }

  .top-contact-feature--refresh .contact-support-list span:nth-child(n + 3) {
    border-top: 1px solid #d8eaf3 !important;
  }

  .top-contact-feature--refresh .top-contact-feature__grid {
    gap: 0 !important;
    padding: 8px 14px 0;
  }

  .top-contact-feature--refresh .top-contact-info + .top-contact-info {
    border-top: 1px solid #d8eaf3 !important;
    border-left: 0 !important;
  }

  .top-contact-feature--refresh .contact-hours-panel {
    margin-inline: 14px;
  }
}

/* Thursday hours: align the afternoon label with the morning label. */
@media (min-width: 768px) {
  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr;
    align-content: start !important;
    justify-items: center !important;
    padding: 12px 8px !important;
    text-align: center !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday > .today-hours__session,
  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle > .today-hours__session {
    box-sizing: border-box;
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle > .today-hours__session {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center;
    margin-inline: auto;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle > .today-hours__time {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center;
    justify-self: center;
    width: max-content;
    white-space: nowrap;
    word-break: keep-all;
    writing-mode: horizontal-tb;
  }
}

/* FV record badge: smaller, lighter and tucked beside the purpose rail. */
@media (min-width: 768px) {
  .hero-05 > .hero-surgery-record {
    top: 20px !important;
    right: 28px !important;
    width: 184px !important;
    height: 184px !important;
    min-width: 184px !important;
    padding: 19px 17px !important;
    background: rgba(255, 255, 255, .6) !important;
    box-shadow: 0 10px 27px rgba(20, 88, 119, .11) !important;
    opacity: .92;
  }

  .hero-05 > .hero-surgery-record::before {
    inset: 5px;
  }

  .hero-05 > .hero-surgery-record > span {
    font-size: 10px !important;
  }

  .hero-05 > .hero-surgery-record > strong {
    margin-top: 3px !important;
    font-size: 15px !important;
  }

  .hero-05 > .hero-surgery-record > strong > b {
    font-size: 40px !important;
  }

  .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    margin-top: 5px !important;
    font-size: 8.5px !important;
    line-height: 1.35 !important;
  }
}

/* FV trust strip: settle closer to the lower-right edge. */
@media (min-width: 768px) {
  .hero-05 > .trust-strip--hero {
    right: clamp(24px, 3vw, 72px) !important;
    bottom: 56px !important;
  }
}

/* Hours CTA: balance icon, centered label and arrow in equal columns. */
.top-access__panel--hours .top-access__button {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px !important;
}

.top-access__panel--hours .top-access__button > svg {
  justify-self: center;
}

.top-access__panel--hours .top-access__button-label {
  justify-self: center;
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.top-access__panel--hours .top-access__button-arrow {
  justify-self: center;
  margin: 0 !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

/* Surgical results: remove the enclosing rounded card and separate each element editorially. */
@media (min-width: 768px) {
  .top-surgery-record {
    isolation: isolate;
    margin-top: 30px !important;
    padding: 28px 0 42px !important;
    border: 0 !important;
    border-bottom: 1px solid #d5e9f2 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .top-surgery-record::before {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 12%;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(225, 246, 253, .9), rgba(239, 249, 253, .35) 62%, transparent 70%);
    content: "";
    transform: translate(-50%, -50%);
  }

  .top-surgery-chart {
    border-left: 3px solid #27afe0;
    border-radius: 3px !important;
    background: linear-gradient(180deg, rgba(242, 251, 254, .92), rgba(231, 247, 252, .72)) !important;
    box-shadow: none !important;
  }

  .top-surgery-record__photo {
    border-radius: 0 !important;
    clip-path: polygon(7% 0, 100% 0, 100% 93%, 93% 100%, 0 100%, 0 7%);
    box-shadow: 0 14px 30px rgba(17, 79, 107, .13);
  }

  .top-surgery-record__photo img {
    object-position: center 57% !important;
  }

  .top-specialty__cards {
    margin-top: clamp(58px, 5vw, 78px) !important;
  }
}

/* Access gallery: show both supplied photos without covering them with the caption. */
.top-access__parking-photo {
  height: auto !important;
  background: #fff !important;
}

.top-access__parking-images {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 8px;
  height: clamp(230px, 18vw, 280px);
  padding: 8px;
}

.top-access__parking-images img {
  border-radius: 12px;
}

.top-access__parking-photo figcaption {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 50px;
  padding: 9px 16px !important;
  border: 0 !important;
  border-top: 1px solid #dbeaf1 !important;
  border-radius: 0 !important;
  background: #f8fcfe !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .top-access__parking-images {
    grid-template-columns: 1fr;
    height: 160px;
    padding: 5px;
  }

  .top-access__parking-images img {
    border-radius: 8px;
  }

  .top-access__parking-photo figcaption {
    min-height: 0;
    padding: 7px 10px !important;
  }
}

/* Contact band: remove the large white box and compose details directly on the scene. */
@media (min-width: 768px) {
  .top-phone-contact {
    padding-block: 30px !important;
    background: #bfe6f4 !important;
  }

  .top-phone-contact::before {
    filter: saturate(.95) brightness(1.02) !important;
  }

  .top-phone-contact::after {
    background: linear-gradient(96deg, rgba(215, 242, 250, .92) 0%, rgba(201, 234, 246, .82) 48%, rgba(155, 207, 228, .68) 100%) !important;
  }

  .top-phone-contact__inner {
    grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr) !important;
    gap: 9px clamp(44px, 5vw, 76px) !important;
  }

  .top-phone-contact__heading {
    padding-right: 26px;
    border-right: 1px solid rgba(8, 118, 169, .2);
  }

  .top-phone-contact .top-phone-contact__card {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .top-phone-contact .top-phone-contact__phone-link {
    width: min(610px, 100%) !important;
    min-height: 68px !important;
    margin-inline: auto;
    border: 1px solid rgba(75, 174, 214, .5) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 12px 30px rgba(17, 93, 126, .13) !important;
  }

  .top-phone-contact .top-phone-contact__phone-link::after {
    right: 13px;
    background: #159bd3;
    color: #fff;
  }

  .top-phone-contact__fax {
    color: #0875aa !important;
  }

  .top-phone-contact__hours {
    border-top-color: rgba(24, 130, 175, .24) !important;
    color: #27566b !important;
  }

  .top-phone-contact a.top-phone-contact__access-link {
    width: min(330px, 100%) !important;
    min-height: 42px !important;
    margin-top: 5px;
  }
}

@media (min-width: 1100px) {
  .top-phone-contact__inner {
    grid-template-columns: minmax(440px, .92fr) minmax(520px, 1.08fr) !important;
  }
}

/* Recruitment: communicate team culture and next actions at a glance. */
.top-recruit-link > .top-recruit-link__inner {
  position: relative;
  min-height: 310px;
  padding: clamp(34px, 4vw, 54px) clamp(30px, 5vw, 68px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  border-radius: 22px;
}

.top-recruit-link > .top-recruit-link__inner::after {
  background: linear-gradient(90deg, rgba(3, 64, 113, .95) 0%, rgba(4, 91, 146, .86) 43%, rgba(0, 130, 190, .35) 76%, rgba(0, 143, 209, .14) 100%) !important;
}

.top-recruit-link__copy {
  position: relative;
  z-index: 1;
  max-width: 780px;
}

.top-recruit-link__eyebrow {
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 13px;
}

.top-recruit-link__eyebrow > span {
  color: #fff !important;
  font-size: .72rem !important;
  opacity: .85 !important;
}

.top-recruit-link__eyebrow > b {
  padding: 5px 10px;
  border-radius: 999px;
  background: #d8f36f;
  color: #134e69;
  font-size: .6rem;
  line-height: 1;
  letter-spacing: .13em;
}

.top-recruit-link__copy h2 {
  margin-top: 13px !important;
  font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
  line-height: 1.28 !important;
}

.top-recruit-link__lead {
  margin-top: 12px !important;
  color: rgba(255, 255, 255, .9);
  font-size: .84rem;
  line-height: 1.7;
}

.top-recruit-link__topics {
  margin: 17px 0 0;
  padding: 0;
  display: flex;
  gap: 8px;
  list-style: none;
}

.top-recruit-link__topics li {
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 999px;
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
}

.top-recruit-link__copy > a {
  min-height: 48px;
  margin-top: 20px !important;
  padding: 9px 10px 9px 22px !important;
  display: inline-grid !important;
  grid-template-columns: auto 30px;
  align-items: center;
  gap: 15px;
  box-shadow: 0 12px 28px rgba(0, 38, 70, .2);
}

.top-recruit-link__copy > a > span {
  color: #075ca5 !important;
  font-size: .78rem !important;
  letter-spacing: .02em !important;
  opacity: 1 !important;
}

.top-recruit-link__copy > a > b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0a94cf;
  color: #fff;
  font-size: 1.1rem;
}

.top-recruit-link__message {
  position: relative;
  z-index: 1;
  align-self: end;
  margin: 0 0 4px !important;
  padding: 13px 17px;
  display: grid;
  gap: 4px;
  border-left: 3px solid #d8f36f;
  background: rgba(4, 65, 102, .46);
  color: #fff;
  backdrop-filter: blur(5px);
}

.top-recruit-link__message strong {
  font-size: .86rem;
}

.top-recruit-link__message span {
  color: rgba(255, 255, 255, .82) !important;
  font-size: .65rem !important;
  letter-spacing: .02em !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  .top-recruit-link > .top-recruit-link__inner {
    min-height: 360px;
    padding: 26px 20px !important;
    grid-template-columns: 1fr;
    align-content: end;
    gap: 16px;
  }

  .top-recruit-link > .top-recruit-link__inner::after {
    background: linear-gradient(180deg, rgba(3, 67, 113, .22), rgba(3, 67, 113, .92) 58%, rgba(3, 67, 113, .97)) !important;
  }

  .top-recruit-link__copy h2 {
    font-size: 1.55rem !important;
  }

  .top-recruit-link__topics {
    flex-wrap: wrap;
  }

  .top-recruit-link__message {
    display: none;
  }
}

/* FV opening sequence: photo, today's hours, key messages, then purpose navigation. */
@keyframes fv-intro-reveal {
  0% {
    opacity: 0;
    filter: blur(5px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes fv-intro-record-reveal {
  0% {
    opacity: 0;
    filter: blur(5px);
  }

  100% {
    opacity: .92;
    filter: blur(0);
  }
}

@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .fv-intro-sequence > .today-hours,
  .fv-intro-sequence > .hero-09,
  .fv-intro-sequence > .trust-strip--hero,
  .fv-intro-sequence > .hero-surgery-record,
  .fv-intro-sequence > .hero-13,
  .fv-intro-purpose {
    opacity: 0;
    will-change: opacity, filter;
  }

  .fv-intro-sequence.is-fv-intro-running > .today-hours {
    animation: fv-intro-reveal .52s cubic-bezier(.2, .72, .2, 1) .18s both;
  }

  .fv-intro-sequence.is-fv-intro-running > .hero-09 {
    animation: fv-intro-reveal 2.8s cubic-bezier(.16, .68, .22, 1) .92s both;
  }

  .fv-intro-sequence.is-fv-intro-running > .trust-strip--hero {
    animation: fv-intro-reveal 2.8s cubic-bezier(.16, .68, .22, 1) .92s both;
  }

  .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record {
    animation: fv-intro-record-reveal 2.8s cubic-bezier(.16, .68, .22, 1) .92s both;
  }

  .fv-intro-sequence.is-fv-intro-running > .hero-13 {
    animation: fv-intro-reveal .8s ease 3.58s both;
  }

  .fv-intro-purpose.is-fv-intro-running {
    animation: fv-intro-reveal 1s cubic-bezier(.2, .68, .2, 1) 4.05s both;
  }

  .fv-intro-sequence.is-fv-intro-complete > .today-hours,
  .fv-intro-sequence.is-fv-intro-complete > .hero-09,
  .fv-intro-sequence.is-fv-intro-complete > .trust-strip--hero,
  .fv-intro-sequence.is-fv-intro-complete > .hero-13,
  .fv-intro-purpose.is-fv-intro-complete {
    animation: none !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .fv-intro-sequence.is-fv-intro-complete > .hero-surgery-record {
    animation: none !important;
    opacity: .92 !important;
    filter: none !important;
  }
}

/* Desktop FV placement: align the two utility panels on a calmer lower axis. */
@media (min-width: 1100px) {
  .hero-01 {
    padding-top: 32px !important;
  }

  .hero-01,
  .hero-02,
  .hero-05 {
    overflow: visible !important;
  }

  .hero-05 > .hero-06 {
    overflow: hidden !important;
    border-radius: inherit;
  }

  .hero-05 > .today-hours {
    left: -36px !important;
    bottom: 36px !important;
    width: min(600px, calc(100% - 8px)) !important;
    max-width: 600px !important;
  }

  .top-purpose-nav {
    top: 61% !important;
  }
}

/* Today's hours: give the afternoon closure column more breathing room. */
@media (min-width: 768px) {
  .hero-05 > .today-hours .today-hours__thursday {
    grid-template-columns: minmax(0, 1fr) 132px !important;
  }
}

/* FV surgery record: emphasize it slightly and tuck it into the upper-right. */
@media (min-width: 1100px) {
  .hero-05 > .hero-surgery-record {
    top: 8px !important;
    right: 12px !important;
    transform: scale(1.1) !important;
    transform-origin: top right;
  }
}

/* Mobile home: compact tabs for news and columns. */
.top-news__mobile-tabs,
.top-news__mobile-list-link {
  display: none;
}

@media (max-width: 767px) {
  .top-news {
    padding: 46px 16px 52px !important;
    background: #fff !important;
  }

  .top-news::before,
  .top-news::after,
  .top-news > .top-news__pixel {
    display: none !important;
  }

  .top-news .top-news__inner {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .top-news .top-news__mobile-tabs {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #1598ce;
  }

  .top-news__mobile-tabs button {
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid #78cae8;
    border-radius: 15px 15px 5px 5px;
    color: #087daf;
    background: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 850;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
  }

  .top-news__mobile-tabs button[aria-selected="true"] {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #2cb6e3, #078dcc);
    box-shadow: 0 10px 22px rgba(0, 137, 204, .2);
  }

  .top-news__mobile-tabs button:focus-visible {
    outline: 3px solid rgba(0, 143, 209, .24);
    outline-offset: 2px;
  }

  .top-news .top-news__inner > .top-news__side {
    display: none !important;
  }

  .top-news .top-news__body {
    display: block !important;
  }

  .top-news .top-news__block,
  .top-news .top-news__block--columns {
    display: block !important;
    margin: 0 !important;
  }

  .top-news .top-news__block[hidden] {
    display: none !important;
  }

  .top-news .top-news__block-head,
  .top-news .top-news__side--columns {
    display: none !important;
  }

  .top-news .top-notice-list {
    border-top: 0 !important;
  }

  .top-news .top-notice-row {
    border-color: #c7e7f3 !important;
    background: #fff !important;
  }

  .top-news .top-notice-row:nth-child(even) {
    background: #f4f9fb !important;
  }

  .top-news .top-news__mobile-list-link,
  .top-news .top-news__button--below {
    display: flex !important;
    width: 100% !important;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 22px 0 0 !important;
    padding: 12px 18px !important;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #2cb6e3, #078dcc);
    box-shadow: 0 10px 24px rgba(0, 137, 204, .18);
    font-size: 14px !important;
    font-weight: 850;
    text-decoration: none;
  }

  .top-news__mobile-list-link span {
    font-size: 1.35rem;
    line-height: 1;
  }

  .top-news .top-column-swiper {
    overflow: hidden !important;
  }

  .top-news .top-column-scrollbar {
    margin-top: 18px !important;
  }
}

/* Mobile NEWS / COLUMN switcher: unmistakable state and compact column cards. */
@media (max-width: 767px) {
  .top-news .top-news__mobile-tabs {
    gap: 6px !important;
    margin-bottom: 28px !important;
    padding: 5px !important;
    border: 1px solid #c8e7f3 !important;
    border-radius: 18px !important;
    background: #eef8fc !important;
    box-shadow: inset 0 1px 3px rgba(17, 95, 129, .07);
  }

  .top-news__mobile-tabs button {
    position: relative;
    min-height: 54px !important;
    padding: 10px 32px 10px 12px !important;
    border: 0 !important;
    border-radius: 13px !important;
    color: #507080 !important;
    background: transparent !important;
    transition: transform .26s ease, background-color .26s ease, color .26s ease, box-shadow .26s ease !important;
  }

  .top-news__mobile-tabs button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    transform: translateY(-50%);
    border: 2px solid #7fc8e4;
    border-radius: 50%;
    background: #fff;
    transition: width .26s ease, height .26s ease, border-color .26s ease, background-color .26s ease;
  }

  .top-news__mobile-tabs button[aria-selected="true"] {
    color: #fff !important;
    background: linear-gradient(135deg, #2cb6e3, #078dcc) !important;
    box-shadow: 0 9px 19px rgba(0, 137, 204, .24) !important;
    transform: translateY(-2px);
  }

  .top-news__mobile-tabs button[aria-selected="true"]::after {
    width: 10px;
    height: 10px;
    border: 3px solid rgba(255, 255, 255, .65);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .18);
  }

  .top-column-section {
    display: none !important;
  }

  .top-news .top-news__block:not([hidden]) {
    animation: top-news-tab-enter .42s cubic-bezier(.22, 1, .36, 1) both;
  }

  @keyframes top-news-tab-enter {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .top-news .top-news__block--mobile-source .top-news__column-content {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .top-news .top-news__block--mobile-source .top-column-swiper {
    overflow: visible !important;
  }

  .top-news .top-news__block--mobile-source .swiper-wrapper {
    display: grid !important;
    height: auto !important;
    gap: 10px;
    transform: none !important;
  }

  .top-news .top-news__block--mobile-source .top-column-card {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  .top-news .top-news__block--mobile-source .top-column-card:nth-child(n + 4) {
    display: none !important;
  }

  .top-news .top-news__block--mobile-source .top-column-card > a {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 7px 14px;
    min-height: 104px;
    padding: 10px !important;
    border: 1px solid #cce7f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(20, 91, 122, .06);
  }

  .top-news .top-news__block--mobile-source .top-column-card:nth-child(even) > a {
    background: #f3f9fc;
  }

  .top-news .top-news__block--mobile-source .top-column-card img {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 112px !important;
    height: 82px !important;
    aspect-ratio: auto !important;
    border-radius: 11px !important;
    object-fit: cover;
  }

  .top-news .top-news__block--mobile-source .top-column-card__meta {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    gap: 8px !important;
    margin: 0 !important;
    color: #607986 !important;
    font-size: 10px !important;
  }

  .top-news .top-news__block--mobile-source .top-column-card__meta span {
    padding: 3px 8px !important;
    color: #087eaf !important;
    background: #e3f5fb !important;
    font-size: 10px !important;
  }

  .top-news .top-news__block--mobile-source .top-column-card h4 {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0 !important;
    color: #173f52 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .top-news .top-news__block--mobile-source .top-column-scrollbar {
    display: none !important;
  }
}

@media (min-width: 768px) {
  #news .top-news__block--mobile-source {
    display: none !important;
  }
}

/* Mobile news heading and tighter two-line notice rows. */
.top-news__mobile-heading {
  display: none;
}

@media (max-width: 767px) {
  .top-news .top-news__mobile-heading {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 22px;
    padding: 0 0 16px 4px;
    text-align: left;
  }

  .top-news .top-news__mobile-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 4px;
    width: 64px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #18a8da 0 40%, #80c84f 40% 62%, #f3ac3d 62% 81%, #e971a4 81%);
  }

  .top-news .top-news__mobile-heading > span {
    display: block;
    margin-bottom: 5px;
    color: #1598ce;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .2em;
  }

  .top-news .top-news__mobile-heading h2 {
    margin: 0;
    color: #123f55;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: .025em;
    line-height: 1.35;
  }

  .top-news .top-news__mobile-heading h2 i {
    display: inline-block;
    margin: 0 .18em;
    color: #80c9e4;
    font-style: normal;
    font-weight: 500;
  }

  .top-news .top-news__mobile-tabs {
    margin-bottom: 20px !important;
  }

  .top-news .top-notice-row {
    grid-template-columns: auto minmax(0, 1fr) 42px !important;
    grid-template-rows: auto auto !important;
    gap: 5px 9px !important;
    min-height: 82px !important;
    padding: 11px 6px 11px 8px !important;
  }

  .top-news .top-notice-row__category {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center;
    margin: 0 !important;
    white-space: nowrap;
  }

  .top-news .top-notice-row time {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center;
    margin: 0 !important;
    color: #59707b !important;
    font-size: 10px !important;
  }

  .top-news .top-notice-row strong {
    grid-column: 1 / span 2 !important;
    grid-row: 2 !important;
    align-self: start;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .top-news .top-notice-row__arrow {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    width: 38px !important;
    height: 38px !important;
  }
}

/* Mobile important notice: the same compact two-line rhythm as the news list. */
@media (max-width: 767px) {
  .top-important-notice {
    border-radius: 17px !important;
  }

  .top-important-notice > .top-important-notice__trigger {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 38px !important;
    grid-template-rows: auto auto !important;
    gap: 7px 10px !important;
    min-height: 78px !important;
    padding: 10px 9px 10px 11px !important;
    text-align: left !important;
  }

  .top-important-notice > .top-important-notice__trigger > strong {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center;
    justify-self: start;
    padding: 6px 11px !important;
    border: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .top-important-notice > .top-important-notice__trigger > time {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center;
    justify-self: start !important;
    margin: 0 !important;
    color: #bf3434 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .top-important-notice > .top-important-notice__trigger > span {
    grid-column: 1 / span 2 !important;
    grid-row: 2 !important;
    align-self: center;
    min-width: 0;
    margin: 0 !important;
    overflow: visible;
    color: #bd2929 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-overflow: clip;
    white-space: normal !important;
  }

  .top-important-notice > .top-important-notice__trigger > b {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    width: 32px !important;
    height: 32px !important;
    color: #fff !important;
    background: #e63c3f !important;
  }
}

@media (max-width: 767px) {
  .hero-05 > .today-hours .today-hours__timeline {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding-block: 2px !important;
  }

  .hero-05 > .today-hours .today-hours__timeline b,
  .hero-05 > .today-hours .today-hours__timeline strong {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .hero-05 > .today-hours {
    padding: 10px 10px 9px !important;
  }

  .hero-05 > .today-hours .today-hours__head {
    min-height: 27px !important;
    margin-bottom: 6px !important;
  }

  .hero-05 > .today-hours .today-hours__label {
    font-size: 15px !important;
  }

  .hero-05 > .today-hours .today-hours__date {
    padding: 3px 7px !important;
    font-size: 10.5px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    gap: 6px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding: 7px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-thursday > .today-hours__session {
    font-size: 10.5px !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group {
    padding: 4px 6px !important;
  }

  .hero-05 > .today-hours .today-hours__reception-group .today-hours__reception,
  .hero-05 > .today-hours .today-hours__reception-group .today-hours__contact {
    font-size: 9.5px !important;
    line-height: 1.4 !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__session {
    font-size: 10.5px !important;
  }

  .hero-05 > .today-hours .today-hours__thursday > .is-closed-subtle .today-hours__time {
    font-size: 14px !important;
  }

  .hero-05 > .today-hours .today-hours__note,
  .hero-05 > .today-hours .today-hours__note--thursday {
    margin-top: 4px !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
  }

  .hero-05 > .today-hours .today-hours__link {
    min-height: 32px !important;
    height: 32px !important;
    margin-top: 6px !important;
    font-size: 11.5px !important;
  }
}

/* Mobile first-visit card: preserve all guidance at roughly half the height. */
@media (max-width: 767px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo {
    grid-template-rows: 138px auto auto !important;
    margin-block: 34px !important;
    border-radius: 22px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
    height: 138px !important;
    min-height: 138px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    height: 138px !important;
    object-position: center 39% !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    padding: 15px 15px 11px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow {
    gap: 8px !important;
    margin-bottom: 5px !important;
    font-size: 8px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow::before {
    width: 28px !important;
    height: 5px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo h2 {
    font-size: clamp(20px, 5.8vw, 25px) !important;
    line-height: 1.25 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
    gap: 7px !important;
    margin: 9px 0 !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__lead > span {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px !important;
    font-size: 12px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 7px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    padding: 9px !important;
    border-radius: 11px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title {
    gap: 6px !important;
    margin-bottom: 5px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title > span {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title svg {
    width: 14px !important;
    height: 14px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title strong {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li {
    padding-left: 11px !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li::before {
    width: 4px;
    height: 4px;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff-label {
    margin: 2px 0 3px 31px !important;
    font-size: 8px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    margin-left: 31px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff span {
    gap: 3px !important;
    font-size: 8.5px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff strong {
    font-size: 13px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    min-height: 46px !important;
    margin: 0 15px 15px !important;
    padding-block: 9px !important;
    font-size: 13px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button > span {
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 21px !important;
  }
}

/* Mobile access: one continuous information panel instead of nested boxes. */
@media (max-width: 767px) {
  body .page-01 #access .top-access__panel--map {
    padding: 12px 10px 14px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #fff 0%, #f7fcfe 100%) !important;
    box-shadow: 0 8px 24px rgba(19, 91, 123, .08) !important;
  }

  body .page-01 #access .top-access__panel--map > h2 {
    justify-content: flex-start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 4px 9px !important;
    border: 0 !important;
    border-bottom: 1px solid #d8edf5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 20px !important;
  }

  body .page-01 #access .top-access__panel--map > h2 svg {
    width: 20px !important;
    height: 20px !important;
  }

  body .page-01 #access .top-access__parking-photo {
    height: auto !important;
    margin: 9px 0 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #eef8fc !important;
    box-shadow: none !important;
  }

  body .page-01 #access .top-access__parking-images {
    grid-template-columns: 1fr 1fr !important;
    gap: 3px !important;
    height: 106px !important;
    padding: 0 !important;
  }

  body .page-01 #access .top-access__parking-images img {
    height: 106px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 30px !important;
    padding: 6px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #edf8fc !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption strong {
    flex: 0 0 auto !important;
    font-size: 11px !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #507788 !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .page-01 #access .top-access__map-grid {
    gap: 0 !important;
    margin-top: 9px !important;
  }

  body .page-01 #access .top-access__map,
  body .page-01 #access .top-access__map iframe {
    height: 128px !important;
    min-height: 128px !important;
    border-radius: 11px !important;
  }

  body .page-01 #access .top-access__info {
    margin-top: 6px !important;
  }

  body .page-01 #access .top-access__info dl {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 12px !important;
    margin: 0 !important;
    border-top: 1px solid #d8edf5 !important;
  }

  body .page-01 #access .top-access__info dl > div {
    min-height: 0 !important;
    padding: 7px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #d8edf5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .page-01 #access .top-access__info dl > div:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  body .page-01 #access .top-access__info dl > div:nth-child(4) {
    display: none !important;
  }

  body .page-01 #access .top-access__info dt {
    margin-bottom: 2px !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 9px !important;
  }

  body .page-01 #access .top-access__info dd,
  body .page-01 #access .top-access__info dd a,
  body .page-01 #access .top-access__info small {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body .page-01 #access .top-access__info a[href^="tel:"] {
    font-size: 13px !important;
  }

  body .page-01 #access .top-access__info .top-access__button {
    min-height: 40px !important;
    height: 40px !important;
    margin-top: 8px !important;
  }
}

/* Mobile contact-lens guide: rebalance image, copy, hours, and CTA. */
@media (max-width: 767px) {
  body .page-01 #contact-lens-care {
    padding: 24px 12px !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__inner {
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid #d5ebf4 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(21, 87, 117, .09) !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__hero {
    padding: 15px 15px 0 !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__label {
    margin-bottom: 7px !important;
    padding: 7px 15px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  body .page-01 #contact-lens-care h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    letter-spacing: .02em !important;
  }

  body .page-01 #contact-lens-care h3 {
    margin: 5px 0 10px !important;
    color: #387188 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__photo {
    width: 100% !important;
    height: 156px !important;
    min-height: 156px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__photo img {
    width: 100% !important;
    height: 156px !important;
    object-fit: cover !important;
    object-position: center 40% !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__lead {
    margin: 8px 0 0 !important;
    padding: 8px 10px !important;
    border-left: 3px solid #2caedf !important;
    border-radius: 0 8px 8px 0 !important;
    background: #f0f9fd !important;
    color: #31596b !important;
    font-size: 10.5px !important;
    line-height: 1.5 !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    width: auto !important;
    margin: 10px 15px 0 !important;
    padding: 11px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: linear-gradient(145deg, #eef9fd, #f8fcfe) !important;
    box-shadow: none !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel__title {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 0 2px !important;
    padding: 0 0 7px !important;
    border-bottom: 1px solid #cde7f2 !important;
    text-align: center !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel__title > span {
    flex: 0 0 auto !important;
    font-size: 17px !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel__title strong {
    width: auto !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel__title br {
    display: none !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel > div:not(.contact-hours-panel__title) {
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    justify-content: center !important;
    align-items: baseline !important;
    gap: 4px !important;
    min-height: 52px !important;
    padding: 9px 6px !important;
    border: 1px solid #d5ebf4 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel > div > b {
    padding: 3px 6px !important;
    border-radius: 6px !important;
    font-size: 9px !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel > div:not(.contact-hours-panel__title) > strong {
    color: #de3d3d !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel > div > small {
    font-size: 9px !important;
  }

  body .page-01 #contact-lens-care .contact-hours-panel > p {
    grid-column: 1 / -1 !important;
    margin: 1px 0 0 !important;
    color: #62808e !important;
    font-size: 8.5px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  body .page-01 #contact-lens-care .mobile-section-link {
    width: auto !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 9px 15px 15px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
  }
}

/* Mobile fixed actions: slimmer, clearer two-button control. */
@media (max-width: 767px) {
  body .mobile-quick-actions {
    right: 8px !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 7px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body .mobile-quick-actions__phone-wrap,
  body .mobile-quick-actions__phone-wrap > a,
  body .mobile-hours-toggle {
    height: 44px !important;
    min-height: 44px !important;
  }

  body .mobile-quick-actions__phone-wrap > a,
  body .mobile-hours-toggle {
    border-radius: 999px !important;
    box-shadow: 0 5px 14px rgba(3, 72, 111, .2), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
  }

  body .mobile-quick-actions__phone-wrap > a {
    gap: 7px !important;
    padding: 5px 12px !important;
    border: 1px solid #057ab9 !important;
    background: linear-gradient(135deg, #13a9e1, #0573b5) !important;
  }

  body .mobile-quick-actions__phone-wrap > a::after,
  body .mobile-quick-actions__bubble,
  body .mobile-hours-toggle__hint,
  body .mobile-quick-actions__phone-copy small {
    display: none !important;
    content: none !important;
  }

  body .mobile-quick-actions__phone-wrap > a svg,
  body .mobile-hours-toggle > svg {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
  }

  body .mobile-quick-actions__phone-copy strong {
    font-size: clamp(13px, 3.9vw, 16px) !important;
    line-height: 1 !important;
  }

  body .mobile-hours-toggle {
    grid-template-columns: 19px minmax(0, 1fr) 20px !important;
    gap: 5px !important;
    padding: 5px 9px !important;
    border: 1.5px solid #159fd3 !important;
    background: rgba(255, 255, 255, .98) !important;
  }

  body .mobile-hours-toggle__copy {
    display: block !important;
    text-align: center !important;
  }

  body .mobile-hours-toggle__copy strong {
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body .mobile-hours-toggle__chevron {
    width: 20px !important;
    height: 20px !important;
  }

  body .mobile-hours-toggle__chevron::after {
    width: 5px !important;
    height: 5px !important;
  }

  body .mobile-quick-actions__phone-wrap > a:active,
  body .mobile-hours-toggle:active {
    transform: translateY(1px) scale(.98) !important;
  }
}

/* Mobile clinic features: scan all six items in a balanced two-column grid. */
/* Mobile hours CTA: pair the clock with its label and point toward the rising sheet. */
@media (max-width: 767px) {
  body .mobile-hours-toggle {
    position: relative !important;
    grid-template-columns: 1fr auto auto 1fr !important;
    column-gap: 6px !important;
  }

  body .mobile-hours-toggle > svg {
    grid-column: 2 !important;
    justify-self: end !important;
  }

  body .mobile-hours-toggle__copy {
    grid-column: 3 !important;
    justify-self: start !important;
    text-align: left !important;
  }

  body .mobile-hours-toggle__chevron {
    position: absolute !important;
    top: 50% !important;
    right: 9px !important;
    transform: translateY(-50%) !important;
  }

  body .mobile-hours-toggle__chevron::after {
    margin-top: 3px !important;
    transform: rotate(225deg) !important;
  }

  body .mobile-hours-toggle[aria-expanded="true"] .mobile-hours-toggle__chevron {
    transform: translateY(-50%) rotate(180deg) !important;
  }
}

/* Mobile clinic features: scan all six items in a balanced two-column grid. */
@media (max-width: 767px) {
  body .page-01 .feature-01 {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body .page-01 .feature-01 .feature-02 {
    width: 100% !important;
    max-width: none !important;
  }

  body .page-01 .feature-05 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
    margin-top: 16px !important;
  }

  body .page-01 .feature-06,
  body .page-01 .feature-06:nth-child(n + 5) {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #cfe7f1 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 6px 16px rgba(20, 91, 124, .07) !important;
  }

  body .page-01 .feature-06 .feature-07,
  body .page-01 .feature-06:nth-child(n + 5) .feature-07 {
    display: block !important;
    flex: 0 0 104px !important;
    width: 100% !important;
    height: 104px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  body .page-01 .feature-06 .feature-07 img,
  body .page-01 .feature-06 .feature-08 {
    display: block !important;
    width: 100% !important;
    height: 104px !important;
    object-fit: cover !important;
  }

  body .page-01 .feature-06 .feature-09,
  body .page-01 .feature-06:nth-child(n + 5) .feature-09 {
    margin: 10px 10px 0 !important;
    color: #087fbc !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }

  body .page-01 .feature-06 .feature-10 {
    margin-right: 3px !important;
    font-size: 12px !important;
  }

  body .page-01 .feature-06 .feature-11,
  body .page-01 .feature-06:nth-child(n + 5) .feature-11 {
    flex: 1 1 auto !important;
    margin: 5px 10px 11px !important;
    color: #5b7481 !important;
    font-size: 10.5px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  body .page-01 .feature-12 {
    margin-top: 15px !important;
  }
}

/* FV photo set 2026: keep each subject legible beneath the fixed message lockup. */
body .page-01 .hero-05 > .hero-06[data-hero-kind="exterior-wide"] img {
  object-position: 66% 50% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] img {
  object-position: 50% 37% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="clinic-interior"] img {
  object-position: 58% 50% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="director"] img {
  object-position: 48% 30% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="consultation-adult"] img {
  object-position: 67% 45% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="consultation-child"] img {
  object-position: 48% 45% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="child-exam"] img {
  object-position: 35% 48% !important;
}

body .page-01 .hero-05 > .hero-06[data-hero-kind="aftercare"] img {
  object-position: 55% 43% !important;
}

@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-06[data-hero-kind] img {
    object-fit: cover !important;
    filter: none !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind]::before {
    content: none !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="exterior-wide"] img {
    object-position: 68% 50% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] img {
    object-position: 48% 42% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="clinic-interior"] img {
    object-position: 60% 50% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="director"] img {
    object-position: 50% 30% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="consultation-adult"] img {
    object-position: 66% 46% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="consultation-child"] img {
    object-position: 47% 48% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="child-exam"] img {
    object-position: 35% 50% !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="aftercare"] img {
    object-position: 55% 45% !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    object-position: 52% 12% !important;
  }
}

/* Mobile clinic gallery: move beneath Recruit and present it as a clear swipe section. */
@media (max-width: 767px) {
  body .page-01 #gallery.top-gallery {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 !important;
    padding: 38px 0 46px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 93% 5%, rgba(83, 198, 230, .16) 0 64px, transparent 65px),
      linear-gradient(180deg, #f6fcfe 0%, #eaf8fc 100%) !important;
  }

  body .page-01 #gallery .top-gallery__head {
    position: relative !important;
    display: block !important;
    width: calc(100% - 36px) !important;
    margin: 0 auto 18px !important;
    padding: 0 0 12px 15px !important;
    border-left: 4px solid #19a9d9 !important;
    text-align: left !important;
  }

  body .page-01 #gallery .top-gallery__head::before {
    display: block !important;
    margin-bottom: 5px !important;
    color: #28a8d4 !important;
    content: "INSIDE THE CLINIC" !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .22em !important;
  }

  body .page-01 #gallery .top-gallery__head::after {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 8px !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .8) !important;
    color: #488096 !important;
    content: "←  左右にスワイプ  →" !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
  }

  body .page-01 #gallery .top-gallery__head h2 {
    margin: 0 !important;
    color: #075d88 !important;
    font-size: 23px !important;
    line-height: 1.3 !important;
    letter-spacing: .08em !important;
  }

  body .page-01 #gallery .top-gallery__head p {
    margin: 7px 0 0 !important;
    color: #527481 !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
  }

  body .page-01 #gallery .top-gallery__stage {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .page-01 #gallery .top-gallery__swiper {
    width: 100% !important;
    padding: 0 0 5px !important;
    overflow: visible !important;
  }

  body .page-01 #gallery .top-gallery__slide {
    width: min(78vw, 310px) !important;
    height: 190px !important;
    overflow: hidden !important;
    border: 4px solid #fff !important;
    border-radius: 17px 17px 17px 5px !important;
    background: #dceef5 !important;
    box-shadow: 0 12px 28px rgba(10, 81, 112, .16) !important;
  }

  body .page-01 #gallery .top-gallery__slide img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 13px 13px 13px 2px !important;
    object-fit: cover !important;
  }

  body .page-01 #gallery .top-gallery__pagination.swiper-pagination {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-top: 17px !important;
  }

  body .page-01 #gallery .top-gallery__pagination .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    margin: 0 !important;
    border-radius: 99px !important;
    background: #82cde6 !important;
    opacity: .45 !important;
    transition: width .25s ease, opacity .25s ease !important;
  }

  body .page-01 #gallery .top-gallery__pagination .swiper-pagination-bullet-active {
    width: 24px !important;
    background: #0795ce !important;
    opacity: 1 !important;
  }
}

/* Mobile FV copy: align the message to the right and lower it over the photo. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09 {
    top: calc(var(--mobile-fv-photo-height) - 198px) !important;
    right: 8px !important;
    left: auto !important;
    width: min(278px, calc(100% - 42px)) !important;
    padding-right: 4px !important;
    text-align: right !important;
  }

  body .page-01 .hero-05 .hero-09::before {
    right: 8px !important;
    left: auto !important;
  }

  body .page-01 .hero-05 .hero-09 .hero-10 {
    width: 100% !important;
    text-align: right !important;
  }

  body .page-01 .hero-05 .hero-09 .static-hero-copy-text {
    display: inline-block !important;
    width: auto !important;
    text-align: right !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 80px) !important;
    right: 8px !important;
    left: auto !important;
    text-align: right !important;
  }
}

/* Mobile FV: pair the message with a richer surgery credential and frame the photography. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09 {
    width: min(252px, calc(100% - 132px)) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    top: calc(var(--mobile-fv-photo-height) - 198px) !important;
    right: auto !important;
    left: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 110px !important;
    min-width: 110px !important;
    height: 108px !important;
    min-height: 108px !important;
    padding: 12px 8px 9px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .96) !important;
    border-top: 3px solid #18addb !important;
    border-radius: 19px 6px 19px 6px !important;
    background:
      radial-gradient(circle at 88% 12%, rgba(69, 202, 232, .3), transparent 34%),
      linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(217, 243, 253, .88)) !important;
    box-shadow:
      0 14px 30px rgba(3, 73, 107, .22),
      inset 0 0 0 3px rgba(255, 255, 255, .42) !important;
    backdrop-filter: blur(9px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(9px) saturate(1.12) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record::before {
    inset: 5px !important;
    border-color: rgba(12, 146, 197, .22) !important;
    border-radius: 15px 3px 15px 3px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > span {
    position: relative;
    z-index: 1;
    color: #0a658e !important;
    font-size: 7px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .08em !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong {
    position: relative;
    z-index: 1;
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 2px !important;
    margin: 3px 0 2px !important;
    color: #075d8d !important;
    font-size: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong > b {
    color: #087fbd !important;
    font-size: 29px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.06em !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, .8) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    position: relative;
    z-index: 1;
    display: block !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    color: #497486 !important;
    font-size: 6.5px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record .hero-surgery-record__breakdown {
    display: none !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record .hero-surgery-record__period {
    padding-top: 3px !important;
    border-top-color: rgba(7, 89, 149, .16) !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind] {
    border: 1px solid rgba(255, 255, 255, .84) !important;
    box-shadow:
      inset 0 0 0 1px rgba(8, 143, 197, .16),
      0 14px 32px rgba(4, 66, 96, .16) !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind] img {
    filter: saturate(1.06) contrast(1.025) !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind]::after {
    background:
      linear-gradient(115deg, rgba(255, 255, 255, .3) 0%, transparent 34%),
      linear-gradient(180deg, transparent 48%, rgba(3, 45, 68, .2) 100%),
      linear-gradient(90deg, #18b4df 0 48%, #8ecf4f 48% 64%, #f2ae45 64% 80%, #e673a5 80% 100%) top 12px right 0 / 112px 3px no-repeat !important;
  }
}

/* Mobile FV surgery credential: premium circular seal, distinct from the copy card. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-surgery-record {
    top: 18px !important;
    right: 14px !important;
    left: auto !important;
    width: 110px !important;
    min-width: 110px !important;
    height: 110px !important;
    min-height: 110px !important;
    z-index: 78 !important;
    padding: 13px 9px 10px !important;
    border: 2px solid rgba(255, 255, 255, .94) !important;
    border-radius: 50% !important;
    color: #fff !important;
    background:
      radial-gradient(circle at 30% 18%, rgba(143, 226, 246, .48), transparent 33%),
      radial-gradient(circle at 78% 82%, rgba(0, 50, 89, .4), transparent 45%),
      linear-gradient(145deg, #109fc9 0%, #087cad 44%, #064f7c 100%) !important;
    box-shadow:
      0 14px 30px rgba(2, 48, 78, .3),
      0 0 0 4px rgba(255, 255, 255, .3),
      inset 0 1px 0 rgba(255, 255, 255, .65),
      inset 0 -12px 24px rgba(0, 37, 68, .18) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record::before {
    inset: 5px !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 1px rgba(0, 70, 112, .12) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > span {
    color: rgba(255, 255, 255, .9) !important;
    text-shadow: 0 1px 3px rgba(0, 44, 72, .3) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong {
    color: rgba(255, 255, 255, .92) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong > b {
    color: #fff !important;
    text-shadow: 0 2px 5px rgba(0, 37, 66, .38) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    color: rgba(255, 255, 255, .84) !important;
    text-shadow: 0 1px 3px rgba(0, 37, 66, .3) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record .hero-surgery-record__period {
    border-top-color: rgba(255, 255, 255, .28) !important;
  }
}

/* Mobile flow: tighten the hours-to-specialty transition and restore both access photos. */
@media (max-width: 767px) {
  body .page-01 .top-home-hours {
    margin-bottom: 0 !important;
  }

  body .page-01 .top-home-hours + .top-specialty {
    padding-top: 32px !important;
  }

  body .page-01 #access .top-access__parking-images img:last-child {
    display: block !important;
  }
}

/* Mobile FV entrance: reveal the authority seal and copy in a clear visual sequence. */
@keyframes mobile-fv-badge-in {
  0% {
    opacity: 0;
    transform: translate3d(24px, -14px, 0) scale(.72) rotate(10deg);
  }

  68% {
    opacity: 1;
    transform: translate3d(-2px, 2px, 0) scale(1.04) rotate(-2deg);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0);
  }
}

@keyframes mobile-fv-copy-in {
  0% {
    opacity: 0;
    transform: translate3d(34px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes mobile-fv-badge-ring {
  0%, 100% {
    opacity: .58;
    transform: scale(1);
  }

  50% {
    opacity: .95;
    transform: scale(.96);
  }
}

@media (max-width: 767px) {
  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: min(202px, calc(100% - 142px)) !important;
    padding-inline: 9px !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  body .page-01 .fv-intro-sequence > .hero-surgery-record,
  body .page-01 .fv-intro-sequence > .hero-09,
  body .page-01 .fv-intro-sequence > .mobile-hero-summary .mobile-hero-summary__lead {
    opacity: 0;
    will-change: opacity, transform;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record {
    animation: mobile-fv-badge-in .9s cubic-bezier(.18, .82, .24, 1.12) .16s both;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record::before {
    animation: mobile-fv-badge-ring 2.8s ease-in-out 1.15s infinite;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-09 {
    animation: mobile-fv-copy-in .82s cubic-bezier(.18, .75, .22, 1) .48s both;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .mobile-hero-summary .mobile-hero-summary__lead {
    animation: mobile-fv-copy-in .72s cubic-bezier(.18, .75, .22, 1) .82s both;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .fv-intro-sequence > .hero-surgery-record,
  body .page-01 .fv-intro-sequence > .hero-09,
  body .page-01 .fv-intro-sequence > .mobile-hero-summary .mobile-hero-summary__lead,
  body .page-01 .fv-intro-sequence > .hero-surgery-record::before {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Mobile FV: lift the complete today's-hours card into the first-view composition. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09 {
    top: calc(var(--mobile-fv-photo-height) - 268px) !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 150px) !important;
  }

  body .page-01 .hero-05 > .today-hours {
    position: relative !important;
    z-index: 84 !important;
    margin: -74px auto 0 !important;
  }
}

/* Mobile page-top: appear from the news section and center the compact label. */
@media (max-width: 767px) {
  body .site-footer__pagetop {
    grid-template-rows: 18px 9px !important;
    align-content: center !important;
    row-gap: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translateY(10px) scale(.9) !important;
    transition:
      visibility 0s linear .24s,
      opacity .24s ease,
      transform .24s ease !important;
  }

  body .site-footer__pagetop.is-visible {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    transition-delay: 0s !important;
  }

  body .site-footer__pagetop::before {
    align-self: center !important;
    font-size: 19px !important;
    line-height: 18px !important;
  }

  body .site-footer__pagetop::after {
    align-self: start !important;
    margin-top: -1px !important;
    font-size: 7px !important;
    line-height: 9px !important;
  }

  body.is-hours-sheet-open .site-footer__pagetop {
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .site-footer__pagetop {
    transition: none !important;
  }
}

/* Mobile home: remove the redundant scroll invitation below the first view. */
@media (max-width: 767px) {
  body .page-01 .mobile-scroll-invitation {
    display: none !important;
  }
}

/* Mobile news: keep the heading compact and introduce the tabs in place. */
@media (max-width: 767px) {
  body .page-01 .top-news .top-news__mobile-heading {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
  }

  body .page-01 .top-news .top-news__inner {
    position: relative !important;
  }

  body .page-01 .top-news .top-news__mobile-tabs {
    margin-top: 0 !important;
  }

  body .page-01 .top-news .top-news__mobile-switch-hint {
    position: absolute !important;
    z-index: 8 !important;
    top: 5px !important;
    right: 5px !important;
    left: 5px !important;
    display: flex !important;
    width: auto !important;
    height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 13px;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(25, 166, 216, .97), rgba(5, 126, 183, .97));
    box-shadow: 0 9px 22px rgba(0, 126, 184, .23);
    font-size: 11px !important;
    letter-spacing: .05em !important;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px) scale(.98);
    transition: opacity .34s ease, transform .34s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .34s;
  }

  body .page-01 .top-news .top-news__mobile-switch-hint.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
  }

  body .page-01 .top-news .top-news__mobile-switch-hint.is-dismissed {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px) scale(.985);
  }

  body .page-01 .top-news .top-news__mobile-switch-hint span {
    width: 24px;
    height: 24px;
    color: #0786bc;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0, 74, 111, .18);
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .top-news .top-news__mobile-switch-hint {
    transform: none !important;
    transition: opacity .15s ease, visibility 0s linear .15s !important;
  }
}

/* Mobile specialty: animated surgical-growth backdrop and a compact two-column menu. */
.top-surgery-growth {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 .top-surgery-record {
    position: relative !important;
    isolation: isolate;
    min-height: 278px;
    overflow: hidden !important;
    border: 1px solid rgba(76, 175, 216, .38) !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 90% 16%, rgba(83, 198, 231, .19), transparent 28%),
      linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(238, 249, 253, .95)) !important;
    box-shadow: 0 15px 34px rgba(12, 102, 145, .11) !important;
  }

  body .page-01 .top-surgery-record__heading,
  body .page-01 .top-surgery-record__number,
  body .page-01 .top-surgery-record__message {
    position: relative;
    z-index: 2;
  }

  body .page-01 .top-surgery-record__heading span {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding-right: 0;
    text-shadow: 0 1px 0 #fff;
  }

  body .page-01 .top-surgery-record__number strong {
    filter: drop-shadow(0 5px 12px rgba(0, 116, 177, .13));
  }

  body .page-01 .top-surgery-record__message {
    padding: 9px 10px 0 !important;
    border-top: 1px solid rgba(93, 174, 208, .25) !important;
    background: rgba(255, 255, 255, .54);
    backdrop-filter: blur(2px);
  }

  body .page-01 .top-surgery-growth {
    position: absolute;
    z-index: 0;
    inset: 50px 8px 20px;
    display: block;
    pointer-events: none;
  }

  body .page-01 .top-surgery-growth svg {
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  body .page-01 .top-surgery-growth__grid {
    fill: none;
    stroke: rgba(68, 157, 198, .13);
    stroke-width: 1;
    stroke-dasharray: 3 7;
  }

  body .page-01 .top-surgery-growth__area {
    fill: rgba(32, 167, 215, .075);
    opacity: 0;
    transition: opacity 1.2s ease 1.25s;
  }

  body .page-01 .top-surgery-growth__line {
    fill: none;
    stroke: rgba(9, 145, 199, .48);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    vector-effect: non-scaling-stroke;
    transition: stroke-dashoffset 2.8s cubic-bezier(.22, 1, .36, 1) .25s;
  }

  body .page-01 .top-surgery-growth__point,
  body .page-01 .top-surgery-growth__pulse {
    fill: #0b96ca;
    opacity: 0;
    transform-origin: 350px 18px;
  }

  body .page-01 .top-specialty.is-section-visible .top-surgery-growth__line {
    stroke-dashoffset: 0;
  }

  body .page-01 .top-specialty.is-section-visible .top-surgery-growth__area,
  body .page-01 .top-specialty.is-section-visible .top-surgery-growth__point {
    opacity: 1;
    transform: none;
  }

  body .page-01 .top-specialty.is-section-visible .top-surgery-growth__point {
    transition: opacity .3s ease 2.85s;
  }

  body .page-01 .top-specialty.is-section-visible .top-surgery-growth__pulse {
    animation: surgery-growth-pulse 2.1s ease-out 2.95s 2;
  }

  body .page-01 .top-specialty__cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 28px !important;
  }

  body .page-01 .top-specialty-card {
    display: flex !important;
    min-width: 0 !important;
    height: 100% !important;
    flex-direction: column !important;
    padding: 11px 9px 12px !important;
    border: 1px solid rgba(93, 177, 212, .34) !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 8px 21px rgba(18, 94, 128, .075) !important;
  }

  body .page-01 .top-specialty-card__label {
    align-self: flex-start;
    padding: 4px 7px !important;
    font-size: 8px !important;
  }

  body .page-01 .top-specialty-card h3 {
    display: flex;
    min-height: 53px;
    align-items: flex-start;
    margin-top: 7px !important;
    font-size: clamp(12px, 3.2vw, 15px) !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
  }

  body .page-01 .top-specialty-card__photo {
    margin-top: 4px !important;
  }

  body .page-01 .top-specialty-card__photo img {
    width: 100% !important;
    height: 102px !important;
    object-fit: cover !important;
  }

  body .page-01 .top-specialty-card__button {
    min-height: 40px;
    margin-top: auto !important;
    padding: 8px 7px !important;
    font-size: 10px !important;
  }
}

@keyframes surgery-growth-pulse {
  0% { opacity: .5; transform: scale(1); }
  100% { opacity: 0; transform: scale(3.4); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .top-surgery-growth__line {
    stroke-dashoffset: 0 !important;
    transition: none !important;
  }

  body .page-01 .top-surgery-growth__area,
  body .page-01 .top-surgery-growth__point {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body .page-01 .top-surgery-growth__pulse {
    display: none !important;
  }
}

/* Contact-lens label: use the same English wording on desktop and mobile. */
.top-contact-feature__label-ja {
  display: none;
}

.top-contact-feature__label-en {
  display: inline;
}

@media (max-width: 767px) {
  /* Show all twelve concern links while keeping each mobile row compact. */
  body .page-01 #symptom-guide .symptom-guide__grid .symptom-guide__card:nth-child(n + 7) {
    display: grid !important;
  }

  body .page-01 #symptom-guide .symptom-guide__grid {
    gap: 7px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__card {
    grid-template-columns: 30px minmax(0, 1fr) 24px !important;
    gap: 6px !important;
    min-height: 68px !important;
    padding: 8px 7px !important;
    border-radius: 13px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__icon {
    width: 30px !important;
    height: 30px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__icon svg {
    width: 17px !important;
    height: 17px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__card strong {
    font-size: clamp(9px, 2.5vw, 11px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  body .page-01 #symptom-guide .symptom-guide__card small {
    display: none !important;
  }

  body .page-01 #symptom-guide .symptom-guide__arrow {
    width: 24px !important;
    height: 24px !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Replace the capsule label with an editorial CONTACT LENS heading. */
  body .page-01 #contact-lens-care .top-contact-feature__label {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 9px;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #1397cc !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .24em !important;
    line-height: 1.2 !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__label::before {
    width: 24px;
    height: 3px;
    flex: 0 0 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1ca7d9 0 40%, #76c858 40% 62%, #f0ad45 62% 82%, #e86e9d 82%);
    content: "";
  }

  body .page-01 #contact-lens-care .top-contact-feature__label-ja {
    display: none !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__label-en {
    display: inline !important;
  }

  body .page-01 #contact-lens-care h2 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(17px, 4.8vw, 22px) !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
    white-space: nowrap !important;
  }

  body .page-01 #contact-lens-care h2 br {
    display: none !important;
  }
}

/* Mobile director: balance the portrait and signature as one centered unit. */
@media (max-width: 767px) {
  body .page-01 .top-director__photo--mobile {
    align-self: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 218px !important;
    margin: 8px auto 0 !important;
    border: 5px solid #fff !important;
    border-radius: 17px !important;
    box-shadow: 0 13px 28px rgba(22, 89, 120, .11) !important;
  }

  body .page-01 .top-director__photo--mobile img {
    height: 208px !important;
    object-position: center 8% !important;
  }

  body .page-01 .top-director__name {
    align-self: center !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(calc(100% - 46px), 340px) !important;
    min-height: 70px !important;
    margin: -31px auto 0 !important;
    padding: 10px 16px 9px 56px !important;
    border: 1px solid rgba(255, 255, 255, .84) !important;
    border-radius: 14px !important;
    background: linear-gradient(105deg, rgba(240, 251, 255, .98), rgba(201, 236, 249, .97)) !important;
    box-shadow: 0 11px 25px rgba(0, 105, 153, .16) !important;
  }

  body .page-01 .top-director__name::before {
    width: 43px !important;
    border-radius: 13px 0 0 13px !important;
  }

  body .page-01 .top-director__name::after {
    left: 35px !important;
    width: 18px !important;
  }

  body .page-01 .top-director__name h2 {
    font-size: 19px !important;
    line-height: 1.25 !important;
    letter-spacing: .14em !important;
  }

  body .page-01 .top-director__name .top-director__reading {
    margin-top: 4px !important;
    font-size: 8.5px !important;
    line-height: 1.3 !important;
    letter-spacing: .17em !important;
  }

  body .page-01 .top-director__lead {
    margin-top: 14px !important;
  }
}

/* Mobile important notice: give the alert a clearer pause above and below. */
@media (max-width: 767px) {
  body .page-01 .top-important-notice {
    margin: 28px auto !important;
  }
}

/* Mobile polish: logo-palette accents, clearer FV hierarchy, and a slim scroll cue. */
:root {
  --yamasaki-logo-blue: #11a9dc;
  --yamasaki-logo-green: #83c94b;
  --yamasaki-logo-orange: #f5a43b;
  --yamasaki-logo-pink: #e870a5;
}

@media (max-width: 767px) {
  body .page-01 .hero-05 > .today-hours {
    margin-top: -82px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    box-sizing: border-box !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    width: 124px !important;
    min-width: 124px !important;
    height: 124px !important;
    min-height: 124px !important;
    padding: 15px 11px 12px !important;
    overflow: hidden !important;
    border-width: 3px !important;
    background:
      radial-gradient(circle at 27% 16%, rgba(255, 255, 255, .34), transparent 31%),
      linear-gradient(145deg, var(--yamasaki-logo-blue), #087cad 55%, #07547d) !important;
    box-shadow:
      0 12px 28px rgba(2, 48, 78, .28),
      0 0 0 3px rgba(255, 255, 255, .34),
      4px 4px 0 rgba(131, 201, 75, .34),
      -3px 4px 0 rgba(245, 164, 59, .28),
      inset 0 1px 0 rgba(255, 255, 255, .65) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record::before {
    inset: 6px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > span {
    max-width: 94px !important;
    font-size: 7.2px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong {
    margin: 4px 0 3px !important;
    font-size: 8px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong > b {
    font-size: 30px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    box-sizing: border-box !important;
    width: 94px !important;
    margin-top: 3px !important;
    font-size: 6.2px !important;
    line-height: 1.28 !important;
  }

  body .page-01 .top-private-care__icon,
  body .page-01 .top-recruit-link__message {
    display: none !important;
  }

  body .site-footer__pagetop {
    grid-template-rows: 15px 8px !important;
    row-gap: 0 !important;
    padding: 0 !important;
    place-content: center !important;
  }

  body .site-footer__pagetop::before {
    font-size: 18px !important;
    line-height: 15px !important;
  }

  body .site-footer__pagetop::after {
    margin: 0 !important;
    font-size: 7px !important;
    line-height: 8px !important;
    transform: translateY(-2px) !important;
  }

  body .page-01 .mobile-scroll-invitation {
    position: fixed !important;
    z-index: 79 !important;
    top: 54vh !important;
    right: auto !important;
    bottom: auto !important;
    left: 5px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 30px !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 8px 22px rgba(4, 74, 105, .12) !important;
    color: var(--yamasaki-logo-blue) !important;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
  }

  body .page-01 .mobile-scroll-invitation.is-scrolled {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translate(-8px, -50%) !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s !important;
  }

  body .page-01 .mobile-scroll-invitation::before,
  body .page-01 .mobile-scroll-invitation::after {
    display: none !important;
  }

  body .page-01 .mobile-scroll-invitation > span {
    display: block !important;
    text-align: center !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    display: block !important;
    color: #087ead !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    writing-mode: vertical-rl !important;
  }

  body .page-01 .mobile-scroll-invitation strong {
    display: none !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    position: relative !important;
    display: block !important;
    width: 2px !important;
    height: 42px !important;
    overflow: visible !important;
    border-radius: 99px !important;
    background: linear-gradient(180deg,
      var(--yamasaki-logo-blue) 0 28%,
      var(--yamasaki-logo-green) 28% 51%,
      var(--yamasaki-logo-orange) 51% 74%,
      var(--yamasaki-logo-pink) 74% 100%) !important;
    box-shadow: none !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    top: auto !important;
    right: auto !important;
    bottom: 1px !important;
    left: -3px !important;
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-right: 2px solid var(--yamasaki-logo-pink) !important;
    border-bottom: 2px solid var(--yamasaki-logo-pink) !important;
    background: transparent !important;
    transform: rotate(45deg) !important;
    animation: mobile-logo-scroll-arrow 1.7s ease-in-out infinite !important;
  }

  body .page-01 .mobile-scroll-invitation > i b + b {
    display: none !important;
  }

  body > .mobile-page-progress {
    display: none !important;
  }
}

@keyframes mobile-logo-scroll-arrow {
  0%, 100% { opacity: .35; transform: translateY(-5px) rotate(45deg); }
  55% { opacity: 1; transform: translateY(3px) rotate(45deg); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .mobile-scroll-invitation > i b {
    animation: none !important;
  }
}

/* Access refinements: reveal payment details on mobile and emphasize parking on desktop. */
@media (max-width: 767px) {
  body .page-01 #access > .top-access-payment.payment-section-refresh {
    display: block !important;
    width: calc(100% - 24px) !important;
    margin: 18px auto 0 !important;
    padding: 24px 16px !important;
    border: 1px solid #c9e7f2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(20, 96, 126, .08) !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__head {
    display: block !important;
    text-align: center !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__head h3 {
    margin-top: 3px !important;
    font-size: 1.25rem !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__lead {
    margin: 8px auto 0 !important;
    font-size: .74rem !important;
    line-height: 1.65 !important;
    text-align: center !important;
  }

  body .page-01 #access > .top-access-payment .top-access-payment__group {
    padding: 15px 13px !important;
  }
}

@media (min-width: 768px) {
  body .page-01 #access .top-access__parking-photo {
    height: auto !important;
  }

  body .page-01 #access .top-access__parking-images {
    height: clamp(230px, 18vw, 280px) !important;
  }

  body .page-01 #access .top-access__parking-images img {
    height: 100% !important;
    object-position: center bottom !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption {
    justify-content: center !important;
    text-align: center !important;
  }

  body .page-01 #access .top-access__parking-photo figcaption span {
    text-align: center !important;
  }
}

/* Final responsive type refinements for the FV label, desktop hours and header lockup. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09::before {
    padding: 3px 9px !important;
    border: 1px solid #fff !important;
    background: #078dcc !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-rendering: geometricPrecision;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased;
  }
}

@media (min-width: 768px) {
  body .page-01 .hero-05 > .today-hours .today-hours__date {
    padding: 7px 15px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__contact {
    color: #d3273c !important;
    font-weight: 900 !important;
  }
}

@media (min-width: 1024px) {
  body .header-01 .header-06.site-logo-link {
    gap: 8px !important;
  }

  body .header-01 .header-brand-logo .header-logo-image {
    width: auto !important;
    height: 40px !important;
  }

  body .header-01 .header-brand-history {
    padding-left: 9px !important;
  }

  body .header-01 .header-brand-history strong {
    font-size: 11px !important;
    line-height: 1.15 !important;
    letter-spacing: .015em !important;
  }

  body .header-01 .header-brand-history small {
    margin-top: 3px !important;
    font-size: 7.5px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
  }
}

/* Desktop section rhythm: remove stacked vertical whitespace between adjacent sections. */
@media (min-width: 768px) {
  body .page-01 .top-private-care {
    padding-bottom: 32px !important;
  }

  body .page-01 .top-private-care__inner {
    padding-bottom: 24px !important;
  }

  body .page-01 #symptom-guide.top-symptom-guide {
    padding-top: 54px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__head {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body .page-01 #faq + .top-column-section {
    padding-top: 50px !important;
  }

  body .page-01 .top-column-section .top-news__block--columns {
    margin-top: 16px !important;
  }
}

/* Clinic gallery CTA is reserved for the compact mobile journey. */
.top-gallery__facility-cta {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 #gallery .top-gallery__facility-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    width: calc(100% - 36px) !important;
    min-height: 50px !important;
    margin: 18px auto 0 !important;
    padding: 7px 8px 7px 20px !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(110deg, #087fbc, #12a7d7) !important;
    box-shadow: 0 10px 22px rgba(1, 112, 164, .2) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
  }

  body .page-01 #gallery .top-gallery__facility-cta svg {
    box-sizing: content-box !important;
    width: 18px !important;
    height: 18px !important;
    padding: 8px !important;
    border-radius: 50% !important;
    color: #087fbc !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 68, 105, .16) !important;
  }

  /* Mobile menu: show the page beneath an inset, translucent two-column panel. */
  body .static-mobile-menu.menu-overlay {
    inset: 0 !important;
    z-index: 1200 !important;
    padding: 0 !important;
    background: rgba(3, 55, 83, .34) !important;
    -webkit-backdrop-filter: blur(3px) !important;
    backdrop-filter: blur(3px) !important;
  }

  body .static-mobile-menu .menu-inner {
    position: absolute !important;
    inset: 10px 12px !important;
    box-sizing: border-box !important;
    width: auto !important;
    height: auto !important;
    padding: 14px 12px 16px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, rgba(0, 126, 187, .9), rgba(0, 154, 207, .82)) !important;
    box-shadow: 0 20px 50px rgba(0, 46, 72, .28) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
  }

  body .static-mobile-menu .menu-head {
    min-height: 42px !important;
    margin-bottom: 5px !important;
  }

  body .static-mobile-menu .menu-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 2 !important;
    border: 1px solid rgba(255, 255, 255, .5) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .14) !important;
  }

  body .static-mobile-menu .menu-walkin {
    margin: 0 2px 10px !important;
    padding: 9px 10px !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    background: rgba(255, 255, 255, .12) !important;
  }

  body .static-mobile-menu .menu-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(42px, auto) !important;
    align-content: start !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 7px !important;
    padding: 2px 1px 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  body .static-mobile-menu .menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 7px 6px !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .11) !important;
    font-size: clamp(9px, 2.7vw, 12px) !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }
}

/* Today's hours: retain full legibility while letting the FV photo show through subtly. */
body .page-01 .hero-05 > .today-hours {
  background: rgba(255, 255, 255, .9) !important;
  -webkit-backdrop-filter: blur(14px) saturate(108%) !important;
  backdrop-filter: blur(14px) saturate(108%) !important;
}

/* Desktop first-visit guide: restore the useful guidance inside the wide card. */
@media (min-width: 981px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo {
    grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr) !important;
    grid-template-rows: 1fr auto !important;
    grid-template-areas:
      "first-visit-body first-visit-photo"
      "first-visit-button first-visit-photo" !important;
    width: min(1200px, calc(100% - 64px)) !important;
    height: auto !important;
    min-height: 390px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo,
  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 390px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    padding: 34px 36px 18px 42px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow {
    margin-bottom: 8px !important;
    font-size: 11px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo h2 {
    font-size: clamp(30px, 2.5vw, 39px) !important;
    line-height: 1.28 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
    margin: 15px 0 16px !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(205px, .88fr) !important;
    gap: 11px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    display: block !important;
    min-height: 116px !important;
    padding: 12px 14px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title {
    margin-bottom: 7px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide-title strong {
    font-size: 12px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li {
    font-size: 11px !important;
    line-height: 1.48 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    width: auto !important;
    height: auto !important;
    min-height: 52px !important;
    margin: 0 36px 28px 42px !important;
    padding: 11px 64px 11px 24px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button > span {
    right: 9px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 23px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button strong {
    font-size: 14px !important;
    letter-spacing: .06em !important;
  }
}

/* Mobile CTAs: keep actions compact and clearly button-shaped. */
@media (max-width: 767px) {
  body .page-01 .top-access__panel--hours .top-access__button,
  body .page-01 .top-news__mobile-list-link,
  body .page-01 #contact-lens-care .mobile-section-link,
  body .page-01 .top-director__link,
  body .page-01 #gallery .top-gallery__facility-cta,
  body .page-01 #access .top-access__info .top-access__button {
    box-sizing: border-box !important;
    width: min(calc(100% - 40px), 330px) !important;
    max-width: 330px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Mobile news and header lockup: show three updates and align the English name. */
@media (max-width: 767px) {
  body .page-01 #news .top-notice-row:nth-child(3) {
    display: grid !important;
  }

  body .page-01 #news .top-notice-row:nth-child(n + 4) {
    display: none !important;
  }

  body .header-01:not(.is-mobile-compact) .header-brand-en {
    box-sizing: border-box !important;
    width: 72% !important;
    margin-top: -7px !important;
    margin-left: 28% !important;
    font-size: 5.9px !important;
    line-height: 1 !important;
    letter-spacing: .1em !important;
    text-align: right !important;
  }

  body .header-01.is-mobile-compact .header-brand-en {
    box-sizing: border-box !important;
    width: 72% !important;
    margin-top: -7px !important;
    margin-left: 28% !important;
    font-size: 5.9px !important;
    line-height: 1 !important;
    letter-spacing: .1em !important;
    text-align: right !important;
  }
}

/* Private-care cards: the whole card is the link; mobile omits ambiguous icons. */
.top-private-care__card {
  color: inherit;
  text-decoration: none;
}

.top-private-care__link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 24px;
  color: #087eb6;
  font-size: .9rem;
  font-weight: 900;
  transition: gap .2s ease, color .2s ease;
}

@media (hover: hover) {
  .top-private-care__card:hover .top-private-care__link {
    gap: 13px;
    color: #005c8b;
  }
}

@media (max-width: 767px) {
  body .page-01 .top-private-care__card {
    position: relative !important;
    cursor: pointer;
  }

  body .page-01 .top-private-care__icon {
    display: none !important;
  }

  body .page-01 .top-private-care__link {
    min-height: 32px !important;
    margin-top: auto !important;
    padding-top: 6px !important;
    font-size: 12px !important;
  }
}

/* Mobile header: align the clinic-history lockup with the Japanese logo name. */
@media (max-width: 767px) {
  body .header-01:not(.is-mobile-compact) .header-brand-history {
    padding-left: 8px !important;
    transform: translateY(5px) !important;
  }

  body .header-01:not(.is-mobile-compact) .header-brand-history strong {
    font-size: clamp(9px, 2.45vw, 10px) !important;
    line-height: 1.15 !important;
    letter-spacing: .015em !important;
  }

  body .header-01:not(.is-mobile-compact) .header-brand-history small {
    margin-top: 3px !important;
    font-size: 6.4px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
  }

  body .header-01.is-mobile-compact .header-06.site-logo-link {
    gap: 7px !important;
    align-items: center !important;
  }

  body .header-01.is-mobile-compact .header-brand-logo .header-logo-image {
    width: clamp(116px, 31vw, 132px) !important;
    max-width: clamp(116px, 31vw, 132px) !important;
  }

  body .header-01.is-mobile-compact .header-brand-history {
    display: inline-flex !important;
    padding-left: 8px !important;
    transform: translateY(5px) !important;
  }

  body .header-01.is-mobile-compact .header-brand-history strong {
    font-size: clamp(9px, 2.45vw, 10px) !important;
    line-height: 1.15 !important;
    letter-spacing: .015em !important;
  }

  body .header-01.is-mobile-compact .header-brand-history small {
    margin-top: 3px !important;
    font-size: 6.4px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
  }

  body .page-01 .mobile-quick-actions.is-fv-gated {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(calc(100% + 16px)) !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s !important;
  }

  body .page-01 .mobile-quick-actions.is-fv-gated.is-after-fv {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s !important;
  }

  body .page-01 .hero-05 .hero-09 {
    top: calc(var(--mobile-fv-photo-height) - 250px) !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 133px) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    top: calc(var(--mobile-fv-photo-height) - 151px) !important;
  }

  body .page-01 .hero-05 > .today-hours {
    margin-top: -31px !important;
  }

  /* Keep the two-column specialty cards compact on small screens. */
  body .page-01 .top-specialty-card {
    min-height: 0 !important;
    padding: 8px 8px 9px !important;
  }

  body .page-01 .top-specialty-card h3 {
    min-height: 52px !important;
    margin: 4px 0 8px !important;
    font-size: clamp(11.5px, 3.15vw, 13.5px) !important;
    line-height: 1.4 !important;
  }

  body .page-01 .top-specialty-card__photo,
  body .page-01 .top-specialty-card__photo img {
    height: 122px !important;
    min-height: 122px !important;
    margin-top: 0 !important;
  }

  body .page-01 .top-specialty-card__button {
    min-height: 36px !important;
    height: 36px !important;
    padding: 5px 6px !important;
  }

  /* Keep the FAQ introduction on one line without crowding narrow devices. */
  body .page-01 #faq .top-unified-head > p {
    font-size: clamp(11px, 3.4vw, 14px) !important;
    line-height: 1.5 !important;
    letter-spacing: -.03em !important;
    white-space: nowrap !important;
  }

  /* Match the family-clinic card width to its compact logo content. */
  body .site-footer__family-clinic {
    width: min(100%, 220px) !important;
  }

  /* Give every weekday the same calm rhythm as the Thursday schedule. */
  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody tr {
    height: 52px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody th,
  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody td {
    height: 52px !important;
    padding: 4px !important;
    vertical-align: middle !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody th {
    font-size: 12px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody td {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table strong {
    font-size: 13px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday td:nth-child(2) {
    padding-block: 3px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday span {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday small {
    margin-top: 1px !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
  }

  /* Keep the supporting copy concise across narrow phone widths. */
  body .page-01 .top-private-care__notice {
    font-size: clamp(10.5px, 3.25vw, 13px) !important;
    line-height: 1.65 !important;
    letter-spacing: -.025em !important;
  }

  body .page-01 #symptom-guide .symptom-guide__head > p {
    font-size: clamp(11px, 3.55vw, 14px) !important;
    line-height: 1.55 !important;
    letter-spacing: -.02em !important;
  }

  /* Add a comfortable page gutter around the mobile FAQ list. */
  body .page-01 #faq .faq-01 {
    box-sizing: border-box !important;
    width: calc(100% - 36px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  body .page-01 #faq .specialty-15 {
    width: 100% !important;
  }

  /* Match the header phone and menu controls, with a tighter hamburger rhythm. */
  body .header-01 .header-phone,
  body .header-01 .header-18,
  body .header-01.is-mobile-compact .header-phone,
  body .header-01.is-mobile-compact .header-18 {
    box-sizing: border-box !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 8px !important;
  }

  body .header-01 .header-18,
  body .header-01.is-mobile-compact .header-18 {
    gap: 0 !important;
    padding: 4px 7px 3px !important;
  }

  body .header-01 .header-18 svg,
  body .header-01.is-mobile-compact .header-18 svg {
    width: 25px !important;
    height: 19px !important;
  }

  body .header-01:not(.is-mobile-compact) .header-phone,
  body .header-01:not(.is-mobile-compact) .header-18 {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  /* Keep the home-page header geometry fixed so the brand text does not jump on scroll. */
  body .page-01 .header-01.is-mobile-compact,
  body .page-01 .header-01.is-mobile-compact .header-05 {
    height: 58px !important;
    min-height: 58px !important;
  }

  body .page-01 .header-01.is-mobile-compact .header-05 {
    padding: 5px 10px !important;
    gap: 5px !important;
  }

  body .page-01 .header-01.is-mobile-compact .header-06 {
    height: 48px !important;
  }
}

/* Mobile CTA alignment and recruitment photo readability. */
@media (max-width: 767px) {
  body .page-01 #gallery .top-gallery__facility-cta,
  body .page-01 .top-director__link,
  body .page-01 #access .top-access__info .top-access__button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-right: 48px !important;
    padding-left: 48px !important;
    text-align: center !important;
  }

  body .page-01 #gallery .top-gallery__facility-cta > span,
  body .page-01 .top-director__link-label {
    width: 100%;
    margin: 0 !important;
    text-align: center !important;
  }

  body .page-01 #gallery .top-gallery__facility-cta > svg,
  body .page-01 .top-director__link-arrow,
  body .page-01 #access .top-access__info .top-access__button > span:last-child {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  body .page-01 #access .top-access__info .top-access__button > svg {
    position: absolute !important;
    top: 50% !important;
    left: 14px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::before {
    background-position: 76% top !important;
    opacity: .58 !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    background:
      linear-gradient(90deg, rgba(3, 57, 101, .98) 0%, rgba(3, 65, 111, .96) 52%, rgba(3, 72, 119, .76) 73%, rgba(3, 78, 125, .42) 100%),
      linear-gradient(180deg, rgba(3, 62, 107, .12), rgba(3, 62, 107, .92) 88%) !important;
  }
}

@media (max-width: 340px) {
  body .header-01:not(.is-mobile-compact) .header-brand-logo .header-logo-image,
  body .header-01.is-mobile-compact .header-brand-logo .header-logo-image {
    width: 108px !important;
    max-width: 108px !important;
  }
}

/* Mobile news and specialty cards: clearer section bounds and tighter card rhythm. */
@media (max-width: 767px) {
  body .page-01 .top-news {
    position: relative !important;
    isolation: isolate;
    overflow: hidden;
    border-top: 1px solid rgba(94, 183, 218, .24) !important;
    border-bottom: 1px solid rgba(94, 183, 218, .28) !important;
    background:
      radial-gradient(circle at 104% 18%, rgba(110, 202, 230, .2) 0 88px, transparent 89px),
      radial-gradient(circle at -8% 88%, rgba(142, 211, 232, .15) 0 100px, transparent 101px),
      linear-gradient(180deg, #f9fdff 0%, #eff9fc 48%, #f8fcfe 100%) !important;
    box-shadow: inset 0 14px 28px rgba(73, 170, 207, .045), inset 0 -14px 28px rgba(73, 170, 207, .045);
  }

  body .page-01 .top-news::before,
  body .page-01 .top-news::after {
    content: "" !important;
    position: absolute !important;
    z-index: -1;
    display: block !important;
    width: 3px;
    height: 76px;
    border-radius: 999px;
    background: linear-gradient(180deg, #22a9d8, #7bc65d 45%, #f1b54b 72%, #e974a5) !important;
    opacity: .65;
  }

  body .page-01 .top-news::before {
    top: 24px;
    left: 7px;
  }

  body .page-01 .top-news::after {
    right: 7px;
    bottom: 24px;
    transform: rotate(180deg);
  }

  body .page-01 .top-news__mobile-heading,
  body .page-01 .top-news__inner {
    position: relative !important;
    z-index: 1;
  }

  body .page-01 .top-news__mobile-switch-hint {
    display: none !important;
  }

  body .page-01 .top-specialty-card h3 {
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 2px 0 5px !important;
    text-align: center !important;
    font-size: clamp(10.5px, 3vw, 12.5px) !important;
    line-height: 1.35 !important;
  }

  body .page-01 .top-specialty-card__photo,
  body .page-01 .top-specialty-card__photo img {
    display: block !important;
    margin: 0 !important;
  }

  body .page-01 .top-specialty-card__button {
    position: relative !important;
    z-index: 1;
    flex: 0 0 36px !important;
    margin-top: 7px !important;
    transform: none !important;
  }
}

/* Mobile FV: move the surgery seal to the photo corner and raise today's hours. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-surgery-record {
    top: 14px !important;
    right: auto !important;
    left: 14px !important;
  }

  body .page-01 .hero-05 > .today-hours {
    margin-top: -48px !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] {
    background: #f5eee7 !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] img {
    height: calc(var(--mobile-fv-photo-height) - 52px) !important;
    min-height: calc(var(--mobile-fv-photo-height) - 52px) !important;
    object-position: 48% 42% !important;
  }
}

/* Mobile refinements: measured alert width, clear news tabs, and single-line symptom copy. */
.top-news__tab-guide {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 .top-important-notice {
    width: min(calc(100% - 32px), 350px) !important;
  }

  body .page-01 .top-news__tab-guide {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 0 7px;
    color: #23718f;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .04em;
  }

  body .page-01 .top-news__tab-guide span {
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #1598ce;
    font-size: 11px;
    line-height: 1;
  }

  body .page-01 .top-news .top-news__mobile-tabs {
    margin-bottom: 18px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__head > p {
    font-size: clamp(10.5px, 3.05vw, 12px) !important;
    line-height: 1.45 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
  }
}

/* Final mobile FV placement: keep the credential at the upper right and lift hours. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-surgery-record {
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    width: 124px !important;
    min-width: 124px !important;
    height: 124px !important;
    min-height: 124px !important;
  }

  body .page-01 .hero-05 > .today-hours {
    margin-top: -82px !important;
  }
}

/* 2026-09-04 mobile payment and persistent-action polish. */
@media (max-width: 767px) {
  /* Keep the card-brand list compact and legible at 375–430px. */
  body .page-01 .top-access > .top-access-payment.payment-section-refresh .payment-brands--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body .page-01 .top-access > .top-access-payment.payment-section-refresh .payment-brands--cards .payment-brand {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 7px 5px !important;
    border-color: #cbe1ec !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 9px rgba(18, 84, 116, .045) !important;
  }

  body .page-01 .payment-section-refresh .payment-brands--cards .payment-brand img {
    width: auto !important;
    max-width: 84% !important;
    height: auto !important;
    max-height: 36px !important;
    object-fit: contain !important;
  }

  body .page-01 .payment-section-refresh .payment-brand--amex img,
  body .page-01 .payment-section-refresh .payment-brand--jcb img,
  body .page-01 .payment-section-refresh .payment-brand--uc img,
  body .page-01 .payment-section-refresh .payment-brand--dc img {
    max-width: 56% !important;
    max-height: 38px !important;
  }

  body .page-01 .payment-section-refresh .payment-brand--diners img,
  body .page-01 .payment-section-refresh .payment-brand--mastercard img {
    max-width: 68% !important;
  }

  body .page-01 .payment-section-refresh .payment-brand--rakuten img,
  body .page-01 .payment-section-refresh .payment-brand--ufj img {
    max-width: 88% !important;
    max-height: 31px !important;
  }

  body .page-01 .top-access > .top-access-payment.payment-section-refresh .payment-brands--cards .payment-brand--touch {
    grid-column: 1 / -1 !important;
    min-height: 46px !important;
  }

  body .page-01 .payment-section-refresh .payment-brand--touch .payment-brand__wordmark {
    font-size: 13px !important;
  }

  /* Give the page-top arrow and label separate, predictable rows. */
  body .site-footer__pagetop {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 60px) !important;
    width: 58px !important;
    height: 58px !important;
    grid-template-rows: 21px 10px !important;
    align-content: center !important;
    row-gap: 3px !important;
    padding: 7px 0 6px !important;
  }

  body .site-footer__pagetop::before {
    align-self: center !important;
    font-size: 19px !important;
    line-height: 21px !important;
  }

  body .site-footer__pagetop::after {
    align-self: center !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 10px !important;
    letter-spacing: .09em !important;
  }

  /* Phone is the primary action; hours is the wider information action. */
  body .mobile-quick-actions {
    right: 8px !important;
    bottom: max(7px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    gap: 8px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  body .mobile-quick-actions__phone-wrap,
  body .mobile-quick-actions__phone-wrap > a,
  body .mobile-hours-toggle {
    height: 48px !important;
    min-height: 48px !important;
  }

  body .mobile-quick-actions__phone-wrap > a {
    gap: 6px !important;
    padding: 6px 9px !important;
    border: 1px solid #0577b7 !important;
    background: linear-gradient(135deg, #16afe2 0%, #0679ba 66%, #0569aa 100%) !important;
    box-shadow: 0 7px 18px rgba(3, 89, 139, .28), inset 0 1px 0 rgba(255, 255, 255, .35) !important;
  }

  body .mobile-quick-actions__phone-wrap > a::after {
    content: "電話する" !important;
    top: 3px !important;
    left: 9px !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
  }

  body .mobile-quick-actions__phone-wrap > a svg {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }

  body .mobile-quick-actions__phone-copy strong {
    font-size: clamp(12px, 3.45vw, 14px) !important;
  }

  body .mobile-hours-toggle {
    grid-template-columns: 18px minmax(0, 1fr) 21px !important;
    gap: 7px !important;
    padding: 6px 9px !important;
    border: 1.5px solid #4aaed3 !important;
    background: rgba(246, 252, 255, .98) !important;
    color: #075d8a !important;
    box-shadow: 0 4px 12px rgba(3, 72, 111, .13), inset 0 1px 0 #fff !important;
  }

  body .mobile-hours-toggle > svg {
    grid-column: 1 !important;
    justify-self: center !important;
    width: 18px !important;
    height: 18px !important;
  }

  body .mobile-hours-toggle__copy {
    grid-column: 2 !important;
    justify-self: center !important;
    text-align: center !important;
  }

  body .mobile-hours-toggle__copy strong {
    font-size: 13px !important;
  }

  body .mobile-hours-toggle__chevron {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    grid-column: 3 !important;
    transform: none !important;
    width: 21px !important;
    height: 21px !important;
  }

  body .mobile-hours-toggle[aria-expanded="true"] .mobile-hours-toggle__chevron {
    transform: rotate(180deg) !important;
  }
}

@media (max-width: 389px) {
  body .page-01 .top-access > .top-access-payment.payment-section-refresh .top-access-payment__group {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body .mobile-quick-actions__phone-copy strong {
    font-size: 12px !important;
    letter-spacing: -.01em !important;
  }
}

/* 2026-09-04 mobile first-view guidance, first visit and hours refinements. */
@media (max-width: 767px) {
  /* Keep the invitation above section backgrounds without covering header controls. */
  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    z-index: 1000 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
    transition: none !important;
    isolation: isolate;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    will-change: transform, opacity;
    animation: mobile-logo-scroll-arrow 1.8s ease-in-out infinite !important;
  }

  /* Place the section identity before its photograph on mobile. */
  body .page-01 .first-visit-summary.first-visit-summary--photo {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #c9e2ed !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__body {
    display: contents !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow,
  body .page-01 .first-visit-summary.first-visit-summary--photo h2,
  body .page-01 .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide,
  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo,
  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    grid-area: auto !important;
    grid-column: 1 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow {
    order: 1;
    margin: 0 !important;
    padding: 18px 16px 4px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo h2 {
    order: 2;
    margin: 0 !important;
    padding: 0 16px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo {
    order: 3;
    height: clamp(138px, 39vw, 164px) !important;
    min-height: 138px !important;
    margin: 13px 0 0 !important;
    border-radius: 0 !important;
    transform: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__photo img {
    height: 100% !important;
    border-radius: 0 !important;
    object-position: center 39% !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo p.first-visit-summary__lead {
    order: 4;
    margin: 12px 14px 0 !important;
    padding: 9px 10px !important;
    border-radius: 4px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    order: 5;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 9px 14px 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 11px 12px !important;
    border-radius: 4px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li {
    font-size: 10.5px !important;
    line-height: 1.55 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings li:last-child {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo > .first-visit-summary__button {
    order: 6;
    margin: 12px 14px 14px !important;
    border-radius: 999px !important;
  }

  /* Use a narrow vertical session label while leaving operational copy unchanged. */
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning:not(.is-thursday),
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon:not(.is-thursday) {
    grid-template-areas:
      "session time"
      "session reception"
      "session contact" !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session {
    align-self: stretch !important;
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    min-height: 62px !important;
    padding: 6px 4px !important;
    place-items: center !important;
    border-radius: 4px !important;
    font-size: 0 !important;
    writing-mode: horizontal-tb !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row:not(.is-thursday) .today-hours__session {
    grid-area: session !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-thursday .today-hours__session {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session::before,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session::before {
    display: block;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .08em;
    text-align: center;
    white-space: pre;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session::before {
    content: "午\A前";
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session::before {
    content: "午\A後";
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row:not(.is-thursday) .today-hours__time {
    grid-area: time !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row:not(.is-thursday) .today-hours__reception {
    grid-area: reception !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row:not(.is-thursday) .today-hours__contact {
    grid-area: contact !important;
    min-width: 0 !important;
  }

  /* Remove the extra Japanese action label requested for the phone CTA. */
  body .mobile-quick-actions__phone-wrap > a::after {
    display: none !important;
    content: none !important;
  }
}

@keyframes mobile-logo-scroll-arrow {
  0% { opacity: .12; transform: translateY(-5px) rotate(45deg); }
  38% { opacity: .78; }
  100% { opacity: 0; transform: translateY(7px) rotate(45deg); }
}

/* 2026-09-04 mobile weekly-hours visual hierarchy. */
.mobile-weekly-closed-note {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 .top-access__panel--hours .mobile-weekly-table thead th {
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody th {
    color: #12698b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody td {
    color: #173f53 !important;
    font-size: clamp(14px, 3.85vw, 16px) !important;
    font-weight: 600 !important;
    letter-spacing: -.02em !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody td > strong {
    color: #607985 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday span {
    color: #284f62 !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table td.is-no-clinic {
    position: relative;
    overflow: hidden;
    color: transparent !important;
    background: #f7fafb !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table td.is-no-clinic::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72%;
    height: 1px;
    border-radius: 999px;
    background: #9eb3bd;
    transform: translate(-50%, -50%) rotate(-24deg);
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-closed-note {
    display: block;
    margin: 7px 3px 0 !important;
    color: #5f7783;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.45;
    text-align: right;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__item--reception {
    grid-template-columns: 1fr !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    margin-top: 8px !important;
    padding-top: 8px;
    border-top: 1px solid #dcebf0;
    color: #294f62 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span:first-child {
    grid-column: 1 / -1;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span:not(:first-child) {
    padding: 6px 8px;
    border: 1px solid #d8e8ee;
    border-radius: 4px;
    background: #fff;
    text-align: center;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation b {
    color: #c73545 !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    white-space: nowrap;
  }
}

/* Final cascade locks for the mobile refinements above. */
.hero-surgery-record__period-mobile {
  display: none;
}

.today-hours__status-date,
.today-hours__status-particle,
.top-private-care__mobile-break {
  display: none;
}

body .page-01 .first-visit-summary__button,
body .page-01 .top-specialty-card__button,
body .page-01 .top-director__link,
body .page-01 .top-gallery__facility-cta,
body .page-01 .top-access__button,
body .page-01 .top-news__more,
body .page-01 .symptom-guide__tab[aria-selected="true"],
body .page-01 .mobile-quick-actions__phone-wrap > a {
  background-image: linear-gradient(125deg, rgba(43, 190, 225, .3), rgba(4, 116, 185, .16)) !important;
}

@media (max-width: 767px) {
  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    z-index: 1000 !important;
    top: 53vh !important;
    left: 0 !important;
    width: 18px !important;
    min-height: 92px !important;
    gap: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: .78 !important;
    transform: translateY(-50%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    font-size: 6.5px !important;
    letter-spacing: .16em !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    width: 9px !important;
    height: 43px !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    position: absolute !important;
    top: 0 !important;
    bottom: auto !important;
    left: 4px !important;
    display: block !important;
    width: 1.5px !important;
    height: 24px !important;
    border: 0 !important;
    background: linear-gradient(180deg, rgba(17, 169, 220, 0), #11a9dc 46%, #e870a5) !important;
    transform: none !important;
    animation: mobile-scroll-line-flow 1.8s cubic-bezier(.35, .05, .35, 1) infinite !important;
  }

  body .page-01 .mobile-scroll-invitation > i b::after {
    position: absolute;
    right: -1px;
    bottom: 1px;
    width: 6px;
    height: 1.5px;
    border-radius: 99px;
    background: #e870a5;
    transform: rotate(45deg);
    transform-origin: right center;
    content: "";
  }

  body .page-01 .hero-05 > .today-hours {
    margin-top: -106px !important;
    padding: 7px 9px 8px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__head {
    margin-bottom: 4px !important;
    padding: 0 2px 4px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__head .today-hours__date {
    display: none !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 5px 8px !important;
    border-radius: 5px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status-date,
  body .page-01 .hero-05 > .today-hours .today-hours__status-particle {
    display: inline !important;
    color: #276878 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > strong {
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status > small {
    display: none !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon {
    grid-template-columns: 39px minmax(0, 1fr) !important;
    column-gap: 7px !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session {
    align-self: center !important;
    width: 39px !important;
    min-width: 39px !important;
    min-height: 25px !important;
    height: 25px !important;
    padding: 3px 4px !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, #e9f8fd, #d9f0f8) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session::before,
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session::before {
    font-family: inherit !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .05em !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__row.is-morning .today-hours__session::before { content: "午前" !important; }
  body .page-01 .hero-05 > .today-hours .today-hours__row.is-afternoon .today-hours__session::before { content: "午後" !important; }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff span {
    justify-content: center !important;
    font-size: 8px !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    background: radial-gradient(circle at 27% 16%, rgba(255,255,255,.38), transparent 31%), linear-gradient(145deg, rgba(17,169,220,.84), rgba(8,124,173,.82) 55%, rgba(7,84,125,.82)) !important;
    backdrop-filter: blur(6px) saturate(108%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(108%) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > small.hero-surgery-record__detail {
    width: 112px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record .hero-surgery-record__period {
    font-size: 5.7px !important;
    letter-spacing: -.11em !important;
    white-space: nowrap !important;
  }

  body .page-01 .hero-surgery-record__period-desktop { display: none !important; }
  body .page-01 .hero-surgery-record__period-mobile { display: inline !important; }

  body .page-01 .hero-05 .hero-09 .hero-11,
  body .page-01 .hero-05 .hero-09 .hero-11 .static-hero-char {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0,55,88,.74), 0 1px 2px rgba(0,39,68,.86) !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 145px) !important;
  }

  body .page-01 .top-private-care__mobile-break {
    display: block !important;
  }

  body .page-01 #symptom-guide .symptom-guide__card {
    position: relative !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding-right: 31px !important;
    padding-left: 8px !important;
  }

  body .page-01 #symptom-guide .symptom-guide__arrow {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    transform: translateY(-50%) !important;
  }

  body .page-01 #symptom-guide .symptom-guide__card strong {
    display: -webkit-box !important;
    overflow: hidden !important;
    font-size: clamp(11.5px, 3.25vw, 13.5px) !important;
    line-height: 1.32 !important;
    letter-spacing: -.025em !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body .page-01 #director .top-director__name {
    align-self: flex-end !important;
    width: calc(100% - 42px) !important;
    min-height: 0 !important;
    margin: -18px 6px 0 auto !important;
    padding: 10px 4px 7px 17px !important;
    overflow: visible !important;
    border: 0 !important;
    border-left: 3px solid #11a9dc !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .page-01 #director .top-director__name::before,
  body .page-01 #director .top-director__name::after { display: none !important; content: none !important; }
  body .page-01 #director .top-director__role { font-size: 8px !important; }
  body .page-01 #director .top-director__name h2 { font-size: 21px !important; }
  body .page-01 #director .top-director__history-list li:nth-child(-n + 2) { display: none !important; }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 4px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot b {
    min-width: 27px !important;
    padding: 2px 4px !important;
    border: 1px solid #a9d9e9 !important;
    border-radius: 999px !important;
    color: #087dac !important;
    background: linear-gradient(135deg, #f3fcff, #e4f6fb) !important;
    font-size: 7.5px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot time {
    color: #173f53 !important;
    font-size: clamp(12px, 3.35vw, 14px) !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot--surgery b {
    border-color: #ecd0c7 !important;
    color: #9b5548 !important;
    background: linear-gradient(135deg, #fff9f6, #f9eeea) !important;
    font-weight: 600 !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .mobile-scroll-invitation > i b {
    opacity: .7 !important;
    transform: translateY(8px) !important;
    animation: none !important;
  }
}

/* 2026-09-04 payment, recruitment, footer and desktop first-view/news follow-up. */
.site-footer__family-name {
  display: none;
}

@keyframes important-notice-soft-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(231, 58, 65, 0); filter: brightness(1); }
  50% { box-shadow: 0 0 0 5px rgba(231, 58, 65, .10), 0 0 15px rgba(231, 58, 65, .18); filter: brightness(1.045); }
}

body .page-01 .top-important-notice__trigger > strong {
  animation: important-notice-soft-glow 2.8s ease-in-out infinite;
}

@media (max-width: 767px) {
  /* The unsupported QR-payment note is informational text, not another card. */
  body .page-01 .top-access-payment__warning {
    display: block !important;
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 5px 1px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  body .page-01 .top-access-payment__warning > span,
  body .page-01 .top-access-payment__warning small {
    display: none !important;
  }

  body .page-01 .top-access-payment__warning p {
    margin: 0 !important;
  }

  body .page-01 .top-access-payment__warning strong {
    color: #c93643 !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
    line-height: 1.55 !important;
  }

  /* Use a brighter, recruitment-specific staff photo and a lighter veil. */
  body .page-01 .top-recruit-link > .top-recruit-link__inner {
    background: linear-gradient(145deg, #177aa6, #2b9cc2) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::before {
    background-image: url("../img/optimized/recruit-team-meeting.jpg") !important;
    background-position: 54% center !important;
    background-size: cover !important;
    opacity: .9 !important;
    filter: saturate(.82) brightness(1.06) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    background: linear-gradient(180deg, rgba(3, 69, 102, .05) 0%, rgba(3, 73, 109, .18) 38%, rgba(4, 64, 99, .72) 100%) !important;
  }

  body .page-01 .top-recruit-link__copy {
    text-shadow: 0 1px 7px rgba(0, 38, 61, .48);
  }

  /* Show the building sign near the top and place the related clinic beside the profile. */
  body .site-footer::before {
    background-position: center top !important;
    background-size: auto 310px !important;
    background-repeat: no-repeat !important;
    opacity: .62 !important;
    filter: saturate(.82) contrast(.92) !important;
    transform: none !important;
  }

  body .site-footer::after {
    background: linear-gradient(180deg, rgba(0, 83, 127, .50) 0, rgba(0, 104, 155, .76) 290px, rgba(0, 119, 174, .92) 100%) !important;
  }

  body .site-footer__brand {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 116px !important;
    align-items: start !important;
    gap: 0 11px !important;
  }

  body .site-footer__brand > .site-footer__logo,
  body .site-footer__brand > p:not(.site-footer__family-clinic) {
    grid-column: 1 !important;
  }

  body .site-footer__brand > .site-footer__family-clinic {
    grid-column: 2 !important;
    grid-row: 1 / span 7 !important;
    align-self: start !important;
    box-sizing: border-box !important;
    width: 116px !important;
    min-width: 0 !important;
    margin: 2px 0 0 !important;
    padding: 9px 8px !important;
    gap: 4px !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 8px !important;
    background: linear-gradient(145deg, #ee7b1c, #f3a13a) !important;
    box-shadow: 0 8px 20px rgba(100, 52, 12, .2) !important;
  }

  body .site-footer__family-clinic > span {
    display: none !important;
  }

  body .site-footer__family-clinic .site-footer__family-logo {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body .site-footer__family-clinic .site-footer__family-logo img {
    width: 38px !important;
    height: 38px !important;
    object-fit: cover !important;
    object-position: left center !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body .site-footer__family-clinic .site-footer__family-name {
    display: block !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body .site-footer__family-clinic > a:last-child {
    margin-top: 3px !important;
    color: #fff !important;
    font-size: 8.5px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body .site-footer__family-clinic > a:last-child b {
    color: #fff !important;
  }
}

@media (min-width: 768px) {
  /* Pull the schedule card upward and let the title overhang the photograph. */
  body .page-01 .hero-05 > .today-hours {
    transform: translateY(-34px) !important;
  }

  body .page-01 .hero-05 .hero-09 {
    left: -20px !important;
    right: auto !important;
    width: auto !important;
    filter: drop-shadow(0 13px 18px rgba(4, 61, 94, .18)) !important;
  }

  body .page-01 .hero-05 .hero-09 .hero-10 {
    width: max-content !important;
    max-width: none !important;
    filter: drop-shadow(0 2px 0 rgba(255, 255, 255, .98)) drop-shadow(6px 9px 16px rgba(4, 66, 103, .20)) !important;
  }

  body .page-01 #news > .top-news__inner > .top-news__side .top-news__title {
    font-size: clamp(3.25rem, 3.45vw, 5.6rem) !important;
  }

  body .page-01 #news > .top-news__inner > .top-news__side .top-news__subtitle {
    font-size: .9rem !important;
    white-space: nowrap !important;
  }

  body .page-01 #news > .top-news__inner > .top-news__side .top-news__button {
    width: 184px !important;
    max-width: 184px !important;
    min-width: 184px !important;
    min-height: 50px !important;
    margin-top: 24px !important;
    padding: 12px 20px !important;
    font-size: .88rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .page-01 .top-important-notice__trigger > strong {
    animation: none !important;
  }
}

/* 2026-09-04 mobile contrast, guidance and compact information follow-up. */
@keyframes mobile-scroll-cue-flow {
  0% { opacity: .28; transform: translateY(-10px); }
  38% { opacity: 1; }
  100% { opacity: .18; transform: translateY(35px); }
}

@keyframes mobile-scroll-label-flow {
  0%, 100% { opacity: .48; transform: translateY(-2px); }
  45% { opacity: .92; transform: translateY(2px); }
}

@media (max-width: 767px) {
  /* Dark, airy gradients keep primary actions legible without looking flat. */
  body .page-01 .first-visit-summary__button,
  body .page-01 .top-specialty-card__button,
  body .page-01 .top-director__link,
  body .page-01 .top-gallery__facility-cta,
  body .page-01 .top-access__button,
  body .page-01 .top-news__more,
  body .page-01 .mobile-section-link,
  body .page-01 .symptom-guide__tab[aria-selected="true"] {
    color: #fff !important;
    background: linear-gradient(128deg, #16b2dc 0%, #078ac5 54%, #0769a8 100%) !important;
    background-image: linear-gradient(128deg, #16b2dc 0%, #078ac5 54%, #0769a8 100%) !important;
  }

  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    width: 19px !important;
    min-height: 126px !important;
    gap: 8px !important;
    opacity: .88 !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    color: #087cad !important;
    font-size: 7px !important;
    font-weight: 800 !important;
    letter-spacing: .30em !important;
    animation: mobile-scroll-label-flow 1.8s ease-in-out infinite !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    width: 10px !important;
    height: 61px !important;
    overflow: hidden !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    top: 0 !important;
    bottom: auto !important;
    left: 4px !important;
    width: 1.5px !important;
    height: 29px !important;
    border: 0 !important;
    background: linear-gradient(180deg, rgba(17,169,220,0), #11a9dc 43%, #78bf43) !important;
    transform: translateY(-10px) !important;
    animation: mobile-scroll-cue-flow 1.8s cubic-bezier(.35,.05,.35,1) infinite !important;
  }

  body .page-01 .mobile-scroll-invitation > i b::after {
    right: auto !important;
    bottom: 1px !important;
    left: 0 !important;
    width: 7px !important;
    height: 1.5px !important;
    background: #78bf43 !important;
    transform: rotate(-42deg) !important;
    transform-origin: left center !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff-label {
    margin: 7px 0 5px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff {
    gap: 8px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff span {
    min-height: 35px !important;
    padding: 6px 5px !important;
    border: 1px solid rgba(232, 153, 55, .28) !important;
    border-radius: 4px !important;
    color: #5b4a38 !important;
    background: rgba(255,255,255,.68) !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__cutoff strong {
    color: #c95c20 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot {
    gap: 5px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot b {
    min-width: 35px !important;
    padding: 3px 6px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table td > .mobile-schedule-slot--surgery:only-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table td > .mobile-schedule-slot--surgery:only-child b {
    min-width: 76px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  body .page-01 .top-access-payment__warning {
    padding-top: 8px !important;
  }

  body .page-01 .top-access-payment__warning strong {
    display: block !important;
    color: #bf3542 !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
    text-wrap: balance;
  }

  body .page-01 .top-recruit-link__eyebrow > b {
    color: #244f2d !important;
    background: linear-gradient(135deg, #c8ee72 0%, #8dce4d 100%) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::before {
    background-position: 12% center !important;
  }

  body .page-01 .top-recruit-link__copy > a {
    box-shadow: none !important;
  }

  body .site-footer__brand {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 168px) !important;
    gap: 0 9px !important;
  }

  body .site-footer__brand > .site-footer__family-clinic {
    width: 100% !important;
    padding: 12px 10px 10px !important;
  }

  body .site-footer__family-clinic .site-footer__family-logo {
    display: flex !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  body .site-footer__family-clinic .site-footer__family-logo img {
    width: 100% !important;
    max-width: 148px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: brightness(0) invert(1) !important;
  }

  body .site-footer__family-clinic > a:last-child {
    margin-top: 7px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .mobile-scroll-invitation small,
  body .page-01 .mobile-scroll-invitation > i b {
    opacity: .72 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Final cascade corrections for the latest review. */
@keyframes mobile-scroll-cue-flow {
  0% { opacity: .22; transform: translateY(-18px); }
  40% { opacity: .95; }
  100% { opacity: .14; transform: translateY(62px); }
}

@media (max-width: 767px) {
  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    left: -3px !important;
    min-height: 184px !important;
    gap: 10px !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    letter-spacing: .55em !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    height: 108px !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    height: 48px !important;
    animation: mobile-scroll-cue-flow 1.8s cubic-bezier(.35,.05,.35,1) infinite !important;
  }

  body .page-01 #gallery .top-gallery__head {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body .page-01 #gallery .top-gallery__head::before {
    display: none !important;
    content: none !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    top: calc(var(--mobile-fv-photo-height) - 160px) !important;
    right: 4px !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record > strong > b {
    font-size: 34px !important;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record {
    animation: mobile-fv-badge-soft-in 1.25s cubic-bezier(.22,.72,.24,1) .18s both !important;
  }

  body .page-01 .fv-intro-sequence.is-fv-intro-running > .hero-surgery-record::before {
    animation: none !important;
  }
}

@media (min-width: 768px) {
  body .page-01 #access .top-access__parking-images {
    height: clamp(380px, 29vw, 420px) !important;
  }

  body .page-01 .hero-05 .hero-09 {
    left: 24px !important;
  }

  body .page-01 .hero-05 .hero-09 .hero-10 + .hero-10 {
    transform: translateX(-18px) !important;
  }

  body .page-01 .hero-05 > .hero-surgery-record {
    top: -8px !important;
    right: 2px !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .page-01 .mobile-scroll-invitation small,
  body .page-01 .mobile-scroll-invitation > i b,
  body .page-01 .hero-05 > .hero-surgery-record,
  body .page-01 .hero-05 > .hero-surgery-record::before {
    opacity: .78 !important;
    transform: none !important;
    animation: none !important;
  }
}

@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-surgery-record {
    top: 6px !important;
    right: 2px !important;
  }
}

/* 2026-09-04 desktop header, recruitment tone and footer separation. */
@media (min-width: 768px) {
  body .page-01 .top-recruit-link > .top-recruit-link__inner {
    background: linear-gradient(118deg, #087397 0%, #168eb0 46%, #67bfd1 100%) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    background: linear-gradient(90deg, rgba(5, 77, 108, .76) 0%, rgba(8, 112, 148, .59) 38%, rgba(20, 137, 163, .3) 58%, rgba(22, 116, 143, .04) 78%, transparent 100%) !important;
  }

  body .site-footer__bottom {
    width: 100% !important;
    margin-top: 80px !important;
    clear: both !important;
  }
}

@media (min-width: 1024px) {
  /* Use the compact mobile lockup proportions on desktop too. */
  body .header-01 .header-06.site-logo-link {
    gap: 7px !important;
    align-items: center !important;
  }

  body .header-01 .header-brand-logo .header-logo-image {
    width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
  }

  body .header-01 .header-brand-en {
    box-sizing: border-box !important;
    width: 72% !important;
    margin-top: -7px !important;
    margin-left: 28% !important;
    font-size: 5.9px !important;
    line-height: 1 !important;
    letter-spacing: .1em !important;
    text-align: right !important;
  }

  body .header-01 .header-brand-history {
    padding-left: 8px !important;
    transform: translateY(5px) !important;
  }

  body .header-01 .header-brand-history strong {
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .015em !important;
  }

  body .header-01 .header-brand-history small {
    margin-top: 3px !important;
    font-size: 6.4px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
  }
}

/* Final cascade lock for the mobile hours request. */
@media (max-width: 767px) {
  body .mobile-hours-toggle {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
    grid-template-columns: 1fr auto auto 1fr !important;
    column-gap: 6px !important;
    border-color: rgba(74,174,211,.56) !important;
  }

  body .mobile-hours-toggle::before {
    position: absolute !important;
    z-index: 0 !important;
    inset: -2px !important;
    width: auto !important;
    height: auto !important;
    padding: 1.5px !important;
    border-radius: inherit !important;
    background: conic-gradient(from 0deg,
      transparent 0deg 38deg, rgba(126,218,239,.18) 44deg,
      #81d9ee 48deg, #fff 50deg, #81d9ee 52deg, transparent 58deg 158deg,
      rgba(126,218,239,.16) 164deg, #54c2df 168deg, #fff 170deg,
      #54c2df 172deg, transparent 178deg 278deg, rgba(126,218,239,.16) 284deg,
      #2cadd5 288deg, transparent 296deg 360deg) !important;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask-composite: exclude !important;
    filter: drop-shadow(0 0 3px rgba(61,184,219,.28));
    animation: mobile-hours-orbit 6s linear infinite !important;
    content: "" !important;
    pointer-events: none !important;
  }

  body .mobile-hours-toggle > svg,
  body .mobile-hours-toggle__copy,
  body .mobile-hours-toggle__chevron {
    position: relative;
    z-index: 1;
  }

  body .mobile-hours-toggle > svg {
    grid-column: 2 !important;
    justify-self: end !important;
  }

  body .mobile-hours-toggle__copy {
    grid-column: 3 !important;
    justify-self: start !important;
    text-align: left !important;
  }

  body .mobile-hours-toggle__copy strong {
    font-size: clamp(11px, 3.1vw, 13px) !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
  }

  body .mobile-hours-toggle__chevron {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    transform: translateY(-50%) !important;
  }

  body .mobile-hours-toggle[aria-expanded="true"] .mobile-hours-toggle__chevron {
    transform: translateY(-50%) rotate(180deg) !important;
  }

  body .page-01 .mobile-scroll-invitation,
  body .page-01 .mobile-scroll-invitation.is-scrolled {
    left: -6px !important;
    min-height: 290px !important;
    gap: 12px !important;
  }

  body .page-01 .mobile-scroll-invitation small {
    letter-spacing: 1em !important;
  }

  body .page-01 .mobile-scroll-invitation > i {
    height: 188px !important;
  }

  body .page-01 .mobile-scroll-invitation > i b {
    height: 80px !important;
    animation: mobile-scroll-cue-flow-long 2.15s cubic-bezier(.35,.05,.35,1) infinite !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .mobile-schedule-slot b {
    min-width: 49px !important;
    padding: 3px 5px !important;
    font-size: 8.5px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot b {
    min-width: 35px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot + .mobile-schedule-slot {
    margin-top: 5px !important;
  }

  body .page-01 .mobile-hours-reception__main {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: baseline !important;
    column-gap: 8px !important;
    row-gap: 5px !important;
  }

  body .page-01 .mobile-hours-reception__main > strong {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  body .page-01 .mobile-hours-reception__main > .reception-start-times {
    font-size: clamp(12.5px, 3.45vw, 14px) !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
  }

  body .page-01 .mobile-hours-reception__main > .reception-start-times b {
    font-size: 18px !important;
  }

  body .page-01 .mobile-hours-reception__annotation {
    grid-column: 1 / -1 !important;
    margin-top: 3px !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .mobile-hours-toggle::before,
  body .page-01 .mobile-scroll-invitation > i b {
    animation: none !important;
  }
}

/* 2026-09-04 desktop visual balance and information hierarchy. */
@media (min-width: 768px) {
  /* Keep primary actions clearly legible against the pale page surfaces. */
  body .page-01 .first-visit-summary__button,
  body .page-01 .top-specialty-card__button,
  body .page-01 .top-director__link,
  body .page-01 .top-gallery__facility-cta,
  body .page-01 #access .top-access__button,
  body .page-01 .top-access__panel--hours .top-access__button,
  body .page-01 .top-news__more,
  body .page-01 .symptom-guide__tab[aria-selected="true"] {
    border-color: rgba(4, 111, 169, .48) !important;
    color: #fff !important;
    background: linear-gradient(128deg, #19afd6 0%, #0785bf 52%, #075f9d 100%) !important;
    background-image: linear-gradient(128deg, #19afd6 0%, #0785bf 52%, #075f9d 100%) !important;
    box-shadow: 0 8px 20px rgba(5, 103, 154, .18) !important;
  }

  body .page-01 .top-specialty-card__button svg,
  body .page-01 .top-director__link svg,
  body .page-01 .top-gallery__facility-cta svg,
  body .page-01 #access .top-access__button svg {
    color: currentColor !important;
    stroke: currentColor !important;
  }

  /* Present the earlier contact-lens cutoff as an important note, not an icon card. */
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    padding: 15px 18px 14px !important;
    border: 0 !important;
    border-left: 3px solid #ef9c31 !important;
    border-radius: 4px !important;
    background: linear-gradient(90deg, #fff9ee, rgba(255, 252, 246, .72)) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title {
    gap: 0 !important;
    margin-bottom: 9px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title > span {
    display: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title strong {
    font-size: clamp(14px, 1.1vw, 17px) !important;
    line-height: 1.5 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff-label {
    font-size: 13px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff {
    gap: 8px 14px !important;
    font-size: 14px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff strong {
    font-size: 21px !important;
  }

  /* Give the explanatory cards beneath the desktop timetable equal reading weight. */
  body .page-01 .top-access__panel--hours .top-hours-summary__label {
    padding: 8px 12px !important;
    font-size: .84rem !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__content {
    gap: 4px 12px !important;
    padding: 10px 12px !important;
    font-size: .86rem !important;
    line-height: 1.5 !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__content small {
    font-size: .8rem !important;
    line-height: 1.5 !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation {
    display: grid !important;
    gap: 2px !important;
    margin-top: 6px !important;
    padding-top: 7px !important;
    border-top-color: rgba(196, 47, 60, .24) !important;
    color: #c42f3c !important;
    font-size: .74rem !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span {
    display: block !important;
    color: #c42f3c !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation b {
    color: #c42f3c !important;
    font-size: 1.06em !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__foot {
    padding: 9px 14px !important;
    font-size: .8rem !important;
    line-height: 1.45 !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__foot small {
    font-size: .74rem !important;
  }

  /* The page-top affordance appears only after the news section is reached. */
  body .site-footer__pagetop {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease !important;
  }

  body .site-footer__pagetop.is-visible {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

@media (min-width: 1100px) {
  /* Align both FV copy lines with the left edge of today's-hours card. */
  body .page-01 .hero-05 .hero-09 {
    left: -36px !important;
    right: auto !important;
    text-align: left !important;
  }

  body .page-01 .hero-05 .hero-09 .hero-10,
  body .page-01 .hero-05 .hero-09 .hero-10 + .hero-10 {
    margin-left: 0 !important;
    text-align: left !important;
    transform: none !important;
  }

  body .page-01 .top-purpose-nav {
    top: 66% !important;
  }

  /* Use a cooler blue field while retaining a clear view of the staff photograph. */
  body .page-01 .top-recruit-link > .top-recruit-link__inner {
    background: linear-gradient(118deg, #177d9b 0%, #2697b5 45%, #8acbd9 100%) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    background: linear-gradient(90deg, rgba(5, 74, 108, .55) 0%, rgba(8, 106, 148, .43) 37%, rgba(18, 133, 174, .18) 58%, rgba(24, 132, 176, .02) 80%, transparent 100%) !important;
  }

  body .page-01 .top-recruit-link__eyebrow > b {
    color: #194e2e !important;
    background: linear-gradient(135deg, #a9db54 0%, #86c53c 100%) !important;
  }

  body .page-01 .top-recruit-link__copy h2 {
    width: max-content;
  }

  body .page-01 .top-recruit-link__copy h2 > span {
    display: block;
    width: 9.25em;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    white-space: nowrap;
    text-align: justify;
    text-align-last: justify;
  }
}

@media (max-width: 1099px) {
  body .page-01 .top-recruit-link__copy h2 > span {
    display: block;
    width: auto;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
  }
}

/* 2026-09-04 mobile director, animated outline, footer mark and recruit slideshow. */
@property --mobile-hours-border-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes mobile-hours-border-flow {
  to { --mobile-hours-border-angle: 360deg; }
}

@keyframes mobile-recruit-crossfade {
  0% { opacity: 0; transform: scale(1.025); }
  6%, 29% { opacity: 1; transform: scale(1); }
  38%, 100% { opacity: 0; transform: scale(1.012); }
}

.top-recruit-link__visual {
  display: none;
}

@media (max-width: 767px) {
  body .page-01 #director .top-director__history h3 {
    font-size: 12px !important;
  }

  body .page-01 #director .top-director__history-list li {
    padding-block: 5px !important;
    font-size: clamp(10.5px, 2.9vw, 12px) !important;
    line-height: 1.45 !important;
  }

  /* Animate only the pill edge; no rotating layer sits behind the button. */
  body .mobile-hours-toggle {
    border-color: transparent !important;
  }

  body .mobile-hours-toggle::before {
    inset: -1px !important;
    padding: 2px !important;
    background: conic-gradient(from var(--mobile-hours-border-angle),
      #1882b0 0deg 62deg,
      #70c7dc 84deg,
      #9bd8c4 104deg,
      #72cbd8 124deg,
      #1882b0 146deg 286deg,
      #83d2c1 310deg,
      #70c7dc 330deg,
      #1882b0 352deg 360deg) !important;
    background-size: auto !important;
    filter: drop-shadow(0 0 2px rgba(31, 173, 190, .28)) !important;
    transform: none !important;
    animation: mobile-hours-border-flow 8s linear infinite !important;
  }

  body .site-footer__brand .site-footer__formal-name {
    font-size: clamp(10.5px, 2.8vw, 11.5px) !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    box-sizing: border-box !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 9px auto 0 !important;
    justify-self: center !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings,
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff span {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(12.5px, 3.45vw, 14px) !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff strong {
    font-size: clamp(18px, 5vw, 21px) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: baseline !important;
    gap: 4px 7px !important;
    padding: 9px 10px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title {
    grid-column: 1 / -1 !important;
    margin-bottom: 2px !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff-label {
    grid-column: 1 !important;
    margin: 0 !important;
    font-size: clamp(10.5px, 2.9vw, 12px) !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff {
    grid-column: 2 !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    margin: 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff span {
    font-size: clamp(10.5px, 2.9vw, 12px) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff span + span::before {
    margin-right: 5px;
    color: #9a704a;
    content: "/";
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff strong {
    font-size: clamp(15.5px, 4.25vw, 17px) !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody tr.is-thursday,
  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody tr.is-thursday > th,
  body .page-01 .top-access__panel--hours .mobile-weekly-table tbody tr.is-thursday > td {
    height: 72px !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot__resume {
    grid-column: 2 !important;
    display: block !important;
    margin: 2px 0 0 !important;
    color: #55717d !important;
    font-size: clamp(8.5px, 2.4vw, 10px) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot {
    box-sizing: border-box !important;
    grid-template-columns: 35px max-content !important;
    justify-content: start !important;
    column-gap: 6px !important;
    width: 100% !important;
    padding: 3px 4px !important;
    border: 0 !important;
    border-radius: 4px;
    background: rgba(224, 246, 252, .58);
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot--surgery {
    background: rgba(252, 239, 234, .62);
  }

  body .page-01 .top-access__panel--hours .mobile-weekly-table .is-thursday .mobile-schedule-slot time {
    justify-self: start !important;
    text-align: left !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span:last-child {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(12.5px, 3.45vw, 14px) !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span:last-child b {
    font-size: 1.08em !important;
  }

  body .page-01 #specialty .top-surgery-record {
    margin-top: 10px !important;
  }

  /* Preserve the supplied emblem colors while keeping only the wordmark white. */
  body .site-footer__family-clinic .site-footer__family-logo img.site-footer__family-art-mark {
    filter: none !important;
  }

  body .site-footer__family-clinic .site-footer__family-logo img.site-footer__family-art-word {
    filter: brightness(0) invert(1) !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner {
    isolation: isolate !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::before {
    display: none !important;
    content: none !important;
  }

  body .page-01 .top-recruit-link > .top-recruit-link__inner::after {
    z-index: 1 !important;
    background:
      linear-gradient(180deg,
        rgba(8, 72, 101, .04) 0%,
        rgba(8, 73, 103, .2) 36%,
        rgba(6, 57, 85, .54) 100%) !important;
  }

  body .page-01 .top-recruit-link__visual {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
  }

  body .page-01 .top-recruit-link__visual-item {
    position: absolute;
    inset: 0;
    display: block;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    animation: mobile-recruit-crossfade 18s ease-in-out infinite;
    filter: brightness(1.14) saturate(.96);
    will-change: opacity, transform;
  }

  body .page-01 .top-recruit-link__visual-item--team {
    background-image: url("../img/optimized/recruit-team-meeting.jpg");
    background-position: 48% center;
  }

  body .page-01 .top-recruit-link__visual-item--learning {
    background-image: url("../img/optimized/recruit-learning-meeting.jpg");
    background-position: 52% center;
    animation-delay: -6s;
  }

  body .page-01 .top-recruit-link__visual-item--outing {
    background-image: url("../img/optimized/recruit-okinawa-trip-new.jpg");
    background-position: 50% 58%;
    animation-delay: -12s;
  }

  body .page-01 .top-recruit-link__copy {
    z-index: 2 !important;
  }

  body .page-01 .top-recruit-link__copy h2 {
    color: #fff !important;
    font-weight: 850 !important;
    text-shadow: 0 2px 10px rgba(0, 32, 52, .72), 0 1px 2px rgba(0, 32, 52, .82) !important;
  }

  body .page-01 .top-recruit-link__eyebrow > span,
  body .page-01 .top-recruit-link__lead {
    color: rgba(255, 255, 255, .96) !important;
    opacity: 1 !important;
    text-shadow: 0 1px 6px rgba(0, 32, 52, .75) !important;
  }

  body .page-01 .top-recruit-link__lead {
    font-weight: 650 !important;
  }

  body .page-01 .top-recruit-link__topics li {
    border-color: rgba(255, 255, 255, .72) !important;
    background: rgba(2, 48, 75, .28) !important;
    color: #fff !important;
    backdrop-filter: blur(2px);
  }

  body .page-01 .top-recruit-link__copy > a,
  body .page-01 .top-recruit-link__copy > a * {
    text-shadow: none !important;
    filter: none !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body .mobile-hours-toggle::before {
    background-position: 50% 50% !important;
    animation: none !important;
  }

  body .page-01 .top-recruit-link__visual-item {
    opacity: 0 !important;
    transform: none !important;
    animation: none !important;
  }

  body .page-01 .top-recruit-link__visual-item--team {
    opacity: 1 !important;
  }
}

/* 2026-09-04 desktop lock: keep the first-visit cutoff inside its panel. */
.first-visit-summary--photo .first-visit-summary__belongings li > span {
  white-space: nowrap;
}

@media (min-width: 901px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff span {
    display: flex !important;
    min-width: 0 !important;
    justify-content: center !important;
    gap: 2px !important;
    font-size: clamp(9.5px, .8vw, 12px) !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff span + span::before {
    display: none !important;
    content: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff strong {
    font-size: clamp(16px, 1.3vw, 20px) !important;
  }
}

@media (min-width: 1024px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__guide {
    grid-template-columns: minmax(0, 1fr) minmax(245px, .78fr) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__guide-title strong {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }
}

@media (min-width: 901px) and (max-width: 1023px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice .first-visit-summary__cutoff {
    grid-template-columns: 1fr !important;
    gap: 1px !important;
  }
}

/* Desktop header: enlarge the full clinic lockup while preserving navigation room. */
@media (min-width: 1024px) {
  body .header-01 .header-06.site-logo-link {
    gap: 10px !important;
  }

  body .header-01 .header-brand-logo .header-logo-image {
    width: 158px !important;
    max-width: 158px !important;
    height: auto !important;
  }

  body .header-01 .header-brand-en {
    margin-top: -4px !important;
    font-size: 7px !important;
    letter-spacing: .1em !important;
  }

  body .header-01 .header-brand-history {
    padding-left: 11px !important;
    transform: translateY(3px) !important;
  }

  body .header-01 .header-brand-history strong {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }

  body .header-01 .header-brand-history small {
    margin-top: 4px !important;
    font-size: 8.5px !important;
    letter-spacing: .14em !important;
  }
}

/* 2026-09-04: remove formulaic left-accent card styling from the home page. */
body .page-01 .first-visit-summary.first-visit-summary--photo::before {
  display: none !important;
  content: none !important;
}

body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__belongings {
  border: 1px solid rgba(43, 161, 207, .22) !important;
  border-radius: 6px !important;
}

body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__notice {
  border: 1px solid rgba(224, 153, 54, .34) !important;
  border-radius: 6px !important;
}

body .page-01 .today-hours {
  border: 1px solid rgba(27, 168, 223, .34) !important;
}

body .page-01 .hero-surgery-record {
  border-left: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .62) !important;
}

body .page-01 #director .top-director__name {
  border-left: 0 !important;
}

body .page-01 #director .top-director__lead {
  padding-left: 0 !important;
  border-left: 0 !important;
  border-top: 1px solid rgba(12, 160, 215, .24) !important;
  border-bottom: 1px solid rgba(12, 160, 215, .24) !important;
}

body .page-01 .top-surgery-chart {
  border: 1px solid rgba(39, 175, 224, .26) !important;
}

body .page-01 .top-contact-feature--refresh .contact-hours-panel {
  border-left: 0 !important;
  border-top: 1px solid rgba(22, 143, 208, .25) !important;
  border-bottom: 1px solid rgba(22, 143, 208, .25) !important;
}

body .page-01 #contact-lens-care .top-contact-feature__lead {
  border-left: 0 !important;
  border-top: 1px solid rgba(44, 174, 223, .25) !important;
  border-bottom: 1px solid rgba(44, 174, 223, .25) !important;
  border-radius: 0 !important;
}

body .page-01 #gallery .top-gallery__head {
  padding-left: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid rgba(25, 169, 217, .28) !important;
}

body .page-01 .top-recruit-link__message {
  border-left: 0 !important;
  border-top: 1px solid rgba(216, 243, 111, .52) !important;
  border-bottom: 1px solid rgba(216, 243, 111, .52) !important;
}

/* Home: make the mobile news switcher and first-visit guide calm, legible cards. */
@media (max-width: 767px) {
  body .page-01 .top-news {
    box-sizing: border-box !important;
    padding: 32px 20px 36px !important;
    overflow: hidden !important;
    background: #f6fcfe !important;
    border-top: 1px solid rgba(25, 159, 208, .16) !important;
    border-bottom: 1px solid rgba(25, 159, 208, .16) !important;
    box-shadow: none !important;
  }

  body .page-01 .top-news::before,
  body .page-01 .top-news::after,
  body .page-01 .top-news .top-news__pixel {
    display: none !important;
    content: none !important;
  }

  body .page-01 .top-news .top-news__inner,
  body .page-01 .top-news .top-news__mobile-heading {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body .page-01 .top-news .top-news__mobile-heading {
    margin-bottom: 12px !important;
    padding: 0 0 12px !important;
  }

  body .page-01 .top-news .top-news__mobile-heading::after {
    width: 44px !important;
    height: 3px !important;
    background: #149bd2 !important;
    border-radius: 99px !important;
  }

  body .page-01 .top-news .top-news__tab-guide {
    display: none !important;
  }

  body .page-01 .top-news .top-news__tab-guide span { display: none !important; }

  body .page-01 .top-news .top-news__mobile-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: min(100%, 330px) !important;
    margin: 0 auto 18px !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e5f1f5 !important;
    box-shadow: inset 0 0 0 1px rgba(24, 111, 148, .08) !important;
  }

  body .page-01 .top-news .top-news__mobile-tabs button {
    min-height: 43px !important;
    padding: 6px 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #315f73 !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .2s ease, color .2s ease !important;
  }

  body .page-01 .top-news .top-news__mobile-tabs button::after {
    display: none !important;
    content: none !important;
  }

  body .page-01 .top-news .top-news__mobile-tabs button[aria-selected="true"] {
    background: linear-gradient(135deg, #2cb6e3, #078dcc) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  body .page-01 .top-news .top-notice-row::before {
    display: none !important;
    content: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "photo" "body" !important;
    width: calc(100% - 40px) !important;
    max-width: 420px !important;
    margin: 24px auto 36px !important;
    overflow: hidden !important;
    border: 1px solid #b9e2ef !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 13px 28px rgba(24, 105, 136, .13) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__photo {
    grid-area: photo !important;
    order: unset !important;
    width: 100% !important;
    height: 142px !important;
    min-height: 142px !important;
    margin: 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 44% !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__body {
    display: block !important;
    grid-area: body !important;
    position: relative !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 17px 17px 16px !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow {
    display: block !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #149bd2 !important;
    font-size: .6rem !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #164f69 !important;
    font-size: clamp(1.16rem, 5.4vw, 1.4rem) !important;
    line-height: 1.25 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__lead {
    display: block !important;
    margin: 8px 0 10px !important;
    padding: 0 !important;
    color: #426d80 !important;
    font-size: .76rem !important;
    line-height: 1.65 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__points {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 11px !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
    color: #1e6682 !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    list-style: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__points li {
    margin: 0 !important;
    padding: 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__points li::before {
    content: "✓" !important;
    margin-right: 3px !important;
    color: #149bd2 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 152px !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 8px 0 13px !important;
    border: 1px solid #159bd1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #127eb2 !important;
    font-size: .72rem !important;
    box-shadow: none !important;
  }
}

/* Mobile first-visit: photograph first, with a compact information band. */
@media (max-width: 767px) {
  body .page-01 .first-visit-summary.first-visit-summary--photo {
    display: block !important;
    position: relative !important;
    width: calc(100% - 40px) !important;
    max-width: 420px !important;
    height: 252px !important;
    min-height: 252px !important;
    margin: 24px auto 36px !important;
    overflow: hidden !important;
    border: 1px solid #a8dae9 !important;
    border-radius: 20px !important;
    background: #dff3f8 !important;
    box-shadow: 0 12px 28px rgba(21, 100, 130, .14) !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__photo {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 48% !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__body {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 13px 15px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(12, 91, 125, .94) !important;
    box-shadow: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__eyebrow {
    margin: 0 0 4px !important;
    color: #bcefff !important;
    font-size: .58rem !important;
    letter-spacing: .18em !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo h2 {
    margin: 0 !important;
    padding-right: 4px !important;
    color: #fff !important;
    font-size: clamp(1.08rem, 5vw, 1.3rem) !important;
    line-height: 1.22 !important;
    white-space: nowrap !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__lead {
    max-width: 260px !important;
    margin: 5px 0 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: .68rem !important;
    line-height: 1.55 !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__points {
    display: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__button {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .78) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__button strong {
    display: none !important;
  }

  body .page-01 .first-visit-summary.first-visit-summary--photo .first-visit-summary__button span {
    display: block !important;
    font-size: 1.15rem !important;
    line-height: 1 !important;
  }
}

/* Mobile specialties: one horizontal card per service, with context beside the existing image. */
@media (max-width: 767px) {
  body .page-01 .top-specialty__cards {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body .page-01 .top-specialty-card {
    display: grid !important;
    grid-template-columns: 122px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr auto !important;
    column-gap: 12px !important;
    row-gap: 5px !important;
    min-height: 146px !important;
    height: auto !important;
    padding: 11px !important;
  }

  body .page-01 .top-specialty-card__label,
  body .page-01 .top-specialty-card__data,
  body .page-01 .top-specialty-card__note {
    display: none !important;
  }

  body .page-01 .top-specialty-card h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(12px, 3.4vw, 14px) !important;
    line-height: 1.4 !important;
  }

  body .page-01 .top-specialty-card__photo {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    width: 122px !important;
    height: 122px !important;
    min-height: 122px !important;
    margin: 0 !important;
  }

  body .page-01 .top-specialty-card__photo img {
    width: 122px !important;
    height: 122px !important;
    min-height: 122px !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  body .page-01 .top-specialty-card__text {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #45697b !important;
    font-size: 10.5px !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  body .page-01 .top-specialty-card__button {
    grid-column: 2 !important;
    grid-row: 3 !important;
    min-height: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 5px 4px 5px 8px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  body .page-01 .top-specialty-card__button span {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Mobile first-visit banner: keep the waiting-room photo dominant in a shallow format. */
@media (max-width: 767px) {
  body .page-01 #first-visit-summary.first-visit-summary.first-visit-summary--photo.first-visit-summary--fv {
    position: relative !important;
    display: block !important;
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
    height: 184px !important;
    min-height: 184px !important;
    margin: 18px auto 28px !important;
    overflow: hidden !important;
    border: 1px solid #acdce9 !important;
    border-radius: 18px !important;
    background: #dff3f8 !important;
    box-shadow: 0 10px 24px rgba(21, 100, 130, .12) !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv > .first-visit-summary__photo {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv > .first-visit-summary__photo::after {
    display: none !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv > .first-visit-summary__photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 48% !important;
    filter: saturate(.96) contrast(1.02) !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv > .first-visit-summary__body {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 48px 58px 13px 15px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(0deg, rgba(5, 67, 94, .94) 0%, rgba(5, 67, 94, .8) 36%, rgba(5, 67, 94, 0) 76%) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__body::before,
  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__eyebrow,
  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__points {
    display: none !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(1.02rem, 4.7vw, 1.22rem) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 8px rgba(0, 48, 70, .28) !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv p.first-visit-summary__lead {
    display: block !important;
    max-width: 310px !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: .64rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__button {
    position: absolute !important;
    top: auto !important;
    right: 13px !important;
    bottom: 13px !important;
    left: auto !important;
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .15) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__button strong {
    display: none !important;
  }

  body .page-01 #first-visit-summary.first-visit-summary--fv .first-visit-summary__button span {
    display: block !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 1.08rem !important;
    line-height: 1 !important;
  }
}

/* Keep the closed-day answer distinct after the mobile cascade locks. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .today-hours .today-hours__status--closed {
    border-color: #efc9bf !important;
    background: linear-gradient(105deg, #fff5f1, #fffaf8) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status--closed > span,
  body .page-01 .hero-05 > .today-hours .today-hours__status--closed .today-hours__status-date,
  body .page-01 .hero-05 > .today-hours .today-hours__status--closed .today-hours__status-particle {
    color: #8c4437 !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status--closed > span i {
    background: #d86550 !important;
    box-shadow: 0 0 0 4px rgba(216, 101, 80, .12) !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__status--closed > strong {
    color: #b53f2e !important;
  }
}

/* Status suffix: center the smaller "です" against the main status on every viewport. */
body .page-01 .hero-05 > .today-hours .today-hours__status > strong {
  display: inline-flex !important;
  align-items: center !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status > strong > span {
  position: static !important;
  top: auto !important;
  align-self: center !important;
  line-height: 1 !important;
  transform: none !important;
  vertical-align: initial !important;
}

/* The dated status row replaces the redundant "本日の診療時間" heading. */
body .page-01 .hero-05 > .today-hours .today-hours__head {
  display: none !important;
}

/* Mobile hours CTA: retain the clear filled-button treatment used on desktop. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .today-hours .today-hours__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
    margin-top: 6px !important;
    padding: 8px 16px !important;
    border: 1px solid #cbe6f1 !important;
    border-radius: 12px !important;
    background: #eef8fc !important;
    box-shadow: none !important;
    color: #087eae !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .03em !important;
    text-decoration: none !important;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__link::after {
    margin-left: 6px;
    content: "→";
    font-size: 13px;
    line-height: 1;
    opacity: .68;
  }

  body .page-01 .hero-05 > .today-hours .today-hours__link:active {
    background: #e4f4fa !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

/* Today's status is emphasized typographically, without a surrounding card. */
body .page-01 .hero-05 > .today-hours .today-hours__status,
body .page-01 .hero-05 > .today-hours .today-hours__status--open,
body .page-01 .hero-05 > .today-hours .today-hours__status--closed {
  margin-bottom: 7px !important;
  padding: 5px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status > span {
  font-weight: 900 !important;
}

body .page-01 .hero-05 > .today-hours .today-hours__status > strong {
  font-weight: 900 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .8) !important;
}

/* Keep the mobile photo caption clear of the headline and the hours card. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09 {
    width: min(252px, calc(100% - 28px)) !important;
  }

  body .page-01 .hero-05 > .mobile-hero-summary .mobile-hero-summary__lead {
    top: calc(var(--mobile-fv-photo-height) - 138px) !important;
    width: min(252px, calc(100% - 28px)) !important;
    max-width: none !important;
    padding: 8px 10px !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  body .page-01 .hero-05 > .today-hours {
    margin-top: -72px !important;
  }
}

/* Contact-lens feature: keep the detail-page route visible on desktop. */
body .page-01 #contact-lens-care .top-contact-feature__cta {
  display: inline-flex !important;
  box-sizing: border-box !important;
  min-width: min(100%, 310px) !important;
  min-height: 48px !important;
  margin-top: 18px !important;
  padding: 11px 18px 11px 21px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border: 1px solid #078dca !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(128deg, #17aed9 0%, #0784c4 100%) !important;
  box-shadow: 0 8px 20px rgba(7, 119, 179, .16) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body .page-01 #contact-lens-care .top-contact-feature__cta b {
  flex: 0 0 auto !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

body .page-01 #contact-lens-care .top-contact-feature__cta:hover {
  filter: brightness(1.04) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(7, 119, 179, .22) !important;
}

@media (min-width: 768px) {
  body .page-01 #contact-lens-care .top-contact-feature__label {
    position: relative !important;
    display: flex !important;
    width: fit-content !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #1397cc !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: .24em !important;
  }

  body .page-01 #contact-lens-care .top-contact-feature__label::before {
    width: 24px !important;
    height: 3px !important;
    flex: 0 0 24px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #1ca7d9 0 40%, #76c858 40% 62%, #f0ad45 62% 82%, #e86e9d 82%) !important;
    content: "" !important;
  }
}

@media (max-width: 767px) {
  body .page-01 #contact-lens-care .top-contact-feature__cta {
    display: none !important;
  }

  body .page-01 #contact-lens-care .mobile-section-link {
    display: flex !important;
    box-sizing: border-box !important;
    width: min(calc(100% - 40px), 310px) !important;
    max-width: 310px !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 18px auto 20px !important;
    padding: 11px 18px 11px 21px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    border: 1px solid #078dca !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(128deg, #17aed9 0%, #0784c4 100%) !important;
    box-shadow: 0 8px 20px rgba(7, 119, 179, .16) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
  }

  body .page-01 #contact-lens-care .mobile-section-link b {
    flex: 0 0 auto !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }
}
/* Keep the director's full face visible in the pediatric-care photo. */
body .page-01 #children-care .top-specialty-card__photo img {
  object-position: center 24% !important;
}

/* Keep the director visible behind the microscope in the MIGS photo. */
body .page-01 #glaucoma-care .top-specialty-card__photo img {
  object-position: center 8% !important;
}

/* Keep the reception staff member's face inside the flow-card crops. */
body .page-01 .top-flow__item:nth-child(1) .top-flow__icon img {
  object-position: center top !important;
}

body .page-01 .top-flow__item:nth-child(2) .top-flow__icon img {
  object-position: 55% 44% !important;
  transform: scale(1.24) !important;
  transform-origin: 55% 44% !important;
}

body .page-01 .top-flow__item:nth-child(3) .top-flow__icon img {
  object-position: 58% 48% !important;
  transform: scale(1.24) !important;
  transform-origin: 58% 48% !important;
}

body .page-01 .top-flow__item:nth-child(4) .top-flow__icon img {
  object-position: 62% top !important;
  transform: scale(1.2) !important;
  transform-origin: 62% top !important;
}

/* The director CTA's white circle needs a blue arrow, not inherited white text. */
body .page-01 #director .top-director__link .top-director__link-arrow {
  color: #0879b7 !important;
  -webkit-text-fill-color: #0879b7 !important;
}

/* Keep the hero slide indicator clear of the overlapping clinic photo rail. */
@media (min-width: 1024px) {
  .hero-05 > .hero-13.js-hero-dots {
    bottom: 50px !important;
  }
}

/* Make each of the four visit-flow cards respond clearly to a desktop hover. */
body .page-01 .top-flow__item {
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

body .page-01 .top-flow__icon img {
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), filter .28s ease;
}

@media (hover: hover) and (pointer: fine) {
  body .page-01 .top-flow__item:hover {
    transform: translateY(-6px);
    border-color: #8acdec;
    box-shadow: 0 20px 40px rgba(24, 83, 121, .17);
  }

  body .page-01 .top-flow__item:hover .top-flow__icon img {
    filter: saturate(1.05) contrast(1.03);
  }

  body .page-01 .top-flow__item:nth-child(1):hover .top-flow__icon img {
    transform: scale(1.05) !important;
  }

  body .page-01 .top-flow__item:nth-child(2):hover .top-flow__icon img,
  body .page-01 .top-flow__item:nth-child(3):hover .top-flow__icon img {
    transform: scale(1.29) !important;
  }

  body .page-01 .top-flow__item:nth-child(4):hover .top-flow__icon img {
    transform: scale(1.25) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .page-01 .top-flow__item,
  body .page-01 .top-flow__icon img {
    transition: none !important;
  }

  body .page-01 .top-flow__item:hover {
    transform: none;
  }
}

/* Keep the age label beside its illustration on narrow screens. The generic
   symptom-card rule above uses a 30px icon column, which is too small here. */
@media (max-width: 767px) {
  body .page-01 #symptom-guide #age-panel .symptom-guide__age-card {
    grid-template-columns: clamp(54px, 19vw, 72px) minmax(0, 1fr) !important;
    gap: clamp(9px, 3vw, 12px) !important;
    min-height: 100px !important;
    padding: 10px 38px 10px 12px !important;
  }

  body .page-01 #symptom-guide #age-panel .symptom-guide__age-illustration {
    width: min(100%, 72px) !important;
    height: auto !important;
    aspect-ratio: 1 !important;
  }

  body .page-01 #symptom-guide #age-panel .symptom-guide__age-card > span:nth-child(2) {
    min-width: 0;
    grid-column: 2;
    overflow-wrap: anywhere;
  }

  body .page-01 #symptom-guide #age-panel .symptom-guide__age-card strong {
    display: block !important;
    overflow: visible !important;
    font-size: clamp(13px, 3.8vw, 15px) !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: unset;
  }

  body .page-01 .top-access__panel--hours .top-hours-summary__annotation,
  body .page-01 .top-access__panel--hours .top-hours-summary__annotation > span,
  body .page-01 .mobile-hours-reception__annotation {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body .page-01 .mobile-hours-reception__main > .reception-start-times {
    min-width: 0;
    white-space: normal !important;
  }
}

/* Center the director within the wide staff-photo frame by cropping the empty right side. */
@media (min-width: 1024px) {
  .top-concept__photo img[src$="staff-group-2026-10.jpg"] {
    transform: scale(1.25);
    transform-origin: 8% 28%;
  }
}

/* The English pill above the FV copy is unnecessary on mobile. */
@media (max-width: 767px) {
  body .page-01 .hero-05 .hero-09::before {
    display: none !important;
    content: none !important;
  }
}
/* Fill the mobile FV with the team photo, centered on the director. */
@media (max-width: 767px) {
  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] {
    background: #f5eee7 var(--hero-slide-image) center / cover no-repeat !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"]::before {
    content: "" !important;
    background: var(--hero-slide-image) center / cover no-repeat !important;
    filter: blur(16px) saturate(.8) !important;
    opacity: .5 !important;
  }

  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] img {
    height: var(--mobile-fv-photo-height) !important;
    min-height: var(--mobile-fv-photo-height) !important;
    object-fit: cover !important;
    object-position: 38% 42% !important;
    filter: none !important;
  }
}

/* On desktop, enlarge the team photo from its left edge so the director sits at the frame center. */
@media (min-width: 1024px) {
  body .page-01 .hero-05 > .hero-06[data-hero-kind="staff"] img {
    transform: scale(1.17) !important;
    transform-origin: left top !important;
  }
}
