/* Responsive layout: allow long Thai/English content to shrink and wrap. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
main,section,article,details,summary,nav,header,footer,.wrap,.hero-copy,.brand,.brand>span,.section-head>*,.detail-top>*,.detail-bottom>*,.fact,.path,.experience>*,.financial>*,.faq-layout>*,.footer-inner>*,.contact-inner>*,.faculty-card,.term>div{min-width:0}
.hero-inner{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr)}
.tabs,.pathways,.financial,.faculty-grid,.career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.specialties,.rounds,.research-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.experience{grid-template-columns:repeat(2,minmax(0,1fr))}
.faq-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}
.study-timeline{grid-template-columns:repeat(5,minmax(0,1fr))}
h1,h2,h3,.qualification,.faculty-card a,.contact-actions .email,.course summary,.fact strong{overflow-wrap:anywhere}
.course summary{grid-template-columns:90px minmax(0,1fr) 95px}
.table-scroll{max-width:100%;overscroll-behavior-x:contain}
.languages{flex-shrink:0}
@media(max-width:1050px){
 .nav{gap:16px}.brand strong{font-size:13px}.brand small{max-width:220px}
 #navlinks{gap:16px}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .study-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 html{scroll-padding-top:135px}
 .wrap{width:calc(100% - 32px);max-width:1180px}
 .nav{display:flex;flex-wrap:wrap;min-height:0;gap:0 8px;padding-top:10px;padding-bottom:0}
 .brand{flex:1;min-width:0;margin-right:0;gap:7px;padding:4px 0 9px}
 .brand-symbol{flex:0 0 31px;font-size:19px;height:43px;width:31px}
 .brand strong{font-size:11px;letter-spacing:.025em;line-height:1.5}
 .brand small{font-size:9px;line-height:1.5;max-width:210px;letter-spacing:0}
 .languages{margin-left:auto;gap:0;padding-bottom:5px}
 .languages button{min-width:39px;min-height:44px;padding:8px 5px;font-size:14px}
 .languages>span{font-size:12px}
 #navlinks{display:flex;order:3;flex:0 0 100%;width:100%;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:2px 0}
 #navlinks a,#navlinks a:nth-child(2){display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;line-height:1.4;padding:5px 8px;white-space:normal;text-align:center}
 .hero-inner{grid-template-columns:minmax(0,1fr);min-height:0}
 .hero-copy{padding:30px 0 28px}
 .hero h1{font-size:clamp(1.9rem,7.5vw,2.8rem);line-height:1.48;letter-spacing:-.025em}
 .hero h1 br{display:none}
 .hero p{font-size:16px;line-height:1.85;margin:18px 0 22px}
 .eyebrow{font-size:12px;letter-spacing:.055em;line-height:1.7;gap:9px}
 .eyebrow:before{flex:0 0 18px;width:18px}
 .hero .eyebrow{font-size:12px;margin-bottom:15px}
 .btn{min-height:48px;font-size:15px;padding:11px 15px;text-align:center;white-space:normal}
 .hero .btns{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .hero-photo{height:235px;width:auto;margin:0 -16px}
 .hero-photo img{object-position:center 45%}
 .photo-label{left:18px;right:18px;bottom:18px;font-size:13px}
 .photo-label strong{font-size:19px}
 .section{padding:42px 0}
 .section-head{margin-bottom:23px}
 h2{font-size:clamp(1.5rem,6.2vw,1.95rem);line-height:1.55}
 h3{line-height:1.65}
 .section-head p,.section-lead{font-size:16px;line-height:1.85}
 .strip-inner{font-size:14px;line-height:1.8;padding:16px 0}
 .tabs{grid-template-columns:minmax(0,1fr);gap:12px}
 .tab{width:100%;padding:21px 20px;text-align:left}
 .tab small{font-size:12px;letter-spacing:.035em;padding-right:24px}
 .tab strong{font-size:23px;padding-right:20px}
 .tab p{font-size:15px;line-height:1.8;max-width:100%}
 .tab .choose-indicator{width:18px;height:18px;right:20px;top:24px}
 .tab[aria-selected=true] .choose-indicator{border-width:5px}
 .program-detail{padding:22px 18px;margin-top:20px}
 .detail-top h3{font-size:19px}.detail-top p,.detail-bottom p{font-size:15px}
 .detail-top .tag{white-space:normal;line-height:1.8;max-width:100%;font-size:13px}
 .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px;padding:22px 0}
 .fact span{font-size:13px}.fact strong{font-size:16px;line-height:1.7;display:block}
 .detail-bottom,.pathways,.specialties,.experience,.financial,.rounds,.faq-layout,.faculty-grid,.research-grid,.career-grid,.study-timeline{grid-template-columns:minmax(0,1fr)}
 .path{padding:17px}.path p{font-size:14px;line-height:1.85}.path strong{font-size:16px}
 .note{font-size:14px!important;line-height:1.85}
 .section-jump{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .section-jump a{display:flex!important;justify-content:center;align-items:center;min-height:46px;padding:8px 10px;font-size:14px;line-height:1.6;text-align:center}
 .section-jump a:last-child{grid-column:1/-1}
 .specialty h3{font-size:21px}.specialty p,.experience p{font-size:16px}.chip{font-size:13px}
 .course-group>summary{padding:17px 16px;font-size:16px;line-height:1.8;position:relative;padding-right:44px}
 .course-group>summary>span{position:absolute;right:16px;top:18px;float:none;font-size:13px}
 .course-items{padding:0 15px 10px}
 .course summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:18px 0;font-size:16px;line-height:1.8}
 .course-code{grid-column:1/-1;font-size:13px}
 .course-credit{font-size:13px;padding-top:3px;white-space:nowrap}
 .course p{padding:17px 0;font-size:15px;line-height:1.95}
 .plan-choice{font-size:15px}.plan-choice select{font-size:16px;min-height:50px;padding:12px 10px}
 .term{gap:14px}.term-number{min-width:34px;font-size:26px}.term h3{font-size:18px}.term p{font-size:15px}
 .info-details>summary{font-size:16px;line-height:1.8;min-height:44px;padding:7px 0}
 .info-details>p{font-size:15px;line-height:1.9}
 .faculty-card{padding:22px 19px}.faculty-card h3{max-width:100%;font-size:19px}
 .faculty-role{font-size:13px}.faculty-card .qualification{font-size:14px;line-height:1.85}
 .faculty-card summary{font-size:15px;min-height:44px;padding:7px 0}
 .faculty-card details p,.faculty-card details a{font-size:15px}
 .faculty-card details a{display:inline-block;min-height:44px;padding:7px 0}
 .research-grid>div,.career-grid p{font-size:16px}
 .finance-block p,.finance-block .info-details p,.fee-expanded>p{font-size:15px}
 .finance-block a{font-size:15px;min-height:44px;padding:8px 0}
 .round{padding:21px 18px}.round h3{font-size:21px;margin-top:16px}.round .status{position:static;margin-top:13px;font-size:13px}
 .admission-bottom p{font-size:15px}.admission-bottom .btn{width:100%}
 .faq-list summary{font-size:16px;line-height:1.85;padding-right:30px}.faq-list details p{font-size:15px;padding-right:0}
 .contact-inner{display:block;padding:32px 0}.contact h2{font-size:24px}.contact p{font-size:15px}
 .contact-actions{flex-shrink:1;max-width:100%}.contact-actions .btn{width:100%}.contact-actions .email{font-size:15px;min-height:44px;padding:9px 0}
 .footer-inner{display:block}footer{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
 .footer-inner strong{font-size:14px;line-height:1.8}.footer-inner p{font-size:13px}
 #mobile-actions{gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
 #mobile-actions .btn{min-width:0;min-height:46px;font-size:14px;line-height:1.6}
}
/* Convert the reference fee table to readable row cards on narrow screens. */
@media(max-width:600px){
 .table-scroll{overflow:visible}
 .table-scroll table,.table-scroll tbody{display:block;width:100%}
 .table-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .table-scroll tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;margin:12px 0;background:white}
 .table-scroll th[scope=row]{grid-column:1/-1;background:#e7eef8;padding:12px 14px;font-weight:600;font-size:15px;border:0;line-height:1.7}
 .table-scroll td{display:block;font-size:17px;padding:13px;border:0;line-height:1.6}
 .table-scroll td+td{border-left:1px solid var(--line)}
 .table-scroll td:before{content:attr(data-label);display:block;font-size:12px;font-weight:400;color:var(--muted);margin-bottom:6px}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 28px)}.hero-photo{margin:0 -14px}
 .brand strong{font-size:10px}.brand small{font-size:8px;max-width:150px}.brand-symbol{display:none}
 .languages button{min-width:35px}.nav{gap:0 5px}
 .program-detail{padding:19px 14px}.fact-grid{grid-template-columns:minmax(0,1fr)}
 .course summary{grid-template-columns:minmax(0,1fr)}.course-credit{text-align:left;padding-top:0}
 #mobile-actions{padding-left:14px;padding-right:14px}
}
