:root {
  --cyan: #25b8c9;
  --cyan-dark: #0e91a8;
  --orange: #ff4b0b;
  --yellow: #fdbb08;
  --ink: #111923;
  --ink-soft: #334155;
  --paper: #ffffff;
  --surface: #f6fbfc;
  --surface-2: #eef8fa;
  --line: rgba(15, 23, 42, .10);
  --shadow-sm: 0 10px 30px rgba(15, 23, 42, .08);
  --shadow-md: 0 24px 70px rgba(15, 23, 42, .14);
  --shadow-brand: 0 20px 45px rgba(37, 184, 201, .28);
  --radius: 26px;
  --font-heading: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  --font-body: "Segoe UI", Arial, sans-serif;
  --nav-height: 82px;
}

[data-bs-theme="dark"] {
  --ink: #f8fafc;
  --ink-soft: #cbd5e1;
  --paper: #0b121b;
  --surface: #101a26;
  --surface-2: #132231;
  --line: rgba(255,255,255,.10);
  --shadow-sm: 0 10px 30px rgba(0,0,0,.28);
  --shadow-md: 0 24px 70px rgba(0,0,0,.38);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); line-height: 1.7; overflow-x: hidden; }
body.is-loading { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
::selection { background: rgba(37,184,201,.28); color: var(--ink); }

.skip-link { position: fixed; top: -100px; left: 18px; z-index: 99999; padding: 10px 16px; border-radius: 12px; background: var(--ink); color: var(--paper); transition: top .2s; }
.skip-link:focus { top: 18px; }

#preloader { position: fixed; inset: 0; z-index: 100000; display: grid; place-content: center; text-align: center; background: var(--paper); transition: opacity .55s ease, visibility .55s ease; }
#preloader.hide { opacity: 0; visibility: hidden; }
#preloader p { margin: 18px 0 0; color: var(--ink-soft); font-weight: 700; letter-spacing: .02em; }
.preloader-mark { display: flex; justify-content: center; align-items: end; gap: 7px; height: 54px; }
.preloader-mark span { width: 12px; border-radius: 999px; animation: loader-bars 1s ease-in-out infinite; }
.preloader-mark span:nth-child(1) { height: 28px; background: var(--cyan); }
.preloader-mark span:nth-child(2) { height: 50px; background: var(--orange); animation-delay: .12s; }
.preloader-mark span:nth-child(3) { height: 36px; background: var(--yellow); animation-delay: .24s; }
@keyframes loader-bars { 0%,100% { transform: scaleY(.62); opacity:.65; } 50% { transform: scaleY(1); opacity:1; } }

.topbar { position: relative; z-index: 1031; background: #0f1924; color: rgba(255,255,255,.8); font-size: .83rem; }
.topbar .container { min-height: 38px; }
.topbar a { transition: color .2s; }
.topbar a:hover { color: var(--yellow); }
.topbar i { color: var(--cyan); margin-right: 5px; }

.navbar { top: 0; min-height: var(--nav-height); padding: 10px 0; transition: all .35s ease; background: rgba(255,255,255,.84); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); }
.topbar + .navbar { top: 38px; }
.navbar.scrolled { top: 0; min-height: 72px; background: rgba(255,255,255,.94); border-color: var(--line); box-shadow: 0 10px 30px rgba(15,23,42,.06); }
[data-bs-theme="dark"] .navbar { background: rgba(11,18,27,.86); }
[data-bs-theme="dark"] .navbar.scrolled { background: rgba(11,18,27,.96); }
.navbar-brand img { width: 58px; height: 56px; object-fit: contain; background: #fff; border-radius: 14px; padding: 3px; box-shadow: var(--shadow-sm); }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-family: var(--font-heading); font-size: 1.02rem; letter-spacing: -.02em; }
.brand-copy small { margin-top: 5px; color: var(--ink-soft); font-size: .68rem; }
.navbar .nav-link { position: relative; padding: 10px 13px !important; color: var(--ink-soft); font-weight: 700; font-size: .91rem; }
.navbar .nav-link::after { content:""; position:absolute; left:50%; bottom:3px; width:0; height:3px; border-radius:10px; background:linear-gradient(90deg,var(--cyan),var(--orange)); transform:translateX(-50%); transition:width .25s; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--ink); }
.navbar .nav-link:hover::after, .navbar .nav-link.active::after { width: 24px; }
.navbar-toggler { border: 0; box-shadow: none !important; padding: 8px; }
.navbar-toggler-icon { filter: none; }
[data-bs-theme="dark"] .navbar-toggler-icon { filter: invert(1); }

.icon-btn { width: 44px; height: 44px; display:grid; place-items:center; border-radius:14px; border:1px solid var(--line); background:var(--paper); color:var(--ink); transition:.25s; }
.icon-btn:hover { transform: translateY(-2px) rotate(5deg); border-color: rgba(37,184,201,.45); }
.btn { border-radius: 14px; font-weight: 800; transition: transform .25s, box-shadow .25s, background .25s; }
.btn-brand { display:inline-flex; justify-content:center; align-items:center; gap:9px; color:#fff; border:0; background:linear-gradient(135deg,var(--cyan-dark),var(--cyan)); box-shadow:0 12px 28px rgba(37,184,201,.24); }
.btn-brand:hover, .btn-brand:focus { color:#fff; transform:translateY(-3px); box-shadow:0 18px 36px rgba(37,184,201,.32); background:linear-gradient(135deg,#087e95,var(--cyan)); }
.btn-glass { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(17,25,35,.12); color:var(--ink); background:rgba(255,255,255,.68); backdrop-filter:blur(10px); }
[data-bs-theme="dark"] .btn-glass { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.13); }
.btn-glass:hover { color:var(--ink); transform:translateY(-3px); border-color:rgba(37,184,201,.45); }
.btn-lg { padding: 14px 22px; font-size: .96rem; }

.offcanvas { background:var(--paper); color:var(--ink); }
.offcanvas-title { font-family:var(--font-heading); font-weight:800; }
.mobile-nav-list { gap: 6px; }
.mobile-nav-list a { display:block; padding:14px 16px; border-radius:14px; color:var(--ink); font-weight:800; background:var(--surface); }
.mobile-nav-list a:hover { background:rgba(37,184,201,.13); color:var(--cyan-dark); }

.hero-section { min-height: 860px; background:radial-gradient(circle at 78% 28%,rgba(37,184,201,.20),transparent 28%),radial-gradient(circle at 18% 66%,rgba(253,187,8,.13),transparent 25%),linear-gradient(180deg,#f9feff 0%,#fff 72%); }
[data-bs-theme="dark"] .hero-section { background:radial-gradient(circle at 78% 28%,rgba(37,184,201,.18),transparent 28%),radial-gradient(circle at 18% 66%,rgba(253,187,8,.08),transparent 25%),linear-gradient(180deg,#0b121b 0%,#0d1721 72%); }
.hero-grid { position:absolute; inset:0; opacity:.55; background-image:linear-gradient(rgba(37,184,201,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,184,201,.06) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); animation:float-orb 9s ease-in-out infinite; }
.orb-one { width:120px; height:120px; right:7%; top:19%; background:linear-gradient(135deg,rgba(255,75,11,.18),rgba(253,187,8,.28)); }
.orb-two { width:70px; height:70px; left:4%; bottom:18%; background:linear-gradient(135deg,rgba(37,184,201,.23),rgba(37,184,201,.06)); animation-delay:-3s; }
@keyframes float-orb { 0%,100%{ transform:translate3d(0,0,0) rotate(0); } 50%{ transform:translate3d(0,-24px,0) rotate(12deg); } }
.hero-copy { position:relative; z-index:3; padding-top:70px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; padding:8px 13px; border:1px solid rgba(37,184,201,.22); border-radius:999px; background:rgba(255,255,255,.66); color:var(--cyan-dark); font-size:.78rem; font-weight:800; letter-spacing:.03em; box-shadow:var(--shadow-sm); }
[data-bs-theme="dark"] .eyebrow { background:rgba(255,255,255,.05); }
.pulse-dot { position:relative; width:9px; height:9px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 0 rgba(255,75,11,.4); animation:pulse 1.8s infinite; }
@keyframes pulse { 70%{ box-shadow:0 0 0 9px rgba(255,75,11,0); } 100%{ box-shadow:0 0 0 0 rgba(255,75,11,0); } }
.display-title { max-width:760px; margin:24px 0 20px; font-family:var(--font-heading); font-size:clamp(2.65rem,5.25vw,5rem); line-height:1.02; letter-spacing:-.055em; font-weight:800; }
.text-gradient { color:transparent; background:linear-gradient(90deg,var(--cyan-dark),var(--cyan),var(--orange)); -webkit-background-clip:text; background-clip:text; }
.hero-lead { max-width:650px; margin-bottom:30px; color:var(--ink-soft); font-size:1.12rem; }
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:30px; }
.hero-proof div:last-child { display:grid; }
.hero-proof strong { font-family:var(--font-heading); font-size:.92rem; }
.hero-proof small { color:var(--ink-soft); font-size:.79rem; }
.avatar-stack { display:flex; }
.avatar-stack span { width:36px; height:36px; display:grid; place-items:center; margin-left:-8px; border:3px solid var(--paper); border-radius:50%; color:#fff; font-weight:800; font-size:.75rem; box-shadow:var(--shadow-sm); }
.avatar-stack span:first-child{margin-left:0;background:var(--cyan)} .avatar-stack span:nth-child(2){background:var(--orange)} .avatar-stack span:nth-child(3){background:var(--yellow);color:#1a1a1a} .avatar-stack span:nth-child(4){background:var(--ink)}

.hero-stage { position:relative; width:min(100%,620px); height:620px; margin-inline:auto; perspective:1200px; transform-style:preserve-3d; }
.stage-glow { position:absolute; width:440px; height:440px; left:50%; top:50%; border-radius:50%; background:radial-gradient(circle,rgba(37,184,201,.28),rgba(37,184,201,.06) 55%,transparent 70%); transform:translate(-50%,-50%); filter:blur(6px); animation:breathe 4.6s ease-in-out infinite; }
@keyframes breathe { 0%,100%{ transform:translate(-50%,-50%) scale(.92); opacity:.7; } 50%{ transform:translate(-50%,-50%) scale(1.05); opacity:1; } }
.hero-card-3d { position:absolute; z-index:4; left:50%; top:50%; width:390px; min-height:465px; padding:28px; overflow:hidden; border:1px solid rgba(255,255,255,.66); border-radius:36px; color:#fff; background:linear-gradient(150deg,#0f1b27 0%,#153446 55%,#0f8197 100%); box-shadow:0 50px 100px rgba(5,46,59,.35),inset 0 1px 0 rgba(255,255,255,.25); transform:translate(-50%,-50%) rotateY(-10deg) rotateX(5deg); transform-style:preserve-3d; transition:transform .18s ease-out; }
.hero-card-3d::before { content:""; position:absolute; width:280px; height:280px; right:-100px; top:-100px; border-radius:50%; background:radial-gradient(circle,rgba(253,187,8,.55),rgba(255,75,11,.08) 65%,transparent 66%); }
.hero-card-3d::after { content:""; position:absolute; inset:auto -80px -140px auto; width:340px; height:260px; border-radius:50%; background:rgba(37,184,201,.18); filter:blur(10px); }
.hero-card-top { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; transform:translateZ(36px); }
.mini-badge { padding:7px 10px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); font-size:.64rem; font-weight:800; letter-spacing:.07em; }
.status-dot { display:flex; align-items:center; gap:7px; font-size:.72rem; color:#c7f8ec; }
.status-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#4ade80; box-shadow:0 0 0 5px rgba(74,222,128,.12); }
.logo-halo { position:relative; z-index:2; width:138px; height:138px; display:grid; place-items:center; margin:32px auto 20px; border-radius:38px; background:rgba(255,255,255,.96); box-shadow:0 25px 55px rgba(0,0,0,.25),0 0 0 10px rgba(255,255,255,.07); transform:translateZ(60px) rotate(-3deg); }
.logo-halo img { width:118px; height:118px; object-fit:contain; border-radius:28px; }
.hero-card-3d h2 { position:relative; z-index:2; margin:0 0 10px; font-family:var(--font-heading); font-size:2.15rem; line-height:1.08; letter-spacing:-.04em; transform:translateZ(44px); }
.hero-card-3d > p { position:relative; z-index:2; max-width:330px; margin:0; color:rgba(255,255,255,.72); font-size:.9rem; transform:translateZ(34px); }
.card-metrics { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; transform:translateZ(48px); }
.card-metrics > div { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.card-metrics i { color:var(--yellow); font-size:1.2rem; }
.card-metrics span { display:grid; line-height:1.2; }
.card-metrics strong { font-size:.83rem; }
.card-metrics small { color:rgba(255,255,255,.6); font-size:.65rem; }
.floating-chip { position:absolute; z-index:8; display:flex; align-items:center; gap:11px; min-width:150px; padding:12px 14px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,255,255,.86); color:#111923; box-shadow:0 22px 55px rgba(15,23,42,.16); backdrop-filter:blur(12px); animation:chip-float 4.5s ease-in-out infinite; }
.floating-chip > i { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; color:#fff; background:var(--cyan); }
.floating-chip span { display:grid; line-height:1.15; }
.floating-chip strong { font-family:var(--font-heading); font-size:.82rem; }
.floating-chip small { margin-top:4px; color:#64748b; font-size:.67rem; }
.chip-a { left:0; top:22%; } .chip-a > i { background:var(--yellow); color:#222; }
.chip-b { right:-2%; top:36%; animation-delay:-1.7s; } .chip-b > i { background:var(--orange); }
.chip-c { left:7%; bottom:12%; animation-delay:-3s; }
@keyframes chip-float { 0%,100%{ transform:translateY(0) rotate(-1deg); } 50%{ transform:translateY(-14px) rotate(1.5deg); } }
.orbit-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(37,184,201,.24); border-radius:50%; transform:translate(-50%,-50%) rotateX(68deg); }
.ring-one { width:560px; height:560px; animation:spin 18s linear infinite; }
.ring-two { width:470px; height:470px; border-style:dashed; animation:spin-reverse 14s linear infinite; }
@keyframes spin { to{ transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg); } }
@keyframes spin-reverse { to{ transform:translate(-50%,-50%) rotateX(68deg) rotateZ(-360deg); } }
.spark { position:absolute; z-index:2; color:var(--yellow); text-shadow:0 0 18px rgba(253,187,8,.7); animation:sparkle 2.4s ease-in-out infinite; }
.spark-one { right:10%; top:14%; font-size:1.5rem; } .spark-two { left:11%; top:46%; font-size:1rem; animation-delay:-.8s; } .spark-three{right:17%;bottom:13%;font-size:1.2rem;animation-delay:-1.4s}
@keyframes sparkle { 0%,100%{ transform:scale(.6) rotate(0); opacity:.35; } 50%{ transform:scale(1.3) rotate(90deg); opacity:1; } }
.scroll-cue { position:absolute; left:50%; bottom:22px; z-index:5; display:flex; align-items:center; gap:8px; color:var(--ink-soft); font-size:.73rem; text-transform:uppercase; letter-spacing:.12em; transform:translateX(-50%); }
.scroll-cue i { animation:scroll-arrow 1.5s infinite; }
@keyframes scroll-arrow { 50%{ transform:translateY(6px); } }

.trust-strip { position:relative; z-index:8; margin-top:-38px; }
.trust-strip .container { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.90); box-shadow:var(--shadow-md); backdrop-filter:blur(18px); }
[data-bs-theme="dark"] .trust-strip .container { background:rgba(16,26,38,.9); }
.stat-block { display:flex; align-items:center; justify-content:center; gap:14px; min-height:118px; padding:20px; border-right:1px solid var(--line); }
.stat-block:last-child { border-right:0; }
.stat-icon { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; border-radius:15px; color:var(--cyan-dark); background:rgba(37,184,201,.12); font-size:1.2rem; }
.stat-block > div { line-height:1.05; }
.stat-block strong,.stat-block > div > span { font-family:var(--font-heading); font-size:1.65rem; font-weight:800; }
.stat-block > div > span { color:var(--orange); }
.stat-block small { display:block; margin-top:8px; color:var(--ink-soft); font-size:.72rem; }

.section-space { position:relative; padding:110px 0; }
.section-heading { margin-bottom:28px; }
.section-heading.mx-auto { max-width:720px; }
.section-kicker { display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; color:var(--cyan-dark); font-weight:800; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.section-kicker::before { content:""; width:28px; height:3px; border-radius:99px; background:linear-gradient(90deg,var(--orange),var(--yellow)); }
.section-heading h2 { margin:0 0 18px; font-family:var(--font-heading); font-size:clamp(2rem,4vw,3.35rem); line-height:1.12; letter-spacing:-.045em; font-weight:800; }
.section-heading h2 span { color:var(--cyan-dark); }
.section-heading p { margin:0; color:var(--ink-soft); font-size:1.02rem; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--cyan-dark); font-weight:800; }
.text-link i { transition:transform .22s; }
.text-link:hover i { transform:translateX(5px); }

.about-section { background:var(--paper); }
.about-visual { position:relative; max-width:560px; min-height:530px; padding:35px; }
.about-main { position:relative; height:465px; overflow:hidden; border-radius:34px; background:linear-gradient(150deg,#0b1822,#13586b 55%,#25b8c9); box-shadow:var(--shadow-md); transform-style:preserve-3d; transition:transform .18s ease-out; }
.visual-sky { position:absolute; inset:0; overflow:hidden; }
.visual-sun { position:absolute; width:150px; height:150px; left:50%; top:21%; border-radius:50%; background:linear-gradient(135deg,var(--yellow),var(--orange)); transform:translateX(-50%); box-shadow:0 0 80px rgba(253,187,8,.35); }
.visual-rays { position:absolute; width:330px; height:330px; left:50%; top:3%; border-radius:50%; background:repeating-conic-gradient(from 2deg,rgba(253,187,8,.8) 0 4deg,transparent 4deg 16deg); mask-image:radial-gradient(circle,transparent 0 31%,#000 32% 48%,transparent 49%); transform:translateX(-50%); animation:slow-rotate 24s linear infinite; }
@keyframes slow-rotate { to{ transform:translateX(-50%) rotate(360deg); } }
.visual-book { position:absolute; left:50%; bottom:85px; width:390px; height:170px; transform:translateX(-50%) perspective(900px) rotateX(58deg); transform-style:preserve-3d; }
.visual-book span { position:absolute; top:0; width:52%; height:100%; background:#fff; box-shadow:0 18px 22px rgba(0,0,0,.24); }
.visual-book span:nth-child(1){left:0;border-radius:18px 3px 3px 18px;transform:rotateZ(6deg);background:linear-gradient(90deg,#dffcff,#fff)}
.visual-book span:nth-child(2){right:0;border-radius:3px 18px 18px 3px;transform:rotateZ(-6deg);background:linear-gradient(90deg,#fff,#dffcff)}
.visual-book span:nth-child(3){left:4%;top:14px;height:82%;background:transparent;border-top:5px solid var(--cyan);border-radius:40%;box-shadow:none}
.visual-book span:nth-child(4){right:4%;top:14px;height:82%;background:transparent;border-top:5px solid var(--cyan);border-radius:40%;box-shadow:none}
.about-caption { position:absolute; z-index:4; left:24px; right:24px; bottom:24px; display:flex; align-items:center; gap:13px; padding:15px; border:1px solid rgba(255,255,255,.15); border-radius:18px; color:#fff; background:rgba(8,28,38,.58); backdrop-filter:blur(12px); transform:translateZ(38px); }
.about-caption > i { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--orange);font-size:1.2rem; }
.about-caption span { display:grid; line-height:1.2; }
.about-caption strong { font-size:.88rem; }
.about-caption small { margin-top:5px;color:rgba(255,255,255,.65);font-size:.7rem; }
.experience-badge { position:absolute; z-index:7; right:-6px; top:14px; width:142px; height:142px; display:grid; place-content:center; text-align:center; border:8px solid var(--paper); border-radius:50%; color:#17202a; background:linear-gradient(135deg,var(--yellow),#ffd761); box-shadow:var(--shadow-md); animation:badge-bob 4s ease-in-out infinite; }
.experience-badge strong { font-family:var(--font-heading); font-size:2.3rem; line-height:.9; }
.experience-badge span { margin-top:8px;font-size:.68rem;font-weight:800;line-height:1.25; }
@keyframes badge-bob { 50%{ transform:translateY(-12px) rotate(3deg); } }
.dots-pattern { position:absolute; left:0; bottom:0; width:115px; height:115px; opacity:.45; background-image:radial-gradient(var(--cyan) 2px,transparent 2px); background-size:14px 14px; }
.mission-grid { display:grid; gap:16px; margin:30px 0 24px; }
.mission-card { display:flex; gap:16px; padding:19px; border:1px solid var(--line); border-radius:20px; background:var(--surface); transition:.3s; }
.mission-card:hover { transform:translateX(8px); border-color:rgba(37,184,201,.4); box-shadow:var(--shadow-sm); }
.mission-card > span { width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--cyan-dark),var(--cyan));font-size:1.25rem; }
.mission-card:nth-child(2) > span { background:linear-gradient(135deg,var(--orange),var(--yellow)); }
.mission-card h3 { margin:0 0 5px;font-family:var(--font-heading);font-size:1rem;font-weight:800; }
.mission-card p { margin:0;color:var(--ink-soft);font-size:.87rem; }

.program-section { overflow:hidden; background:var(--surface); }
.program-bg-word { position:absolute; left:50%; top:45px; color:transparent; -webkit-text-stroke:1px rgba(37,184,201,.08); font-family:var(--font-heading); font-size:clamp(6rem,16vw,14rem); font-weight:800; letter-spacing:.08em; transform:translateX(-50%); white-space:nowrap; }
.program-card { position:relative; height:100%; min-height:510px; padding:32px; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:var(--paper); box-shadow:var(--shadow-sm); transform-style:preserve-3d; transition:transform .18s ease-out,box-shadow .3s,border-color .3s; }
.program-card:hover { border-color:rgba(37,184,201,.42); box-shadow:var(--shadow-md); }
.program-card::after { content:""; position:absolute; width:190px;height:190px;right:-70px;top:-85px;border-radius:50%;background:rgba(37,184,201,.08); }
.program-number { position:absolute; right:20px; top:4px; color:rgba(17,25,35,.04); font-family:var(--font-heading); font-size:9rem; line-height:1; font-weight:800; }
[data-bs-theme="dark"] .program-number { color:rgba(255,255,255,.035); }
.program-icon { position:relative;z-index:2;width:68px;height:68px;display:grid;place-items:center;margin-bottom:27px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--cyan-dark),var(--cyan));box-shadow:0 16px 30px rgba(37,184,201,.24);font-size:1.7rem;transform:translateZ(35px); }
.program-b .program-icon { background:linear-gradient(135deg,var(--orange),#ff7b35);box-shadow:0 16px 30px rgba(255,75,11,.2); }
.program-c .program-icon { color:#1c232b;background:linear-gradient(135deg,var(--yellow),#ffd85f);box-shadow:0 16px 30px rgba(253,187,8,.22); }
.program-level { position:relative;z-index:2;color:var(--cyan-dark);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
.program-card h3 { position:relative;z-index:2;margin:8px 0 14px;font-family:var(--font-heading);font-size:1.55rem;font-weight:800;letter-spacing:-.03em; }
.program-card > p { position:relative;z-index:2;color:var(--ink-soft);font-size:.91rem; }
.program-card ul { position:relative;z-index:2;display:grid;gap:10px;padding:0;margin:22px 0 28px;list-style:none;color:var(--ink-soft);font-size:.86rem; }
.program-card li { display:flex;align-items:center;gap:9px; }
.program-card li i { color:var(--cyan); }
.program-card > a { position:absolute;z-index:2;left:32px;bottom:30px;display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:800; }
.program-card > a i { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);transition:.25s; }
.program-card > a:hover i { color:#fff;background:var(--cyan);transform:rotate(45deg); }
.popular-label { position:absolute;z-index:5;right:18px;top:18px;padding:7px 10px;border-radius:999px;color:#fff;background:var(--orange);font-size:.65rem;font-weight:800; }
.skills-panel { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;padding:24px 28px;border-radius:24px;color:#fff;background:linear-gradient(115deg,#111923,#124c5d);box-shadow:var(--shadow-md); }
.skills-panel > div { display:flex;align-items:center;gap:16px; }
.skills-icon { width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;color:#14202a;background:var(--yellow);font-size:1.35rem; }
.skills-panel strong,.skills-panel small { display:block; }
.skills-panel strong { font-family:var(--font-heading);font-size:1.05rem; }
.skills-panel small { margin-top:4px;color:rgba(255,255,255,.67);font-size:.8rem; }

.value-section { background:var(--paper); }
.quote-box { position:relative;margin-top:34px;padding:25px 25px 25px 68px;border-left:4px solid var(--orange);border-radius:0 20px 20px 0;background:var(--surface); }
.quote-box i { position:absolute;left:24px;top:22px;color:var(--orange);font-size:1.7rem; }
.quote-box p { margin:0;font-family:var(--font-heading);font-size:1rem;font-weight:700; }
.value-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.value-card { padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--surface);transition:.3s; }
.value-card:hover { transform:translateY(-8px);border-color:rgba(37,184,201,.36);box-shadow:var(--shadow-md); }
.value-card > span { width:52px;height:52px;display:grid;place-items:center;margin-bottom:20px;border-radius:16px;color:var(--cyan-dark);background:rgba(37,184,201,.12);font-size:1.3rem;transition:.3s; }
.value-card:hover > span { color:#fff;background:var(--cyan);transform:rotate(-6deg) scale(1.08); }
.value-card:nth-child(2) > span { color:var(--orange);background:rgba(255,75,11,.1); }
.value-card:nth-child(3) > span { color:#8a6300;background:rgba(253,187,8,.16); }
.value-card:nth-child(4) > span { color:#fff;background:#111923; }
.value-card h3 { margin:0 0 9px;font-family:var(--font-heading);font-size:1rem;font-weight:800; }
.value-card p { margin:0;color:var(--ink-soft);font-size:.86rem; }

.principal-section { padding-top:35px;background:var(--paper); }
.principal-card { position:relative;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:42px;min-height:410px;padding:46px 55px;overflow:hidden;border-radius:36px;color:#fff;background:linear-gradient(120deg,#0e1924 0%,#123e4e 55%,#1597aa 100%);box-shadow:var(--shadow-md); }
.principal-photo-wrap { position:relative;width:250px;height:300px;display:grid;place-items:end center; }
.principal-photo { position:relative;z-index:3;width:210px;height:255px;display:grid;place-items:center;text-align:center;border-radius:100px 100px 26px 26px;color:rgba(255,255,255,.65);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06));border:1px dashed rgba(255,255,255,.35);font-weight:800;letter-spacing:.08em;font-size:.75rem; }
.photo-ring { position:absolute;z-index:1;width:245px;height:245px;top:6px;border:24px solid var(--yellow);border-radius:50%;opacity:.9; }
.principal-copy { position:relative;z-index:3; }
.principal-copy .section-kicker { color:#87e7f0; }
.quote-mark { position:absolute;right:0;top:-25px;color:rgba(255,255,255,.09);font-size:8rem;line-height:1; }
.principal-copy blockquote { position:relative;z-index:2;margin:10px 0 27px;font-family:var(--font-heading);font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.42;letter-spacing:-.03em;font-weight:700; }
.principal-name { display:grid; }
.principal-name strong { color:var(--yellow);font-family:var(--font-heading);font-size:1rem; }
.principal-name span { color:rgba(255,255,255,.64);font-size:.8rem; }
.principal-shape { position:absolute;width:340px;height:340px;right:-120px;bottom:-190px;border:50px solid rgba(255,255,255,.06);border-radius:50%; }

.news-section { background:var(--surface); }
.featured-news { height:100%;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:var(--shadow-sm);transition:.3s; }
.featured-news:hover { transform:translateY(-7px);box-shadow:var(--shadow-md); }
.news-visual { min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;background:linear-gradient(135deg,#ff4b0b,#fdbb08); }
.news-visual i { font-size:4rem;filter:drop-shadow(0 12px 20px rgba(0,0,0,.15)); }
.news-visual span { font-size:.72rem;font-weight:800;letter-spacing:.16em; }
.featured-news-body { padding:28px; }
.news-meta { display:flex;align-items:center;gap:18px;color:var(--ink-soft);font-size:.73rem; }
.news-meta span:last-child { padding:4px 9px;border-radius:999px;color:var(--cyan-dark);background:rgba(37,184,201,.11);font-weight:800; }
.featured-news h3 { margin:15px 0 11px;font-family:var(--font-heading);font-size:1.45rem;line-height:1.35;font-weight:800; }
.featured-news p { color:var(--ink-soft);font-size:.88rem; }
.featured-news a { display:inline-flex;align-items:center;gap:8px;color:var(--cyan-dark);font-weight:800;font-size:.86rem; }
.news-list { display:grid;gap:16px; }
.news-list-card { display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--paper);transition:.3s; }
.news-list-card:hover { transform:translateX(7px);border-color:rgba(37,184,201,.4);box-shadow:var(--shadow-sm); }
.news-date { width:66px;height:76px;display:grid;place-content:center;text-align:center;border-radius:17px;color:#fff;background:var(--orange); }
.news-date.cyan { background:var(--cyan-dark); }
.news-date.yellow { color:#20252b;background:var(--yellow); }
.news-date strong { font-family:var(--font-heading);font-size:1.65rem;line-height:1; }
.news-date span { margin-top:5px;font-size:.65rem;font-weight:800;letter-spacing:.08em; }
.news-category { color:var(--cyan-dark);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.news-list-card h3 { margin:4px 0 7px;font-family:var(--font-heading);font-size:1rem;line-height:1.35;font-weight:800; }
.news-list-card p { margin:0;color:var(--ink-soft);font-size:.75rem; }
.news-list-card > i { width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--surface);transition:.25s; }
.news-list-card:hover > i { color:#fff;background:var(--cyan);transform:rotate(45deg); }

.gallery-section { background:var(--paper); }
.gallery-grid { display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:16px; }
.gallery-item { position:relative;overflow:hidden;border:0;border-radius:24px;color:#fff;text-align:left;padding:24px;box-shadow:var(--shadow-sm);transition:.35s;isolation:isolate; }
.gallery-item::before { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.68));z-index:-1; }
.gallery-item::after { content:"";position:absolute;width:180px;height:180px;right:-60px;top:-65px;border:35px solid rgba(255,255,255,.13);border-radius:50%;transition:.45s; }
.gallery-item:hover { transform:translateY(-7px) scale(1.01);box-shadow:var(--shadow-md); }
.gallery-item:hover::after { transform:scale(1.25) rotate(35deg); }
.gallery-item i { display:block;margin-bottom:auto;font-size:2.25rem;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18)); }
.gallery-item span { position:absolute;left:24px;right:24px;bottom:22px;font-family:var(--font-heading);font-size:1.05rem;font-weight:800; }
.gallery-one { grid-column:span 5;grid-row:span 2;background:linear-gradient(135deg,#0d8da3,#31c9d7); }
.gallery-two { grid-column:span 3;background:linear-gradient(135deg,#ff4b0b,#ff8a4f); }
.gallery-three { grid-column:span 4;background:linear-gradient(135deg,#d99c00,#ffd45a);color:#17202a; }
.gallery-four { grid-column:span 4;background:linear-gradient(135deg,#152434,#2c5364); }
.gallery-five { grid-column:span 3;background:linear-gradient(135deg,#7458d9,#9e86ef); }
.gallery-six { grid-column:span 3;background:linear-gradient(135deg,#0e917d,#35caae); }
.gallery-note { margin:20px 0 0;text-align:center;color:var(--ink-soft);font-size:.78rem; }
.gallery-note code { color:var(--orange); }

.registration-section { padding:45px 0 0;background:var(--paper); }
.registration-card { position:relative;overflow:hidden;padding:50px 54px;border-radius:32px;color:#fff;background:linear-gradient(110deg,var(--cyan-dark),var(--cyan) 55%,#42ceda);box-shadow:var(--shadow-brand); }
.registration-card::after { content:"";position:absolute;width:330px;height:330px;right:-80px;top:-180px;border:55px solid rgba(255,255,255,.12);border-radius:50%; }
.registration-shine { position:absolute;inset:-50%;background:linear-gradient(100deg,transparent 45%,rgba(255,255,255,.16) 50%,transparent 55%);animation:shine 6s linear infinite;transform:translateX(-40%); }
@keyframes shine { to{ transform:translateX(40%); } }
.registration-tag { display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.10);font-size:.72rem;font-weight:800; }
.registration-card h2 { margin:15px 0 10px;font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.15rem);line-height:1.12;letter-spacing:-.045em;font-weight:800; }
.registration-card h2 span { color:var(--yellow); }
.registration-card p { margin:0;color:rgba(255,255,255,.75); }
.registration-card .btn-light { color:#0c7182; }
.registration-card small { color:rgba(255,255,255,.67); }

.contact-section { background:var(--paper); }
.contact-list { display:grid;gap:12px;margin-top:30px; }
.contact-item { display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:.25s; }
.contact-item:hover { transform:translateX(6px);border-color:rgba(37,184,201,.4); }
.contact-item > span { width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--cyan); }
.contact-item:nth-child(2) > span { background:var(--orange); }
.contact-item:nth-child(3) > span { color:#18202a;background:var(--yellow); }
.contact-item div { display:grid;line-height:1.25; }
.contact-item small { color:var(--ink-soft);font-size:.7rem; }
.contact-item strong { margin-top:4px;font-size:.85rem; }
.contact-card { overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-md); }
.map-placeholder { position:relative;min-height:250px;overflow:hidden;background:linear-gradient(135deg,#dff9fc,#edf7f8); }
[data-bs-theme="dark"] .map-placeholder { background:linear-gradient(135deg,#102936,#162531); }
.map-grid { position:absolute;inset:-30px;opacity:.8;background-image:linear-gradient(35deg,transparent 45%,rgba(37,184,201,.20) 46% 48%,transparent 49%),linear-gradient(-35deg,transparent 45%,rgba(37,184,201,.18) 46% 48%,transparent 49%);background-size:85px 70px;transform:rotate(-5deg) scale(1.2); }
.map-pin { position:absolute;left:50%;top:43%;width:60px;height:60px;display:grid;place-items:center;border:8px solid rgba(255,255,255,.8);border-radius:50% 50% 50% 10%;color:#fff;background:var(--orange);box-shadow:0 18px 30px rgba(255,75,11,.3);font-size:1.35rem;transform:translate(-50%,-50%) rotate(-45deg);animation:pin-bounce 2s ease-in-out infinite; }
.map-pin i { transform:rotate(45deg); }
@keyframes pin-bounce { 50%{ transform:translate(-50%,-60%) rotate(-45deg); } }
.map-label { position:absolute;left:50%;bottom:20px;display:grid;min-width:260px;padding:12px 16px;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:var(--shadow-sm);transform:translateX(-50%);backdrop-filter:blur(10px); }
[data-bs-theme="dark"] .map-label { background:rgba(11,18,27,.86); }
.map-label strong { font-family:var(--font-heading);font-size:.88rem; }
.map-label span { color:var(--ink-soft);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.contact-form { padding:28px; }
.form-label { color:var(--ink);font-weight:700;font-size:.8rem; }
.form-control,.form-select { min-height:50px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--paper); }
.form-control:focus,.form-select:focus { color:var(--ink);background:var(--paper);border-color:var(--cyan);box-shadow:0 0 0 .25rem rgba(37,184,201,.12); }
textarea.form-control { min-height:120px; }

.site-footer { position:relative;overflow:hidden;color:rgba(255,255,255,.76);background:#0b131d; }
.footer-glow { position:absolute;width:520px;height:520px;left:-220px;bottom:-310px;border-radius:50%;background:radial-gradient(circle,rgba(37,184,201,.2),transparent 65%); }
.footer-brand { display:flex;align-items:center;gap:14px;color:#fff; }
.footer-brand img { width:72px;height:70px;object-fit:contain;padding:4px;border-radius:17px;background:#fff; }
.footer-brand div { display:grid;line-height:1.2; }
.footer-brand strong { font-family:var(--font-heading);font-size:1.05rem; }
.footer-brand span { margin-top:5px;color:rgba(255,255,255,.55);font-size:.7rem; }
.footer-about { max-width:440px;margin:22px 0;color:rgba(255,255,255,.58);font-size:.88rem; }
.footer-social { display:flex;gap:10px; }
.footer-social a { width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.05);transition:.25s; }
.footer-social a:hover { color:#fff;background:var(--cyan);transform:translateY(-4px); }
.site-footer h3 { margin:8px 0 18px;color:#fff;font-family:var(--font-heading);font-size:.91rem;font-weight:800; }
.site-footer ul { display:grid;gap:10px;padding:0;margin:0;list-style:none;font-size:.82rem; }
.site-footer li a { color:rgba(255,255,255,.58);transition:.2s; }
.site-footer li a:hover { color:var(--yellow);padding-left:4px; }
.footer-contact li { display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.58); }
.footer-contact i { color:var(--cyan);margin-top:4px; }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.45);font-size:.72rem; }
.footer-bottom strong { color:rgba(255,255,255,.72); }

.whatsapp-float { position:fixed;z-index:999;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:999px;color:#fff;background:#25d366;box-shadow:0 16px 35px rgba(37,211,102,.32);font-weight:800;font-size:.78rem;transition:.3s; }
.whatsapp-float:hover { color:#fff;transform:translateY(-5px) scale(1.02); }
.whatsapp-float i { font-size:1.25rem; }
.back-to-top { position:fixed;z-index:998;right:26px;bottom:86px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:14px;color:#fff;background:var(--ink);box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s; }
.back-to-top.show { opacity:1;visibility:visible;transform:translateY(0); }

.reveal-up,.reveal-left,.reveal-right,.reveal-scale { opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1);will-change:transform,opacity; }
.reveal-up { transform:translateY(42px); }
.reveal-left { transform:translateX(-45px); }
.reveal-right { transform:translateX(45px); }
.reveal-scale { transform:scale(.9); }
.revealed { opacity:1!important;transform:none!important; }
.delay-1 { transition-delay:.12s; }.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}.delay-4{transition-delay:.48s}

@media (min-width: 992px) {
  body:not(.nav-scrolled) .hero-section { padding-top:38px; }
}
@media (max-width: 1199.98px) {
  .navbar .nav-link { padding-inline:9px!important;font-size:.86rem; }
  .hero-card-3d { width:360px; }
  .chip-b { right:-4%; }
}
@media (max-width: 991.98px) {
  :root { --nav-height:74px; }
  .topbar + .navbar { top:0; }
  .navbar { min-height:74px; }
  .navbar-brand img { width:50px;height:49px; }
  .brand-copy strong { font-size:.9rem; }
  .brand-copy small { font-size:.6rem; }
  .hero-section { min-height:auto;padding:125px 0 85px; }
  .hero-section .min-vh-100 { min-height:auto!important; }
  .hero-copy { padding-top:0;text-align:center; }
  .hero-lead { margin-inline:auto; }
  .hero-copy .d-flex { justify-content:center; }
  .hero-proof { justify-content:center;text-align:left; }
  .hero-stage { height:570px;margin-top:10px; }
  .trust-strip { margin-top:-25px; }
  .stat-block:nth-child(2){border-right:0}.stat-block:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .principal-card { grid-template-columns:240px 1fr;padding:38px; }
  .principal-photo-wrap { width:210px;height:270px; }
  .principal-photo { width:185px;height:230px; }
  .photo-ring { width:215px;height:215px; }
  .gallery-grid { grid-auto-rows:190px; }
  .gallery-one{grid-column:span 7}.gallery-two{grid-column:span 5}.gallery-three{grid-column:span 5}.gallery-four{grid-column:span 7}.gallery-five,.gallery-six{grid-column:span 6}
}
@media (max-width: 767.98px) {
  .section-space { padding:82px 0; }
  .display-title { font-size:clamp(2.55rem,13vw,4rem); }
  .hero-stage { height:500px;transform:scale(.9);margin-top:-15px;margin-bottom:-25px; }
  .hero-card-3d { width:350px;min-height:450px;padding:25px; }
  .floating-chip { min-width:132px;padding:10px; }
  .chip-a { left:-4%; }.chip-b{right:-6%}.chip-c{left:0}
  .stat-block { justify-content:flex-start;padding-left:22px; }
  .about-visual { min-height:480px;padding:15px; }
  .about-main { height:430px; }
  .experience-badge { right:0;width:120px;height:120px; }
  .visual-book { width:330px; }
  .skills-panel { flex-direction:column;align-items:flex-start; }
  .skills-panel .btn { width:100%; }
  .value-grid { grid-template-columns:1fr; }
  .principal-card { grid-template-columns:1fr;text-align:center;padding:34px 24px; }
  .principal-photo-wrap { margin:auto; }
  .principal-copy .section-kicker { justify-content:center; }
  .principal-copy .section-kicker::before { display:none; }
  .news-list-card { grid-template-columns:66px 1fr; }
  .news-list-card > i { display:none; }
  .gallery-grid { display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:180px; }
  .gallery-item { grid-column:span 1!important;grid-row:span 1!important; }
  .gallery-one { grid-column:span 2!important;grid-row:span 2!important; }
  .registration-card { padding:38px 26px;text-align:center; }
  .footer-bottom { flex-direction:column;text-align:center; }
}
@media (max-width: 575.98px) {
  .brand-copy small { display:none; }
  .brand-copy strong { max-width:145px;white-space:normal;font-size:.78rem; }
  .navbar-brand { gap:8px!important; }
  .navbar-brand img { width:45px;height:44px; }
  .icon-btn { width:40px;height:40px; }
  .hero-section { padding-top:112px; }
  .eyebrow { font-size:.66rem; }
  .hero-stage { width:520px;left:50%;transform:translateX(-50%) scale(.72);margin-top:-65px;margin-bottom:-100px; }
  .hero-card-3d { width:380px; }
  .trust-strip { margin-top:0; }
  .trust-strip .container { border-radius:0;border-inline:0; }
  .stat-block { min-height:100px;gap:9px;padding:15px 9px 15px 13px; }
  .stat-icon { width:40px;height:40px; }
  .stat-block strong,.stat-block > div > span { font-size:1.28rem; }
  .stat-block small { font-size:.61rem; }
  .section-heading h2 { font-size:2rem; }
  .about-visual { min-height:420px;padding:0; }
  .about-main { height:390px;border-radius:26px; }
  .visual-book { width:285px;bottom:74px; }
  .experience-badge { top:-35px;right:5px;width:105px;height:105px;border-width:6px; }
  .experience-badge strong { font-size:1.8rem; }
  .experience-badge span { font-size:.57rem; }
  .program-card { min-height:500px;padding:26px; }
  .program-card > a { left:26px; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-item,.gallery-one { grid-column:span 1!important;grid-row:span 1!important; }
  .whatsapp-float span { display:none; }
  .whatsapp-float { width:54px;height:54px;justify-content:center;padding:0;border-radius:50%; }
  .back-to-top { right:27px;bottom:88px; }
  .map-label { min-width:230px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important; }
}
