@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/design/assets/fonts/nKKU-Go6G5tXcr4-OSWg.ttf) format('truetype');
}
@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/design/assets/fonts/nKKZ-Go6G5tXcoaS.ttf) format('truetype');
}
@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/design/assets/fonts/nKKU-Go6G5tXcr5mOCWg.ttf) format('truetype');
}
@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/design/assets/fonts/nKKU-Go6G5tXcr5KPyWg.ttf) format('truetype');
}

/* Shared public typography: HEY HI / BLKGEM reference, KSV sizing. */
:root{--body:'Montserrat',sans-serif;--sans:'Montserrat',sans-serif;--thai:var(--body)}
html[lang=ko]{--body:'Pretendard Variable',Pretendard,sans-serif}
html[lang=en]{--body:'Montserrat',sans-serif}
html[lang=th]{--body:'Montserrat','Kanit',sans-serif}
body{font-family:var(--body);font-size:16px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
button,select,input,textarea{font-family:var(--body)}
html[lang=ko] body{letter-spacing:-.015em}
html[lang=th] body{letter-spacing:0;line-height:1.8}
.stage h1{font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:-.065em;font-size:clamp(90px,13vw,220px);line-height:.95}
.section-head h2{font-family:'Montserrat',sans-serif;font-weight:400;letter-spacing:-.055em;font-size:clamp(48px,6.5vw,100px);line-height:1.08}
.art-type{font-family:'Montserrat',sans-serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(28px,4vw,64px)}
header nav,.header nav{font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:-.015em}
.hero-bottom p{font-size:22px;font-weight:500;line-height:1.55}
.hero-bottom p span{font-size:15px;font-weight:400;line-height:1.65}
.intro-bottom h3,.record-copy h2{font-family:var(--body);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.4;letter-spacing:-.035em}
.intro-bottom p,.section-head>p,.record-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}
.card-caption h3{font-family:var(--body);font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.025em}
.card-caption p{font-size:14px;line-height:1.7}
.stats strong,.numbers strong{font-family:'Montserrat',sans-serif;font-weight:300;letter-spacing:-.055em}
.stats span{font-size:13px;line-height:1.5}
.questions h2{font-size:34px;letter-spacing:-.03em;font-weight:400}
.questions summary{font-size:18px;line-height:1.5;font-weight:400}
.questions details p{font-size:16px;line-height:1.75}
.footer-top h2{font-weight:400;letter-spacing:-.035em;line-height:1.3}
.footer-grid{font-size:14px;line-height:1.8}
.round-link{font-size:15px;font-weight:500}.eyebrow,.art-label{font-size:11px;letter-spacing:.1em}.motion{font:11px var(--body)}
html[lang=th] :is(.intro-bottom h3,.record-copy h2,.footer-top h2,.card-caption h3,.questions h2){letter-spacing:0;line-height:1.5;font-weight:400}
/* Existing public detail pages share the same language families. */
.profile-title h1,.program-hero h1,.title-split h1{font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:-.05em}
.career-section li,.program-overview p,.title-split p{font-family:var(--body);font-size:17px;line-height:1.8}
.profile-title h1>span,.program-hero h1>span,.title-split h2,.career-label h2{font-family:var(--body);letter-spacing:-.015em}
@media(max-width:600px){
.stage h1{font-size:21vw;letter-spacing:-.065em}.section-head h2{font-size:clamp(43px,12vw,64px)}
.hero-bottom p{font-size:20px}.hero-bottom p span{font-size:14px;max-width:310px}
.intro-bottom h3,.record-copy h2{font-size:28px}.intro-bottom p,.section-head>p,.record-copy>p:not(.eyebrow){font-size:15px}
.art-type{font-size:40px}.card-2 .art-type{font-size:32px}.card-caption h3{font-size:19px}.card-caption p{font-size:13px}
.stats span{font-size:11px}.questions h2{font-size:29px}.questions summary{font-size:16px}.questions details p{font-size:15px}
.footer-grid{font-size:13px}.footer-top h2{font-size:27px}.eyebrow,.art-label{font-size:10px}
.career-section li,.program-overview p,.title-split p{font-size:15px}
}/* Multilingual reflow: natural lines, wider copy columns, consistent spacing. */
:is(.course-copy,.intro-bottom,.title-split,.profile-layout,.footer-grid,.section-head,.course-enquiry)>*{min-width:0}
:is(.course-copy,.track-block,.intro-bottom,.record-copy,.trial-intro,.program-help,.course-enquiry,.title-split,.profile-title,.coach-meta,.footer-top) :is(h2,h3,p){text-wrap:pretty;overflow-wrap:break-word}
html[lang=ko] :is(.course-copy,.track-block,.intro-bottom,.record-copy,.trial-intro,.program-help,.course-enquiry,.title-split,.profile-title,.coach-meta) :is(h2,h3,p){word-break:keep-all}
html[lang=th] :is(h2,h3,p,li){word-break:normal;letter-spacing:0}
.course-copy{grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:6%;padding-top:65px;padding-bottom:65px}
.track-block .course-copy h2{font-size:clamp(28px,3.1vw,46px);line-height:1.25}
.track-block h3{font-size:clamp(23px,2.3vw,32px);line-height:1.45;margin-bottom:20px}
.track-block .course-copy p:not(.section-label){font-size:17px;line-height:1.75;max-width:48em}
.track-facts{margin:22px 0}.track-facts li{padding:10px 0}
.intro-bottom{grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;margin-top:55px}
.intro-bottom h3{font-size:clamp(25px,2.6vw,38px)}.intro-bottom p{max-width:none}
.record-copy{padding-left:8%;padding-right:8%}.record-copy h2{font-size:clamp(27px,2.8vw,40px)}
.footer-top h2{max-width:16em;font-size:clamp(32px,4.5vw,64px)}
.trial-intro{gap:32px}.trial-intro h2{font-size:clamp(27px,2.7vw,39px)}
.course-intro h1{font-size:clamp(48px,8.5vw,125px)}
.course-enquiry{gap:30px}.course-enquiry>div{flex:1;min-width:0}.course-enquiry h2{font-size:clamp(27px,3vw,40px)}
.breadcrumb{flex-wrap:wrap;row-gap:6px}.track-nav a,.other-programs a{max-width:100%;white-space:normal}
.profile-title{gap:30px}.profile-title>div{min-width:0}.profile-title h1{font-size:clamp(45px,6vw,88px)}.profile-title>p{max-width:30em}
.career-section li{line-height:1.75}.title-split{gap:5%}.title-split h1{font-size:clamp(52px,7.5vw,105px)}
@media(min-width:721px) and (max-width:1000px){.course-enquiry{display:block}.course-enquiry .line-cta{margin-top:24px}.trial-intro{align-items:start;flex-direction:column}.profile-title{align-items:start;flex-direction:column}.intro-bottom{grid-template-columns:1fr;gap:22px}}
@media(max-width:720px){
.course-copy{grid-template-columns:1fr;gap:24px;padding-top:38px;padding-bottom:42px}.track-block .course-copy h2{font-size:30px}.track-block h3{font-size:23px;line-height:1.4;margin-bottom:16px}.track-block .course-copy p:not(.section-label){font-size:16px;line-height:1.75}
.intro-bottom{grid-template-columns:1fr;gap:20px;margin-top:32px}.intro-bottom h3{font-size:26px}.intro-bottom p{font-size:15px}
.record-copy h2{font-size:29px;margin-bottom:20px}.record-copy{padding:40px 6% 45px}
.footer-top h2{font-size:29px;max-width:none}.trial-intro h2{font-size:27px}.trial-intro{padding:38px 6%}
.course-intro h1{font-size:clamp(42px,10.5vw,68px)}.course-intro{padding-bottom:30px}.course-intro .breadcrumb{margin-bottom:28px}
.course-enquiry h2{font-size:27px}.course-related{padding-top:42px;padding-bottom:42px}.course-benefits{padding-top:42px;padding-bottom:42px}
.profile-title h1{font-size:clamp(38px,10vw,58px)}.profile-title h1>span{line-height:1.5}.profile-pagination{gap:22px;flex-wrap:wrap}.profile-pagination strong{font-size:22px}
.title-split h1{font-size:clamp(48px,12vw,76px)}.coach-meta h2{font-size:30px}.line-cta{gap:12px;white-space:normal;text-align:center;line-height:1.5}
.hero-bottom p span{max-width:none}.program-help h3{font-size:21px}.card-caption p{line-height:1.6}
}

/* Each explanatory sentence starts on a new line; long sentences still wrap naturally. */
.copy-sentence{display:block;text-wrap:pretty}.copy-sentence+.copy-sentence{margin-top:.28em}

/* Keep CTA labels intact while letting their containers wrap. */
.line-cta{white-space:nowrap;flex-shrink:0;max-width:100%;gap:12px}.line-cta>.line-cta-label{font:inherit;margin-left:0;white-space:nowrap}.line-cta>img,.line-cta>svg{flex-shrink:0}.footer-top{flex-wrap:wrap}.footer-email{margin-top:14px!important}.footer-email>span{display:block;font-size:10px;letter-spacing:.12em;color:#706775}.footer-email>a{display:inline-block;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}

/* WEB-VISUAL-POLISH-260928-01: preserve approved layout, improve reading. */
.course-photo::after{background:linear-gradient(180deg,rgba(15,10,20,.52),rgba(15,10,20,.12) 35%,rgba(15,10,20,.72))}
.course-photo .course-art-word,.course-photo .course-art-meta{text-shadow:0 2px 12px #160d2480}
.course-copy .text-link,.other-programs a{display:inline-flex;align-items:center;font-size:14px;min-height:44px}
.track-facts li{font-size:15px}.social-name small{font-size:13px;color:#625767}.legal{font-size:12px;color:#625767}
.card-caption .card-detail{font-size:14px}.trial-required{margin-top:16px}
.trial-application :is(p,label,button){text-wrap:pretty}html[lang=ko] .trial-application :is(p,label,button){word-break:keep-all}
.trial-application button[type=submit]:disabled{opacity:1;background:#e4daea;color:#594365;cursor:not-allowed}
.trial-fields input:not([type=checkbox]):not([type=radio]):not([type=file]),.trial-fields select,.trial-date-trigger{min-height:52px}
.trial-time-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trial-time-controls select{width:100%;min-height:52px}
@media(max-width:600px){.trial-slot-picker{display:grid;grid-template-columns:1fr;align-items:stretch}.trial-slot-picker label{width:100%}.trial-phone select{width:128px;flex-basis:128px}.stats .eyebrow br{display:block}.record-art>span{text-shadow:0 2px 20px #000b}}
