@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --primary:  #1a3c6e;
  --secondary:#e84c1e;
  --accent:   #f7c325;
  --dark:     #0d1b2a;
  --light:    #f4f7fb;
  --grad:     linear-gradient(135deg,#1a3c6e 0%,#0d5c91 50%,#1a3c6e 100%);
  --grad2:    linear-gradient(135deg,#e84c1e,#f7a325);
}

html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; background:#fff; color:#222; overflow-x:hidden; }

/* ── NAVBAR ── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  background: linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.95) 50%, rgba(255,255,255,0.97) 100%);
  backdrop-filter:blur(14px);
  padding:10px 0; transition:all .3s ease;
  box-shadow:0 2px 24px rgba(0,0,0,.35);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.navbar.scrolled {
  padding:6px 0;
  background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
  box-shadow:0 4px 28px rgba(0,0,0,.45);
}
.nav-inner {
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo img {height:60px;margin-right: 210px;}
.nav-links { display:flex; align-items:center; gap:28px; list-style:none; }
.nav-links a { color:#1a3c6e; text-decoration:none; font-size:14px; font-weight:500; transition:color .2s; }
.nav-links a:hover { color:#f7c325; }
.btn-apply-nav {
  background:var(--grad2); color:#fff !important; padding:8px 20px;
  border-radius:50px; font-weight:700 !important; font-size:13px !important;
  letter-spacing:.5px; transition:box-shadow .2s !important;
}
.btn-apply-nav:hover { box-shadow:0 4px 18px rgba(232,76,30,.5); }
.hamburger { display:none; cursor:pointer; color:#fff; font-size:22px; }

/* ── MOBILE NAV ── */
.mobile-nav {
  display:none; position:fixed; inset:0;
  background:rgba(13,27,42,.98); z-index:9998;
  flex-direction:column; align-items:center; justify-content:center; gap:24px;
}
.mobile-nav.open { display:flex; }
.mobile-nav a { color:#fff; font-size:1.2rem; font-weight:600; text-decoration:none; transition:color .2s; }
.mobile-nav a:hover { color:#f7c325; }
.mobile-close { position:absolute; top:24px; right:28px; color:#fff; font-size:1.8rem; cursor:pointer; }

/* ── DEADLINE BANNER ── */
.deadline-banner {
  background:linear-gradient(90deg,#e84c1e,#f7a325,#e84c1e);
  background-size:200% 100%; animation:shimmer 3s linear infinite;
  color:#fff; text-align:center; padding:14px 20px; font-size:.95rem; font-weight:600;
}
@keyframes shimmer { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
.deadline-banner i { margin-right:8px; animation:bell 1.5s ease infinite; }
@keyframes bell {
  0%,100%{transform:rotate(0)}
  10%,30%{transform:rotate(-15deg)}
  20%,40%{transform:rotate(15deg)}
  50%{transform:rotate(0)}
}

/* ── HERO ── */
.hero {
  min-height:100vh;
  background:
    url('https://static.npfs.co/accounts/704/documents/2026/4/7/1632b0053ca041bb99da746e338d138d_spuentrance1.JPG')
    center/cover no-repeat fixed;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; padding-top:80px;
}
/* deep multi-layer overlay for readability */
.hero::before {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(135deg,
      rgba(10,40,80,0.82) 0%,
      rgba(15,55,100,0.75) 40%,
      rgba(20,20,20,0.65) 100%);
  z-index:1;
}
.hero-particles { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.hero-particles span {
  position:absolute; width:4px; height:4px;
  background:rgba(247,195,37,.5); border-radius:50%;
  animation:float-up linear infinite;
}
@keyframes float-up {
  0%  { transform:translateY(100vh) scale(0); opacity:0; }
  10% { opacity:1; }
  90% { opacity:.8; }
  100%{ transform:translateY(-100px) scale(1.5); opacity:0; }
}

/* Two-column hero inner */
.hero-inner {
  position:relative; z-index:2; width:100%; max-width:1200px;
  padding:40px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
}
.hero-content { flex:1; text-align:left; min-width:0; }
.hero-content .hero-sub  { margin:0 0 36px; }
.hero-content .hero-cta  { justify-content:flex-start; }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(247,195,37,.15); border:1px solid rgba(247,195,37,.4);
  color:#f7c325; padding:6px 18px; border-radius:50px;
  font-size:13px; font-weight:600; letter-spacing:1px;
  margin-bottom:24px; text-transform:uppercase;
  animation:pulse-border 2s infinite;
}
@keyframes pulse-border {
  0%,100%{box-shadow:0 0 0 0 rgba(247,195,37,.3)}
  50%    {box-shadow:0 0 0 8px rgba(247,195,37,0)}
}
.hero-badge i { animation:spin 4s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }

.hero-title {
  font-family:'Poppins',sans-serif;
  font-size:clamp(2.2rem,5vw,4.4rem);
  font-weight:800;
  color:#fff;
  line-height:1.1;
  margin-bottom:10px;
  text-shadow:0 4px 24px rgba(0,0,0,.3);
}
.hero-title span {
  background:var(--grad2);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-year {
  font-size:clamp(1.2rem,3vw,2rem); font-weight:700;
  color:#f7c325; margin-bottom:20px; letter-spacing:4px;
}
.hero-sub { font-size:1rem; color:#b8cfe8; max-width:560px; line-height:1.7; }
.hero-cta { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:48px; }

.btn-primary-hero {
  background:var(--grad2); color:#fff; padding:15px 36px;
  border-radius:50px; font-size:1rem; font-weight:700; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 8px 30px rgba(232,76,30,.4); transition:all .3s;
}
.btn-primary-hero:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(232,76,30,.6); color:#fff; text-decoration:none; }
.btn-outline-hero {
  background:transparent; color:#fff; padding:14px 32px;
  border:2px solid rgba(255,255,255,.4); border-radius:50px;
  font-size:1rem; font-weight:600; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; transition:all .3s;
}
.btn-outline-hero:hover { background:rgba(255,255,255,.1); border-color:#fff; transform:translateY(-3px); color:#fff; text-decoration:none; }

.hero-stats {
  display:flex; gap:32px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.15); padding-top:32px;
}
.hero-stat { text-align:center; }
.hero-stat-number { font-size:1.9rem; font-weight:800; color:#f7c325; font-family:'Poppins',sans-serif; }
.hero-stat-label  { font-size:.76rem; color:#99b8d4; letter-spacing:1px; text-transform:uppercase; margin-top:2px; }

/* ── AUTH CARD ── */
.hero-auth-card {
  flex-shrink:0; width:380px;
  background:rgba(255,255,255,.07); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.15); border-radius:24px;
  padding:36px 32px; box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.auth-tabs {
  display:flex; background:rgba(255,255,255,.08);
  border-radius:12px; padding:4px; margin-bottom:28px; gap:4px;
}
.auth-tab {
  flex:1; padding:10px; text-align:center; border-radius:9px;
  font-size:.9rem; font-weight:700; cursor:pointer;
  color:rgba(255,255,255,.5); transition:all .25s; user-select:none;
}
.auth-tab.active {
  background:var(--grad2); color:#fff;
  box-shadow:0 4px 14px rgba(232,76,30,.4);
}
.auth-panel { display:none; }
.auth-panel.active { display:block; }
.auth-panel h3 {
  color:#fff; font-size:1.15rem; font-weight:700; margin-bottom:6px;
  font-family:'Poppins',sans-serif;
}
.auth-panel > p { color:rgba(255,255,255,.5); font-size:.8rem; margin-bottom:20px; }
.auth-field { margin-bottom:14px; }
.auth-field label {
  display:block; font-size:.77rem; font-weight:600;
  color:rgba(255,255,255,.65); margin-bottom:6px; letter-spacing:.3px;
}
.auth-field input,
.auth-field select {
  width:100%; padding:11px 14px;
  background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.15);
  border-radius:10px; color:#fff; font-size:.88rem;
  font-family:'Inter',sans-serif; transition:border-color .2s,background .2s; outline:none;
}
.auth-field input::placeholder { color:rgba(255,255,255,.3); }
.auth-field input:focus,
.auth-field select:focus {
  border-color:rgba(247,195,37,.6); background:rgba(255,255,255,.13);
}
.auth-field select option { background:#1a3c6e; color:#fff; }
.auth-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.auth-btn {
  width:100%; padding:12px; border:none; border-radius:10px;
  font-size:.95rem; font-weight:700; cursor:pointer; margin-top:4px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Inter',sans-serif; transition:all .3s;
}
.auth-btn-primary { background:var(--grad2); color:#fff; box-shadow:0 6px 20px rgba(232,76,30,.35); }
.auth-btn-primary:hover { box-shadow:0 10px 28px rgba(232,76,30,.55); transform:translateY(-2px); }
.auth-divider {
  display:flex; align-items:center; gap:10px;
  margin:16px 0; color:rgba(255,255,255,.3); font-size:.78rem;
}
.auth-divider::before,.auth-divider::after {
  content:''; flex:1; height:1px; background:rgba(255,255,255,.12);
}
.auth-forgot { text-align:right; font-size:.78rem; margin-top:-6px; margin-bottom:14px; }
.auth-forgot a { color:#f7c325; text-decoration:none; font-weight:500; }
.auth-forgot a:hover { text-decoration:underline; }
.auth-success {
  display:none; background:rgba(16,185,129,.15);
  border:1px solid rgba(16,185,129,.35);
  color:#34d399; padding:10px 14px; border-radius:10px;
  font-size:.82rem; margin-top:10px; text-align:center;
}

/* ── SECTION COMMON ── */
section { padding:80px 0; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section-header { text-align:center; margin-bottom:56px; }
.section-tag {
  display:inline-block; background:rgba(26,60,110,.08); color:var(--primary);
  padding:5px 16px; border-radius:50px; font-size:12px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; margin-bottom:12px;
}
.section-title {
  font-family:'Poppins',sans-serif;
  font-size:clamp(1.7rem,3.5vw,2.5rem); font-weight:700;
  color:var(--dark); line-height:1.25; margin-bottom:14px;
}
.section-title span { color:var(--secondary); }
.section-sub { color:#666; font-size:1rem; max-width:600px; margin:0 auto; line-height:1.7; }

/* ── WHY SPU ── */
.why-spu { background:var(--light); }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; }
.why-card {
  background:#fff; border-radius:18px; padding:32px 24px;
  box-shadow:0 4px 20px rgba(0,0,0,.07);
  transition:all .3s; text-align:center; position:relative; overflow:hidden;
}
.why-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--grad2); transform:scaleX(0); transition:transform .3s;
}
.why-card:hover::before { transform:scaleX(1); }
.why-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,.12); }
.why-icon {
  width:64px; height:64px; border-radius:16px;
  background:linear-gradient(135deg,#e8f0fe,#c5d8ff);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px; font-size:1.7rem; color:var(--primary);
}
.why-card h4 { font-weight:700; font-size:1.05rem; color:var(--dark); margin-bottom:8px; }
.why-card p  { color:#777; font-size:.88rem; line-height:1.6; }
.stat-big    { font-size:2rem; font-weight:800; color:var(--secondary); font-family:'Poppins',sans-serif; }

/* ── PROGRAMS ── */
.programs { background:#fff; }
.prog-tabs { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.prog-tab {
  padding:10px 26px; border-radius:50px; font-size:.9rem; font-weight:600;
  cursor:pointer; border:2px solid #dde4f0; color:#555; background:#fff; transition:all .25s;
}
.prog-tab.active { background:var(--primary); color:#fff; border-color:var(--primary); box-shadow:0 4px 16px rgba(26,60,110,.3); }
.prog-tab:hover:not(.active) { border-color:var(--primary); color:var(--primary); }
.prog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:22px; }
.prog-card {
  border-radius:16px; overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
  transition:all .3s; background:#fff; border:1px solid #eaeff8;
}
.prog-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(0,0,0,.14); }
.prog-card-top {
  padding:24px 24px 16px;
  background:linear-gradient(135deg,#1a3c6e,#0d5c91); position:relative;
}
.dept-icon {
  width:48px; height:48px; border-radius:12px;
  background:rgba(255,255,255,.15); display:flex; align-items:center;
  justify-content:center; font-size:1.4rem; color:#fff; margin-bottom:12px;
}
.prog-card-top h3  { color:#fff; font-size:1.05rem; font-weight:700; margin-bottom:4px; }
.prog-card-top .college-name { color:rgba(255,255,255,.7); font-size:.78rem; }
.prog-tag {
  position:absolute; top:16px; right:16px;
  background:var(--accent); color:#1a1a1a;
  font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:50px;
}
.prog-card-body { padding:20px 24px; }
.prog-meta { display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.prog-meta span { display:flex; align-items:center; gap:5px; font-size:.8rem; color:#666; font-weight:500; }
.prog-meta i { color:var(--primary); font-size:.75rem; }
.prog-courses { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.prog-course-tag {
  background:#eef2fb; color:var(--primary); font-size:.76rem;
  padding:4px 10px; border-radius:20px; font-weight:500;
}
.btn-details {
  display:flex; align-items:center; justify-content:space-between;
  background:var(--light); color:var(--primary); padding:10px 16px;
  border-radius:10px; text-decoration:none; font-size:.85rem; font-weight:600; transition:all .2s;
}
.btn-details:hover { background:var(--primary); color:#fff; }

/* ── COLLABORATIONS ── */
.collaborations { background:#fff; padding:80px 0 60px; }
.collab-marquee-wrap {
  overflow:hidden; position:relative;
  padding:10px 0;
}
.collab-marquee-wrap::before,
.collab-marquee-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:140px; z-index:2; pointer-events:none;
}
.collab-marquee-wrap::before { left:0;  background:linear-gradient(to right, #fff 0%, transparent 100%); }
.collab-marquee-wrap::after  { right:0; background:linear-gradient(to left,  #fff 0%, transparent 100%); }
.collab-track {
  display:flex; gap:24px; width:max-content; align-items:center;
}
.collab-track-ltr { animation: collab-ltr 28s linear infinite; }
.collab-track-rtl { animation: collab-rtl 28s linear infinite; }
.collab-track:hover { animation-play-state:paused; }
@keyframes collab-ltr {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
@keyframes collab-rtl {
  0%   { transform:translateX(-50%); }
  100% { transform:translateX(0); }
}
.collab-logo {
  flex-shrink:0;
  background:#fff;
  border:1.5px solid #e8edf5;
  border-radius:14px;
  padding:16px 28px;
  height:90px;
  min-width:190px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 3px 14px rgba(0,0,0,.06);
  transition:all .3s; cursor:pointer;
}
.collab-logo:hover {
  border-color:#1a3c6e;
  box-shadow:0 8px 28px rgba(26,60,110,.15);
  transform:translateY(-4px);
}
.collab-logo img {
  max-height:54px; max-width:150px;
  object-fit:contain; filter:grayscale(20%);
  transition:filter .3s;
}
.collab-logo:hover img { filter:grayscale(0%); }

/* ── HOW TO APPLY ── */
.how-apply { background:var(--light); }
.steps-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px 64px; }
.step-card {
  background:#fff; border-radius:18px; padding:28px;
  box-shadow:0 4px 20px rgba(0,0,0,.07);
}
.step-card:nth-child(even) { margin-top:40px; }
.step-number {
  width:42px; height:42px; border-radius:50%; font-weight:800; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  font-family:'Poppins',sans-serif;
}
.step-card:nth-child(1) .step-number { background:linear-gradient(135deg,#e84c1e,#f7a325); color:#fff; }
.step-card:nth-child(2) .step-number { background:linear-gradient(135deg,#1a3c6e,#0d5c91); color:#fff; }
.step-card:nth-child(3) .step-number { background:linear-gradient(135deg,#10b981,#059669); color:#fff; }
.step-card:nth-child(4) .step-number { background:linear-gradient(135deg,#8b5cf6,#6d28d9); color:#fff; }
.step-card:nth-child(5) .step-number { background:linear-gradient(135deg,#f59e0b,#d97706); color:#fff; }
.step-card:nth-child(6) .step-number { background:linear-gradient(135deg,#ec4899,#be185d); color:#fff; }
.step-card h4   { font-weight:700; color:var(--dark); font-size:1rem; margin-bottom:8px; }
.step-card p    { color:#777; font-size:.87rem; line-height:1.65; }
.step-icon {
  font-size:1.5rem; margin-bottom:12px;
  color:var(--primary);
}

/* ── CAMPUS LIFE ── */
.campus-life { background:#fff; }
.campus-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:250px 250px; gap:16px;
}
.campus-img-wrap { border-radius:16px; overflow:hidden; position:relative; cursor:pointer; }
.campus-img-wrap:first-child { grid-row:1/3; }
.campus-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.campus-img-wrap:hover img { transform:scale(1.06); }
.campus-img-overlay {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
  color:#fff; padding:20px 18px 16px; font-weight:600; font-size:.92rem;
}
.campus-img-overlay span { font-size:.77rem; color:rgba(255,255,255,.8); display:block; }

/* ── CHIP LINKS (Campus Amenities) ── */
.chip-link {
  background:#eef2fb; color:var(--primary); padding:10px 20px; border-radius:50px;
  font-size:.87rem; font-weight:600; display:flex; align-items:center; gap:8px;
  text-decoration:none; transition:all .2s;
}
.chip-link:hover { background:var(--primary); color:#fff; }

/* ── RECRUITERS ── */
.recruiters { background:var(--dark); padding:50px 0; }
.recruiters .section-title { color:#fff; }
.recruiters .section-tag  { background:rgba(247,195,37,.15); color:#f7c325; }
.marquee-wrap { overflow:hidden; position:relative; }
.marquee-wrap::before,.marquee-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2;
}
.marquee-wrap::before { left:0;  background:linear-gradient(to right,var(--dark),transparent); }
.marquee-wrap::after  { right:0; background:linear-gradient(to left, var(--dark),transparent); }
.marquee-track {
  display:flex; gap:32px; animation:marquee 22s linear infinite; width:max-content;
}
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.company-logo {
  background:rgba(255,255,255,.07); border-radius:12px;
  padding:14px 28px; display:flex; align-items:center;
  justify-content:center; min-width:150px; height:70px; transition:background .2s;
}
.company-logo:hover { background:rgba(255,255,255,.15); }
.company-logo span { color:#cdd8e8; font-weight:700; font-size:1rem; white-space:nowrap; }

/* ── KEY DATES ── */
.imp-dates { background:linear-gradient(135deg,#1a3c6e,#0d1b2a); }
.imp-dates .section-title { color:#fff; }
.imp-dates .section-tag  { background:rgba(247,195,37,.15); color:#f7c325; }
.imp-dates .section-sub  { color:#99b8d4; }
.dates-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.date-card {
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  border-radius:16px; padding:24px; transition:all .3s;
}
.date-card:hover { background:rgba(255,255,255,.13); transform:translateY(-4px); }
.date-card .date-label { color:#99b8d4; font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }
.date-card .date-value { color:#f7c325; font-size:1.3rem; font-weight:700; font-family:'Poppins',sans-serif; margin-bottom:6px; }
.date-card .date-desc  { color:#cdd8e8; font-size:.88rem; }
.date-card .date-status {
  display:inline-block; margin-top:10px; font-size:.72rem; font-weight:700;
  padding:3px 10px; border-radius:50px; letter-spacing:.5px;
}
.date-status.open { background:rgba(16,185,129,.2); color:#34d399; border:1px solid rgba(16,185,129,.3); }
.date-status.soon { background:rgba(247,195,37,.15); color:#f7c325; border:1px solid rgba(247,195,37,.3); }

/* ── CTA BAND ── */
.cta-band { background:var(--grad2); padding:60px 20px; text-align:center; }
.cta-band h2 {
  font-family:'Poppins',sans-serif;
  font-size:clamp(1.6rem,3vw,2.4rem); color:#fff; font-weight:800; margin-bottom:12px;
}
.cta-band p { color:rgba(255,255,255,.85); font-size:1rem; margin-bottom:28px; }
.btn-cta-white {
  background:#fff; color:var(--secondary); padding:15px 44px; border-radius:50px;
  font-size:1rem; font-weight:700; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px; transition:all .3s;
  box-shadow:0 8px 28px rgba(0,0,0,.2);
}
.btn-cta-white:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,.3); text-decoration:none; color:var(--secondary); }

/* ── CONTACT ── */
.contact-section { background:var(--light); }
.contact-info h3 { font-size:1.5rem; font-weight:700; color:var(--dark); margin-bottom:28px; }
.contact-items-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.contact-item { display:flex; gap:16px; }
.contact-item-icon {
  width:44px; height:44px; border-radius:12px;
  background:linear-gradient(135deg,#1a3c6e,#0d5c91);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1rem; flex-shrink:0;
}
.contact-item-body { color:#555; font-size:.9rem; line-height:1.6; }
.contact-item-body strong { color:var(--dark); font-weight:600; display:block; margin-bottom:2px; }
.contact-item-body a { color:var(--primary); text-decoration:none; }
.contact-item-body a:hover { text-decoration:underline; }

/* ── SOCIAL BUTTONS ── */
.soc-btn {
  width:42px; height:42px; border-radius:10px; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; text-decoration:none; transition:all .2s;
}
.soc-btn:hover { transform:translateY(-3px); opacity:.85; }

/* ── FOOTER ── */
footer { background:var(--dark); color:#cdd8e8; }
.footer-top  { padding:64px 0 40px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.footer-brand img { height:50px; margin-bottom:16px; filter:brightness(0) invert(1); opacity:.85; }
.footer-brand p   { font-size:.85rem; color:#8da5c0; line-height:1.7; margin-bottom:20px; }
.footer-social    { display:flex; gap:12px; }
.footer-social a {
  width:38px; height:38px; border-radius:10px;
  background:rgba(255,255,255,.07); color:#99b8d4;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; text-decoration:none; transition:all .25s;
}
.footer-social a:hover { background:var(--secondary); color:#fff; transform:translateY(-2px); }
.footer-col h4 {
  color:#fff; font-weight:700; font-size:.95rem; margin-bottom:18px;
  padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a {
  color:#8da5c0; text-decoration:none; font-size:.87rem;
  transition:color .2s; display:flex; align-items:center; gap:7px;
}
.footer-col ul li a:hover { color:#f7c325; }
.footer-col ul li a i { font-size:.7rem; }
.footer-contact p { font-size:.87rem; color:#8da5c0; line-height:1.8; }
.footer-contact a { color:#99b8d4; text-decoration:none; }
.footer-contact a:hover { color:#f7c325; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:20px 0; }
.footer-bottom-inner {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:10px;
}
.footer-bottom p { font-size:.82rem; color:#5a7a99; }
.footer-bottom a { color:#8da5c0; text-decoration:none; }
.footer-bottom a:hover { color:#f7c325; }

/* ── SCROLL TOP ── */
#scrollTop {
  position:fixed; bottom:28px; right:28px; width:46px; height:46px;
  background:var(--grad2); color:#fff; border:none; border-radius:50%;
  font-size:1.1rem; cursor:pointer; box-shadow:0 4px 18px rgba(232,76,30,.4);
  display:none; align-items:center; justify-content:center; z-index:9000; transition:all .3s;
}
#scrollTop:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(232,76,30,.6); }
#scrollTop.show  { display:flex; }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .hero-inner { flex-direction:column; align-items:center; }
  .hero-content { text-align:center; }
  .hero-content .hero-sub { margin:0 auto 36px; }
  .hero-content .hero-cta { justify-content:center; }
  .hero-stats { justify-content:center; }
  .hero-auth-card { width:100%; max-width:460px; }
}
@media (max-width:900px) {
  .nav-links { display:none; }
  .hamburger { display:block; }
  .steps-grid { grid-template-columns:1fr; }
  .step-card:nth-child(even) { margin-top:0; }
  .campus-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .campus-img-wrap:first-child { grid-column:1/3; height:260px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .hero-auth-card { padding:28px 20px; }
  .auth-row { grid-template-columns:1fr; }
  .hero-stats { gap:20px; }
  .hero-stat-number { font-size:1.5rem; }
  .campus-grid { grid-template-columns:1fr; }
  .campus-img-wrap:first-child { grid-column:auto; height:220px; }
  .footer-grid { grid-template-columns:1fr; }
  .prog-grid  { grid-template-columns:1fr; }
}
h2.section-title {
    text-align: center !important;
}

.registration {
    max-width: 404px;
}

