
.piano-player{position:fixed;right:14px;bottom:14px;z-index:50;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(95vw,380px);padding:9px 12px;border:1px solid #c8d5c8;border-radius:14px;background:#f7f4ec;box-shadow:0 5px 22px #173e3526;font-size:12px;line-height:1.4}
.piano-player button{border:0;border-radius:9px;background:#173e35;color:#fff;padding:9px 12px;cursor:pointer;font-size:13px}
.piano-player button:focus-visible,.piano-player a:focus-visible{outline:3px solid #a47837;outline-offset:3px}
.piano-player a{text-decoration:underline}
.piano-player .pop-menu{flex-basis:100%;position:relative}
.piano-player .piano-volume-control{display:inline-flex;align-items:center;gap:5px;font-size:12px}.piano-player .piano-volume-control input{width:72px;accent-color:#173e35}.piano-player .piano-volume-control output{min-width:30px}
@media(max-width:600px){
 .piano-player{max-width:calc(100vw - 16px);width:auto;max-height:min(70vh,470px);overflow-y:auto;overscroll-behavior:contain}
 .piano-player .pop-menu[open]{max-height:45vh;overflow-y:auto}
 .piano-player .pop-menu nav a{min-height:36px;display:inline-flex;align-items:center}
}
.piano-player .pop-menu summary{cursor:pointer;font-weight:700;padding:4px 0}
.piano-player .pop-menu p{margin:5px 0}
.piano-player .pop-menu nav{display:flex;gap:6px;flex-wrap:wrap}
.piano-player .pop-menu nav a{padding:4px 7px;border-radius:6px;background:#e6eee6}
.piano-player .pop-menu small{display:block;margin-top:6px}
.piano-player .pop-menu summary:focus-visible,.piano-player input:focus-visible{outline:3px solid #a47837;outline-offset:3px}

.piano-player #random-pop-fallback:not([hidden]){display:block;margin-top:8px;padding:10px;border:2px solid #173e35;border-radius:8px;background:#fff;color:#173e35;font-weight:700}
@media(max-width:600px){.piano-player .pop-menu nav a,.piano-player #random-pop-fallback:not([hidden]){min-height:44px}}
.piano-player #random-pop{margin-top:8px}
.piano-player #music-hide{padding:4px 10px;background:#e3e8e0;color:#173e35;font-size:18px}
.music-reopen{position:fixed;right:12px;bottom:12px;z-index:50;padding:11px 14px;border:1px solid #c8d5c8;border-radius:30px;background:#173e35;color:white;box-shadow:0 4px 14px #173e3533;cursor:pointer}
.music-reopen:focus-visible{outline:3px solid #a47837;outline-offset:3px}
.piano-player[hidden],.music-reopen[hidden]{display:none!important}


@media(max-width:600px){.piano-player{right:8px;bottom:8px;gap:5px;padding:7px 9px}.piano-player button{padding:8px}.piano-player a{font-size:11px}}


/* Five compact mobile shortcuts: treatment, search, preparation, directions, call. */


/* Keep the music widget clear of mobile navigation and the system gesture area. */
@media(max-width:600px){.piano-player{max-width:min(310px,calc(100vw - 16px));bottom:calc(8px + env(safe-area-inset-bottom,0px))}.music-reopen{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

/* Mobile quick links and hero actions: consistent touch targets */
@media(max-width:600px){
 header .nav .mobile-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;min-width:0}
 header .nav .mobile-quick a{box-sizing:border-box;min-width:0;min-height:48px;padding:9px 2px;font-size:clamp(10px,2.6vw,12px);line-height:1.35;white-space:normal;overflow-wrap:anywhere}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;min-width:0}
 .hero-actions .btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;max-width:100%;padding:12px 14px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
 .hero-actions .hero-phone{white-space:nowrap}
 .hero-visit-note{overflow-wrap:anywhere;line-height:1.75}
}
@media(max-width:380px){header .nav .mobile-quick a{font-size:10px;letter-spacing:-.04em}}

/* Prioritize location and call on narrow mobile screens */
@media(max-width:600px){
 header .nav .mobile-quick a[href="#location"]{background:#e5efe7;color:#173e35;font-weight:700;border-radius:8px}
 header .nav .mobile-quick a.mobile-call{background:#173e35;color:#fff;font-weight:700;border-radius:8px}
 header .nav .mobile-quick a:focus-visible{outline:3px solid #a96b24;outline-offset:2px}
}

/* Alternating Friday/Saturday schedule cards */
.alternating-hours{margin:20px 0;padding:clamp(14px,3vw,22px);border:1px solid #c8d8ca;border-radius:14px;background:#f1f6f0;color:#173e35}
.alternating-hours h4{font-size:clamp(16px,2.4vw,19px);line-height:1.55;margin:0 0 14px;word-break:keep-all}
.alternating-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.alternating-hours-card{min-width:0;background:#fff;border:1px solid #d5e1d7;border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:7px;line-height:1.6}
.alternating-hours-card>strong{font-size:16px;border-bottom:1px solid #e1e8e2;padding-bottom:8px}
.alternating-hours-card span{font-size:15px;overflow-wrap:anywhere}
.alternating-hours>p{margin:12px 0 0;font-size:14px;line-height:1.65}
@media(max-width:600px){.alternating-hours-grid{grid-template-columns:1fr}.alternating-hours-card{padding:14px}.alternating-hours-card span{font-size:16px}}

/* Direct call button within alternating-hours card */
.alternating-hours .alternating-hours-call{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;min-height:48px;margin-top:14px;padding:12px 16px;border-radius:9px;background:#173e35;color:#fff;text-align:center;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.alternating-hours .alternating-hours-call span{white-space:nowrap}
.alternating-hours .alternating-hours-call:focus-visible{outline:3px solid #a96b24;outline-offset:3px}
@media(max-width:600px){.alternating-hours .alternating-hours-call{min-height:52px;padding:12px 10px;font-size:15px}}

/* Directions and parking readability on small screens */
#location .parking-info{box-sizing:border-box;max-width:100%;margin:20px 0;padding:clamp(16px,3vw,24px);border:1px solid #d0decf;border-radius:14px;background:#edf4eb;overflow-wrap:anywhere}
#location .parking-info h3{margin:0 0 12px;font-size:clamp(18px,2.8vw,23px);line-height:1.5;word-break:keep-all}
#location .parking-info p{margin:10px 0;line-height:1.75}
#location .parking-info strong{font-weight:800;color:#174a37}
#location .parking-info .parking-note{font-size:14px;color:#37584b}
#location .location-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
#location .location-actions .btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;margin:0;padding:12px 14px;text-align:center;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
#location .location-actions .btn:focus-visible{outline:3px solid #a96b24;outline-offset:3px}
@media(max-width:600px){#location .parking-info{margin:16px 0;padding:16px}#location .parking-info p{font-size:16px}#location .parking-info .parking-note{font-size:14px}#location .location-actions{grid-template-columns:1fr;gap:10px}#location .location-actions .btn{min-height:52px;font-size:16px}}

/* Prevent sideways overflow without hiding focus indicators */
@media(max-width:600px){
 #location .split,#location .wrap,#location .hours-box,#location .parking-info{min-width:0;max-width:100%}
 #location .nearby-location,#location .parking-note,#location .hours-box p{overflow-wrap:anywhere;word-break:keep-all}
 #location .location-actions a{word-break:keep-all}
 .hero-care-summary,.hero-actions,.alternating-hours-grid{min-width:0;max-width:100%}
 .hero-care-summary a{overflow-wrap:anywhere}
}

/* Focus-care internal navigation */
.care-find-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}
.care-find-links a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;padding:10px 15px;border:1px solid #c4d9c7;border-radius:10px;background:#fff;color:#174a37;font-weight:700;line-height:1.45;text-decoration:none;text-align:center}
.care-find-links a:hover{background:#edf5ec}
.care-find-links a:focus-visible{outline:3px solid #a96b24;outline-offset:3px}
@media(max-width:600px){.care-find-links{display:grid}.care-find-links a{min-height:50px}}

/* Homepage care cards: readable links and mobile tap targets */
#focus-care .grid>.card,#symptoms .grid>.card,#care .grid>.card{min-width:0;overflow-wrap:anywhere}
#focus-care .grid>.card h3,#symptoms .grid>.card h3,#care .grid>.card h3{line-height:1.5;word-break:keep-all}
#focus-care .grid>.card p,#symptoms .grid>.card p,#care .grid>.card p{line-height:1.8;word-break:keep-all}
#focus-care .grid>.card a,#symptoms .grid>.card a,#care .grid>.card a{overflow-wrap:anywhere;text-underline-offset:3px}
#focus-care .grid>.card a:focus-visible,#symptoms .grid>.card a:focus-visible,#care .grid>.card a:focus-visible{outline:3px solid #a96b24;outline-offset:3px;border-radius:3px}
@media(max-width:600px){
 #focus-care .grid,#symptoms .grid,#care .grid{grid-template-columns:minmax(0,1fr)}
 #focus-care .grid>.card,#symptoms .grid>.card,#care .grid>.card{padding:18px 16px}
 #focus-care .grid>.card a,#symptoms .grid>.card a,#care .grid>.card a{display:inline-block;min-height:44px;box-sizing:border-box;padding:9px 0;line-height:1.6}
 #focus-care .grid>.card a+a,#symptoms .grid>.card a+a,#care .grid>.card a+a{margin-top:3px}
}

/* Mobile first-screen priorities */
@media(max-width:600px){
 .hero{min-width:0;gap:18px}
 .hero h1{font-size:clamp(27px,7vw,36px);line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
 .hero #intro{font-size:16px;line-height:1.8;word-break:keep-all}
 .hero .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:18px 0}
 .hero .hero-actions .btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;min-width:0;min-height:50px;margin:0;padding:12px 14px;text-align:center;white-space:normal;line-height:1.5}
 .hero .hero-care-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .hero .hero-care-summary a{display:block;box-sizing:border-box;min-width:0;min-height:48px;padding:12px 13px;line-height:1.6;word-break:keep-all}
 .hero .hero-visit-note{font-size:14px;line-height:1.75;word-break:keep-all}
 .hero .art{max-width:100%}
}

/* Section navigation and accessibility on narrow screens */
#main-content section[id]{scroll-margin-top:88px}
#main-content a:focus-visible,#main-content button:focus-visible{outline:3px solid #a96b24;outline-offset:3px}
#main-content .wrap,#main-content .grid,#main-content .split{min-width:0}
#main-content .card,#main-content .split>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
 #main-content section[id]{scroll-margin-top:72px}
 #main-content .section{overflow-wrap:anywhere}
 #main-content .section h2{font-size:clamp(23px,6vw,30px);line-height:1.45;word-break:keep-all}
 #main-content .section h3{line-height:1.5;word-break:keep-all}
 #main-content .section p,#main-content .section li{line-height:1.8;word-break:keep-all}
 #main-content .section img,#main-content .section iframe,#main-content .section svg{max-width:100%;height:auto}
 #main-content .section .grid{grid-template-columns:minmax(0,1fr)}
 #main-content .section a{overflow-wrap:anywhere;text-underline-offset:3px}
}


/* Compact first-screen actions on narrow phones without shrinking touch targets. */
@media(max-width:600px){
 #main-content>.hero{min-height:0;padding-top:26px;padding-bottom:32px;gap:16px}
 #main-content>.hero .kicker{letter-spacing:.12em;font-size:11px}
 #main-content>.hero h1{margin:12px 0 14px;line-height:1.38}
 #main-content>.hero #intro{margin:0 0 12px;line-height:1.65}
 #main-content>.hero .hero-actions{margin:12px 0 14px;gap:8px}
 #main-content>.hero .hero-actions .btn{min-height:48px;padding:10px 12px;font-size:14px}
 #main-content>.hero .hero-care-summary{gap:7px}
 #main-content>.hero .hero-care-summary a{min-height:44px;padding:9px 12px}
 #main-content>.hero .hero-visit-note{margin-top:12px}
}
@media(max-width:380px){
 #main-content>.hero{padding-top:18px}
 #main-content>.hero h1{font-size:clamp(25px,7vw,29px)}
 #main-content>.hero .hero-actions .btn{font-size:13px}
}

/* Homepage symptom-first navigation: keyboard and mobile friendly */
.symptom-navigator{margin:22px auto 10px;padding:25px 24px;background:#f5f9f6;border:1px solid #d7e5da;border-radius:18px}
.symptom-navigator h2{margin:5px 0 10px;color:#173e35;font-size:clamp(23px,3vw,32px)}
.symptom-navigator>p{line-height:1.7;margin:0 0 18px}
.symptom-navigator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.symptom-navigator-grid a{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:105px;padding:18px 16px;border:1px solid #d2e1d5;border-radius:12px;background:#fff;color:#173e35;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.symptom-navigator-grid a strong{font-size:17px;line-height:1.4}
.symptom-navigator-grid a span{font-size:13px;line-height:1.5;color:#48695a}
.symptom-navigator-grid a:hover{border-color:#648f78;box-shadow:0 4px 15px #173e3517}
.symptom-navigator-grid a:focus-visible,.symptom-navigator-more a:focus-visible{outline:3px solid #a47837;outline-offset:3px}
.symptom-navigator .symptom-navigator-more{margin:18px 0 0;text-align:right}
.symptom-navigator-more a{color:#173e35;font-weight:700}
@media(max-width:800px){.symptom-navigator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.symptom-navigator{margin:12px auto;padding:18px 14px;border-radius:14px}.symptom-navigator-grid{grid-template-columns:1fr;gap:9px}.symptom-navigator-grid a{min-height:72px;padding:13px 14px;gap:5px}.symptom-navigator-grid a strong{font-size:16px}}

/* Anchor targets remain visible beneath the sticky mobile header. */
#symptom-navigator-title,#symptom-guide,#location,#appointment-checklist,#when-to-call{scroll-margin-top:110px}
@media(max-width:600px){#symptom-navigator-title,#symptom-guide,#location,#appointment-checklist,#when-to-call{scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){.symptom-navigator-grid a{transition:none}}

/* Scannable visit essentials above the detailed directions. */
.visit-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.visit-quick-facts>div{display:flex;flex-direction:column;gap:7px;padding:14px 12px;border:1px solid #cbded1;border-radius:12px;background:#f3f8f4;line-height:1.55}
.visit-quick-facts strong{font-size:15px;color:#173e35}
.visit-quick-facts span{font-size:13px;color:#34594a;word-break:keep-all}
@media(max-width:650px){.visit-quick-facts{grid-template-columns:1fr;gap:8px}.visit-quick-facts>div{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px}.visit-quick-facts span{text-align:right}}

/* Action links inside the three visit essentials. */
.visit-quick-facts a{display:inline-block;margin-top:5px;color:#173e35;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.visit-quick-facts a:hover{color:#285e49}
.visit-quick-facts a:focus-visible{outline:3px solid #a47837;outline-offset:3px;border-radius:3px}
#parking-details,#weekly-hours{scroll-margin-top:110px}
@media(max-width:600px){#parking-details,#weekly-hours{scroll-margin-top:88px}.visit-quick-facts span{line-height:1.7}}

/* Comfortable tap targets and readable visit shortcuts on narrow phones. */
@media(max-width:650px){.visit-quick-facts>div{display:block}.visit-quick-facts strong{display:block;margin-bottom:4px}.visit-quick-facts span{display:block;text-align:left;font-size:14px}.visit-quick-facts a{min-height:44px;display:inline-flex;align-items:center;margin-top:2px;padding:7px 2px;line-height:1.4}}

/* Safety-first navigation from symptoms to medication and medical-history guides. */
.symptom-previsit{margin:20px 0 4px;padding:18px 20px;border:1px solid #d4e4d8;border-left:4px solid #527b62;border-radius:12px;background:#f8faf6}
.symptom-previsit>strong{display:block;color:#173e35;font-size:17px}
.symptom-previsit p{margin:8px 0 12px;line-height:1.7;word-break:keep-all}
.symptom-previsit-links{display:flex;flex-wrap:wrap;gap:8px 14px}
.symptom-previsit-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#173e35;text-underline-offset:3px}
.symptom-previsit-links a:focus-visible{outline:3px solid #a47837;outline-offset:3px;border-radius:3px}
@media(max-width:520px){.symptom-previsit{padding:16px 14px}.symptom-previsit-links{display:grid;gap:3px}.symptom-previsit-links a{min-height:44px}}

/* Distinct scan-friendly links for the six previsit safety topics. */
.symptom-previsit-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.symptom-previsit-links a{border:1px solid #d4e4d8;border-radius:8px;padding:9px 12px;background:#fff;text-decoration:none;line-height:1.45;word-break:keep-all}
.symptom-previsit-links a:hover{background:#eef6ed;text-decoration:underline}
@media(max-width:800px){.symptom-previsit-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.symptom-previsit-links{grid-template-columns:1fr;gap:6px}}

/* Patient-facing checklist keeps safety preparation concise and scannable. */
.symptom-previsit-checklist{margin:12px 0 16px;padding:12px 16px;border-radius:9px;background:#edf4ee}
.symptom-previsit-checklist h3{margin:0 0 7px;font-size:15px;color:#173e35}
.symptom-previsit-checklist ul{margin:0;padding-left:20px;line-height:1.75}
.symptom-previsit-checklist li{padding:2px 0;word-break:keep-all}
.symptom-previsit-checklist p{margin:9px 0 0;font-size:13px;color:#34594a}
@media(max-width:520px){.symptom-previsit-checklist{padding:12px}.symptom-previsit-checklist ul{padding-left:18px}}

.symptom-previsit-print{margin:0 0 12px!important}
.symptom-previsit-print a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;background:#1f5a47;color:#fff;font-weight:750;text-decoration:none}
.symptom-previsit-print a:hover{background:#164434;text-decoration:underline}
.symptom-previsit-print a:focus-visible{outline:3px solid #a47837;outline-offset:3px}

/* Search symptoms directly from the homepage without JavaScript. */
.symptom-quick-search{margin:18px 0 20px;padding:16px;border:1px solid #d4e4d8;border-radius:12px;background:#f5f9f6}
.symptom-quick-search>label{display:block;margin-bottom:9px;color:#173e35;font-weight:750}
.symptom-quick-search-row{display:flex;gap:8px}
.symptom-quick-search input{flex:1;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #98b3a3;border-radius:8px;background:#fff;color:#173e35;font:inherit}
.symptom-quick-search button{min-height:48px;padding:10px 17px;border:0;border-radius:8px;background:#1f5a47;color:#fff;font:inherit;font-weight:750;cursor:pointer}
.symptom-quick-search button:hover{background:#164434}
.symptom-quick-search :is(input,button):focus-visible{outline:3px solid #a47837;outline-offset:3px}
.symptom-quick-search>p{margin:9px 0 0;font-size:13px;line-height:1.6}
@media(max-width:560px){.symptom-quick-search{padding:13px}.symptom-quick-search-row{flex-direction:column}.symptom-quick-search button{width:100%}}

/* One-tap topic searches, sized for touch and keyboard access. */
.symptom-quick-topics{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}
.symptom-quick-topics>span{margin-right:4px;font-size:13px;font-weight:700;color:#34594a}
.symptom-quick-topics a{display:inline-flex;align-items:center;min-height:44px;padding:7px 12px;border:1px solid #c6dccd;border-radius:999px;background:#fff;color:#173e35;text-decoration:none;font-size:13px;font-weight:650}
.symptom-quick-topics a:hover{background:#e8f3eb;text-decoration:underline}
.symptom-quick-topics a:focus-visible{outline:3px solid #a47837;outline-offset:3px}
@media(max-width:560px){.symptom-quick-topics>span{flex-basis:100%}.symptom-quick-topics{gap:6px}}

/* Keep focused homepage search visible below sticky navigation. */
#home-symptom-query{scroll-margin-top:105px}
@media(max-width:600px){#home-symptom-query{scroll-margin-top:85px}}

/* Local visit conversion: map and telephone actions remain easy to tap. */
.place-visit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 10px}
.place-visit-action{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 14px;text-align:center;line-height:1.5;border-radius:10px;background:#173e35;color:#fff!important;font-size:14px;font-weight:700;text-decoration:none!important}
.place-visit-map{background:#e8f1e9;color:#173e35!important;border:1px solid #b8d1be}
.place-visit-action:hover{filter:brightness(.94)}
.place-visit-action:focus-visible{outline:3px solid #a47837;outline-offset:3px}
.place-visit-note{font-size:14px;line-height:1.75;margin:0 0 18px;word-break:keep-all}
@media(max-width:640px){.place-visit-actions{grid-template-columns:1fr}.place-visit-action{min-height:54px}}

/* Five mobile shortcuts follow their reading order; location and phone remain visually distinct. */
@media(max-width:600px){
 header .nav .mobile-quick a{order:0}
 header .nav .mobile-quick a[href="#location"]{background:#e5efe7;color:#173e35;font-weight:700;border-radius:8px}
 header .nav .mobile-quick a.mobile-call{background:#173e35;color:#fff;font-weight:700;border-radius:8px}
}

/* Gallery feature: shared, maintainable presentation for the clinical archive. */
.home-archive-gallery{max-width:1080px;margin:50px auto;padding:clamp(28px,5vw,54px);background:linear-gradient(120deg,#f8f6ec 0%,#eaf1e9 100%);border:1px solid #d9dfd6;border-radius:8px;color:#233b33;box-shadow:0 14px 38px rgba(32,56,45,.06)}
.home-archive-gallery__eyebrow{letter-spacing:.19em;font-size:.75rem;color:#5b7667;margin:0 0 12px}
.home-archive-gallery h2{font-family:'Noto Serif KR',serif;font-weight:500;font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 14px;line-height:1.45}
.home-archive-gallery__intro{max-width:680px;line-height:1.9;margin:0 0 20px;word-break:keep-all}
.home-archive-gallery__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:#1e5544;color:#fff!important;padding:12px 20px;border-radius:5px;font-weight:700;text-decoration:none!important}
.home-archive-gallery__link:hover{background:#143f32}
.home-archive-gallery__link:focus-visible{outline:3px solid #ad7937;outline-offset:4px}
@media(max-width:700px){.home-archive-gallery{margin:28px 16px;padding:28px 22px}.home-archive-gallery__link{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.home-archive-gallery *{scroll-behavior:auto!important}}

/* Patient-first pathways to the clinic's key treatment guides. */
.home-care-paths{max-width:1080px;margin:44px auto;padding:0 18px;color:#203c32}
.home-care-paths__eyebrow{font-size:.76rem;letter-spacing:.16em;color:#5b7667;margin:0 0 8px}
.home-care-paths h2{font-family:'Noto Serif KR',serif;font-weight:500;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.45;margin:0 0 12px}
.home-care-paths__intro{max-width:740px;line-height:1.8;word-break:keep-all}
.home-care-paths__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.home-care-paths__grid a{display:flex;flex-direction:column;gap:10px;padding:25px;background:#fffdf7;border:1px solid #d5dfd3;border-top:4px solid #9bb8a1;border-radius:6px;color:#233b33;text-decoration:none;min-height:175px}
.home-care-paths__grid strong{font-family:'Noto Serif KR',serif;font-size:1.3rem}
.home-care-paths__grid span{line-height:1.7;word-break:keep-all}
.home-care-paths__grid em{font-style:normal;font-weight:700;color:#17654c;margin-top:auto}
.home-care-paths__grid a:hover{border-color:#69947d;box-shadow:0 10px 24px #20382d14}
.home-care-paths__grid a:focus-visible{outline:3px solid #ad7937;outline-offset:4px}
@media(max-width:640px){.home-care-paths{margin:30px auto}.home-care-paths__grid{grid-template-columns:1fr}.home-care-paths__grid a{min-height:0;padding:22px}}

/* Consistent, responsive patient resources section. */
.home-previsit-links{max-width:1080px;margin:36px auto 50px;padding:0 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-previsit-links>aside,.home-previsit-links>nav,.home-previsit-links>p{max-width:none!important;width:100%;margin:0!important;padding:22px!important;border-radius:8px!important;text-align:left!important;min-width:0}
.home-previsit-links>nav[aria-label="자주 묻는 진료 질문"]{grid-column:1/-1}
.home-previsit-links a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;text-underline-offset:4px;overflow-wrap:anywhere}
.home-previsit-links a:focus-visible{outline:3px solid #ad7937;outline-offset:3px}
.home-previsit-links>nav div{gap:10px 18px!important}
@media(max-width:700px){.home-previsit-links{grid-template-columns:1fr;gap:12px;margin:26px auto 34px}.home-previsit-links>nav[aria-label="자주 묻는 진료 질문"]{grid-column:auto}.home-previsit-links>aside,.home-previsit-links>nav,.home-previsit-links>p{padding:20px!important}}

/* Three concise, verifiable clinic principles above the fold. */
.hero-principles{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px}
.hero-principles span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;background:#eef3e9;border:1px solid #cbdcc9;border-radius:5px;color:#244f3e;font-size:.88rem;font-weight:700;line-height:1.5;word-break:keep-all}
@media(max-width:600px){.hero-principles{gap:7px}.hero-principles span{font-size:.82rem;padding:7px 10px}}

/* Editorial hero hierarchy: clear diagnosis-first positioning without changing the illustration. */
.hero #headline{font-family:'Noto Serif KR','Apple SD Gothic Neo',serif;letter-spacing:-.055em;line-height:1.32;text-wrap:balance}
.hero #intro{max-width:680px;line-height:1.85;word-break:keep-all}
.hero .kicker{letter-spacing:.15em}
.hero .hero-actions a:focus-visible,.hero .hero-care-summary a:focus-visible{outline:3px solid #ad7937;outline-offset:4px}
@media(max-width:640px){.hero #headline{font-size:clamp(1.85rem,7vw,2.7rem);line-height:1.38}.hero #intro{font-size:1rem;line-height:1.8}.hero .hero-actions a{min-height:48px}}

/* Respect fixed header height when navigating to in-page information. */
html{scroll-padding-top:92px}
#main-content section[id],#main-content [id="symptom-navigator-title"],#main-content [id="home-symptom-query"],#main-content [id="appointment-checklist"],#main-content [id="location"],#main-content [id="parking-details"],#main-content [id="weekly-hours"]{scroll-margin-top:100px}
@media(max-width:700px){html{scroll-padding-top:116px}#main-content section[id],#main-content [id="symptom-navigator-title"],#main-content [id="home-symptom-query"],#main-content [id="appointment-checklist"],#main-content [id="location"],#main-content [id="parking-details"],#main-content [id="weekly-hours"]{scroll-margin-top:124px}}

/* Patient education cards: readable museum-style tiles with clear keyboard focus. */
#stories #post-list{align-items:stretch}
#stories #post-list .card{position:relative;display:flex;flex-direction:column;gap:.45rem;min-width:0;border:1px solid #dce5dc;border-radius:16px;background:#fffdf8;box-shadow:0 6px 20px rgba(23,62,53,.055);transition:box-shadow .2s ease,transform .2s ease}
#stories #post-list .card h3{margin:0;line-height:1.5;word-break:keep-all}
#stories #post-list .card p{margin:.25rem 0 .7rem;flex:1;word-break:keep-all}
#stories #post-list .card .article-card-action{font-weight:700;color:#173e35;text-decoration:underline;text-underline-offset:4px;align-self:flex-start}
#stories #post-list .card a:focus-visible{outline:3px solid #a47837;outline-offset:4px;border-radius:3px}
@media(hover:hover){#stories #post-list .card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(23,62,53,.12)}}
@media(prefers-reduced-motion:reduce){#stories #post-list .card{transition:none}#stories #post-list .card:hover{transform:none}}

/* The three static article tiles act as one large, accessible link target. */
#stories #post-list article.card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
/* CMS cards are themselves anchors, so retain the same large-target and focus treatment. */
#stories #post-list a.post-card{display:flex;flex-direction:column;gap:.45rem;color:inherit;text-decoration:none}
#stories #post-list a.post-card h3{color:#173e35;text-decoration:underline;text-underline-offset:4px}
#stories #post-list a.post-card p{flex:1}
#stories #post-list a.post-card:focus-visible{outline:3px solid #a47837;outline-offset:4px}
#stories #post-list a.post-card:hover h3{text-decoration-thickness:2px}
#stories #post-list article.card:focus-within{outline:3px solid #a47837;outline-offset:3px}
#stories #post-list article.card .article-card-action{pointer-events:none}

/* Patient guidance in the footer: responsive, scannable and easy to tap. */
.footer .footer-care-panel,.footer .footer-care-nav{box-sizing:border-box;max-width:960px;margin:24px auto;padding:clamp(20px,4vw,28px);border:1px solid #d6e7e8;border-radius:16px;background:#f1f9f9;color:#173e35}
.footer .footer-care-nav{background:#fffdf8;margin-top:16px}
.footer .footer-care-panel h2{margin:0 0 12px;font-size:clamp(20px,3vw,25px);line-height:1.4}
.footer .footer-care-panel p{line-height:1.8}
.footer .footer-care-link{font-weight:700;text-underline-offset:4px}
.footer .footer-care-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;line-height:1.5}
.footer .footer-care-nav-links a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border:1px solid #d6e7e8;border-radius:10px;background:#fff;color:#173e35;text-decoration:none;font-weight:650;word-break:keep-all}
.footer .footer-care-nav-links a:hover{background:#e5efe7}
.footer .footer-care-nav a:focus-visible,.footer .footer-care-panel a:focus-visible{outline:3px solid #a47837;outline-offset:3px}
@media(max-width:640px){.footer .footer-care-nav-links{grid-template-columns:1fr}.footer .footer-care-panel,.footer .footer-care-nav{margin-left:16px;margin-right:16px}}

/* Copyright belongs below patient information, not between contact details and links. */
.footer .footer-copyright{max-width:960px;margin:24px auto 0;padding:18px 0 0;border-top:1px solid rgba(23,62,53,.18);text-align:center;font-size:13px}
@media(max-width:640px){.footer .footer-copyright{margin-left:16px;margin-right:16px}}

/* Compact, thumb-friendly quick navigation: avoid a tall five-row stack on phones. */
@media(max-width:600px){.care-find-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.care-find-links a{min-width:0;padding:10px 8px;text-align:center;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.care-find-links a:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:350px){.care-find-links{grid-template-columns:1fr}.care-find-links a:last-child:nth-child(odd){grid-column:auto}}

/* Mobile accessibility: comfortable targets and reduced animation. */
@media (max-width: 600px) {
  .piano-player .pop-menu nav a { min-height: 44px; align-items: center; }
  .piano-player button, .music-reopen { min-height: 44px; }
  .piano-player { max-width: calc(100vw - 16px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Accessible focus indicators for keyboard navigation. */
@supports selector(:focus-visible) {
  a:focus-visible, button:focus-visible, summary:focus-visible,
  input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #a47837;
    outline-offset: 3px;
  }
}

/* Prevent long labels and links from causing horizontal scrolling on narrow screens. */
@media (max-width: 600px) {
  main, main section, main article, .footer { min-width: 0; }
  main p, main li, main a, .footer a { overflow-wrap: break-word; }
  img, video, iframe { max-width: 100%; }
}
