@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
:root{--font-body:'Pretendard Variable','Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-display:'Pretendard Variable','Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--bg:#fffdf8;--cream:#fbf3e6;--cream2:#f7ead4;--gold:#c9913d;--gold2:#a86f27;--brown:#5b3e2f;--text:#2e251f;--muted:#77685f;--line:#ead8bc;--white:#fff;--shadow:0 18px 40px rgba(107,72,37,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.65}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,145,61,.14)}.header-inner{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.brand-mark{width:40px;height:40px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:22px}.brand strong{display:block;font-size:20px}.brand span{font-size:8px;letter-spacing:.07em;color:var(--muted)}.nav{display:flex;align-items:center;gap:30px;margin-left:auto}.nav a{color:#3c3028;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}.nav>a,.nav-parent{position:relative;padding:27px 0}.nav>a:after,.nav-parent:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:2px;background:var(--gold2);transform:scaleX(0);transition:transform .2s ease}.nav>a:hover:after,.nav>a:focus-visible:after,.nav-parent:hover:after,.nav-parent:focus-visible:after,.nav>a.active-menu:after,.nav-parent.active-menu:after{transform:scaleX(1)}.nav-dropdown{position:relative}.nav-parent{display:flex;align-items:center;gap:5px}.nav-parent span{font-size:11px;color:var(--gold2);transition:transform .2s ease}.nav-dropdown:hover .nav-parent span,.nav-dropdown:focus-within .nav-parent span{transform:rotate(180deg)}.nav-submenu{position:absolute;top:calc(100% + 15px);left:50%;width:200px;padding:9px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 38px rgba(91,62,47,.13)}.nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.nav-submenu a{display:block;padding:10px 12px;border-radius:9px;font-size:13px}.nav-submenu a:hover,.nav-submenu a:focus-visible{background:#fff6e7;color:var(--gold2)}.nav-submenu a.active-menu{background:#fff1d8;color:var(--gold2);font-weight:750}.phone-btn,.gold-btn,.outline-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;font-weight:700}.phone-btn{padding:12px 18px;border:1px solid var(--gold);color:var(--gold2)}.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:24px}.mobile-nav{padding:10px 20px 16px;border-top:1px solid var(--line);background:var(--bg)}.mobile-nav a{display:block;padding:10px;color:var(--brown);text-decoration:none}.mobile-nav-parent{display:flex!important;align-items:center;justify-content:space-between;font-weight:750}.mobile-nav-parent span{color:var(--gold2);font-size:12px}.mobile-submenu{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:2px 8px 10px;padding:10px;border-radius:13px;background:#f8eddd}.mobile-submenu a{padding:9px 10px;border:1px solid rgba(201,145,61,.14);border-radius:9px;background:#fff;font-size:13px}.mobile-submenu a.active-menu{color:var(--gold2);border-color:#d9ae70;background:#fff8eb;font-weight:750}
.hero{background:linear-gradient(90deg,#fffaf2 0%,#fffdf8 48%,#f4e4ca 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:520px;align-items:center}.hero-copy{padding:54px 0}.eyebrow{display:inline-block;background:#fff4df;border:1px solid #f0d6a8;color:var(--gold2);padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700}.hero h1{font-family:var(--font-display);font-size:46px;line-height:1.35;margin:18px 0}.hero h1 em{color:#b87926;font-style:normal}.hero-desc{color:var(--muted);max-width:620px}.hero-features{display:flex;gap:36px;margin-top:36px}.hero-features div{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:90px}.hero-features span{width:54px;height:54px;border:1px solid #e9c78d;border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:23px;background:#fff}.hero-features b{margin-top:8px;font-size:14px}.hero-features small{color:var(--muted)}.hero-visual{height:100%;display:grid;align-items:end}.reception-card{position:relative;height:440px;border-radius:160px 0 0 0;background:linear-gradient(145deg,#f8ecd9,#e8cba0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);overflow:hidden}.reception-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18))}.wall-logo{position:absolute;top:110px;right:90px;font-size:26px;color:#9b6422;font-weight:700}.wall-logo span{color:#3a2a20;margin-left:8px}.desk{position:absolute;left:70px;right:30px;bottom:0;height:150px;background:linear-gradient(#edd4ae,#dcb982);border-radius:8px 8px 0 0;box-shadow:0 -8px 30px rgba(118,82,40,.08)}.plant{position:absolute;bottom:145px;width:30px;height:95px;background:linear-gradient(#b79363,#d0b184);border-radius:8px}.plant:before{content:"";position:absolute;bottom:55px;left:-24px;width:75px;height:70px;background:radial-gradient(ellipse at center,#7c9d5b 0 40%,transparent 42%);filter:drop-shadow(15px -10px 0 #87a86a)}.p1{left:25px}.p2{right:25px}
.quick-strip{background:#fff;padding:14px 0}.quick-grid{border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}.quick-grid>div{display:flex;align-items:center;gap:12px;padding:18px;border-right:1px solid var(--line)}.quick-grid>div:last-child{border-right:0}.quick-grid span{font-size:22px}.quick-grid p{margin:0}.quick-grid b,.quick-grid small{display:block}.quick-grid b{font-size:13px;color:var(--brown)}.quick-grid small{font-size:11px;color:var(--muted);margin-top:3px}
.section{padding:84px 0}.soft{background:#fff9ef}.section-title{text-align:center;margin-bottom:34px}.section-title span,.kicker{color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.14em}.section-title h2{margin:8px 0 0;font-family:var(--font-display);font-size:30px}.align-left{text-align:left}.card-grid.six{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;text-align:center;box-shadow:0 8px 30px rgba(116,80,40,.04)}.service-card .icon{width:62px;height:62px;border:1px solid #e1bb80;border-radius:18px;margin:0 auto 14px;display:grid;place-items:center;color:var(--gold2);font-size:28px}.service-card h3{margin:0 0 9px;color:var(--brown)}.service-card p{margin:0;color:var(--muted);font-size:14px}
.split-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.feature-panel{background:#fff;border:1px solid var(--line);border-radius:22px;min-height:360px;box-shadow:var(--shadow);padding:34px;position:relative;overflow:hidden}.feature-panel h2{font-family:var(--font-display);font-size:29px;margin:8px 0}.feature-panel p{color:var(--muted)}.feature-panel ul{padding-left:18px}.feature-panel li{margin:7px 0}.gold-btn{background:var(--gold2);color:#fff;padding:12px 18px;margin-top:10px}.screening{display:grid;grid-template-columns:1.1fr .9fr}.equipment-illustration{position:relative;align-self:end;height:230px;background:linear-gradient(#fbf5eb,#f0dfc5);border-radius:18px}.screen{position:absolute;width:110px;height:72px;background:#333;left:45px;top:20px;border:7px solid #d7c2a2;border-radius:4px}.machine{position:absolute;width:130px;height:120px;background:#e2d3bb;left:36px;bottom:20px;border-radius:12px;box-shadow:0 25px 0 -18px #7e7e7e}.equipment{display:flex;flex-direction:column;justify-content:space-between}.equipment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.equipment-list div{background:#fffaf1;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}.equipment-list span,.equipment-list b,.equipment-list small{display:block}.equipment-list span{font-size:30px;color:var(--gold2)}.equipment-list b{margin:8px 0 3px;font-size:13px}.equipment-list small{color:var(--muted)}
.location-grid{display:grid;grid-template-columns:1.2fr .9fr .75fr;gap:24px;align-items:start}.map-placeholder{height:300px;position:relative;border:1px solid var(--line);border-radius:18px;background:#f6eedf;overflow:hidden}.road{position:absolute;background:#fff;border:1px solid #e3d3b8}.r1{width:130%;height:34px;left:-15%;top:45%;transform:rotate(-9deg)}.r2{width:36px;height:130%;left:48%;top:-15%;transform:rotate(8deg)}.r3{width:110%;height:22px;left:-5%;top:68%;transform:rotate(3deg)}.pin{position:absolute;left:53%;top:42%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--gold2);color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(128,82,29,.25)}.pin span{position:absolute;white-space:nowrap;top:-42px;background:#fff;color:var(--brown);padding:6px 10px;border-radius:9px;border:1px solid var(--line);font-weight:700}.location-info,.hours-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.info-box{border-bottom:1px dashed var(--line);padding:13px 0}.info-box:first-child{padding-top:0}.info-box b{color:var(--gold2)}.info-box p{margin:4px 0;color:var(--muted)}.outline-btn{border:1px solid var(--gold);color:var(--gold2);padding:11px 15px;margin-top:18px}.hours-card h3{margin-top:0;color:var(--brown)}.hours-card dl{margin:0}.hours-card dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #efe3d1}.hours-card dt{font-weight:600}.hours-card dd{margin:0}.hours-card .holiday dd{color:#c45e37;font-weight:700}.hours-card>p{font-size:11px;color:var(--muted)}
.footer{background:#f4eadc;border-top:1px solid var(--line);padding:34px 0 90px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.footer-grid p{font-size:13px;color:var(--muted)}.footer-actions{display:flex;gap:10px}.footer-actions a{background:#fff;border:1px solid var(--line);padding:12px 14px;border-radius:10px;color:var(--brown);text-decoration:none;font-weight:700}.copyright{margin-top:18px;padding-top:18px;border-top:1px solid rgba(138,99,52,.12);font-size:12px;color:var(--muted)}.mobile-actions{display:none}
@media(max-width:960px){.nav,.phone-btn{display:none}.menu-btn{display:block}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:42px 0 20px}.hero h1{font-size:36px}.hero-visual{padding-bottom:30px}.reception-card{height:320px;border-radius:100px 18px 18px 18px}.quick-grid{grid-template-columns:1fr 1fr}.quick-grid>div{border-bottom:1px solid var(--line)}.card-grid.six{grid-template-columns:repeat(2,1fr)}.split-grid,.location-grid{grid-template-columns:1fr}.screening{grid-template-columns:1fr}.equipment-illustration{display:none}.footer-grid{grid-template-columns:1fr}.footer-actions{flex-wrap:wrap}.mobile-actions{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(91,62,47,.08)}.mobile-actions a{text-align:center;padding:13px 8px;color:var(--brown);text-decoration:none;font-weight:700;font-size:13px}}
@media(max-width:620px){.container{width:min(100% - 24px,1180px)}.header-inner{height:68px}.brand strong{font-size:17px}.brand-mark{width:34px;height:34px}.hero h1{font-size:29px}.hero-features{gap:10px;justify-content:space-between}.hero-features div{min-width:0;flex:1}.hero-features span{width:46px;height:46px}.quick-grid{grid-template-columns:1fr}.quick-grid>div{border-right:0}.section{padding:58px 0}.card-grid.six{grid-template-columns:1fr}.equipment-list{grid-template-columns:1fr}.section-title h2{font-size:25px}.feature-panel{padding:24px}.footer{padding-bottom:86px}}
.doctor-section{background:#fff}.doctor-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:center}.doctor-photo{min-height:470px}.photo-placeholder{height:100%;min-height:470px;border-radius:180px 180px 24px 24px;background:linear-gradient(160deg,#f4e5cf,#ead0a8);display:grid;place-items:center;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.photo-placeholder:before{content:"";width:150px;height:150px;border-radius:50%;background:#fff7ea;position:absolute;top:85px}.photo-placeholder:after{content:"";width:260px;height:210px;border-radius:140px 140px 30px 30px;background:#fff7ea;position:absolute;bottom:0}.photo-placeholder span{position:relative;z-index:2;color:#a3753f;font-weight:700;text-align:center;margin-top:120px}.doctor-copy h2,.about-intro h2{font-family:var(--font-display);font-size:36px;line-height:1.45;margin:10px 0 18px}.doctor-copy .lead{font-size:17px;color:var(--muted);max-width:650px}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.philosophy-grid div{border-top:2px solid #d7a85e;padding:18px 6px 0}.philosophy-grid b,.philosophy-grid span,.philosophy-grid small{display:block}.philosophy-grid b{font-family:var(--font-display);color:#c58b36;font-size:22px}.philosophy-grid span{font-weight:700;margin:6px 0}.philosophy-grid small{color:var(--muted);line-height:1.6}.verify-note{margin-top:24px!important;font-size:11px!important;color:#9a887c!important}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.about-intro p{color:var(--muted);font-size:16px}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.trust-row div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.trust-row strong,.trust-row span{display:block}.trust-row strong{color:var(--brown)}.trust-row span{margin-top:6px;font-size:12px;color:var(--muted)}.vaccine-section{background:linear-gradient(180deg,#fff,#fff8ec)}.section-title>p{color:var(--muted);margin:10px 0 0}.vaccine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vaccine-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;text-align:center;box-shadow:0 10px 28px rgba(116,80,40,.04)}.vaccine-icon{width:66px;height:66px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#fff6e5;color:var(--gold2);font-size:28px}.vaccine-grid h3{margin:0 0 7px}.vaccine-grid p{margin:0;color:var(--muted);font-size:13px}.notice-bar{margin-top:22px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.notice-bar b{color:var(--gold2)}.notice-bar span{color:var(--muted);font-size:13px}.notice-bar a{color:#fff;background:var(--gold2);text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:700;font-size:13px}.route-actions{display:flex;gap:10px;flex-wrap:wrap}.outline-btn.subtle{border-color:#e8ddcc;color:var(--brown);background:#fffaf2}.coming-soon{background:#f6ead9;border:1px dashed #d7b177;padding:12px 14px;border-radius:10px;color:#8a6b45;font-size:12px;font-weight:700}
@media(max-width:960px){.doctor-grid,.about-intro{grid-template-columns:1fr}.doctor-photo{min-height:340px}.photo-placeholder{min-height:340px}.philosophy-grid{grid-template-columns:1fr 1fr 1fr}.trust-row,.vaccine-grid{grid-template-columns:1fr 1fr}.notice-bar{grid-template-columns:1fr}.footer-actions{align-items:flex-start}}
@media(max-width:620px){.doctor-copy h2,.about-intro h2{font-size:28px}.philosophy-grid,.trust-row,.vaccine-grid{grid-template-columns:1fr}.doctor-grid{gap:28px}.doctor-photo,.photo-placeholder{min-height:300px}.notice-bar a{text-align:center}.coming-soon{width:fit-content}}
.site-photo{display:block;width:100%;height:100%;object-fit:cover}.hero-photo{height:440px;border-radius:160px 0 0 0}.doctor-img{min-height:470px;border-radius:180px 180px 24px 24px;object-position:center top}.image-fallback{height:440px;border:1px dashed #d7b177;background:#f8ead5;border-radius:40px;place-items:center;text-align:center;color:#9a7547;font-weight:700}.image-fallback.portrait{min-height:470px;border-radius:180px 180px 24px 24px}.about-photo{height:190px;border-radius:18px;margin-bottom:16px}.panel-photo{height:240px;align-self:stretch;border-radius:0 18px 18px 0}.equipment-photo{height:170px;border-radius:14px;margin:10px 0 18px}.exterior-photo{height:150px;border-radius:12px;margin-bottom:14px}@media(max-width:960px){.hero-photo{height:320px;border-radius:100px 18px 18px 18px}.doctor-img{min-height:340px}.panel-photo{border-radius:16px;height:220px}}

/* Multi-page detail layout */
.page-hero{padding:78px 0 66px;background:linear-gradient(115deg,#fffaf1,#f5e5cd);border-bottom:1px solid var(--line)}
.page-hero .breadcrumb{font-size:12px;color:var(--gold2);font-weight:800;letter-spacing:.08em;margin-bottom:12px}.page-hero h1{font-family:var(--font-display);font-size:42px;line-height:1.35;margin:0 0 12px}.page-hero p{margin:0;color:var(--muted);max-width:680px}.page-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.page-hero-photo{height:300px;border-radius:90px 20px 20px 20px;object-fit:cover}.detail-section{padding:72px 0}.detail-section.alt{background:#fff9ef}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.detail-copy h2{font-family:var(--font-display);font-size:31px;margin:7px 0 16px}.detail-copy p{color:var(--muted)}.detail-photo{height:340px;border-radius:22px;object-fit:cover}.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 9px 28px rgba(116,80,40,.04)}.detail-card h3{margin:0 0 8px;color:var(--brown)}.detail-card p{margin:0;color:var(--muted);font-size:14px}.detail-list{margin:22px 0 0;padding:0;list-style:none}.detail-list li{position:relative;padding:11px 0 11px 26px;border-bottom:1px dashed var(--line);color:var(--muted)}.detail-list li:before{content:'✓';position:absolute;left:0;color:var(--gold2);font-weight:800}.page-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.page-cta .outline-btn{margin-top:0}.active-menu{color:var(--gold2)!important}.hours-wide{max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.hours-wide dl{margin:0}.hours-wide dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #efe3d1}.hours-wide dt{font-weight:700}.hours-wide dd{margin:0}.hours-wide .holiday dd{color:#c45e37;font-weight:700}.location-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.location-page-grid .map-placeholder{height:440px}.location-page-grid .location-info{height:100%}
@media(max-width:960px){.page-hero-grid,.detail-grid,.location-page-grid{grid-template-columns:1fr}.page-hero-photo{height:260px}.detail-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.page-hero{padding:50px 0 44px}.page-hero h1{font-size:32px}.detail-section{padding:52px 0}.detail-cards{grid-template-columns:1fr}.detail-photo{height:260px}.page-hero-photo{height:220px;border-radius:50px 16px 16px 16px}}

/* Modern typography */
body{letter-spacing:-.012em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand strong{font-family:var(--font-display);letter-spacing:-.035em}.hero h1,.page-hero h1,.disease-hero h1{font-weight:780;line-height:1.26}.section-title h2,.feature-panel h2,.doctor-copy h2,.about-intro h2,.detail-copy h2,.group-heading h2,.disease-photo-grid h2,.disease-cta h2,.profile-name h2{font-weight:750}.service-card h3,.detail-card h3,.disease-card-head h3,.profile-career-grid h3{font-weight:720}.nav a,.mobile-nav a,.phone-btn,.gold-btn,.outline-btn{font-weight:700}.hero-desc,.page-hero p,.disease-summary{letter-spacing:-.018em}

/* Director profile */
.doctor-profile-section{padding:78px 0;background:#fff}.doctor-profile-card{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:stretch}.profile-photo-wrap{min-height:560px;border-radius:180px 180px 24px 24px;overflow:hidden;background:#f5e8d4;border:1px solid var(--line);box-shadow:var(--shadow)}.profile-photo-wrap>img{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center top}.profile-photo-placeholder{height:100%;min-height:560px;place-items:center;align-content:center;text-align:center;color:#a3753f;background:linear-gradient(160deg,#f8ecd9,#ead0a8)}.profile-photo-placeholder span{width:78px;height:78px;display:grid;place-items:center;margin:auto;border:1px solid #d4a866;border-radius:50%;background:rgba(255,255,255,.48);font-size:36px}.profile-photo-placeholder strong,.profile-photo-placeholder small{display:block}.profile-photo-placeholder strong{margin-top:17px;font-family:var(--font-display);font-size:20px}.profile-photo-placeholder small{margin-top:5px;color:var(--muted)}.profile-content{padding:24px 0}.profile-name{display:flex;align-items:baseline;gap:13px;margin:8px 0 16px}.profile-name h2{margin:0;font-family:var(--font-display);font-size:38px;color:var(--brown)}.profile-name strong{color:var(--gold2);font-size:15px}.profile-message{margin:0;padding:20px 22px;border-left:3px solid #d2a258;background:#fff9ef;color:var(--muted);font-size:15px}.profile-specialties{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 27px}.profile-specialties span{padding:7px 12px;border-radius:999px;background:#fff4df;border:1px solid #ead0a2;color:var(--gold2);font-size:12px;font-weight:700}.profile-career-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-career-grid section{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.profile-career-grid h3{margin:0 0 12px;color:var(--brown);font-size:16px}.profile-career-grid ul{margin:0;padding-left:18px}.profile-career-grid li{margin:7px 0;color:var(--muted);font-size:13px}.profile-edit-note{margin:17px 0 0;color:#9a887c;font-size:11px}@media(max-width:960px){.doctor-profile-card{grid-template-columns:1fr;gap:30px}.profile-photo-wrap,.profile-photo-wrap>img,.profile-photo-placeholder{min-height:440px}.profile-photo-wrap{max-width:520px;width:100%;margin:auto}.profile-content{padding:0}}@media(max-width:620px){.doctor-profile-section{padding:52px 0}.profile-photo-wrap,.profile-photo-wrap>img,.profile-photo-placeholder{min-height:360px}.profile-photo-wrap{border-radius:110px 110px 18px 18px}.profile-name h2{font-size:32px}.profile-career-grid{grid-template-columns:1fr}.profile-message{padding:17px}.profile-content{padding:0 3px}}

/* Profile cutout scroll reveal */
.profile-photo-wrap{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 76%,#fff8eb 0 30%,#f1dcc0 70%,#e7cba5 100%)}.profile-photo-wrap:after{content:"";position:absolute;left:12%;right:12%;bottom:4%;height:7%;z-index:0;border-radius:50%;background:rgba(105,70,37,.13);filter:blur(13px)}.profile-photo-wrap>img.profile-person{position:relative;z-index:1;object-fit:contain;object-position:center bottom;transform-origin:center top}.profile-person.is-reveal-ready{opacity:0;transform:translateY(-72px) scale(.97);filter:blur(5px);transition:opacity .9s ease,transform 1.05s cubic-bezier(.2,.75,.25,1),filter .8s ease}.profile-person.is-reveal-ready.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}@media(prefers-reduced-motion:reduce){.profile-person.is-reveal-ready,.profile-person.is-reveal-ready.is-visible{opacity:1;transform:none;filter:none;transition:none}}

/* Main-page director portrait */
.main-doctor-photo{position:relative;isolation:isolate;height:540px;overflow:hidden;border:1px solid var(--line);border-radius:180px 180px 24px 24px;background:radial-gradient(circle at 50% 76%,#fff8eb 0 30%,#f1dcc0 70%,#e7cba5 100%);box-shadow:var(--shadow)}.main-doctor-photo:after{content:"";position:absolute;left:14%;right:14%;bottom:3%;height:7%;z-index:0;border-radius:50%;background:rgba(105,70,37,.13);filter:blur(13px)}.main-doctor-photo .main-doctor-person{position:relative;z-index:1;height:100%;min-height:0;object-fit:contain;object-position:center bottom;transform-origin:center top}.main-doctor-name{display:flex;align-items:baseline;gap:7px;margin:0 0 12px;color:var(--muted)}.main-doctor-name strong{font-size:24px;color:var(--brown)}.main-doctor-link{display:inline-flex;margin-top:24px}.main-doctor-person.is-reveal-ready{opacity:0;transform:translateY(-72px) scale(.97);filter:blur(5px);transition:opacity .9s ease,transform 1.05s cubic-bezier(.2,.75,.25,1),filter .8s ease}.main-doctor-person.is-reveal-ready.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}@media(max-width:960px){.main-doctor-photo{max-width:520px;width:100%;height:440px;margin:auto}}@media(max-width:620px){.main-doctor-photo{height:360px;border-radius:110px 110px 18px 18px}.main-doctor-name strong{font-size:21px}}@media(prefers-reduced-motion:reduce){.main-doctor-person.is-reveal-ready,.main-doctor-person.is-reveal-ready.is-visible{opacity:1;transform:none;filter:none;transition:none}}

/* Clickable Naver map capture */
.map-link{display:block;position:relative;height:100%;min-height:300px;border-radius:18px;overflow:hidden;text-decoration:none;background:#f6eedf}.map-link .map-placeholder{height:100%;min-height:300px}.map-capture{display:block;width:100%;height:300px;object-fit:contain;border:1px solid var(--line);border-radius:18px;transition:transform .25s}.location-page-grid .map-link,.location-page-grid .map-capture,.location-page-grid .map-link .map-placeholder{height:440px}.map-link:hover .map-capture{transform:scale(1.015)}.map-link-label{position:absolute;right:14px;bottom:14px;padding:9px 13px;border-radius:9px;background:rgba(91,62,47,.9);color:#fff;font-size:12px;font-weight:700;box-shadow:0 6px 18px rgba(61,40,27,.16)}@media(max-width:620px){.map-link,.map-link .map-placeholder,.map-capture{min-height:250px;height:250px}.location-page-grid .map-link,.location-page-grid .map-capture,.location-page-grid .map-link .map-placeholder{height:320px}.map-link-label{right:10px;bottom:10px}}

/* Monthly schedule */
.monthly-schedule-section{padding:78px 0;background:#fff}.monthly-schedule-frame{width:75%;max-width:675px;margin:auto;min-height:270px;border:1px solid var(--line);border-radius:22px;background:#fffaf2;overflow:hidden;box-shadow:var(--shadow)}.monthly-schedule-frame>img{display:block;width:100%;height:auto;max-height:825px;object-fit:contain;background:#fff}.monthly-schedule-placeholder{min-height:330px;place-items:center;align-content:center;text-align:center;padding:40px;color:var(--muted)}.monthly-schedule-placeholder span{font-size:48px}.monthly-schedule-placeholder strong{display:block;margin-top:14px;color:var(--brown);font-family:var(--font-display);font-size:22px}.monthly-schedule-placeholder p{margin:7px 0 0;font-size:13px}.monthly-schedule-note{width:75%;max-width:675px;margin:16px auto 0;display:grid;grid-template-columns:auto 1fr;gap:16px;padding:17px 20px;border-radius:14px;background:#fff7e8;border:1px solid var(--line)}.monthly-schedule-note b{color:var(--gold2)}.monthly-schedule-note p{margin:0;color:var(--muted);font-size:13px}.monthly-schedule-note a{color:var(--gold2);font-weight:700}.section-title>p{color:var(--muted);margin:10px 0 0}@media(max-width:620px){.monthly-schedule-section{padding:52px 0}.monthly-schedule-frame,.monthly-schedule-note{width:100%}.monthly-schedule-frame{min-height:250px;border-radius:16px}.monthly-schedule-placeholder{min-height:320px;padding:26px 18px}.monthly-schedule-placeholder strong{font-size:18px}.monthly-schedule-note{grid-template-columns:1fr;gap:5px}}

/* Common diseases page */
.disease-hero{background:linear-gradient(115deg,#fffaf1 0%,#f8ecd9 55%,#efe0c9 100%);overflow:hidden}.disease-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:520px;align-items:center;gap:48px}.disease-hero-copy{padding:62px 0}.disease-hero .breadcrumb{font-size:12px;color:var(--gold2);font-weight:800;letter-spacing:.08em;margin-bottom:26px}.disease-label{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid #e9c994;color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.12em}.disease-hero h1{font-family:var(--font-display);font-size:45px;line-height:1.35;margin:16px 0}.disease-hero h1 em{color:#b87926;font-style:normal}.disease-hero p{max-width:560px;color:var(--muted);font-size:16px}.disease-hero-actions{display:flex;gap:12px;margin-top:26px}.disease-hero-actions .gold-btn,.disease-hero-actions .outline-btn{margin-top:0}.disease-hero-photo{width:100%;height:430px;object-fit:cover;border-radius:140px 22px 22px 22px;box-shadow:0 22px 55px rgba(94,64,32,.13)}
.disease-jump{position:sticky;top:78px;z-index:14;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(91,62,47,.04);backdrop-filter:blur(10px)}.disease-jump .container{display:flex;justify-content:center;gap:8px;padding:13px 0}.disease-jump a{padding:8px 19px;border-radius:999px;color:var(--brown);text-decoration:none;font-size:13px;font-weight:700;transition:.2s}.disease-jump a:hover{background:#f7ead4;color:var(--gold2)}
.disease-intro{padding:82px 0 70px}.disease-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.disease-overview a{position:relative;min-height:158px;padding:22px 16px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;text-align:center;box-shadow:0 9px 28px rgba(116,80,40,.04);transition:transform .2s,box-shadow .2s,border-color .2s}.disease-overview a:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d9b273}.disease-overview span{position:absolute;left:13px;top:10px;color:#d2b98f;font-family:var(--font-display);font-size:12px}.disease-overview i{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin:0 auto 11px;background:#fff5e4;color:var(--gold2);font-style:normal;font-size:23px}.disease-overview strong,.disease-overview small{display:block}.disease-overview strong{font-size:15px;color:var(--brown)}.disease-overview small{margin-top:4px;color:var(--muted);font-size:11px}
.disease-group{padding:80px 0;scroll-margin-top:130px}.disease-group.alt{background:#fff8ed}.group-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.group-heading span{font-size:11px;letter-spacing:.15em;color:var(--gold2);font-weight:800}.group-heading h2{font-family:var(--font-display);font-size:31px;margin:5px 0 0}.group-heading>p{margin:0;color:var(--muted);text-align:right}.disease-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.disease-detail-grid.three{grid-template-columns:repeat(3,1fr)}.disease-detail-grid.one{grid-template-columns:minmax(0,1fr)}.disease-card{scroll-margin-top:145px;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 28px rgba(116,80,40,.04);overflow:hidden}.disease-card:target{border-color:#c99343;box-shadow:0 0 0 4px rgba(201,145,61,.12),var(--shadow)}.disease-no{position:absolute;right:21px;top:15px;color:#ead8bc;font-family:var(--font-display);font-size:28px;font-weight:700}.disease-card-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.disease-card-head small{display:block;color:var(--gold2);font-size:11px;font-weight:700}.disease-card-head h3{margin:2px 0 0;font-family:var(--font-display);font-size:22px;color:var(--brown)}.disease-icon{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border-radius:17px;background:#fff4df;color:var(--gold2);font-size:24px}.disease-summary{min-height:53px;color:var(--muted);font-size:14px;margin:0 0 20px}.disease-card details{border-top:1px dashed var(--line);padding-top:15px}.disease-card summary{cursor:pointer;color:var(--gold2);font-size:13px;font-weight:700;list-style:none}.disease-card summary::-webkit-details-marker{display:none}.disease-card summary:after{content:'＋';float:right}.disease-card details[open] summary:after{content:'－'}.disease-card details>div{padding-top:16px}.disease-card details b{display:block;color:var(--brown);font-size:13px}.disease-card details p{color:var(--muted);font-size:13px;margin:4px 0 14px}.disease-card details p:last-child{margin-bottom:0}.disease-card.wide{display:grid;grid-template-columns:auto 1fr;column-gap:24px}.disease-card.wide .disease-card-head{grid-column:1}.disease-card.wide>.disease-summary,.disease-card.wide>.thyroid-compare,.disease-card.wide>details{grid-column:2}.thyroid-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.thyroid-compare div{padding:16px;background:#fff9ef;border:1px solid var(--line);border-radius:13px}.thyroid-compare b{font-size:13px;color:var(--gold2)}.thyroid-compare p{margin:4px 0 0;color:var(--muted);font-size:13px}
.disease-photo-break{padding:64px 0;background:#fff}.disease-photo-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.disease-photo-grid img{width:100%;height:340px;object-fit:cover;border-radius:22px 80px 22px 22px}.disease-photo-grid h2{font-family:var(--font-display);font-size:31px;line-height:1.45;margin:8px 0 14px}.disease-photo-grid p{color:var(--muted)}
.warning-section{padding:52px 0;background:#fff3ea}.warning-box{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:27px 30px;border:1px solid #ecc9ae;border-radius:18px;background:#fff}.warning-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#c8673e;color:#fff;font-family:var(--font-display);font-size:24px;font-weight:700}.warning-box h2{margin:0 0 5px;font-size:20px;color:#863f28}.warning-box p{margin:0;color:var(--muted);font-size:13px}.warning-box .gold-btn{margin-top:0;background:#a94c2d;white-space:nowrap}.disease-cta-section{padding:72px 0}.disease-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;padding:38px 42px;background:linear-gradient(120deg,#5b3e2f,#775440);border-radius:22px;color:#fff}.disease-cta span{color:#e8c78f;font-size:12px;font-weight:700}.disease-cta h2{font-family:var(--font-display);margin:6px 0;font-size:27px}.disease-cta p{margin:0;color:#eadfd8;font-size:14px}.disease-cta>div:last-child{display:flex;gap:10px}.disease-cta .gold-btn,.disease-cta .outline-btn{margin-top:0}.disease-cta .outline-btn{border-color:#cba878;color:#fff}.medical-note{display:flex;justify-content:space-between;gap:20px;margin-top:18px}.medical-note p{margin:0;color:var(--muted);font-size:11px}.medical-note a{color:var(--gold2)}
@media(max-width:1080px){.nav{gap:15px}.nav a{font-size:13px}.disease-overview{grid-template-columns:repeat(3,1fr)}.disease-detail-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:960px){.disease-hero-grid,.disease-photo-grid{grid-template-columns:1fr}.disease-hero-grid{gap:0;padding-bottom:34px}.disease-hero-copy{padding:48px 0 26px}.disease-hero-photo{height:330px;border-radius:90px 20px 20px 20px}.disease-jump{top:68px}.disease-overview{grid-template-columns:repeat(2,1fr)}.disease-detail-grid.three{grid-template-columns:1fr}.disease-card.wide{display:block}.disease-card.wide>.disease-summary,.disease-card.wide>.thyroid-compare,.disease-card.wide>details{grid-column:auto}.disease-photo-grid img{height:300px}.warning-box,.disease-cta{grid-template-columns:1fr}.warning-icon{display:none}.disease-cta>div:last-child{flex-wrap:wrap}.medical-note{display:block}.medical-note p+ p{margin-top:5px}}
@media(max-width:620px){.disease-hero h1{font-size:32px}.disease-hero-photo{height:245px;border-radius:55px 16px 16px}.disease-jump .container{justify-content:flex-start;overflow-x:auto}.disease-jump a{white-space:nowrap;padding:7px 14px}.disease-intro,.disease-group{padding:55px 0}.disease-overview,.disease-detail-grid{grid-template-columns:1fr}.disease-overview a{min-height:112px;padding:18px 18px 18px 80px;text-align:left}.disease-overview span{left:auto;right:15px}.disease-overview i{position:absolute;left:18px;top:28px;margin:0}.disease-overview strong{margin-top:15px}.group-heading{grid-template-columns:1fr;gap:8px}.group-heading>p{text-align:left}.disease-card{padding:23px}.thyroid-compare{grid-template-columns:1fr}.disease-photo-grid{gap:28px}.disease-photo-grid img{height:230px}.disease-photo-grid h2{font-size:26px}.warning-box{padding:23px}.disease-cta{padding:29px 24px}.disease-cta>div:last-child{display:grid}.disease-cta .gold-btn,.disease-cta .outline-btn{width:100%}}

/* Stable treatment dropdown */
@media(min-width:961px){.site-header,.header-inner,.nav,.nav-dropdown{overflow:visible}.nav{height:100%}.nav>a,.nav-parent{height:100%;display:flex;align-items:center;padding:0}.nav-dropdown{height:100%;display:flex;align-items:center}.nav-submenu{z-index:60;top:calc(100% - 4px);margin:0;transform:translate(-50%,-6px)}.nav-submenu:before{top:-8px;height:8px}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.nav-dropdown.is-open .nav-parent span{transform:rotate(180deg)}}
@media(max-width:960px){.mobile-nav{max-height:calc(100vh - 68px);overflow-y:auto}.mobile-submenu{display:none;grid-template-columns:1fr 1fr}.mobile-nav-group.is-open .mobile-submenu{display:grid}.mobile-nav-group.is-open .mobile-nav-parent span{transform:rotate(180deg)}.mobile-nav-parent span{font-size:0;transition:transform .2s ease}.mobile-nav-parent span:after{content:"⌄";font-size:14px}}
@media(max-width:430px){.mobile-submenu{grid-template-columns:1fr}}

/* Opening-hours page */
.hours-page-hero{background:linear-gradient(115deg,#fffaf1,#f2dfc3)}.hours-hero-summary{max-width:430px;margin-left:auto;padding:30px 32px;border:1px solid rgba(201,145,61,.28);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:var(--shadow)}.hours-hero-summary span,.hours-hero-summary strong,.hours-hero-summary b{display:block}.hours-hero-summary span{margin-bottom:16px;color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.13em}.hours-hero-summary strong{margin-top:10px;color:var(--brown);font-size:14px}.hours-hero-summary b{margin-top:2px;font-size:22px;color:var(--text)}@media(max-width:960px){.hours-hero-summary{width:100%;max-width:none;margin:0}.hours-page-hero .page-hero-grid{gap:28px}}@media(max-width:620px){.hours-hero-summary{padding:23px}.hours-hero-summary b{font-size:19px}}

/* Location page with wide map */
.location-page-hero{padding:62px 0;background:linear-gradient(115deg,#fffaf1,#f4e5cf)}.location-hero-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:46px;align-items:center}.location-hero-copy h1{margin:0 0 15px;font-size:40px;line-height:1.35}.location-hero-copy>p{margin:0;color:var(--muted)}.location-hero-map{width:100%;height:auto;min-height:0;aspect-ratio:832/495;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.location-hero-map .map-capture{width:100%;height:100%;min-height:0;object-fit:cover;border:0;border-radius:24px}.location-details-section{padding:54px 0 72px;background:#fff}.location-info-grid{display:grid;grid-template-columns:1.35fr .8fr .7fr 1fr;gap:14px}.location-info-grid article{min-height:152px;padding:23px 21px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(116,80,40,.04)}.location-info-grid span,.location-info-grid b{display:block}.location-info-grid span{margin-bottom:12px;color:#d0ae7a;font-size:11px;font-weight:800}.location-info-grid b{color:var(--brown);font-size:15px}.location-info-grid p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.location-info-grid p a{color:var(--gold2);font-weight:750;text-decoration:none}.location-info-grid small{font-size:11px}@media(max-width:960px){.location-hero-grid{grid-template-columns:1fr;gap:30px}.location-hero-copy h1{font-size:34px}.location-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.location-page-hero{padding:46px 0}.location-hero-copy h1{font-size:30px}.location-hero-map,.location-hero-map .map-capture{height:auto;min-height:0;aspect-ratio:832/495;border-radius:16px}.location-info-grid{grid-template-columns:1fr}.location-info-grid article{min-height:0}.location-details-section{padding:38px 0 56px}}

/* Modern location information cards */
.location-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.location-info-grid article{position:relative;min-height:166px;padding:27px 24px 24px;overflow:hidden;border:1px solid rgba(201,145,61,.18);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fffaf1 100%);box-shadow:0 12px 32px rgba(91,62,47,.06);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.location-info-grid article:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),#efd7af)}.location-info-grid article:hover{transform:translateY(-4px);border-color:rgba(201,145,61,.38);box-shadow:0 18px 38px rgba(91,62,47,.1)}.location-info-grid span{width:36px;height:25px;margin-bottom:20px;display:grid;place-items:center;border-radius:999px;background:#f6e5ca;color:var(--gold2);font-size:10px;letter-spacing:.05em}.location-info-grid b{font-size:17px;letter-spacing:-.025em}.location-info-grid p{margin-top:9px;font-size:13px}.location-info-grid p a{font-size:15px}@media(max-width:960px){.location-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.location-info-grid{grid-template-columns:1fr;gap:11px}.location-info-grid article{min-height:0;padding:22px}.location-info-grid span{margin-bottom:14px}}

.location-phone-number{margin-bottom:12px!important;color:var(--brown)!important;font-size:15px!important;font-weight:700}.location-call-button{display:inline-flex;align-items:center;justify-content:center;min-width:126px;padding:9px 14px;border-radius:10px;background:var(--gold2);color:#fff;text-decoration:none;font-size:13px;font-weight:750;box-shadow:0 7px 16px rgba(168,111,39,.2);transition:transform .2s ease,background .2s ease}.location-call-button:hover{transform:translateY(-2px);background:#8f5b1f}.location-call-button:focus-visible{outline:3px solid rgba(201,145,61,.28);outline-offset:2px}

/* Homepage clinic image slider */
.clinic-slider{position:relative;width:100%;height:440px;overflow:hidden;border-radius:160px 0 0 0;background:#ead8bc;box-shadow:0 20px 46px rgba(91,62,47,.13);isolation:isolate}.clinic-slides,.clinic-slide{position:absolute;inset:0}.clinic-slide{margin:0;opacity:0;visibility:hidden;transform:scale(1.035);transition:opacity .85s ease,transform 1.3s ease,visibility .85s}.clinic-slide.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:1}.clinic-slide img{display:block;width:100%;height:100%;object-fit:cover}.clinic-slide:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(39,27,20,.42))}.clinic-slide figcaption{position:absolute;z-index:2;left:25px;bottom:24px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(44,31,23,.42);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:700}.clinic-slider-arrow{position:absolute;z-index:4;top:50%;width:42px;height:42px;display:grid;place-items:center;padding:0;transform:translateY(-50%);border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(46,32,23,.35);backdrop-filter:blur(8px);color:#fff;font-size:29px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}.clinic-slider-arrow:hover{background:rgba(46,32,23,.62);transform:translateY(-50%) scale(1.06)}.clinic-slider-arrow.prev{left:16px}.clinic-slider-arrow.next{right:16px}.clinic-slider-toggle{position:absolute;z-index:4;right:18px;top:18px;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(46,32,23,.32);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.clinic-slider-toggle:hover{background:rgba(46,32,23,.62)}.clinic-slider-dots{position:absolute;z-index:4;right:22px;bottom:27px;display:flex;gap:7px}.clinic-slider-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.58);cursor:pointer;transition:width .25s ease,background .25s ease}.clinic-slider-dots button.is-active{width:24px;background:#fff}.clinic-slider button:focus-visible{outline:3px solid rgba(255,255,255,.78);outline-offset:3px}@media(max-width:960px){.clinic-slider{height:320px;border-radius:100px 18px 18px 18px}}@media(max-width:620px){.clinic-slider{height:270px;border-radius:62px 16px 16px}.clinic-slider-arrow{width:36px;height:36px;font-size:24px}.clinic-slider-toggle{right:13px;top:13px;width:31px;height:31px}.clinic-slide figcaption{left:16px;bottom:17px}.clinic-slider-dots{right:16px;bottom:20px}}@media(prefers-reduced-motion:reduce){.clinic-slide,.clinic-slider-arrow,.clinic-slider-dots button{transition:none}}

/* Homepage notices */
.home-notice-section{padding:30px 0 20px;background:#fff}
.home-notice-card{display:grid;grid-template-columns:245px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(91,62,47,.07)}
.home-notice-head{position:relative;padding:30px 29px;background:linear-gradient(145deg,#5b3e2f,#76513b);color:#fff}
.home-notice-head:after{content:"";position:absolute;right:-28px;bottom:-42px;width:120px;height:120px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.home-notice-head>span{color:#e8c78f;font-size:11px;font-weight:800;letter-spacing:.16em}
.home-notice-head h2{margin:4px 0 8px;font-size:27px;line-height:1.3}
.home-notice-head p{margin:0;color:#eee3dc;font-size:13px;line-height:1.65}
.home-notice-head small{display:inline-block;margin-top:19px;padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#f5e9df;font-size:10px}
.home-notice-list{padding:6px 26px}
.home-notice-item{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:16px;min-height:86px;padding:14px 4px;border-bottom:1px solid #f0e5d6;color:inherit;text-decoration:none;transition:background .2s ease,padding .2s ease}
.home-notice-item:last-child{border-bottom:0}
.home-notice-item:hover,.home-notice-item:focus-visible{padding-left:12px;padding-right:10px;border-radius:12px;background:#fff8ec;outline:none}
.home-notice-category{display:grid;place-items:center;min-height:27px;padding:4px 8px;border:1px solid #e6c895;border-radius:999px;color:var(--gold2);font-size:11px;font-weight:800}
.home-notice-item.is-important .home-notice-category{border-color:#b96545;background:#b96545;color:#fff}
.home-notice-item strong{display:block;color:var(--brown);font-size:15px}
.home-notice-item p{margin:2px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-notice-arrow{color:#b99970;font-size:20px;transition:transform .2s ease}
.home-notice-item:hover .home-notice-arrow{transform:translateX(4px)}
@media(max-width:760px){.home-notice-card{grid-template-columns:1fr}.home-notice-head{padding:24px 25px}.home-notice-head p{display:none}.home-notice-head small{margin-top:10px}.home-notice-list{padding:5px 18px}.home-notice-item{grid-template-columns:54px minmax(0,1fr) 20px;gap:11px}}
@media(max-width:520px){.home-notice-section{padding:18px 0 8px}.home-notice-card{border-radius:17px}.home-notice-head{padding:20px}.home-notice-head h2{font-size:23px}.home-notice-item{min-height:78px;padding:12px 2px}.home-notice-item p{white-space:normal;line-height:1.45}.home-notice-arrow{font-size:17px}}

/* Homepage notice popup */
body.notice-popup-open{overflow:hidden}
.notice-popup[hidden]{display:none}
.notice-popup{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px}
.notice-popup-backdrop{position:absolute;inset:0;background:rgba(42,31,24,.58);backdrop-filter:blur(5px);animation:notice-backdrop-in .25s ease both}
.notice-popup-dialog{position:relative;width:min(520px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(201,145,61,.32);border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(34,23,16,.28);animation:notice-popup-in .35s cubic-bezier(.2,.8,.25,1) both}
.notice-popup-x{position:absolute;z-index:2;right:17px;top:16px;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.notice-popup-x:hover{background:rgba(255,255,255,.24)}
.notice-popup-heading{padding:31px 34px 27px;background:linear-gradient(135deg,#5b3e2f,#7b5741);color:#fff}
.notice-popup-heading>span{color:#e8c78f;font-size:10px;font-weight:850;letter-spacing:.17em}
.notice-popup-heading h2{margin:5px 0 5px;padding-right:35px;font-size:26px;line-height:1.35}
.notice-popup-heading p{margin:0;color:#eee3dc;font-size:13px}
.notice-popup-content{padding:11px 28px 7px}
.notice-popup-item{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:15px;padding:18px 2px;border-bottom:1px solid #efe3d2;color:inherit;text-decoration:none}
.notice-popup-item:last-child{border-bottom:0}
.notice-popup-item>span{display:grid;place-items:center;min-height:27px;padding:4px 7px;border:1px solid #e4c38d;border-radius:999px;color:var(--gold2);font-size:10px;font-weight:800}
.notice-popup-item.is-important>span{border-color:#b96545;background:#b96545;color:#fff}
.notice-popup-item strong{display:block;color:var(--brown);font-size:15px}
.notice-popup-item p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.notice-popup-item:hover strong,.notice-popup-item:focus-visible strong{color:var(--gold2)}
.notice-popup-actions{display:grid;grid-template-columns:1fr 110px;border-top:1px solid var(--line);background:#fffaf2}
.notice-popup-actions button{min-height:55px;border:0;background:transparent;color:var(--brown);font-family:inherit;font-size:13px;font-weight:750;cursor:pointer}
.notice-popup-actions button+button{border-left:1px solid var(--line)}
.notice-popup-actions button:hover{background:#f7ead7}
.notice-popup-close{color:var(--gold2)!important}
@keyframes notice-popup-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes notice-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.notice-popup{padding:14px}.notice-popup-dialog{max-height:calc(100vh - 28px);border-radius:20px}.notice-popup-heading{padding:27px 22px 22px}.notice-popup-heading h2{font-size:22px}.notice-popup-content{padding:7px 19px 4px}.notice-popup-item{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:15px 0}.notice-popup-actions{grid-template-columns:1fr 86px}.notice-popup-actions button{min-height:52px;font-size:12px}.notice-popup-x{right:13px;top:13px;width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.notice-popup-backdrop,.notice-popup-dialog{animation:none}}

/* Image-card notice popup */
.notice-popup-dialog{width:min(980px,100%);max-height:calc(100vh - 48px)}
.notice-popup-heading{padding:25px 32px 21px}
.notice-popup-heading h2{font-size:24px}
.notice-popup-content{display:flex;gap:16px;padding:22px 24px 20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-color:#d5b787 #f6ead8;scrollbar-width:thin}
.notice-popup-dialog .notice-popup-card{display:block;flex:0 0 calc((100% - 32px)/3);min-width:0;padding:0;overflow:hidden;border:1px solid #eadbc4;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 9px 26px rgba(91,62,47,.07);scroll-snap-align:start;transition:transform .2s ease,box-shadow .2s ease}
.notice-popup-dialog .notice-popup-card:hover,.notice-popup-dialog .notice-popup-card:focus-visible{padding:0;border-radius:18px;background:#fff;outline:3px solid rgba(201,145,61,.22);transform:translateY(-4px);box-shadow:0 15px 32px rgba(91,62,47,.12)}
.notice-popup-media{position:relative;height:205px;overflow:hidden;background:#f4e7d4}
.notice-popup-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.notice-popup-card:hover .notice-popup-media img{transform:scale(1.035)}
.notice-popup-card.is-schedule .notice-popup-media img{object-fit:contain;background:#f7ead6}
.notice-popup-badge{position:absolute;left:13px;top:13px;display:inline-flex!important;min-height:0!important;padding:6px 10px!important;border:0!important;border-radius:999px!important;background:rgba(91,62,47,.88)!important;backdrop-filter:blur(6px);color:#fff!important;font-size:10px!important;font-weight:800!important;box-shadow:0 5px 15px rgba(38,25,17,.16)}
.notice-popup-card.is-important .notice-popup-badge{background:#b85e3d!important}
.notice-popup-copy{min-height:153px;padding:19px 18px 17px}
.notice-popup-dialog .notice-popup-copy strong{font-size:16px;line-height:1.4}
.notice-popup-dialog .notice-popup-copy p{min-height:43px;margin:7px 0 12px;font-size:12px;line-height:1.6}
.notice-popup-copy em{color:var(--gold2);font-size:11px;font-style:normal;font-weight:800}
.notice-popup-swipe{display:none;margin:0;padding:0 20px 13px;text-align:center;color:var(--muted);font-size:10px}
@media(max-width:760px){.notice-popup{padding:14px}.notice-popup-dialog{max-height:calc(100vh - 28px);border-radius:20px}.notice-popup-heading{padding:23px 22px 19px}.notice-popup-heading h2{font-size:21px}.notice-popup-content{gap:13px;padding:17px 18px 14px}.notice-popup-dialog .notice-popup-card{flex-basis:82%}.notice-popup-media{height:210px}.notice-popup-copy{min-height:145px}.notice-popup-swipe{display:block}.notice-popup-actions{position:sticky;bottom:0;z-index:2}}
@media(max-width:420px){.notice-popup-dialog .notice-popup-card{flex-basis:88%}.notice-popup-media{height:190px}.notice-popup-copy{padding:17px 16px 15px}.notice-popup-x{right:12px;top:12px}}

/* Clinic introduction gallery */
.about-page-hero{padding:68px 0 56px;text-align:center}
.about-page-hero .page-hero-grid{display:block}
.about-page-hero .page-hero-grid>div{max-width:800px;margin:auto}
.about-page-hero .breadcrumb{margin-bottom:16px}
.about-page-hero p{margin:0 auto}
.about-gallery-section{padding:42px 0 82px;background:linear-gradient(180deg,#fffaf1 0%,#fff 100%)}
.about-gallery-title{margin-bottom:25px;text-align:center}
.about-gallery-title h2{margin:6px 0 5px;font-size:31px}
.about-gallery-title p{margin:0;color:var(--muted);font-size:14px}
.about-gallery-slider{height:620px;border-radius:30px;box-shadow:0 24px 60px rgba(91,62,47,.15)}
.about-gallery-slider .clinic-slide:after{inset:62% 0 0}
.about-gallery-slider .clinic-slide figcaption{left:30px;bottom:29px;padding:10px 15px;font-size:13px}
.about-gallery-slider .clinic-slider-arrow{width:48px;height:48px}
@media(max-width:960px){.about-page-hero{padding:56px 0 47px}.about-gallery-section{padding:34px 0 66px}.about-gallery-slider{height:500px;border-radius:24px}}
@media(max-width:620px){.about-page-hero{padding:46px 0 38px}.about-gallery-section{padding:28px 0 52px}.about-gallery-title h2{font-size:25px}.about-gallery-title p{font-size:13px}.about-gallery-slider{height:360px;border-radius:18px}.about-gallery-slider .clinic-slide figcaption{left:17px;bottom:17px}.about-gallery-slider .clinic-slider-arrow{width:38px;height:38px}}
.gallery-image-missing{width:100%;height:100%;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#f7ead6,#ead5b7);color:var(--brown);font-size:15px;font-weight:750;text-align:center}

/* ── 공지 팝업 사진: 자르지 않고 올린 비율 그대로 ──────────────────────
   원래는 205px 고정 높이에 object-fit:cover 라서 위아래가 잘렸습니다.
   높이를 사진에 맡기고, 너무 긴 세로 사진만 화면 높이로 제한합니다. */
.notice-popup-media { height: auto; min-height: 0; background: var(--cream, #f7ead6); }
.notice-popup-media img {
  width: 100%;
  height: auto;
  max-height: 52vh;
  object-fit: contain;   /* 위 max-height 에 걸릴 때 비율이 찌그러지지 않게 */
}
/* 마우스를 올렸을 때 확대하면 다시 잘리므로 끕니다. */
.notice-popup-card:hover .notice-popup-media img { transform: none; }

@media (max-width: 960px) {
  .notice-popup-media { height: auto; }
  .notice-popup-media img { max-height: 44vh; }
}
@media (max-width: 640px) {
  .notice-popup-media { height: auto; }
  .notice-popup-media img { max-height: 40vh; }
}

/* 사진 높이가 제각각이므로 카드를 억지로 늘리지 않습니다 (아래 흰 여백 방지). */
.notice-popup-content { align-items: flex-start; }
/* 사진이 없는 카드도 모양이 무너지지 않게 최소 높이만 줍니다. */
.notice-popup-media:not(:has(img)) { min-height: 96px; background: var(--cream2, #f0e6d4); }

/* ── 카카오톡 상담 버튼 ─────────────────────────────────────
   카카오 브랜드 색(노랑 #FEE500 + 진갈색 글씨)을 그대로 씁니다.
   테마 색과 상관없이 카카오는 카카오로 보여야 알아보기 쉽습니다. */
.kakao-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 11px 20px;
  border: 0; border-radius: 999px;
  background: #FEE500; color: #191600 !important;
  font-size: 14px; font-weight: 700; text-decoration: none;
  box-shadow: 0 4px 14px rgba(254, 229, 0, .35);
  transition: filter .15s, transform .06s;
}
.kakao-btn:hover { filter: brightness(.95); }
.kakao-btn:active { transform: translateY(1px); }
.kakao-btn span { font-size: 15px; line-height: 1; }

/* 푸터 안에서는 조금 작게. 배경은 푸터 기본 규칙과 테마가 덮어쓰므로 다시 못박습니다. */
.footer-actions .kakao-btn,
.footer .kakao-btn {
  padding: 9px 15px; font-size: 13px; box-shadow: none;
  background: #FEE500 !important; color: #191600 !important; border: 0 !important;
}

/* 모바일 하단 바의 상담 버튼 */
.mobile-actions .kakao { background: #FEE500 !important; color: #191600 !important; font-weight: 700; }

@media (max-width: 640px) {
  .kakao-btn { padding: 10px 16px; font-size: 13px; }
}

/* 하단 바 칸 수가 3개로 박혀 있어 카카오 버튼을 넣으면 줄이 바뀌었습니다.
   항목 수에 맞춰 자동으로 나뉘도록 바꿉니다. */
.mobile-actions {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}
.mobile-actions a { padding: 13px 4px; font-size: 12.5px; white-space: nowrap; }
@media (max-width: 380px) {
  .mobile-actions a { font-size: 11.5px; padding: 12px 2px; }
}

/* ── 공지 팝업: 개수에 맞춰 칸 나누기 ──────────────────────────
   카드 폭이 1/3 로 고정돼 있어 공지가 2개면 오른쪽 한 칸이 비어 보였습니다.
   몇 개든 남는 자리 없이 고르게 나눠 갖도록 바꿉니다. */
.notice-popup-dialog .notice-popup-card {
  flex: 1 1 0;
  /* 3개까지는 한 화면에 들어가고, 4개부터 좌우로 넘겨 보게 되는 값입니다.
     (팝업 안쪽 폭 약 930px 기준 3개면 한 칸 299px) */
  min-width: min(280px, 100%);
}
/* 하나뿐일 때는 지나치게 넓어지지 않게 가운데로 모읍니다. */
.notice-popup-dialog .notice-popup-card:only-child { flex: 0 1 480px; }
.notice-popup-content:has(.notice-popup-card:only-child) { justify-content: center; }

/* 좁은 화면에서는 원래대로 한 장씩 넘겨 보는 방식을 유지합니다. */
@media (max-width: 760px) {
  .notice-popup-dialog .notice-popup-card { flex: 0 0 82%; min-width: 0; }
  .notice-popup-dialog .notice-popup-card:only-child { flex: 0 0 92%; }
}
@media (max-width: 420px) {
  .notice-popup-dialog .notice-popup-card { flex: 0 0 88%; }
  .notice-popup-dialog .notice-popup-card:only-child { flex: 0 0 94%; }
}

/* Clinic Standard: 김영순내과에서 확정한 공통 베이지·브라운 디자인.
   기존 병원과 새 병원의 모든 공개 페이지에 동일하게 적용합니다. */
body:has(.site-header) {
  --bg: #fffdfa;
  --cream: #f5eee4;
  --cream2: #e9ddcd;
  --gold: #a58460;
  --gold2: #79593e;
  --brown: #48382c;
  --text: #332b25;
  --muted: #796e64;
  --line: #e4d9cb;
  --shadow: 0 14px 40px rgba(77, 53, 34, .055);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.8;
  word-break: keep-all;
  overflow-wrap: anywhere;

  .container { width: min(1240px, calc(100% - 80px)); }
  h1, h2 { font-family: 'Noto Serif KR', 'Nanum Myeongjo', 'AppleMyungjo', 'Batang', serif; font-weight: 500; letter-spacing: -.045em; }
  .site-header { background: #fffdfa; border-bottom: 1px solid var(--line); }
  .header-inner { height: 108px; gap: 26px; }
  .brand strong { font-size: 24px; font-weight: 650; letter-spacing: -.06em; color: var(--brown); }
  .brand span { font-size: 9px; letter-spacing: .055em; }
  .brand-mark { width: 46px; height: 46px; color: var(--gold2); border: 1px solid var(--gold); font-size: 28px; }
  .nav { gap: 31px; }
  .nav a { font-size: 16px; font-weight: 600; color: var(--brown); }
  .nav>a, .nav-parent { padding: 35px 0; }
  .nav-submenu { border-radius: 2px; padding: 14px; top: 100%; box-shadow: var(--shadow); }
  .nav-submenu a { font-size: 14px; border-radius: 0; }
  .nav-submenu a:hover, .nav-submenu a.active-menu, .mobile-submenu, .mobile-submenu a.active-menu { background: var(--cream); }
  .phone-btn { border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 8px 0 8px 22px; font-size: 15px; color: var(--brown); }

  .hero { position: relative; isolation: isolate; background: #e9ded0; }
  .hero-grid { position: relative; min-height: 660px; display: flex; align-items: center; }
  .hero-copy { position: relative; z-index: 3; width: 66%; padding: 84px 0 100px; pointer-events: none; }
  .hero .eyebrow { border: 0; border-radius: 0; background: transparent; padding: 0 0 14px; color: var(--gold2); font-size: 15px; letter-spacing: .05em; }
  .hero h1 { font-size: clamp(34px, 3.25vw, 55px); line-height: 1.55; margin: 10px 0 22px; color: #433326; }
  .hero h1 em { color: #795439; }
  .hero-desc { max-width: 460px; font-size: 17px; color: #6b594b; }
  .hero-features { gap: 32px; margin-top: 42px; }
  .hero-features div { align-items: flex-start; text-align: left; min-width: 100px; }
  .hero-features span { width: 38px; height: 38px; border: 0; border-radius: 0; background: transparent; color: var(--gold2); font-size: 28px; place-items: start; }
  .hero-features b { font-size: 15px; }
  .hero-features small { font-size: 13px; color: #6b594b; }
  .hero-visual { position: absolute; inset: 0; width: 100vw; left: calc((100% - 100vw) / 2); padding: 0; z-index: 0; }
  .hero .clinic-slider { height: 100%; border-radius: 0; box-shadow: none; }
  .hero .clinic-slide img { object-position: center 55%; }
  .hero .clinic-slide:after { inset: 0; background: linear-gradient(90deg, #f3ece1 0%, rgba(243,236,225,.97) 24%, rgba(243,236,225,.85) 43%, rgba(243,236,225,.2) 68%, rgba(68,46,30,.12) 100%); }
  .hero .clinic-slide figcaption { left: auto; right: 40px; bottom: 30px; background: rgba(67,48,33,.7); border-radius: 0; font-size: 13px; }
  .hero .clinic-slider-arrow { top: auto; bottom: 23px; transform: none; width: 42px; height: 42px; border-radius: 0; background: #785a43; }
  .hero .clinic-slider-arrow.prev { left: 40px; }
  .hero .clinic-slider-arrow.next { left: 90px; right: auto; }
  .hero .clinic-slider-dots { left: 156px; right: auto; bottom: 40px; }
  .hero .clinic-slider-dots button { background: #bea98f; }
  .hero .clinic-slider-dots button.is-active { background: #79593e; }
  .hero .clinic-slider-toggle { top: auto; bottom: 26px; right: 240px; border-radius: 0; background: #785a43; }

  .quick-strip { background: #71553f; padding: 0; }
  .quick-grid { border: 0; border-radius: 0; }
  .quick-grid>div { padding: 25px 17px; gap: 12px; border-color: rgba(255,255,255,.18); }
  .quick-grid>div>span { filter: grayscale(1); font-size: 23px; }
  .quick-grid b { color: #fff8ef; font-size: 13px; }
  .quick-grid small { color: #eadac8; font-size: 12px; }

  .section, .detail-section, .doctor-profile-section, .disease-group { padding: 100px 0; }
  .section-title { margin-bottom: 46px; }
  .section-title h2, .detail-copy h2, .group-heading h2, .disease-photo-grid h2 { font-size: 36px; line-height: 1.5; }
  .section-title span, .kicker, .group-heading>div>span { font-size: 13px; font-weight: 600; letter-spacing: .18em; color: var(--gold2); }
  .section-title>p { font-size: 16px; }
  .soft, .detail-section.alt, .disease-group.alt, .vaccine-section { background: var(--cream); }
  .doctor-section { background: #fffdfa; }
  .doctor-grid { grid-template-columns: .85fr 1.15fr; gap: 90px; }
  .main-doctor-photo, .profile-photo-wrap { border: 0; border-radius: 0; background: linear-gradient(155deg, #f9f4ec, #e6d7c3); box-shadow: none; }
  .main-doctor-photo { height: 570px; }
  .doctor-copy h2, .about-intro h2 { font-size: 40px; line-height: 1.6; }
  .doctor-copy .lead { font-size: 17px; }
  .philosophy-grid { margin-top: 32px; gap: 20px; }
  .philosophy-grid div { border-top: 1px solid #b79b79; }
  .philosophy-grid b { color: #ad8c67; font-size: 24px; }
  .philosophy-grid small { font-size: 14px; }
  .about-intro { gap: 75px; align-items: center; }
  .about-photo { height: 280px; border-radius: 0; }
  .card-grid.six { gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .service-card { padding: 42px 28px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; background: transparent; transition: background .2s; }
  .service-card:hover { background: var(--cream); }
  .service-card .icon { border: 0; border-radius: 0; background: transparent; color: #a18464; font-size: 38px; margin-bottom: 18px; }
  .service-card h3 { font-size: 22px; font-weight: 500; }
  .service-card p, .detail-card p, .vaccine-grid p { font-size: 16px; }
  .feature-panel, .detail-card, .vaccine-grid article, .hours-wide, .hours-card, .location-info, .profile-career-grid section, .disease-card, .trust-row div, .location-info-grid article { border-radius: 2px; box-shadow: none; background: #fffdfa; border-color: var(--line); }
  .feature-panel { padding: 38px; }
  .feature-panel h2 { font-size: 31px; }
  .screening { grid-template-columns: 1fr; }
  .panel-photo { height: 240px; margin-top: 25px; border-radius: 0; }
  .equipment-photo, .detail-photo, .exterior-photo { border-radius: 0; }
  .equipment-list div, .thyroid-compare div { border-radius: 0; background: var(--cream); }
  .equipment-list b, .equipment-list small { font-size: 14px; }
  .vaccine-grid article { padding: 35px 22px; }
  .vaccine-icon, .disease-icon, .disease-overview i { background: #f1e7d8; color: var(--gold2); border-radius: 50%; }
  .notice-bar { border-radius: 0; padding: 23px; background: #fffdfa; }
  .notice-bar span { font-size: 15px; }
  .gold-btn, .outline-btn, .notice-bar a, .location-call-button { min-height: 48px; padding: 11px 24px; border-radius: 0; font-size: 14px; font-weight: 500; }
  .gold-btn, .notice-bar a, .location-call-button { background: #79593e; color: #fff; }
  .outline-btn, .outline-btn.subtle { border-color: #a48768; color: var(--brown); background: transparent; }
  .gold-btn:hover, .notice-bar a:hover { background: #503b2a; }
  .outline-btn:hover { background: #eee2d2; }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #79593e; outline-offset: 5px; }

  .page-hero, .hours-page-hero, .location-page-hero, .disease-hero { background: #f0e7da; border-bottom: 1px solid #e5d7c5; }
  .page-hero { padding: 85px 0; }
  .page-hero h1, .location-hero-copy h1, .disease-hero h1 { font-size: 44px; line-height: 1.55; color: #4b3829; }
  .page-hero .breadcrumb, .disease-hero .breadcrumb { font-size: 13px; letter-spacing: .12em; margin-bottom: 24px; font-weight: 500; }
  .page-hero p { font-size: 16px; }
  .page-hero-photo, .disease-hero-photo { border-radius: 0; box-shadow: none; }
  .disease-hero h1 em { color: #93704e; }
  .disease-label { background: transparent; border-color: #b89c7a; border-radius: 0; }
  .disease-jump { top: 108px; background: #fffdfa; box-shadow: none; }
  .disease-jump a { border-radius: 0; font-size: 14px; }
  .disease-jump a:hover { background: var(--cream); }
  .disease-overview a { border-radius: 0; box-shadow: none; padding: 30px 16px; background: #fffdfa; }
  .disease-overview small { font-size: 13px; }
  .disease-card { padding: 32px; }
  .disease-card-head h3 { font-size: 24px; }
  .disease-summary, .disease-card details p, .disease-card details b { font-size: 15px; }
  .disease-card summary { font-size: 14px; }
  .disease-no { color: #d9c7b0; }
  .disease-photo-grid img { border-radius: 0; }
  .warning-section { background: #ede2d3; }
  .warning-box { border-radius: 0; border-color: #d6bea1; }
  .disease-cta { border-radius: 0; background: #624733; padding: 45px; }
  .disease-cta h2 { color: #fff8ef; }
  .disease-cta .outline-btn { color: #fff; }
  .disease-cta .outline-btn:hover { background: #79593e; }
  .profile-message { background: var(--cream); border-left-color: #a48768; font-size: 17px; }
  .profile-specialties span { background: #f3ebdf; border-color: var(--line); color: #79593e; border-radius: 0; font-size: 14px; }
  .profile-career-grid li { font-size: 15px; }
  .about-gallery-section { padding: 70px 0 90px; }
  .about-gallery-slider { border-radius: 0; box-shadow: none; }
  .hours-hero-summary { background: #fffaf3; border-radius: 0; border-color: #d6c4ad; box-shadow: none; padding: 36px; }
  .hours-hero-summary b { font-size: 27px; }
  .hours-wide { padding: 40px; }
  .monthly-schedule-frame { border-radius: 14px; overflow: hidden; background: var(--cream); }
  .monthly-schedule-frame > img { border-radius: 13px; }
  .monthly-schedule-note { border-radius: 0; background: var(--cream); }
  .monthly-schedule-note p { font-size: 14px; }
  .location-hero-map, .location-hero-map .map-capture, .map-link, .map-capture { border-radius: 0; box-shadow: none; }
  .map-link-label { border-radius: 0; background: #71553f; }
  .location-info-grid p, .info-box p { font-size: 15px; }
  .location-info-grid small { font-size: 13px; }
  .hours-card>p { font-size: 13px; }
  .home-notice-section { padding: 45px 0; background: #fffdfa; }
  .home-notice-card { border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .home-notice-head { background: #f2eade; color: var(--brown); padding: 28px; }
  .home-notice-head:after { display: none; }
  .home-notice-head>span { color: var(--gold2); font-size: 12px; }
  .home-notice-head p { color: var(--muted); }
  .home-notice-item p { font-size: 14px; }
  .home-notice-category { border-radius: 0; border-color: #c1a887; font-size: 12px; }
  .home-notice-item.is-important .home-notice-category { background: #79593e; border-color: #79593e; }
  .footer { padding: 52px 0 40px; background: #44382e; color: #f5eadb; border: 0; }
  .footer .brand strong, .footer .brand-mark { color: #f5eadb; }
  .footer .brand-mark { border-color: #b49b7c; }
  .footer .brand span, .footer-grid p, .copyright { color: #cfbdab; }
  .footer-actions a { background: transparent; color: #f5eadb; border-color: #88715b; border-radius: 0; }
  .copyright { border-color: #6b5745; font-size: 12px; }
  .mobile-actions { background: #fffaf3; }
  .notice-popup-dialog { border-radius: 2px; border-color: #bba282; }
  .notice-popup-heading { background: #624733; }
  .notice-popup-heading h2 { color: #fff8ef; }
  .notice-popup-dialog .notice-popup-card { border-radius: 0; box-shadow: none; border-color: var(--line); }
  .notice-popup-actions { background: #f4ecdf; }
  .notice-popup-copy p { font-size: 14px; }

  @media (max-width: 1150px) {
    .header-inner { gap: 18px; }
    .nav { gap: 20px; }
    .nav a { font-size: 14px; }
    .phone-btn { display: none; }
    .doctor-grid { gap: 45px; }
  }
  @media (max-width: 960px) {
    .container { width: calc(100% - 40px); }
    .header-inner { height: 76px; }
    .brand strong { font-size: 22px; }
    .hero-grid { min-height: 700px; align-items: flex-start; }
    .hero-copy { width: 100%; padding: 42px 0 270px; }
    .hero h1 { font-size: 38px; }
    .hero-desc { max-width: 590px; }
    .hero-features { margin-top: 22px; gap: 28px; }
    .hero .clinic-slide:after { background: linear-gradient(180deg,#f3ece1 0%,rgba(243,236,225,.97) 36%,rgba(243,236,225,.88) 54%,rgba(243,236,225,.06) 80%); }
    .hero .clinic-slide img { object-position: 65% bottom; }
    .quick-grid { grid-template-columns: 1fr 1fr; }
    .quick-grid>div { padding: 18px; }
    .section, .detail-section, .doctor-profile-section, .disease-group { padding: 65px 0; }
    .doctor-grid, .about-intro { grid-template-columns: 1fr; gap: 35px; }
    .main-doctor-photo { height: 460px; max-width: 500px; }
    .doctor-copy h2, .about-intro h2 { font-size: 34px; }
    .page-hero { padding: 55px 0; }
    .page-hero h1, .location-hero-copy h1, .disease-hero h1 { font-size: 36px; }
    .disease-jump { top: 76px; }
    .footer { padding-bottom: 100px; }
  }
  @media (max-width: 620px) {
    .container { width: calc(100% - 36px); }
    .brand strong { font-size: 20px; }
    .brand span { font-size: 8px; }
    .brand-mark { width: 38px; height: 38px; }
    .hero-grid { min-height: 715px; }
    .hero-copy { padding-top: 30px; padding-bottom: 265px; }
    .hero h1 { font-size: 29px; line-height: 1.65; }
    .hero .eyebrow { font-size: 13px; padding-bottom: 4px; }
    .hero-desc { font-size: 15px; }
    .hero-features { gap: 12px; justify-content: flex-start; }
    .hero-features div { min-width: 0; flex: 1; }
    .hero-features b { font-size: 14px; }
    .hero-features small { font-size: 12px; }
    .hero .clinic-slide figcaption { right: 18px; bottom: 74px; }
    .hero .clinic-slider-toggle { right: 18px; }
    .hero .clinic-slider-arrow.prev { left: 18px; }
    .hero .clinic-slider-arrow.next { left: 68px; }
    .hero .clinic-slider-dots { left: 130px; }
    .quick-grid { grid-template-columns: 1fr; }
    .quick-grid>div { padding: 13px 8px; }
    .quick-grid b { font-size: 14px; }
    .section-title h2, .doctor-copy h2, .about-intro h2, .detail-copy h2, .group-heading h2 { font-size: 28px; }
    .page-hero h1, .location-hero-copy h1, .disease-hero h1 { font-size: 30px; }
    .main-doctor-photo { height: 385px; }
    .philosophy-grid { grid-template-columns: 1fr; }
    .philosophy-grid div { padding: 14px 0; }
    .service-card { padding: 30px 24px; }
    .feature-panel, .detail-card, .disease-card, .hours-wide { padding: 25px; }
    .home-notice-head { padding: 20px; }
    .home-notice-list { padding: 4px 0; }
    .home-notice-item { gap: 10px; }
    .disease-jump .container { justify-content: flex-start; overflow-x: auto; }
    .disease-jump a { flex: 0 0 auto; padding: 8px 12px; }
    .disease-cta { padding: 28px; }
    .monthly-schedule-note { padding: 18px; }
    .hours-hero-summary { width: 100%; padding: 26px; }
    .location-hero-map .map-capture { object-fit: contain; }
  }
}

/* Kimyoungsoon: supplied original logo (2026-09-07), not a recreated wordmark.
   CSS trims only white outer space: source rectangle 110,125,1080,265.
   Header and footer share its white canvas so no separate logo box appears. */
body:has(.brand[aria-label="김영순내과의원 홈"]) {
  --gold:#cd945c; --gold2:#704b38; --brown:#624330;
  .site-header { background:#fff; border-bottom:1px solid #e9ddd1; backdrop-filter:none; }
  .brand {
    position:relative; display:block; width:340px; max-width:100%; min-width:0;
    flex:0 1 340px; height:auto; aspect-ratio:1080 / 265;
    background:#fff url("images/00_brand/kimyoungsoon-logo.jpg") no-repeat;
    background-size:118.518519% auto; background-position:55% 50.813008%;
  }
  .brand .brand-mark { display:none; }
  .brand>div:last-child {
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  .header-inner { gap:24px; }
  .nav a { color:#624330; font-weight:700; }
  .phone-btn { color:#704b38; border-color:#cd945c; }
  .gold-btn, .notice-bar a, .location-call-button { background:#704b38; color:#fff; }
  .gold-btn:hover, .notice-bar a:hover { background:#513425; }
  .footer { background:#fff; color:#624330; border-top:2px solid #cd945c; }
  .footer-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto; }
  .footer-grid>div { min-width:0; }
  .footer .brand strong, .footer-grid strong { color:#624330; }
  .footer .brand span, .footer-grid p, .copyright { color:#6b5547; }
  .footer-grid p { font-size:16px; }
  .footer-actions a { background:#704b38; border-color:#704b38; color:#fff; border-radius:8px; font-weight:700; }
  .footer-actions a:hover { background:#513425; border-color:#513425; }
  .copyright { border-color:#e9ddd1; font-size:14px; }
  @media(max-width:1100px) and (min-width:961px) {
    .brand { width:310px; flex-basis:310px; }
  }
  @media(max-width:960px) {
    .header-inner { height:96px; }
    .footer-grid { grid-template-columns:minmax(0,1fr); }
    .menu-btn { flex-shrink:0; color:#624330; }
  }
  @media(max-width:620px) {
    .header-inner { height:88px; gap:14px; }
    .brand { width:280px; flex-basis:280px; }
    .footer-brand { width:min(340px,100%); }
  }
}

/* Easy Pediatrics: readable clinic information and non-overlapping mobile icons. */
body:has(.brand[aria-label="이지소아청소년과의원 홈"]) {
  .hero-features span, .service-card .icon, .vaccine-icon, .disease-icon, .disease-overview i {
    display:inline-flex; align-items:center; justify-content:center; place-items:center; line-height:1; text-align:center;
  }
  .hero-features span { width:50px; height:50px; border-radius:12px; background:var(--p-soft); }
  .quick-grid>div>span { color:var(--p-on-dark); filter:none; }
  .quick-grid small { font-size:14px; }
  .hero-desc, .section-title p { font-size:18px; }
  .home-notice-title { font-weight:750; }
  @media(max-width:620px) {
    .disease-overview a { display:grid; grid-template-columns:48px minmax(0,1fr) 24px; grid-template-rows:auto auto; gap:4px 14px; padding:20px; min-height:104px; align-content:center; text-align:left; }
    .disease-overview i { position:static; grid-column:1; grid-row:1 / 3; margin:0; align-self:center; }
    .disease-overview strong { grid-column:2; grid-row:1; margin:0; font-size:18px; }
    .disease-overview small { grid-column:2; grid-row:2; margin:0; font-size:14px; }
    .disease-overview span { position:static; grid-column:3; grid-row:1 / 3; }
    .footer-grid { grid-template-columns:minmax(0,1fr); }
    .footer-grid>div { min-width:0; }
    .hero-features small { font-size:14px; }
  }
}

/* Pediatric editions: shared Clinic Standard composition, individual palettes. */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  --bg:#fffef9; --cream:#f0f5e5; --cream2:#dce9c5; --gold:#80aa3e;
  --gold2:#075175; --brown:#074b6e; --text:#203b44; --muted:#576b6d;
  --line:#d9e4ca; --p-accent:#075175; --p-dark:#063e5a; --p-light:#f5f8ec;
  --p-soft:#e4efcf; --p-hero-rgb:245,248,236; --p-on-dark:#e3edcf;
}
body:has(.brand[aria-label="이지소아청소년과의원 홈"]) {
  --bg:#fffefa; --cream:#f3f0eb; --cream2:#e6ded2; --gold:#b59b73;
  --gold2:#675141; --brown:#51483f; --text:#37332f; --muted:#6c655d;
  --line:#e2dbd1; --p-accent:#675141; --p-dark:#453b33; --p-light:#f6f3ed;
  --p-soft:#eee5d6; --p-hero-rgb:246,243,237; --p-on-dark:#f0e5d4;
}
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]),
body:has(.brand[aria-label="이지소아청소년과의원 홈"]) {
  background:var(--bg); color:var(--text);
  .site-header, .doctor-section, .home-notice-section, .disease-jump { background:var(--bg); }
  h1, h2 { font-family:var(--font-body); font-weight:600; letter-spacing:-.05em; }
  .brand strong { font-size:22px; letter-spacing:-.05em; }
  .hero { background:var(--p-light); }
  .hero h1, .page-hero h1, .location-hero-copy h1, .disease-hero h1 { color:var(--brown); }
  .hero h1 em, .hero .eyebrow, .disease-hero h1 em { color:var(--gold2); }
  .hero-desc, .hero-features small { color:var(--muted); }
  .hero .clinic-slide:after { background:linear-gradient(90deg,rgb(var(--p-hero-rgb)) 0%,rgba(var(--p-hero-rgb),.98) 24%,rgba(var(--p-hero-rgb),.86) 43%,rgba(var(--p-hero-rgb),.12) 72%,transparent 100%); }
  .hero .clinic-slider-arrow, .hero .clinic-slider-toggle, .hero .clinic-slide figcaption { background:var(--p-accent); }
  .hero .clinic-slider-dots button { background:var(--gold); }
  .hero .clinic-slider-dots button.is-active { background:var(--gold2); }
  .hero .clinic-slide img { object-position:70% center; }
  .quick-strip, .disease-cta { background:var(--p-accent); }
  .quick-grid b { color:#fff; }
  .quick-grid small { color:var(--p-on-dark); }
  .service-card, .feature-panel, .detail-card, .vaccine-grid article, .hours-wide, .hours-card, .location-info, .profile-career-grid section, .disease-card, .location-info-grid article, .notice-bar { background:var(--bg); }
  .service-card:hover, .soft, .detail-section.alt, .disease-group.alt, .vaccine-section { background:var(--cream); }
  .service-card .icon, .philosophy-grid b, .location-info-grid span { color:var(--gold2); }
  .philosophy-grid div { border-top-color:var(--gold); }
  .vaccine-icon, .disease-icon, .disease-overview i, .profile-specialties span { background:var(--p-soft); color:var(--gold2); }
  .profile-specialties span, .disease-label { border-color:var(--line); }
  .profile-message { background:var(--cream); border-left-color:var(--gold); }
  .profile-career-grid { max-width:780px; grid-template-columns:1fr; }
  .gold-btn, .notice-bar a, .location-call-button, .map-link-label { background:var(--p-accent); color:#fff; }
  .gold-btn:hover, .notice-bar a:hover { background:var(--p-dark); }
  .outline-btn, .outline-btn.subtle { border-color:var(--gold); color:var(--brown); }
  .outline-btn:hover { background:var(--p-soft); }
  .page-hero, .hours-page-hero, .location-page-hero, .disease-hero { background:var(--p-light); border-color:var(--line); }
  .page-hero-grid:not(:has(>img)):not(:has(.hours-hero-summary)) { grid-template-columns:minmax(0,900px); }
  .disease-hero-grid:not(:has(>img)) { grid-template-columns:minmax(0,900px); min-height:380px; }
  .disease-photo-grid:not(:has(img)), .detail-grid:not(:has(img)) { grid-template-columns:minmax(0,900px); }
  .doctor-photo:not(:has(img)), .profile-photo-wrap:not(:has(img)) { display:none; }
  .doctor-grid:not(:has(.main-doctor-photo img)), .doctor-profile-card:not(:has(.profile-photo-wrap img)) { grid-template-columns:1fr; max-width:1000px; }
  .doctor-grid:not(:has(.main-doctor-photo img)) .doctor-copy { text-align:center; }
  .doctor-copy .lead { margin-inline:auto; }
  .philosophy-grid { text-align:left; }
  .hours-hero-summary { background:var(--bg); border-color:var(--line); }
  .monthly-schedule-section:not(:has(.monthly-schedule-frame>img)) { display:none; }
  .map-link:not(:has(img)) { min-height:260px; background:var(--p-soft); display:grid; place-items:center; aspect-ratio:auto; }
  .map-link:not(:has(img)) .map-link-label { position:static; font-size:16px; padding:20px 26px; }
  .clinic-slider:not(:has(.clinic-slide:nth-child(2))) button, .clinic-slider:not(:has(.clinic-slide:nth-child(2))) .clinic-slider-dots { display:none; }
  .home-notice-head { background:var(--cream); }
  .home-notice-category { border-color:var(--gold); }
  .home-notice-item.is-important .home-notice-category { background:var(--p-accent); border-color:var(--p-accent); }
  .home-notice-item:hover, .home-notice-item:focus-visible { background:var(--p-light); }
  .warning-section { background:var(--p-soft); }
  .warning-box { border-color:var(--line); }
  .warning-icon { background:var(--p-accent); }
  .warning-box h2 { color:var(--brown); }
  .disease-cta h2, .disease-cta .outline-btn { color:#fff; }
  .disease-cta span, .disease-cta p { color:var(--p-on-dark); }
  .disease-cta .outline-btn:hover { background:var(--p-dark); }
  .footer { background:var(--p-dark); }
  .footer .brand span, .footer-grid p, .copyright { color:var(--p-on-dark); }
  .footer-actions a, .copyright { border-color:var(--gold); }
  .mobile-nav, .mobile-actions { background:var(--bg); }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline-color:var(--p-accent); }
  @media(max-width:960px) {
    .hero .clinic-slide:after { background:linear-gradient(180deg,rgb(var(--p-hero-rgb)) 0%,rgba(var(--p-hero-rgb),.97) 36%,rgba(var(--p-hero-rgb),.88) 54%,rgba(var(--p-hero-rgb),.06) 80%); }
    .brand strong { font-size:20px; }
  }
  @media(max-width:620px) {
    .brand strong { font-size:18px; }
    .map-link:not(:has(img)) { min-height:200px; }
    .doctor-grid:not(:has(.main-doctor-photo img)) .doctor-copy { text-align:left; }
  }
}

/* Easy: approved entrance-inspired logo, original PNG preserved.
   Show source rectangle 160,160,1900,390, trimming only outer white space. */
body:has(.brand[aria-label="이지소아청소년과의원 홈"]) {
  .site-header { background:#fff; border-bottom:1px solid var(--line); backdrop-filter:none; }
  .brand {
    position:relative; display:block; width:360px; max-width:100%; min-width:0;
    flex:0 1 360px; height:auto; aspect-ratio:1900 / 390;
    background:#fff url("images/00_brand/easy-logo-v2.png") no-repeat;
    background-size:114.315789% auto; background-position:58.823529% 47.904192%;
  }
  .brand .brand-mark { display:none; }
  .brand>div:last-child {
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  .header-inner { gap:24px; }
  .nav a { color:var(--brown); font-weight:700; }
  .phone-btn { color:var(--gold2); border-color:var(--gold); }
  .footer { background:#fff; color:var(--brown); border-top:2px solid var(--gold); }
  .footer-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto; }
  .footer-grid>div { min-width:0; }
  .footer-grid strong { color:var(--brown); }
  .footer .brand span, .footer-grid p, .copyright { color:var(--muted); }
  .footer-grid p { font-size:16px; }
  .footer-actions a { background:var(--p-accent); color:#fff; border-color:var(--p-accent); border-radius:8px; }
  .footer-actions a:hover { background:var(--p-dark); border-color:var(--p-dark); }
  .copyright { border-color:var(--line); font-size:14px; }
  @media(max-width:1100px) and (min-width:961px) {
    .brand { width:310px; flex-basis:310px; }
  }
  @media(max-width:960px) {
    .header-inner { height:96px; }
    .footer-grid { grid-template-columns:minmax(0,1fr); }
    .menu-btn { flex-shrink:0; color:var(--brown); }
  }
  @media(max-width:620px) {
    .header-inner { height:88px; gap:14px; }
    .brand { width:300px; flex-basis:300px; }
    .footer-brand { width:min(360px,100%); }
  }
}

/* Goeunmom mascot accents: two contextual placements on the home page only.
   Each illustration shares a reserved grid column with its section heading. */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  #about .about-intro>div:first-child, #care>.container>.section-title {
    display:grid; grid-template-columns:minmax(0,1fr) 100px;
    column-gap:24px; align-items:center; text-align:left;
  }
  #about .about-intro>div:first-child>.kicker,
  #care>.container>.section-title>span { grid-column:1; grid-row:1; align-self:end; }
  #about .about-intro>div:first-child>h2,
  #care>.container>.section-title>h2 { grid-column:1; grid-row:2; align-self:start; min-width:0; margin-bottom:0; }
  #care>.container>.section-title { grid-template-columns:minmax(0,1fr) 144px; }
  #about .about-intro>div:first-child::after,
  #care>.container>.section-title::after {
    content:""; display:block; position:static; float:none;
    grid-column:2; grid-row:1 / 3; align-self:center;
    width:100%; height:auto; aspect-ratio:1; margin:0; pointer-events:none;
    background:url("images/00_brand/bear-welcome-alpha-v2.png") center / contain no-repeat;
  }
  #care>.container>.section-title::after {
    background-image:url("images/00_brand/bear-checkup-alpha-v2.png");
  }
  @media(max-width:620px) {
    #about .about-intro>div:first-child { grid-template-columns:minmax(0,1fr) 56px; column-gap:14px; }
    #care>.container>.section-title { grid-template-columns:minmax(0,1fr) 84px; column-gap:14px; }
  }
  @media(max-width:380px) {
    #about .about-intro>div:first-child { grid-template-columns:minmax(0,1fr) 44px; column-gap:10px; }
    #care>.container>.section-title { grid-template-columns:minmax(0,1fr) 64px; column-gap:10px; }
  }
}

/* Goeunmom doctor mascot: a dedicated illustration column, not an overlay.
   Automatically yield to a real physician photograph if one is supplied. */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  #doctor .doctor-grid:not(:has(.main-doctor-photo img)),
  .doctor-profile-card:not(:has(.profile-photo-wrap img)) {
    display:grid; grid-template-columns:minmax(200px,.7fr) minmax(0,1.6fr);
    gap:clamp(28px,4vw,56px); align-items:center;
  }
  #doctor .doctor-grid:not(:has(.main-doctor-photo img))::before,
  .doctor-profile-card:not(:has(.profile-photo-wrap img))::before {
    content:""; display:block; position:static; pointer-events:none;
    width:min(100%,280px); aspect-ratio:1; justify-self:center;
    background:url("images/00_brand/bear-welcome-alpha-v2.png") center / contain no-repeat;
  }
  #doctor .doctor-grid:not(:has(.main-doctor-photo img)) .doctor-copy { min-width:0; text-align:left; }
  #doctor .doctor-copy .lead { margin-inline:0; }
  .doctor-profile-card:not(:has(.profile-photo-wrap img)) .profile-content { min-width:0; }
  @media(max-width:760px) {
    #doctor .doctor-grid:not(:has(.main-doctor-photo img)),
    .doctor-profile-card:not(:has(.profile-photo-wrap img)) {
      grid-template-columns:minmax(0,1fr); gap:24px;
    }
    #doctor .doctor-grid:not(:has(.main-doctor-photo img))::before,
    .doctor-profile-card:not(:has(.profile-photo-wrap img))::before { width:160px; }
  }
}

/* Goeunmom supplied map: retain the 3520x1948 source without resampling.
   Desktop viewport: source rect (725,400,1800,1200).
   Mobile viewport: source rect (1025,500,1200,1000). */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  .map-link:has(.map-capture), .location-hero-map:has(.map-capture) {
    display:block; position:relative; overflow:hidden; width:100%;
    height:auto; min-height:0; aspect-ratio:3 / 2;
    border:1px solid var(--line); border-radius:18px; background:#f5f8ec;
  }
  .map-link .map-capture, .location-hero-map .map-capture {
    position:absolute; display:block; width:195.555556%; max-width:none;
    height:162.333333%; min-height:0; aspect-ratio:auto;
    left:-40.277778%; top:-33.333333%;
    object-fit:fill; border:0; border-radius:0;
  }
  .map-link .map-link-label {
    position:absolute; inset:auto 12px 12px auto; z-index:1;
    padding:10px 14px; border-radius:8px; font-size:14px; line-height:1.5;
  }
  @media(max-width:620px) {
    .map-link:has(.map-capture), .location-hero-map:has(.map-capture) { aspect-ratio:6 / 5; }
    .map-link .map-capture, .location-hero-map .map-capture {
      width:293.333333%; height:194.8%; left:-85.416667%; top:-50%;
    }
  }
}

/* Goeunmom ddocdoc shortcut: explicit yellow with dark readable text. */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  .footer .footer-actions a.ddocdoc-btn, .mobile-actions a.ddocdoc-btn {
    background:#ffe249; border-color:#ffe249; color:#272512; font-weight:800;
  }
  .footer .footer-actions a.ddocdoc-btn:hover, .mobile-actions a.ddocdoc-btn:hover {
    background:#f4d330; border-color:#f4d330; color:#272512;
  }
  .footer-actions { flex-wrap:wrap; }
  .mobile-actions:has(.ddocdoc-btn) { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Goeunmom: the supplied clinic sign is the source of truth for its identity.
   Display the original bear artwork as a CSS crop; never redraw the logo.
   Keep a separate brand asset so replacing the timetable cannot change the logo. */
body:has(.brand[aria-label="고은맘소아청소년과의원 홈"]) {
  --shadow:0 18px 45px rgba(7,81,117,.08);
  .site-header {
    background:#80aa3e; color:#06344a;
    border-bottom:2px solid #648831; backdrop-filter:none;
  }
  .site-header .brand strong, .site-header .brand span,
  .site-header .nav>a, .site-header .nav-parent,
  .site-header .nav-parent span, .site-header .menu-btn { color:#06344a; }
  .site-header .brand-mark { border-radius:0; }
  .site-header .phone-btn { background:#063e5a; border-color:#063e5a; color:#fff; }
  .site-header .phone-btn:hover { background:#032d43; border-color:#032d43; }
  .site-header .mobile-nav { background:#80aa3e; border-color:#648831; }
  .site-header .mobile-nav>a, .site-header .mobile-nav-parent,
  .site-header .mobile-nav-parent span { color:#06344a; }
  .site-header a:focus-visible, .site-header button:focus-visible { outline-color:#06344a; }
  .brand { --wordmark-width:368px; gap:12px; }
  .brand-mark {
    /* Square crop centered on the artwork bounds (26..296, 18..273).
       Source x=21..301, y=5..285 excludes the poster lettering below. */
    --logo-size:80px;
    flex:0 0 var(--logo-size); width:var(--logo-size);
    height:var(--logo-size); border:0; border-radius:12px;
    background-color:#80aa3e;
    background-image:url("images/00_brand/clinic-sign.png");
    background-repeat:no-repeat;
    background-size:calc(var(--logo-size) * 2.8357143) auto;
    background-position:calc(var(--logo-size) * -.075) calc(var(--logo-size) * -.01785714);
    font-size:0; line-height:0; text-indent:-9999px; white-space:nowrap;
    color:transparent; overflow:hidden; contain:paint;
  }
  /* Original supplied wordmark, source rectangle x=42,y=283,w=710,h=106.
     Percent sizing preserves the exact crop at every responsive width. */
  .brand>div:last-child {
    position:relative; min-width:0; width:var(--wordmark-width);
    flex:0 1 var(--wordmark-width); aspect-ratio:710 / 106;
    background:#80aa3e url("images/00_brand/clinic-sign.png") no-repeat;
    background-size:111.830986% auto; background-position:50% 27.826942%;
    overflow:hidden;
  }
  .brand>div:last-child>strong {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  .brand>div:last-child>span { display:none; }
  .footer-brand { width:fit-content; max-width:100%; padding:0; border-radius:0; background:transparent; }
  .brand strong { color:var(--p-accent); font-weight:850; font-size:30px; line-height:1.3; letter-spacing:-.045em; }
  .brand span { color:var(--muted); font-size:12px; letter-spacing:.035em; }
  .header-inner { min-height:112px; height:auto; padding-block:12px; gap:20px; }
  .site-header .nav { gap:22px; }
  .site-header .nav a { font-size:18px; font-weight:750; }
  .site-header .phone-btn { font-size:17px; font-weight:750; padding:14px 18px; white-space:nowrap; }
  .hero h1 { font-size:clamp(40px,4vw,60px); font-weight:800; line-height:1.35; }
  .hero-desc { font-size:20px; line-height:1.7; color:#29434a; max-width:590px; }
  .hero .eyebrow { font-size:17px; font-weight:750; }
  .hero h1 em { text-decoration:underline; text-decoration-color:#bed68f; text-decoration-thickness:.16em; text-underline-offset:.05em; text-decoration-skip-ink:none; }
  .hero-features span { width:56px; height:56px; font-size:34px; border-radius:10px; background:var(--p-soft); color:var(--p-accent); border:1px solid #c2d6a1; }
  .hero-features span, .service-card .icon, .vaccine-icon, .disease-icon, .disease-overview i, .warning-icon {
    display:inline-flex; align-items:center; justify-content:center;
    place-items:center; line-height:1; text-align:center; padding:0; flex-shrink:0;
  }
  .hero-features b { font-size:18px; font-weight:800; }
  .hero-features small { font-size:16px; color:#3c5354; }
  .section-title h2, .doctor-copy h2, .about-intro h2, .detail-copy h2 { font-weight:800; }
  .service-card h3, .detail-card h3, .vaccine-grid h3 { font-size:23px; font-weight:750; }
  .service-card p, .detail-card p, .section-title p, .detail-copy p, .vaccine-grid p { font-size:18px; color:#3c5354; }
  .quick-strip { border-top:5px solid var(--gold); color:#fff; }
  .quick-grid>div>span { color:#e6f5cf; filter:none; flex-shrink:0; }
  .quick-grid b { color:#fff; font-size:16px; font-weight:750; }
  .quick-grid small { color:#f1f6e9; font-size:14px; line-height:1.6; }
  .quick-grid p { min-width:0; }
  .hero .clinic-slide figcaption, .hero .clinic-slider-arrow,
  .hero .clinic-slider-toggle, .map-link-label,
  .gold-btn, .notice-bar a, .location-call-button,
  .home-notice-item.is-important .home-notice-category { color:#fff; }
  .disease-cta { color:#fff; }
  .disease-cta h2, .disease-cta p, .disease-cta span { color:#fff; }
  .disease-cta .gold-btn { background:#e6f5cf; color:#063e5a; font-weight:750; }
  .disease-cta .gold-btn:hover { background:#fff; color:#063e5a; }
  .disease-cta .outline-btn { color:#fff; border-color:#d4e8bc; }
  .gold-btn, .outline-btn, .phone-btn, .location-call-button { border-radius:8px; }
  .phone-btn { background:var(--p-soft); border-color:#bed396; }
  .service-card, .detail-card, .vaccine-grid article, .disease-card { border-radius:14px; }
  .service-card:hover { border-color:var(--gold); }
  .section-title>span, .kicker { color:var(--p-accent); }
  .nav-submenu a:hover, .nav-submenu a:focus-visible, .nav-submenu a.active-menu,
  .mobile-submenu, .mobile-submenu a.active-menu { background:var(--p-soft); color:var(--p-accent); }
  .mobile-submenu a, .mobile-submenu a.active-menu { border-color:var(--line); }
  .hours-wide, .hours-hero-summary { border-top:4px solid var(--gold); border-radius:14px; }
  .hours-wide .holiday, .hours-card .holiday { color:var(--p-accent); font-weight:750; }
  .monthly-schedule-frame { background:#80aa3e; }
  .footer { background:#80aa3e; color:#06344a; border-top:2px solid #648831; }
  .footer .brand strong, .footer-grid strong,
  .footer .brand span, .footer-grid p, .copyright { color:#06344a; }
  .footer-grid p { font-size:16px; font-weight:550; }
  .footer-grid strong { font-size:21px; }
  .copyright { border-color:#648831; font-size:14px; }
  .footer-actions a { color:#fff; background:#063e5a; border-color:#063e5a; border-radius:8px; font-size:16px; font-weight:700; }
  .footer-actions a:hover { color:#fff; background:#032d43; border-color:#032d43; }
  .footer a:focus-visible { outline-color:#06344a; outline-offset:4px; }
  .footer .brand-mark { color:transparent; border-radius:0; }
  @media(max-width:1100px) and (min-width:961px) {
    .brand { --wordmark-width:320px; }
    .brand strong { font-size:27px; }
    .brand-mark { --logo-size:72px; }
    .header-inner { gap:16px; }
    .site-header .nav { gap:16px; }
    .site-header .nav a { font-size:17px; }
  }
  @media(max-width:960px) {
    .header-inner { min-height:100px; }
    .brand strong { font-size:28px; }
    .brand-mark { --logo-size:72px; }
    .site-header .mobile-nav a { font-size:18px; font-weight:750; }
  }
  @media(max-width:620px) {
    .brand { --wordmark-width:310px; }
    .header-inner { gap:10px; min-height:92px; padding-block:12px; }
    .site-header .brand { flex:1; min-width:0; }
    .menu-btn { flex-shrink:0; font-size:30px; padding:4px; }
    .brand { gap:10px; }
    .brand-mark { --logo-size:60px; border-radius:9px; }
    .brand strong { font-size:clamp(21px,5.6vw,26px); line-height:1.25; }
    .brand span { display:none; }
    .hero h1 { font-size:clamp(32px,8.2vw,42px); line-height:1.35; }
    .hero-desc { font-size:18px; }
    .hero .eyebrow { font-size:15px; }
    .hero-features { gap:10px; }
    .hero-features span { width:52px; height:52px; font-size:32px; }
    .hero-features b { font-size:16px; }
    .hero-features small { font-size:14px; }
    .hero-copy { padding-bottom:285px; }
    .section-title h2, .doctor-copy h2, .about-intro h2, .detail-copy h2 { font-size:32px; }
  }
  @media(max-width:380px) {
    .site-header .brand span { display:none; }
  }
  @media(max-width:620px) {
    .disease-overview a {
      display:grid; grid-template-columns:48px minmax(0,1fr) 24px;
      grid-template-rows:auto auto; column-gap:16px; row-gap:4px;
      align-content:center; min-height:104px; padding:20px; text-align:left;
    }
    .disease-overview i {
      position:static; grid-column:1; grid-row:1 / 3; align-self:center;
      width:48px; height:48px; margin:0;
    }
    .disease-overview strong { grid-column:2; grid-row:1; margin:0; font-size:18px; }
    .disease-overview small { grid-column:2; grid-row:2; margin:0; font-size:14px; }
    .disease-overview span { position:static; grid-column:3; grid-row:1 / 3; align-self:start; text-align:right; color:#576b6d; }
    .disease-jump { position:static; }
    .disease-hero-actions { flex-wrap:wrap; }
    .disease-card-head>div { min-width:0; }
    .footer-grid { grid-template-columns:minmax(0,1fr); }
    .footer-grid>div { min-width:0; }
    .footer-brand { width:100%; }
  }
}
