/* Shared site design system共用網站設計系統 */
:root{--c-primary:#56679b;--c-primary-dark:#24396f;--c-primary-soft:#eef2ff;--c-text:#364264;--c-muted:#68738f;--c-line:#d9def2;--c-bg:#f7f8fc;--c-surface:#fff;--c-white:#fff;--c-nav:#394774;--c-nav-active:#17275b;--c-footer:#DCE7F9;--c-footer-ink:#46547f;--c-footer-strong:#2f3f76;--c-footer-muted:#6c7696;--c-footer-olive:#53679f;--c-footer-accent:#8796c6;--c-footer-line:#cbd2eb;--c-footer-soft:#f7f8ff;--c-footer-soft-line:#dfe3f4;--c-footer-highlight:#d7ddff;--c-social:#8090c1;--g-main:linear-gradient(135deg,#52649a,#8e9dcd);--g-pale:linear-gradient(135deg,#fbfcff,#eef2fb 52%,#fff);--g-page-hero:linear-gradient(135deg,#f8faff,#eaf0ff 64%,#fff);--g-news-hero:linear-gradient(135deg,#fafbf7,#edf0e5 58%,#fff);--g-social-instagram:linear-gradient(135deg,#833ab4,#fd1d1d 52%,#fcb045);--shadow:0 1.25rem 3.5rem rgba(61,75,126,.16);--shadow-sm:0 .75rem 1.75rem rgba(61,75,126,.12);--radius:1.5rem;--font-serif:"Noto Serif Display","Noto Serif JP",serif;--font-sans:"Noto Serif JP","Noto Serif TC","Microsoft JhengHei",serif;--type-body:1rem;--type-small:.875rem;--type-h1:3rem;--type-h2:2rem;--type-h3:1.1rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--font-sans)}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-size:var(--type-body);line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
main{position:relative;background:var(--g-pale)}
h1,h2,h3{margin-top:0;font-family:var(--font-serif);line-height:1.35;text-wrap:balance}
h1{font-size:var(--type-h1)}
h2{font-size:var(--type-h2)}
h3{font-size:var(--type-h3)}
p{margin-top:0}
.container{width:min(100% - 2rem,75rem);margin-inline:auto}
/* Header and navigation頁首與導覽 */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(217,222,242,.78);box-shadow:0 .5rem 1.75rem rgba(73,86,138,.06);backdrop-filter:blur(1rem)}
.site-nav{display:flex;align-items:center;justify-content:space-between;height:82px;padding-inline:4rem}
.brand img{width:16.5rem}
.main-nav .navbar-nav{display:flex;gap:clamp(.85rem,1.3vw,1.5rem);margin:0;padding:0;list-style:none}
.nav-dropdown{position:relative}
.nav-dropdown-label{display:flex;align-items:center}
.nav-submenu-toggle{display:grid;width:2rem;height:2rem;margin-left:.15rem;padding:0;place-items:center;border:0;background:transparent;color:var(--c-nav);font-size:.7rem;transition:color .2s ease}
.nav-dropdown.is-open .nav-submenu-toggle,.nav-dropdown:hover .nav-submenu-toggle,.nav-dropdown:focus-within .nav-submenu-toggle{color:var(--c-nav-active)}
.nav-dropdown.is-open .nav-submenu-toggle i{transform:rotate(180deg)}
.nav-submenu{position:absolute;z-index:1010;top:calc(100% + 1rem);left:50%;display:none;width:max-content;min-width:19rem;margin:0;padding:.75rem;background:rgba(255,255,255,.98);border:1px solid var(--c-line);box-shadow:0 1rem 2.5rem rgba(44,59,108,.16);list-style:none;transform:translateX(-50%)}
.nav-submenu::before{position:absolute;right:0;bottom:100%;left:0;height:1.1rem;content:""}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu{display:grid}
.nav-submenu a{display:flex;align-items:center;min-height:2.55rem;padding:.55rem .9rem;color:#46547f;font-size:.9rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;transition:background-color .2s ease,color .2s ease,padding-left .2s ease}
.nav-submenu a:hover,.nav-submenu a:focus-visible{padding-left:1.15rem;background:var(--c-primary-soft);color:var(--c-primary-dark)}
.nav-link{position:relative;color:var(--c-nav);font-size:1.125rem;font-weight:600;letter-spacing:.1em}
.nav-link:hover,.nav-link.active{color:var(--c-nav-active)}
.nav-link.active::after{position:absolute;bottom:-.25rem;left:50%;width:calc(100% - .25rem);height:.125rem;background:var(--c-primary);content:"";transform:translateX(-50%)}
.nav-toggle{display:none;width:3rem;height:3rem;border:0;border-radius:.875rem;background:var(--c-primary-soft);color:var(--c-primary-dark);font-size:1.375rem}
.btn-soft,.btn-main,.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:2.875rem;padding:.75rem 1.5rem;border-radius:999rem;font-size:1rem;font-weight:600;letter-spacing:.08em;transition:transform .2s ease,filter .2s ease}
.btn-soft,.btn-main{border:0;background:var(--g-main);color:#fff;box-shadow:var(--shadow-sm)}
.btn-line{border:1px solid #6075b5;background:#6075b5;color:#fff;box-shadow:var(--shadow-sm)}
.btn-soft:hover,.btn-main:hover,.btn-line:hover{filter:brightness(.94);transform:translateY(-.125rem)}
.btn-line:hover{color:#fff;}
/* Shared layout and content components共用版面與內容元件 */
.section-pad{padding-block:6rem}
.section-pad.compact{padding-top:3.5rem}
.pale{background:rgba(255,255,255,.55)}
.section-title{text-align:center;margin-bottom:2.25rem}
.section-title h2,.section-head-inline h2,.intro-card h2,.service-detail h2,.contact-box h2,.cta-card h2{color:var(--c-primary-dark);font-weight:600;letter-spacing:.1em}
.section-title p{color:var(--c-muted);font-size:1.125rem}
.section-head-inline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.section-head-inline a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.625rem 1.25rem;border-radius:999rem;background:#6075b5;color:#fff;font-weight:600;letter-spacing:.06em;box-shadow:var(--shadow-sm);transition:background-color .2s ease,transform .2s ease;}
.section-head-inline a:hover{background:#435a9c;color:#fff;transform:translateY(-.125rem);}
.eyebrow{margin-bottom:1rem;color:#33477d;font-size:.875rem;font-weight:600;letter-spacing:.16em}
.page-hero{padding:7.5rem 1rem 5rem;background:var(--g-page-hero);border-bottom:1px solid var(--c-line);text-align:center}
.page-hero h1{margin-bottom:.75rem;color:var(--c-primary-dark);letter-spacing:.12em}
.page-hero p{margin-bottom:0;color:var(--c-muted);font-size:1.125rem}
.intro-card,.data-card,.contact-box,.consult-form,.calendar-card,.social-panel{background:rgba(255,255,255,.94);border:1px solid var(--c-line);box-shadow:var(--shadow-sm)}
.intro-card{padding:3.5rem}
.intro-card p,.info-list p,.service-detail p{color:var(--c-muted);font-size:1.125rem;line-height:2}
.doctor-photo{height:26.875rem;overflow:hidden;background:var(--c-primary-soft)}
.doctor-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.75rem 0}
.feature-row div{padding-inline:.875rem;border-right:1px solid var(--c-line);text-align:center}
.feature-row div:last-child{border:0}
.feature-row i{display:block;margin-bottom:.625rem;color:var(--c-primary);font-size:2rem}
.feature-row strong{display:block;color:var(--c-primary-dark);font-size:1.125rem}
.feature-row span{color:var(--c-muted);font-size:.875rem}
.treat-card,.mini-card{height:100%;overflow:hidden;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.treat-card:hover,.mini-card:hover{box-shadow:var(--shadow);transform:translateY(-.25rem)}
.treat-card img{width:100%;height:14.375rem;object-fit:cover}
.treat-body{padding:1.875rem 1.5rem;text-align:center}
.treat-body h3,.mini-card h3,.data-card h3,.social-panel h3{margin-bottom:.75rem;color:var(--c-primary-dark);font-weight:600;letter-spacing:.08em}
.treat-body p{color:var(--c-muted);font-size:1rem;line-height:1.9}
.treat-body span{display:inline-flex;gap:.375rem;padding:.5rem 1.125rem;border:1px solid #6075b5;border-radius:999rem;background:#6075b5;color:#fff;font-weight:600;transition:background-color .2s ease,border-color .2s ease;}
.treat-card:hover .treat-body span{border-color:#435a9c;background:#435a9c;color:#fff;}
.mini-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.mini-card{padding-bottom:1rem}
.mini-card img{width:100%;height:8.125rem;object-fit:cover}
.mini-card h3{margin:1rem 1rem .375rem}
.mini-card p{margin:0 1rem;color:var(--c-muted);font-size:.875rem}
.env-carousel{position:relative;}
.env-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2.25rem)/3);gap:1.125rem;overflow-x:auto;padding:1.125rem;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;}
.env-gallery::-webkit-scrollbar{display:none;}
.env-gallery figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:var(--c-primary-soft);scroll-snap-align:start;}
.env-gallery img{display:block;width:100%;height:100%;object-fit:cover;}
.env-arrow{position:absolute;z-index:2;top:50%;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(86,103,155,.32);border-radius:50%;background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm);color:var(--c-primary-dark);transform:translateY(-50%);}
.env-prev{left:-1.15rem;}
.env-next{right:-1.15rem;}
/* Shared inner-page modules內頁共用模組 */
.info-list{margin-top:1.75rem;padding:1.75rem;background:#fff;border:1px solid var(--c-line)}
.data-card{height:100%;padding:1.75rem}
.data-card p{color:var(--c-muted);line-height:1.9}
.service-detail{display:grid;gap:1.625rem;margin-top:3rem}
.service-detail article{display:grid;grid-template-columns:22.5rem 1fr;gap:1.875rem;align-items:center;padding:1.5rem;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);scroll-margin-top:7.5rem}
.service-detail img{width:100%;height:14.375rem;object-fit:cover}
.news-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}
.news-filter button{padding:.625rem 1.5rem;border:1px solid var(--c-line);border-radius:999rem;background:#fff;color:var(--c-primary-dark);font-size:1rem;font-weight:600}
.news-filter button.active{background:var(--g-main);color:#fff}
.news-item.is-hidden{display:none}
.news-card .treat-body{text-align:left}
.info-grid .news-card .treat-body span{border-color:#6075b5;background:#6075b5;color:#fff;}
.info-grid .news-card:hover .treat-body span{border-color:#435a9c;background:#435a9c;color:#fff;}
.news-card time{color:var(--c-muted);font-size:.875rem}
.faq-list{display:grid;max-width:57.5rem;margin:auto;gap:1.125rem}
.faq-item{overflow:hidden;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm)}
.faq-item button{width:100%;padding:1.5rem 1.875rem;border:0;background:#fff;color:var(--c-primary-dark);font-family:var(--font-serif);font-size:1.125rem;font-weight:600;text-align:left}
.faq-item div{display:none;padding:0 1.875rem 1.625rem;color:var(--c-muted);font-size:1rem;line-height:1.8}
.faq-item.open div{display:block}
.contact-box,.consult-form{padding:2.125rem}
.contact-box p{display:flex;align-items:center;gap:.875rem;color:var(--c-text);font-size:1.125rem}
.contact-box i{display:inline-flex;align-items:center;justify-content:center;width:2.625rem;height:2.625rem;border-radius:50%;background:var(--g-main);color:#fff}
.contact-box img{width:9.375rem;margin-top:1.5rem;border:1px solid var(--c-line)}
.consult-form label{display:block;margin-bottom:.5rem;color:var(--c-primary-dark);font-weight:600}
.consult-form input,.consult-form select,.consult-form textarea{width:100%;padding:.8125rem .9375rem;border:1px solid var(--c-line);background:#fbfcff;color:var(--c-text);font-size:1rem}
.consult-form .is-error{border-color:#d96a6a;background:#fff7f7}
/* Homepage components首頁元件 */
.hero-exact{position:relative;min-height:47.5rem;overflow:hidden;background:linear-gradient(90deg,rgba(248,250,255,.98),rgba(238,242,253,.92) 50%,rgba(230,235,250,.9));border-bottom:1px solid rgba(194,202,232,.55)}
.hero-exact::before{position:absolute;inset:0;background:radial-gradient(circle at 8% 80%,rgba(255,255,255,.86),transparent 28%),radial-gradient(circle at 72% 36%,rgba(255,255,255,.62),transparent 34%);content:""}
.hero-exact .hero-wrap{position:relative;min-height:47.5rem}
.hero-exact .hero-copy{position:absolute;z-index:2;top:18%;left:7%;width:50%;max-width:43.125rem}
.hero-exact .hero-copy h1{margin-bottom:1.5rem;color:#31457d;letter-spacing:.1em;font-weight:600}
.hero-exact .hero-copy p:not(.eyebrow){margin-bottom:1.5rem;color:#627092;font-size:1.375rem;letter-spacing:.08em}
.hero-exact .hero-doctor{position:absolute;right:5%;bottom:0;display:flex;align-items:flex-end;justify-content:center;width:47%;height:45rem}
.hero-exact .hero-doctor img{height:100%;max-height:none;width:auto;object-fit:contain}
.beauty-tech{padding:3.25rem 0;background:#fff}
.beauty-banner{position:relative;display:flex;align-items:center;min-height:26.875rem;overflow:hidden;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow)}
.beauty-banner>img{position:absolute;top:0;right:0;width:62%;height:100%;object-fit:cover}
.beauty-banner-images{position:absolute;top:0;right:0;display:grid;width:min(42%,35.5rem);height:100%;padding:.75rem;grid-template-columns:1fr;gap:.75rem;background:linear-gradient(135deg,#f2f0fb,#e8e8f8)}
.beauty-banner-images figure{min-width:0;margin:0;overflow:hidden;background:#ebeafa;border:1px solid rgba(185,190,222,.68)}
.beauty-banner-images img{display:block;width:100%;height:100%;object-fit:contain}
.banner-copy{position:relative;z-index:1;width:45%;padding:4.5rem 0 4.5rem 8%}
.banner-copy h2{color:#30467e;font-weight:600;letter-spacing:.12em}
.banner-copy p{margin:1.25rem 0;color:var(--c-text);font-size:1.125rem;line-height:1.8}
/* Homepage video previews首頁影音預覽 */
.home-video-section{background:linear-gradient(180deg,rgba(246,248,255,.9),#fff)}
.home-video-section .section-head-inline>div .eyebrow{margin-bottom:.35rem}
.home-video-section .section-head-inline h2{margin-bottom:0}
.home-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.home-video-card{display:grid;gap:.35rem;min-width:0;padding:1rem;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.home-video-card:hover{transform:translateY(-.25rem);box-shadow:var(--shadow)}
.home-video-poster{position:relative;display:grid;width:100%;aspect-ratio:9/16;place-items:center;overflow:hidden;background:linear-gradient(155deg,#eef3ff,#cdd6f3 48%,#b7aedc);color:#fff}
.home-video-poster::before,.home-video-poster::after{position:absolute;border:1px solid rgba(255,255,255,.38);border-radius:50%;content:""}
.home-video-poster::before{width:110%;aspect-ratio:1;top:16%;left:-58%}
.home-video-poster::after{width:90%;aspect-ratio:1;right:-54%;bottom:7%}
.home-video-poster i{position:relative;z-index:1;display:grid;width:4rem;height:4rem;place-items:center;padding-left:.2rem;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(45,64,121,.38);box-shadow:0 1rem 2rem rgba(38,53,105,.22);font-size:1.25rem;backdrop-filter:blur(.4rem)}
.home-video-poster em{position:absolute;z-index:1;right:1rem;bottom:1rem;font-size:.75rem;font-style:normal;font-weight:700;letter-spacing:.14em}
.video-poster-02{background:linear-gradient(155deg,#e6edff,#b7c4ea 46%,#9d91c9)}
.video-poster-03{background:linear-gradient(155deg,#f1ebff,#c8bde7 48%,#8096c7)}
.video-poster-04{background:linear-gradient(155deg,#e4f0ff,#b8c9e8 45%,#b8a4d2)}
.home-video-card strong{margin-top:.6rem;color:var(--c-primary-dark);font-size:1.05rem;letter-spacing:.06em}
.home-video-card small{color:var(--c-muted);font-size:.875rem}
/* Clinic hours homepage section首頁門診時間 */
.clinic-hours-section{background:linear-gradient(180deg,#eef2ff 0%,#f8f9fc 100%)}
.clinic-hours-section .section-title{max-width:44rem;margin-inline:auto}
.clinic-hours-section .section-title p:last-child{margin-bottom:0}
.clinic-hours-section .calendar-card{max-width:72rem;margin:2.25rem auto 0;padding:1.5rem;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm)}
.clinic-hours-section .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}
.clinic-hours-section .calendar-grid>div{display:grid;align-content:center;gap:.5rem;min-height:7rem;padding:1.25rem .75rem;background:#f7f8fc;border:1px solid #dfe4f5;color:#344578;text-align:center;font-size:1rem;font-weight:600;line-height:1.5;letter-spacing:.04em}
.clinic-hours-section .calendar-grid strong{display:block;color:var(--c-primary-dark);font-size:1rem;font-weight:600;line-height:1.5;letter-spacing:0;white-space:nowrap}
.clinic-hours-section .calendar-grid>div:nth-last-child(-n+2){background:#f1f2f8;border-color:#d8dcea;color:#6c7390}
.clinic-hours-section .calendar-grid>div:nth-last-child(-n+2) strong{color:#6c7390}
/* Interaction and accessibility互動與無障礙 */
button{cursor:pointer;}
a,button,input,select,textarea{touch-action:manipulation;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:.1875rem solid #304f9d;outline-offset:.1875rem;}
.news-filter button{min-height:2.75rem;}
.consult-form input:focus,.consult-form select:focus,.consult-form textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 .1875rem #56679b26;outline:0;}
@media (min-width:48.0625rem){.main-nav .navbar-nav{flex-direction:row;align-items:center;}
}
/* Tablet layout平板版面 */
@media (max-width:62rem){.site-nav{padding-inline:1.5rem;}
.hero-exact{min-height:auto;padding-top:5.125rem;}
.hero-exact .hero-wrap{display:grid;min-height:auto;}
.hero-exact .hero-copy{position:relative;top:auto;left:auto;width:100%;padding:2.625rem .5rem 1.375rem;}
.hero-exact .hero-doctor{position:relative;right:auto;width:100%;height:32.5rem;}
.service-detail article{grid-template-columns:1fr;}
.mini-card-grid{grid-template-columns:repeat(2,1fr);}
.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.clinic-hours-section .calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
/* Mobile layout手機版面 */
@media (max-width:48rem){body{overflow-x:hidden;}
.site-nav{position:relative;height:5.25rem;padding-inline:1rem;}
.brand img{width:min(13.625rem,calc(100vw - 5.5rem));}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:3rem;}
.main-nav{position:absolute;z-index:1001;top:5.25rem;right:0;left:0;display:none;max-height:calc(100dvh - 5.25rem);overflow-y:auto;background:rgba(255,255,255,.98);border-bottom:1px solid var(--c-line);box-shadow:0 .875rem 1.5rem rgba(36,57,111,.14);}
.main-nav.open{display:block;}
.main-nav .navbar-nav{display:flex;align-items:stretch !important;flex-direction:column !important;gap:0;padding:.5rem 1rem 1rem;}
.main-nav .nav-item{width:100%;}
.nav-dropdown-label{width:100%;}
.nav-dropdown-label .nav-link{flex:1;}
.nav-submenu-toggle{width:2.75rem;height:2.75rem;margin-left:0;border-radius:.5rem;background:var(--c-primary-soft);}
.nav-submenu{position:static;display:none;width:100%;min-width:0;margin:0 0 .5rem;padding:.35rem .5rem .5rem;background:#f7f8ff;border:0;border-left:.2rem solid #d6ddf3;box-shadow:none;transform:none;}
.nav-submenu::before{display:none;}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:none;}
.nav-dropdown.is-open .nav-submenu{display:grid;}
.nav-submenu a{min-height:2.5rem;padding:.55rem .75rem;white-space:normal;}
.nav-link{display:flex;align-items:center;min-height:2.75rem;padding:.75rem .5rem;}
.main-nav .nav-link.active{padding-left:.875rem;background:var(--c-primary-soft);border-left:.25rem solid var(--c-primary);color:var(--c-primary-dark);font-weight:700;}
.nav-link.active::after{display:none;}
.main-nav .nav-cta{padding-top:.5rem;}
.main-nav .nav-cta .btn-soft{width:100%;min-height:3rem;}
.section-pad{padding-block:3.5rem;}
.page-hero{padding-block:5.375rem 2.75rem;}
.beauty-banner{display:block;min-height:0;}
.beauty-banner>img{position:relative;width:100%;height:20rem;}
.beauty-banner-images{position:relative;width:100%;height:auto;padding:.65rem;grid-template-columns:1fr;gap:.65rem;}
.beauty-banner-images figure{aspect-ratio:4/3;}
.banner-copy{width:100%;padding:2.75rem;}
.feature-row{grid-template-columns:1fr;}
.feature-row div{padding-bottom:1.125rem;border-right:0;border-bottom:1px solid var(--c-line);}
.env-gallery{grid-auto-columns:calc((100% - 1.125rem)/2);}
.clinic-hours-section .calendar-card{padding:1rem;}
.clinic-hours-section .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;}
}
/* Compact mobile layout小螢幕手機版面 */
@media (max-width:36rem){:root{--type-h1:2.25rem;--type-h2:1.625rem;}
.hero-exact .hero-copy p:not(.eyebrow){font-size:1.0625rem;}
.hero-exact .hero-doctor{height:25.625rem;}
.mini-card-grid{grid-template-columns:1fr;}
.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.home-video-card{padding:.65rem;}
.home-video-poster i{width:3.25rem;height:3.25rem;}
.env-gallery{grid-auto-columns:88%;padding:.75rem;gap:.75rem;}
.env-arrow{width:2.5rem;height:2.5rem;}
.env-prev{left:-.5rem;}
.env-next{right:-.5rem;}
.banner-copy{padding:2.125rem 1.375rem;}
.intro-card,.contact-box,.consult-form{padding:1.5rem;}
.clinic-hours-section .calendar-grid{grid-template-columns:1fr;}
.clinic-hours-section .calendar-grid>div{min-height:4.5rem;padding:1rem;}
.clinic-hours-section .calendar-grid strong{white-space:normal;}
}
/* Reduced motion減少動態效果 */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;}
}
