/* KODACHI typography: one family, consistent wordmarks and restrained tracking. */
:root{--kodachi-type:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Arial,sans-serif;--sans:var(--kodachi-type);--serif:var(--kodachi-heading)}
html:lang(en){--kodachi-type:Arial,'Helvetica Neue',sans-serif}
html:lang(zh-CN),html:lang(zh-Hans){--kodachi-type:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif}
html:lang(zh-TW),html:lang(zh-Hant){--kodachi-type:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif}
html:lang(ko){--kodachi-type:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif}
body,p,button,input,select,textarea,.eyebrow,.service-en,.step-num,.intro-mark p,.hero-bottom p,.kinetic-word{font-family:var(--kodachi-type)!important}
/* Titles use a unified Mincho / serif family; body and logo retain their own roles. */
:root{--kodachi-heading:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif}
html:lang(en){--kodachi-heading:Georgia,'Times New Roman',serif}
html:lang(zh-CN),html:lang(zh-Hans){--kodachi-heading:'Noto Serif SC','Songti SC','SimSun',serif}
html:lang(zh-TW),html:lang(zh-Hant){--kodachi-heading:'Noto Serif TC','Songti TC','PMingLiU',serif}
html:lang(ko){--kodachi-heading:'Noto Serif KR','AppleMyungjo','Batang',serif}
h1,h2,h3,h4,h5,h6,.section-title,.path-lead{font-family:var(--kodachi-heading)!important;font-weight:400;letter-spacing:.045em}
h1 span,h2 span,h3 span,h4 span{font-family:inherit}

.wordmark,.opening-word,.footer-logo{font-family:Arial,'Helvetica Neue',sans-serif!important;font-weight:500!important;letter-spacing:.13em!important;line-height:1.08}
.development-label,.opening-development{font-family:Arial,'Helvetica Neue',sans-serif!important;font-weight:400!important;letter-spacing:.3em!important;line-height:1.4}
.opening-word{font-size:clamp(48px,11vw,158px)!important;padding-left:.13em}
.opening-lockup{gap:19px;max-width:100%;padding:24px}
.opening-development{font-size:clamp(13px,2.05vw,29px)!important;padding-left:.3em}
.opening-tagline,.brand-tagline,.footer-brand>p{font-family:var(--kodachi-type)!important;font-weight:400;letter-spacing:.055em!important}
.opening-tagline{font-size:clamp(10px,1.05vw,15px);line-height:1.9;margin-top:12px}
.hero h1{font-weight:400;letter-spacing:.045em;line-height:1.5}
.eyebrow,.service-en{font-size:12px;font-weight:500;letter-spacing:.12em;line-height:1.7}
.hero-bottom p{font-size:15px;letter-spacing:.055em}
@media(max-width:800px){.opening-lockup{gap:12px}.opening-tagline{max-width:90vw;white-space:normal;font-size:10px}.hero h1{letter-spacing:.025em}.footer-logo{font-size:40px}}

/* Give the pool film a landscape frame so the ocean remains visible. */
.beach-film{max-width:none}.beach-film-frame{aspect-ratio:32/15}.beach-film video{object-position:50% 0}
.pool-film{aspect-ratio:32/15;align-self:center}.pool-film video{min-height:0!important;height:100%;object-position:50% 0}
@media(min-width:801px){.intro-layout{grid-template-columns:1.1fr 1.45fr;gap:60px}}
@media(max-width:800px){.beach-film-frame,.pool-film{aspect-ratio:32/15}.pool-film video{min-height:0!important}}

/* All typography follows the user-selected Mincho family. */
:root{--kodachi-type:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:var(--kodachi-type);--serif:var(--kodachi-type)}
html:lang(en){--kodachi-type:Georgia,'Times New Roman',serif}
html:lang(zh-CN),html:lang(zh-Hans){--kodachi-type:'Noto Serif SC','Songti SC','SimSun',serif}
html:lang(zh-TW),html:lang(zh-Hant){--kodachi-type:'Noto Serif TC','Songti TC','PMingLiU',serif}
html:lang(ko){--kodachi-type:'Noto Serif KR','AppleMyungjo','Batang',serif}
body,body *{font-family:var(--kodachi-type)!important}
.wordmark,.opening-word,.footer-logo,.development-label,.opening-development{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important}
