/* ============ ADDITIONS ============ */
/* Announcement bar */
.announce{background:var(--navy-800); color:#fff; font-size:13px;}
.announce-inner{max-width:var(--container); margin:0 auto; padding:10px var(--gutter); display:flex; align-items:center; gap:14px;}
.announce .dot{width:6px; height:6px; border-radius:999px; background:var(--sand-300); flex-shrink:0; box-shadow:0 0 0 4px rgba(240,187,113,0.18);}
.announce .copy{flex:1; letter-spacing:0.01em;}
.announce .copy strong{font-weight:600;}
.announce .cta{color:var(--sand-300); text-decoration:none; font-weight:600; margin-left:6px;}
.announce .cta:hover{color:#fff;}
.announce .close{background:none; border:0; color:rgba(255,255,255,0.6); font-size:20px; cursor:pointer; line-height:1; padding:0 4px;}
.announce .close:hover{color:#fff;}

/* Mega menu */
.nav-item{position:relative; padding:26px 0;}
.has-caret{display:inline-flex; align-items:center; gap:4px;}
.has-caret::after{content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); margin-left:4px; opacity:0.6;}
.mega{
  position:absolute; top:100%; left:-20px; width:340px;
  background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:12px; opacity:0; visibility:hidden;
  transform:translateY(6px); transition:all 0.16s ease; z-index:60;
}
.mega.wide{width:640px; display:grid; grid-template-columns:1fr 1fr; gap:4px;}
.nav-item:hover .mega, .nav-item.open .mega{opacity:1; visibility:visible; transform:translateY(0);}
.mega-item{display:grid; grid-template-columns:auto 1fr; column-gap:14px; padding:12px 14px; border-radius:var(--radius-sm); text-decoration:none; color:inherit; transition:background 0.12s;}
.mega-item:hover{background:var(--surface);}
.mega-item .code{grid-row:1/3; align-self:center; font-family:var(--font-mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--flamingo); padding:4px 8px; background:var(--flamingo-50); border-radius:2px; white-space:nowrap;}
.mega-item .t{font-family:var(--font-display); font-size:17px; font-weight:500; letter-spacing:-0.01em; color:var(--text);}
.mega-item .d{font-size:12px; color:var(--muted); line-height:1.4;}
.mega-footer{grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; padding:12px 14px; margin-top:4px; border-top:1px solid var(--rule); font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase;}
.mega-footer .l{color:var(--muted);}

/* Nav search */
.nav-search{display:flex; align-items:center; background:var(--surface); border:1px solid var(--rule); border-radius:999px; padding:6px 12px; gap:8px; transition:all 0.2s;}
.nav-search .icon{width:14px; height:14px; color:var(--muted); flex-shrink:0; cursor:pointer;}
.nav-search input{border:0; background:transparent; font-family:var(--font-body); font-size:13px; width:120px; padding:0; outline:none; color:var(--text);}
.nav-search input::placeholder{color:var(--muted);}
.nav-search.open{background:var(--panel); border-color:var(--navy-300); box-shadow:0 0 0 3px rgba(4,4,116,0.08);}
.nav-search.open input{width:180px;}

.nav-burger{display:none; background:none; border:0; color:var(--text); padding:6px; cursor:pointer;}

/* Mobile menu */
.mobile-menu{
  position:fixed; top:0; right:0; bottom:0; width:320px; max-width:90vw;
  background:var(--panel); z-index:200; padding:32px 28px;
  transform:translateX(100%); transition:transform 0.25s ease;
  box-shadow:var(--shadow-lg); overflow-y:auto;
}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu .close{position:absolute; top:14px; right:14px; background:none; border:0; font-size:28px; line-height:1; color:var(--text); cursor:pointer;}
.mobile-menu-group{margin-bottom:28px;}
.mobile-menu-group h5{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; font-weight:500;}
.mobile-menu-group a{display:block; padding:10px 0; font-family:var(--font-display); font-size:20px; color:var(--text); text-decoration:none; border-bottom:1px solid var(--rule);}
.mobile-menu-group a:hover{color:var(--flamingo);}

/* Shared page header (About / Partners) */
.page-header{
  background:var(--navy-600); color:#fff; padding:56px 0 80px;
  position:relative; overflow:hidden;
}
.page-header::before{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(237,164,85,0.18) 1px, transparent 1.2px);
  background-size:24px 24px;
  mask-image:radial-gradient(ellipse 60% 80% at 90% 50%, black, transparent 70%);
}
.page-header .inner{position:relative; max-width:820px;}
.page-header .bc{display:flex; gap:8px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--sand-300); margin-bottom:24px;}
.page-header .eyebrow{color:var(--sand-300);}
.page-header h1{color:#fff; margin-bottom:24px;}
.page-header h1 em{color:var(--sand-300);}
.page-header .lede{color:rgba(255,255,255,0.85);}

/* ============ ABOUT PAGE ============ */
.about-story{display:grid; grid-template-columns:1.3fr 1fr; gap:64px; align-items:start; padding:96px 0;}
.about-story p{color:var(--ink-700); margin-bottom:1em; font-size:15.5px;}
.about-story .visual{
  aspect-ratio:3/4; border-radius:var(--radius-lg); overflow:hidden; position:relative;
  background:linear-gradient(160deg, var(--navy-500), var(--navy-800));
}
.about-story .visual::before{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(237,164,85,0.35) 1px, transparent 1.2px);
  background-size:22px 22px;
  mask-image:linear-gradient(135deg, black 20%, transparent 80%);
}
.about-story .visual::after{
  content:'— founding cohort · Westlands 2019';
  position:absolute; bottom:16px; left:16px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em;
  background:rgba(0,0,0,0.5); color:var(--sand-200);
  padding:6px 10px; border-radius:2px;
}

.values{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.value-card{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:28px;}
.value-card .n{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--flamingo); margin-bottom:16px;}
.value-card h4{margin-bottom:10px;}
.value-card p{font-size:14px; color:var(--ink-600); margin:0;}

/* Timeline */
.timeline{position:relative; padding-left:32px;}
.timeline::before{content:''; position:absolute; left:0; top:8px; bottom:8px; width:1px; background:var(--rule);}
.tl-item{position:relative; padding-bottom:40px;}
.tl-item::before{content:''; position:absolute; left:-36px; top:10px; width:9px; height:9px; border-radius:999px; background:var(--flamingo); box-shadow:0 0 0 4px var(--flamingo-50);}
.tl-item .yr{font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; color:var(--flamingo); margin-bottom:6px;}
.tl-item h4{margin-bottom:6px;}
.tl-item p{font-size:14px; color:var(--ink-600); margin:0; max-width:540px;}

/* Faculty */
.faculty-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.faculty-card{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); overflow:hidden;}
.faculty-card .portrait{
  aspect-ratio:1; background:linear-gradient(160deg, var(--navy-500), var(--navy-800)); position:relative;
}
.faculty-card .portrait.v2{background:linear-gradient(160deg, var(--flamingo-500), var(--flamingo-700));}
.faculty-card .portrait.v3{background:linear-gradient(160deg, var(--sand-400), var(--sand-500));}
.faculty-card .portrait.v4{background:linear-gradient(160deg, var(--navy-400), var(--navy-600));}
.faculty-card .portrait::after{
  content:'— portrait'; position:absolute; bottom:10px; left:10px;
  font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em;
  background:rgba(0,0,0,0.5); color:#fff; padding:3px 7px; border-radius:2px;
}
.faculty-card .body{padding:20px;}
.faculty-card .n{font-family:var(--font-display); font-size:19px; font-weight:500; margin-bottom:4px;}
.faculty-card .r{font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--flamingo); margin-bottom:12px;}
.faculty-card .b{font-size:13px; color:var(--ink-600); margin:0;}

/* Locations */
.locations{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.loc-card{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:24px; position:relative; overflow:hidden;}
.loc-card::before{
  content:''; position:absolute; top:0; right:0; width:80px; height:80px;
  background-image:radial-gradient(circle at 1px 1px, var(--ink-200) 1px, transparent 1.2px);
  background-size:12px 12px; opacity:0.6;
}
.loc-card .flag{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; color:var(--flamingo); margin-bottom:12px;}
.loc-card h4{margin-bottom:8px;}
.loc-card p{font-size:14px; color:var(--ink-600); margin:0 0 16px;}
.loc-card .meta{display:flex; gap:16px; font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:0.06em; padding-top:16px; border-top:1px solid var(--rule);}

/* ============ PARTNERS PAGE ============ */
.partner-types{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.partner-type{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:32px;}
.partner-type .ico{width:48px; height:48px; border-radius:var(--radius-sm); background:var(--flamingo-50); color:var(--flamingo-600); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.partner-type h4{margin-bottom:14px;}
.partner-type ul{list-style:none; padding:0; margin:18px 0 0; border-top:1px solid var(--rule); padding-top:16px;}
.partner-type ul li{padding:6px 0 6px 20px; font-size:13.5px; color:var(--ink-600); position:relative;}
.partner-type ul li::before{content:''; position:absolute; left:0; top:14px; width:10px; height:1px; background:var(--flamingo);}

.partner-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-left:1px solid var(--rule); border-top:1px solid var(--rule); background:var(--panel);}
.partner-cell{display:flex; align-items:center; justify-content:center; padding:36px 16px; font-family:var(--font-display); font-size:19px; font-weight:500; color:var(--ink-600); letter-spacing:0.01em; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); transition:all 0.15s;}
.partner-cell:hover{background:var(--navy-50); color:var(--navy-600);}

.case-study{display:grid; grid-template-columns:1fr 1.3fr; gap:56px; align-items:center; background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:48px;}
.case-study .visual{aspect-ratio:4/3; border-radius:var(--radius-md); overflow:hidden; position:relative; background:var(--navy-600);}
.case-study h3{font-size:32px; margin-bottom:18px;}
.case-study .partner-logo{font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; color:var(--flamingo); margin-bottom:12px;}
.case-study p{color:var(--ink-700); margin-bottom:24px;}
.case-study .metrics{display:flex; gap:32px; padding-top:24px; border-top:1px solid var(--rule);}
.case-study .metric .n{font-family:var(--font-display); font-size:32px; font-weight:500; color:var(--navy-600); line-height:1;}
.case-study .metric .l{font-family:var(--font-mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-top:6px;}

/* ============ HACKATHONS PAGE ============ */
.event-hero{background:var(--navy-600); color:#fff; padding:56px 0 96px; position:relative; overflow:hidden;}
.event-hero::before{content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(237,164,85,0.18) 1px, transparent 1.2px); background-size:24px 24px; mask-image:radial-gradient(ellipse 60% 80% at 10% 50%, black, transparent 70%);}
.event-hero .inner{position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center;}
.event-hero h1{color:#fff; margin-bottom:20px;}
.event-hero h1 em{color:var(--sand-300);}
.event-hero .lede{color:rgba(255,255,255,0.85);}

.event-countdown{background:rgba(255,255,255,0.06); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); padding:28px;}
.event-countdown .lbl{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--sand-300); margin-bottom:16px;}
.event-countdown .cells{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.event-countdown .cell{background:rgba(0,0,0,0.25); border-radius:var(--radius-sm); padding:16px 8px; text-align:center;}
.event-countdown .cell .n{font-family:var(--font-display); font-size:40px; font-weight:500; color:#fff; line-height:1; letter-spacing:-0.02em;}
.event-countdown .cell .l{font-family:var(--font-mono); font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:var(--sand-300); margin-top:6px;}

.event-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.event-card{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column;}
.event-card .cover{aspect-ratio:2/1; background:linear-gradient(135deg, var(--navy-600), var(--navy-800)); position:relative; display:flex; align-items:flex-start; justify-content:space-between; padding:20px;}
.event-card .cover.v2{background:linear-gradient(135deg, var(--flamingo-500), var(--flamingo-700));}
.event-card .cover.v3{background:linear-gradient(135deg, var(--sand-400), var(--sand-500));}
.event-card .cover.v4{background:linear-gradient(135deg, var(--navy-400), var(--navy-600));}
.event-card .cover::after{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,0.25) 1px, transparent 1.2px);
  background-size:18px 18px; mask-image:linear-gradient(135deg, black 20%, transparent 80%);
  pointer-events:none;
}
.event-card .cover .date{font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; color:#fff; background:rgba(0,0,0,0.3); padding:4px 10px; border-radius:2px; position:relative; z-index:1;}
.event-card .cover .badge{position:relative; z-index:1;}
.event-card .body{padding:24px; flex:1; display:flex; flex-direction:column;}
.event-card .prize{display:flex; gap:12px; align-items:baseline; padding-bottom:16px; border-bottom:1px solid var(--rule); margin-bottom:16px;}
.event-card .prize .amt{font-family:var(--font-display); font-size:28px; font-weight:500; color:var(--navy-600); letter-spacing:-0.01em;}
.event-card .prize .lbl{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted);}
.event-card h4{margin-bottom:10px;}
.event-card .desc{font-size:14px; color:var(--ink-600); margin-bottom:20px; flex:1;}
.event-card .meta{display:flex; gap:12px; flex-wrap:wrap; font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; color:var(--muted); text-transform:uppercase;}

.winners-list{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); overflow:hidden;}
.winner-row{display:grid; grid-template-columns:56px 2.5fr 1.2fr 1fr 120px; gap:20px; align-items:center; padding:20px 24px; border-bottom:1px solid var(--rule);}
.winner-row:last-child{border-bottom:0;}
.winner-row .place{font-family:var(--font-display); font-size:28px; font-weight:500; color:var(--muted); letter-spacing:-0.02em;}
.winner-row .place.gold{color:var(--flamingo);}
.winner-row .proj{font-family:var(--font-display); font-size:19px; font-weight:500; letter-spacing:-0.01em;}
.winner-row .team{font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; color:var(--muted); text-transform:uppercase; margin-top:4px;}
.winner-row .event{font-size:13px; color:var(--ink-600);}
.winner-row .prize{font-family:var(--font-mono); font-size:12px; color:var(--flamingo); text-align:right; letter-spacing:0.04em;}

.pagination{display:inline-flex; gap:4px; align-items:center;}
.pagination button{width:36px; height:36px; border:1px solid var(--rule); background:var(--panel); color:var(--text); font-family:var(--font-mono); font-size:12px; cursor:pointer; border-radius:var(--radius-sm); transition:all 0.15s;}
.pagination button:hover{background:var(--surface); border-color:var(--navy-200);}
.pagination button.active{background:var(--navy-600); color:#fff; border-color:var(--navy-600);}
.pagination .ellipsis{color:var(--muted); padding:0 6px;}

/* ============ LMS DASHBOARD ============ */
.lms-shell{display:grid; grid-template-columns:240px 1fr; min-height:calc(100vh - 72px); background:var(--surface);}
.lms-side{background:var(--panel); border-right:1px solid var(--rule); padding:24px 16px;}
.lms-side .ident{display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:12px 12px 20px; border-bottom:1px solid var(--rule); margin-bottom:16px;}
.lms-side .ident .av{width:44px; height:44px; border-radius:999px; background:var(--navy-100); color:var(--navy-600); font-family:var(--font-display); font-size:18px; font-weight:500; display:flex; align-items:center; justify-content:center; margin-bottom:8px;}
.lms-side .ident .n{font-weight:500; font-size:14px;}
.lms-side .ident .c{font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted);}
.lms-nav{list-style:none; padding:0; margin:0;}
.lms-nav li{margin-bottom:2px;}
.lms-nav a{display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:var(--radius-sm); text-decoration:none; color:var(--ink-700); font-size:13.5px; transition:all 0.12s;}
.lms-nav a svg{width:16px; height:16px; flex-shrink:0; color:var(--muted);}
.lms-nav a:hover{background:var(--surface); color:var(--flamingo);}
.lms-nav a:hover svg{color:var(--flamingo);}
.lms-nav a.active{background:var(--flamingo-50); color:var(--flamingo-700);}
.lms-nav a.active svg{color:var(--flamingo);}
.lms-nav .group-lbl{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); padding:20px 12px 8px; font-weight:500;}

.lms-main{padding:32px 40px;}
.lms-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px;}
.lms-head .sub{font-family:var(--font-mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:6px;}
.lms-head h2{font-size:36px; margin:0;}
.lms-head .actions{display:flex; gap:10px;}

.lms-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px;}
.lms-stat{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:20px;}
.lms-stat .l{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:12px;}
.lms-stat .n{font-family:var(--font-display); font-size:36px; font-weight:500; color:var(--navy-600); line-height:1; letter-spacing:-0.02em;}
.lms-stat .d{font-size:12px; color:var(--muted); margin-top:8px;}

.lms-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:24px;}
.current-course{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); overflow:hidden;}
.current-course .banner{padding:28px; background:linear-gradient(135deg, var(--navy-600), var(--navy-800)); color:#fff; position:relative; overflow:hidden;}
.current-course .banner::before{content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(237,164,85,0.2) 1px, transparent 1.2px); background-size:20px 20px; mask-image:radial-gradient(ellipse at 80% 50%, black, transparent 70%);}
.current-course .banner .code{font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; color:var(--sand-300); margin-bottom:8px; position:relative;}
.current-course .banner h3{color:#fff; margin-bottom:6px; position:relative;}
.current-course .banner .sub{font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; color:rgba(255,255,255,0.75); position:relative;}
.current-course .progress-meta{display:flex; justify-content:space-between; padding:20px 28px 8px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted);}
.current-course .progress-bar{margin:0 28px 20px; height:6px; background:var(--ink-100); border-radius:999px; overflow:hidden;}
.current-course .progress-bar .fill{height:100%; background:var(--flamingo); border-radius:999px;}
.current-course .module-list{list-style:none; padding:0; margin:0; border-top:1px solid var(--rule);}
.current-course .module-list li{display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; padding:14px 28px; border-bottom:1px solid var(--rule); font-size:14px;}
.current-course .module-list li:last-child{border-bottom:0;}
.current-course .module-list .check{width:22px; height:22px; border-radius:999px; border:1.5px solid var(--rule); display:flex; align-items:center; justify-content:center; color:#fff;}
.current-course .module-list li.done .check{background:var(--success); border-color:var(--success);}
.current-course .module-list li.done .t{color:var(--ink-600);}
.current-course .module-list li.current{background:var(--flamingo-50);}
.current-course .module-list li.current .check{background:var(--flamingo); border-color:var(--flamingo); box-shadow:0 0 0 4px rgba(241,89,42,0.15);}
.current-course .module-list li.current .t{color:var(--flamingo-700); font-weight:500;}
.current-course .module-list .m{font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:0.04em;}

.lms-side-card{background:var(--panel); border:1px solid var(--rule); border-radius:var(--radius-md); padding:22px; margin-bottom:16px;}
.lms-side-card h4{margin-bottom:16px; font-size:17px;}
.schedule-item{display:grid; grid-template-columns:52px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--rule);}
.schedule-item:last-child{border-bottom:0;}
.schedule-item .time{font-family:var(--font-mono); font-size:12px; color:var(--flamingo); letter-spacing:0.04em; font-weight:500;}
.schedule-item .t{font-size:13.5px; font-weight:500; margin-bottom:3px;}
.schedule-item .s{font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:0.04em;}
.assignment-row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--rule); font-size:13.5px;}
.assignment-row:last-child{border-bottom:0;}
.assignment-row .due{font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:0.04em;}
.assignment-row.urgent .t{color:var(--flamingo-700); font-weight:500;}
.assignment-row.urgent .due{color:var(--flamingo);}

/* Responsive additions */
@media (max-width: 1080px) {
  .nav-links{display:none;}
  .nav-burger{display:inline-flex;}
  .nav-search{display:none;}
  .about-story, .case-study, .event-hero .inner{grid-template-columns:1fr; gap:32px;}
  .values, .partner-types, .faculty-grid{grid-template-columns:1fr 1fr;}
  .locations{grid-template-columns:1fr;}
  .partner-grid{grid-template-columns:repeat(2,1fr);}
  .event-grid, .lms-stats, .lms-grid{grid-template-columns:1fr;}
  .lms-shell{grid-template-columns:1fr;}
  .lms-side{display:none;}
  .lms-main{padding:24px 20px;}
  .winner-row{grid-template-columns:40px 1fr auto; row-gap:6px;}
  .winner-row .event, .winner-row > div:nth-child(4){display:none;}
  .announce-inner{flex-wrap:wrap;}
}
