.header #navigation{gap:16px}.header .brand{width:225px}.header #navigation a[href="digital-twin.html"]{max-width:155px}.portal-page{min-height:65vh}.portal-intro{font-size:17px;color:var(--muted);margin-bottom:30px}.news-tabs{display:flex;border-bottom:1px solid var(--line);margin:20px 0 38px;gap:6px;flex-wrap:wrap}.news-tabs a{padding:17px 24px;border-bottom:3px solid transparent;font-size:16px}.news-tabs a[aria-current]{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.portal-controls{display:flex;gap:24px;align-items:center}.portal-filter{display:flex;align-items:center;gap:12px;font-size:13px;white-space:nowrap}.portal-results-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 20px;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.portal-empty{grid-column:1/-1;padding:80px 24px;text-align:center;background:var(--soft);border-top:2px solid #1d374b}.portal-empty>span{font-size:11px;letter-spacing:2px;color:var(--blue)}.portal-empty h2{font-size:24px;margin:20px 0 12px}.portal-empty p{color:var(--muted);line-height:1.8}.news-card{border-bottom:1px solid var(--line);padding:28px 0}.news-card>div{position:relative}.news-card h2{font-size:21px;margin:12px 0}.news-card h2 button,.program-card h2 button{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;line-height:1.6}.news-card p{color:var(--muted);font-size:14px;line-height:1.8}.news-card time{display:block;font-size:12px;color:var(--muted);margin-top:16px}.portal-grid .news-card{border:1px solid var(--line);padding:0}.portal-grid .news-card>div{padding:25px}.news-card>img{width:100%;aspect-ratio:1.6;object-fit:cover}.portal-badge{display:inline-flex;background:var(--soft);color:var(--blue);font-size:12px;padding:5px 11px}.portal-badge.open{background:#e2f1ec;color:#166249}.program-card{border:1px solid var(--line);background:#fff}.program-card>img{width:100%;aspect-ratio:1.6;object-fit:cover}.program-cover{height:160px;background:#142f44;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.program-cover>span{font-size:13px;letter-spacing:3px;color:#b7d4de}.program-cover p{font-size:25px}.program-card-body{padding:25px}.program-card h2{font-size:21px;margin:16px 0}.program-card p{color:var(--muted);font-size:14px}.program-card dl{margin:24px 0}.program-card dl>div{gap:13px;font-size:12px}.program-card dt{white-space:nowrap}.program-card dd{font-size:13px}.portal-admin{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.portal-admin button,.portal-edit{padding:8px 13px;border:1px solid var(--blue);background:#fff;color:var(--blue)}.portal-edit{margin-top:18px}.program-contact{margin-top:40px;color:var(--muted);font-size:14px}.program-contact a{text-decoration:underline}.solid-button{display:inline-flex;justify-content:center;align-items:center;padding:12px 22px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-size:14px;cursor:pointer}.solid-button:hover{color:#fff;background:#134f87}.solid-button:disabled{background:#6a7b8a;opacity:.7;cursor:not-allowed}.center-dialog{width:min(660px,calc(100vw - 32px));max-height:88dvh;border:0;padding:30px;box-shadow:0 15px 90px #001a3540;color:var(--ink);overflow-y:auto}.center-dialog::backdrop{background:#06172899}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-heading h2,.center-dialog>h2{font-size:24px;line-height:1.5}.dialog-heading button{border:0;background:none;font-size:28px;line-height:1;padding:5px}.dialog-fields{display:grid;gap:19px}.dialog-fields>label{display:grid;gap:9px;font-size:14px;font-weight:600}.dialog-fields input,.dialog-fields textarea,.dialog-fields select{font:inherit;width:100%;padding:11px 12px;border:1px solid #bac7d1;border-radius:2px;background:#fff;color:var(--ink);font-weight:400;min-width:0}.dialog-fields input[type=file]{font-size:12px}.dialog-fields textarea{resize:vertical}.dialog-fields small{font-size:11px;font-weight:400;color:var(--muted)}.dialog-fields .consent-row{display:flex;align-items:flex-start;gap:12px;font-size:13px;font-weight:400;line-height:1.9;padding:15px;background:var(--soft)}.consent-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:5px}.dialog-intro{white-space:pre-line;font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0 24px}.dialog-error{font-size:13px;color:#a32525;white-space:pre-line;margin-top:20px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dialog-actions>button{padding:11px 22px;border:1px solid var(--line)}.required{color:#b13832}.portal-detail>img,.portal-detail>video{width:100%;max-height:480px;object-fit:contain;margin:20px 0}.portal-body{white-space:pre-line;line-height:1.95;margin:28px 0}.portal-detail dl>div{gap:20px}.portal-detail dt{min-width:80px}.portal-detail dd{font-size:14px}.applicants-dialog{width:min(1080px,calc(100vw - 32px))}.application-table{overflow:auto;margin-top:20px}.application-table table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}.application-table th,.application-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.application-table th{background:var(--soft)}#app-export{margin-top:18px;padding:10px 18px;background:#fff;border:1px solid var(--line)}#app-message{margin-top:20px}.is-hidden{opacity:.65}.portal-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-top:28px;padding-bottom:28px}.portal-shortcuts>a{position:relative;padding:20px 25px;border-right:1px solid var(--line)}.portal-shortcuts>a:first-child{padding-left:0}.portal-shortcuts>a:last-child{border:0}.portal-shortcuts span{font-size:10px;letter-spacing:1.4px;color:var(--blue)}.portal-shortcuts h2{font-size:22px;margin:10px 0}.portal-shortcuts p{color:var(--muted);font-size:12px}.portal-shortcuts b{position:absolute;right:24px;top:25px;font-size:22px;font-weight:400}
#inline-toolbar{position:fixed;bottom:14px;left:3%;right:3%;z-index:40;background:#112b41;color:#fff;border:1px solid #456078;box-shadow:0 8px 30px #0003;padding:14px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center}#inline-toolbar strong{font-size:14px}#inline-help{display:block;font-size:11px;color:#c8d7e1;margin-top:5px}.inline-actions{display:flex;gap:7px;flex-wrap:wrap}.inline-actions button{font-size:12px;border:1px solid #8daabd;background:#fff;color:#15354b;padding:9px 12px}.editing-page [data-inline-editable]{outline:1px dashed #2b86cb;outline-offset:3px;cursor:crosshair}.editing-page [data-inline-editable]:hover{background:#e6f3ff!important;color:#123c5c!important}.editing-page .cms-extra{outline:1px dashed #2b86cb;cursor:crosshair}body:has(#inline-toolbar){padding-bottom:100px}
@media(min-width:1251px) and (max-width:1599px){.header{height:155px;display:grid;grid-template-columns:1fr;gap:0;align-content:center}.header .brand{width:250px;margin-top:12px}.header #navigation{height:70px;justify-content:space-between;gap:16px}.header #navigation a[href="digital-twin.html"]{max-width:none}}
@media(max-width:1000px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-shortcuts h2{font-size:19px}#inline-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr}.news-tabs{gap:0;margin-top:0}.news-tabs a{font-size:13px;padding:12px 14px}.portal-controls{gap:12px}.portal-filter{font-size:0;gap:0}.portal-filter select{font-size:12px;max-width:120px;padding:12px 6px}.portal-empty{padding:50px 18px}.portal-empty h2{font-size:21px}.portal-empty p{font-size:13px}.portal-intro{font-size:14px}.center-dialog{padding:22px}.dialog-heading h2{font-size:21px}.portal-shortcuts{grid-template-columns:1fr;padding-top:12px;padding-bottom:12px}.portal-shortcuts>a,.portal-shortcuts>a:first-child{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.portal-shortcuts h2{font-size:19px;margin:7px 0}.portal-shortcuts p{font-size:12px}.portal-shortcuts b{right:10px}.inline-actions button{font-size:11px;padding:8px 10px}#inline-toolbar{left:10px;right:10px;bottom:10px;padding:12px}#inline-help{max-width:85vw}body:has(#inline-toolbar){padding-bottom:180px}.program-contact{font-size:12px}.portal-page h1{font-size:34px}}
.program-cover p{color:#e3eef4}.program-card .text-link{border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;font-size:13px}
.program-sections{display:grid;gap:48px}.program-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 22px;padding-bottom:16px;border-bottom:2px solid #203c50}.program-section-head h2{font-size:27px;letter-spacing:-.035em}.program-section-head p{font-size:14px;color:var(--muted)}.program-section .portal-grid{margin:0}.portal-badge.closed{background:#edf1f3;color:#455969}.program-card .text-link{cursor:pointer;color:var(--blue);border-color:var(--blue)}
@media(max-width:700px){.program-sections{gap:34px}.program-section-head{display:block}.program-section-head h2{font-size:23px}.program-section-head p{margin-top:8px;font-size:13px}}
.program-sections{grid-template-columns:minmax(0,1fr)}
.program-section,.program-card,.program-card-body{min-width:0}
.program-section .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.program-poster{position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;aspect-ratio:3/2;min-height:280px;padding:28px;border:0;background:#112a36;color:#fff;text-align:left;overflow:hidden;font:inherit;container-type:inline-size}
button.program-poster{cursor:pointer}
.program-poster .program-poster-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.program-poster::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,19,29,.84),rgba(5,19,29,.54) 47%,rgba(5,19,29,.02) 100%),linear-gradient(0deg,rgba(5,19,29,.78),transparent 40%)}
.program-poster-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.015em}
.program-poster-top>span:last-child{font-size:10px;padding:5px 9px;border:1px solid #ffffff60;border-radius:2px;background:#0e253d55;white-space:nowrap}
.program-poster-course{display:block;font-size:12px;letter-spacing:.17em;margin-top:25px;color:#b5e6df}
.program-poster-title{display:block;font-size:clamp(23px,5.8cqw,36px);line-height:1.4;letter-spacing:-.045em;font-weight:750;max-width:78%;margin:8px 0 24px;word-break:keep-all;text-wrap:balance;text-shadow:0 2px 16px #00121e55}
.program-poster-bottom{display:grid;gap:8px;margin-top:auto;font-size:11px;color:#d2e0e7;letter-spacing:.02em}
.program-poster-date{font-size:14px;font-weight:650;color:#fff;font-variant-numeric:tabular-nums}
button.program-poster:hover .program-poster-art{transform:scale(1.035)}
button.program-poster:focus-visible{outline:3px solid #43bceb;outline-offset:-5px}
.portal-detail>.program-poster{margin:20px 0}
@media(max-width:1000px){.program-section .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-poster{padding:22px}.program-poster-title{max-width:90%;font-size:clamp(22px,6cqw,32px)}.program-poster-top{font-size:10px}.program-poster-course{margin-top:22px}.program-poster-date{font-size:12px}}
@media(max-width:700px){.program-section .portal-grid{grid-template-columns:1fr;gap:26px}.program-poster{min-height:290px}.program-poster-title{max-width:86%}}
@media(prefers-reduced-motion:reduce){.program-poster .program-poster-art{transition:none}button.program-poster:hover .program-poster-art{transform:none}}
.program-card>.program-poster{min-height:260px;padding:20px}
.program-card .program-poster-top{font-size:10px}
.program-card .program-poster-course{font-size:11px;margin-top:18px}
.program-card .program-poster-title{font-size:clamp(20px,6cqw,27px);max-width:90%;margin:8px 0 18px;line-height:1.4}
.program-card .program-poster-date{font-size:12px}
.program-card .program-card-body{padding:20px}
.program-card h2{font-size:18px;margin:12px 0}
.program-card h2 button{line-height:1.5}
.program-card dl{margin:18px 0}

.program-application .dialog-fields input:disabled{background:#edf1f2;color:#80908d;cursor:not-allowed}.program-application button[type=submit]:disabled{opacity:.45;cursor:not-allowed}.application-consent-hint{margin:0;font-size:13px;color:var(--muted);line-height:1.7}

.program-application .dialog-fields>label{display:block}.program-application .dialog-fields>label>input,.program-application .dialog-fields>label>.consent-row{margin-top:8px}
