.language-control{display:flex;align-items:center;gap:6px;color:#f0d68e;flex-shrink:0}.language-symbol{font-size:17px}.language-control select{font:400 11px Poppins,Kanit,sans-serif;color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:5px;padding:4px 7px;cursor:pointer;max-width:105px}.language-control option{color:#063e2b;background:white}.topline-contact{gap:17px}
.closing-scene:not(:first-child) .closing-art:after{background:linear-gradient(90deg,#023825f5 0%,#023825e8 35%,#02382575 58%,#02382512 100%)}
html[data-language=en] .brand b{font-size:21px}html[data-language=en] nav{gap:18px}html[data-language=en] nav>a,html[data-language=en] .navgroup>a{font-size:13px}
html[data-language=zh] body{font-family:Poppins,'Microsoft YaHei','PingFang SC',sans-serif}
html[data-language=en] .campaigncopy h1{font-size:clamp(32px,3.8vw,58px);max-width:780px}html[data-language=en] .campaigncopy h1 strong{font-size:.7em}html[data-language=en] .pagecovercopy h1{font-size:clamp(32px,3.5vw,54px)}
html[data-language=en] .closing-inner h2{font-size:clamp(34px,3.4vw,49px);max-width:640px}html[data-language=en] .closing-inner h2 em{white-space:normal}html[data-language=en] .closing-inner>p{font-size:19px;max-width:540px}html[data-language=en] .closing-actions{gap:20px}html[data-language=en] .closing-actions .btn{font-size:13px}
html[data-language=en] .invite-copy h2{font-size:clamp(34px,3.5vw,50px)}html[data-language=en] .invite-copy>p{font-size:19px;max-width:470px}html[data-language=en] .invite-actions{gap:16px}html[data-language=en] .invite-actions .btn{font-size:13px}html[data-language=en] .invite-line{font-size:11px;gap:9px}html[data-language=en] .invite-signature span{font-size:20px}
html:not([data-language=th]) .refintrohead h2 em{font-size:.58em;line-height:1.5;display:inline-block}html[data-language=en] .visualservicebody h3{font-size:24px}html[data-language=en] .course h3{font-size:22px}html[data-language=en] .course p{font-size:15px}html:not([data-language=th]) .coursebody button{white-space:normal}html[data-language=en] .detailhero h1{font-size:clamp(30px,3.8vw,53px)}html[data-language=en] .closing-credit{max-width:50%;text-align:right}
@media(min-width:761px) and (max-width:1150px){html[data-language=en] header{padding-left:3%;padding-right:3%}html[data-language=en] nav{gap:12px}html[data-language=en] .brand b{font-size:18px}html[data-language=en] .brand img{width:49px}html[data-language=en] nav>a,html[data-language=en] .navgroup>a{font-size:11px}html[data-language=en] .campaignbrand span{font-size:19px}.topline-format{display:none}}
@media(max-width:760px){.topline-inner{padding:0 4%;min-height:40px}.topline-contact{width:100%;justify-content:space-between;gap:9px}.topline-contact>a{font-size:10px;gap:5px}.topline-number{font-size:11px}.language-control select{font-size:10px;padding:4px}.language-symbol{font-size:14px}html[data-language=en] .brand b{font-size:17px}html[data-language=en] .brand small{font-size:7px}html[data-language=en] nav>a,html[data-language=en] .navgroup>a{font-size:16px}html[data-language=en] .campaigncopy h1{font-size:33px;line-height:1.2}html[data-language=en] .campaigncopy h1 strong{font-size:.74em}html[data-language=en] .campaignbrand span{font-size:18px}html[data-language=en] .campaigncopy .campaigndesc{font-size:14px!important;max-width:290px!important}html[data-language=en] .campaigncopy .btn{font-size:12px}html[data-language=en] .pagecovercopy h1{font-size:31px}html[data-language=en] .pagecovercopy p{font-size:14px;max-width:90%}html[data-language=en] .invite-copy h2{font-size:36px}html[data-language=en] .invite-copy>p{font-size:18px}html[data-language=en] .invite-line{font-size:10px;gap:7px}html[data-language=en] .invite-actions{gap:15px}html[data-language=en] .invite-actions .btn{font-size:12px}html[data-language=en] .closing-inner h2{font-size:34px}html[data-language=en] .closing-inner>p{font-size:17px}html[data-language=en] .closing-inner>.eyebrow{font-size:8px}html[data-language=en] .closing-actions .btn{font-size:12px}html[data-language=en] .refintrohead h2{font-size:34px}html:not([data-language=th]) .detailhero{gap:25px}html:not([data-language=th]) .closing-phone{font-size:22px}.closing-art:after{background:linear-gradient(0deg,#053e2c 0%,#053e2c 37%,#053e2c00 80%)!important}}
@media(max-width:760px){.topline-contact a .topline-number{display:inline!important}.contactbubble{display:none!important}.topline-contact>a{white-space:nowrap}.language-control{flex-shrink:0}}

/* Language selector in the main navigation, beside the mobile menu. */
header{gap:18px}header nav{margin-left:auto}.header-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-tools .language-control{color:#073e32;gap:5px}.header-tools .language-control select{color:#073e32;background:#f6f8f4;border:1px solid #dce5df;border-radius:8px;padding:8px 5px;font-size:12px;max-width:88px;min-height:40px}.header-tools .language-control:focus-within{outline:2px solid #d6b86b;outline-offset:3px;border-radius:8px}
@media(min-width:761px) and (max-width:1250px){header{padding-left:3%;padding-right:3%;gap:12px}header nav{gap:12px}.header-tools .language-symbol{display:none}.header-tools .language-control select{max-width:76px;font-size:11px}.brand{gap:8px}.brand b{font-size:18px}.brand small{font-size:8px}.brand img{width:49px}}
@media(max-width:760px){header{gap:8px}.header-tools{gap:8px}.header-tools .language-symbol{display:none}.header-tools .language-control select{font-size:11px;max-width:76px;min-height:40px}.header-tools #menu{min-width:36px;min-height:40px;padding:0}.topline-contact{justify-content:flex-end}}
@media(max-width:380px){header{padding-left:3%;padding-right:3%}.brand{gap:6px}.brand img{width:42px}.brand b{font-size:16px}.brand small{font-size:6px;letter-spacing:.5px}html[data-language=en] .brand b{font-size:15px}.header-tools{gap:4px}.header-tools .language-control select{max-width:68px}}

.line-official p{margin:8px 0 16px;font-size:15px;line-height:1.7}.line-official img{display:block;width:220px;max-width:100%;height:auto;background:#fff;border-radius:12px}
/* Soft light sweep across the active hero banner, once per slide. */
.campaignslide::after{content:"";position:absolute;top:-25%;left:0;width:32%;height:150%;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 22%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.06) 78%,transparent 100%);transform:translate3d(-180%,0,0) skewX(-20deg);opacity:0}
.campaignslide.is-current::after{animation:km-banner-light-sweep 5s ease-in-out infinite}.campaigncopy{z-index:3}
@keyframes km-banner-light-sweep{0%,8%{transform:translate3d(-180%,0,0) skewX(-20deg);opacity:0}12%{opacity:1}42%{transform:translate3d(480%,0,0) skewX(-20deg);opacity:1}46%,100%{transform:translate3d(480%,0,0) skewX(-20deg);opacity:0}}
@media(max-width:760px){.campaignslide::after{width:44%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.27),transparent)}}
@media(prefers-reduced-motion:reduce){.campaignslide::after{display:none}}
