@charset "UTF-8";
@media(min-width:1400px){.hero-row{min-height:620px}.hero-art{height:530px}}
@media(max-width:1199.98px){.navbar .nav-link{font-size:18px;padding:10px 8px!important}.brand-name{font-size:24px}.entry-card{padding:25px 18px}.contact-panel{padding:32px}}
@media(max-width:991.98px){.navbar{min-height:80px}.navbar-collapse{padding:15px 0}.navbar .nav-link{padding:10px 5px!important;font-size:18px}.navbar-cta{display:inline-block}.hero-row{min-height:500px}.hero h1{font-size:64px}.hero-subtitle{font-size:22px}.hero-art{height:400px}.hero-copy{padding-top:40px;padding-bottom:80px}.entry-card{padding:25px}.contact-panel{padding:30px}.contact-brand{font-size:30px}}
@media(max-width:767.98px){.brand-name{font-size:22px}.brand-seal{width:39px;height:39px;font-size:24px}.brand-en{font-size:10px}.navbar{min-height:74px}.hero-row{min-height:0}.hero-copy{padding-top:36px;padding-bottom:0;text-align:center}.hero h1{font-size:60px;margin:15px 0}.hero-subtitle{font-size:22px}.hero-description{margin:15px auto 20px;font-size:16px}.hero-benefits{justify-content:center;margin-bottom:20px}.hero-art{height:300px;margin-top:5px;margin-bottom:35px}.hero-image-note{bottom:62px;right:30px}.hero-emblem{bottom:4px;width:36px;height:36px;left:calc(50% - 18px)}.entry-section{padding-top:25px}.entry-card{padding:23px}.section-space{padding:27px 0}.section-heading{margin-bottom:21px}.section-heading h2{font-size:26px}.more-link{font-size:14px}.news-row{padding:13px}.news-date{min-width:70px}.news-title{font-size:16px}.editorial-body{padding:21px}.service-tile{padding:20px 8px 16px;font-size:16px}.service-tile .line-icon{width:45px;height:45px}.column-card h3{font-size:20px}.contact-section{padding:30px 0}.contact-panel{padding:27px 22px;border-radius:20px}.contact-brand{font-size:30px}.contact-brand br{display:none}.contact-en{margin-bottom:20px}.back-top{right:16px;bottom:10px;width:52px;height:52px;font-size:27px}.modal-title{font-size:22px}}
@media(max-width:374.98px){.brand-name{font-size:19px;letter-spacing:.08em}.brand-en{font-size:9px;letter-spacing:.05em}.navbar-brand{gap:8px}.brand-seal{width:32px;height:32px;font-size:21px}.navbar-toggler{padding:4px 8px}.hero h1{font-size:54px}.hero-subtitle{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1199.98px){.brand-logo{width:180px}}
@media(max-width:767.98px){.brand-logo{width:180px}.contact-logo{width:255px}.contact-logo-link{margin:0 0 5px}}
@media(max-width:374.98px){.brand-logo{width:180px}}

@media (max-width:767.98px), (max-width:991.98px) and (max-height:500px){
  .floating-contact{top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;gap:8px;padding:10px 64px calc(10px + env(safe-area-inset-bottom,0px)) 12px;background:#fcfaf7f5;border-top:1px solid #e8e0e7}
  .floating-contact-link{width:52px;height:52px}
  .floating-contact-link img{width:32px;height:32px}
  .back-top{bottom:calc(10px + env(safe-area-inset-bottom,0px));right:16px;z-index:1031;width:52px;height:52px;font-size:27px}
  .floating-contact-label{display:none}
  .site-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
}


@media(max-width:575.98px){
  .doctor-profile-body{padding:22px}
  
  .doctor-profile-photo{width:180px;margin:0 auto;display:block}
  .doctor-profile-name{font-size:29px}
  
  
  
}

@media(max-width:991.98px){.hero .hero-title{font-size:57px}.hero-copy{padding-bottom:110px}}
@media(max-width:767.98px){
  .hero .hero-title{font-size:48px;letter-spacing:.08em;margin:15px 0}
  .hero-copy{padding-top:35px;padding-bottom:0}
  .hero-subtitle{font-size:20px;letter-spacing:.08em}
  .hero-campaign-actions{justify-content:center;gap:10px 18px}
  .hero-art{height:280px;margin-bottom:104px}
  .hero-campaign-controls.carousel-indicators{bottom:54px;gap:7px}
  .hero-campaign-controls.carousel-indicators [data-bs-target]{padding:7px 13px;min-height:44px}
  .hero-campaign-note{bottom:82px;right:0;left:0;text-align:center;font-size:12px}
}
@media(max-width:374.98px){.hero .hero-title{font-size:43px}.hero-subtitle{font-size:18px}.hero-description{font-size:16px}}

@media(max-width:767.98px) {
  .hero-depth-glow { width: 580px; right: -310px; top: 10%; }
  .hero-depth-rings { width: 360px; right: -165px; top: 28%; opacity: .5; }
  .hero-botanical { width: 120px; left: -52px; top: -53px; opacity: .25; }
  .hero-botanical-secondary { width: 105px; right: -57px; bottom: 125px; opacity: .22; }
  .section-botanical { width: 150px; opacity: .15; }
  .section-botanical-right { right: -105px; }
  .section-botanical-left { left: -115px; }
}

@media(max-width:575.98px) {
  .case-section-label { font-size: 13px; }
  .case-slider-footer { padding-right: 0; }
  .case-slider-hint,.case-slider-status { font-size: 13px; }
  .case-modal-body { padding: 14px; }
  .case-modal-summary { font-size: 16px; }
}

@media(min-width:1400px) { .hero-art.hero-photo { max-width: 530px; } }
@media(max-width:991.98px) { .hero-art.hero-photo { max-width: 400px; } }
@media(max-width:767.98px) { .hero-art.hero-photo { max-width: 280px; border-radius: 20px; } }
@media(max-width:767.98px) { .hero-art-depth:has(.hero-photo) { padding-bottom: 0; } }
@media(max-width:767.98px) { .hero-art.hero-photo { margin-bottom: 130px; } .hero-campaign-note { left: 50%; right: auto; bottom: 108px; transform: translateX(-50%); white-space: nowrap; } }

@media(max-width:767.98px) {
  .hero-carousel-toolbar { bottom: 54px; }
  .hero-carousel-toolbar .hero-campaign-controls { bottom: auto; }
}
@media(max-width:575.98px) {
  .hero-carousel-toolbar .hero-campaign-controls [data-bs-target] { padding-inline: 13px; }
  .campaign-label-full { display: none; }
  .campaign-label-short { display: inline; }
}

/* 草稿比例：只調整容器寬度，欄位仍由 Bootstrap col-* 分配。 */
@media(min-width:1400px) { .container { max-width: 1240px; } }
@media(min-width:768px) and (max-width:991.98px) {
  .hero .hero-row { min-height: 560px; }
  .hero-copy { padding-inline: 12px; }
  .hero-tag { font-size: 14px; letter-spacing: .08em; }
  .hero-benefits { font-size: 14px; gap: 6px 10px; padding-inline: 10px; }
  .hero-subtitle { font-size: 20px; }
  .campaign-label-full { display: none; }
  .campaign-label-short { display: inline; }
}
@media(max-width:767.98px) {
  .hero .hero-row { min-height: 0; }
  .hero-copy { padding: 36px 18px 22px; }
  .hero-subtitle { margin-bottom: 22px; }
  .hero-benefits { font-size: 14px; gap: 6px 12px; }
  .hero-media-column { overflow: hidden; }
  .hero-media-column .hero-art-depth { position: relative; padding-bottom: 0; width: calc(100% + 24px); margin-left: -12px; height: 340px; }
  .hero-art.hero-photo { width: 100%; max-width: none; height: 100%; aspect-ratio: auto; margin: 0; border-radius: 0; box-shadow: none; object-fit: cover; object-position: center 42%; mask-image: linear-gradient(180deg,transparent 0%,#000 16%); }
  .hero-carousel .carousel-item > .container { padding-bottom: 50px; }
  .hero-carousel-toolbar { left: 50%; bottom: 54px; }
  .hero-campaign-note { left: 50%; right: auto; bottom: 58px; transform: translateX(-50%); white-space: nowrap; }
  .section-space { padding: 30px 0; }
  .entry-section { padding-top: 25px; }
  .section-heading h2 { font-size: 26px; letter-spacing: .08em; }
  .entry-card { padding: 24px; }
  .service-tile .line-icon { width: 49px; height: 49px; }
}
@media(max-width:374.98px) {
  .hero-copy { padding-inline: 8px; }
  .hero-tag { font-size: 14px; letter-spacing: .1em; }
  .hero .hero-title { font-size: 43px; }
  .hero-media-column .hero-art-depth { height: 300px; }
  .section-heading h2 { font-size: 24px; }
  .section-heading h2:after { margin-left: 9px; }
}

@media(max-width:767.98px) {
  .clinic-map-wrap iframe { height: 300px; }
  .clinic-map-wrap { border-radius: 16px; }
  .clinic-location { margin-bottom: 28px; }
  .doctor-message { padding: 20px; }
  .doctor-message blockquote { font-size: 20px; }
}

@media(max-width:767.98px) {
  .ambient-desktop-only { display: none; }
  .float-hero-leaf { left: 1%; top: 29%; --float-size: 34px; --float-opacity: .32; }
  .float-hero-dot { left: auto; right: 6%; top: 8%; --float-size: 4px; --float-opacity: .4; }
  .float-hero-orb { left: -35px; top: 10%; --float-size: 105px; --float-opacity: .3; }
  .float-edge-dot { right: 2%; --float-size: 3px; --float-opacity: .35; }
  #columns .float-edge-dot { left: 2%; }
}

@media(max-width:767.98px) { .hero-wave { height: 40px; } }

@media(max-width:767.98px) {
  .doctor-home { padding: 24px; }
  .doctor-home-portrait { max-width: 260px; margin-inline: auto; }
  .doctor-home h3 { font-size: 29px; }
  .doctor-home-lead { font-size: 18px; }
}
@media(max-width:374.98px) {
  .doctor-home { padding: 20px; }
  .doctor-home h3 span { display: block; margin: 6px 0 0; }
}

/* 手機檢查修正：橫放選單可捲動，門診表提示。 */
.schedule-scroll-hint { display: none; }
@media (max-width: 991.98px) {
  .navbar-collapse { max-height: calc(100dvh - 90px); overflow-y: auto; }
}
@media (max-width: 767.98px) {
  .schedule-scroll-hint { display: block; margin: 10px 0 0; color: #dfcfe6; font-size: 13px; }
}

/* 手機 H2 放大，窄螢幕仍維持標題與操作連結的間距。 */
@media (max-width: 767.98px) {
  .section-heading h2 { font-size: 30px; }
  .entry-card h2 { font-size: 26px; }
}
@media (max-width: 375px) {
  .section-heading h2 { font-size: 28px; }
}
/* 門診資訊在手機改用時段卡片，免橫向捲動。 */
.schedule-mobile { display: none; }
@media (max-width: 767.98px) {
  .schedule-wrap, .schedule-scroll-hint { display: none; }
  .schedule-mobile { display: grid; gap: 12px; }
  .schedule-mobile-card { margin: 0; padding: 16px; border: 1px solid #8a729460; border-radius: 12px; background: #ffffff06; }
  .schedule-mobile-card dt { margin-bottom: 10px; color: #e2c9a2; font-size: 18px; font-weight: 700; line-height: 1.7; }
  .schedule-mobile-card dd { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin: 6px 0 0; color: #f0e6f4; font-size: 18px; }
  .schedule-mobile-card time { white-space: nowrap; font-variant-numeric: tabular-nums; }
  .schedule-mobile-saturday { border-color: #d5c5a860; background: #d5c5a810; }
  .schedule-mobile-closed { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
  .schedule-mobile-closed dt, .schedule-mobile-closed dd { margin: 0; }
  .schedule-mobile-closed dt { color: #ddd0e4; }
  .schedule-notes p:first-child { display: none; }
}

@media (max-width: 767.98px) {
  .floating-contact-link::after, .back-top::after { inset: 5px; }
  .floating-contact-link:hover, .floating-contact-link:focus-visible, .back-top:hover, .back-top:focus-visible { transform: translateY(-2px); }
}

/* 手機橫放：選單預留底部工具列的高度，所有選項仍可在選單內捲動。 */
@media (max-width:767.98px), (max-width:991.98px) and (max-height:500px) {
  .navbar-collapse { max-height: max(100px, calc(100dvh - 160px - env(safe-area-inset-bottom,0px))); overscroll-behavior-y: contain; }
  .floating-contact-link::after,.back-top::after { inset: 5px; }
}
