@font-face{font-family:'Bodoni Moda';src:url('/assets/site/bodoni-moda.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Noto Serif KR';src:url('/assets/site/noto-serif-kr-site.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url('/assets/site/pretendard-site.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--shell:#f6f5ef;--sea:#154b43;--deep:#173b36;--glass:#dce5dc;--sand:#e5dece;--ink:#273c36;--muted:#54655d;--line:#b8c6bd;--sans:Pretendard,sans-serif;--serif:'Bodoni Moda',Georgia,serif;--display:'Noto Serif KR',serif;--gutter:clamp(24px,5.55vw,104px)}
html[lang=en]{--display:'Bodoni Moda',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-color:var(--sea) var(--shell)}
body{margin:0;background:var(--shell);color:var(--ink);font:400 16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,h4,p,figure,ol,ul{margin:0}
h1,h2,h3,h4{font-weight:400;text-wrap:balance}
p,h1,h2,h3,h4{word-break:keep-all;overflow-wrap:break-word}
html[lang=en] p,html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{word-break:normal}
button,input{font:inherit;color:inherit;caret-color:var(--sea)}
button{cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none;text-underline-offset:6px}
button,a{-webkit-tap-highlight-color:transparent}img,video{display:block;width:100%;height:auto}
::selection{background:var(--sea);color:var(--shell)}:focus-visible{outline:2px solid var(--sea);outline-offset:6px}
[hidden]{display:none!important}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1360px;margin-inline:auto}
.section{padding-block:clamp(72px,8vw,120px)}
.display{font:400 clamp(34px,3.3vw,51px)/1.4 var(--display);letter-spacing:-.035em;color:var(--sea)}
html[lang=en] .display{font-size:clamp(42px,4.7vw,68px);line-height:1.1;letter-spacing:-.025em}
.display em{font-style:normal}
.native-heading{font:400 clamp(26px,2.4vw,36px)/1.45 var(--display);letter-spacing:-.025em;color:var(--sea)}
.text-link{display:inline-flex;width:fit-content;align-items:center;min-height:44px;margin-top:24px;border-bottom:1px solid currentColor;font-size:14px;line-height:1.45}
.text-link:hover{color:#37775f}.text-link svg{width:18px;height:18px}
.inline-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}
.body-copy p{max-width:36em;line-height:1.9}.body-copy p+p{margin-top:20px}
.js-only{display:none}.js .js-only{display:inline-flex}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;padding:12px 20px;background:var(--shell)}.skip-link:focus{top:10px}

/* The logo is the only lockup. Navigation is ordinary, readable type. */
.site-header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;height:108px;padding-inline:var(--gutter);gap:48px;background:var(--shell)}
.site-header.is-fixed{position:fixed;height:76px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;width:186px;flex:none;line-height:1}.brand img{width:100%;height:auto}
.desktop-nav{display:flex;gap:34px;margin-left:auto}.desktop-nav a{font-size:14px;padding-block:12px}
.desktop-nav a:hover,.desktop-nav a[aria-current]{text-decoration:underline}
.header-actions{display:flex;align-items:center;gap:16px}.languages{display:flex;align-items:center;gap:5px;font-size:11px}
.languages a{display:grid;place-items:center;min-width:30px;min-height:44px;color:var(--muted)}
.languages a[aria-current]{color:var(--sea);text-decoration:underline}.languages>span{color:var(--line)}
.menu-toggle{display:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}
.menu-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:28px var(--gutter);background:var(--shell);color:var(--sea)}
.menu-dialog::backdrop{background:var(--shell)}.menu-head{display:flex;justify-content:space-between;align-items:center}
.close-button{position:relative;width:44px;height:44px;flex:none}.close-button span{position:absolute;left:10px;top:21px;width:24px;height:1px;background:currentColor;transform:rotate(45deg)}.close-button span+span{transform:rotate(-45deg)}
.mobile-nav{display:flex;flex-direction:column;gap:22px;margin-top:60px}.mobile-nav a{display:flex;flex-direction:column;width:fit-content}
.menu-title{font:400 42px/1.3 var(--serif)}.mobile-nav small{font-size:13px;color:var(--muted)}
.menu-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:46px;font-size:12px}.menu-bottom p{width:100%}

/* Shared ambient player and explicit playback controls. */
.ambient-video{position:relative;width:100%;height:100%;overflow:hidden;background:var(--glass)}
.ambient-video video,.video-poster,.video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ambient-video video{opacity:0}.ambient-video.is-ready video{opacity:1}
.hero-media video,.hero-media .video-poster img{object-position:center 48%}
.film-link{align-items:center;gap:11px;min-height:44px;padding:0;font-size:12px}.film-link svg{width:21px;height:21px}
.video-toggle{position:absolute;z-index:4;right:24px;bottom:24px;align-items:center;gap:9px;min-height:44px;padding:11px 16px;background:var(--shell);color:var(--sea);border-radius:30px;font-size:11px;line-height:1.25}
.video-toggle:hover{background:#fff}.video-status-icon{width:9px;height:11px;border-left:3px solid;border-right:3px solid}
.ambient-video:not(.is-playing) .video-status-icon{width:0;height:0;border-left:8px solid;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:0}
.ambient-video.is-loading .video-status-icon{width:11px;height:11px;border:1px solid;border-bottom-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

.philosophy{padding-top:110px}.philosophy-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:12%;align-items:center}
.home-doctor-portrait{width:100%;max-width:460px;justify-self:end}
.home-doctor-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:left center}
.home-doctor-portrait figcaption{display:flex;flex-direction:column;gap:5px;margin-top:22px}
.home-doctor-name{font-size:22px;line-height:1.45;color:var(--sea)}
.home-doctor-role{font-size:13px;line-height:1.65}
.philosophy-statement p{max-width:35em;margin-top:30px;font-size:17px;line-height:1.95}
.service-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.service-heading>p{font-size:14px;padding-bottom:10px}
.services{background:var(--glass)}.js .service-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:30px}
.service-tabs button{min-height:77px;padding:14px 0 12px;text-align:left;border-top:1px solid #91a59b;color:var(--muted)}
.service-tabs button[aria-selected=true]{border-top:2px solid var(--sea);padding-top:13px;color:var(--sea)}.service-tabs button:hover{color:var(--sea)}
.service-tabs button span{display:block;font:400 clamp(18px,1.8vw,26px)/1.25 var(--serif)}.service-tabs button small{display:block;font-size:12px;margin-top:8px}
.service-note{margin-top:24px;max-width:65em;font-size:11px;line-height:1.7;color:var(--muted)}
.care-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.care-heading>p{padding-bottom:9px;font-size:14px}figcaption{margin-top:14px;color:var(--muted);font-size:11px}
.visit-strip{background:var(--sand)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.visit-strip-copy>p{font-size:15px}
.quiet-phone{display:block;width:fit-content;margin-top:22px;font:400 25px/1.4 var(--serif)}

/* Interior pages share lettering, without a repeated translated title stack. */.care-intro .editorial-grid{align-items:center}.concerns{padding-top:0}
.concern-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:12%}.concern{border-top:1px solid var(--line);padding:26px 0}.concern h3{font-size:21px;margin-bottom:12px}.concern p{font-size:16px}
.journey-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:12%}.journey-steps{list-style:none;padding:0}
.journey-steps li+li{margin-top:27px}.journey-steps h3{font-size:21px;margin-bottom:9px}.journey-steps p{color:var(--muted);max-width:40em}
.faq{padding-top:0}.faq-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:12%}
.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:24px 0;font-size:17px}
.faq summary::-webkit-details-marker{display:none}.faq summary span{width:13px;height:13px;position:relative;flex:none}
.faq summary span::before,.faq summary span::after{content:'';position:absolute;top:6px;left:0;width:13px;height:1px;background:currentColor}
.faq summary span::after{transform:rotate(90deg)}.faq details[open]>summary span::after{transform:none}.faq details>p{padding:0 28px 25px 0;color:var(--muted)}
.doctor-section{background:var(--glass)}.doctor-grid{display:grid;grid-template-columns:.9fr 1fr;gap:16%;align-items:center}.doctor-grid figure img{aspect-ratio:1;object-fit:cover}
.doctor-copy>p{margin-top:28px;max-width:35em}.doctor-name{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:baseline}
.doctor-name h3{font-size:24px}.doctor-name span{font-size:13px}.doctor-copy ul{list-style:none;padding:18px 0 0;font-size:13px;line-height:2}
.visit-hero{padding:172px 0 58px}.visit-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12%}.visit-hero h1{font-size:clamp(42px,4.5vw,68px)}
html[lang=en] .visit-hero h1{font-size:clamp(64px,6.5vw,96px)}.visit-hero p{max-width:30em;padding-bottom:10px}
.visit-contact{padding-top:40px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.contact-phone{display:block;width:fit-content;font-family:var(--serif);margin-top:28px;font-size:clamp(36px,4vw,56px);letter-spacing:-.025em;white-space:nowrap}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px 28px}.contact-actions .button-link{padding:12px 24px;background:var(--sea);color:var(--shell);border:0}
.small-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:20px;max-width:39em}
.hours h2{font:400 30px/1.5 var(--display);color:var(--sea);margin-bottom:25px}.hours dl{margin:0}
.hours dl>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;font-variant-numeric:tabular-nums}.hours dd{margin:0}
.location-section{background:var(--glass)}.location-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}
.location-photo img{aspect-ratio:1.25;object-fit:cover;object-position:30% center}.location-photo>p{margin-top:12px;font-size:11px}
.location-copy address{font-style:normal;margin:25px 0 18px}.street-address{font-size:22px}.location-copy address p+p{font-size:13px;color:var(--muted);margin-top:9px}
.copy-address{gap:12px}.copy-status{min-height:26px;margin-top:14px;font-size:13px}.before-visit .journey-steps{margin-top:35px;max-width:760px}

.site-footer{padding:54px 0 28px;background:var(--shell)}.footer-main{display:flex;align-items:start;gap:40px}.footer-main .brand{width:177px}
.footer-tagline{margin-top:20px;font-size:13px}.footer-main nav{display:flex;flex-wrap:wrap;gap:30px;margin-left:auto;font-size:13px}
.back-top{display:grid;place-items:center;width:44px;height:44px}.back-top svg{width:22px;height:22px;transform:rotate(-45deg)}
.footer-details{display:flex;justify-content:space-between;gap:30px;margin-top:42px;color:var(--muted);font-size:12px;line-height:1.9}.footer-details address{font-style:normal}.footer-details>p{text-align:right}
.media-note{max-width:85em;font-size:10px;line-height:1.8;color:var(--muted);margin-top:25px}
.film-dialog{border:0;background:var(--shell);color:var(--sea);padding:60px 0 0;width:min(1100px,94vw);max-width:none;max-height:95dvh}
.film-dialog::backdrop{background:#173b36ed}.film-dialog>.close-button{position:absolute;right:12px;top:8px}.film-player video{width:100%;max-height:65dvh;aspect-ratio:16/9;background:var(--deep)}
.film-details{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:28px 36px}.film-details h2.display{font-family:var(--serif);font-size:36px}.film-details p{max-width:360px;font-size:14px}
.not-found{min-height:65vh;padding-top:180px;padding-bottom:90px}.not-found p{margin-top:24px}

@media(max-width:1100px){
  .site-header{gap:30px}.desktop-nav{gap:24px}
}
@media(max-width:900px){
  :root{--gutter:32px}.site-header{height:90px}.brand{width:170px}.header-actions{margin-left:auto;gap:9px}.js .desktop-nav{display:none}.js .menu-toggle{display:block}.philosophy-layout{gap:7%;grid-template-columns:1.1fr .9fr}.philosophy-statement p{font-size:16px}
  .service-heading,.care-heading{gap:30px}.service-heading>p,.care-heading>p{max-width:200px}.js .service-tabs{gap:16px}.doctor-grid{gap:9%}
  .contact-phone{font-size:38px}.footer-main{flex-wrap:wrap}.footer-main nav{gap:24px}
}
@media(max-width:640px){
  :root{--gutter:24px}.section{padding-block:70px}.display{font-size:32px;line-height:1.42;letter-spacing:-.04em}html[lang=en] .display{font-size:44px;line-height:1.12}.native-heading{font-size:27px}
  .site-header{height:84px;gap:14px}.site-header.is-fixed{height:70px}.brand{width:149px}.languages{gap:0}.languages a{min-width:28px}.header-actions{gap:2px}.menu-toggle{width:38px;padding:9px 6px}
  html:not(.js) .desktop-nav{position:absolute;top:72px;left:var(--gutter);right:var(--gutter);justify-content:space-between;gap:9px}html:not(.js) .desktop-nav a{font-size:11px}.hero-media video,.hero-media .video-poster img{object-position:50% center}.video-toggle{bottom:16px;right:16px;font-size:10px;padding:10px 13px}.film-link{font-size:11px;gap:7px}.philosophy{padding-top:58px}.philosophy-layout{grid-template-columns:1fr;gap:36px}
  .home-doctor-portrait{width:88%;max-width:360px}.home-doctor-portrait figcaption{margin-top:18px}.home-doctor-name{font-size:21px}.home-doctor-role{font-size:12px}
  .philosophy-statement p{margin-top:24px;font-size:16px;line-height:1.9}.service-heading{display:block;margin-bottom:31px}.service-heading>p{margin-top:18px;padding:0;max-width:none;font-size:13px}
  .js .service-tabs{grid-template-columns:1fr 1fr;gap:5px 22px;margin-bottom:23px}.service-tabs button{min-height:78px}.service-tabs button span{font-size:22px}.service-tabs button small{font-size:11px;margin-top:6px}.service-note{font-size:10px;margin-top:25px}
  .care-heading{display:block;margin-bottom:35px}.care-heading>p{margin-top:22px;max-width:none;padding:0}
  .visit-grid,.editorial-grid{grid-template-columns:1fr;gap:29px}.visit-strip-copy p{font-size:14px}.quiet-phone{margin-top:23px}.care-intro{padding-bottom:55px}.concerns{padding-top:8px}
  .concern-layout,.journey-layout,.faq-grid{grid-template-columns:1fr;gap:32px}.concern h3{font-size:21px}.concern p{font-size:15px}
  .journey-steps h3{font-size:20px}.journey-steps p{font-size:15px}.faq{padding-top:0}.faq summary{font-size:16px}.faq details>p{font-size:15px}.doctor-grid{grid-template-columns:1fr;gap:38px}.doctor-grid figure{max-width:400px}.doctor-copy>p{font-size:15px}.doctor-name{margin-top:23px}
  .visit-hero{padding:135px 0 40px}.visit-hero-grid{grid-template-columns:1fr;gap:25px}.visit-hero h1{font-size:41px}html[lang=en] .visit-hero h1{font-size:70px}.visit-hero p{font-size:15px}
  .visit-contact{padding-top:12px}.contact-grid,.location-grid{grid-template-columns:1fr;gap:48px}.contact-phone{font-size:41px}html[lang=en] .contact-phone{font-size:37px}.contact-actions{gap:12px 24px}.contact-actions .text-link{font-size:12px}
  .hours h2{font-size:28px}.street-address{font-size:21px}.location-copy .text-link{font-size:13px}.site-footer{padding-top:39px}.footer-main{position:relative;gap:28px}.footer-main .brand{width:156px}
  .footer-main nav{width:100%;margin:0;font-size:12px;gap:25px}.back-top{position:absolute;right:0;top:0}.footer-details{display:block;font-size:11px;margin-top:30px}.footer-details>p{text-align:left;margin-top:20px}.media-note{font-size:10px}
  .film-dialog{width:100vw}.film-details{display:block;padding:24px}.film-details h2.display{font-size:32px}.film-details p{font-size:13px;margin-top:15px}
}
@media(max-width:360px){
  :root{--gutter:20px}.brand{width:133px}.service-tabs button span{font-size:19px}.display{font-size:29px}.contact-phone{font-size:36px}html[lang=en] .contact-phone{font-size:32px}.footer-main nav{gap:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Large photographic scenes keep copy, controls and footage in one composition. */
:root{--scene-title:clamp(48px,5.2vw,76px);--scene-title-en:clamp(62px,6.8vw,96px);--scene-height:max(720px,100svh);--scene-shade:linear-gradient(90deg,rgba(10,35,30,.68),rgba(10,35,30,.24) 62%,rgba(10,35,30,.12)),linear-gradient(0deg,rgba(10,35,30,.52),transparent 68%)}
.media-scene{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:var(--shell)}
.media-scene::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--scene-shade)}
.scene-copy{position:relative;z-index:2;color:var(--shell)}
.scene-copy .display,.scene-copy h3{color:inherit}
.scene-copy .text-link{color:inherit}
.scene-copy .text-link:hover{color:#fff}
.media-scene :focus-visible,.media-header:not(.is-fixed) :focus-visible{outline-color:var(--shell)}
.media-header:not(.is-fixed){background:transparent;color:var(--shell)}
.media-header:not(.is-fixed) .brand img{filter:brightness(0) invert(1)}
.media-header:not(.is-fixed) .languages a,.media-header:not(.is-fixed) .languages>span{color:inherit}
.media-header:not(.is-fixed) .languages a:not([aria-current]){text-decoration:none}
.media-header:not(.is-fixed) .languages a[aria-current]{color:inherit}

.home-hero{min-height:var(--scene-height);display:flex;align-items:flex-end;padding-block:168px 174px}
.home-hero::after{background:linear-gradient(180deg,rgba(10,35,30,.36),transparent 30%),linear-gradient(0deg,rgba(10,35,30,.6),transparent 85%),linear-gradient(90deg,rgba(10,35,30,.22),transparent)}
.hero-window{position:absolute;inset:0}
.hero-opening{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end}
.hero-opening h1{font-size:var(--scene-title);line-height:1.2;letter-spacing:-.035em}
html[lang=en] .hero-opening h1{font-size:var(--scene-title-en);line-height:1.04;letter-spacing:-.025em}
.hero-translation{font:400 25px/1.4 var(--serif);margin-top:22px}
.hero-introduction{max-width:390px;justify-self:end;padding-bottom:8px}
.hero-introduction p{font-size:17px;line-height:1.85}
.hero-introduction .text-link{margin-top:20px}
.hero-foot{position:absolute;bottom:28px;left:var(--gutter);right:calc(var(--gutter) + 190px);z-index:3;width:auto;max-width:none;display:flex;align-items:center;gap:44px;font-size:12px}
.hero-foot>a{display:flex;align-items:center;min-height:44px;text-decoration:underline}
.home-hero .video-toggle{right:var(--gutter);bottom:28px}
.hero-media video,.hero-media .video-poster img{object-position:56% center}

.services{padding-bottom:0;background:var(--shell)}
.service-panel{min-height:660px;height:80svh;max-height:900px;display:flex;align-items:flex-end;padding:80px var(--gutter) 112px}
.service-panel>.ambient-video{position:absolute;inset:0}
.service-caption{max-width:560px}
.service-caption h3{font:400 clamp(36px,4vw,56px)/1.25 var(--display);letter-spacing:-.025em}
html[lang=en] .service-caption h3{font-size:clamp(44px,4.8vw,68px);line-height:1.12}
.service-caption p{margin-top:24px;max-width:34em;font-size:17px;line-height:1.85}
.service-caption .text-link{margin-top:22px}
.service-panel .video-toggle{right:var(--gutter);bottom:28px}
.service-panel .video-poster img,.service-panel video{object-position:center}
.js .service-panel:not(.is-active){display:none}
html:not(.js) .service-panel+.service-panel{margin-top:2px}
.service-foot{padding-block:24px 0}
.service-foot .service-note{margin:0}
.service-foot>.text-link{margin-top:12px}

.care-paths{padding-bottom:0}
.care-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.care-story{min-height:700px;height:78svh;max-height:940px;display:flex;align-items:flex-end;padding:64px clamp(32px,5.55vw,104px)}
.care-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.care-skin>img{object-position:62% center}
.care-health>img{object-position:56% center}
.care-story::after{background:linear-gradient(0deg,rgba(10,35,30,.82),rgba(10,35,30,.22) 72%,rgba(10,35,30,.06))}
.care-story-caption{max-width:460px}
.care-story h3{font:400 clamp(32px,3vw,44px)/1.3 var(--display);letter-spacing:-.025em}
html[lang=en] .care-story h3{font-size:clamp(40px,3.5vw,52px);line-height:1.12}
.care-story p{margin-top:22px;max-width:31em;font-size:16px;line-height:1.85}
.care-story .text-link{margin-top:20px}
.space-section{padding-top:2px}
.space-panorama{display:flex;align-items:flex-end;min-height:640px;height:78svh;max-height:920px;padding:72px var(--gutter) 96px}
.space-panorama figure{position:absolute;inset:0}
.space-panorama figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.space-panorama figcaption{position:absolute;bottom:24px;right:var(--gutter);z-index:2;color:var(--shell);font-size:11px;margin:0}
.space-heading{max-width:640px}
.space-heading>p{max-width:32em;margin-top:26px}

.split-hero,.philosophy-hero{display:flex;align-items:flex-end;min-height:var(--scene-height);padding:180px var(--gutter) 112px}
.split-hero::before,.philosophy-hero::before{content:"";position:absolute;inset:0 0 auto;height:220px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,35,30,.76),rgba(10,35,30,.52) 108px,transparent)}
.split-hero-image,.philosophy-hero-image{position:absolute;inset:0}
.split-hero-image img,.philosophy-hero-image img{width:100%;height:100%;object-fit:cover}
.skin-hero .split-hero-image img{object-position:center 42%}
.longevity-hero .split-hero-image img{object-position:center}
.split-hero-copy,.philosophy-hero-copy{max-width:850px;width:100%;margin:0}
.split-hero-copy h1,.philosophy-hero h1{font-size:var(--scene-title);line-height:1.24;letter-spacing:-.035em}
html[lang=en] .split-hero-copy h1,html[lang=en] .philosophy-hero h1{font-size:var(--scene-title-en);line-height:1.08;letter-spacing:-.025em}
.split-hero-copy>p,.philosophy-hero-copy>p{max-width:33em;margin-top:32px;font-size:17px;line-height:1.85}
.connection-section{display:flex;align-items:flex-end;min-height:660px;height:80svh;max-height:900px;padding:80px var(--gutter) 112px}
.connection-media{position:absolute;inset:0}
.connection-copy{max-width:740px}
.connection-copy>p{max-width:35em;margin-top:26px;font-size:17px}
.connection-section .video-toggle{bottom:28px;right:var(--gutter)}

@media(max-width:900px){
  .hero-opening{grid-template-columns:1.2fr 1fr;gap:7%}
  .hero-introduction p{font-size:16px}
  .care-story{min-height:650px;padding:44px 32px}
  .care-story h3{font-size:30px}html[lang=en] .care-story h3{font-size:40px}
}
@media(max-width:640px){
  :root{--scene-title:clamp(38px,10vw,52px);--scene-title-en:clamp(50px,14vw,72px);--scene-height:max(760px,100svh)}
  .home-hero{padding-block:144px 138px;align-items:flex-end}
  .hero-opening{grid-template-columns:1fr;gap:30px}
  .hero-introduction{justify-self:start;padding:0;max-width:30em}
  .hero-introduction p{font-size:15px;line-height:1.8}
  .hero-introduction .text-link{margin-top:14px}
  .hero-translation{font-size:22px;margin-top:18px}
  .hero-foot{bottom:26px;right:var(--gutter);gap:18px;align-items:flex-start;flex-direction:column}
  .hero-foot>a{display:none}
  .home-hero .video-toggle{bottom:26px}
  .hero-media video,.hero-media .video-poster img{object-position:60% center}
  .film-link{font-size:11px}
  .service-panel{height:auto;min-height:720px;padding:250px var(--gutter) 108px}
  .service-caption{max-width:100%}
  .service-caption h3{font-size:36px}html[lang=en] .service-caption h3{font-size:46px}
  .service-caption p{font-size:15px;margin-top:22px;line-height:1.8}
  .service-panel::after{background:linear-gradient(0deg,rgba(10,35,30,.9),rgba(10,35,30,.56) 45%,rgba(10,35,30,.06) 90%)}
  .service-foot{padding-top:18px}
  .care-pair{grid-template-columns:1fr}
  .care-story{min-height:650px;height:auto;padding:270px var(--gutter) 60px}
  .care-story h3{font-size:34px}html[lang=en] .care-story h3{font-size:44px}
  .care-story p{font-size:15px;line-height:1.8}
  .space-panorama{min-height:680px;height:auto;padding:250px var(--gutter) 100px}
  .space-panorama figure img{object-position:36% center}
  .space-panorama figcaption{bottom:22px;left:var(--gutter);right:auto}
  .space-heading>p{font-size:15px;margin-top:24px}
  .split-hero,.philosophy-hero{padding:180px var(--gutter) 80px}
  .split-hero-copy>p,.philosophy-hero-copy>p{font-size:15px;margin-top:26px}
  .split-hero::after,.philosophy-hero::after{background:linear-gradient(0deg,rgba(10,35,30,.8),rgba(10,35,30,.32) 75%,rgba(10,35,30,.3))}
  .connection-section{height:auto;min-height:680px;padding:240px var(--gutter) 112px}
  .connection-copy>p{font-size:15px;margin-top:24px}
  html:not(.js) .media-header .desktop-nav{top:78px}
  html:not(.js) .home-hero{padding-top:180px}
}
@media(max-width:360px){.hero-foot .film-link{max-width:155px;text-align:left}.home-hero .video-toggle{right:20px}.split-hero-copy h1,.philosophy-hero h1{overflow-wrap:anywhere}}
@media(max-height:600px) and (min-width:641px){.home-hero{min-height:720px}.split-hero,.philosophy-hero{min-height:720px}}
@media print{.media-scene{min-height:0;height:auto;padding:40px var(--gutter);background:var(--shell);color:var(--ink);overflow:visible}.media-scene::after{display:none}.hero-window,.split-hero-image,.philosophy-hero-image,.connection-media,.service-panel>.ambient-video,.care-story>img,.space-panorama figure{display:none}.scene-copy{color:var(--ink)}.js .service-panel:not(.is-active){display:block}.hero-opening{display:block}.hero-foot{display:none}}
@media print{.site-header{position:relative}.header-actions,.desktop-nav,.video-toggle,.film-link,.back-top,dialog{display:none!important}.section{padding-block:35px}}

/* Home closing film: a full-bleed long-wide band under the visit strip. The 16:9 master is cropped to 2.39:1;
   captions sit at 69% height and the logo card is centred, so both stay inside the band. Phones keep 16:9. */
.wellness-film{position:relative;width:100%;aspect-ratio:2.39/1;overflow:hidden;background:var(--sand)}
.wellness-film>.ambient-video{position:absolute;inset:0}
@media(max-width:640px){.wellness-film{aspect-ratio:16/9}}
