:root{font-family:Manrope,'DM Sans',Arial,sans-serif;color:#142c4a;background:#f5f8fc;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%}:focus-visible{outline:3px solid #f3a61a;outline-offset:3px}.container{max-width:1360px;margin:auto;padding:0 28px}.topline{background:#06265b;color:#dce9ff;font-size:.82rem}.topline-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.topline a{text-decoration:none}.topline a:hover{text-decoration:underline}.topline strong{color:#fff}.header{background:#fff;box-shadow:0 3px 20px #1734620b;position:sticky;top:0;z-index:20}.header-inner{height:82px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;min-width:250px;text-decoration:none}.brand img{width:51px;height:51px;object-fit:contain}.brand-copy b{display:block;color:#082e68;font-size:1.16rem;line-height:1.1;letter-spacing:-.04em}.brand-copy span{font-size:.69rem;line-height:1.4;color:#5f7088;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.nav{display:flex;align-items:center;gap:4px;flex:1}.nav button,.mobile-menu button{border:0;background:transparent;color:#485c75;font-weight:700;font-size:.82rem;padding:10px 11px;border-radius:8px;white-space:nowrap}.nav button:hover,.nav button.active{background:#eaf2ff;color:#0a4db2}.header-actions{display:flex;gap:9px;align-items:center}.lang{border:1px solid #dbe4ee;border-radius:9px;background:#fff;color:#1e3855;padding:10px 27px 10px 10px;font-size:.78rem;font-weight:800;max-width:120px}.btn{border:0;border-radius:9px;padding:12px 17px;background:#0960c7;color:white;font-size:.82rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;white-space:nowrap}.btn:hover{background:#074b9f}.btn.secondary{background:#eaf2ff;color:#0a4db2}.btn.secondary:hover{background:#dceaff}.btn.outline{border:1px solid #cbd9e9;background:#fff;color:#174478}.btn.outline:hover{background:#f2f7ff}.menu-toggle{display:none;background:none;border:0;color:#153d72;font-size:1.5rem}.mobile-menu{display:none}.demo-strip{background:#fff9e8;border-bottom:1px solid #f2dfac;color:#6d541d;font-size:.76rem;font-weight:700}.demo-strip .container{min-height:31px;display:flex;align-items:center;gap:8px}.demo-pill{font-size:.65rem;letter-spacing:.08em;background:#f3b841;color:#573500;padding:3px 6px;border-radius:3px;text-transform:uppercase}.hero{background:#082d65;color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0 0 0 47%;background:linear-gradient(90deg,#082d65 0%,#082d65a6 30%,#082d6540 100%),url('assets/tdtu-campus.webp') center/cover no-repeat;opacity:.9}.hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff16;border-radius:50%;left:38%;top:-250px;box-shadow:0 0 0 100px #ffffff07,0 0 0 200px #ffffff05}.hero-inner{position:relative;z-index:1;min-height:422px;display:flex;align-items:center}.hero-copy{max-width:730px;padding:57px 0 60px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#88bcff;margin-bottom:13px}.hero h1{font-size:clamp(2.2rem,4.3vw,4.15rem);letter-spacing:-.055em;line-height:1.11;margin:0 0 15px;max-width:700px}.hero p{font-size:1rem;line-height:1.7;color:#d9e7fa;max-width:630px;margin:0 0 27px}.hero-search{background:#fff;border-radius:11px;padding:6px;display:flex;gap:6px;max-width:640px;box-shadow:0 12px 40px #00183b44}.hero-search input{border:0;padding:10px 14px;outline:0;flex:1;min-width:0;color:#1b3654}.hero-search input::placeholder{color:#8899ad}.hero-search .btn{padding:12px 26px}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;color:#cee0fa;font-size:.76rem;font-weight:700}.hero-meta span{display:flex;align-items:center;gap:7px}.section{padding:49px 0}.section.alt{background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2{font-size:1.55rem;letter-spacing:-.04em;color:#102c52;margin:0 0 4px}.section-head p{color:#698097;margin:0;font-size:.85rem}.text-link{font-size:.82rem;font-weight:800;color:#0b59b9;text-decoration:none;white-space:nowrap}.text-link:hover{text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-28px;position:relative;z-index:2}.stat-card{background:#fff;border:1px solid #e6edf5;border-radius:13px;padding:20px 24px;box-shadow:0 8px 25px #1637630b;min-height:105px}.stat-card strong{font-size:1.65rem;color:#0d408b;display:block;line-height:1.1;letter-spacing:-.06em}.stat-card span{font-size:.78rem;color:#60748d;font-weight:700;margin-top:8px;display:block}.stat-card small{font-size:.67rem;color:#7e8fa1;display:block;margin-top:4px}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.program-card{background:white;border:1px solid #e0e9f3;border-radius:13px;padding:21px;min-height:151px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 7px 22px #16376307}.program-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.program-logo{height:42px;width:160px;object-fit:contain;object-position:left}.program-title{font-size:1.18rem;font-weight:800;letter-spacing:-.04em;color:#17457f}.program-card p{font-size:.77rem;line-height:1.6;color:#667d94;margin:14px 0 0}.program-type{font-size:.67rem;color:#4d77a2;background:#edf5ff;padding:6px 8px;border-radius:5px;font-weight:800;white-space:nowrap}.filters-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.chip{background:#fff;border:1px solid #dce6f0;border-radius:7px;color:#526b87;padding:9px 13px;font-size:.76rem;font-weight:800}.chip:hover,.chip.active{color:#fff;background:#0b4fa7;border-color:#0b4fa7}.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.opp-card{background:#fff;border:1px solid #e0e9f2;border-radius:14px;padding:21px;display:flex;flex-direction:column;min-height:282px;box-shadow:0 8px 24px #13335b08}.opp-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.badge{font-size:.67rem;font-weight:800;padding:5px 8px;border-radius:5px;background:#eaf2ff;color:#0c55a6}.badge.local{background:#e9f8f2;color:#167355}.save{border:0;background:transparent;font-size:1.25rem;color:#8da0b6;padding:0 3px}.save.saved{color:#e2a027}.opp-card h3{font-size:1.06rem;line-height:1.42;letter-spacing:-.025em;margin:18px 0 7px;color:#15385f}.opp-card p{font-size:.77rem;line-height:1.65;color:#697e94;margin:0 0 15px}.opp-card .spacer{flex:1}.meta-row{border-top:1px solid #e9eef5;padding-top:14px;display:flex;justify-content:space-between;gap:12px;color:#5d7189;font-size:.71rem;font-weight:700}.card-action{margin-top:16px;background:#f0f6ff;color:#0a56b4;border:0;padding:10px;border-radius:8px;font-size:.76rem;font-weight:800;text-align:center}.card-action:hover{background:#e0efff}.faculty-layout{display:grid;grid-template-columns:290px 1fr;gap:19px}.side-panel,.faculty-panel,.guide-panel,.detail-panel{border:1px solid #e2eaf3;background:#fff;border-radius:13px;box-shadow:0 8px 24px #17376308}.side-panel{padding:20px}.side-panel h3{margin:0 0 14px;font-size:.91rem;color:#183c68}.select,.search-input{width:100%;border:1px solid #dce5ef;border-radius:8px;padding:11px 12px;color:#264563;background:#fff;font-size:.79rem}.label{display:block;font-size:.71rem;color:#6d8097;font-weight:800;margin:17px 0 7px}.faculty-panel{padding:24px}.faculty-panel h3{font-size:1.21rem;color:#173962;letter-spacing:-.03em;margin:0 0 8px}.faculty-panel p{font-size:.78rem;color:#71849b;margin:0 0 19px;line-height:1.6}.dept-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.dept-item{display:flex;align-items:center;gap:11px;background:#f7faff;border:1px solid #e7eef7;border-radius:8px;padding:11px 13px;font-size:.78rem;color:#365471;font-weight:700}.dept-item i{font-style:normal;font-size:.66rem;font-weight:800;color:#0d60bf;background:#e3f0ff;padding:5px 7px;border-radius:5px}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.step{background:#fff;border:1px solid #e3eaf3;border-radius:13px;padding:21px;min-height:170px}.step .num{font-size:.75rem;color:#0b66c3;font-weight:800;margin-bottom:15px;display:block}.step h3{font-size:.91rem;color:#163962;margin:0 0 8px}.step p{font-size:.75rem;color:#6f8298;line-height:1.6;margin:0}.footer{background:#092854;color:#cbdcf2;padding:37px 0}.footer-inner{display:flex;justify-content:space-between;gap:28px;align-items:start}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:45px;height:45px;object-fit:contain;background:white;border-radius:50%;padding:3px}.footer-brand strong{color:#fff}.footer p{max-width:500px;font-size:.73rem;line-height:1.7;margin:10px 0 0}.footer-links{display:flex;gap:25px;font-size:.75rem;font-weight:700}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.page-head{background:#0a3472;color:#fff;padding:42px 0}.page-head h1{font-size:2rem;letter-spacing:-.04em;margin:0 0 8px}.page-head p{color:#d4e4f7;font-size:.85rem;margin:0;line-height:1.6;max-width:750px}.main-content{min-height:60vh}.catalog-layout{display:grid;grid-template-columns:270px 1fr;gap:22px;padding:28px 0 58px}.catalog-main .opportunity-grid{grid-template-columns:repeat(2,1fr)}.catalog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.catalog-top h2{font-size:1.18rem;color:#153b69;margin:0}.catalog-top small{font-size:.75rem;color:#74869a}.catalog-top select{width:auto;min-width:170px}.filter-group{margin-top:18px}.filter-group:first-of-type{margin-top:0}.filter-group h4{font-size:.76rem;margin:0 0 9px;color:#3b5875}.radio-line{display:flex;align-items:center;gap:8px;margin:9px 0;color:#586f88;font-size:.76rem;font-weight:700}.radio-line input{accent-color:#125ec0}.clear{border:0;background:none;color:#0d5db7;font-size:.75rem;font-weight:800;margin-top:18px;padding:0}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:22px;padding:30px 0 60px}.detail-panel{padding:27px}.detail-title{font-size:1.65rem;color:#153a66;line-height:1.35;letter-spacing:-.04em;margin:12px 0}.detail-panel h3{font-size:1rem;color:#183d6b;margin:26px 0 9px}.detail-panel p,.detail-panel li{font-size:.82rem;line-height:1.75;color:#526b84}.detail-panel ul{padding-left:22px;margin:7px 0}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:24px}.fact{background:#f3f7fc;border-radius:8px;padding:13px}.fact small{display:block;color:#7b8ca0;font-size:.67rem;font-weight:800;margin-bottom:5px}.fact strong{font-size:.82rem;color:#1b4779}.right-panel{align-self:start;position:sticky;top:110px}.right-panel .btn{width:100%;margin:7px 0}.note{background:#fff8e6;border:1px solid #f5e1aa;border-radius:8px;padding:12px;font-size:.74rem;color:#7a5f24;line-height:1.6;margin-top:14px}.empty{background:#fff;border:1px dashed #c9d8e8;border-radius:11px;padding:35px;text-align:center;color:#637d98;font-size:.85rem}.mini-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.mini-table th,.mini-table td{text-align:left;border-bottom:1px solid #e5edf5;padding:13px 16px;font-size:.76rem}.mini-table th{background:#f0f6fd;color:#31587f}.mini-table td{color:#4e6680}.info-banner{background:#eaf4ff;border:1px solid #d0e4ff;padding:18px 20px;border-radius:11px;color:#214b75;font-size:.8rem;line-height:1.65}.info-banner strong{display:block;margin-bottom:3px}.modal-backdrop{position:fixed;inset:0;background:#04172bbb;z-index:50;display:flex;align-items:center;justify-content:center;padding:15px}.modal{background:#fff;border-radius:14px;max-width:470px;width:100%;padding:27px;box-shadow:0 28px 80px #0004}.modal h2{margin:0 0 10px;color:#173960;font-size:1.3rem}.modal p{color:#687d93;font-size:.82rem;line-height:1.65}.modal .btn{margin-top:15px;width:100%}.modal .close{float:right;border:0;background:none;font-size:1.3rem;color:#698096}.muted{color:#778ba2}.source-line{font-size:.71rem!important;color:#8396ab!important;margin-top:20px}.pill-line{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.pill-line span{padding:6px 9px;background:#eef5ff;color:#315f91;border-radius:5px;font-size:.69rem;font-weight:800}.results-summary{font-size:.76rem;color:#657d97;margin-bottom:14px}.mobile-filter{display:none}@media(max-width:1150px){.brand{min-width:220px}.header-inner{gap:17px}.nav button{padding:9px 7px;font-size:.73rem}.header-actions .btn{display:none}.programs,.opportunity-grid{grid-template-columns:repeat(2,1fr)}.guide-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.nav{display:none}.header-inner{height:68px}.brand{flex:1}.menu-toggle{display:block}.mobile-menu.open{display:flex;flex-direction:column;padding:10px 26px 19px;box-shadow:0 12px 20px #17346214}.mobile-menu button{text-align:left}.hero:before{left:20%;opacity:.5}.stat-grid{grid-template-columns:repeat(2,1fr)}.faculty-layout,.catalog-layout,.detail-layout{grid-template-columns:1fr}.catalog-layout{padding-top:20px}.catalog-layout>.side-panel{display:none}.catalog-layout>.side-panel.open{display:block}.mobile-filter{display:inline-flex}.right-panel{position:static}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}}@media(max-width:560px){.container{padding:0 17px}.topline-inner{height:30px;font-size:.69rem}.topline .right{display:none}.brand img{width:43px;height:43px}.brand-copy b{font-size:1rem}.brand-copy span{font-size:.61rem}.lang{max-width:110px;padding:9px 18px 9px 6px;font-size:.7rem}.hero-inner{min-height:350px}.hero-copy{padding:48px 0}.hero h1{font-size:2.3rem}.hero p{font-size:.85rem}.hero-search .btn{padding:10px 14px}.stat-grid{gap:9px}.stat-card{padding:15px;min-height:91px}.stat-card strong{font-size:1.35rem}.stat-card span{font-size:.7rem}.section{padding:35px 0}.section-head h2{font-size:1.31rem}.section-head p{font-size:.75rem}.section-head{align-items:start}.text-link{font-size:.72rem}.programs,.opportunity-grid,.catalog-main .opportunity-grid,.dept-list,.guide-grid{grid-template-columns:1fr}.opp-card{min-height:250px}.faculty-panel{padding:18px}.detail-facts{grid-template-columns:1fr}.detail-panel{padding:19px}.page-head{padding:30px 0}.page-head h1{font-size:1.6rem}.footer-links{gap:14px}}
@media(max-width:560px){html,body{max-width:100%;overflow-x:hidden}.container{width:100%}.header-inner{gap:8px}.brand{min-width:0;flex:1}.brand-copy{min-width:0}.brand-copy span{font-size:.53rem;letter-spacing:0}.header-actions{gap:4px;flex:none}.lang{width:91px;max-width:91px}.menu-toggle{padding:4px}.hero-copy{width:100%;min-width:0}.hero-search{width:100%;min-width:0}.hero-search input{width:0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-width:0}.program-card,.opp-card,.faculty-panel,.detail-panel{min-width:0}.section-head{min-width:0}.section-head h2{overflow-wrap:anywhere}}
.call-status{font-size:.67rem;font-weight:800;padding:5px 8px;border-radius:5px;background:#e9f8f2;color:#167355;margin-left:auto}.call-status.upcoming{background:#fff3d7;color:#886100}.call-status.closed{background:#edf0f4;color:#667789}.call-code{margin-top:12px;font-size:.66rem;font-weight:800;letter-spacing:.02em;color:#6c819a;overflow-wrap:anywhere}.opp-card h3{margin-top:9px}.call-amount{font-size:.73rem;color:#60758c;line-height:1.5;margin:5px 0 11px}.call-amount strong{color:#244971}.meta-row{flex-wrap:wrap}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.share-tag{font-size:.69rem;font-weight:800;border-radius:6px;padding:7px 9px;background:#e9f4ff;color:#15539c}.card-bottom .card-action{margin-top:0;white-space:nowrap}.detail-facts .fact small:last-child{margin-top:5px}.source-line a{overflow-wrap:anywhere}
.automation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.automation-grid h2{font-size:1.15rem;line-height:1.4}.flow-number{font-size:2rem;color:#1267ba;font-weight:800}.telegram-layout{display:grid;grid-template-columns:2fr 1fr;gap:28px;margin:42px 0}.telegram-layout .filters-bar{margin:16px 0}.telegram-layout aside .detail-panel{margin-bottom:18px}.telegram-preview{background:#e7f1f6;padding:22px;border-radius:16px;border:1px solid #c5dce8}.telegram-brand{font-weight:800;color:#164c78;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.telegram-brand span{font-size:.875rem;font-weight:500}.telegram-preview pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;background:#fff;padding:22px;border-radius:10px;font-size:1rem}.integration-state,.deadline-notice{color:#80540a;background:#fff0c9;padding:9px 12px;border-radius:6px;font-weight:700}.deadline-notice{margin-top:12px;font-size:.875rem}.review-notice{color:#963b25;font-size:.875rem;margin-top:8px}.sample-report{border:2px dashed #d39824;background:#fffcf2;padding:24px;margin-top:24px;border-radius:12px}.sample-report h2{font-size:1.15rem}.report-cards{margin:22px 0;grid-template-columns:repeat(4,minmax(0,1fr))}.table-scroll{overflow:auto}.call-status.clarify{background:#fff0c9;color:#80540a}.call-status.cancelled{background:#ffe8e2;color:#903b29}.nav{gap:4px}.nav button{font-size:.875rem;padding:10px 8px}.demo-strip,.demo-pill,.badge,.call-status,.call-code,.call-amount,.meta-row,.share-tag,.card-action,.chip,.source-line,.stat-card span,.stat-card small,.section-head p,.opp-card p,.program-card p,.hero-meta{font-size:.875rem}.detail-panel p,.detail-panel li,.telegram-layout p{font-size:1rem}.filter-group label{display:block;margin-bottom:8px}.opp-card,.detail-panel,.side-panel{overflow-wrap:anywhere}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d6991c;outline-offset:3px}.mini-table{min-width:540px}.report-cards .stat-card{box-shadow:none}.header-actions .btn{font-size:.875rem}.stat-card strong{letter-spacing:0}.automation-grid article{padding:22px}.info-banner p{margin-bottom:0}
@media(max-width:1200px){.nav{display:none}.menu-toggle{display:block}.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions .btn{display:inline-flex}}
@media(max-width:700px){.automation-grid,.telegram-layout{grid-template-columns:1fr}.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-report{padding:14px}.header-actions .btn{display:none}.telegram-preview{padding:12px}.telegram-preview pre{padding:14px}.section-head{flex-wrap:wrap}.hero h1{letter-spacing:-.025em}.demo-strip .container{padding-top:8px;padding-bottom:8px}.meta-row,.call-code{font-size:.875rem}}
@media(min-width:851px) and (max-width:1200px){.mobile-menu.open{display:flex;flex-direction:column;padding:12px 28px}.mobile-menu button{text-align:left}}

.call-status.programme{background:#eaf0ff;color:#304a8b}.call-status.paused{background:#f4e9ec;color:#8c344c}.catalog-note{margin-bottom:20px;line-height:1.6}

/* Catalogue refinements */
.news-section{padding:32px 0;background:#edf3fb;border-bottom:1px solid #d7e3f4}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.news-card{background:#fff;border:1px solid #d7e3f4;border-left:4px solid #1264ba;padding:22px;border-radius:12px}.news-card time{font-size:.875rem;color:#52647c}.news-card h3{margin:8px 0;font-size:1.125rem}.news-card p{margin:0 0 14px;line-height:1.65}.news-card .text-link{border:0;background:none;cursor:pointer;padding:0;font:inherit;color:#1259a3}.new-badge{display:inline-block;align-self:flex-start;width:fit-content;background:#d9f6e6;color:#145e37;border:1px solid #a3dabb;font-size:.875rem;font-weight:750;padding:4px 10px;border-radius:6px;margin:8px 0}.new-filter{font-weight:700}.filter-help,.record-date{font-size:.875rem;color:#56667e;line-height:1.5}.record-date{margin:10px 0}.filter-group label{display:block;font-size:.875rem;font-weight:700;margin:0 0 7px}.filter-group input+label{margin-top:12px}.sort-control{font-size:.875rem;display:grid;gap:5px;min-width:0}.sort-control select{max-width:100%;width:260px}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.active-filters .chip{white-space:normal;text-align:left;max-width:100%;font-size:.875rem}.catalog-explainer{font-size:.875rem;line-height:1.6;border:1px solid #d7e3f4;background:#f4f7fc;padding:12px 16px;border-radius:10px;margin:0 0 20px}.catalog-explainer summary{cursor:pointer;color:#244f7e}.match-summary{display:grid;gap:6px;margin:12px 0;padding:12px 0;border-top:1px solid #e2e8f0;color:#354760;font-size:.875rem;line-height:1.5}.match-summary strong{color:#153c6d}.match-level{color:#56667e;font-size:.875rem}.department-matches{margin:24px 0;padding:20px;border:1px solid #d7e3f4;background:#f5f8fc;border-radius:12px}.department-matches h2{font-size:1.25rem}.match-chips{display:flex;flex-wrap:wrap;gap:8px}.match-chips .chip{white-space:normal;text-align:left;line-height:1.5}.dept-item[role=link]{cursor:pointer}.dept-item[role=link]:hover{background:#eaf2fb}.catalog-main,.opp-card,.side-panel{min-width:0}.opp-card h3,.opp-card p,.match-summary,.detail-panel,.news-card{overflow-wrap:anywhere}.catalog-layout .side-panel{align-self:start}.select{max-width:100%}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[role=link]:focus-visible{outline:3px solid #2377d5;outline-offset:3px}.filter-group .select{font-size:.9rem}input[type=date]{min-width:0;width:100%;box-sizing:border-box}.catalog-top{gap:16px}.opportunity-grid .opp-card .call-code{overflow-wrap:anywhere}
@media(max-width:760px){.news-grid{grid-template-columns:1fr}.news-section{padding:24px 0}.catalog-top{flex-direction:column;align-items:stretch}.sort-control select{width:100%}.department-matches{padding:14px}.news-card{padding:18px}.catalog-layout{display:flex;flex-direction:column}.catalog-layout .side-panel{width:100%;box-sizing:border-box}.catalog-main{width:100%}.match-chips .chip{max-width:100%}}

/* Programme navigation and verified university contacts */
.programme-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.programme-tile{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:170px;padding:24px;border:1px solid #dce4ee;border-radius:16px;background:#fff;text-decoration:none;color:#172b4d;transition:transform .15s,border-color .15s}
.programme-tile:hover{transform:translateY(-3px);border-color:#2476ba}.programme-tile:focus-visible{outline:3px solid #2476ba;outline-offset:3px}
.programme-tile img{height:70px;width:100%;object-fit:contain;object-position:left center}.programme-tile span{display:flex;justify-content:space-between;font-weight:600;font-size:14px}.programme-tile.dark-logo{background:#173453;color:white}.horizon-wordmark{font-size:24px;line-height:1.05;color:#164889}
.catalog-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding-top:40px;padding-bottom:40px}.contact-grid h3{margin-bottom:14px}.contact-grid a{color:inherit;line-height:1.9}.contact-grid p{max-width:440px}.official-links{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}
@media(max-width:700px){.programme-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.programme-tile{padding:16px;min-height:155px}.programme-tile img{height:58px}.contact-grid{grid-template-columns:1fr;gap:24px}.official-links{grid-template-columns:1fr}.programme-tile span{font-size:12px}}

.call-facts{margin:28px 0}.call-facts dl>div{padding:14px 0;border-bottom:1px solid #dce4ee}.call-facts dt{font-weight:650;margin-bottom:6px}.call-facts dd{margin:0;line-height:1.65}.call-facts h2{font-size:1.3rem}

/* Shared donor assets and consultant directories */
.record-brand{display:flex;align-items:center;gap:12px;min-height:60px;margin-bottom:14px;font-size:.9rem;font-weight:650;color:#193c68}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:104px;height:56px;padding:6px;border-radius:7px;background:white;box-sizing:border-box}.brand-mark img{max-width:100%;max-height:100%;object-fit:contain}.brand-dark{background:#12375e}.brand-monogram{display:grid;place-items:center;width:56px;height:48px;flex-shrink:0;background:#edf3fb;border-radius:8px;color:#285486;font-size:1.1rem}.programme-tile .brand-mark{width:100%;height:78px}.programme-tile .brand-mark img{height:64px;object-position:center}.programme-tile span{font-size:.9rem}.programme-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.programme-tile{min-height:145px;padding:18px;gap:12px}.match-exact{color:#116243}.match-evidence-list>div{padding:10px 0;border-bottom:1px solid #d8e3ef}.match-evidence-list .match-level{display:block;margin-top:6px}.match-evidence-list p{font-size:.9rem}.news-card{padding:0;border-left:1px solid #d7e3f4;overflow:hidden}.news-copy{padding:22px}.news-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.consulting-content{padding-top:30px;padding-bottom:50px}.consulting-filters{display:flex;gap:20px;flex-wrap:wrap}.consulting-filters .filter-group{min-width:240px}.consulting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 34px}.consulting-card{padding:26px;border:1px solid #d7e3f4;border-radius:14px;background:white;min-width:0}.consulting-card h3{font-size:1.2rem;margin:16px 0 10px}.consulting-card p{line-height:1.7}.consulting-card>small{display:block;margin-top:12px;color:#52647c}.consulting-card .call-status{margin-left:12px}.consulting-links{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.consulting-links a{font-weight:650;color:#185da5}.consulting-cta{margin-top:24px}.nav{gap:4px}.nav button{padding-left:10px;padding-right:10px}
@media(max-width:1000px){.programme-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.programme-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.news-grid,.consulting-grid{grid-template-columns:1fr}.consulting-filters{display:block}.consulting-card{padding:20px}.programme-tile span{font-size:.875rem}.record-brand{font-size:.875rem}.record-brand .brand-mark{width:84px}.news-copy{padding:18px}}

/* Catalogue-grounded question finder */
.brand-copy b{max-width:245px;white-space:normal;font-size:.94rem;line-height:1.3;letter-spacing:.02em}.brand{min-width:265px}.footer-credit{border-top:1px solid #ffffff25;margin-top:28px;padding-top:22px;font-size:.8rem;color:#fff}.finder-section{padding:32px 0;background:#edf4fb}.finder-panel{background:#fff;border:1px solid #cddfee;border-radius:18px;padding:28px 32px;box-shadow:0 12px 32px #17376309}.finder-heading{display:flex;align-items:center;gap:16px;margin-bottom:21px}.finder-icon{display:grid;place-items:center;background:#e1f1ea;color:#17684e;border-radius:13px;width:52px;height:52px;font-size:2rem;flex-shrink:0}.finder-heading h2{font-size:1.42rem;margin:0 0 6px;letter-spacing:-.025em}.finder-heading p{font-size:.85rem;color:#5b7088;margin:0}.finder-input{display:flex;gap:10px}.finder-input input{flex:1;min-width:0;background:#f8fbff;border:1px solid #c5d7e8;border-radius:10px;padding:14px 16px;font-size:.95rem;color:#17395e}.finder-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.finder-examples .chip{font-weight:600;background:#f6f9fc}.finder-examples .chip:hover{background:#0b4fa7}.finder-result-label{color:#17684e;font-size:.8rem;font-weight:800;margin:24px 0 10px}.finder-list{list-style:none;padding:0;margin:0}.finder-list li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #e0e8f0}.finder-result-title{color:#1457a1;font-weight:750;font-size:.93rem;text-decoration:none;line-height:1.5}.finder-result-title:hover{text-decoration:underline}.finder-result-meta{display:block;color:#62758b;font-size:.74rem;margin-top:5px}.finder-source{font-size:.74rem;white-space:nowrap;color:#42607f}.finder-empty{color:#526b84;background:#f4f7fb;padding:15px;border-radius:8px;margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1150px){.brand{min-width:225px}.brand-copy b{max-width:210px;font-size:.83rem}}
@media(max-width:560px){.brand{min-width:0}.brand-copy b{font-size:.7rem;max-width:170px}.brand img{width:36px;height:42px}.brand{gap:8px}.finder-section{padding:20px 0}.finder-panel{padding:20px 16px}.finder-heading{align-items:flex-start;gap:11px}.finder-icon{width:38px;height:38px;font-size:1.6rem}.finder-heading h2{font-size:1.17rem}.finder-heading p{font-size:.77rem;line-height:1.5}.finder-input input{padding:12px 10px;font-size:.82rem}.finder-input .btn{padding:12px}.finder-list li{align-items:flex-start;flex-direction:column;gap:8px}.finder-source{font-size:.76rem}}

/* A quiet route rail links the portal's home sections. */
.home-layout{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1540px;margin:0 auto;gap:0;padding-left:20px;align-items:start}.home-sections{min-width:0}.home-sections .container{padding-left:24px;padding-right:24px}.home-jump-nav{position:sticky;top:106px;margin-top:34px;padding:12px 0;z-index:12}.home-jump-caption{display:block;text-transform:uppercase;letter-spacing:.13em;color:#75899f;font-size:.65rem;font-weight:800;margin:0 12px 18px}.home-jump-links{display:flex;flex-direction:column;gap:5px;position:relative}.home-jump-links:before{content:'';position:absolute;width:1px;left:21px;top:20px;bottom:20px;background:#d5e1ed;z-index:-1}.home-jump-links button{position:relative;display:flex;align-items:center;gap:11px;border:1px solid transparent;background:#f5f8fc;color:#5d7188;text-align:left;padding:12px 9px;border-radius:10px;font-size:.74rem;font-weight:700;line-height:1.5;min-height:48px;width:100%;transition:background .15s,color .15s}.home-jump-links svg{width:21px;height:21px;flex-shrink:0}.home-jump-links button:hover{background:#eaf2ff;color:#154e91}.home-jump-links button.active{background:#fff;color:#0b5ab2;border-color:#d4e4f4;box-shadow:0 5px 18px #17376309}.home-jump-links button.active i{width:5px;height:5px;border-radius:50%;background:#1c9876;position:absolute;right:7px;top:8px}.home-jump-toggle{display:none}.home-sections section[id]{scroll-margin-top:105px}.home-sections h2:focus{outline:0}.finder-icon svg{width:29px;height:29px}.step .num{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8f2ff;font-size:1rem;color:#0b5ab2}.home-sections .programme-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1150px) and (min-width:851px){.home-layout{grid-template-columns:160px minmax(0,1fr);padding-left:12px}.home-jump-links button{font-size:.68rem;gap:8px}.home-sections .programme-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.home-sections .faculty-layout{grid-template-columns:1fr}}
@media(max-width:850px){.home-layout{display:block;padding:0}.home-jump-nav{top:68px;margin:0;padding:8px 17px;background:#f5f8fcf5;border-bottom:1px solid #d6e2ef;backdrop-filter:blur(14px);z-index:19}.home-jump-caption{display:none}.home-jump-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:8px 13px;border:1px solid #d3e0ef;border-radius:10px;background:white;color:#5f7389;font-size:.7rem;min-height:46px;text-align:left}.home-jump-toggle b{display:block;color:#12447f;font-size:.8rem;line-height:1.5}.home-jump-toggle>span:last-child{font-size:1.3rem}.home-jump-links{display:none;position:absolute;top:calc(100% - 2px);left:17px;right:17px;padding:10px;background:#fff;border:1px solid #d3e0ef;border-radius:12px;box-shadow:0 18px 40px #112e5d26;max-height:65vh;overflow:auto}.home-jump-nav.expanded .home-jump-links{display:flex}.home-jump-links:before{display:none}.home-jump-links button{background:#fff;font-size:.82rem;padding:12px}.home-jump-links button.active{background:#eaf4ff;box-shadow:none}.home-sections .container{padding-left:17px;padding-right:17px}.home-sections section[id]{scroll-margin-top:155px}.home-sections .programme-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-jump-links button{transition:none}}

@media(max-width:560px){html,body{overflow-x:clip}}

@media(max-width:850px){.home-jump-toggle>span:first-child{min-width:0;flex:1;padding-right:12px}.home-jump-toggle b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;height:20px}.home-jump-toggle>span:last-child{flex-shrink:0}}

/* Research-directory layout: one primary search, compact masthead and clearer cards. */
.hero{min-height:0}.hero-inner{min-height:0;padding-top:42px;padding-bottom:42px}.hero-copy{max-width:820px}.hero h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.13;max-width:800px;margin:12px 0 16px}.hero-copy>p{max-width:650px;font-size:1rem;line-height:1.65;margin-bottom:18px}.hero-meta{margin-top:20px;gap:22px}.hero .eyebrow{font-size:.7rem;letter-spacing:.16em}.home-layout{background:#f5f8fc}.home-sections .section{padding-top:32px;padding-bottom:32px;background:transparent}.home-sections .section+.section{border-top:1px solid #e0e8f1}.home-sections .section-head{margin-bottom:20px}.home-sections .section-head h2{font-size:1.6rem;letter-spacing:-.025em}.finder-section{background:transparent;padding:28px 0 16px}.finder-panel{border-radius:16px;border-top:3px solid #087c86;box-shadow:0 10px 30px #183f6808}.finder-input input{background:white;border:1.5px solid #9eb5ce;min-height:54px}.finder-input input:focus{border-color:#0b63be}.finder-catalog-link{margin-left:auto;align-self:center;font-size:.84rem;font-weight:700;color:#13579b;text-decoration:none;padding:8px 0}.finder-catalog-link:hover{text-decoration:underline}.home-sections .news-grid{gap:16px}.news-card{border-radius:12px;box-shadow:none}.news-card h3{line-height:1.4}.news-card p{font-size:.9rem}.news-copy{padding:20px}.news-card time{font-size:.75rem;color:#0b6c77;font-weight:700}.news-image{max-height:180px}.news-expand{display:block;margin:18px 0 0 auto;border:0;background:transparent;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer;color:#13579b}.news-extra[hidden]{display:none}.programme-tile{border-radius:12px;box-shadow:none}.home-sections .opp-card{border-radius:12px;box-shadow:0 5px 18px #16375605}.footer-updated{margin-top:24px;color:#d0e3f7;font-size:.85rem}.footer-updated time{font-weight:700;color:white}.footer-credit{margin-top:14px;padding-top:16px}
@media(max-width:850px){.hero-inner{padding-top:30px;padding-bottom:30px}.hero h1{font-size:2rem}.hero-copy>p{font-size:.93rem}.hero-meta{gap:10px 18px;flex-wrap:wrap}.home-sections .section-head h2{font-size:1.4rem}}
@media(max-width:560px){.hero-inner{padding-top:26px;padding-bottom:26px}.hero h1{font-size:1.85rem}.hero-meta{font-size:.76rem}.hero-meta span{font-size:.76rem}.finder-panel{padding:20px 16px}.finder-input{flex-wrap:wrap}.finder-input input{flex-basis:100%;min-height:50px;font-size:.9rem}.finder-input .btn{width:100%;justify-content:center}.finder-catalog-link{margin-left:0;width:100%;padding-top:5px}.home-sections .section{padding-top:24px;padding-bottom:24px}.home-sections .finder-section{padding-top:20px}.news-image{max-height:none}}

.hero{padding:0}

.hero-copy{padding:0}

.call-status.resource{background:#e7eff8;color:#23466d}.official-resources{border-top:1px solid #dbe6f1;margin-top:24px;padding-top:12px}.official-resources a{color:#075dc3;text-underline-offset:3px}

/* Department guidance and the programme inventory share the portal's existing visual system. */
.dept-item{flex-wrap:wrap;align-items:flex-start}.chair-owner{display:flex;flex-direction:column;gap:5px;flex-basis:100%;border-top:1px solid #dce6f2;padding-top:10px;margin-top:2px}.chair-owner small{font-size:.69rem;font-weight:500;color:#627993;line-height:1.5}.chair-owner strong{font-size:.82rem;color:#163d65;line-height:1.5}.coordinator-caption{margin-top:20px!important}.selected-coordinator{padding:14px 20px;background:#eaf4fa;border:1px solid #cbddeb;border-radius:12px;margin:0 0 18px}.selected-coordinator .chair-owner{border:0;padding:0}.coordinator-support{background:#eff6fc;padding:24px;border:1px solid #d8e8f3;border-radius:15px;margin-top:28px}.coordinator-support h2{font-size:1.1rem}.coordinator-support p{font-size:.86rem;line-height:1.7}.coordinator-support summary{cursor:pointer;font-weight:700;padding:12px 0}.coordinator-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.coordinator-list>div{padding:14px;background:white;border-radius:10px}.coordinator-list .chip{white-space:normal;text-align:left}.programme-directory{background:#fff;border:1px solid #d8e6f3;border-radius:14px;padding:18px 22px;margin:0 0 24px}.programme-directory summary{font-size:1.05rem;font-weight:800;cursor:pointer;color:#123b6b}.programme-directory summary span{font-size:.8rem;background:#edf4fd;padding:3px 8px;margin-left:8px;border-radius:6px}.programme-directory>p{font-size:.85rem;line-height:1.7}.programme-directory h3{font-size:.9rem;margin-top:25px}.programme-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.programme-directory-grid button{display:grid;grid-template-columns:1fr auto;text-align:left;padding:13px 15px;border:1px solid #dfE8f2;background:#f8fbff;border-radius:9px;color:#174573;gap:4px;font-size:.82rem;font-weight:700}.programme-directory-grid button:hover{background:#e9f3ff;border-color:#8db7e7}.programme-directory-grid small{grid-row:2;font-weight:500;font-size:.7rem}.programme-directory-grid button>span:last-child{grid-row:1/3;grid-column:2;align-self:center}.home-sections .programme-directory{margin-top:20px}.opportunity-explained{margin:28px 0;display:grid;gap:0}.opportunity-explained>div{padding:19px 0;border-bottom:1px solid #e2eaf3}.opportunity-explained h2{font-size:1.02rem;color:#0e5791;margin:0 0 9px}.opportunity-explained p{margin:0;font-size:.94rem;line-height:1.85;color:#294661}
#app{position:relative;z-index:1}.science-background{position:fixed;inset:0;overflow:hidden;pointer-events:none;color:#1b6091;z-index:0}.abstract-linework{width:110%;height:110%;position:absolute;top:-5%;left:-5%;opacity:.10;animation:abstract-drift 95s ease-in-out infinite alternate}.motion-control{position:fixed;right:14px;bottom:14px;z-index:25;width:35px;height:35px;border:1px solid #cbdbe9;background:#f6fbffeb;border-radius:50%;color:#32658e;font-size:14px;box-shadow:0 2px 8px #1234560b}.motion-paused .abstract-linework,.motion-hidden .abstract-linework{animation-play-state:paused}@keyframes abstract-drift{from{transform:translate3d(-1%,0,0)}to{transform:translate3d(2%,2%,0)}}
@media(max-width:600px){.coordinator-list,.programme-directory-grid{grid-template-columns:1fr}.programme-directory{padding:16px}.coordinator-support{padding:17px}.abstract-linework{opacity:.075}.motion-control{right:9px;bottom:9px}}
@media(prefers-reduced-motion:reduce){.abstract-linework{animation:none!important}.motion-control{display:none}}
@media print{.science-background,.motion-control{display:none}}

.opp-card .call-amount{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

.home-layout{background:transparent}

.programme-directory-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:16px 0 20px}.programme-directory-tools p{font-size:.84rem;color:#60738d;margin:0;flex:1;min-width:210px}.programme-directory-tools a{font-size:.79rem}.programme-directory-grid button{grid-template-columns:52px minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:14px;align-items:center;background:#fff;min-height:88px;font-family:inherit;cursor:pointer}.programme-directory-grid .brand-mark,.programme-directory-grid .directory-monogram{grid-column:1;grid-row:1/3;width:52px;height:44px;border:1px solid #e4ebf2;border-radius:7px;padding:5px;display:flex;align-items:center;justify-content:center;margin:0}.programme-directory-grid .brand-mark img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto}.programme-directory-grid .directory-programme-name{grid-column:2;grid-row:1;line-height:1.45}.programme-directory-grid small{grid-column:2;grid-row:2;color:#6f8198}.programme-directory-grid button>.directory-arrow:last-child{grid-column:3;grid-row:1/3;color:#6385a5}.directory-monogram{font-size:.75rem;color:#31658c;background:#f1f6fa}
@media(max-width:600px){.programme-directory-grid button{grid-template-columns:42px minmax(0,1fr) 16px;gap:4px 10px;padding:12px}.programme-directory-grid .brand-mark,.programme-directory-grid .directory-monogram{width:42px;height:38px}}
.official-provenance{margin-top:28px;padding:20px;border:1px solid #dce6f2;border-radius:12px;background:#f7faff;overflow-wrap:anywhere}.official-provenance summary{cursor:pointer;font-weight:700;color:#174573}.official-provenance li{margin:12px 0}.opportunity-explained p{white-space:pre-line;overflow-wrap:anywhere}
