/*
 * PNU IE Program Page
 * ตัวเลือกทั้งหมดอยู่ภายใน .ie-page เพื่อไม่ให้ชนกับ CSS ของธีม
 * สีหลักปรับได้ที่ตัวแปร --ie-red, --ie-orange ฯลฯ ในกฎ .ie-page ด้านล่างของส่วน @font-face
 * ฟอนต์ Anuphan / Archivo / IBM Plex Sans Thai โหลดจากโฟลเดอร์ assets/fonts ในปลั๊กอินเอง
 */
@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anuphan-400-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anuphan-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anuphan-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anuphan-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/anuphan-500-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/anuphan-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/anuphan-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/anuphan-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/anuphan-600-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/anuphan-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/anuphan-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/anuphan-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/anuphan-700-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/anuphan-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/anuphan-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Anuphan';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/anuphan-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm plex sans thai-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm plex sans thai-400-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm plex sans thai-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm plex sans thai-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm plex sans thai-500-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm plex sans thai-500-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm plex sans thai-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm plex sans thai-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm plex sans thai-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm plex sans thai-600-thai.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm plex sans thai-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Thai';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm plex sans thai-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

html {scroll-behavior: smooth; scroll-padding-top: 76px;}
body.ie-canvas {margin: 0; background: #fff;}
body.ie-lock {overflow: hidden;}
body.admin-bar .ie-header {top: 32px;}
@media (max-width: 782px){
body.admin-bar .ie-header {top: 46px;}
}
.ie-page {--ie-red: #8C1D1F; --ie-orange: #E8511F; --ie-ink: #17181A; --ie-cream: #F6F2EE; --ie-line: #E8E2DB; --ie-th: Anuphan, "IBM Plex Sans Thai", "Noto Sans Thai", sans-serif; --ie-en: Archivo, "Anuphan", sans-serif; font-family: "IBM Plex Sans Thai", "Noto Sans Thai", Anuphan, sans-serif; color: var(--ie-ink); line-height: normal; -webkit-font-smoothing: antialiased; max-width: 100%; overflow-x: hidden; overflow-x: clip; text-align: left;}
.ie-page *, .ie-page *::before, .ie-page *::after {box-sizing: border-box;}
.ie-page h1, .ie-page h2, .ie-page h3, .ie-page h4, .ie-page p, .ie-page ul, .ie-page ol, .ie-page li, .ie-page figure, .ie-page dl, .ie-page dd, .ie-page dt {margin: 0; padding: 0;}
.ie-page ul, .ie-page ol {list-style: none;}
.ie-page img {display: block; max-width: 100%;}
:where(.ie-page) a {color: var(--ie-red); text-decoration: none;}
:where(.ie-page) a:hover {color: var(--ie-orange);}
.ie-page button {font-family: inherit;}
.ie-page :focus-visible {outline: 2px solid var(--ie-orange); outline-offset: 2px;}
@keyframes ieRise{from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; }}
@keyframes ieFade{from { opacity: 0; } to { opacity: 1; }}
.ie-page .ie-sec {padding: clamp(56px, 7vw, 96px) 24px;}
.ie-page .ie-sec--cream {background: var(--ie-cream);}
.ie-page .ie-sec--white {background: #fff;}
.ie-page .ie-sec--dark {background: var(--ie-ink); color: #fff;}
.ie-page .ie-sec--red {background: var(--ie-red); color: #fff;}
.ie-page .ie-sec--contact {padding: clamp(56px, 7vw, 88px) 24px 0;}
.ie-page .ie-wrap {max-width: 1200px; margin: 0 auto;}
.ie-page .ie-eyebrow {font-family: var(--ie-en); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ie-red); margin-bottom: 14px;}
.ie-page .ie-eyebrow--light {color: #F0A88C;}
.ie-page .ie-eyebrow--pink {color: #F0B3A0;}
.ie-page .ie-eyebrow--hero {display: flex; align-items: center; gap: 10px; color: #F0A88C; margin-bottom: 22px;}
.ie-page .ie-eyebrow__dash {width: 26px; height: 2px; background: var(--ie-orange); display: inline-block;}
.ie-page .ie-h2 {font-family: var(--ie-th); font-weight: 700; font-size: clamp(26px, 3.4vw, 42px); line-height: 1.18; letter-spacing: -.015em;}
.ie-page .ie-h2--about {max-width: 22ch; text-wrap: balance;}
.ie-page .ie-h2--career {max-width: 18ch; text-wrap: balance;}
.ie-page .ie-h2--contact {font-size: clamp(24px, 3vw, 34px); line-height: 1.2;}
.ie-page .ie-accent {color: var(--ie-orange);}
.ie-page .ie-strong {color: #fff; font-weight: 600;}
.ie-page .ie-muted {color: #8A8178; font-weight: 500;}
.ie-page .ie-split {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(32px, 4vw, 64px); align-items: start;}
.ie-page .ie-split--career {grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(32px, 4vw, 56px);}
.ie-page .ie-split--contact {grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(32px, 4vw, 56px);}
.ie-page .ie-head {display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: 40px;}
.ie-page .ie-head--tight {margin-bottom: 36px;}
.ie-page .ie-head--plain {gap: 24px; margin-bottom: 0;}
.ie-page .ie-head__intro {font-size: 16px; line-height: 1.7; color: #5B554E; max-width: 42ch;}
.ie-page .ie-actions {display: flex; gap: 12px; flex-wrap: wrap;}
.ie-page .ie-btn {display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; font-weight: 600; transition: background .2s, color .2s, border-color .2s;}
.ie-page .ie-btn--solid {background: var(--ie-orange); color: #fff; font-size: 16px; padding: 15px 28px;}
.ie-page .ie-btn--solid:hover {background: #fff; color: var(--ie-ink);}
.ie-page .ie-btn--ghost {border: 1.5px solid rgba(255, 255, 255, .4); color: #fff; font-weight: 500; font-size: 16px; padding: 14px 26px;}
.ie-page .ie-btn--ghost:hover {border-color: #fff; background: rgba(255, 255, 255, .1); color: #fff;}
.ie-page .ie-btn--red {background: var(--ie-red); color: #fff; font-size: 15px; padding: 14px 24px;}
.ie-page .ie-btn--red:hover {background: var(--ie-orange); color: #fff;}
.ie-page .ie-btn--outline {border: 1.5px solid var(--ie-line); color: #4A443E; font-weight: 500; font-size: 15px; padding: 13px 22px;}
.ie-page .ie-btn--outline:hover {border-color: var(--ie-red); color: var(--ie-red);}
.ie-page .ie-btn--white {background: #fff; color: var(--ie-red); font-weight: 700; font-size: 16px; padding: 16px 30px;}
.ie-page .ie-btn--white:hover {background: var(--ie-ink); color: #fff;}
.ie-page .ie-arrow-glyph {font-family: var(--ie-en);}
.ie-page .ie-header {position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}
.ie-page--embedded .ie-header {position: static;}
.ie-page .ie-header__inner {max-width: 1200px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap;}
.ie-page .ie-brand {display: flex; align-items: center; gap: 12px; min-width: 0; color: inherit;}
.ie-page .ie-brand:hover .ie-brand__name {color: var(--ie-red);}
.ie-page .ie-brand__name {transition: color .2s;}
.ie-page .ie-brand__mark {width: 36px; height: 36px; border-radius: 9px; background: var(--ie-red); color: #fff; display: grid; place-items: center; font-family: var(--ie-en); font-weight: 700; font-size: 15px; letter-spacing: -.02em; flex: none;}
.ie-page .ie-brand__text {min-width: 0;}
.ie-page .ie-brand__name {font-family: var(--ie-th); font-weight: 600; font-size: 15px; line-height: 1.2;}
.ie-page .ie-brand__sub {font-family: var(--ie-en); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #8A8178; line-height: 1.3;}
.ie-page .ie-nav {display: flex; gap: 4px; flex-wrap: wrap; margin-left: auto; align-items: center;}
.ie-page .ie-nav a {font-size: 14px; padding: 8px 12px; border-radius: 8px; color: #4A443E; font-weight: 500; transition: background .2s, color .2s;}
.ie-page .ie-nav a:hover {background: var(--ie-cream); color: var(--ie-red);}
.ie-page .ie-home {display: inline-flex; align-items: center; gap: 9px; color: var(--ie-ink); font-size: 15px; font-weight: 600; line-height: 1.2; transition: color .2s;}
.ie-page .ie-home:hover {color: var(--ie-red);}
.ie-page .ie-home svg {flex: none;}
.ie-page .ie-nav a.ie-brand {padding: 0; border-radius: 0; color: inherit; font-weight: inherit;}
.ie-page .ie-nav a.ie-brand:hover {background: none; color: inherit;}
.ie-page .ie-nav__ico {display: inline-flex; align-items: center; flex: none;}
.ie-page .ie-nav__ico img {height: 20px; width: auto; max-width: 36px; object-fit: contain;}
.ie-page .ie-nav__ico--dark {background: var(--ie-red); border-radius: 6px; padding: 4px 5px;}
.ie-page .ie-nav__sep {width: 1px; height: 20px; background: var(--ie-line); margin: 0 6px 0 2px;}
@media (max-width: 640px){
.ie-page .ie-nav__sep {display: none;}
.ie-page .ie-header__inner {gap: 8px 24px; padding-top: 10px; padding-bottom: 10px;}
.ie-page .ie-nav a.ie-brand {width: 100%;}
.ie-page .ie-nav a.ie-brand .ie-brand__sub {display: none;}
}
@media (min-width: 641px){
.ie-page .ie-nav a {padding-left: 10px; padding-right: 10px;}
.ie-page .ie-nav a.ie-nav__cta {padding-left: 18px; padding-right: 18px;}
}
.ie-page .ie-nav a.ie-nav__cta {font-weight: 600; padding: 9px 18px; border-radius: 999px; background: var(--ie-orange); color: #fff; margin-left: 6px;}
.ie-page .ie-nav a.ie-nav__cta:hover {background: #C63F12; color: #fff;}
.ie-page .ie-hero {position: relative; color: #fff; overflow: hidden; background: radial-gradient(ellipse 60% 80% at 85% 20%, rgba(232, 81, 31, .28), transparent 70%), radial-gradient(ellipse 50% 70% at 10% 100%, rgba(140, 29, 31, .45), transparent 70%), #17181A;}
.ie-page .ie-hero__bg {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .34; background: #2A2B2E; color: transparent;}
.ie-page .ie-hero__shade {position: absolute; inset: 0; background: linear-gradient(100deg, #17181A 8%, rgba(23, 24, 26, .86) 48%, rgba(23, 24, 26, .35) 100%);}
.ie-page .ie-hero__inner {position: relative; max-width: 1200px; margin: 0 auto; padding: clamp(56px, 8vw, 104px) 24px clamp(40px, 5vw, 64px);}
.ie-page .ie-hero__title {font-family: var(--ie-th); font-weight: 700; font-size: clamp(34px, 5.6vw, 66px); line-height: 1.1; letter-spacing: -.02em; max-width: 19ch; text-wrap: balance; animation: ieRise .6s ease both;}
.ie-page .ie-hero__lead {margin-top: 22px; font-size: clamp(16px, 1.7vw, 21px); line-height: 1.65; max-width: 52ch; color: #E6E1DA;}
.ie-page .ie-hero__actions {display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px;}
.ie-page .ie-facts {display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; margin-top: clamp(40px, 6vw, 64px); background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .16); border-radius: 16px; overflow: hidden;}
.ie-page .ie-facts li {background: #1F2023; padding: 20px 22px;}
.ie-page .ie-facts__value {font-family: var(--ie-en); font-weight: 700; font-size: clamp(24px, 3vw, 32px); line-height: 1; color: #fff;}
.ie-page .ie-facts__label {font-size: 13.5px; color: #B4ADA5; margin-top: 8px; line-height: 1.4;}
.ie-page .ie-about__body {margin-top: 20px; font-size: 17px; line-height: 1.75; color: #4A443E; max-width: 48ch;}
.ie-page .ie-degree {margin-top: 28px; background: #fff; border: 1px solid var(--ie-line); border-radius: 16px; padding: 24px;}
.ie-page .ie-degree__title {font-family: var(--ie-th); font-weight: 600; font-size: 15px; color: var(--ie-red); margin-bottom: 14px;}
.ie-page .ie-degree dl {display: grid; gap: 12px; margin: 0; font-size: 15px; line-height: 1.55;}
.ie-page .ie-degree__row {display: grid; grid-template-columns: minmax(0, 88px) 1fr; gap: 12px;}
.ie-page .ie-degree__row + .ie-degree__row {border-top: 1px solid #F0EBE5; padding-top: 12px;}
.ie-page .ie-degree dt {color: #8A8178; font-size: 13px; padding-top: 2px;}
.ie-page .ie-degree dd {margin: 0; font-weight: 500;}
.ie-page .ie-degree__en {font-family: var(--ie-en);}
.ie-page .ie-degree__short {color: #6B655E; font-weight: 400;}
.ie-page .ie-degree__en .ie-degree__short {font-weight: 500;}
.ie-page .ie-cards {display: grid; gap: 14px;}
.ie-page .ie-card {background: #fff; border: 1px solid var(--ie-line); border-radius: 18px; padding: 26px 28px; display: flex; gap: 20px; align-items: flex-start; transition: border-color .2s, transform .2s;}
.ie-page .ie-card:hover {border-color: var(--ie-orange); transform: translateY(-2px);}
.ie-page .ie-card__num {font-family: var(--ie-en); font-weight: 700; font-size: 13px; color: var(--ie-orange); padding-top: 5px; flex: none;}
.ie-page .ie-card h3 {font-family: var(--ie-th); font-weight: 600; font-size: 21px; line-height: 1.3;}
.ie-page .ie-card p {margin-top: 8px; font-size: 15.5px; line-height: 1.65; color: #5B554E;}
.ie-page .ie-topics {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1px; background: var(--ie-line); border: 1px solid var(--ie-line); border-radius: 20px; overflow: hidden;}
.ie-page .ie-topic {background: #fff; padding: 30px 28px 32px; transition: background .2s;}
.ie-page .ie-topic:hover {background: #FDF8F4;}
.ie-page .ie-topic__no {font-family: var(--ie-en); font-size: 11px; letter-spacing: .14em; color: #B0A79E;}
.ie-page .ie-topic h3 {font-family: var(--ie-th); font-weight: 600; font-size: 19.5px; line-height: 1.35; margin-top: 14px;}
.ie-page .ie-topic__bar {width: 28px; height: 2px; background: var(--ie-orange); margin: 14px 0;}
.ie-page .ie-topic p {font-size: 15px; line-height: 1.6; color: #5B554E;}
.ie-page .ie-topic .ie-topic__en {font-family: var(--ie-en); font-size: 12.5px; letter-spacing: .04em; color: #9A9189; margin-top: 12px;}
.ie-page .ie-career__body {margin-top: 20px; font-size: 16.5px; line-height: 1.75; color: #B4ADA5; max-width: 46ch;}
.ie-page .ie-roles {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px;}
.ie-page .ie-role {border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; padding: 16px 18px; font-size: 15.5px; font-weight: 500; display: flex; gap: 12px; align-items: center; background: #1F2023; transition: border-color .2s, background .2s;}
.ie-page .ie-role::before {content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ie-orange); flex: none;}
.ie-page .ie-role:hover {border-color: var(--ie-orange); background: #26282B;}
.ie-page .ie-alumni {margin-top: clamp(48px, 6vw, 80px);}
.ie-page .ie-alumni__head {display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 28px;}
.ie-page .ie-alumni__head h3 {font-family: var(--ie-th); font-weight: 600; font-size: clamp(22px, 2.4vw, 28px);}
.ie-page .ie-alumni__head span {font-family: var(--ie-en); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #8A8178;}
.ie-page .ie-alumni__grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px;}
.ie-page .ie-person {background: #1F2023; border: 1px solid rgba(255, 255, 255, .12); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column;}
.ie-page .ie-person__photo {all: unset; display: block; cursor: pointer; aspect-ratio: 4 / 3; background: #2C2E31; position: relative; overflow: hidden;}
.ie-page .ie-person__photo:hover {outline: 2px solid var(--ie-orange); outline-offset: -2px;}
.ie-page .ie-person__photo:focus-visible {outline: 2px solid var(--ie-orange); outline-offset: -2px;}
.ie-page .ie-person__photo img {width: 100%; height: 100%; object-fit: cover; object-position: center 22%;}
.ie-page .ie-badge {position: absolute; left: 12px; top: 12px; background: #FFD400; color: var(--ie-ink); font-weight: 600; font-size: 12px; padding: 4px 10px; border-radius: 6px;}
.ie-page .ie-badge--lg {left: 16px; top: 16px; font-size: 12.5px; padding: 5px 12px;}
.ie-page .ie-badge:empty {display: none;}
.ie-page .ie-more {position: absolute; right: 12px; bottom: 12px; background: rgba(23, 24, 26, .72); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); color: #fff; font-size: 12px; font-weight: 500; padding: 6px 12px; border-radius: 999px; display: flex; align-items: center; gap: 6px;}
.ie-page .ie-person__body {padding: 18px 20px 22px;}
.ie-page .ie-person__name {font-family: var(--ie-th); font-weight: 600; font-size: 16.5px; line-height: 1.35;}
.ie-page .ie-person__role {font-size: 14px; color: #E8916B; margin-top: 6px; line-height: 1.45;}
.ie-page .ie-person__org {font-size: 13px; color: #8A8178; margin-top: 4px; line-height: 1.45;}
.ie-page .ie-modal {position: fixed; inset: 0; z-index: 100000; background: rgba(10, 10, 11, .82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: grid; place-items: center; padding: 20px; animation: ieFade .2s ease both;}
.ie-page .ie-modal[hidden] {display: none;}
.ie-page .ie-modal--photo {background: rgba(10, 10, 11, .86); padding: 24px;}
.ie-page .ie-modal__dialog {background: #1F2023; border: 1px solid rgba(255, 255, 255, .16); border-radius: 22px; max-width: 760px; width: 100%; max-height: 88vh; overflow: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); color: #fff; animation: ieRise .28s cubic-bezier(.2, .8, .2, 1) both;}
.ie-page .ie-modal__media {background: #2C2E31; min-height: 280px; position: relative;}
.ie-page .ie-modal__media img {width: 100%; height: 100%; min-height: 280px; object-fit: cover; object-position: center 20%;}
.ie-page .ie-modal__body {padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px;}
.ie-page .ie-modal__top {display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;}
.ie-page .ie-modal__tag {font-family: var(--ie-en); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: #F0A88C; padding-top: 6px;}
.ie-page .ie-close {all: unset; cursor: pointer; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; display: grid; place-items: center; font-size: 17px; flex: none; transition: background .2s;}
.ie-page .ie-close:hover {background: var(--ie-orange);}
.ie-page .ie-close:focus-visible {outline: 2px solid #fff; outline-offset: 2px;}
.ie-page .ie-modal__body h4 {font-family: var(--ie-th); font-weight: 700; font-size: clamp(21px, 2.4vw, 27px); line-height: 1.25; color: #fff;}
.ie-page .ie-modal__role {font-size: 16px; font-weight: 600; color: #E8916B; line-height: 1.45;}
.ie-page .ie-modal__org {font-size: 14.5px; color: #B4ADA5; margin-top: 4px; line-height: 1.5;}
.ie-page .ie-modal__org:empty {display: none;}
.ie-page .ie-modal__quote {font-size: 15.5px; line-height: 1.75; color: #CFC9C2; border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 16px; margin-top: 2px; white-space: pre-line;}
.ie-page .ie-modal__quote:empty {display: none;}
.ie-page .ie-lightbox {max-width: min(900px, 92vw); max-height: 88vh; display: flex; flex-direction: column; gap: 12px; color: #fff; animation: ieRise .28s cubic-bezier(.2, .8, .2, 1) both;}
.ie-page .ie-lightbox img {max-width: 100%; max-height: 78vh; border-radius: 12px; display: block; margin: 0 auto;}
.ie-page .ie-lightbox__bar {display: flex; justify-content: space-between; align-items: center; gap: 16px;}
.ie-page .ie-lightbox__bar span {font-size: 15px;}
.ie-page .ie-lightbox .ie-close {background: rgba(255, 255, 255, .14);}
.ie-page .ie-blocks {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px;}
.ie-page .ie-block {border: 1px solid var(--ie-line); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column;}
.ie-page .ie-block__head {background: var(--ie-cream); padding: 22px 24px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 1px solid var(--ie-line);}
.ie-page .ie-block__no {font-family: var(--ie-en); font-size: 11px; letter-spacing: .14em; color: #A0968C;}
.ie-page .ie-block__head h3 {font-family: var(--ie-th); font-weight: 600; font-size: 19px; line-height: 1.3; margin-top: 8px;}
.ie-page .ie-block__credits {text-align: right; flex: none;}
.ie-page .ie-block__credits strong {display: block; font-family: var(--ie-en); font-weight: 700; font-size: 30px; line-height: 1; color: var(--ie-red);}
.ie-page .ie-block__credits div {font-size: 12px; color: #8A8178; margin-top: 4px;}
.ie-page .ie-block__rows {padding: 8px 24px 22px; display: grid;}
.ie-page .ie-block__rows li {display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid #F2EDE7; font-size: 15px; line-height: 1.5;}
.ie-page .ie-block__rows li > span:first-child {color: #4A443E;}
.ie-page .ie-block__n {font-family: var(--ie-en); font-weight: 600; color: var(--ie-ink); flex: none;}
.ie-page .ie-total {margin-top: 24px; background: var(--ie-ink); color: #fff; border-radius: 20px; padding: clamp(24px, 3vw, 36px); display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;}
.ie-page .ie-total__title {font-family: var(--ie-th); font-weight: 600; font-size: clamp(19px, 2.2vw, 24px);}
.ie-page .ie-total__note {font-size: 14.5px; color: #B4ADA5; margin-top: 6px;}
.ie-page .ie-total__num {display: flex; align-items: baseline; gap: 10px;}
.ie-page .ie-total__num strong {font-family: var(--ie-en); font-weight: 700; font-size: clamp(42px, 6vw, 60px); line-height: 1; color: var(--ie-orange);}
.ie-page .ie-total__num span {font-size: 16px; color: #B4ADA5;}
.ie-page .ie-labs {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; margin-top: 36px;}
.ie-page .ie-lab {background: #fff; border: 1px solid var(--ie-line); border-radius: 16px; padding: 24px; display: flex; gap: 16px; align-items: flex-start; transition: border-color .2s;}
.ie-page .ie-lab:hover {border-color: var(--ie-orange);}
.ie-page .ie-lab__no {font-family: var(--ie-en); font-weight: 700; font-size: 13px; color: #fff; background: var(--ie-red); width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; flex: none;}
.ie-page .ie-lab__en {font-family: var(--ie-en); font-weight: 600; font-size: 16px; line-height: 1.35; letter-spacing: -.01em;}
.ie-page .ie-lab__th {font-size: 14px; color: #6B655E; margin-top: 6px; line-height: 1.45;}
.ie-page .ie-arrows {display: flex; gap: 10px;}
.ie-page .ie-arrow {all: unset; cursor: pointer; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid #D9D1C8; display: grid; place-items: center; font-size: 18px; color: var(--ie-ink); transition: background .2s, border-color .2s, color .2s;}
.ie-page .ie-arrow:hover {background: var(--ie-red); border-color: var(--ie-red); color: #fff;}
.ie-page .ie-arrow:focus-visible {outline: 2px solid var(--ie-orange); outline-offset: 2px;}
.ie-page .ie-slider {display: flex; gap: 14px; margin-top: 32px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 2px;}
.ie-page .ie-slider::-webkit-scrollbar {display: none;}
.ie-page .ie-slide {flex: none; width: min(82vw, 420px); scroll-snap-align: start; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: var(--ie-cream);}
.ie-page .ie-slide__btn {all: unset; display: block; width: 100%; height: 100%; cursor: pointer; transition: opacity .2s;}
.ie-page .ie-slide__btn:hover {opacity: .9;}
.ie-page .ie-slide__btn:focus-visible {outline: 2px solid var(--ie-orange); outline-offset: -2px;}
.ie-page .ie-slide__btn img {width: 100%; height: 100%; object-fit: cover;}
.ie-page .ie-news__intro {margin-top: 14px; font-size: 16px; line-height: 1.7; color: #5B554E; max-width: 46ch;}
.ie-page .ie-link-more {font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 8px;}
.ie-page .ie-news {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 20px;}
.ie-page .ie-news-card {border: 1px solid var(--ie-line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s;}
.ie-page .ie-news-card:hover {border-color: var(--ie-red); box-shadow: 0 10px 30px rgba(23, 24, 26, .08);}
.ie-page .ie-news-card__img {display: block; aspect-ratio: 16 / 10; background: var(--ie-cream); overflow: hidden;}
.ie-page .ie-news-card__img img {width: 100%; height: 100%; object-fit: cover;}
.ie-page .ie-news-card__body {padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1;}
.ie-page .ie-news-card__date {font-family: var(--ie-en); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #A0968C;}
.ie-page .ie-news-card .ie-news-card__title {font-family: var(--ie-th); font-weight: 600; font-size: 17px; line-height: 1.4; color: var(--ie-ink);}
.ie-page .ie-news-card .ie-news-card__title:hover {color: var(--ie-red);}
.ie-page .ie-fee {background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); border-radius: 16px; padding: 20px 24px;}
.ie-page .ie-fee__label {font-size: 13.5px; color: #F0D6D0;}
.ie-page .ie-fee__row {display: flex; align-items: baseline; gap: 8px; margin-top: 4px; font-size: 15px;}
.ie-page .ie-fee__amount {font-family: var(--ie-en); font-weight: 700; font-size: 34px; line-height: 1;}
.ie-page .ie-rounds {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px;}
.ie-page .ie-round {position: relative; background: #fff; color: var(--ie-ink); border-radius: 16px; padding: 22px 24px; transition: transform .2s;}
.ie-page .ie-round:hover {transform: translateY(-3px);}
.ie-page .ie-round.is-closed {opacity: .62;}
.ie-page .ie-round__flag {display: none; background: var(--ie-ink); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; align-items: center; gap: 5px; margin-bottom: 12px; width: fit-content;}
.ie-page .ie-round.is-closed .ie-round__flag {display: flex;}
.ie-page .ie-round.is-closed .ie-round__name, .ie-page .ie-round.is-closed .ie-round__dates {text-decoration: line-through;}
.ie-page .ie-round__name {font-family: var(--ie-en); font-weight: 700; font-size: 13.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--ie-red);}
.ie-page .ie-round__bar {width: 24px; height: 2px; background: var(--ie-orange); margin: 12px 0;}
.ie-page .ie-round__dates {font-size: 15.5px; font-weight: 500; line-height: 1.5;}
.ie-page .ie-adm-foot {margin-top: 36px; display: flex; gap: 14px; flex-wrap: wrap; align-items: center;}
.ie-page .ie-adm-foot__note {font-size: 14.5px; color: #F0D6D0;}
.ie-page .ie-contact__addr {margin-top: 16px; font-size: 16px; line-height: 1.75; color: #B4ADA5; max-width: 40ch;}
.ie-page .ie-contact__list {display: grid; gap: 12px; margin-top: 24px; font-size: 15.5px;}
.ie-page .ie-contact__list li {display: flex; gap: 12px;}
.ie-page .ie-contact__list li > span {color: #8A8178; min-width: 56px;}
.ie-page .ie-contact__list a, .ie-page .ie-contact__list b {color: #fff; font-weight: 500;}
.ie-page .ie-contact__list a:hover {color: #E8916B;}
.ie-page .ie-map {border: 1px solid rgba(255, 255, 255, .16); border-radius: 20px; overflow: hidden; min-height: 300px;}
.ie-page .ie-map iframe {width: 100%; height: 100%; min-height: 300px; border: 0; display: block; filter: grayscale(.25);}
.ie-page .ie-footbar {max-width: 1200px; margin: clamp(48px, 6vw, 72px) auto 0; border-top: 1px solid rgba(255, 255, 255, .14); padding: 28px 0 40px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 13.5px; color: #8A8178;}
.ie-page .ie-footbar__tag {font-family: var(--ie-en); letter-spacing: .08em; text-transform: uppercase;}
@media (prefers-reduced-motion: reduce){
html {scroll-behavior: auto;}
.ie-page .ie-hero__title, .ie-page .ie-modal, .ie-page .ie-modal__dialog, .ie-page .ie-lightbox {animation: none;}
.ie-page .ie-slider {scroll-behavior: auto;}
}
