body[data-page="university"]{
  --milo:#00E676;
  --milo-dark:#00B85C;
  --lax:#2D8CFF;
  --lax-dark:#1565E0;
  --bg:#0A0A0A;
  --card:#141414;
  --ink:#F2F4F4;
  --muted:#93A1A4;
  --accent:#F2F4F4;
}
body[data-page="university"] h1, body[data-page="university"] h2, body[data-page="university"] h3{
  font-family:'Fraunces',serif;
}
body[data-page="university"] .site-nav{ background:rgba(10,10,10,0); border-bottom:1px solid transparent; }
body[data-page="university"] .site-nav.scrolled{ background:rgba(10,10,10,.92); border-bottom:1px solid rgba(255,255,255,.08); }
body[data-page="university"] .nav-brand{ font-family:'Bricolage Grotesque',sans-serif; }
body[data-page="university"] .nav-brand .dot{ background:linear-gradient(90deg,var(--milo),var(--lax)); }
body[data-page="university"] .nav-links a:hover{ background:rgba(255,255,255,.08); }
body[data-page="university"] .nav-links a.active{ background:var(--ink); color:#0A0A0A; }
body[data-page="university"] .nav-toggle span{ background:var(--ink); }
@media (max-width:880px){ body[data-page="university"] .nav-links{ background:#101010; } }
body[data-page="university"] .btn{ border-color:rgba(255,255,255,.3); color:var(--ink); }
body[data-page="university"] .btn.primary{ background:var(--ink); color:#0A0A0A; border-color:var(--ink); }

/* ---------- HERO ---------- */
.uni-hero{
  padding:calc(var(--nav-h) + 76px) 0 70px;
  text-align:center;
}
.uni-hero .eyebrow{ justify-content:center; display:flex; }
.uni-hero h1{
  font-weight:600;
  font-size:clamp(2.2rem,5.6vw,4rem);
  letter-spacing:-.01em;
  line-height:1.08;
  margin:16px auto 0;
  max-width:15ch;
  color:var(--ink);
}
.uni-hero h1 .g{ color:var(--milo); font-style:italic; }
.uni-hero h1 .b{ color:var(--lax); font-style:italic; }
.uni-hero p{
  max-width:56ch;
  margin:22px auto 0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.65;
  font-family:'Inter',sans-serif;
}
.uni-split-bar{
  margin:44px auto 0;
  max-width:420px;
  height:6px;
  border-radius:100px;
  overflow:hidden;
  display:flex;
}
.uni-split-bar span{ flex:1; }
.uni-split-bar span:first-child{ background:var(--milo); }
.uni-split-bar span:last-child{ background:var(--lax); }

/* ---------- PROJECT SECTION SHELL ---------- */
.proj-section{ padding:80px 0; position:relative; }
.proj-section.milo{ background:linear-gradient(180deg, rgba(0,230,118,.06), rgba(0,230,118,.02)); border-top:1px solid rgba(0,230,118,.2); border-bottom:1px solid rgba(0,230,118,.2); }
.proj-section.lax{ background:linear-gradient(180deg, rgba(45,140,255,.06), rgba(45,140,255,.02)); border-bottom:1px solid rgba(45,140,255,.2); }

.proj-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:26px;
  flex-wrap:wrap;
  margin-bottom:40px;
}
.proj-head .tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:6px 13px;
  border-radius:100px;
  color:#06170f;
  display:inline-block;
  margin-bottom:14px;
}
.milo .proj-head .tag{ background:var(--milo); }
.lax .proj-head .tag{ background:var(--lax); color:#04122b; }
.proj-head h2{ font-size:clamp(1.8rem,4vw,2.7rem); font-weight:600; letter-spacing:-.01em; max-width:16ch; color:var(--ink); }
.proj-head .team{ font-size:.82rem; color:var(--muted); font-family:'Inter',sans-serif; max-width:34ch; }
.proj-head .team b{ display:block; color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:5px; font-weight:500;}

.proj-copy{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  margin-bottom:46px;
}
.proj-copy p{ font-size:1.02rem; line-height:1.7; color:var(--ink); font-family:'Inter',sans-serif; }
.proj-copy p + p{ margin-top:14px; }
.proj-copy p strong{ color:#fff; }
.stat-col{ display:flex; flex-direction:column; gap:16px; }
.stat-box{
  background:var(--card);
  border-radius:14px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.08);
}
.milo .stat-box{ border-color:rgba(0,230,118,.3); }
.lax .stat-box{ border-color:rgba(45,140,255,.3); }
.stat-box .n{ font-family:'Fraunces',serif; font-weight:600; font-size:1.7rem; }
.milo .stat-box .n{ color:var(--milo); }
.lax .stat-box .n{ color:var(--lax); }
.stat-box .l{ font-size:.8rem; color:var(--muted); margin-top:2px; font-family:'Inter',sans-serif; }

@media (max-width:840px){ .proj-copy{ grid-template-columns:1fr; } }

.deliv-list{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px; }
.deliv-list span{
  font-size:.82rem;
  font-family:'Inter',sans-serif;
  font-weight:500;
  padding:8px 15px;
  border-radius:100px;
  background:var(--card);
  border:1px solid rgba(255,255,255,.1);
  color:var(--ink);
}

.media-row{ display:grid; grid-template-columns:300px 220px 220px; gap:16px; align-items:start; justify-content:start; }
.media-video{ border-radius:16px; overflow:hidden; background:#000; aspect-ratio:9/16; max-width:300px; }
.media-video video{ width:100%; height:100%; object-fit:cover; display:block; }
.media-gallery{ display:grid; grid-template-columns:1fr; gap:10px; }
.media-gallery img{ border-radius:12px; width:100%; height:100%; object-fit:cover; aspect-ratio:1; }
.media-vending{ border-radius:16px; overflow:hidden; aspect-ratio:2/3; }
.media-vending img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
@media (max-width:900px){
  .media-row{ grid-template-columns:1fr 1fr; }
  .media-video{ max-width:none; grid-column:1 / -1; margin:0 auto; max-width:260px; }
}
@media (max-width:560px){
  .media-row{ grid-template-columns:1fr; }
  .media-video{ grid-column:auto; max-width:240px; margin:0 auto; }
}

.uni-gallery{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.uni-gallery img{ border-radius:10px; aspect-ratio:1; object-fit:cover; }
@media (max-width:900px){ .uni-gallery{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .uni-gallery{ grid-template-columns:repeat(2,1fr); } }

/* ---------- CTA ---------- */
.uni-cta{ text-align:center; padding:90px 0 100px; }
.uni-cta h2{ font-size:clamp(1.7rem,3.8vw,2.4rem); font-weight:600; max-width:20ch; margin:0 auto 26px; color:var(--ink); }
