/* Professional landing-page layer — deliberately loaded after existing styles. */
:root {
  --pro-ink:#07182B;
  --pro-navy:#061629;
  --pro-blue:#1683C7;
  --pro-sky:#8ED8F8;
  --pro-yellow:#F4C430;
  --pro-paper:#F6F8FB;
  --pro-line:#DCE5EF;
  --pro-muted:#64748B;
}

.hero-pro {
  min-height:calc(100vh - var(--nav-h));
  display:flex;
  align-items:center;
  background:var(--pro-navy);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.hero-pro::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(118deg,rgba(255,255,255,.035),transparent 36%),radial-gradient(circle at 82% 20%,rgba(22,131,199,.28),transparent 35%);
  pointer-events:none;
}
.hero-glow {
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  bottom:-300px;
  border:72px solid rgba(244,196,48,.1);
  border-radius:50%;
}
.hero-pro .hero-inner {
  grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
  gap:clamp(48px,6vw,88px);
  padding:clamp(72px,9vh,108px) 0;
  align-items:center;
  position:relative;
  z-index:1;
}
.hero-pro .hero-content { max-width:670px; animation:heroReveal .75s cubic-bezier(.2,.8,.2,1) both; }
.hero-kicker { display:flex; align-items:center; gap:10px; color:#B9DDF4; font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:26px; }
.hero-kicker-mark { width:28px; height:2px; border-radius:2px; background:var(--pro-yellow); }
.hero-pro h1 { color:#fff; font-size:clamp(48px,5.5vw,78px); line-height:1.01; letter-spacing:-.052em; margin:0 0 28px; max-width:760px; }
.hero-pro h1 .accent { color:var(--pro-sky); }
.hero-pro .hero-sub { color:rgba(255,255,255,.72); font-size:clamp(16px,1.35vw,19px); line-height:1.72; max-width:650px; margin:0 0 34px; }
.hero-pro .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 42px; }
.hero-pro .btn-hero-primary,.hero-pro .btn-hero-outline { min-height:52px; padding:0 20px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-size:14px; font-weight:700; text-decoration:none; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.hero-pro .btn-hero-primary { color:#07182B; background:var(--pro-yellow); border:1px solid var(--pro-yellow); box-shadow:0 12px 30px rgba(244,196,48,.16); }
.hero-pro .btn-hero-primary:hover { background:#FFD84A; transform:translateY(-2px); box-shadow:0 16px 34px rgba(244,196,48,.22); }
.hero-pro .btn-hero-outline { color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); }
.hero-pro .btn-hero-outline:hover { background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.38); transform:translateY(-2px); }
.hero-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.13); padding-top:24px; max-width:590px; }
.hero-proof div { padding:0 18px; border-left:1px solid rgba(255,255,255,.12); }
.hero-proof div:first-child { padding-left:0; border-left:0; }
.hero-proof strong { display:block; color:#fff; font-family:'Space Grotesk',sans-serif; font-size:22px; line-height:1.1; margin-bottom:5px; }
.hero-proof span { color:rgba(255,255,255,.52); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.hero-pro .hero-visual { display:block; position:relative; animation:heroReveal .85s .12s cubic-bezier(.2,.8,.2,1) both; }
.hero-img-shell { background:#fff; padding:10px; border-radius:24px; box-shadow:0 34px 80px rgba(0,0,0,.3); transform:rotate(1.2deg); }
.hero-pro .hero-img-wrap { aspect-ratio:1.16; border-radius:17px; overflow:hidden; position:relative; }
.hero-pro .hero-img-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,16,29,.68),transparent 45%); pointer-events:none; }
.hero-pro .hero-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.hero-pro .hero-visual:hover img { transform:scale(1.025); }
.hero-caption { position:absolute; left:34px; right:34px; bottom:28px; z-index:2; color:#fff; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.hero-caption span { font-size:12px; color:rgba(255,255,255,.7); }
.hero-caption strong { font-size:13px; letter-spacing:.02em; }
.hero-project-note { position:absolute; left:-36px; bottom:-48px; width:min(340px,75%); display:flex; gap:14px; align-items:flex-start; color:var(--pro-ink); background:#fff; border:1px solid rgba(7,24,43,.08); border-radius:16px; padding:17px 18px; box-shadow:0 18px 46px rgba(0,0,0,.22); transform:rotate(-1.2deg); }
.hero-note-index { color:var(--pro-blue); font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:800; }
.hero-project-note strong,.hero-project-note small { display:block; }
.hero-project-note strong { font-size:13px; margin-bottom:4px; }
.hero-project-note small { color:var(--pro-muted); font-size:11px; line-height:1.45; }
@keyframes heroReveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

@media (max-width:900px) {
  .hero-pro { min-height:auto; }
  .hero-pro .hero-inner { grid-template-columns:1fr; padding:64px 0 96px; }
  .hero-pro .hero-visual { display:block; max-width:680px; }
}
@media (max-width:640px) {
  .hero-pro .hero-inner { padding:50px 0 82px; gap:46px; }
  .hero-pro h1 { font-size:clamp(42px,13vw,58px); }
  .hero-proof { gap:0; }
  .hero-proof div { padding:0 9px; }
  .hero-proof strong { font-size:19px; }
  .hero-proof span { font-size:9px; }
  .hero-caption { left:24px; right:24px; bottom:22px; display:block; }
  .hero-caption strong { display:block; margin-top:4px; }
  .hero-project-note { left:12px; bottom:-48px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-pro .hero-content,.hero-pro .hero-visual { animation:none; }
  .hero-pro .hero-img-wrap img { transition:none; }
}

/* Cohesive editorial system for the rest of the landing page. */
body { background:#fff; color:var(--pro-ink); }
.container { width:min(1240px,calc(100% - 48px)); }
.section { padding:clamp(88px,9vw,132px) 0; }
.section-gray { background:var(--pro-paper); }
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--pro-blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.3;
  margin-bottom:18px;
}
.eyebrow::before { content:''; width:26px; height:2px; background:currentColor; border-radius:2px; flex:0 0 auto; }
.section-title { color:var(--pro-ink); font-size:clamp(38px,5vw,62px); line-height:1.02; letter-spacing:-.045em; margin-bottom:22px; }
.section-sub { color:var(--pro-muted); font-size:clamp(16px,1.4vw,18px); line-height:1.75; }
.text-center .eyebrow { justify-content:center; }

/* Navigation stays quiet so the work and outcomes remain the focus. */
.navbar { background:rgba(255,255,255,.94); border-bottom:1px solid rgba(7,24,43,.08); }
.navbar-inner { height:82px; }
.logo { gap:10px; }
.logo-img-crop { width:52px; height:58px; object-fit:cover; object-position:center top; }
.logo-name { font-size:22px; color:var(--pro-blue); }
.logo-academy { color:#C99500; }
.nav-list a { color:#475569; font-size:13px; }
.nav-soon.is-live { animation:none; }
.btn-login,.btn-contact,.lang-toggle { border-radius:10px; }

/* Proof ribbon */
.trust-bar { padding:0; background:#fff; border-bottom:1px solid var(--pro-line); }
.trust-flex { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.trust-item {
  min-width:0;
  padding:26px 20px;
  border:0;
  border-inline-start:1px solid var(--pro-line);
  border-radius:0;
  box-shadow:none;
  background:#fff;
  justify-content:center;
}
.trust-item:first-child { border-inline-start:0; }
.trust-item:hover { transform:none; box-shadow:none; border-color:var(--pro-line); }
.trust-icon { width:36px; height:36px; border-radius:10px; font-size:14px; background:#EDF5FA; color:var(--pro-blue); }
.trust-item:hover .trust-icon { background:var(--pro-ink); color:#fff; }
.trust-label { color:#24364A; font-size:12px; line-height:1.45; }

/* Diploma pathways */
#diploma-levels > .container > .text-center { text-align:left; max-width:850px; }
#diploma-levels > .container > .text-center .eyebrow { justify-content:flex-start; }
#diploma-levels .section-sub { margin-left:0; text-align:left !important; }
.courses-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:22px; margin-top:58px; align-items:stretch; }
.course-card {
  border:1px solid var(--pro-line);
  border-radius:22px;
  padding:0 24px 24px;
  box-shadow:0 12px 35px rgba(7,24,43,.055);
  overflow:hidden;
}
.course-card::before { display:none; }
.course-card:hover { transform:translateY(-6px); border-color:#C6D6E5; box-shadow:0 24px 55px rgba(7,24,43,.11); }
.cc-top { order:0; margin:0 -24px; padding:20px 22px 14px; background:#fff; }
.cc-num { background:transparent; padding:0; border-radius:0; letter-spacing:.1em; }
.cc-ages { background:var(--pro-paper); border:1px solid var(--pro-line); color:#52657A; }
.cc-media { position:relative; margin:0 -24px 24px; height:210px; overflow:hidden; background:#EAF0F5; }
.cc-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(6,22,41,.7),transparent 54%); }
.cc-media img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
#diploma-levels .course-card:nth-child(1) .cc-media img { object-position:center 56%; }
#diploma-levels .course-card:nth-child(2) .cc-media img { object-position:center 52%; }
#diploma-levels .course-card:nth-child(3) .cc-media img { object-position:center 46%; }
.course-card:hover .cc-media img { transform:scale(1.035); }
.cc-media span { position:absolute; z-index:2; inset-inline-start:20px; bottom:16px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cc-title { font-size:24px; line-height:1.12; letter-spacing:-.025em; margin-bottom:12px; }
.cc-sub { color:var(--pro-muted); line-height:1.68; min-height:115px; }
.cc-stats { border-block:1px solid var(--pro-line); margin:22px 0 18px; padding:16px 0; }
.cc-stat + .cc-stat { border-inline-start:1px solid var(--pro-line); }
.cc-val { color:var(--pro-ink); font-size:18px; }
.cc-lbl { color:#7C8B9B; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.cc-tags { gap:6px; margin-bottom:18px; }
.cc-tags span { color:#52657A; background:#F3F6F9; border:1px solid #E4EAF0; font-size:10px; }
.cc-award { margin-top:auto; padding:14px 0 16px; border-top:1px solid var(--pro-line); }
.cc-award span,.cc-award strong { display:block; }
.cc-award span { color:var(--cc); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; margin-bottom:4px; }
.cc-award strong { color:var(--pro-ink); font-family:'Space Grotesk',sans-serif; font-size:13px; line-height:1.35; }
.cc-actions { gap:8px; }
.cc-btn-apply,.cc-btn-detail { min-height:43px; border-radius:10px; }
.cc-btn-apply { background:var(--pro-ink); border-color:var(--pro-ink); }
.cc-btn-apply:hover { background:var(--cc); border-color:var(--cc); }
.cc-btn-detail { border-color:#CDD8E3; color:#3F5368; }
.path-hint { background:var(--pro-ink); border:0; border-radius:18px; box-shadow:0 20px 50px rgba(7,24,43,.14); padding:22px 24px; }
.path-hint-label { color:#fff; font-size:12px; min-width:170px; }
.ph-node { border-radius:7px; }
.ph-3 { border-color:rgba(244,196,48,.45); color:#FFE071; }
.path-hint-cta { color:var(--pro-yellow); }

/* Student work becomes the gallery, not decorative iconography. */
#projects { background:#fff; }
#projects > .container > .text-center { text-align:left; max-width:810px; }
#projects > .container > .text-center .eyebrow { justify-content:flex-start; }
#projects .section-sub { margin-left:0; text-align:left !important; }
#projects .slider-drag-hint { justify-content:flex-start; margin-top:28px; }
.proj-slider { gap:20px; padding-top:10px; }
.proj-slider-wrap { scrollbar-width:none; padding-bottom:18px; }
.proj-slider-wrap::-webkit-scrollbar { display:none; width:0; height:0; }
.proj-slide { width:350px; border:1px solid var(--pro-line); border-radius:18px; box-shadow:none; }
.proj-slide:hover { transform:translateY(-4px); border-color:#BFCFDE; box-shadow:0 18px 42px rgba(7,24,43,.11); }
.ps-img-wrap { height:220px; background:#E9EFF5; }
.ps-body { padding:22px 22px 24px; }
.ps-body .proj-icon { width:32px; height:32px; border-radius:8px; font-size:12px; margin-bottom:16px; }
.ps-body h3 { color:var(--pro-ink); font-size:20px; letter-spacing:-.02em; margin-bottom:10px; }
.ps-body p { color:var(--pro-muted); font-size:13px; min-height:63px; }
.proj-badge { border-radius:6px; padding:6px 9px; background:#EEF4F8; color:#31536D; font-size:10px; letter-spacing:.03em; }
.proj-slider-outer::before { background:linear-gradient(to var(--fade-to,right),#fff 0%,transparent 100%); }
.proj-slider-outer::after { background:linear-gradient(to var(--fade-from,left),#fff 0%,transparent 100%); }
.proj-slider-outer::before,.proj-slider-outer::after { bottom:0; }
.proj-arr { border-radius:10px; }

/* Academy proof and real photography */
#who .g2 { grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:clamp(54px,7vw,92px); }
#who .section-title { font-size:clamp(40px,4.3vw,58px); }
#who .btn-outline-blue { border-radius:10px; border:1px solid var(--pro-blue); }
.who-visual { position:relative; }
.who-image-grid { display:grid; grid-template-columns:1.3fr .7fr; grid-template-rows:340px; gap:12px; }
.who-image-grid img { width:100%; height:100%; object-fit:cover; border-radius:18px; }
.who-photo-main { object-position:center; }
.who-photo-detail { object-position:center; }
.who-stats { grid-template-columns:repeat(4,1fr); gap:0; margin:-34px 22px 0; position:relative; z-index:2; background:var(--pro-ink); border-radius:15px; box-shadow:0 18px 42px rgba(7,24,43,.2); overflow:hidden; }
.stat-box { background:transparent; border-inline-start:1px solid rgba(255,255,255,.1); border-radius:0; padding:20px 12px; }
.stat-box:first-child { border-inline-start:0; }
.stat-val { color:#fff; font-size:25px; }
.stat-lbl { color:rgba(255,255,255,.58); font-size:9px; text-transform:uppercase; letter-spacing:.05em; }

/* Method section: sober, numbered, high contrast. */
#why { background:var(--pro-navy); }
#why::before { content:''; position:absolute; width:470px; height:470px; border:65px solid rgba(142,216,248,.055); border-radius:50%; right:-210px; top:-230px; }
#why .container { position:relative; z-index:1; }
#why > .container > .text-center { text-align:left; max-width:850px; }
#why > .container > .text-center .eyebrow { justify-content:flex-start; color:var(--pro-sky); }
#why .section-sub { margin-left:0; text-align:left !important; }
.why-cards { grid-template-columns:repeat(4,1fr); gap:0; margin-top:62px; border-block:1px solid rgba(255,255,255,.14); }
.why-card { border:0; border-inline-start:1px solid rgba(255,255,255,.14); border-radius:0; background:transparent; padding:34px 24px 38px; }
.why-card:first-child { border-inline-start:0; }
.why-card:hover { transform:none; box-shadow:none; background:rgba(255,255,255,.035); }
.why-index { color:var(--pro-yellow); font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:800; letter-spacing:.08em; margin-bottom:40px; }
.why-card h3 { font-size:21px; letter-spacing:-.02em; margin-bottom:14px; }
.why-card p { color:rgba(255,255,255,.62); font-size:14px; line-height:1.72; }

/* Live portal demonstration */
.portal-section { background:#0A3958; }
.portal-section::before { background:radial-gradient(circle at 85% 12%,rgba(142,216,248,.18),transparent 32%); }
.portal-head { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; position:relative; z-index:1; }
.portal-head-copy { max-width:760px; }
.portal-section .eyebrow { display:flex; padding:0; border:0; border-radius:0; background:transparent; color:var(--pro-sky); }
.portal-section .section-title { color:#fff; }
.portal-section .section-sub { color:rgba(255,255,255,.68); }
.portal-login-cta { flex:0 0 auto; display:inline-flex; align-items:center; gap:18px; min-height:52px; padding:0 20px; color:var(--pro-ink); background:var(--pro-yellow); border-radius:10px; font-size:13px; font-weight:800; transition:transform .2s,background .2s; }
.portal-login-cta:hover { transform:translateY(-2px); background:#FFD84A; }
.portal-snap { width:420px !important; border:1px solid rgba(255,255,255,.16); border-radius:16px; box-shadow:0 20px 42px rgba(0,0,0,.16); }
.portal-snap .ps-img-wrap { height:255px !important; background:#EAF0F5; }
.portal-snap .ps-body { background:#fff; }
.portal-section .slider-drag-hint { justify-content:flex-start; }
.dash-slider-outer::before { background:linear-gradient(to var(--fade-to,right),#0A3958 0%,transparent 100%); }
.dash-slider-outer::after { background:linear-gradient(to var(--fade-from,left),#0A3958 0%,transparent 100%); }
.dash-slider-outer::before,.dash-slider-outer::after { bottom:0; }
.dash-arr { border-radius:10px; }

/* Admissions section */
.reg-section { background:#EDF3F7; position:relative; }
.reg-grid { grid-template-columns:minmax(0,.75fr) minmax(560px,1.25fr); gap:clamp(52px,7vw,92px); }
.reg-grid > .slide-l { position:sticky; top:110px; padding:34px 0; }
.steps-list { margin:36px 0 30px; gap:0; border-block:1px solid #CBD8E3; }
.step-row { min-height:68px; border-bottom:1px solid #CBD8E3; color:#42576B; }
.step-row:last-child { border-bottom:0; }
.step-num { background:var(--pro-ink); color:#fff; border-radius:8px; }
.reg-grid .btn-green { border-radius:10px; }
.form-card { border:1px solid #D2DEE8; border-radius:20px; padding:38px 40px 40px; box-shadow:0 24px 65px rgba(7,24,43,.1); }
.form-badge { border-radius:6px; background:#FFF5CF; color:#6B5000; }
.form-input { border-radius:9px; background:#FBFCFD; }
.form-submit { border-radius:10px; background:var(--pro-ink); border-color:var(--pro-ink); color:#fff; }
.form-submit:hover { background:var(--pro-blue); border-color:var(--pro-blue); }

/* FAQ and footer */
#faq > .container > .text-center { max-width:750px; margin:0 auto; }
.faq-list { max-width:920px; gap:0; border-top:1px solid var(--pro-line); }
.faq-item { border:0; border-bottom:1px solid var(--pro-line); border-radius:0; background:transparent; }
.faq-q { padding:24px 4px; font-size:17px; }
.faq-ico { width:31px; height:31px; border-radius:8px; background:#EAF0F5; color:var(--pro-ink); }
.faq-item.open .faq-ico { background:var(--pro-ink); }
.faq-inner { padding:0 52px 24px 4px; }
.footer { background:#04111F; padding:78px 0 30px; }
.footer-grid { gap:42px; margin-bottom:62px; }
.footer .logo-img-crop { width:54px; height:62px; }
.footer .logo-name { font-size:22px; }
.footer .logo-academy { color:var(--pro-yellow); }
.f-tagline { color:rgba(255,255,255,.58); }
.f-soc { border-radius:8px; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); }
.f-col h3 { color:#fff; font-size:11px; letter-spacing:.12em; }
.f-col ul li a { color:rgba(255,255,255,.58); }
.footer-bar { border-top-color:rgba(255,255,255,.1); }

@media (max-width:1100px) {
  .nav-list a { padding-inline:8px; }
  .nav-actions .btn-login { display:none; }
  .courses-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .course-card:last-child { grid-column:1 / -1; max-width:calc(50% - 11px); }
  #who .g2 { grid-template-columns:1fr; }
  .why-cards { grid-template-columns:repeat(2,1fr); }
  .why-card:nth-child(3) { border-inline-start:0; border-top:1px solid rgba(255,255,255,.14); }
  .why-card:nth-child(4) { border-top:1px solid rgba(255,255,255,.14); }
}
@media (max-width:780px) {
  .container { width:min(100% - 32px,1240px); }
  .section { padding:78px 0; }
  .trust-flex { grid-template-columns:1fr 1fr; }
  .trust-item { justify-content:flex-start; border-bottom:1px solid var(--pro-line); }
  .trust-item:nth-child(odd) { border-inline-start:0; }
  .trust-item:last-child { grid-column:1 / -1; }
  .courses-grid { grid-template-columns:1fr !important; }
  .course-card:last-child { grid-column:auto; max-width:none; }
  .cc-sub { min-height:0; }
  .path-hint { align-items:flex-start; }
  .path-hint-flow { width:100%; }
  .who-image-grid { grid-template-columns:1fr; grid-template-rows:320px 210px; }
  .who-stats { grid-template-columns:1fr 1fr; margin:-28px 14px 0; }
  .stat-box:nth-child(3) { border-inline-start:0; border-top:1px solid rgba(255,255,255,.1); }
  .stat-box:nth-child(4) { border-top:1px solid rgba(255,255,255,.1); }
  .portal-head { align-items:flex-start; flex-direction:column; gap:26px; }
  .reg-grid { grid-template-columns:1fr; }
  .reg-grid > .slide-l { position:static; padding:0; }
  .form-card { padding:28px 22px; }
}
@media (max-width:560px) {
  .hero-pro .hero-actions a { width:100%; }
  .section-title { font-size:clamp(34px,11vw,46px); }
  .trust-item { padding:20px 12px; }
  .trust-label { font-size:11px; }
  .cc-media { height:190px; }
  .path-hint-flow { display:grid; grid-template-columns:1fr; }
  .ph-arrow { padding-inline:8px; }
  .proj-slide { width:min(84vw,340px); }
  .why-cards { grid-template-columns:1fr; }
  .why-card,.why-card:nth-child(3),.why-card:nth-child(4) { border-inline-start:0; border-top:1px solid rgba(255,255,255,.14); }
  .why-card:first-child { border-top:0; }
  .portal-snap { width:min(86vw,380px) !important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* The legacy document contains late inline style blocks. These scoped rules
   intentionally outrank them so this page has one final visual system. */
#diploma-levels .course-card {
  border:1px solid var(--pro-line);
  border-radius:22px;
  padding:0 24px 24px;
  box-shadow:0 12px 35px rgba(7,24,43,.055);
}
#diploma-levels .course-card::before { display:none; }
#diploma-levels .course-card:hover { transform:translateY(-6px); border-color:#C6D6E5; box-shadow:0 24px 55px rgba(7,24,43,.11); }
#diploma-levels .cc-top { margin:0 -24px; padding:20px 22px 14px; }
#diploma-levels .cc-num { background:transparent; padding:0; border-radius:0; }
#diploma-levels .cc-ages { background:var(--pro-paper); border:1px solid var(--pro-line); color:#52657A; padding:5px 10px; }
#diploma-levels .cc-title { font-size:24px; margin-bottom:12px; }
#diploma-levels .cc-sub { color:var(--pro-muted); line-height:1.68; min-height:115px; }
#diploma-levels .cc-stats { margin:22px 0 18px; padding:16px 0; border-block:1px solid var(--pro-line); }
#diploma-levels .cc-stat + .cc-stat { border-inline-start:1px solid var(--pro-line); }
#diploma-levels .cc-val { color:var(--pro-ink); }
#diploma-levels .cc-tags { gap:6px; margin-bottom:18px; }
#diploma-levels .cc-tags span { color:#52657A; background:#F3F6F9; border:1px solid #E4EAF0; font-size:10px; }
#diploma-levels .cc-actions { gap:8px; }
#diploma-levels .cc-btn-apply { background:var(--pro-ink); border-color:var(--pro-ink); border-radius:10px; }
#diploma-levels .cc-btn-apply:hover { background:var(--cc); border-color:var(--cc); }
#diploma-levels .cc-btn-detail { border-color:#CDD8E3; color:#3F5368; border-radius:10px; }
#diploma-levels .path-hint { padding:22px 24px; border-radius:18px; }

#projects .proj-slide { width:350px; border:1px solid var(--pro-line); border-radius:18px; box-shadow:none; }
#projects .proj-slide:hover { transform:translateY(-4px); border-color:#BFCFDE; box-shadow:0 18px 42px rgba(7,24,43,.11); }
#projects .ps-img-wrap { height:220px; }
#projects .ps-body { padding:22px 22px 24px; }
#projects .ps-body h3 { font-size:20px; margin-bottom:10px; }
#projects .ps-body p { color:var(--pro-muted); font-size:13px; min-height:63px; }

#portal .portal-snap { width:420px !important; border:1px solid rgba(255,255,255,.16); border-radius:16px; box-shadow:0 20px 42px rgba(0,0,0,.16); }
#portal .portal-snap .ps-img-wrap { height:255px !important; }
#portal .portal-snap .ps-body { padding:22px 22px 24px; }

@media (max-width:780px) {
  #diploma-levels .cc-sub { min-height:0; }
}
@media (max-width:560px) {
  #projects .proj-slide { width:min(84vw,340px); }
  #portal .portal-snap { width:min(86vw,380px) !important; }
}

/* Brand-light opening: the Academy blue leads, with navy reserved for depth. */
.hero.hero-pro {
  background:
    radial-gradient(circle at 86% 18%,rgba(22,131,199,.18),transparent 29%),
    radial-gradient(circle at 8% 92%,rgba(142,216,248,.28),transparent 25%),
    linear-gradient(135deg,#F8FCFF 0%,#EDF7FD 58%,#E5F3FB 100%);
  color:var(--pro-ink);
}
.hero.hero-pro::before {
  background:
    linear-gradient(118deg,rgba(255,255,255,.78),transparent 34%),
    linear-gradient(90deg,transparent 0 49.9%,rgba(22,131,199,.055) 50% 50.1%,transparent 50.2%);
}
.hero.hero-pro .hero-glow { border-color:rgba(22,131,199,.1); }
.hero.hero-pro .hero-kicker { color:#21688F; }
.hero.hero-pro h1 { color:var(--pro-ink); }
.hero.hero-pro h1 .accent { color:var(--pro-blue); }
.hero.hero-pro .hero-sub { color:#5C7186; }
.hero.hero-pro .btn-hero-primary { color:#fff; background:var(--pro-blue); border-color:var(--pro-blue); box-shadow:0 14px 32px rgba(22,131,199,.18); }
.hero.hero-pro .btn-hero-primary:hover { background:#0E6FAE; border-color:#0E6FAE; box-shadow:0 18px 38px rgba(22,131,199,.25); }
.hero.hero-pro .btn-hero-outline { color:var(--pro-ink); background:rgba(255,255,255,.72); border-color:#B9CDDB; }
.hero.hero-pro .btn-hero-outline:hover { background:#fff; border-color:var(--pro-blue); }
.hero.hero-pro .hero-proof { border-top-color:#C9DBE7; }
.hero.hero-pro .hero-proof div { border-left-color:#C9DBE7; }
.hero.hero-pro .hero-proof strong { color:var(--pro-ink); }
.hero.hero-pro .hero-proof span { color:#667C90; }
.hero.hero-pro .hero-img-shell { border:1px solid rgba(22,131,199,.2); box-shadow:0 32px 75px rgba(26,89,128,.2); }

/* Inside the Academy: a project-led story instead of repeating the hero photo. */
#who { background:linear-gradient(180deg,#F6F9FC 0%,#EEF5F9 100%); overflow:hidden; }
.who-intro { display:block; max-width:960px; margin:0 auto 58px; text-align:center; }
.who-intro .eyebrow { justify-content:center; }
.who-intro .section-title { max-width:880px; margin:0 auto; text-wrap:balance; }
.who-intro-copy { max-width:760px; margin:22px auto 0; }
.who-intro-copy p { color:#5F7488; font-size:16px; line-height:1.72; margin-bottom:20px; text-wrap:balance; }
.who-link { display:inline-flex; align-items:center; gap:12px; color:var(--pro-blue); font-size:13px; font-weight:800; }
.who-link i { transition:transform .2s; }
.who-link:hover i { transform:translateX(4px); }
.who-experience { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr); gap:22px; align-items:stretch; }
.who-project-stage { min-height:560px; position:relative; overflow:hidden; border-radius:24px; background:#07182B; box-shadow:0 25px 60px rgba(7,24,43,.16); }
.who-project-stage > img { width:100%; height:100%; object-fit:cover; object-position:center 52%; position:absolute; inset:0; }
.who-project-stage::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,17,31,.9) 0%,rgba(3,17,31,.12) 60%); }
.who-project-caption { position:absolute; z-index:2; inset-inline:30px; bottom:28px; max-width:520px; color:#fff; }
.who-project-caption span,.who-project-caption strong { display:block; }
.who-project-caption span { color:var(--pro-sky); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:9px; }
.who-project-caption strong { font-family:'Space Grotesk',sans-serif; font-size:20px; line-height:1.35; }
.who-side { min-width:0; }
.who-route { height:100%; background:#fff; border:1px solid #D8E4ED; border-radius:24px; padding:20px 26px; box-shadow:0 18px 45px rgba(7,24,43,.07); }
.who-route-head { padding:2px 0 12px; border-bottom:1px solid #E4EBF1; }
.who-route-head span { display:block; color:var(--pro-blue); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:7px; }
.who-route-head h3 { max-width:360px; color:var(--pro-ink); font-family:'Space Grotesk',sans-serif; font-size:20px; line-height:1.25; letter-spacing:-.02em; }
.who-route-step { display:grid; grid-template-columns:42px 1fr; gap:15px; position:relative; padding:15px 0; border-bottom:1px solid #E4EBF1; }
.who-route-step:last-child { border-bottom:0; }
.who-route-step > span { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:#E8F5FC; color:var(--pro-blue); font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:800; position:relative; z-index:2; }
.who-route-step:not(:last-child)::after { content:''; position:absolute; inset-inline-start:19px; top:55px; bottom:-1px; border-inline-start:1px dashed #8DC5E4; }
.who-route-step h3 { color:var(--pro-ink); font-size:16px; margin:1px 0 4px; }
.who-route-step p { color:#6B7F92; font-size:12px; line-height:1.45; }
.who-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.who-story-card { position:relative; min-width:0; height:230px; overflow:hidden; border-radius:18px; background:#0B2239; box-shadow:0 14px 32px rgba(7,24,43,.12); }
.who-story-card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,17,31,.88),rgba(3,17,31,0) 66%); }
.who-story-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.who-story-card:nth-child(1) img { object-position:center 42%; }
.who-story-card:nth-child(2) img { object-position:center 36%; }
.who-story-card:nth-child(3) img { object-position:center 48%; }
.who-story-card:hover img { transform:scale(1.035); }
.who-story-card figcaption { position:absolute; z-index:2; inset-inline:18px; bottom:15px; color:#fff; }
.who-story-card figcaption span,.who-story-card figcaption strong { display:block; }
.who-story-card figcaption span { color:var(--pro-sky); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:5px; }
.who-story-card figcaption strong { font-family:'Space Grotesk',sans-serif; font-size:13px; line-height:1.3; }
.who-evidence { display:grid; grid-template-columns:repeat(4,1fr); margin-top:22px; background:var(--pro-blue); color:#fff; border-radius:18px; overflow:hidden; box-shadow:0 18px 40px rgba(22,131,199,.18); }
.who-evidence div { padding:24px 28px; border-inline-start:1px solid rgba(255,255,255,.18); }
.who-evidence div:first-child { border-inline-start:0; }
.who-evidence strong,.who-evidence span { display:block; }
.who-evidence strong { font-family:'Space Grotesk',sans-serif; font-size:28px; line-height:1; margin-bottom:7px; }
.who-evidence span { color:rgba(255,255,255,.72); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Footer uses the logo blue, keeping the brand visible through the close. */
.footer { background:linear-gradient(135deg,#126FAE 0%,#1683C7 58%,#2695CE 100%); }
.footer::before { content:''; display:block; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.13),transparent 25%); }
.footer { position:relative; overflow:hidden; }
.footer > .container { position:relative; z-index:1; }
.footer .f-tagline,.footer .f-col ul li a { color:rgba(255,255,255,.9); }
.footer .f-contact-col li > div > div { color:rgba(255,255,255,.8) !important; }
.footer .f-contact-col li a { color:#fff !important; }
.footer .footer-bar p { color:rgba(255,255,255,.84); }

@media (max-width:980px) {
  .who-experience { grid-template-columns:1fr; }
  .who-project-stage { min-height:500px; }
  .who-route { height:auto; }
}
@media (max-width:640px) {
  .hero.hero-pro .hero-proof div { border-left-color:#C9DBE7; }
  .who-intro { margin-bottom:38px; }
  .who-project-stage { min-height:420px; }
  .who-project-stage > img { object-position:center; }
  .who-project-caption { inset-inline:20px; bottom:20px; max-width:none; }
  .who-route { padding:12px 20px; }
  .who-story-grid { grid-template-columns:1fr; }
  .who-story-card { height:220px; }
  .who-evidence { grid-template-columns:1fr 1fr; }
  .who-evidence div:nth-child(3) { border-inline-start:0; border-top:1px solid rgba(255,255,255,.18); }
  .who-evidence div:nth-child(4) { border-top:1px solid rgba(255,255,255,.18); }
}
