:root{color-scheme:dark;--bg:#090c11;--surface:#101822;--text:#f2f3f5;--muted:#a0adbc;--blue:#82acdf;--line:#293342}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;background:#090c11;position:relative;z-index:3}.monogram{font-weight:800;font-size:28px;letter-spacing:-2px}.monogram span{color:var(--blue);margin-left:8px}nav{display:flex;gap:36px;font-size:14px;color:#c4ccd6}nav a:hover{color:var(--blue)}.languages{display:flex;align-items:center;gap:10px;color:#5b687a;font-size:14px}.languages button{border:0;background:none;padding:9px 3px;color:#8190a2;cursor:pointer}.languages button[aria-pressed=true]{color:white}.hero{position:relative;min-height:750px;height:calc(100svh - 88px);max-height:1000px;overflow:hidden}.portrait{position:absolute;right:0;top:0;width:65%;height:100%;background:#050606}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;filter:grayscale(1)}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090c11 0%,#090c11a6 16%,transparent 52%),linear-gradient(0deg,#090c11,transparent 27%)}.hero-copy{position:relative;z-index:1;padding:85px 0 105px 9%;max-width:750px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.3px;color:var(--blue);margin:0 0 26px}h1{font-size:clamp(74px,8.7vw,136px);line-height:.98;letter-spacing:-6px;font-weight:600;margin:0 0 30px}h1 span{color:var(--blue)}.role{font-size:21px;letter-spacing:.3px;margin:0 0 14px}.intro{font-size:18px;color:#b2bbc6;line-height:1.7}.explore{display:inline-flex;gap:45px;align-items:center;border-bottom:1px solid #697b92;padding:18px 0 12px;margin-top:24px;font-size:14px}.explore span:last-child{font-size:24px;color:var(--blue)}.hero-bottom{position:absolute;bottom:24px;left:9%;right:6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#9aa7b7}.section{padding:110px 9%;border-top:1px solid var(--line);scroll-margin-top:0}.approach{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;background:#0d121a}h2{font-size:clamp(32px,3.4vw,51px);line-height:1.12;letter-spacing:-1.5px;font-weight:500;margin:0}.approach-copy>p:first-child{font-size:21px;line-height:1.6;margin-top:0}.muted{color:var(--muted);font-size:16px}.areas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.areas span{font-size:13px;padding:7px 12px;border:1px solid #354153;color:#c3cedd}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading p{margin:0}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.credential-grid article{background:linear-gradient(125deg,#162435,#0e1620);padding:30px 38px 38px;border:1px solid #34455b;position:relative}.cred-top{display:flex;justify-content:space-between;color:var(--blue);font-size:12px;letter-spacing:2px}.credential-grid h3{font-size:52px;margin:35px 0 20px;font-weight:650;letter-spacing:-2px;line-height:1.2}.brand-dot{font-size:17px;vertical-align:top;letter-spacing:0}.credential-grid p{font-size:22px;margin:0 0 5px}.credential-grid small{font-size:14px;color:var(--muted)}.activity{background:#0d121a}.collage{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;grid-template-rows:290px 290px}figure{margin:0;position:relative;overflow:hidden;background:#17202c}.collage img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.collage figure:hover img{transform:scale(1.025)}.university{grid-column:1 / 3}.university img{object-position:50% 48%}.field img{object-position:45% 42%}.instruction img{object-position:50% 35%}figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 25px 23px;background:linear-gradient(transparent,#03070dea);font-size:14px}figcaption strong{display:block;font-size:19px;font-weight:500}figcaption span{color:#d6dee9}.group{margin-top:16px}.group img{display:block;width:100%;height:auto}.group figcaption{position:relative;padding:20px 25px;background:#142030}footer{padding:45px 9%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line)}.footer-name{font-size:23px;letter-spacing:-1px}.footer-name span{color:var(--blue)}footer p,footer>a:last-child{font-size:13px;color:var(--muted)}@media(min-width:1600px){.hero-copy{padding-top:130px}.section{padding-left:max(9%,calc((100% - 1350px)/2));padding-right:max(9%,calc((100% - 1350px)/2))}}@media(max-width:750px){header{height:72px;padding:0 6%}nav{gap:15px;font-size:12px}.monogram{font-size:24px}.hero{height:auto;min-height:810px}.portrait{width:100%;height:600px;top:0}.portrait img{object-position:20% 35%}.portrait:after{background:linear-gradient(0deg,#090c11 0%,#090c1140 65%,transparent)}.hero-copy{padding:360px 7% 90px;max-width:100%}.hero .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:20px}h1{font-size:76px;letter-spacing:-4px}h1 br{display:none}h1 span{margin-left:12px}.role{font-size:19px}.intro{font-size:16px}.hero-bottom{left:7%;font-size:9px;letter-spacing:1px}.section{padding:65px 7%}.approach{grid-template-columns:1fr;gap:30px}.approach-copy>p:first-child{font-size:19px}.section-heading{display:block}.section-heading p{margin-top:20px}.credential-grid{grid-template-columns:1fr;gap:16px}.credential-grid article{padding:25px}.credential-grid h3{margin-top:25px}.collage{grid-template-rows:280px 250px;gap:10px}.collage figcaption{padding:40px 14px 14px;font-size:12px}.collage figcaption strong{font-size:16px}.university img{object-position:36% 50%}.group{margin-top:10px}.group figcaption{font-size:12px;padding:15px}.group img{min-height:210px;object-fit:cover}footer{padding:35px 7%;flex-wrap:wrap}footer p{width:100%;order:3;margin:0}}@media(max-width:380px){nav{gap:10px;font-size:11px}h1{font-size:65px}.hero-copy{padding-top:350px}.languages{gap:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.expertise-copy{font-size:21px;line-height:1.75;max-width:920px;color:#c1cbd8;margin:0 0 48px}.logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}.logo-cell{background:#f5f6f7;border:1px solid #d2d7df;display:flex;align-items:center;justify-content:center;padding:22px 15px;min-height:128px;border-radius:2px}.logo-cell img{display:block;width:100%;height:72px;object-fit:contain}.brand-logo{font-size:20px;font-weight:700;letter-spacing:-.4px;color:#0e1723;text-align:center}.logo-cell:nth-child(3) .brand-logo{font-size:27px;letter-spacing:-2px}.logo-cell:nth-child(5) .brand-logo{font-size:15px;letter-spacing:1.3px}.logo-cell:nth-child(6) .brand-logo{font-family:Georgia,serif;font-size:19px}@media(max-width:900px){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.expertise-copy{font-size:18px}.logo-cell{min-height:110px}}

.conflict-banner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:22px;width:min(570px,65%);min-height:52px;padding:12px 22px;border:1px solid #4f637c;overflow:hidden;background:#172333 url('assets/ukraine-banner.png') center 52%/cover no-repeat;color:#fff;font-size:14px;font-weight:700;letter-spacing:1.6px;line-height:1.4;text-align:center;text-shadow:0 1px 5px #000}.conflict-banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07101bba,#07101b70,#07101bb5);transition:background .2s}.conflict-banner:hover{border-color:#a5c7ef}.conflict-banner:hover:before{background:#07101b65}.banner-arrow{font-size:22px;font-weight:400;color:#c8def8}header{gap:18px}@media(max-width:750px){header{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 6%;gap:12px}.conflict-banner{order:3;width:100%;min-height:50px;font-size:12px;letter-spacing:1.1px;padding:10px 14px}.languages{margin-left:auto}}

/* Brand and training-program identities */
.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.logo-cell{background:#15202e;border-color:#33455b;min-height:150px;padding:24px}.logo-cell img.brand-logo{height:76px;max-width:190px;object-fit:contain}.logo-cell img.tccc-logo{height:112px}.logo-cell:nth-child(5) img{filter:brightness(0) invert(1)}.logo-cell.stop-bleed{background:#f5f6f7;border-color:#d2d7df}.logo-cell.stop-bleed img{height:72px;max-width:220px}@media(max-width:900px){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.logo-cell{min-height:120px;padding:15px}.logo-cell img.brand-logo{height:65px}.logo-cell img.tccc-logo{height:90px}}

/* A single, quiet row of partner and training marks */
.logo-grid{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(14px,2.1vw,30px);overflow-x:auto;overflow-y:hidden;padding:8px 0 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.logo-grid::-webkit-scrollbar{display:none}.logo-cell{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0;background:transparent;border:0;max-width:none}.logo-cell img.brand-logo{display:block;width:auto;height:28px;max-width:125px;object-fit:contain;opacity:.82;transition:opacity .18s ease}.logo-cell:hover img.brand-logo{opacity:1}.logo-cell:nth-child(1) img{height:24px;max-width:130px}.logo-cell:nth-child(2) img{height:34px;max-width:40px}.logo-cell:nth-child(3) img{height:26px;max-width:98px}.logo-cell:nth-child(4) img{height:28px;max-width:98px}.logo-cell:nth-child(5) img{height:25px;max-width:105px;filter:brightness(0) invert(1)}.logo-cell img.tccc-logo{height:42px;max-width:42px}.logo-cell.stop-bleed{background:transparent;border:0}.logo-cell.stop-bleed img{height:25px;max-width:78px;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}@media(max-width:750px){.collage{grid-template-rows:280px}}@media(max-width:500px){.collage{grid-template-rows:250px}.logo-grid{justify-content:flex-start;gap:19px}.logo-cell:nth-child(1) img{height:20px;max-width:98px}.logo-cell:nth-child(2) img{height:28px;max-width:34px}.logo-cell:nth-child(3) img{height:22px;max-width:78px}.logo-cell:nth-child(4) img{height:24px;max-width:78px}.logo-cell:nth-child(5) img{height:21px;max-width:85px}.logo-cell img.tccc-logo{height:36px;max-width:36px}.logo-cell.stop-bleed img{height:21px;max-width:68px}}

/* Keep the group photograph in the space at the top of the activity collage */
.collage{grid-template-rows:auto 290px}.collage .group{grid-column:1/3;margin-top:0}.collage .group img{display:block;width:100%;height:auto}.collage .group figcaption{position:relative;bottom:auto;padding:18px 25px;background:#142030}.logo-cell:nth-child(1) img{filter:brightness(0) invert(1)}@media(max-width:750px){.collage{grid-template-rows:auto 280px}}@media(max-width:500px){.collage{grid-template-rows:auto 250px}}

/* Show the supplied portrait in full across viewport sizes */
.portrait img{object-fit:contain;object-position:center center;filter:none}.portrait{background:var(--bg)}@media(max-width:750px){.hero{height:auto;min-height:0;max-height:none;padding-bottom:74px}.portrait{position:relative;top:auto;right:auto;width:100%;height:clamp(420px,115vw,570px)}.portrait img{object-fit:contain;object-position:center center}.portrait:after{background:linear-gradient(0deg,#090c11 0%,transparent 28%)}.hero-copy{padding:24px 7% 0}}

/* Untitled photo mosaic at the end of the page */
.gallery.section{padding-top:28px;padding-bottom:clamp(56px,8vw,110px)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,clamp(120px,14vw,205px));gap:clamp(7px,1vw,14px)}
.gallery-photo{display:block;width:100%;height:100%;min-width:0;object-fit:cover;object-position:center center;background:#101822}
.gallery-photo:nth-child(1){grid-column:1/span 2;grid-row:1/span 2}
.gallery-photo:nth-child(2){grid-column:3;grid-row:1}
.gallery-photo:nth-child(3){grid-column:4;grid-row:1}
.gallery-photo:nth-child(4){grid-column:3;grid-row:2}
.gallery-photo:nth-child(5){grid-column:4;grid-row:2}
.gallery-photo:nth-child(6){grid-column:1;grid-row:3}
.gallery-photo:nth-child(7){grid-column:2;grid-row:3}
.gallery-photo:nth-child(8){grid-column:3/span 2;grid-row:3}
@media(max-width:750px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,clamp(130px,31vw,220px));gap:9px}.gallery-photo:nth-child(1),.gallery-photo:nth-child(6){grid-column:1/span 2;grid-row:auto}.gallery-photo:nth-child(2),.gallery-photo:nth-child(3),.gallery-photo:nth-child(4),.gallery-photo:nth-child(5),.gallery-photo:nth-child(7),.gallery-photo:nth-child(8){grid-column:auto;grid-row:auto}}

/* Compact news reader */
header .news-tab{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #43536a;color:#dce6f3;font-size:12px;letter-spacing:1.4px;font-weight:700;white-space:nowrap;transition:border-color .2s,color .2s}
header .news-tab:hover,header .news-tab.active{border-color:var(--blue);color:#fff}
.news-main{width:min(1180px,100%);min-height:calc(100vh - 180px);margin:0 auto;padding:70px 7% 90px}
.news-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}
.news-heading .eyebrow{margin-bottom:14px}
.news-heading h1{font-size:clamp(54px,7vw,88px);line-height:1;letter-spacing:-4px;font-weight:600;margin:0}
.news-heading h1 span{color:var(--blue)}
.refresh-button{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#dce6f3;border:1px solid #43536a;padding:10px 16px;cursor:pointer;font-size:14px}
.refresh-button:hover{border-color:var(--blue);color:white}
.refresh-button>span:first-child{font-size:19px;color:var(--blue);display:inline-block}
.refresh-button.spinning>span:first-child{animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.news-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#a0adbc;font-size:13px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#feed-status{color:#b8c8db}
#feed-status.partial{color:#e0b77e}
.news-filters{display:flex;gap:9px;overflow-x:auto;padding:24px 0 20px;scrollbar-width:thin;scrollbar-color:#43536a transparent}
.news-filters button{flex:0 0 auto;border:1px solid #2d3948;background:transparent;color:#aeb9c7;padding:8px 13px;cursor:pointer;font-size:14px}
.news-filters button:hover,.news-filters button.selected{border-color:#7299c7;background:#172536;color:#f4f7fb}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.news-card{min-width:0;min-height:160px;padding:21px 23px;background:linear-gradient(135deg,#111a25,#0d131c);border:1px solid #273443;display:flex;flex-direction:column}
.news-card-meta{display:flex;flex-wrap:wrap;gap:9px 13px;align-items:center;color:#8291a3;font-size:12px}
.news-category{color:var(--blue);text-transform:uppercase;letter-spacing:1px;font-weight:700}
.news-card h2{font-size:19px;line-height:1.4;letter-spacing:0;margin:15px 0 12px;font-weight:500}
.news-card h2 a:hover{color:#b9d8ff}
.news-card h2 a span{color:var(--blue);font-size:15px;white-space:nowrap}
.news-date{color:#8592a2;font-size:12px;margin:auto 0 0}
.news-empty{padding:50px 20px;text-align:center;border:1px solid #273443;color:#aab6c4}
.news-empty p{margin:0 0 18px}
.news-footnote{margin:28px 0 36px;color:#8592a2;font-size:13px}
.back-portfolio{font-size:14px;color:#c4d3e5}
.back-portfolio:hover{color:white}
.news-page footer{padding-left:max(7%,calc((100% - 1015px)/2));padding-right:max(7%,calc((100% - 1015px)/2))}
@media(max-width:750px){header .conflict-banner{order:3;width:calc(100% - 87px);min-width:0}.news-tab{order:4}.news-main{padding:48px 6% 65px}.news-heading{align-items:center}.news-heading h1{font-size:64px}.news-meta{align-items:flex-start;flex-direction:column;gap:3px}.news-grid{grid-template-columns:1fr;gap:10px}.news-card{min-height:145px;padding:18px}.news-card h2{font-size:18px}.news-filters{margin-right:-6%;padding-right:6%}}
@media(max-width:420px){header .news-tab{padding:8px 10px;font-size:11px}.news-heading h1{font-size:55px;letter-spacing:-3px}.news-heading .eyebrow{font-size:10px;letter-spacing:1.6px}.refresh-button{padding:9px 11px;font-size:13px}.news-card h2{font-size:17px}}
