/* October 4–5 owner requests. Loaded last to keep the existing clinic content. */
.header-location{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:54px;padding:0 26px;background:#163b35;color:white;border-radius:10px;font-size:21px;font-weight:700;text-decoration:none}
.hero-contact-details{margin:22px 0;color:#163b35}
.hero .hero-contact-details p{font-size:21px;line-height:1.5;margin:0 0 6px}
.hero-contact-details>.hero-phone-number{display:block;font-size:clamp(26px,3vw,36px);letter-spacing:normal;margin-bottom:10px}
.hero-text h1 .hero-topic{font-weight:600}.hero-text h1 strong{font-weight:700}
.hero-actions{flex-wrap:wrap;gap:10px}
.hero-actions>a{box-sizing:border-box;min-height:56px;padding:15px 20px;font-size:18px;text-align:center}
.hero-doctor-tag{position:absolute;right:30px;bottom:28px;z-index:2;background:#f1f7f0ed;padding:16px 20px;border-radius:12px;color:#163b35}
.hero-doctor-tag span{display:block;font-size:15px;line-height:1.7}
.hero-doctor-tag strong{display:block;font-size:24px;margin:3px 0}
.header-actions{display:flex;align-items:center;justify-self:end;gap:14px;grid-column:3;grid-row:1}
.header-actions .header-social{margin:0}
.site-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-width:44px;min-height:44px;padding:0 13px;border:1px solid #dce7e2;border-radius:999px;background:#fff;color:#163b35;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-sizing:border-box}
.site-share:hover{background:#f2f7f5;border-color:#9eb9aa}
.site-share svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;display:block;flex-shrink:0}.site-share span{line-height:1;white-space:nowrap}
.share-status:empty{display:none}
.share-status{position:fixed;right:24px;top:calc(var(--share-control-bottom,76px) + 10px);z-index:141;max-width:calc(100vw - 64px);padding:14px;background:#163b35;color:#fff;border-radius:8px;overflow-wrap:anywhere}
.translation-activity{padding:28px;margin:32px 0;background:#e4efe7;border:1px solid #bdd4c5;border-radius:16px}
.translation-activity h2{font-size:clamp(23px,3vw,32px);line-height:1.5}
.translation-activity p{font-size:18px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
.translation-credit{margin:24px 0 0}.translation-credit img{width:100%;height:auto;max-width:760px;display:block;border:1px solid #c5d5ca}.translation-credit figcaption{font-size:14px;line-height:21px;margin-top:8px;color:#4d6658}
@media(min-width:801px){
 .hero.hero-updated{min-height:570px}
 .hero-text{max-width:59%}
 .hero .hero-actions .button-primary{min-width:160px}
}
@media(max-width:800px){
 .hero.hero-updated .hero-actions{display:none}
 .header-location,.hero-doctor-tag{display:none}
 .header-actions{gap:4px;flex-shrink:0}
 .site-share{width:44px;height:44px;padding:10px;border:0;border-radius:10px;background:transparent}
 .site-share span{display:none}
 .header-actions .mobile-menu-trigger{min-height:44px;border:0;background:transparent}
 .share-status{top:calc(var(--header-height,92px) + 82px)}
 .hero.hero-updated{background:#e6f3ed;padding-top:24px}
 .hero .hero-text>p{display:block}
 .hero.hero-updated .hero-text>.hero-eyebrow{font-size:14px;font-weight:500;line-height:20px;margin:0 52px 30px 0;letter-spacing:normal}
 .hero.hero-updated .hero-text :is(h1,h2){font-size:32px;line-height:42px;margin:0 0 14px;letter-spacing:-.02em;color:#3e3029}
 .hero.hero-updated .hero-text>.hero-clinic-name{font-size:20px;font-weight:600;line-height:28px;margin:0;letter-spacing:normal}
 .hero.hero-updated .hero-text>.hero-service-copy{font-size:16px;font-weight:400;line-height:25px;margin:18px 0 0;letter-spacing:normal}
 .hero-contact-details{margin:22px 0 0}
 .hero-contact-details>.hero-phone-number{display:none}
 .hero .hero-contact-details p{font-size:15px;font-weight:400;line-height:23px;margin:0;letter-spacing:normal}
 .location-separator{display:none}.location-building{display:block}.location-building b{font-weight:700}
 .hero.hero-updated .mobile-hero-portrait{height:292px;margin:0}
 .hero.hero-updated .mobile-hero-portrait::before{inset:0 -20px 0 22%;background:#d6eae0}
 .hero.hero-updated .mobile-hero-portrait img{right:-10px;height:285px;max-width:56%}
 .hero.hero-updated .mobile-hero-portrait figcaption{width:54%;bottom:18px;filter:none;font-size:14px;line-height:20px;letter-spacing:normal}
 .hero.hero-updated .mobile-hero-portrait figcaption>.director-role{font-size:14px;font-weight:500;line-height:20px;margin:0 0 4px}
 .hero.hero-updated .mobile-hero-portrait figcaption>strong{font-size:28px;font-weight:700;line-height:34px;margin:0}
 .hero.hero-updated .mobile-hero-portrait figcaption>span:not(.director-role){white-space:normal;font-size:15px;font-weight:500;line-height:24px;margin-top:8px;letter-spacing:normal}
 .hero.hero-updated .mobile-hero-portrait figcaption .mobile-hero-careers{margin-top:14px}
 .hero.hero-updated .mobile-hero-portrait .mobile-hero-careers p{white-space:normal;font-size:14px;font-weight:400;line-height:21px;letter-spacing:normal;max-width:190px}
 .mobile-menu-trigger{font-size:14px;font-weight:500}
 .mobile-contact-bar{display:grid;grid-template-columns:.95fr 1fr 1.6fr;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:#fff}
 .mobile-contact-bar a{flex:none;min-height:64px;padding:4px 2px;box-sizing:border-box;font-size:14px;font-weight:600;line-height:19px;letter-spacing:normal;flex-direction:column;gap:4px}
 .mobile-contact-bar .mobile-location svg{width:25px;height:25px}
 .mobile-contact-bar .mobile-kakao svg{width:28px;height:27px;color:#3b211c}
 .mobile-contact-bar .mobile-call{display:grid;grid-template-columns:18px auto;column-gap:4px;align-content:center;padding:4px}
 .mobile-contact-bar .mobile-call svg{display:block;width:18px;height:18px;grid-column:1;grid-row:1;align-self:start;margin-top:1px}
 .mobile-call>span{display:contents;font-size:13px;font-weight:500;line-height:18px;text-align:center}
 .mobile-call strong{display:block;grid-column:1/-1;font-size:18px;font-weight:700;line-height:24px;white-space:nowrap;letter-spacing:normal}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.hero.hero-updated .hero-text :is(h1,h2){font-size:30px;line-height:40px}.mobile-contact-bar{grid-template-columns:.85fr .9fr 1.6fr;gap:4px;padding-inline:5px}.mobile-contact-bar a{font-size:13px}.hero.hero-updated .mobile-hero-portrait{height:330px}.hero.hero-updated .mobile-hero-portrait img{bottom:52px;height:260px}.hero.hero-updated .mobile-hero-portrait figcaption{bottom:77px;width:54%}.hero.hero-updated .mobile-hero-portrait figcaption .mobile-hero-careers{position:absolute;top:calc(100% + 16px);width:calc(100vw - 40px);margin:0}.hero.hero-updated .mobile-hero-portrait .mobile-hero-careers p{max-width:none}}

/* v4: mobile home only. Keep desktop and every detail page unchanged. */
.mobile-brand,.mobile-service-copy,.mobile-hero-phone,.hero .hero-contact-details .mobile-location-copy{display:none}
@media(max-width:800px){
 body.home-mobile-v4{padding-bottom:var(--mobile-contact-height,calc(80px + env(safe-area-inset-bottom,0px)))}
 .home-mobile-v4>header{padding:10px 16px;gap:10px;min-height:76px}
 .home-mobile-v4 header :is(h1,.brand-logo){width:240px;max-width:calc(100% - 76px)}
 .home-mobile-v4 header .desktop-brand{display:none}
 .home-mobile-v4 .mobile-brand{display:block;position:relative;width:100%;aspect-ratio:1180/300}
 .home-mobile-v4 header .mobile-brand img{position:absolute;inset:0;width:100%;height:auto;max-width:none}
 .home-mobile-v4 .brand-symbol{clip-path:polygon(0 0,26% 0,26% 100%,0 100%)}
 .home-mobile-v4 .brand-wordmark{clip-path:polygon(27% 0,100% 0,100% 59%,27% 59%);transform:translateY(12%)}
 .home-mobile-v4 .mobile-menu-trigger{font-size:1rem;padding:10px 8px}
 .home-mobile-v4 .hero.hero-updated{padding:18px 18px 16px;gap:12px;min-height:calc(100svh - var(--header-height,76px) - var(--mobile-contact-height,118px));box-sizing:border-box;overflow:visible}
 .home-mobile-v4 .hero.hero-updated .hero-text{flex:none}
 .home-mobile-v4 .hero.hero-updated .hero-text>.hero-eyebrow,
 .home-mobile-v4 .hero.hero-updated .hero-text>.hero-clinic-name,
 .home-mobile-v4 .desktop-service-copy,.home-mobile-v4 .hero .hero-contact-details .desktop-location-copy{display:none}
 .home-mobile-v4 .hero .hero-contact-details .mobile-location-copy{display:block}
 .home-mobile-v4 .hero.hero-updated .hero-text :is(h1,h2){font-size:clamp(2rem,8.2vw + .125rem,2.5rem);line-height:1.3;font-weight:700;margin:0 0 14px;letter-spacing:-.025em;overflow-wrap:anywhere}
 .home-mobile-v4 .hero.hero-updated .hero-text>.hero-service-copy{font-size:1.1875rem;line-height:1.5;font-weight:500;margin:0;overflow-wrap:anywhere}
 .home-mobile-v4 .mobile-service-copy{display:inline}
 .home-mobile-v4 .hero .mobile-service-copy br{display:block}
 .home-mobile-v4 .hero-contact-details{margin:16px 0 0}
 .home-mobile-v4 .hero .hero-location-copy{font-size:1.3125rem;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:8px;row-gap:4px;height:auto;margin:0;align-items:end}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait::before{inset:0 0 0 40%;border-radius:150px 150px 0 0}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait img{position:static;grid-column:2;grid-row:1/4;align-self:end;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;filter:none}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait figcaption{display:contents;position:static;width:auto;filter:none;letter-spacing:normal}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait figcaption>.director-role{grid-column:1;grid-row:1;font-size:1.125rem;line-height:1.5;font-weight:500;margin:0;white-space:normal;overflow-wrap:anywhere}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait figcaption>strong{grid-column:1;grid-row:2;font-size:1.875rem;line-height:1.45;font-weight:700;margin:0;overflow-wrap:anywhere}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait figcaption>span:not(.director-role){grid-column:1;grid-row:3;align-self:start;font-size:1.125rem;line-height:1.5;font-weight:600;margin:4px 0 0;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait figcaption .mobile-hero-careers{position:static;grid-column:1/-1;grid-row:4;width:auto;margin:6px 0 0;padding:0}
 .home-mobile-v4 .hero.hero-updated .mobile-hero-portrait .mobile-hero-careers p{max-width:none;font-size:1.0625rem;line-height:1.5;font-weight:400;margin:0;white-space:normal;overflow-wrap:anywhere}
 .home-mobile-v4 .hero .mobile-hero-careers p br{display:block}
 .home-mobile-v4 .mobile-hero-phone{grid-column:1/-1;display:block;margin:0;text-align:center;color:#163b35;font-size:clamp(1.75rem,7vw + .125rem,2rem);font-weight:750;line-height:1.45;text-decoration:none;letter-spacing:normal;overflow-wrap:anywhere}
 .home-mobile-v4 .mobile-contact-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
 .home-mobile-v4 .mobile-contact-bar a,.home-mobile-v4 .mobile-contact-bar .mobile-call{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;min-height:56px;min-width:0;padding:8px 4px;font-size:1rem;font-weight:650;line-height:1.5;text-align:center;overflow-wrap:anywhere}
 .home-mobile-v4 .mobile-contact-bar a>span{display:block;min-width:0;font:inherit;line-height:inherit;word-break:keep-all;overflow-wrap:anywhere}
 .home-mobile-v4 .mobile-contact-bar a svg{display:block;width:22px;height:22px;flex-shrink:0;margin:0;align-self:center}
 .home-mobile-v4 .mobile-contact-bar .mobile-kakao svg{width:25px;height:25px}
}
.home-mobile-v5 .mobile-doctor-intro{display:contents}
@media(max-width:800px){
 .home-mobile-v5 .hero.hero-updated{min-height:0}
 .home-mobile-v5 .hero .hero-contact-details .mobile-location-copy{max-width:50%}
 .home-mobile-v5 .hero.hero-updated .mobile-hero-portrait{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;row-gap:4px}
 .home-mobile-v5 .hero.hero-updated .mobile-hero-portrait::before{grid-column:2/3;grid-row:1/2;inset:calc(-4rem - 12px) -8px 0 -8px;width:auto;height:auto;aspect-ratio:auto;border-radius:50% 50% 0 0 / 34% 34% 0 0}
 .home-mobile-v5 .hero.hero-updated .mobile-hero-portrait img{grid-column:2;grid-row:1;margin-top:-4rem}
 .home-mobile-v5 .hero.hero-updated .mobile-doctor-intro{display:flex;flex-direction:column;grid-column:1;grid-row:1;align-self:end;min-width:0;gap:4px;margin-bottom:12px}
 .home-mobile-v5 .hero.hero-updated .mobile-doctor-intro>.director-role{font-size:1.125rem;line-height:1.5;font-weight:500;margin:0;white-space:normal;overflow-wrap:anywhere}
 .home-mobile-v5 .hero.hero-updated .mobile-doctor-intro>strong{font-size:1.875rem;line-height:1.45;font-weight:700;margin:0;overflow-wrap:anywhere}
 .home-mobile-v5 .hero.hero-updated .mobile-doctor-intro>span:not(.director-role){font-size:1.125rem;line-height:1.5;font-weight:600;margin:4px 0 0;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}
 .home-mobile-v5 .hero.hero-updated .mobile-hero-portrait figcaption .mobile-hero-careers{grid-row:2;margin-top:10px}
}

/* Approved contact/share controls; retain the rolled-back physician layout. */
body.has-header-share>header{position:sticky;top:0;z-index:120}
/* Override legacy per-section offsets to account for the fixed header. */
body.has-header-share main [id],body.has-header-share .home-visitor section.location-flow#location{scroll-margin-top:calc(var(--share-header-height,100px) + 16px)!important}
.hero .hero-actions>a.kakao-cta{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:56px;padding:8px 16px;background:white;border:1px solid #dec900;color:#271d18}
.hero .kakao-cta img{display:block;width:104px;height:auto;max-width:100%}
.share-status[hidden],.share-url[hidden]{display:none}
.share-status{box-sizing:border-box;width:min(340px,calc(100vw - 32px));max-width:none;max-height:70dvh;overflow:auto;padding:14px;line-height:1.5}
.share-message{margin:0 0 10px;font-size:1rem;line-height:1.5}
.share-url{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-bottom:10px;padding:8px;border:1px solid #b5cebd;border-radius:5px;background:white;color:#163b35;font-size:1rem}
.share-status-close{display:block;min-width:64px;min-height:44px;margin-left:auto;padding:8px 12px;border:1px solid #bed4c7;border-radius:6px;background:white;color:#163b35;font:inherit;cursor:pointer}
.site-share:focus-visible,.share-status-close:focus-visible,.share-url:focus-visible{outline:3px solid #ba982d;outline-offset:3px}
@media(max-width:800px){
 body.has-header-share>header{gap:8px;padding-inline:16px}
 .has-header-share>header :is(h1,.brand-logo,.seo-brand){min-width:0;flex-shrink:1;max-width:calc(100% - 76px)}
 body.has-header-share .share-status{top:auto;bottom:calc(var(--contact-bar-height,84px) + var(--floating-contact-height,96px) + 24px);right:12px;width:min(340px,calc(100vw - 24px));max-height:max(96px,calc(100dvh - var(--share-header-height,76px) - var(--contact-bar-height,84px) - var(--floating-contact-height,96px) - 48px))}
}
@media(min-width:801px) and (max-width:1050px){.header-actions{gap:8px}.header-actions .header-social{gap:6px}.site-share{width:44px;padding:10px}.site-share span{display:none}}

/* October 10 approved controls and original gradient mark. */
.hero .hero-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;min-height:66px;font-weight:700}
.hero .hero-actions>a.button-primary{background:#247568;color:#fff;border:1px solid #247568}
.hero .hero-actions>a.kakao-cta{background:#fee500;color:#191600;border:1px solid #fee500;padding:15px 20px}
.hero .kakao-cta svg{width:29px;height:28px;flex-shrink:0}
.hero .hero-actions>a:hover{filter:brightness(.94)}
header :is(h1,.brand-logo,.seo-brand)>a{position:relative;display:block}
header :is(h1,.brand-logo,.seo-brand)>a::before{content:"";position:absolute;z-index:1;left:0;top:0;width:26%;height:100%;background:#fff url("images/clinic-logo-gradient-20261010.jpeg") center/contain no-repeat;pointer-events:none}
header :is(h1,.brand-logo,.seo-brand)>a>img{clip-path:inset(0 0 0 27%)}
.location-map-original{display:block;border-radius:12px}
.location-map-original:focus-visible{outline:3px solid #163b35;outline-offset:4px}

/* Two separate white pills, as supplied in the reference. */
.quick-contact{position:fixed;inset:auto 20px calc(20px + env(safe-area-inset-bottom,0px)) auto;transform:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:90}
.quick-contact .quick-kakao,.quick-contact .scroll-top{display:flex!important;align-items:center;justify-content:center;gap:10px;width:auto;height:auto;min-height:52px;margin:0;padding:8px 18px;border:1px solid #527c6d;border-radius:999px;background:#fff;color:#163b35;box-shadow:0 4px 16px #163b3526;font:700 1rem/1.4 "Pretendard",sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box}
.quick-contact .quick-kakao{padding:7px 18px 7px 8px}
.quick-contact .quick-kakao-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#fee500;color:#171400}
.quick-kakao-icon svg{width:27px;height:27px}
.quick-contact .scroll-top svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.quick-contact .scroll-top span:last-child{display:block}
.quick-contact :is(a,button):focus-visible{outline:3px solid #163b35;outline-offset:4px}
.quick-contact :is(a,button):hover{background:#f3f9f5}
body:has(dialog[open]) .quick-contact,body.menu-open .quick-contact{visibility:hidden}
html{scroll-padding-bottom:calc(var(--contact-bar-height,0px) + var(--floating-contact-height,120px) + 24px)}
@media(max-width:800px){
 .quick-contact{inset:auto 12px calc(var(--contact-bar-height,84px) + 12px) auto;padding:0;gap:6px;background:transparent;border:0;box-shadow:none;width:max-content;max-width:calc(100% - 24px)}
 .quick-contact .quick-kakao{display:none!important}
 .quick-contact .site-share,.quick-contact .scroll-top{display:flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:44px;margin:0;padding:6px 14px;font:700 .875rem/1.4 "Pretendard",sans-serif;gap:8px;border:1px solid #527c6d;border-radius:999px;background:#fff;color:#163b35;box-shadow:0 3px 12px #163b351a}
 .quick-contact .site-share span{display:block;font-size:inherit;line-height:inherit}
 .quick-contact .site-share svg{width:22px;height:22px}
 .quick-contact .scroll-top svg{width:22px;height:22px}
 body,body.home-mobile-v4{padding-bottom:calc(var(--contact-bar-height,120px) + 16px)}
}
@media(max-width:800px) and (max-height:540px){
 .quick-contact{flex-direction:row;justify-content:flex-end}
}

/* Map destinations must remain tappable at narrow widths and enlarged text. */
.home-visitor .location-flow>.map-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.home-visitor .location-flow>.map-links a{min-width:0;white-space:normal;overflow-wrap:anywhere}

/* October 11: balance the mobile logo and menu on the same optical center. */
@media(max-width:800px){
 body.has-header-share>header{align-items:center;gap:12px;min-height:80px;padding:12px 16px}
 body.has-header-share>header :is(h1,.brand-logo,.seo-brand){width:260px;max-width:calc(100% - 80px);height:auto;aspect-ratio:auto;margin:0;overflow:visible}
 .home-mobile-v4 .mobile-brand{aspect-ratio:1164/294}
 .home-mobile-v4 .brand-wordmark{transform:translateY(15%);filter:drop-shadow(.3px 0 0 #302510) drop-shadow(-.3px 0 0 #302510)}
 body.has-header-share .header-actions{align-self:center;gap:0}
 body.has-header-share .header-actions .mobile-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:68px;min-height:44px;padding:8px 0;font-size:16px;font-weight:750;line-height:1;color:#163b35}
 .mobile-menu-trigger>span{display:block;white-space:nowrap}
 .mobile-menu-trigger>svg{display:block;width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
}
