
/* HERO */
.hero{position:relative;padding:76px 40px 0;background:
radial-gradient(ellipse 900px 520px at 90% -10%, rgba(239,126,26,0.10), transparent 60%),
radial-gradient(ellipse 760px 540px at -8% 90%, rgba(0,38,77,0.07), transparent 60%),
radial-gradient(circle, var(--dot-color) 1.6px, transparent 1.6px),
var(--paper);background-size:auto,auto,22px 22px,auto;overflow:hidden;}
.hero-inner{max-width:900px;margin:0 auto;text-align:center;}
h1.hero-title{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.6vw,52px);line-height:1.14;letter-spacing:-0.01em;color:var(--heading);margin-top:18px;}
h1.hero-title em{font-style:italic;font-weight:500;color:var(--orange);}
.hero-sub{font-size:17px;line-height:1.7;color:var(--muted);max-width:56ch;margin:18px auto 0;}

.hero-search{max-width:640px;margin:36px auto 0;display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;padding:8px 8px 8px 24px;box-shadow:var(--shadow-lg);}
.hero-search svg{width:19px;height:19px;stroke:var(--muted);flex-shrink:0;}
.hero-search input{flex:1;min-width:0;border:none;outline:none;font-size:15px;font-family:var(--body);color:var(--ink);background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero-search input::placeholder{color:#94a3b8;}
.hero-search button{background:var(--orange);color:#fff;border:none;border-radius:999px;padding:13px 24px;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s ease;flex-shrink:0;}
.hero-search button:hover{background:#d96e0f;}
@media (max-width:560px){.hero-search{padding:8px 8px 8px 18px;border-radius:22px;flex-wrap:wrap;}.hero-search input{flex:1;min-width:0;padding:8px 10px;font-size:14px;}.hero-search button{flex-basis:100%;}}

.hero-chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:20px;}
.hero-chips a{font-size:13px;font-weight:600;color:var(--heading);background:var(--navy-pale);border:1px solid transparent;padding:8px 16px;border-radius:999px;transition:all .2s ease;}
.hero-chips a:hover{background:var(--orange-pale);color:#b85e0f;}

.hero-stats{max-width:1232px;margin:56px auto 0;background:var(--navy);border-radius:24px 24px 0 0;position:relative;top:1px;}
.hero-stats-grid{padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);}
.hstat{padding:34px 20px 30px 0;border-right:1px solid rgba(255,255,255,0.14);}
.hstat:last-child{border-right:none;}
.hstat .num{font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,28px);color:#fff;}
.hstat .lbl{font-size:12px;font-weight:500;color:rgba(255,255,255,0.62);margin-top:9px;line-height:1.5;max-width:20ch;}
@media (max-width:850px){.hero-stats-grid{grid-template-columns:repeat(2,1fr);}.hstat{padding:24px 16px 22px 0;}}
@media (max-width:640px){.hero{padding-top:56px;}}

/* SECTION GENERIC */
section.block{padding:100px 0;}
.procedure{background:var(--paper-2);}
.section-head{max-width:680px;margin:0 auto 52px;text-align:center;}
.section-head.left{margin:0 0 44px;text-align:left;max-width:640px;}
.section-head h2{font-family:var(--display);font-weight:700;font-size:clamp(27px,3.2vw,40px);margin-top:14px;color:var(--heading);line-height:1.18;}
.section-head p{color:var(--muted);font-size:16px;line-height:1.7;margin-top:15px;max-width:62ch;}
.section-head.center p{margin-left:auto;margin-right:auto;}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-foot{text-align:center;margin-top:44px;}
@media (max-width:600px){section.block{padding:70px 0;}}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}

/* LEADERSHIP */
.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.leader-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 22px;text-align:center;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.leader-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.leader-avatar{width:68px;height:68px;border-radius:50%;background:var(--navy-pale);color:var(--heading);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .25s ease;overflow:hidden;}
.leader-card:hover .leader-avatar{background:var(--orange);color:#fff;}
.leader-avatar svg{width:28px;height:28px;}
.leader-avatar img{width:100%;height:100%;object-fit:cover;}
.leader-card h4{font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--heading);margin-bottom:5px;line-height:1.35;}
.leader-card p{font-size:12.5px;color:var(--muted);line-height:1.5;}
@media (max-width:980px){.leader-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.leader-grid{grid-template-columns:1fr;}}

/* ABOUT / PILLAR */
.pillar-row{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
@media (max-width:900px){.pillar-row{grid-template-columns:1fr;gap:34px;}}
.pillar-row p{font-size:15.5px;line-height:1.8;color:var(--muted);margin-bottom:16px;}
.pillar-card{background:linear-gradient(160deg,var(--navy) 0%,#013a73 100%);border-radius:22px;padding:36px 32px;color:#fff;position:relative;overflow:hidden;}
.pillar-card::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 300px 220px at 90% -10%, rgba(239,126,26,0.26), transparent 60%);}
.pillar-card blockquote{font-family:var(--display);font-style:italic;font-weight:500;font-size:19px;line-height:1.55;position:relative;}
.pillar-list{list-style:none;display:flex;flex-direction:column;margin-top:26px;position:relative;}
.pillar-list li{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.14);font-size:13px;color:rgba(255,255,255,0.75);}
.pillar-list li:last-child{border-bottom:none;}
.pillar-list li b{color:#fff;font-weight:700;}

/* CAMPUS PANELS */
.campus-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:980px){.campus-panel-grid{grid-template-columns:1fr;}}
.campus-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;gap:18px;transition:transform .3s ease, box-shadow .3s ease;}
.campus-panel:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.campus-panel-head{display:flex;align-items:center;gap:14px;}
.campus-panel-ic{width:52px;height:52px;border-radius:14px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.campus-panel-ic svg{width:24px;height:24px;}
.campus-panel h3{font-family:var(--display);font-weight:700;font-size:19px;color:var(--heading);}
.campus-panel .meta{font-size:12px;color:var(--muted);font-weight:600;margin-top:3px;}
.campus-panel .meta b{color:var(--orange);}
.dept-chips{display:flex;flex-wrap:wrap;gap:8px;}
.dept-chips a{font-size:12px;font-weight:600;color:var(--heading);background:var(--paper-2);border:1px solid var(--line);padding:6px 12px;border-radius:999px;transition:all .2s ease;}
.dept-chips a:hover{background:var(--orange-pale);color:#b85e0f;border-color:transparent;}
.campus-panel-foot{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;}



/* ── Featured Videos carousel ── */
.fv-section {
  position: relative;
  background: #08101f;
  padding: 80px 0 0;
  overflow: hidden;
}
.fvc-bg-blur {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: blur(80px) saturate(1.3);
  opacity: .22; transform: scale(1.12);
  transition: background-image .8s ease;
  pointer-events: none;
}
.fvc-bg-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,16,31,.75) 0%, rgba(8,16,31,.45) 55%, #08101f 100%);
  pointer-events: none;
}

/* Section header */
.fv-head {
  position: relative; z-index: 2;
  display: flex; align-items: flex-end; justify-content: space-between;
  flex-wrap: wrap; gap: 16px;
  margin-bottom: 40px;
}
.fv-head-left { display: flex; flex-direction: column; gap: 8px; }
.fv-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  color: #ef4444; font-size: 10px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
}
.fv-eyebrow i { font-size: 12px; }
.fv-title {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800; font-family: var(--font-title);
  color: #fff; margin: 0; line-height: 1.15;
}
.fv-yt-link {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 20px; border-radius: 50px;
  border: 1.5px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.7); font-size: 12.5px; font-weight: 600;
  text-decoration: none; transition: all .2s; white-space: nowrap;
  flex-shrink: 0;
}
.fv-yt-link i { color: #ef4444; font-size: 14px; }
.fv-yt-link:hover { border-color: #ef4444; color: #fff; }

/* Carousel stage — constrained to the 1280px container */
.fvc-stage {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 24px;
  box-sizing: border-box;
  overflow: hidden;
  user-select: none;
}

/* Far cards (2nd from each side) */
.fvc-far {
  flex-shrink: 0;
  width: clamp(80px, 13vw, 190px);
  aspect-ratio: 16/9;
  border-radius: 10px; overflow: hidden;
  background: #111; opacity: .22;
  position: relative; z-index: 1;
  transition: opacity .4s;
}
.fvc-far-left  { transform: translateX(85px) scale(.78); }
.fvc-far-right { transform: translateX(-85px) scale(.78); }

/* Side cards */
.fvc-side {
  flex-shrink: 0;
  width: clamp(130px, 19vw, 280px);
  aspect-ratio: 16/9;
  border-radius: 14px; overflow: hidden;
  background: #111; cursor: pointer;
  position: relative; z-index: 2;
  box-shadow: 0 8px 28px rgba(0,0,0,.5);
  transition: opacity .4s, transform .4s;
}
.fvc-left  { transform: translateX(46px) scale(.86); opacity: .58; }
.fvc-right { transform: translateX(-46px) scale(.86); opacity: .58; }
.fvc-side:hover { opacity: .8; }

.fvc-side-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fvc-side-veil {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.45);
  transition: background .2s;
}
.fvc-side:hover .fvc-side-veil { background: rgba(0,0,0,.25); }

/* Center card */
.fvc-center {
  flex-shrink: 0;
  width: clamp(260px, 50vw, 720px);
  aspect-ratio: 16/9;
  border-radius: 18px; overflow: hidden;
  background: #000; position: relative; z-index: 3;
  box-shadow: 0 24px 70px rgba(0,0,0,.72);
}
.fvc-thumb-wrap, .fvc-iframe-wrap {
  position: absolute; inset: 0; width: 100%; height: 100%;
}
.fvc-center-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fvc-center-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.3);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; cursor: pointer;
}
.fvc-thumb-wrap:hover .fvc-center-overlay { background: rgba(0,0,0,.16); }
.fvc-play-btn {
  width: 66px; height: 66px; border-radius: 50%;
  background: rgba(255,255,255,.92); color: #0a0f1c;
  border: none; cursor: pointer; font-size: 26px;
  display: flex; align-items: center; justify-content: center;
  padding-left: 4px;
  box-shadow: 0 4px 24px rgba(0,0,0,.45);
  transition: transform .2s, background .2s;
}
.fvc-play-btn:hover { transform: scale(1.1); background: #fff; }
.fvc-iframe-wrap { display: none; }
.fvc-iframe-wrap.fvc-playing { display: block; }
#fvcIframe { width: 100%; height: 100%; border: none; display: block; }

/* Navigation arrows */
.fvc-nav {
  position: absolute; z-index: 10;
  top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(255,255,255,.1);
  border: 1.5px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.8); font-size: 16px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s, color .2s;
}
.fvc-nav:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.4); color: #fff; }
.fvc-nav-prev { left: 18px; }
.fvc-nav-next { right: 18px; }

/* Dots */
.fvc-dots-row {
  position: relative; z-index: 2;
  display: flex; justify-content: center; gap: 8px;
  padding: 24px 0 56px;
}
.fvc-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.22); border: none; cursor: pointer; padding: 0;
  transition: background .22s, transform .22s;
}
.fvc-dot.active { background: #ef4444; transform: scale(1.45); }

/* Responsive */
@media (max-width: 960px) {
  .fvc-far { display: none; }
  .fvc-center { width: min(62vw, 620px); }
  .fvc-side { width: min(23vw, 230px); }
}
@media (max-width: 600px) {
  .fv-section { padding: 52px 0 0; }
  .fv-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .fvc-side { display: none; }
  .fvc-center { width: 88vw; }
  .fvc-play-btn { width: 52px; height: 52px; font-size: 20px; }
  .fvc-nav { width: 36px; height: 36px; font-size: 13px; }
  .fvc-nav-prev { left: 8px; }
  .fvc-nav-next { right: 8px; }
  .fvc-dots-row { padding: 18px 0 44px; }
}
