/* ==========================================================
   DIAI Components
   ========================================================== */


/* ==========================================================
   Hero
   ========================================================== */

.hero{
    padding:110px 0;
    background:
        radial-gradient(circle at 10% 15%,rgba(36,94,180,.08),transparent 28%),
        radial-gradient(circle at 90% 5%,rgba(255,185,0,.08),transparent 30%),
        linear-gradient(#ffffff,#f7f9fc);
}

.hero h1{

    font-size:clamp(42px,7vw,74px);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-2px;

    margin-bottom:28px;

}

.hero-lead{

    max-width:760px;

    font-size:22px;
    line-height:1.8;

    color:var(--color-text-soft);

    margin-bottom:45px;

}

.hero-actions{

    display:flex;
    gap:16px;
    flex-wrap:wrap;

}



/* ==========================================================
   Button
   ========================================================== */

.button{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:14px 30px;

    border-radius:100px;

    font-weight:700;

    transition:.25s;

}

.button-primary{

    background:var(--color-primary);
    color:white;

}

.button-primary:hover{

    background:#173f74;

}

.button-secondary{

    background:white;

    border:1px solid var(--color-border);

}

.button-secondary:hover{

    background:#f5f5f5;

}



/* ==========================================================
   Section
   ========================================================== */

.section{

    padding:90px 0;

}

.section-soft{

    background:var(--color-surface-soft);

}

.section-header{

    text-align:center;

    max-width:850px;

    margin:auto;
    margin-bottom:60px;

}

.section-header h2{

    font-size:48px;

    margin-top:12px;
    margin-bottom:20px;

}

.section-header p{

    font-size:19px;

    color:var(--color-text-soft);

}



/* ==========================================================
   Eyebrow
   ========================================================== */

.eyebrow{

    color:var(--color-accent);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:13px;

    font-weight:700;

}



/* ==========================================================
   Card
   ========================================================== */

.card-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;

}

.card{

    position:relative;

    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #fbfdff 100%
    );

    padding:36px;

    border-radius:20px;

    border:1px solid rgba(20,80,150,.10);

    box-shadow:
        0 6px 18px rgba(20,40,80,.04);

    overflow:hidden;

    transition:
        transform .25s,
        box-shadow .25s,
        border-color .25s;

    height:100%;

}

/* Accent Bar */

.card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        var(--color-primary),
        #4fa7ff
    );

}

/* Soft Background */

.card::after{

    content:"";

    position:absolute;

    right:-60px;
    top:-60px;

    width:180px;
    height:180px;

    background:
        radial-gradient(
            rgba(80,150,255,.10),
            transparent 70%
        );

    pointer-events:none;

}

.card:hover{

    transform:translateY(-8px);

    border-color:rgba(30,90,180,.25);

    box-shadow:
        0 20px 45px rgba(20,40,80,.12);

}

.card h3{

    position:relative;

    font-size:28px;

    margin-bottom:16px;

    color:#103f8f;

    font-weight:700;

    line-height:1.3;

}

.card p{

    position:relative;

    color:var(--color-text-soft);

    line-height:1.9;

    font-size:16px;

}


/* ==========================================================
   CTA
   ========================================================== */

.soft-panel{

    background:white;

    border-radius:28px;

    padding:60px;

    border:1px solid var(--color-border);

    text-align:center;

}

.soft-panel h2{

    font-size:46px;

    margin:20px auto 40px;

    max-width:900px;

}



/* ==========================================================
   Divider
   ========================================================== */

.divider{

    height:1px;

    background:var(--color-border);

}



/* ==========================================================
   Utility
   ========================================================== */

.center{

    text-align:center;

}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}

/* DIAI editorial system */
.hero--diai{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(76px,10vw,142px) 0 96px;
    color:#f5f8fc;
    background:
        radial-gradient(circle at 76% 26%,rgba(27,196,173,.22),transparent 25%),
        radial-gradient(circle at 20% 100%,rgba(63,105,224,.28),transparent 35%),
        linear-gradient(135deg,#061524 0%,#0b2947 52%,#071b2d 100%);
}

.card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}

.research-card{display:flex;min-width:0}
.research-card>div{display:flex;flex:1;min-width:0;flex-direction:column}
.research-card .faculty-tags{margin-top:22px}
.research-card .research-context{margin-top:auto;padding-top:20px}
.research-card h3,.research-card p,.research-card summary{overflow-wrap:anywhere}
.hero-grid{
    position:absolute;inset:0;z-index:-2;opacity:.24;
    background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:52px 52px;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 52%,#000 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 52%,#000 100%);
}
.hero-orbit{position:absolute;border:1px solid rgba(114,231,215,.3);border-radius:50%;z-index:-1}
.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#74e6d3;box-shadow:0 0 24px #74e6d3}
.hero-orbit--one{width:520px;height:520px;right:-120px;top:-180px;transform:rotate(18deg)}
.hero-orbit--one::before{left:58px;bottom:70px}.hero-orbit--one::after{right:45px;top:110px}
.hero-orbit--two{width:300px;height:300px;right:14%;bottom:-190px}
.hero-orbit--two::before{left:20px;top:85px}.hero-orbit--two::after{right:18px;bottom:65px}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:70px;align-items:center}
.hero--diai h1{max-width:860px;margin:18px 0 28px;font-size:clamp(48px,7vw,88px);letter-spacing:-.065em;line-height:.98}
.hero--diai h1 span{color:#74e6d3}
.hero--diai .hero-lead{max-width:780px;margin-bottom:32px;color:#c7d5df;font-size:clamp(18px,2vw,22px);line-height:1.7}
.hero--diai .eyebrow,.section-ink .eyebrow{color:#74e6d3}
.button-secondary--dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.button-secondary--dark:hover{background:rgba(255,255,255,.1)}
.hero-caveat{max-width:670px;margin-top:22px;color:#8da7b8;font-size:13px}
.schedule-panel{padding:32px;background:rgba(6,20,34,.74);border:1px solid rgba(255,255,255,.16);border-radius:28px;box-shadow:0 28px 80px rgba(0,0,0,.3);backdrop-filter:blur(18px)}
.schedule-panel h2{font-size:28px;line-height:1.2;margin:7px 0 22px}
.schedule-kicker{color:#74e6d3;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.schedule-row{display:flex;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid rgba(255,255,255,.12)}
.schedule-row strong{color:#fff}.schedule-row span{color:#afc0cc;text-align:right}
.schedule-row--accent strong{color:#74e6d3}
.schedule-note{display:grid;gap:5px;margin-top:10px;padding:17px;border-radius:14px;background:rgba(116,230,211,.1)}
.schedule-note span{font-size:13px;color:#b8cad4}
.proof-strip{background:#fff;border-bottom:1px solid var(--color-border)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid div{padding:26px 22px;border-right:1px solid var(--color-border)}
.proof-grid div:last-child{border:0}.proof-grid strong{display:block;font-size:25px;color:#0b2947}.proof-grid span{color:var(--color-text-muted);font-size:13px}
.section-header--left{text-align:left;margin-left:0;max-width:900px}
.section-header--left h2{font-size:clamp(38px,5vw,62px);letter-spacing:-.045em;line-height:1.08}
.pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pathway-card{min-height:620px;padding:30px;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ed;border-radius:22px}
.pathway-number{color:#0f8f83;font-weight:800}.pathway-card h3{font-size:34px;margin:52px 0 15px;color:#0b2947}.pathway-card p{color:var(--color-text-soft)}
.pathway-promise{font-size:19px!important;line-height:1.6;font-weight:650;color:#183c55!important}
.pathway-learn{margin-top:20px;line-height:1.75}
.pathway-evidence{margin-top:24px;padding:17px;background:#edf6f4;border-radius:13px}
.pathway-evidence b,.pathway-evidence span{display:block}.pathway-evidence b{margin-bottom:6px;color:#08796e;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.pathway-evidence span{color:#395f68;font-size:13px;line-height:1.55}
.pathway-card small{margin-top:auto;padding-top:25px;border-top:1px solid var(--color-border);color:#567080}
.credit-bank-section{background:#e9f5f3}
.credit-bank-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}
.credit-bank-intro h2{margin-top:12px;font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-.045em;color:#0b2947}
.credit-bank-intro>div:last-child>p{color:#41616f;font-size:17px}
.credit-bank-caveat{margin-top:18px;padding-left:18px;border-left:3px solid #0f8f83;font-size:13px!important}
.credit-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.credit-paths article{overflow:hidden;border:1px solid #c9ded9;border-radius:20px;background:#fff}
.credit-paths header{display:flex;justify-content:space-between;align-items:center;padding:23px;background:#0b2947;color:#fff}
.credit-paths header span{color:#74e6d3;font-weight:850}.credit-paths header h3{font-size:21px}
.credit-stage{padding:18px 22px;border-top:1px solid #e2eae8}.credit-stage b{display:block;color:#0f766d;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.credit-stage p{margin-top:5px;color:#526d77;font-size:13px}
.credit-bank-rule{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:24px;padding:22px 26px;border:1px solid #9fc7c0;border-radius:16px;background:#dceeea}.credit-bank-rule strong{color:#0b2947}.credit-bank-rule span{max-width:620px;color:#47666e;font-size:13px}
.industry-gap-section{background:#dde5e5}.response-panel{display:grid;grid-template-columns:42px 1fr;gap:0 18px;padding:30px;border:1px solid #b7c5c7;border-radius:22px;background:linear-gradient(145deg,#f5f5f1,#e9eeec);box-shadow:0 18px 44px rgba(7,24,39,.1)}.response-panel span{padding:15px 0;color:#0f8f83;font-weight:850}.response-panel p{padding:15px 0;border-bottom:1px solid #cad5d5;color:#294956}.response-panel p:last-child{border-bottom:0}
.section-ink{background:#071827;color:#eef6fa}.section-ink .section-header p{color:#a7bdc9}.section-ink h2{color:#fff}
.coursework-list{border-top:1px solid rgba(255,255,255,.18)}
.coursework-item{display:grid;grid-template-columns:60px 1fr 150px;gap:28px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:start}
.coursework-item>span{color:#74e6d3;font-weight:800}.coursework-item h3{font-size:26px;margin-bottom:8px;color:#fff}.coursework-item p{color:#b7c7d1;max-width:780px}.coursework-item small{text-align:right;color:#74e6d3}
.split-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.split-feature h2{font-size:clamp(36px,4.5vw,58px);line-height:1.08;margin:14px 0 24px;letter-spacing:-.04em}.split-feature>div>p:last-child{color:var(--color-text-soft)}
.check-list{display:grid;gap:12px}.check-list li{position:relative;padding:22px 22px 22px 56px;background:#fff;border:1px solid var(--color-border);border-radius:16px}.check-list li::before{content:"✓";position:absolute;left:20px;top:20px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dff6f1;color:#08796e;font-weight:900}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.plan-card{padding:42px;border-radius:25px;background:#fff;border:1px solid var(--color-border)}.plan-card--accent{background:#0b2947;color:#fff}.plan-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#0f8f83;font-weight:800}.plan-card--accent .plan-label{color:#74e6d3}.plan-card h3{font-size:34px;margin:14px 0}.plan-card p{color:var(--color-text-soft)}.plan-card--accent p{color:#bfd0da}.plan-card>span{display:block;margin-top:26px;padding-top:20px;border-top:1px solid var(--color-border);font-weight:700}.plan-card--accent>span{border-color:rgba(255,255,255,.18)}
.cta-band{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:52px;border-radius:28px;background:#fff;border:1px solid var(--color-border)}.cta-band h2{max-width:760px;font-size:clamp(30px,4vw,46px);line-height:1.15;margin-top:10px}

/* Curriculum */
.curriculum-hero{padding:100px 0;background:linear-gradient(135deg,#e9f6f4,#edf2fb)}.curriculum-hero h1{max-width:950px;font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-.06em;margin:15px 0 28px;color:#0b2947}.curriculum-hero>div>p:last-child{max-width:820px;font-size:20px;color:#476273}
.section-tight{padding:0}.plan-comparison{display:grid;grid-template-columns:1fr 1fr;margin-top:-34px;position:relative}.plan-comparison article{padding:34px;background:#fff;border:1px solid var(--color-border)}.plan-comparison article:first-child{border-radius:22px 0 0 22px}.plan-comparison article:last-child{border-radius:0 22px 22px 0}.plan-comparison span,.plan-comparison small{display:block;color:var(--color-text-muted)}.plan-comparison strong{display:block;font-size:38px;color:#0b2947;margin:8px 0}.plan-comparison p{font-weight:700}
.course-table{border-top:1px solid #cad5dd}.course-row{display:grid;grid-template-columns:130px 1fr 110px;gap:22px;padding:17px 4px;border-bottom:1px solid #dbe3e9;align-items:center}.course-row b{color:#0f8f83}.course-row small{text-align:right;color:var(--color-text-muted)}
.elective-groups{display:grid;gap:22px}.elective-group{display:grid;grid-template-columns:300px 1fr;gap:42px;padding:34px;background:#fff;border:1px solid var(--color-border);border-radius:20px}.elective-group h3{font-size:26px;color:#0b2947}.elective-group p{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #d7dedd}.elective-group p:last-child{border:0}.elective-group b{color:#0f8f83;font-size:13px}.elective-group span strong,.elective-group span small{display:block}.elective-group span strong{color:#17384c}.elective-group span small{margin-top:4px;color:#687a82;line-height:1.5}
.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}.example-grid article{padding:30px;background:#0a2033}.example-grid small{color:#74e6d3}.example-grid h3{font-size:24px;color:#fff;margin:42px 0 12px}.example-grid p{color:#afc2cd}
.week-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.week-grid article{padding:26px;border-radius:18px;background:#fff;border:1px solid var(--color-border)}.week-grid b,.week-grid strong,.week-grid span{display:block}.week-grid b{color:#0f8f83}.week-grid strong{font-size:24px;margin:20px 0 5px;color:#0b2947}.week-grid span{color:var(--color-text-muted)}.week-grid__main{background:#0b2947!important;color:#fff}.week-grid__main strong{color:#fff}.week-grid__main span{color:#bdd0da}.workload-note{margin-top:18px;padding:28px 32px;border-left:5px solid #0f8f83;background:#eaf5f3}.workload-note h3{margin-bottom:8px}.workload-note p{color:var(--color-text-soft)}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.outcome-grid article{padding:28px;background:#fff;border:1px solid var(--color-border);border-radius:18px}.outcome-grid span{color:#0f8f83;font-weight:800}.outcome-grid h3{font-size:23px;margin:32px 0 10px;color:#0b2947}.outcome-grid p{color:var(--color-text-soft)}

@media(max-width:900px){
    .hero-layout,.split-feature{grid-template-columns:1fr}.hero-layout{gap:42px}.schedule-panel{max-width:620px}
    .pathway-grid,.example-grid,.outcome-grid{grid-template-columns:1fr 1fr}
    .proof-grid{grid-template-columns:1fr 1fr}.proof-grid div:nth-child(2){border-right:0}
    .week-grid{grid-template-columns:1fr 1fr}.elective-group{grid-template-columns:1fr}
}
@media(max-width:650px){
    .pathway-grid,.example-grid,.outcome-grid,.plan-grid,.plan-comparison,.week-grid{grid-template-columns:1fr}
    .plan-comparison article:first-child{border-radius:20px 20px 0 0}.plan-comparison article:last-child{border-radius:0 0 20px 20px}
    .coursework-item{grid-template-columns:40px 1fr}.coursework-item small{grid-column:2;text-align:left}
    .course-row{grid-template-columns:1fr}.course-row small{text-align:left}
    .elective-group{padding:24px}.elective-group p{grid-template-columns:1fr}
    .cta-band{display:block;padding:32px}.cta-band .hero-actions{margin-top:28px}
    .proof-grid div{padding:20px 12px}
}

/* Institutional identity */
.site-header{background:#071827;border-bottom-color:rgba(255,255,255,.12)}
.site-header__inner{min-height:116px}
.institution-lockup{display:flex;align-items:center;gap:16px;min-width:0;padding:14px 0}
.institution-lockup img{display:block;object-fit:contain}
.lockup-kmutt{width:68px;height:68px;object-fit:contain;object-position:center}
.lockup-math{width:62px;height:62px;object-fit:contain;object-position:center}
.lockup-diai-brand{display:flex;align-items:center;gap:14px;min-width:0}
.lockup-diai{width:68px;height:68px;object-fit:contain;object-position:center}
.lockup-diai-name{max-width:245px;color:#fff;font-size:15px;font-weight:720;line-height:1.25;letter-spacing:.01em}
.lockup-divider{width:1px;height:58px;background:rgba(255,255,255,.22)}
.site-header .language-link{color:#9fb6c5}
.site-header .language-link.is-active{color:#74e6d3}
.site-header .language-separator{color:rgba(255,255,255,.25)}

/* About page */
.about-hero{padding:110px 0 90px;color:#fff;background:radial-gradient(circle at 88% 12%,rgba(116,230,211,.2),transparent 28%),#071827}
.about-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.about-hero h1{max-width:850px;margin-top:16px;font-size:clamp(48px,7vw,84px);line-height:.98;letter-spacing:-.06em}
.about-hero .eyebrow{color:#74e6d3}
.about-hero__statement{padding-left:32px;border-left:1px solid rgba(255,255,255,.25)}
.about-hero__statement p{font-size:18px;color:#bdd0da;margin-bottom:18px}
.about-facts{background:#fff;border-bottom:1px solid var(--color-border)}
.about-facts dl{display:grid;grid-template-columns:repeat(4,1fr)}
.about-facts dl div{padding:27px 20px;border-right:1px solid var(--color-border)}
.about-facts dl div:last-child{border:0}
.about-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#718390}
.about-facts dd{margin-top:7px;font-size:17px;font-weight:750;color:#0b2947}
.answer-list{border-top:1px solid #cad5dd}
.answer-list article{display:grid;grid-template-columns:60px minmax(250px,.75fr) 1.25fr;gap:30px;padding:30px 0;border-bottom:1px solid #dbe3e9}
.answer-list article>span{color:#0f8f83;font-weight:800}
.answer-list h3{font-size:23px;color:#0b2947}
.answer-list p{color:var(--color-text-soft)}
.principle-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15)}
.principle-list article{padding:30px;background:#0a2033}
.principle-list small{color:#74e6d3}.principle-list h3{margin:60px 0 12px;font-size:23px;color:#fff}.principle-list p{color:#afc2cd}

/* Admission as process and reference data, not cards */
.application-steps{counter-reset:application;list-style:none;border-top:1px solid #cad5dd}
.application-steps li{display:grid;grid-template-columns:70px minmax(220px,.7fr) 1.3fr;gap:26px;padding:25px 0;border-bottom:1px solid #dbe3e9;align-items:start}
.application-steps span{font-weight:850;color:#0f8f83}
.application-steps h3{font-size:21px;color:#0b2947}
.application-steps p{color:var(--color-text-soft)}
.admission-table{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid #dbe3e9;background:#fff}
.admission-table>section{padding:36px}
.admission-table>section+section{border-left:1px solid #dbe3e9}
.admission-table h3{margin:8px 0 22px;font-size:28px;color:#0b2947}
.admission-table__rows{border-top:1px solid #dbe3e9}
.admission-table__rows p{display:grid;grid-template-columns:45px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #edf1f4}
.admission-table__rows b{color:#0f8f83}

/* Faculty and academic team */
.faculty-group{margin-top:64px}
.faculty-group:first-of-type{margin-top:25px}
.faculty-group__header{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:end;padding-bottom:20px;border-bottom:1px solid #cad5dd;margin-bottom:22px}
.faculty-group__header h3{font-size:clamp(28px,3vw,40px);color:#0b2947}
.faculty-group__header p{max-width:680px;color:var(--color-text-soft)}
.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.faculty-person{overflow:hidden;background:#fff;border:1px solid #dbe3e9;border-radius:20px;transition:transform .2s,box-shadow .2s}
.faculty-person:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,40,80,.1)}
.faculty-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#0b2947,#0d4762)}
.faculty-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.faculty-placeholder{position:absolute;inset:0;display:grid;place-items:end center;background:radial-gradient(circle at 70% 18%,rgba(116,230,211,.24),transparent 28%),linear-gradient(145deg,#0b2947,#0a2033)}
.faculty-placeholder svg{position:absolute;left:50%;bottom:-10%;width:68%;transform:translateX(-50%);fill:rgba(159,182,197,.24);stroke:rgba(116,230,211,.7);stroke-width:3}
.faculty-placeholder span{position:relative;z-index:1;margin-bottom:20px;color:#fff;font-size:13px;font-weight:850;letter-spacing:.18em}
.faculty-person__body{padding:24px}
.faculty-person__body .eyebrow{font-size:10px;letter-spacing:.13em}
.faculty-person__body h4{margin:9px 0 18px;font-size:20px;line-height:1.35;color:#0b2947}
.faculty-tags{display:flex;gap:7px;flex-wrap:wrap}
.faculty-tags span{padding:5px 9px;border-radius:999px;background:#edf5f4;color:#29665f;font-size:11px;font-weight:700}
.faculty-profile-more,.research-context{margin-top:18px;padding-top:15px;border-top:1px solid #cad4d4}.faculty-profile-more summary,.research-context summary{cursor:pointer;color:#0f766d;font-weight:750}.faculty-profile-more p,.research-context p{margin-top:12px;color:#536b74;font-size:13px;line-height:1.65}.faculty-profile-more a,.text-link{display:inline-block;margin-top:12px;color:#0f766d;font-weight:800}.research-context small{display:block;margin-top:10px;color:#74858c;line-height:1.5}
.scholarship-section{background:#dce8e5}.scholarship-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;padding:52px;border:1px solid #aec4c0;border-radius:28px;background:linear-gradient(145deg,#f5f5f0,#e8eeeb);box-shadow:0 22px 54px rgba(7,24,39,.11)}.scholarship-panel h2{margin:12px 0 18px;font-size:clamp(34px,4.5vw,55px);line-height:1.08;color:#0b2947}.scholarship-benefits{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.scholarship-benefits strong{padding:11px 15px;border-radius:999px;background:#d4e9e4;color:#17665e}.scholarship-actions{padding-left:32px;border-left:1px solid #b8c8c6}.scholarship-actions p{margin-bottom:20px;color:#4f676f}.scholarship-actions .text-link{display:block}
.faq-list{border-top:1px solid #b9c5c7}.faq-list details{padding:22px 4px;border-bottom:1px solid #c7d0d1}.faq-list summary{cursor:pointer;font-size:19px;font-weight:750;color:#0b2947}.faq-list p{max-width:850px;margin-top:13px;color:#516871}
.inquiry-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.inquiry-routes a{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:22px;border:1px solid #c4d0d1;border-radius:16px;background:#eef1ee}.inquiry-routes strong,.inquiry-routes span{display:block}.inquiry-routes strong{color:#0b2947}.inquiry-routes span{font-size:13px;color:#61747b}.inquiry-routes b{grid-column:2;grid-row:1/3;color:#0f8f83;align-self:center}.map-panel{overflow:hidden;border:1px solid #bac7c9;border-radius:22px;background:#eef1ee;box-shadow:0 18px 42px rgba(7,24,39,.09)}.map-panel iframe{display:block;width:100%;height:430px;border:0;filter:saturate(.78) contrast(.96)}.map-panel>div{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 26px}.map-panel p{color:#50676f}
.info-list{margin-top:24px;border-top:1px solid #cbd5d6}.info-item{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid #d3dbdc}.info-item strong{color:#0b2947}.info-item p{min-width:0;margin:0;overflow-wrap:anywhere}.info-item a{color:#0f766d;font-weight:750}.info-item small{color:#6a7d84}.button-group{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:800}.btn.primary{background:#0b2947;color:#fff}.btn.secondary{border:1px solid #aebdc1;background:#eef1ee;color:#0b2947}

/* Softer surfaces and clearer card hierarchy */
.proof-strip,
.about-facts{
    background:#e7ebea;
}

.card,
.pathway-card,
.credit-paths article,
.check-list li,
.plan-card,
.cta-band,
.plan-comparison article,
.elective-group,
.week-grid article,
.outcome-grid article,
.admission-table,
.faculty-person{
    background:linear-gradient(145deg,#faf9f5 0%,#f1f3f1 100%);
    border-color:#c6d0d2;
    box-shadow:
        0 2px 4px rgba(7,24,39,.05),
        0 14px 34px rgba(7,24,39,.08);
}

.pathway-card,
.plan-card,
.elective-group,
.outcome-grid article,
.faculty-person{
    border-top-color:#aebdc1;
}

.card:hover,
.pathway-card:hover,
.plan-card:hover,
.elective-group:hover,
.outcome-grid article:hover,
.faculty-person:hover{
    transform:translateY(-3px);
    border-color:#9eafb3;
    box-shadow:
        0 4px 8px rgba(7,24,39,.06),
        0 20px 44px rgba(7,24,39,.12);
}

.pathway-card,
.plan-card,
.elective-group,
.outcome-grid article,
.faculty-person{
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

@media(max-width:900px){
    .institution-lockup{gap:16px}.lockup-kmutt,.lockup-math,.lockup-diai{width:62px;height:62px}
    .lockup-diai-name{max-width:180px;font-size:13px}
    .about-hero__grid{grid-template-columns:1fr}.about-hero__statement{max-width:750px}
    .principle-list{grid-template-columns:1fr 1fr}
    .admission-table{grid-template-columns:1fr}.admission-table>section+section{border-left:0;border-top:1px solid #dbe3e9}
    .faculty-grid{grid-template-columns:1fr 1fr}
    .credit-bank-intro{grid-template-columns:1fr;gap:25px}.credit-paths{grid-template-columns:1fr}
    .scholarship-panel{grid-template-columns:1fr;gap:28px}.scholarship-actions{padding:24px 0 0;border-left:0;border-top:1px solid #b8c8c6}.inquiry-routes{grid-template-columns:1fr}.credit-bank-rule{align-items:flex-start;flex-direction:column}
    .card-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .site-header__inner{align-items:stretch}
    .institution-lockup{display:flex;gap:12px;padding:8px 0}
    .lockup-kmutt,.lockup-math,.lockup-diai{width:54px;height:54px}
    .lockup-diai-brand{gap:9px}.lockup-diai-name{max-width:125px;font-size:11px;line-height:1.2}
    .lockup-divider{display:none}
    .scholarship-panel{padding:28px}.map-panel iframe{height:330px}.map-panel>div{align-items:flex-start;flex-direction:column}
    .card-grid,.card-grid--two,.card-grid--three,.card-grid--four{grid-template-columns:minmax(0,1fr)!important;gap:16px}
    .card{padding:24px;border-radius:17px}.card h3{font-size:23px}.card p{font-size:15px;line-height:1.72}
    .research-card .research-context{margin-top:20px}.research-context summary{line-height:1.45}
    .info-item{grid-template-columns:1fr;gap:5px;padding:14px 0}.inquiry-routes a{padding:18px}.map-panel>div{padding:19px}.map-panel .button{width:100%;text-align:center}.button-group{align-items:stretch;flex-direction:column}.button-group .btn{width:100%}
    .about-facts dl{grid-template-columns:1fr 1fr}.about-facts dl div:nth-child(2){border-right:0}
    .answer-list article,.application-steps li{grid-template-columns:44px 1fr}
    .answer-list article p,.application-steps li p{grid-column:2}
    .principle-list{grid-template-columns:1fr}
    .admission-table>section{padding:25px}
    .faculty-group__header{grid-template-columns:1fr;gap:8px}.faculty-grid{grid-template-columns:1fr}
}
