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

:root {
  --bg: #050506;
  --bg-soft: #0a0a0e;
  --panel: #0d0d13;
  --panel-2: #12121a;
  --line: rgba(255,255,255,.11);
  --text: #f4f3f7;
  --muted: #9d9aa7;
  --purple: #0058d4;
  --purple-2: #0b72ff;
  --purple-3: #67adff;
  --violet: #7c2ee8;
  --violet-2: #a45cff;
  --violet-soft: rgba(124,46,232,.16);
  --accent: #f2f2f2;
  --success: #25d366;
  --radius: 26px;
  --shadow: 0 22px 70px rgba(0,0,0,.44);
  --content: min(1180px, calc(100% - 40px));
}

/* Industry recognition */
.industry-recognition { position:relative; overflow:hidden; }
.industry-recognition::before { content:''; position:absolute; width:620px; height:620px; top:50%; right:-250px; border-radius:50%; background:radial-gradient(circle,rgba(38,118,232,.18),transparent 67%); transform:translateY(-50%); pointer-events:none; }
.recognition-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); align-items:center; gap:clamp(55px,9vw,130px); }
.recognition-copy { max-width:690px; }
.recognition-copy h2 { margin:20px 0 25px; }
.recognition-copy > p { max-width:590px; color:#aaa6b1; }
.recognition-video-card { position:relative; width:min(100%,390px); margin:0 auto; padding:10px; overflow:hidden; border:1px solid rgba(105,165,255,.27); border-radius:32px; background:linear-gradient(155deg,rgba(21,84,176,.18),rgba(255,255,255,.025) 40%),#090b10; box-shadow:0 38px 100px rgba(0,0,0,.42),0 0 70px rgba(0,76,182,.12); }
.recognition-video-card::before { content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.07); pointer-events:none; z-index:2; }
.recognition-video-stage { position:relative; overflow:hidden; border-radius:23px; background:#000; cursor:pointer; }
.recognition-video-card video { display:block; width:100%; aspect-ratio:9/16; border-radius:23px; background:#000; object-fit:cover; }
.recognition-sound-toggle { position:absolute; z-index:3; top:50%; left:50%; width:78px; height:78px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.30); border-radius:50%; background:rgba(4,10,20,.66); color:#fff; box-shadow:0 18px 48px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.15); backdrop-filter:blur(12px); transform:translate(-50%,-50%); cursor:pointer; opacity:1; transition:opacity .22s ease,transform .22s ease,background .22s ease,border-color .22s ease; }
.recognition-sound-toggle:hover { border-color:rgba(113,177,255,.64); background:rgba(9,52,110,.78); transform:translate(-50%,-50%) scale(1.06); }
.recognition-sound-toggle > span { width:0; height:0; margin-left:6px; border-top:13px solid transparent; border-bottom:13px solid transparent; border-left:20px solid #fff; filter:drop-shadow(0 4px 8px rgba(0,0,0,.32)); }
.recognition-sound-toggle.is-hidden { opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.82); }
.recognition-video-card figcaption { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 10px 7px; }
.recognition-video-card figcaption strong { color:#fff; font-size:11px; }
.recognition-video-card figcaption span { color:#727985; font-size:8px; text-align:right; }

@media (max-width: 820px) {
  .recognition-grid { grid-template-columns:1fr; gap:44px; }
  .recognition-copy { text-align:center; margin-inline:auto; }
  .recognition-copy > p { margin-inline:auto; }
  .recognition-video-card { width:min(82vw,360px); }
}

@media (max-width: 620px) {
  .industry-recognition { padding-block:64px; }
  .recognition-copy h2 { font-size:clamp(45px,13.5vw,58px); }
  .recognition-copy > p { font-size:13px; }
  .recognition-video-card { width:min(88vw,335px); padding:8px; border-radius:26px; }
  .recognition-video-stage,.recognition-video-card video { border-radius:19px; }
  .recognition-sound-toggle { width:68px; height:68px; }
  .recognition-sound-toggle > span { border-top-width:11px; border-bottom-width:11px; border-left-width:18px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', Arial, sans-serif;
  background:
    radial-gradient(circle at 72% 4%, rgba(0,88,212,.20), transparent 25%),
    linear-gradient(180deg, #040405 0%, #08080c 58%, #050506 100%);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .19;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 80%);
  z-index: -1;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; display: block; }

.container { width: var(--content); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(5,5,6,.78);
  backdrop-filter: blur(18px);
}
.nav-shell {
  width: var(--content);
  margin: 0 auto;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: max-content;
}
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(11,114,255,.25), rgba(255,255,255,.02));
  box-shadow: inset 0 0 22px rgba(11,114,255,.12);
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: 26px;
  letter-spacing: .04em;
}
.brand-copy strong {
  display: block;
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: 26px;
  letter-spacing: .13em;
  line-height: .88;
}
.brand-copy span {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .46em;
}
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a {
  color: #c8c5cf;
  padding: 11px 13px;
  border-radius: 999px;
  font-size: 13px;
  transition: .2s ease;
}
.main-nav a:hover,
.main-nav a.active { color: white; background: rgba(255,255,255,.07); }
.nav-cta {
  border: 1px solid rgba(11,114,255,.55) !important;
  background: rgba(0,88,212,.16) !important;
}
.menu-toggle {
  display: none;
  color: white;
  background: transparent;
  border: 1px solid var(--line);
  width: 44px;
  height: 44px;
  border-radius: 12px;
  cursor: pointer;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #9dccff;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.kicker::before { content:''; width: 24px; height: 2px; background: var(--purple-2); }
.display {
  margin: 0;
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .015em;
  line-height: .88;
}
.display-xl { font-size: clamp(72px, 11vw, 164px); }
.display-lg { font-size: clamp(54px, 7.8vw, 110px); }
.display-md { font-size: clamp(42px, 5.2vw, 76px); }
.gradient-text {
  background: linear-gradient(115deg, #fff 16%, #9dccff 57%, #0068ff 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lead {
  color: #b8b4c1;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.7;
  max-width: 660px;
}

.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items:center; }
.btn {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 19px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--purple); border-color: var(--purple); box-shadow: 0 12px 36px rgba(0,88,212,.32); }
.btn-primary:hover { background: var(--purple-2); }
.btn-ghost { background: rgba(255,255,255,.03); }
.btn-whatsapp { background: rgba(37,211,102,.10); border-color: rgba(37,211,102,.32); }

.hero {
  min-height: calc(100vh - 79px);
  display: grid;
  align-items: center;
  padding: 70px 0 52px;
  position: relative;
  overflow: hidden;
}
.hero::after {
  content:'';
  position:absolute;
  width: 600px;
  height: 600px;
  right: -200px;
  top: -120px;
  border-radius: 50%;
  border: 1px solid rgba(11,114,255,.17);
  box-shadow: 0 0 0 70px rgba(11,114,255,.026), 0 0 0 140px rgba(11,114,255,.02), 0 0 120px rgba(0,88,212,.14);
  pointer-events:none;
}
.hero-grid { display:grid; grid-template-columns: 1.18fr .82fr; align-items:center; gap:56px; }
.hero-copy { position:relative; z-index:2; }
.hero-copy .lead { margin: 26px 0 30px; }
.hero-note {
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #7f7b88;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing:.12em;
}
.hero-note::before { content:''; width: 44px; height:1px; background: #5f5a68; }
.hero-visual {
  min-height: 610px;
  position: relative;
  display:grid;
  align-items:center;
}
.hero-card {
  position: relative;
  border-radius: 34px;
  min-height: 490px;
  background:
    linear-gradient(155deg, rgba(255,255,255,.07), rgba(255,255,255,.016)),
    radial-gradient(circle at 70% 30%, rgba(113,28,214,.40), transparent 32%),
    #09090c;
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: var(--shadow);
  overflow:hidden;
  transform: rotate(2.2deg);
}
.hero-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(112deg, transparent 0 22px, rgba(255,255,255,.025) 23px 24px),
    linear-gradient(180deg, transparent, rgba(0,0,0,.5));
}
.orbit {
  position:absolute;
  width: 320px;
  height:320px;
  border-radius:50%;
  border:1px solid rgba(103,173,255,.27);
  right:-32px;
  top:55px;
}
.orbit::before, .orbit::after {
  content:'';
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(103,173,255,.15);
  inset:42px;
}
.orbit::after { inset:92px; background:radial-gradient(circle, rgba(11,114,255,.32), transparent 68%); }
.hero-monogram {
  position:absolute;
  left:34px;
  bottom:34px;
  font-family:'Bebas Neue', Impact, sans-serif;
  font-size: 154px;
  line-height:.75;
  color:#fff;
  letter-spacing:.03em;
}
.hero-monogram span { display:block; color:var(--purple-2); font-size:38px; letter-spacing:.20em; margin-top:26px; }
.floating-label {
  position:absolute;
  z-index:3;
  padding: 13px 16px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(5,5,6,.79);
  backdrop-filter:blur(16px);
  border-radius:15px;
  box-shadow:var(--shadow);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.label-a { top: 52px; left: -22px; }
.label-b { right: -18px; bottom: 68px; }

.marquee {
  border-block: 1px solid rgba(255,255,255,.08);
  background: #09090c;
  overflow:hidden;
  white-space:nowrap;
  padding:15px 0;
}
.marquee-track { display:inline-flex; gap:34px; align-items:center; animation:marquee 32s linear infinite; }
.marquee span { font-family:'Bebas Neue', Impact, sans-serif; color:#7e7989; font-size:20px; letter-spacing:.12em; }
.marquee b { color:var(--purple-2); }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.section { padding: 104px 0; }
.section-tight { padding: 76px 0; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:42px; }
.section-head p { max-width:530px; margin:0; color:var(--muted); line-height:1.7; }

.ecosystem-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.brand-card {
  min-height: 430px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background: var(--panel);
  position:relative;
  overflow:hidden;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.3s ease;
}
.brand-card:hover { transform:translateY(-6px); border-color:rgba(11,114,255,.38); }
.brand-card::before {
  content:'';
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,88,212,.28), transparent 68%);
  right:-70px;
  top:-70px;
}
.brand-card.secondary::before { background:radial-gradient(circle, rgba(255,255,255,.12), transparent 68%); }
.card-index { color:#7f7a88; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.card-title { font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(48px,6vw,78px); line-height:.9; margin:0; position:relative; z-index:2; }
.card-title small { display:block; font-family:'Inter', sans-serif; font-size:11px; color:#a6a2af; letter-spacing:.22em; margin-top:14px; }
.card-logo-title { width:min(100%, 430px); }
.card-logo-title img { width:min(100%, 340px); height:168px; object-fit:cover; object-position:center 54%; border:1px solid rgba(127,46,56,.22); border-radius:18px; background:#fff; box-shadow:0 18px 42px rgba(0,0,0,.24); }
.card-logo-title small { margin-top:20px; }
.card-foot { display:flex; align-items:end; justify-content:space-between; gap:20px; position:relative; z-index:2; }
.card-foot p { max-width:360px; color:#aaa6b1; line-height:1.6; margin:0; }
.arrow-link { width:50px; height:50px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-size:22px; transition:.2s; }
.brand-card:hover .arrow-link { background:var(--purple); border-color:var(--purple); transform:rotate(-12deg); }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:22px; padding:26px; min-height:220px; }
.service-number { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:rgba(0,88,212,.17); color:#82bcff; font-weight:800; font-size:12px; }
.service-card h3 { margin:48px 0 10px; font-size:19px; }
.service-card p { color:#96929e; line-height:1.65; margin:0; font-size:14px; }

.feature-split { display:grid; grid-template-columns:.85fr 1.15fr; gap:22px; align-items:stretch; }
.poster-wrap { border-radius:28px; overflow:hidden; border:1px solid var(--line); background:#09090c; box-shadow:var(--shadow); }
.poster-wrap img { width:100%; height:100%; object-fit:cover; }
.feature-copy { border:1px solid var(--line); border-radius:28px; padding:42px; background:linear-gradient(145deg, rgba(0,88,212,.11), rgba(255,255,255,.02)); }
.feature-copy h2 { margin-top:12px; }
.feature-copy p { color:#aaa6b1; line-height:1.75; }
.feature-tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 30px; }
.tag { padding:8px 11px; border-radius:999px; border:1px solid var(--line); color:#bdb9c4; font-size:11px; font-weight:700; }

.quote-band { margin-top:24px; padding:28px 0; border-block:1px solid var(--line); color:#d9d5df; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(26px,4vw,54px); line-height:1; letter-spacing:.04em; }
.quote-band b { color:var(--purple-2); font-weight:400; }

.footer { border-top:1px solid var(--line); padding:52px 0 30px; background:#050506; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:42px; }
.footer h4 { font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 15px; color:#dedbe3; }
.footer p, .footer a { color:#8f8b96; font-size:13px; line-height:1.8; }
.footer a:hover { color:#fff; }
.footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.06); color:#686470; font-size:11px; display:flex; justify-content:space-between; gap:20px; }

/* Academy */
.academy-shell { background:radial-gradient(circle at 50% -5%, rgba(0,88,212,.22), transparent 31%); }
.academy-head {
  padding:60px 0 24px;
  border-bottom:1px solid var(--line);
}
.academy-lockup { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.academy-name { font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(64px,10vw,124px); line-height:.8; margin:0; }
.academy-name span { color:var(--purple-2); }
.academy-desc { max-width:420px; color:#aaa6b1; line-height:1.65; font-size:14px; }
.tab-bar-wrap { position:sticky; top:79px; z-index:40; background:rgba(5,5,6,.91); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.tab-bar { width:var(--content); margin:0 auto; display:flex; gap:5px; overflow-x:auto; padding:12px 0; scrollbar-width:none; }
.tab-bar::-webkit-scrollbar { display:none; }
.tab-btn { color:#9c98a4; border:0; background:transparent; cursor:pointer; white-space:nowrap; border-radius:999px; padding:11px 15px; font-weight:700; font-size:12px; }
.tab-btn:hover, .tab-btn.active { background:rgba(0,88,212,.18); color:#fff; }
.tab-panel { display:none; animation:panelIn .28s ease; }
.tab-panel.active { display:block; }
@keyframes panelIn { from { opacity:0; transform:translateY(8px);} to {opacity:1; transform:none;} }

.academy-hero { min-height:610px; display:grid; grid-template-columns:1.1fr .9fr; gap:42px; align-items:center; padding:70px 0 90px; }
.academy-hero h2 { margin:16px 0 22px; }
.academy-poster { position:relative; }
.academy-poster img { border-radius:30px; max-height:620px; width:100%; object-fit:cover; object-position:top; border:1px solid rgba(255,255,255,.15); box-shadow:var(--shadow); }
.poster-chip { position:absolute; top:20px; left:-18px; background:#fff; color:#111; border-radius:999px; padding:10px 14px; font-size:11px; font-weight:900; letter-spacing:.04em; }

.academy-programs { display:grid; grid-template-columns:.78fr 1.22fr; gap:18px; margin-bottom:28px; }
.academy-programs-copy,
.masterclass-evidence { border:1px solid rgba(164,92,255,.28); border-radius:28px; background:#08060d; padding:34px; }
.academy-programs-copy { background:radial-gradient(circle at 12% 8%, rgba(124,46,232,.24), transparent 40%), #09070e; }
.academy-programs-copy h3 { margin:16px 0 20px; }
.academy-programs-copy p { color:#aaa6b1; line-height:1.75; margin:0 0 26px; }
.academy-programs-link { padding:0; border-radius:0; color:#fff; background:transparent !important; }
.academy-programs-link:hover { color:var(--purple-3); }
.evidence-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.evidence-heading h3 { margin:11px 0 0; font-size:24px; }
.evidence-status { flex:none; padding:8px 11px; border:1px solid rgba(164,92,255,.42); border-radius:999px; color:#c899ff; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.evidence-preview-grid { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:10px; min-height:280px; margin-bottom:22px; }
.evidence-preview { position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid rgba(164,92,255,.24); border-radius:18px; padding:18px; background:linear-gradient(145deg, rgba(124,46,232,.22), #09060e); }
.evidence-preview::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, transparent 48%, rgba(164,92,255,.055) 49%, rgba(164,92,255,.055) 51%, transparent 52%); background-size:24px 24px; opacity:.75; }
.evidence-preview-large { grid-row:1 / 3; }
.evidence-preview span,
.evidence-preview small { position:relative; z-index:1; }
.evidence-preview span { color:#e9edf5; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.evidence-preview small { color:#757b86; font-size:10px; line-height:1.5; margin-top:6px; }

.stats { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.stat { border-top:1px solid var(--line); padding-top:17px; }
.stat strong { display:block; font-family:'Bebas Neue', Impact, sans-serif; font-size:26px; font-weight:400; }
.stat span { color:#7f7b87; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }

.content-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.info-panel { border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,255,255,.025); padding:34px; }
.info-panel h3 { font-family:'Bebas Neue', Impact, sans-serif; font-size:38px; margin:0 0 18px; font-weight:400; }
.info-panel p { color:#aaa6b1; line-height:1.75; }
.bullets { list-style:none; margin:24px 0 0; padding:0; }
.bullets li { padding:13px 0; border-top:1px solid rgba(255,255,255,.07); color:#c4c0cb; display:flex; gap:12px; }
.bullets li::before { content:'↗'; color:var(--purple-2); font-weight:900; }

.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.course-card { border:1px solid var(--line); background:var(--panel); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; min-height:410px; }
.course-card.featured { background:linear-gradient(145deg, rgba(0,88,212,.16), #0b0b10); }
.course-card img { aspect-ratio: 16/10; object-fit:cover; object-position:top; border-bottom:1px solid var(--line); }
.course-content { padding:24px; display:flex; flex-direction:column; flex:1; }
.course-content .eyebrow { color:#82bcff; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.course-content h3 { margin:10px 0 12px; font-size:23px; }
.course-content p { color:#918d99; font-size:13px; line-height:1.65; margin:0 0 20px; }
.course-content .btn { margin-top:auto; align-self:flex-start; }
.placeholder-card { position:relative; overflow:hidden; }
.placeholder-card::before { content:''; position:absolute; inset:0; background:linear-gradient(145deg, transparent 10%, rgba(0,88,212,.13)); pointer-events:none; }
.placeholder-glyph { font-family:'Bebas Neue', Impact, sans-serif; font-size:86px; color:rgba(255,255,255,.06); line-height:1; margin-bottom:auto; }

.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:140px; gap:13px; }
.gallery-tile { border:1px solid var(--line); border-radius:20px; overflow:hidden; position:relative; background:linear-gradient(145deg, rgba(0,88,212,.15), rgba(255,255,255,.02)); }
.gallery-tile:nth-child(1) { grid-column:span 7; grid-row:span 2; }
.gallery-tile:nth-child(2) { grid-column:span 5; }
.gallery-tile:nth-child(3) { grid-column:span 5; }
.gallery-tile:nth-child(4) { grid-column:span 4; }
.gallery-tile:nth-child(5) { grid-column:span 4; }
.gallery-tile:nth-child(6) { grid-column:span 4; }
.gallery-label { position:absolute; left:18px; bottom:16px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#aaa6b1; }
.gallery-tile::after { content:'Agregar evidencia'; position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.23); font-family:'Bebas Neue', Impact, sans-serif; font-size:23px; letter-spacing:.08em; }

.logo-wall { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:34px; }
.logo-slot { min-height:125px; border:1px solid var(--line); border-radius:18px; display:grid; place-items:center; text-align:center; color:#716d78; font-size:11px; text-transform:uppercase; letter-spacing:.12em; background:rgba(255,255,255,.02); padding:18px; }

.consult-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; }
.consult-card { border:1px solid var(--line); border-radius:22px; padding:28px; min-height:240px; background:rgba(255,255,255,.025); }
.consult-card span { font-family:'Bebas Neue', Impact, sans-serif; color:var(--purple-2); font-size:32px; }
.consult-card h3 { margin:30px 0 10px; font-size:18px; }
.consult-card p { color:#918d99; font-size:13px; line-height:1.65; }

.cta-box { border:1px solid rgba(11,114,255,.34); border-radius:30px; padding:50px; background:radial-gradient(circle at 85% 10%, rgba(0,88,212,.28), transparent 34%), #0a0a0f; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-box p { max-width:560px; color:#aaa6b1; line-height:1.7; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; align-items:start; }
.contact-card, .contact-form { position:relative; overflow:hidden; border-radius:26px; padding:34px; }
.contact-official-logo { width:min(100%, 390px); height:auto; margin:4px 0 24px; filter:drop-shadow(0 12px 30px rgba(0,0,0,.38)); }
.contact-card {
  border:1px solid rgba(103,173,255,.24);
  background:
    radial-gradient(circle at 8% 0%, rgba(11,114,255,.18), transparent 38%),
    #0d1119;
}
.contact-form {
  border:1px solid rgba(164,92,255,.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(124,46,232,.24), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(11,114,255,.15), transparent 38%),
    #15131d;
  box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.045);
}
.contact-form::before {
  content:'';
  position:absolute;
  top:0;
  left:34px;
  right:34px;
  height:2px;
  background:linear-gradient(90deg, var(--purple-2), var(--violet-2), transparent);
}
.contact-list { display:grid; gap:12px; margin-top:26px; }
.contact-item { padding:15px 0; border-top:1px solid rgba(103,173,255,.13); color:#b7b7c5; }
.contact-item a { color:#b9d9ff; }
.contact-item a:hover { color:#fff; }
.social-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.social-action {
  min-width:178px;
  min-height:60px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 17px 10px 13px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  transition:transform .2s, box-shadow .2s, filter .2s;
}
.social-action:hover { transform:translateY(-3px); box-shadow:0 19px 42px rgba(0,0,0,.32); filter:saturate(1.08); }
.social-action img { flex:0 0 36px; width:36px; height:36px; object-fit:contain; }
.social-action span { display:flex; flex-direction:column; gap:2px; }
.social-action small { color:rgba(255,255,255,.76); font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; }
.social-action strong { color:#fff; font-size:14px; line-height:1; }
.social-whatsapp { background:linear-gradient(135deg, #087d45, #20bf67); border-color:rgba(93,255,171,.35); }
.social-whatsapp img { filter:invert(1) brightness(1.18); }
.social-instagram { background:linear-gradient(135deg, #5b2ad5 0%, #b629a1 52%, #ed6d3b 100%); border-color:rgba(255,170,225,.38); }
.contact-social-actions { display:grid; grid-template-columns:1fr 1fr; margin-top:24px; }
.contact-social-actions .social-action { min-width:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1/-1; }
.field label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#c4b5d8; }
.field input,.field textarea,.field select {
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(245,242,255,.07);
  color:#fff;
  padding:14px 15px;
  outline:none;
  transition:border-color .2s, background .2s, box-shadow .2s;
}
.field input::placeholder,.field textarea::placeholder { color:#8f899c; }
.field select { color-scheme:light; cursor:pointer; }
.field select option {
  background:#f5f2fa;
  color:#18131f;
  font-weight:600;
}
.field select option:checked {
  background:#7130bc;
  color:#fff;
}
.field input:hover,.field textarea:hover,.field select:hover { background:rgba(245,242,255,.09); border-color:rgba(164,92,255,.3); }
.field textarea { min-height:130px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { background:rgba(245,242,255,.11); border-color:var(--violet-2); box-shadow:0 0 0 3px rgba(124,46,232,.17), 0 8px 24px rgba(0,0,0,.16); }
.contact-form .btn-primary { background:linear-gradient(115deg, var(--purple), var(--violet)); border-color:rgba(164,92,255,.55); box-shadow:0 12px 36px rgba(83,36,195,.3); }
.contact-form .btn-primary:hover { background:linear-gradient(115deg, var(--purple-2), var(--violet-2)); }
.form-note { color:#8b8495; font-size:11px; line-height:1.5; margin-top:13px; }

@media (max-width: 960px) {
  :root { --content:min(100% - 28px, 760px); }
  .main-nav { display:none; position:absolute; top:78px; left:0; right:0; padding:14px; flex-direction:column; align-items:stretch; background:#08080b; border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:14px; }
  .menu-toggle { display:block; }
  .hero-grid,.academy-hero,.feature-split,.contact-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-visual { min-height:480px; }
  .hero-card { min-height:430px; }
  .ecosystem-grid,.content-grid-2 { grid-template-columns:1fr; }
  .service-grid,.consult-grid { grid-template-columns:1fr 1fr; }
  .course-grid { grid-template-columns:1fr 1fr; }
  .course-card.featured { grid-column:1/-1; }
  .academy-lockup { align-items:start; flex-direction:column; }
  .tab-bar-wrap { top:78px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > :first-child { grid-column:1/-1; }
}

@media (max-width: 620px) {
  :root { --content:calc(100% - 24px); --radius:22px; }
  .site-header .brand-copy span { display:none; }
  .brand-copy strong { font-size:22px; }
  .hero { padding-top:48px; }
  .hero-visual { min-height:380px; }
  .hero-card { min-height:345px; border-radius:24px; }
  .hero-monogram { font-size:104px; left:22px; bottom:24px; }
  .hero-monogram span { font-size:25px; }
  .orbit { width:230px; height:230px; top:38px; right:-30px; }
  .floating-label { font-size:9px; padding:10px 12px; }
  .label-a { left:-4px; top:25px; }
  .label-b { right:-5px; bottom:35px; }
  .section,.section-tight { padding:72px 0; }
  .section-head { flex-direction:column; align-items:start; gap:16px; margin-bottom:28px; }
  .brand-card { min-height:340px; padding:25px; }
  .service-grid,.consult-grid,.course-grid { grid-template-columns:1fr; }
  .course-card.featured { grid-column:auto; }
  .feature-copy { padding:28px; }
  .academy-head { padding-top:42px; }
  .academy-hero { padding:50px 0 70px; }
  .stats { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:190px; }
  .gallery-tile { grid-column:auto !important; grid-row:auto !important; }
  .logo-wall { grid-template-columns:1fr 1fr; }
  .cta-box { flex-direction:column; align-items:flex-start; padding:30px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > :first-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}


/* DAPA brand refresh — official logo + blue identity */
.brand-image-link { padding: 0 !important; background: transparent !important; border-radius: 0 !important; }
.brand-logo {
  width: 172px;
  height: 54px;
  object-fit: contain;
  object-position: left center;
}
.footer-brand .brand-logo { width: 205px; height: 64px; }

.hero-brand {
  background:
    radial-gradient(circle at 80% 20%, rgba(11,114,255,.16), transparent 27%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.20));
}
.brand-hero-card {
  min-height: 470px;
  display: grid;
  place-items: center;
  transform: rotate(1.3deg);
  background:
    radial-gradient(circle at 74% 34%, rgba(11,114,255,.24), transparent 26%),
    linear-gradient(145deg, #04070c, #090c13);
}
.hero-official-logo {
  position: relative;
  z-index: 2;
  width: min(88%, 540px);
  filter: drop-shadow(0 10px 34px rgba(0,0,0,.45));
}
.brand-scanlines {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(11,114,255,.11) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(145deg, #000, transparent 78%);
}
.brand-card-caption {
  position: absolute;
  left: 32px;
  bottom: 30px;
  z-index: 3;
  color: #8b93a1;
  font-size: 10px;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.brand-card-caption span { color: #fff; font-weight: 800; }

.leadership-grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 24px;
  align-items: stretch;
}
.leadership-photo {
  position: relative;
  min-height: 540px;
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  background: #05070b;
  box-shadow: var(--shadow);
}
.leadership-photo::after {
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.82));
  pointer-events:none;
}
.leadership-photo img { width:100%; height:100%; object-fit:cover; object-position:55% center; }
.photo-caption {
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  z-index:2;
}
.photo-caption strong {
  display:block;
  font-family:'Bebas Neue', Impact, sans-serif;
  font-size:36px;
  font-weight:400;
  letter-spacing:.04em;
}
.photo-caption span { color:#79b6ff; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }

.leadership-copy {
  min-height: 540px;
  border:1px solid var(--line);
  border-radius:28px;
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 90% 10%, rgba(11,114,255,.17), transparent 32%),
    rgba(255,255,255,.025);
}
.compact-lead { font-size:16px; margin:20px 0 24px; }
.expertise-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.expertise-pills span, .mini-meta span {
  padding:8px 10px;
  border:1px solid rgba(11,114,255,.22);
  border-radius:999px;
  background:rgba(11,114,255,.07);
  color:#9ccaff;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.text-link { color:#fff; font-weight:800; font-size:13px; }
.text-link:hover { color:#78b8ff; }

.service-grid-five { grid-template-columns: repeat(5, 1fr); }
.service-grid-five .service-card { min-height: 250px; }
.service-grid-five .service-card h3 { margin-top: 40px; }

.academy-head-branded {
  background:
    radial-gradient(circle at 12% 20%, rgba(11,114,255,.16), transparent 29%),
    linear-gradient(180deg, #04070c, #050506);
}
.academy-logo-block { min-width: min(100%, 480px); }
.academy-logo-img {
  width: min(410px, 78vw);
  max-height: 130px;
  object-fit: contain;
  object-position: left center;
  margin-top: 18px;
}

.profile-showcase {
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:22px;
  margin-bottom:74px;
}
.profile-media {
  position:relative;
  min-height:620px;
  overflow:hidden;
  border:1px solid rgba(11,114,255,.28);
  border-radius:28px;
  background:#05070a;
}
.profile-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 54%, rgba(0,0,0,.88));
}
.profile-media img { width:100%; height:100%; object-fit:cover; object-position:55% center; }
.profile-nameplate { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; }
.profile-nameplate strong {
  display:block;
  font-family:'Bebas Neue', Impact, sans-serif;
  font-size:46px;
  font-weight:400;
  letter-spacing:.025em;
}
.profile-nameplate span { color:#1681ff; font-size:11px; font-weight:800; letter-spacing:.15em; }

.profile-copy {
  border:1px solid var(--line);
  border-radius:28px;
  padding:42px;
  background:
    radial-gradient(circle at 94% 10%, rgba(11,114,255,.15), transparent 27%),
    rgba(255,255,255,.024);
}
.profile-title { font-size:clamp(54px,6vw,84px); margin:14px 0 24px; }
.profile-copy > p { color:#aaaeb7; line-height:1.75; font-size:15px; }
.profile-copy > p strong { color:#fff; }

.profile-skill-grid { display:grid; gap:8px; margin-top:30px; }
.profile-skill-grid > div {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:2px 12px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.075);
}
.profile-skill-grid span { grid-row:1/3; color:#137cff; font-family:'Bebas Neue', Impact, sans-serif; font-size:28px; }
.profile-skill-grid strong { font-size:13px; }
.profile-skill-grid small { color:#808691; font-size:11px; line-height:1.5; }

.trajectory-head { margin-top: 0; }
.trajectory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.trajectory-card {
  min-height:185px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
  background:linear-gradient(145deg, rgba(11,114,255,.055), rgba(255,255,255,.018));
}
.trajectory-card strong {
  display:block;
  font-family:'Bebas Neue', Impact, sans-serif;
  font-size:27px;
  font-weight:400;
  letter-spacing:.035em;
  color:#fff;
}
.trajectory-card p { color:#9096a1; font-size:12px; line-height:1.65; margin:14px 0 0; }

.mini-meta { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px; }

.consult-grid-five { grid-template-columns:repeat(5,1fr); }
.consult-grid-five .consult-card { min-height:270px; }
.consult-grid-five .consult-card h3 { margin-top:26px; }

.conference-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:24px; }
.conference-card {
  min-height:310px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(11,114,255,.34);
  border-radius:26px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(155deg, rgba(11,114,255,.16), transparent 60%),
    #070a10;
}
.conference-card::before {
  content:'';
  position:absolute;
  width:230px;
  height:230px;
  border-radius:50%;
  right:-60px;
  top:-90px;
  border:1px solid rgba(11,114,255,.26);
  box-shadow:0 0 0 38px rgba(11,114,255,.035), 0 0 0 76px rgba(11,114,255,.02);
}
.institution-kicker { position:relative; z-index:2; color:#76b6ff; font-size:10px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; margin-bottom:15px; }
.conference-card strong { position:relative; z-index:2; font-family:'Bebas Neue', Impact, sans-serif; font-size:50px; line-height:.9; font-weight:400; }
.conference-card p { position:relative; z-index:2; max-width:430px; color:#9299a5; font-size:13px; line-height:1.6; margin:18px 0 0; }
.conference-note { margin-top:0; }

@media (max-width: 1100px) {
  .service-grid-five, .consult-grid-five { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 960px) {
  .leadership-grid, .profile-showcase { grid-template-columns:1fr; }
  .academy-programs { grid-template-columns:1fr; }
  .leadership-photo { min-height:500px; }
  .leadership-copy { min-height:auto; }
  .profile-media { min-height:620px; }
  .trajectory-grid { grid-template-columns:1fr 1fr; }
  .service-grid-five, .consult-grid-five { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .brand-logo { width:142px; height:46px; }
  .footer-brand .brand-logo { width:180px; height:58px; }
  .brand-hero-card { min-height:330px; }
  .leadership-photo, .profile-media { min-height:470px; }
  .leadership-copy, .profile-copy { padding:28px; }
  .academy-programs-copy, .masterclass-evidence { padding:24px; border-radius:22px; }
  .evidence-heading { flex-direction:column; }
  .evidence-preview-grid { grid-template-columns:1fr; grid-template-rows:180px 130px 130px; }
  .evidence-preview-large { grid-row:auto; }
  .profile-nameplate strong { font-size:36px; }
  .trajectory-grid, .service-grid-five, .consult-grid-five, .conference-grid { grid-template-columns:1fr; }
  .conference-card { min-height:255px; }
  .conference-card strong { font-size:42px; }
}

/* DAPA Academy — dark violet art direction */
.academy-shell {
  --purple: #7024cf;
  --purple-2: #9747ed;
  --purple-3: #c28cff;
  --academy-bg: #040305;
  --academy-panel: #09060d;
  --academy-panel-raised: #0d0813;
  --academy-line: rgba(180,112,255,.22);
  background:
    radial-gradient(circle at 50% -8%, rgba(112,36,207,.20), transparent 28%),
    linear-gradient(180deg, #040305 0%, #070409 46%, #040305 100%);
}
.academy-shell::before {
  opacity:.11;
  background-image:
    linear-gradient(rgba(194,140,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(194,140,255,.04) 1px, transparent 1px);
}
.academy-shell .site-header { border-bottom-color:rgba(180,112,255,.12); background:rgba(4,3,5,.88); }
.academy-shell .main-nav a:hover,
.academy-shell .main-nav a.active { background:rgba(151,71,237,.13); }
.academy-shell .nav-cta { border-color:rgba(180,112,255,.28); }
.academy-shell .gradient-text {
  background:linear-gradient(110deg, #fff 0%, #d8b7ff 36%, #9747ed 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.academy-shell .kicker { color:#b982f5; }
.academy-shell .kicker::before { background:#9747ed; box-shadow:0 0 18px rgba(151,71,237,.65); }
.academy-shell .btn-primary {
  background:linear-gradient(115deg, #7024cf, #8e3fe3);
  border-color:#9747ed;
  box-shadow:0 12px 36px rgba(112,36,207,.28);
}
.academy-shell .btn-primary:hover { background:linear-gradient(115deg, #8737e0, #a95cff); }
.academy-shell .btn-ghost { background:#070509; border-color:rgba(180,112,255,.20); }

.academy-shell .academy-head-branded {
  border-bottom-color:rgba(180,112,255,.16);
  background:
    radial-gradient(circle at 16% 10%, rgba(112,36,207,.22), transparent 32%),
    linear-gradient(180deg, #050307, #040305);
}
.academy-shell .academy-logo-img { filter:drop-shadow(0 14px 34px rgba(112,36,207,.18)); }
.academy-shell .academy-desc { color:#b7afbd; }
.academy-shell .tab-bar-wrap { background:rgba(4,3,5,.94); border-bottom-color:rgba(180,112,255,.14); }
.academy-shell .tab-btn { color:#9e94a6; }
.academy-shell .tab-btn:hover,
.academy-shell .tab-btn.active { background:rgba(151,71,237,.17); color:#fff; }

.academy-shell .academy-poster img {
  border-color:rgba(180,112,255,.30);
  box-shadow:0 28px 80px rgba(0,0,0,.62), 0 0 50px rgba(112,36,207,.13);
}
.academy-shell .poster-chip { background:#8c36df; color:#fff; box-shadow:0 10px 30px rgba(112,36,207,.35); }
.academy-shell .stat { border-top-color:rgba(180,112,255,.20); }
.academy-shell .stat strong { color:#fff; }
.academy-shell .stat span { color:#8f8596; }

.academy-shell .academy-programs-copy,
.academy-shell .masterclass-evidence {
  border-color:var(--academy-line);
  background:var(--academy-panel);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025), 0 24px 70px rgba(0,0,0,.22);
}
.academy-shell .academy-programs-copy {
  background:
    radial-gradient(circle at 8% 2%, rgba(112,36,207,.20), transparent 38%),
    var(--academy-panel);
}
.academy-shell .academy-programs-copy p { color:#aaa2b0; }
.academy-shell .academy-programs-link:hover { color:#c894ff; }
.academy-shell .evidence-status { border-color:rgba(180,112,255,.36); background:rgba(112,36,207,.10); color:#c894ff; }
.academy-shell .evidence-preview {
  border-color:rgba(180,112,255,.18);
  background:linear-gradient(145deg, rgba(112,36,207,.16), #060408 68%);
}
.academy-shell .evidence-preview::before {
  background:linear-gradient(135deg, transparent 48%, rgba(180,112,255,.045) 49%, rgba(180,112,255,.045) 51%, transparent 52%);
  background-size:24px 24px;
}
.academy-shell .evidence-preview small { color:#827889; }

.academy-shell .profile-media { border-color:rgba(180,112,255,.24); background:#050307; }
.academy-shell .profile-nameplate span { color:#b76fff; }
.academy-shell .profile-copy,
.academy-shell .info-panel {
  border-color:var(--academy-line);
  background:
    radial-gradient(circle at 94% 8%, rgba(112,36,207,.13), transparent 30%),
    var(--academy-panel);
}
.academy-shell .profile-copy > p,
.academy-shell .info-panel p { color:#aaa2b0; }
.academy-shell .profile-skill-grid > div { border-top-color:rgba(180,112,255,.13); }
.academy-shell .profile-skill-grid span { color:#a955f2; }
.academy-shell .profile-skill-grid small { color:#857b8b; }

.academy-shell .trajectory-card,
.academy-shell .consult-card,
.academy-shell .course-card,
.academy-shell .gallery-tile {
  border-color:rgba(180,112,255,.17);
  background:var(--academy-panel);
}
.academy-shell .trajectory-card { background:linear-gradient(145deg, rgba(112,36,207,.075), var(--academy-panel) 62%); }
.academy-shell .trajectory-card p,
.academy-shell .consult-card p,
.academy-shell .course-content p { color:#958b9c; }
.academy-shell .consult-card span,
.academy-shell .course-content .eyebrow { color:#b66dff; }
.academy-shell .course-card.featured {
  border-color:rgba(180,112,255,.30);
  background:linear-gradient(145deg, rgba(112,36,207,.18), #09060d 58%);
}
.academy-shell .course-card img { border-bottom-color:rgba(180,112,255,.18); }
.academy-shell .placeholder-card::before { background:linear-gradient(145deg, transparent 12%, rgba(112,36,207,.12)); }
.academy-shell .placeholder-glyph { color:rgba(180,112,255,.09); }
.academy-shell .mini-meta span { border-color:rgba(180,112,255,.24); background:rgba(112,36,207,.09); color:#c89aff; }

.academy-shell .gallery-tile { background:linear-gradient(145deg, rgba(112,36,207,.12), #070509); }
.academy-shell .gallery-tile::after { color:rgba(215,184,255,.25); }
.academy-shell .gallery-label { color:#aaa0b0; }
.academy-shell .conference-card {
  border-color:rgba(180,112,255,.27);
  background:linear-gradient(155deg, rgba(112,36,207,.16), transparent 62%), #070509;
}
.academy-shell .conference-card::before { border-color:rgba(180,112,255,.24); box-shadow:0 0 0 38px rgba(112,36,207,.035), 0 0 0 76px rgba(112,36,207,.02); }
.academy-shell .institution-kicker { color:#b66dff; }
.academy-shell .conference-card p { color:#958b9c; }

.academy-shell .cta-box {
  border-color:rgba(180,112,255,.28);
  background:radial-gradient(circle at 86% 4%, rgba(112,36,207,.24), transparent 36%), #08050c;
}
.academy-shell .cta-box p { color:#aaa2b0; }
.academy-shell .quote-band { border-color:rgba(180,112,255,.15); }
.academy-shell .quote-band b { color:#a954f1; }
.academy-shell .footer { background:#030204; border-top-color:rgba(180,112,255,.13); }

/* DAPA Academy — dedicated hero */
.academy-shell .academy-head-branded {
  position:relative;
  min-height:760px;
  padding:72px 0 86px;
  overflow:hidden;
  display:grid;
  align-items:center;
  background:
    linear-gradient(115deg, rgba(72,18,116,.36), transparent 43%),
    radial-gradient(circle at 76% 36%, rgba(151,71,237,.28), transparent 31%),
    linear-gradient(180deg, #09040f 0%, #160823 52%, #070409 100%);
}
.academy-hero-glow { position:absolute; border-radius:50%; pointer-events:none; filter:blur(12px); }
.academy-hero-glow-a { width:540px; height:540px; right:-160px; top:-190px; background:rgba(151,71,237,.15); box-shadow:0 0 140px rgba(151,71,237,.22); }
.academy-hero-glow-b { width:340px; height:340px; left:-160px; bottom:-210px; background:rgba(202,88,255,.12); box-shadow:0 0 120px rgba(202,88,255,.17); }
.academy-main-hero { position:relative; z-index:2; display:grid; grid-template-columns:1.04fr .96fr; gap:68px; align-items:center; }
.academy-main-copy { max-width:650px; }
.academy-main-copy .academy-logo-img { width:min(330px,72vw); max-height:104px; margin:24px 0 30px; }
.academy-main-title { margin:0; font-size:clamp(64px,7.7vw,116px); line-height:.83; letter-spacing:.012em; }
.academy-main-title span { color:#bd75ff; text-shadow:0 0 42px rgba(151,71,237,.22); }
.academy-main-copy .lead { max-width:620px; margin:28px 0 30px; color:#d0c6d6; font-size:17px; }
.academy-main-copy .btn-row { margin-bottom:38px; }
.academy-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:600px; }
.academy-hero-stats > div { padding:17px 18px; border:1px solid rgba(211,166,255,.18); border-radius:16px; background:rgba(12,6,17,.46); backdrop-filter:blur(12px); }
.academy-hero-stats strong { display:block; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:29px; font-weight:400; line-height:1; }
.academy-hero-stats span { display:block; margin-top:7px; color:#a99caf; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.10em; }

.academy-main-visual { position:relative; min-height:600px; }
.academy-portrait-card { position:absolute; inset:18px 28px 22px 30px; overflow:hidden; border:1px solid rgba(216,177,255,.30); border-radius:40px 40px 120px 40px; background:#08050b; box-shadow:0 38px 100px rgba(0,0,0,.48), 0 0 70px rgba(151,71,237,.15); }
.academy-portrait-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 48%, rgba(8,3,12,.94) 100%); }
.academy-portrait-card img { width:100%; height:100%; object-fit:cover; object-position:56% center; filter:saturate(.88) contrast(1.04); }
.academy-portrait-caption { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; }
.academy-portrait-caption strong { display:block; font-family:'Bebas Neue', Impact, sans-serif; font-size:39px; font-weight:400; letter-spacing:.035em; }
.academy-portrait-caption span { color:#c387ff; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.17em; }
.academy-course-float { position:absolute; z-index:3; display:grid; grid-template-columns:82px 1fr; align-items:center; gap:14px; left:-18px; bottom:-4px; width:285px; padding:10px; overflow:hidden; border:1px solid rgba(216,177,255,.38); border-radius:18px; background:rgba(15,7,21,.93); backdrop-filter:blur(18px); box-shadow:0 22px 60px rgba(0,0,0,.52); }
.academy-course-float img { width:82px; height:104px; border-radius:11px; object-fit:cover; object-position:top; }
.academy-course-float span { display:block; color:#b66dff; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.academy-course-float strong { display:block; margin-top:6px; color:#fff; font-size:15px; line-height:1.2; }
.academy-orbit-label { position:absolute; z-index:4; padding:10px 13px; border:1px solid rgba(216,177,255,.28); border-radius:999px; background:rgba(8,4,11,.84); color:#d3b6ed; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; box-shadow:0 12px 35px rgba(0,0,0,.28); }
.academy-orbit-label-a { top:0; left:0; }
.academy-orbit-label-b { top:94px; right:0; }

.academy-shell #inicio { padding-top:72px; }
.academy-shell .tab-panel.section {
  margin:34px 0 76px;
  padding:72px 44px;
  border:1px solid rgba(180,112,255,.13);
  border-radius:34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(112,36,207,.10), transparent 25%),
    linear-gradient(180deg, #0b0710, #070509);
  box-shadow:0 28px 80px rgba(0,0,0,.20);
}

@media (max-width: 960px) {
  .academy-shell .academy-head-branded { min-height:auto; padding:62px 0 74px; }
  .academy-main-hero { grid-template-columns:1fr; gap:54px; }
  .academy-main-copy { max-width:720px; }
  .academy-main-visual { width:min(620px,100%); min-height:650px; margin-inline:auto; }
}

@media (max-width: 620px) {
  .academy-shell .academy-head-branded { padding:46px 0 56px; }
  .academy-main-copy .academy-logo-img { width:245px; margin:20px 0 26px; }
  .academy-main-title { font-size:clamp(54px,17vw,76px); }
  .academy-main-copy .lead { font-size:15px; }
  .academy-hero-stats { gap:7px; }
  .academy-hero-stats > div { padding:14px 10px; }
  .academy-hero-stats strong { font-size:25px; }
  .academy-hero-stats span { font-size:8px; }
  .academy-main-visual { min-height:500px; }
  .academy-portrait-card { inset:10px 0 22px; border-radius:28px 28px 80px 28px; }
  .academy-portrait-caption { left:22px; bottom:24px; }
  .academy-portrait-caption strong { font-size:32px; }
  .academy-course-float { left:-5px; bottom:-14px; width:245px; grid-template-columns:68px 1fr; }
  .academy-course-float img { width:68px; height:86px; }
  .academy-orbit-label-a { left:8px; top:-8px; }
  .academy-orbit-label-b { right:8px; top:62px; }
  .academy-shell #inicio { padding-top:44px; }
  .academy-shell .tab-panel.section { margin:20px 0 52px; padding:46px 22px; border-radius:26px; }
}

/* Academy — brand-led hero and primary tab navigation */
.academy-shell .academy-head-branded {
  min-height:600px;
  padding:72px 0 78px;
  background:
    radial-gradient(circle at 78% 24%, rgba(173,76,255,.25), transparent 25%),
    radial-gradient(circle at 18% 88%, rgba(112,36,207,.16), transparent 28%),
    linear-gradient(135deg, #09040f 0%, #1a0928 46%, #08040c 100%);
}
.academy-shell .academy-head-branded::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(210,164,255,.08) 58.2%, transparent 58.5%),
    linear-gradient(115deg, transparent 0 67%, rgba(210,164,255,.05) 67.2%, transparent 67.5%);
}
.academy-main-hero { grid-template-columns:1fr; gap:0; }
.academy-main-copy { max-width:920px; }
.academy-main-copy .academy-logo-img { width:min(350px,72vw); }
.academy-main-title { max-width:900px; font-size:clamp(68px,8.4vw,126px); }
.academy-main-copy .lead { max-width:720px; }
.academy-hero-stats { max-width:700px; }

.academy-shell .tab-bar-wrap {
  top:79px;
  background:rgba(5,3,7,.96);
  border-bottom:1px solid rgba(180,112,255,.20);
  box-shadow:0 18px 45px rgba(0,0,0,.30);
}
.academy-tab-shell { padding:16px 0 18px; }
.academy-tab-intro { display:flex; align-items:baseline; gap:12px; margin-bottom:13px; }
.academy-tab-intro span { color:#a955f2; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.17em; }
.academy-tab-intro strong { color:#eee8f2; font-size:13px; }
.academy-shell .tab-bar {
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:0;
  overflow:visible;
}
.academy-shell .tab-bar > .tab-btn {
  position:relative;
  min-width:0;
  min-height:76px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto;
  align-content:center;
  padding:13px 12px;
  overflow:hidden;
  border:1px solid rgba(180,112,255,.13);
  border-radius:15px;
  background:#0a070e;
  text-align:left;
  transition:transform .2s, border-color .2s, background .2s, box-shadow .2s;
}
.academy-shell .tab-bar > .tab-btn::after {
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg, #9747ed, #d39aff);
  opacity:0;
  transform:scaleX(.35);
  transform-origin:left;
  transition:.2s;
}
.academy-shell .tab-bar > .tab-btn > strong { color:#d7cfdc; font-size:11px; line-height:1.1; }
.academy-shell .tab-bar > .tab-btn > small { color:#756c7b; font-size:8px; line-height:1.2; }
.academy-shell .tab-bar > .tab-btn:hover {
  transform:translateY(-2px);
  border-color:rgba(180,112,255,.34);
  background:#100918;
}
.academy-shell .tab-bar > .tab-btn.active {
  border-color:rgba(190,126,255,.52);
  background:linear-gradient(145deg, rgba(112,36,207,.25), #0d0812 68%);
  box-shadow:0 10px 30px rgba(67,19,104,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.academy-shell .tab-bar > .tab-btn.active::after { opacity:1; transform:scaleX(1); }
.academy-shell .tab-bar > .tab-btn.active > strong { color:#fff; }
.academy-shell .tab-bar > .tab-btn.active > small { color:#b7aabd; }

@media (max-width: 1100px) {
  .academy-shell .tab-bar { display:flex; overflow-x:auto; padding-bottom:2px; }
  .academy-shell .tab-bar > .tab-btn { flex:0 0 158px; }
}

@media (max-width: 620px) {
  .academy-shell .academy-head-branded { min-height:auto; padding:48px 0 56px; }
  .academy-main-title { font-size:clamp(54px,17vw,78px); }
  .academy-tab-shell { padding:12px 0 14px; }
  .academy-tab-intro { margin-bottom:10px; }
  .academy-tab-intro strong { font-size:12px; }
  .academy-shell .tab-bar > .tab-btn { flex-basis:148px; min-height:70px; }
}

/* Academy consulting — specialist roster */
.consultancy-heading { padding-bottom:30px; border-bottom:1px solid rgba(180,112,255,.14); }
.advisor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.advisor-card {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(180,112,255,.18);
  border-radius:26px;
  background:linear-gradient(160deg, rgba(112,36,207,.09), #08050c 48%);
  box-shadow:0 22px 60px rgba(0,0,0,.20);
}
.advisor-card::after { content:''; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.03); border-radius:inherit; }
.advisor-card-featured { grid-column:1 / -1; display:grid; grid-template-columns:.82fr 1.18fr; min-height:440px; }
.advisor-media { position:relative; height:300px; overflow:hidden; background:#0b0710; }
.advisor-card-featured .advisor-media { height:100%; min-height:440px; }
.advisor-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 48%, rgba(7,4,10,.72)); pointer-events:none; }
.advisor-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s ease, filter .45s ease; }
.advisor-card:hover .advisor-media img { transform:scale(1.025); }
.advisor-card-featured .advisor-media img { object-position:center 22%; filter:grayscale(.12) contrast(1.04); }
.advisor-card:nth-child(2) .advisor-media img { object-position:center 30%; }
.advisor-card:nth-child(3) .advisor-media img { object-position:center 24%; }
.advisor-card:nth-child(4) .advisor-media img { object-position:center 26%; filter:grayscale(.14) contrast(1.03); }
.advisor-card:nth-child(5) .advisor-media img { object-position:center; }
.advisor-card-silhouette .advisor-media { display:grid; place-items:center; background:radial-gradient(circle, rgba(151,71,237,.26), #09060d 64%); }
.advisor-card-silhouette .advisor-media img { width:74%; height:74%; padding:24px; object-fit:contain; filter:invert(1); opacity:.18; }
.advisor-card-silhouette:hover .advisor-media img { transform:none; opacity:.24; }
.advisor-content { position:relative; z-index:2; padding:28px; }
.advisor-card-featured .advisor-content { display:flex; flex-direction:column; justify-content:center; padding:46px; }
.advisor-topline { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:19px; }
.advisor-topline span { color:#b66dff; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.advisor-topline small { flex:none; padding:6px 9px; border:1px solid rgba(180,112,255,.22); border-radius:999px; color:#92869a; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.advisor-content h3 { margin:0; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(38px,4vw,58px); font-weight:400; line-height:.95; letter-spacing:.025em; }
.advisor-credential { max-width:590px; margin:18px 0 23px; color:#b0a6b7; font-size:13px; line-height:1.7; }
.advisor-credential em { color:#fff; }
.advisor-services { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.advisor-services li { padding:8px 10px; border:1px solid rgba(180,112,255,.18); border-radius:999px; background:rgba(112,36,207,.075); color:#c1b5c8; font-size:9px; font-weight:700; line-height:1.25; }
.advisor-media-pending { display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(circle, rgba(112,36,207,.18), #070509 66%); }
.advisor-media-pending::before { content:''; position:absolute; width:155px; height:155px; border:1px solid rgba(180,112,255,.16); border-radius:50%; box-shadow:0 0 0 30px rgba(112,36,207,.025), 0 0 0 60px rgba(112,36,207,.015); }
.advisor-media-pending::after { background:none; }
.advisor-media-pending span { position:relative; z-index:2; color:rgba(212,174,255,.42); font-family:'Bebas Neue', Impact, sans-serif; font-size:68px; line-height:1; }
.advisor-media-pending small { position:relative; z-index:2; margin-top:10px; color:#786c80; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.consultancy-cta { margin-top:22px; }

@media (max-width: 960px) {
  .advisor-grid { grid-template-columns:1fr; }
  .advisor-card-featured { grid-column:auto; grid-template-columns:1fr; }
  .advisor-card-featured .advisor-media { height:380px; min-height:0; }
  .advisor-card-featured .advisor-content { padding:32px; }
}

@media (max-width: 620px) {
  .consultancy-heading { padding-bottom:22px; }
  .advisor-card { border-radius:22px; }
  .advisor-media,
  .advisor-card-featured .advisor-media { height:270px; }
  .advisor-content,
  .advisor-card-featured .advisor-content { padding:24px; }
  .advisor-content h3 { font-size:42px; }
  .advisor-topline { align-items:flex-start; }
  .advisor-services li { font-size:8px; }
}

/* Academy — secondary header */
.academy-shell .tab-bar-wrap {
  position:sticky;
  top:79px;
  z-index:45;
  background:rgba(6,3,9,.96);
  border-top:1px solid rgba(180,112,255,.08);
  border-bottom:1px solid rgba(180,112,255,.20);
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.academy-shell .academy-tab-shell { min-height:72px; display:flex; align-items:center; gap:28px; padding:9px 0; }
.academy-shell .academy-tab-intro { flex:0 0 170px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; margin:0; }
.academy-shell .academy-tab-intro span { font-size:8px; }
.academy-shell .academy-tab-intro strong { font-size:11px; }
.academy-shell .tab-bar { flex:1; display:grid; grid-template-columns:repeat(5,1fr); gap:4px; overflow:visible; padding:0; }
.academy-shell .tab-bar > .tab-btn {
  min-height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  text-align:center;
  box-shadow:none;
}
.academy-shell .tab-bar > .tab-btn::after { left:18px; right:18px; height:2px; }
.academy-shell .tab-bar > .tab-btn > strong { font-size:11px; }
.academy-shell .tab-bar > .tab-btn > small { font-size:8px; }
.academy-shell .tab-bar > .tab-btn:hover { transform:none; border-color:transparent; background:rgba(151,71,237,.08); }
.academy-shell .tab-bar > .tab-btn.active { border-color:transparent; background:rgba(151,71,237,.13); box-shadow:none; }

@media (max-width: 960px) {
  .academy-shell .academy-tab-shell { gap:16px; }
  .academy-shell .academy-tab-intro { flex-basis:138px; }
  .academy-shell .tab-bar { display:flex; overflow-x:auto; }
  .academy-shell .tab-bar > .tab-btn { flex:0 0 135px; }
}

@media (max-width: 620px) {
  .academy-shell .tab-bar-wrap { top:70px; }
  .academy-shell .academy-tab-shell { min-height:62px; padding:7px 0; }
  .academy-shell .academy-tab-intro { display:none; }
  .academy-shell .tab-bar { gap:2px; }
  .academy-shell .tab-bar > .tab-btn { flex-basis:124px; min-height:48px; padding:7px 8px; }
}

/* Academy conferences — editorial gallery */
.conference-section-head { padding-bottom:28px; border-bottom:1px solid rgba(180,112,255,.14); }
.lecture-feature {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:480px;
  overflow:hidden;
  border:1px solid rgba(180,112,255,.25);
  border-radius:30px;
  background:linear-gradient(145deg, rgba(112,36,207,.17), #08050c 58%);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.lecture-feature-media { position:relative; min-height:480px; overflow:hidden; }
.lecture-feature-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent 64%, rgba(8,5,12,.72)), linear-gradient(180deg, transparent 68%, rgba(8,5,12,.48)); pointer-events:none; }
.lecture-feature-media > img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .5s ease; }
.lecture-feature:hover .lecture-feature-media > img { transform:scale(1.02); }
.lecture-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:48px; }
.lecture-campus { display:block; color:#b66dff; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.lecture-feature-copy h3 { margin:16px 0 20px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(52px,6vw,82px); font-weight:400; line-height:.88; letter-spacing:.025em; }
.lecture-feature-copy > p { max-width:500px; margin:0; color:#b1a6b8; font-size:14px; line-height:1.75; }
.lecture-speaker { margin-top:30px; padding-top:20px; border-top:1px solid rgba(180,112,255,.15); }
.lecture-speaker span { display:block; color:#7f7486; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.lecture-speaker strong { display:block; margin-top:7px; color:#fff; font-size:14px; }
.lecture-speaker small { display:block; margin-top:4px; color:#9d8fa5; font-size:9px; letter-spacing:.09em; }

.lecture-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.lecture-card { overflow:hidden; border:1px solid rgba(180,112,255,.17); border-radius:24px; background:#09060d; box-shadow:0 20px 55px rgba(0,0,0,.18); transition:transform .25s, border-color .25s; }
.lecture-card:hover { transform:translateY(-4px); border-color:rgba(180,112,255,.34); }
.lecture-card-media,
.lecture-pair-media { position:relative; height:300px; overflow:hidden; background:#070509; }
.lecture-pair-media { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }
.lecture-card-media > img,
.lecture-pair-media > img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.lecture-card:hover .lecture-card-media > img,
.lecture-card:hover .lecture-pair-media > img { transform:scale(1.025); }
.lecture-card:nth-child(2) .lecture-card-media > img { object-position:center 34%; }
.lecture-card:nth-child(4) .lecture-card-media > img { object-position:center; }
.lecture-card:nth-child(5) .lecture-card-media > img { object-position:center 36%; }
.lecture-logo-mark { position:absolute; z-index:3; top:16px; right:16px; display:grid; place-items:center; width:126px; min-height:48px; padding:8px 10px; border:1px solid rgba(255,255,255,.62); border-radius:10px; background:rgba(255,255,255,.88); box-shadow:0 8px 22px rgba(0,0,0,.19); backdrop-filter:blur(7px); }
.lecture-logo-mark img { display:block; width:100%; height:31px; object-fit:contain; }
.lecture-feature-media .lecture-logo-mark { top:20px; left:20px; right:auto; width:146px; min-height:54px; }
.lecture-feature-media .lecture-logo-mark img { height:35px; }
.lecture-logo-ebc { width:105px; }
.lecture-logo-ebc img { height:30px; }
.lecture-card-copy { padding:27px 28px 30px; }
.lecture-card-copy h3 { margin:11px 0 13px; color:#fff; font-size:24px; line-height:1.16; text-wrap:balance; }
.lecture-card-copy p { margin:0; color:#968b9d; font-size:12px; line-height:1.7; }
.lecture-card-community { background:linear-gradient(150deg, rgba(112,36,207,.10), #09060d 55%); }
.conference-cta { margin-top:22px; }

@media (max-width: 960px) {
  .lecture-feature { grid-template-columns:1fr; }
  .lecture-feature-media { min-height:410px; }
  .lecture-feature-media::after { background:linear-gradient(180deg, transparent 65%, rgba(8,5,12,.68)); }
  .lecture-feature-copy { padding:38px; }
}

@media (max-width: 720px) {
  .lecture-gallery { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .conference-section-head { padding-bottom:22px; }
  .lecture-feature { min-height:0; border-radius:24px; }
  .lecture-feature-media { min-height:300px; }
  .lecture-feature-copy { padding:28px 24px 30px; }
  .lecture-feature-copy h3 { font-size:54px; }
  .lecture-card { border-radius:20px; }
  .lecture-card-media,
  .lecture-pair-media { height:240px; }
  .lecture-logo-mark { top:12px; right:12px; width:108px; min-height:43px; padding:7px 9px; }
  .lecture-logo-mark img { height:27px; }
  .lecture-logo-ebc { width:90px; }
  .lecture-logo-ebc img { height:26px; }
  .lecture-card-copy { padding:23px 22px 25px; }
  .lecture-card-copy h3 { font-size:21px; }
}

@media (max-width: 620px) {
  .social-actions { width:100%; }
  .social-action { flex:1 1 100%; }
  .contact-social-actions { grid-template-columns:1fr; }
  .social-actions > .btn { width:100%; justify-content:center; }
}

/* Reddish DAPA Academy identity */
.academy-main-copy .academy-logo-img {
  width:min(430px, 82vw);
  height:220px;
  max-height:none;
  margin:24px 0 30px;
  object-fit:cover;
  object-position:center 54%;
  border:1px solid rgba(127,46,56,.25);
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 58px rgba(38,8,15,.30);
  filter:none;
}

@media (max-width: 620px) {
  .academy-main-copy .academy-logo-img { width:min(300px, 82vw); height:158px; border-radius:18px; }
  .card-logo-title img { width:min(100%, 300px); height:150px; }
}

/* Framed reddish Academy logo */
.academy-logo-frame {
  position:relative;
  display:block;
  padding:6px;
  overflow:hidden;
  border:1px solid rgba(196,112,124,.36);
  background:linear-gradient(135deg, #8a3442, #4f1722 58%, #9d4854);
  box-shadow:0 22px 54px rgba(20,3,8,.34), inset 0 1px 0 rgba(255,255,255,.22);
}
.academy-logo-frame::after {
  content:'';
  position:absolute;
  inset:6px;
  pointer-events:none;
  border:1px solid rgba(127,46,56,.20);
  border-radius:inherit;
}
.academy-logo-frame img { display:block; width:100%; margin:0; border:0; background:#fbf9f7; box-shadow:none; filter:none; }
.academy-logo-frame-hero { width:min(440px, 84vw); margin:24px 0 30px; border-radius:28px; }
.academy-main-copy .academy-logo-frame-hero .academy-logo-img { width:100%; height:220px; max-height:none; margin:0; border:0; border-radius:22px; object-fit:cover; object-position:center 54%; box-shadow:none; }
.academy-logo-frame-card { width:min(100%, 350px); border-radius:21px; }
.card-logo-title .academy-logo-frame-card img { width:100%; height:168px; border:0; border-radius:15px; object-fit:cover; object-position:center 54%; box-shadow:none; }

@media (max-width: 620px) {
  .academy-logo-frame-hero { width:min(310px, 84vw); border-radius:21px; }
  .academy-main-copy .academy-logo-frame-hero .academy-logo-img { width:100%; height:158px; border-radius:15px; }
  .academy-logo-frame-card { width:min(100%, 310px); }
  .card-logo-title .academy-logo-frame-card img { width:100%; height:150px; }
}

/* Academy courses — complete program catalog */
.academy-shell #cursos { --course-accent:#a45cff; --course-accent-rgb:164,92,255; }
.course-section-head { padding-bottom:30px; border-bottom:1px solid rgba(180,112,255,.15); }
.course-catalog-intro {
  display:grid; grid-template-columns:.88fr 1.12fr; min-height:340px; margin-bottom:22px; overflow:hidden;
  border:1px solid rgba(197,139,255,.22); border-radius:28px;
  background:linear-gradient(135deg, rgba(121,45,198,.20), #0d0912 58%); box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.course-catalog-media { position:relative; min-height:340px; overflow:hidden; }
.course-catalog-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent 54%, #0d0912), linear-gradient(180deg, transparent 64%, rgba(13,9,18,.38)); }
.course-catalog-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.86) contrast(1.04); }
.course-catalog-copy { display:flex; flex-direction:column; justify-content:center; padding:44px; }
.course-catalog-copy .eyebrow { color:#c386ff; font-size:9px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.course-catalog-copy h3 { max-width:650px; margin:13px 0 16px; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(38px,4.8vw,62px); font-weight:400; line-height:.94; letter-spacing:.025em; }
.course-catalog-copy p { max-width:650px; margin:0; color:#b8adbd; font-size:14px; line-height:1.75; }
.catalog-principles { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.catalog-principles span { padding:8px 11px; border:1px solid rgba(200,145,255,.20); border-radius:999px; background:rgba(151,71,237,.08); color:#d7c7df; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }

.course-catalog { margin-bottom:56px; }
.course-voice { --course-accent:#20c6d7; --course-accent-rgb:32,198,215; }
.course-compose { --course-accent:#c16dff; --course-accent-rgb:193,109,255; }
.course-business { --course-accent:#2f80ff; --course-accent-rgb:47,128,255; }
.academy-shell .course-card-link {
  position:relative; min-height:0; border-color:rgba(var(--course-accent-rgb),.26);
  background:linear-gradient(160deg, rgba(var(--course-accent-rgb),.12), #0a0710 48%); box-shadow:0 22px 60px rgba(0,0,0,.22);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.academy-shell .course-card-link:hover { transform:translateY(-7px); border-color:rgba(var(--course-accent-rgb),.52); box-shadow:0 30px 75px rgba(0,0,0,.34), 0 0 42px rgba(var(--course-accent-rgb),.09); }
.course-card-media { position:relative; overflow:hidden; border-bottom:1px solid rgba(var(--course-accent-rgb),.23); background:#050407; }
.academy-shell .course-card-media img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; border:0; transition:transform .45s ease, filter .45s ease; }
.academy-shell .course-card-link:hover .course-card-media img { transform:scale(1.025); filter:saturate(1.08); }
.course-card-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 62%, rgba(7,4,10,.84)); pointer-events:none; }
.course-card-status { position:absolute; z-index:2; left:16px; bottom:15px; padding:7px 9px; border:1px solid rgba(var(--course-accent-rgb),.45); border-radius:999px; background:rgba(5,4,8,.82); color:#fff; font-size:8px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; backdrop-filter:blur(12px); }
.course-card-link .course-content { padding:25px; }
.academy-shell .course-card-link .course-content .eyebrow { color:var(--course-accent); }
.course-card-link .course-content h3 { margin-top:11px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:35px; font-weight:400; line-height:.96; letter-spacing:.025em; }
.course-card-link .mini-meta { margin-top:auto; padding-top:2px; }
.academy-shell .course-card-link .mini-meta span { border-color:rgba(var(--course-accent-rgb),.25); background:rgba(var(--course-accent-rgb),.08); color:#ddd4e2; }
.course-card-action { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:17px; padding-top:17px; border-top:1px solid rgba(var(--course-accent-rgb),.17); color:#fff; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.10em; }
.course-card-action b { color:var(--course-accent); font-size:18px; transition:transform .2s; }
.course-card-link:hover .course-card-action b { transform:translate(3px,3px); }

.course-detail-list { display:grid; gap:42px; }
.course-detail {
  scroll-margin-top:175px; overflow:hidden; border:1px solid rgba(var(--course-accent-rgb),.30); border-radius:32px;
  background:radial-gradient(circle at 100% 0%, rgba(var(--course-accent-rgb),.15), transparent 24%), linear-gradient(180deg, #100c14 0%, #09070c 100%);
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}
.course-detail-hero { display:grid; grid-template-columns:.72fr 1.28fr; min-height:610px; border-bottom:1px solid rgba(var(--course-accent-rgb),.19); }
.course-detail-cover { position:relative; min-height:610px; overflow:hidden; background:#050407; }
.course-detail-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent 68%, #100c14), linear-gradient(180deg, transparent 76%, rgba(16,12,20,.38)); pointer-events:none; }
.course-detail-cover img { width:100%; height:100%; object-fit:cover; object-position:top; }
.course-detail-copy { display:flex; flex-direction:column; justify-content:center; padding:54px; }
.course-label,.course-block-kicker { display:block; color:var(--course-accent); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.16em; }
.course-detail-copy h3 { max-width:720px; margin:17px 0 22px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(48px,5.6vw,78px); font-weight:400; line-height:.88; letter-spacing:.025em; }
.course-detail-lead { max-width:700px; margin:0; color:#c1b8c6; font-size:15px; line-height:1.75; }
.course-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:28px 0 30px; }
.course-facts div { min-width:0; padding:15px 13px; border:1px solid rgba(var(--course-accent-rgb),.18); border-radius:14px; background:rgba(var(--course-accent-rgb),.055); }
.course-facts dt { color:#827987; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.11em; }
.course-facts dd { margin:7px 0 0; color:#fff; font-size:11px; font-weight:800; line-height:1.35; }
.course-detail .btn-primary { background:linear-gradient(115deg, var(--course-accent), rgba(var(--course-accent-rgb),.72)); border-color:rgba(var(--course-accent-rgb),.75); box-shadow:0 13px 34px rgba(var(--course-accent-rgb),.18); }
.course-detail .btn-ghost { border-color:rgba(var(--course-accent-rgb),.25); }

.course-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:34px; }
.course-value-grid > section { padding:32px; border:1px solid rgba(var(--course-accent-rgb),.16); border-radius:22px; background:rgba(255,255,255,.023); }
.course-value-grid h4,.course-teacher-copy h4,.course-subhead h4,.course-certificate h4,.course-method h4 { margin:12px 0 16px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(33px,3.5vw,48px); font-weight:400; line-height:.95; letter-spacing:.025em; }
.course-value-grid p,.course-teacher-copy > p,.course-certificate p { margin:0; color:#aaa1af; font-size:13px; line-height:1.75; }
.course-checklist { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.course-checklist li { position:relative; padding-left:22px; color:#bcb3c1; font-size:12px; line-height:1.55; }
.course-checklist li::before { content:'✓'; position:absolute; left:0; color:var(--course-accent); font-weight:900; }

.course-teacher { display:grid; grid-template-columns:.78fr 1.22fr; min-height:430px; margin:0 34px 34px; overflow:hidden; border:1px solid rgba(var(--course-accent-rgb),.24); border-radius:26px; background:linear-gradient(145deg, rgba(var(--course-accent-rgb),.12), rgba(255,255,255,.02) 62%); }
.course-teacher-media { position:relative; min-height:430px; overflow:hidden; background:#08060a; }
.course-teacher-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent 68%, rgba(14,10,17,.75)), linear-gradient(180deg, transparent 68%, rgba(10,7,12,.45)); }
.course-teacher-media img { width:100%; height:100%; object-fit:cover; object-position:center 22%; filter:saturate(.88) contrast(1.04); }
.course-teacher-poster { grid-template-columns:minmax(330px,.92fr) 1.08fr; min-height:560px; }
.course-teacher-poster .course-teacher-media { min-height:560px; }
.course-teacher-media-document { display:grid; place-items:center; isolation:isolate; background:#0a0a0d; }
.course-teacher-media-document::before { content:''; position:absolute; z-index:0; inset:-24px; background:url('assets/cursos/charlie-parraguirre.jpg') center/cover no-repeat; filter:blur(22px) brightness(.30) saturate(.65); transform:scale(1.08); }
.course-teacher-media-document::after { z-index:2; background:linear-gradient(90deg, transparent 76%, rgba(14,10,17,.60)),linear-gradient(180deg,rgba(5,5,8,.08),transparent 72%,rgba(5,5,8,.28)); pointer-events:none; }
.course-teacher-media-document img { position:relative; z-index:1; width:100%; max-width:100%; height:100%; object-fit:contain; object-position:center; filter:saturate(.96) contrast(1.02); }
.course-teacher-copy { display:flex; flex-direction:column; justify-content:center; padding:44px; }
.course-teacher-copy h4 { margin-bottom:7px; font-size:clamp(48px,5vw,70px); }
.teacher-role { margin:0 0 20px !important; color:var(--course-accent) !important; font-size:9px !important; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.teacher-highlights { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }
.teacher-highlights span { padding:8px 10px; border:1px solid rgba(var(--course-accent-rgb),.23); border-radius:999px; background:rgba(var(--course-accent-rgb),.07); color:#d1c8d5; font-size:9px; font-weight:800; }

.course-curriculum { padding:42px 34px; border-block:1px solid rgba(var(--course-accent-rgb),.15); background:rgba(0,0,0,.13); scroll-margin-top:175px; }
.course-subhead { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.course-subhead h4 { margin-bottom:0; }
.course-subhead > p { max-width:360px; margin:0; color:#8d8492; font-size:11px; line-height:1.6; text-align:right; }
.curriculum-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.curriculum-grid details { overflow:hidden; border:1px solid rgba(var(--course-accent-rgb),.18); border-radius:17px; background:rgba(255,255,255,.024); }
.curriculum-grid details[open] { border-color:rgba(var(--course-accent-rgb),.40); background:rgba(var(--course-accent-rgb),.055); }
.curriculum-grid summary { position:relative; display:flex; flex-direction:column; gap:5px; padding:20px 48px 20px 20px; color:#fff; cursor:pointer; list-style:none; }
.curriculum-grid summary::-webkit-details-marker { display:none; }
.curriculum-grid summary::after { content:'+'; position:absolute; top:50%; right:19px; color:var(--course-accent); font-size:23px; line-height:1; transform:translateY(-50%); }
.curriculum-grid details[open] summary::after { content:'−'; }
.curriculum-grid summary span { font-size:12px; font-weight:900; }
.curriculum-grid summary small { color:#827887; font-size:8px; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.curriculum-grid ol { display:grid; gap:12px; margin:0; padding:4px 26px 24px 46px; }
.curriculum-grid li,.curriculum-grid details > p { color:#afa6b4; font-size:11px; line-height:1.65; }
.curriculum-grid li::marker { color:var(--course-accent); font-weight:900; }
.curriculum-grid li strong,.curriculum-grid details > p strong { color:#e7e1e9; }
.curriculum-grid details > p { margin:0; padding:2px 20px 24px; }

.course-method { display:grid; grid-template-columns:.62fr 1.38fr; gap:36px; padding:40px 34px; border-bottom:1px solid rgba(var(--course-accent-rgb),.15); }
.course-method ol { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:0; padding:0; list-style:none; counter-reset:method; }
.course-method li { position:relative; min-height:105px; padding:19px 18px 17px 54px; border:1px solid rgba(var(--course-accent-rgb),.17); border-radius:16px; background:rgba(var(--course-accent-rgb),.045); counter-increment:method; }
.course-method li::before { content:counter(method); position:absolute; left:18px; top:18px; color:var(--course-accent); font-family:'Bebas Neue', Impact, sans-serif; font-size:24px; }
.course-method li strong { display:block; color:#fff; font-size:11px; }
.course-method li span { display:block; margin-top:7px; color:#8f8794; font-size:10px; line-height:1.5; }

.course-close-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:14px; padding:34px; }
.course-certificate,.course-investment { border:1px solid rgba(var(--course-accent-rgb),.22); border-radius:23px; }
.course-certificate { padding:34px; background:radial-gradient(circle at 96% 0%, rgba(var(--course-accent-rgb),.17), transparent 35%), rgba(255,255,255,.025); }
.course-certificate > span,.course-investment > span { color:var(--course-accent); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.course-certificate h4 { max-width:620px; }
.course-investment { display:flex; flex-direction:column; justify-content:center; padding:31px; background:rgba(var(--course-accent-rgb),.07); }
.course-investment strong { display:block; margin-top:13px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:35px; font-weight:400; line-height:1; }
.course-investment strong + strong { margin-top:10px; padding-top:10px; border-top:1px solid rgba(var(--course-accent-rgb),.16); }
.course-investment strong small { color:#938999; font-family:'Inter', Arial, sans-serif; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.course-investment a { margin-top:22px; color:#fff; font-size:10px; font-weight:900; line-height:1.5; text-decoration:underline; text-decoration-color:var(--course-accent); text-underline-offset:5px; }
.course-card-link:focus-visible,.curriculum-grid summary:focus-visible,.course-investment a:focus-visible { outline:3px solid var(--course-accent); outline-offset:3px; }

@media (max-width: 1050px) {
  .course-detail-hero { grid-template-columns:.86fr 1.14fr; }
  .course-detail-copy { padding:38px; }
  .course-facts { grid-template-columns:1fr 1fr; }
  .course-teacher { grid-template-columns:.9fr 1.1fr; }
  .course-method { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  .course-catalog-intro,.course-detail-hero,.course-teacher { grid-template-columns:1fr; }
  .course-catalog-media { min-height:290px; }
  .course-catalog-media::after { background:linear-gradient(180deg, transparent 52%, #0d0912); }
  .course-detail-cover { min-height:0; aspect-ratio:4/5; }
  .course-detail-cover::after { background:linear-gradient(180deg, transparent 72%, #100c14); }
  .course-detail-copy { padding:38px 30px 42px; }
  .course-value-grid,.course-close-grid { grid-template-columns:1fr; }
  .course-teacher-media { min-height:370px; }
  .course-teacher-media::after { background:linear-gradient(180deg, transparent 66%, rgba(14,10,17,.80)); }
  .course-teacher-poster { min-height:0; }
  .course-teacher-poster .course-teacher-media { min-height:0; aspect-ratio:9/16; }
  .course-teacher-media-document img { width:100%; object-position:center; }
  .curriculum-grid { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .course-section-head { padding-bottom:22px; }
  .course-catalog-intro { border-radius:22px; }
  .course-catalog-media { min-height:235px; }
  .course-catalog-copy { padding:27px 23px 30px; }
  .course-catalog-copy h3 { font-size:40px; }
  .course-catalog { margin-bottom:38px; }
  .course-card-link .course-content { padding:22px; }
  .course-detail-list { gap:28px; }
  .course-detail { scroll-margin-top:140px; border-radius:24px; }
  .course-detail-copy { padding:29px 22px 34px; }
  .course-detail-copy h3 { font-size:45px; }
  .course-detail-lead { font-size:13px; }
  .course-facts { gap:6px; margin:23px 0 25px; }
  .course-facts div { padding:13px 10px; }
  .course-value-grid { padding:18px; }
  .course-value-grid > section { padding:23px; }
  .course-teacher { margin:0 18px 18px; border-radius:20px; }
  .course-teacher-media { min-height:300px; }
  .course-teacher-copy { padding:26px 23px 29px; }
  .course-teacher-copy h4 { font-size:47px; }
  .course-curriculum { padding:32px 18px; scroll-margin-top:140px; }
  .course-subhead { display:block; }
  .course-subhead > p { margin-top:12px; text-align:left; }
  .curriculum-grid summary { padding:18px 44px 18px 17px; }
  .curriculum-grid ol { padding-left:39px; padding-right:18px; }
  .course-method { padding:32px 18px; }
  .course-method ol { grid-template-columns:1fr; }
  .course-close-grid { padding:18px; }
  .course-certificate,.course-investment { padding:25px 22px; }
}

/* Dedicated DAPA Academy course pages */
.course-detail-list[hidden] { display:none !important; }
.course-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(116,45,186,.20), transparent 28%),
    linear-gradient(180deg, #08050b 0%, #110919 40%, #060407 100%);
}
.course-page-main { padding:40px 0 78px; }
.course-breadcrumb {
  display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:18px;
  color:#817787; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase;
}
.course-breadcrumb a { color:#d9cce0; transition:color .2s; }
.course-breadcrumb a:hover { color:#fff; }
.course-page .course-detail { scroll-margin-top:98px; }
.course-detail-copy h1 {
  max-width:720px; margin:17px 0 22px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif;
  font-size:clamp(48px,5.6vw,78px); font-weight:400; line-height:.88; letter-spacing:.025em;
}
.course-page .course-value-grid h2,
.course-page .course-teacher-copy h2,
.course-page .course-subhead h2,
.course-page .course-certificate h2,
.course-page .course-method h2 {
  margin:12px 0 16px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif;
  font-size:clamp(33px,3.5vw,48px); font-weight:400; line-height:.95; letter-spacing:.025em;
}
.course-page .course-teacher-copy h2 { margin-bottom:7px; font-size:clamp(48px,5vw,70px); }
.course-page .course-subhead h2 { margin-bottom:0; }
.course-page .course-curriculum { scroll-margin-top:98px; }
.course-page-next {
  display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; padding:25px 28px;
  border:1px solid rgba(180,112,255,.16); border-radius:20px; background:rgba(12,7,16,.72);
}
.course-page-next > span { color:#817787; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.course-page-next a { color:#e5dce9; font-size:11px; font-weight:900; line-height:1.45; }
.course-page-next a:hover { color:#c887ff; }

@media (max-width: 620px) {
  .course-page-main { padding:22px 0 52px; }
  .course-breadcrumb { align-items:flex-start; margin-bottom:13px; font-size:7px; }
  .course-breadcrumb span { max-width:46%; text-align:right; }
  .course-detail-copy h1 { font-size:45px; }
  .course-page-next { align-items:flex-start; flex-direction:column; padding:22px; }
  .course-page-next a:last-child { align-self:flex-end; text-align:right; }
}

/* Original DAPA Academy identity */
.academy-logo-frame {
  padding:7px;
  border-color:rgba(64,143,255,.34);
  background:linear-gradient(135deg, #07101d, #020306 58%, #0b2444);
  box-shadow:0 22px 54px rgba(0,5,16,.42), inset 0 1px 0 rgba(123,180,255,.18);
}
.academy-logo-frame::after { inset:7px; border-color:rgba(56,137,255,.16); }
.academy-logo-frame img { background:#020306; object-fit:contain; object-position:center; }
.academy-logo-frame-hero { width:min(410px, 82vw); border-radius:20px; }
.academy-main-copy .academy-logo-frame-hero .academy-logo-img { width:100%; height:142px; border-radius:14px; object-fit:contain; object-position:center; }
.academy-logo-frame-card { width:min(100%, 340px); border-radius:18px; }
.card-logo-title .academy-logo-frame-card img { width:100%; height:116px; border-radius:11px; object-fit:contain; object-position:center; }

/* Academy home — direct access to courses */
.academy-shell .academy-course-entry {
  position:relative; min-height:430px; display:block; overflow:hidden; padding:34px; white-space:normal;
  border:1px solid rgba(180,112,255,.28); border-radius:28px; text-align:left;
  background:radial-gradient(circle at 86% 20%, rgba(151,71,237,.27), transparent 34%), linear-gradient(145deg, #12091c, #07050a 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 24px 70px rgba(0,0,0,.25);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.academy-shell .academy-course-entry:hover,
.academy-shell .academy-course-entry.active { transform:translateY(-4px); border-color:rgba(199,143,255,.52); background:radial-gradient(circle at 86% 20%, rgba(151,71,237,.34), transparent 36%), linear-gradient(145deg, #160b22, #08050b 72%); box-shadow:0 30px 80px rgba(0,0,0,.34); }
.academy-course-entry-copy { position:relative; z-index:3; display:block; width:62%; }
.academy-course-entry-copy small { display:block; color:#bd75ff; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.academy-course-entry-copy strong { display:block; margin-top:14px; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(42px,4.5vw,62px); font-weight:400; line-height:.88; letter-spacing:.025em; }
.academy-course-entry-copy em { display:block; max-width:330px; margin-top:17px; color:#a99eae; font-size:11px; font-style:normal; line-height:1.65; }
.academy-course-entry-posters { position:absolute; z-index:2; right:-4%; bottom:-12%; width:62%; height:72%; display:flex; align-items:flex-end; justify-content:center; }
.academy-course-entry-posters::after { content:''; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg, transparent, #09060d 86%); pointer-events:none; }
.academy-course-entry-posters img { position:absolute; bottom:0; width:42%; aspect-ratio:4/5; object-fit:cover; object-position:top; border:1px solid rgba(255,255,255,.17); border-radius:13px; box-shadow:0 20px 45px rgba(0,0,0,.46); }
.academy-course-entry-posters img:nth-child(1) { left:5%; transform:rotate(-8deg) translateY(10px); }
.academy-course-entry-posters img:nth-child(2) { left:30%; z-index:2; transform:translateY(-16px); }
.academy-course-entry-posters img:nth-child(3) { right:3%; transform:rotate(8deg) translateY(9px); }
.academy-course-entry-action { position:absolute; z-index:4; left:34px; bottom:31px; display:flex; align-items:center; gap:12px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.academy-course-entry-action b { color:#bd75ff; font-size:17px; transition:transform .2s; }
.academy-course-entry:hover .academy-course-entry-action b { transform:translate(3px,-3px); }

.course-photo-caption { position:absolute; z-index:2; left:22px; bottom:20px; display:flex; flex-direction:column; gap:4px; padding:10px 13px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(5,5,8,.78); color:#fff; font-size:10px; font-weight:900; letter-spacing:.04em; backdrop-filter:blur(12px); }
.course-photo-caption small { color:#c9bdce; font-size:8px; font-weight:700; }
.tab-panel[hidden] { display:none !important; }

@media (max-width: 760px) {
  .academy-shell .academy-course-entry { min-height:410px; padding:25px; }
  .academy-course-entry-copy { width:82%; }
  .academy-course-entry-copy strong { font-size:46px; }
  .academy-course-entry-posters { right:-8%; width:78%; height:63%; }
  .academy-course-entry-action { left:25px; bottom:24px; }
}

@media (max-width: 620px) {
  .academy-logo-frame-hero { width:min(300px, 82vw); border-radius:17px; }
  .academy-main-copy .academy-logo-frame-hero .academy-logo-img { height:105px; border-radius:10px; }
  .academy-logo-frame-card { width:min(100%, 300px); }
  .card-logo-title .academy-logo-frame-card img { height:102px; }
  .course-photo-caption { left:15px; bottom:14px; }
}

/* Academy logo — PNG without frame */
.academy-main-copy img.academy-logo-plain-hero {
  display:block; width:min(390px, 80vw); height:auto; max-height:none; margin:24px 0 30px;
  padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; filter:none;
  object-fit:contain; object-position:center;
}
.card-logo-title img.academy-logo-plain-card {
  display:block; width:min(100%, 330px); height:auto; margin:0;
  padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; filter:none;
  object-fit:contain; object-position:center;
}

@media (max-width: 620px) {
  .academy-main-copy img.academy-logo-plain-hero { width:min(285px, 78vw); height:auto; }
  .card-logo-title img.academy-logo-plain-card { width:min(100%, 285px); height:auto; }
}

/* Site-wide mobile refinement */
@media (max-width: 620px) {
  html { scroll-padding-top:136px; }
  body { overflow-x:clip; }
  :root { --content:calc(100% - 28px); --radius:19px; }

  .nav-shell { min-height:68px; }
  .brand-logo { width:128px; height:42px; }
  .menu-toggle { width:40px; height:40px; border-radius:11px; }
  .main-nav { top:68px; max-height:calc(100vh - 68px); overflow-y:auto; padding:10px 14px 14px; }
  .main-nav a { padding:12px 13px; font-size:12px; }

  .display-xl { font-size:clamp(56px,16vw,66px); }
  .display-lg { font-size:clamp(46px,13vw,56px); }
  .display-md { font-size:clamp(38px,11vw,48px); }
  .kicker { font-size:9px; letter-spacing:.14em; }
  .lead { font-size:15px; line-height:1.62; }
  .section,.section-tight { padding:56px 0; }
  .section-head { gap:12px; margin-bottom:23px; }
  .section-head p { font-size:13px; line-height:1.62; }
  .btn-row { gap:9px; }
  .btn-row .btn { flex:1 1 100%; min-height:46px; padding-inline:15px; font-size:11px; }
  .cta-box { gap:24px; padding:25px 21px; border-radius:22px; }
  .cta-box p { font-size:13px; }

  .hero { padding:38px 0 45px; }
  .hero-grid { gap:30px; }
  .hero-copy .lead { margin:20px 0 23px; }
  .hero-note { margin-top:22px; font-size:9px; }
  .hero-visual { min-height:300px; }
  .hero-card,.brand-hero-card { min-height:285px; border-radius:21px; }
  .hero-official-logo { width:min(82%,320px); }
  .floating-label { max-width:165px; font-size:7px; padding:8px 10px; }
  .orbit { width:190px; height:190px; top:38px; right:-24px; }
  .marquee { padding:14px 0; }
  .marquee-track { gap:24px; font-size:17px; }

  .brand-card { min-height:305px; padding:22px; border-radius:21px; }
  .card-title { font-size:48px; }
  .card-title small { margin-top:13px; font-size:8px; }
  .card-logo-title small { margin-top:14px; }
  .card-foot { gap:14px; }
  .card-foot p { font-size:11px; line-height:1.55; }
  .leadership-photo { min-height:360px; border-radius:22px; }
  .leadership-copy { padding:8px 2px; }
  .service-card { min-height:190px; padding:22px; }
  .feature-copy { padding:24px 21px; }
  .feature-tags { margin:19px 0 23px; }
  .quote-band { padding:22px 0; font-size:30px; }

  .academy-shell .tab-bar-wrap { top:68px; }
  .academy-shell .academy-tab-shell { min-height:58px; padding:6px 0; }
  .academy-shell .tab-bar > .tab-btn { flex-basis:108px; min-height:44px; padding:6px; }
  .academy-shell .tab-bar > .tab-btn > strong { font-size:9px; }
  .academy-shell .tab-bar > .tab-btn > small { font-size:7px; }
  .academy-shell .academy-head-branded { min-height:auto; padding:36px 0 45px; }
  .academy-main-copy img.academy-logo-plain-hero { width:min(245px,72vw); margin:17px 0 22px; }
  .academy-main-title { font-size:clamp(51px,14vw,61px); line-height:.86; }
  .academy-main-copy .lead { margin:21px 0 24px; font-size:14px; }
  .academy-hero-stats { gap:6px; }
  .academy-hero-stats > div { padding:12px 8px; border-radius:12px; }
  .academy-hero-stats strong { font-size:22px; }
  .academy-hero-stats span { font-size:7px; }
  .academy-hero-glow-a { width:340px; height:340px; right:-170px; top:-120px; }
  .academy-hero-glow-b { width:220px; height:220px; left:-130px; bottom:-135px; }
  .academy-shell #inicio { padding-top:36px; }
  .academy-programs { gap:13px; }
  .academy-programs-copy { padding:23px; }
  .academy-shell .academy-course-entry { min-height:350px; padding:22px; }
  .academy-course-entry-copy { width:88%; }
  .academy-course-entry-copy strong { font-size:39px; }
  .academy-course-entry-copy em { max-width:245px; font-size:10px; }
  .academy-course-entry-posters { right:-2%; bottom:-8%; width:70%; height:56%; }
  .academy-course-entry-posters img { width:39%; border-radius:9px; }
  .academy-course-entry-action { left:22px; bottom:20px; font-size:9px; }

  .academy-shell .tab-panel.section { margin:16px 0 42px; padding:34px 18px; border-radius:23px; }
  .course-catalog-media { min-height:210px; }
  .course-catalog-copy { padding:23px 20px 25px; }
  .course-catalog-copy h3 { font-size:36px; }
  .course-catalog-copy p { font-size:12px; }
  .catalog-principles { margin-top:18px; }
  .academy-shell .course-card-media img { aspect-ratio:4/3; }
  .course-card-link .course-content h3 { font-size:31px; }
  .course-card-link .course-content p { font-size:12px; }
  .course-photo-caption { max-width:calc(100% - 30px); font-size:9px; }

  .course-page-main { padding:17px 0 44px; }
  .course-breadcrumb { margin-bottom:10px; }
  .course-detail { border-radius:20px; }
  .course-detail-cover { aspect-ratio:16/11; }
  .course-detail-copy { padding:25px 19px 29px; }
  .course-detail-copy h1,.course-detail-copy h3 { font-size:39px; line-height:.91; }
  .course-detail-lead { font-size:12px; line-height:1.65; }
  .course-facts { margin:19px 0 22px; }
  .course-facts div { padding:11px 9px; border-radius:11px; }
  .course-facts dd { font-size:10px; }
  .course-value-grid { padding:14px; gap:9px; }
  .course-value-grid > section { padding:19px; border-radius:17px; }
  .course-page .course-value-grid h2,.course-value-grid h4,.course-page .course-subhead h2,.course-subhead h4,.course-page .course-certificate h2,.course-certificate h4,.course-page .course-method h2,.course-method h4 { font-size:32px; }
  .course-value-grid p,.course-teacher-copy > p,.course-certificate p { font-size:12px; line-height:1.65; }
  .course-teacher { margin:0 14px 14px; border-radius:17px; }
  .course-teacher-media { min-height:250px; }
  .course-teacher-copy { padding:22px 19px 24px; }
  .course-page .course-teacher-copy h2,.course-teacher-copy h4 { font-size:41px; }
  .course-curriculum { padding:27px 14px; }
  .curriculum-grid summary { padding:16px 40px 16px 15px; }
  .curriculum-grid ol { gap:10px; padding:2px 16px 19px 35px; }
  .curriculum-grid li,.curriculum-grid details > p { font-size:10px; }
  .course-method { padding:27px 14px; gap:20px; }
  .course-method li { min-height:88px; }
  .course-close-grid { padding:14px; gap:9px; }
  .course-certificate,.course-investment { padding:21px 18px; border-radius:17px; }
  .course-page-next { padding:19px; }

  .advisor-media,.advisor-card-featured .advisor-media { height:235px; }
  .advisor-content,.advisor-card-featured .advisor-content { padding:21px; }
  .advisor-content h3 { font-size:38px; }
  .advisor-credential { margin:14px 0 18px; font-size:12px; }
  .lecture-feature { min-height:0; border-radius:21px; }
  .lecture-feature-media { min-height:260px; }
  .lecture-feature-copy { padding:24px 20px; }
  .lecture-feature-copy h3 { font-size:46px; }
  .lecture-feature-copy > p { font-size:12px; }
  .lecture-card-media,.lecture-pair-media { height:220px; }
  .lecture-card-copy { padding:20px; }


  .contact-card,.contact-form { padding:22px 19px; border-radius:20px; }
  .contact-official-logo { width:min(84%,280px); margin-bottom:18px; }
  .contact-item { overflow-wrap:anywhere; }
  .social-action { min-width:0; padding:11px; }
  .social-action img { width:32px; height:32px; flex-basis:32px; }
  .field input,.field textarea,.field select { padding:12px 13px; }
  .field textarea { min-height:112px; }
  .contact-form .btn { width:100%; }

  .footer { padding:40px 0 24px; }
  .footer-grid { gap:27px; }
  .footer-brand .brand-logo { width:156px; height:50px; }
  .footer-bottom { margin-top:28px; gap:8px; }
}

@media (max-width: 390px) {
  :root { --content:calc(100% - 20px); }
  .display-xl { font-size:53px; }
  .display-lg { font-size:44px; }
  .display-md { font-size:37px; }
  .academy-main-title { font-size:49px; }
  .academy-shell .tab-bar > .tab-btn { flex-basis:101px; }
  .academy-hero-stats { grid-template-columns:1fr; }
  .academy-course-entry-copy { width:100%; }
  .academy-course-entry-posters { opacity:.75; }
  .course-facts { grid-template-columns:1fr; }
  .btn { width:100%; }
}

@media (max-width: 620px) {
  .card-foot { align-items:flex-end; gap:12px; }
  .card-foot p { min-width:0; flex:1; }
  .arrow-link { flex:0 0 38px; width:38px; height:38px; font-size:17px; }
  .feature-copy .display-lg { font-size:clamp(40px,11vw,49px); }
  .poster-wrap { max-height:480px; border-radius:21px; }
  .poster-wrap img { object-position:top; }
}

/* Servicios Integrales */
.services-shell {
  background:
    radial-gradient(circle at 78% 8%, rgba(0,104,255,.17), transparent 24%),
    linear-gradient(180deg, #040507 0%, #080b10 52%, #040506 100%);
}
.services-hero { position:relative; min-height:680px; display:grid; align-items:center; overflow:hidden; padding:70px 0; border-bottom:1px solid rgba(90,157,255,.14); }
.services-hero::before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg, rgba(0,82,190,.18), transparent 42%), repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.018) 80px); }
.services-hero-orbit { position:absolute; width:640px; height:640px; right:-250px; top:-190px; border:1px solid rgba(80,151,255,.16); border-radius:50%; box-shadow:0 0 0 70px rgba(43,119,230,.025), 0 0 0 140px rgba(43,119,230,.018); }
.services-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.12fr .88fr; gap:70px; align-items:center; }
.services-hero-copy { max-width:680px; }
.services-hero-copy h1 { margin:21px 0 26px; font-size:clamp(78px,9vw,132px); line-height:.82; }
.services-hero-copy h1 span { color:#3487ff; text-shadow:0 0 48px rgba(0,104,255,.24); }
.services-hero-copy .lead { max-width:630px; margin:0 0 27px; }
.services-hero-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.services-hero-pills span { padding:9px 12px; border:1px solid rgba(90,157,255,.24); border-radius:999px; background:rgba(18,94,201,.08); color:#c5d9f7; font-size:9px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.services-hero-cover { position:relative; width:min(100%,500px); margin:0 0 0 auto; overflow:hidden; border:1px solid rgba(121,172,247,.25); border-radius:30px; background:#111; box-shadow:0 35px 100px rgba(0,0,0,.48), 0 0 70px rgba(0,93,222,.10); }
.services-hero-cover::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, transparent 68%, rgba(2,5,9,.74)); }
.services-hero-cover img { width:100%; aspect-ratio:3/2; object-fit:cover; object-position:top; filter:contrast(1.04); }
.services-hero-cover figcaption { position:absolute; z-index:2; left:24px; bottom:21px; color:#dce7f6; font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }

.services-intro { border-bottom:1px solid rgba(255,255,255,.07); }
.services-intro-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:72px; align-items:start; }
.services-intro-copy { padding-top:4px; }
.services-intro-copy p { margin:0 0 16px; color:#aaaeba; font-size:14px; line-height:1.8; }
.services-intro-copy .text-link { display:inline-block; margin-top:10px; }

.services-catalog { position:relative; }
.services-section-head { padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.08); }
.services-chapter { display:grid; grid-template-columns:.58fr 1.42fr; gap:34px; margin-top:22px; padding:34px; overflow:hidden; border:1px solid rgba(255,255,255,.10); border-radius:28px; background:linear-gradient(145deg, rgba(21,67,132,.10), rgba(255,255,255,.018) 58%); box-shadow:0 25px 70px rgba(0,0,0,.18); }
.services-chapter + .services-chapter { margin-top:18px; }
.services-chapter > header { position:relative; padding:13px 22px 13px 5px; }
.services-chapter-label { color:#62a3ff; font-size:9px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.services-chapter > header h3 { margin:18px 0; color:#fff; font-family:'Bebas Neue', Impact, sans-serif; font-size:clamp(42px,4.4vw,62px); font-weight:400; line-height:.92; letter-spacing:.025em; }
.services-chapter > header p { margin:0; color:#8f95a1; font-size:12px; line-height:1.7; }
.services-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.services-groups-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.services-groups section { position:relative; min-width:0; padding:23px; border:1px solid rgba(93,156,255,.14); border-radius:19px; background:rgba(3,7,12,.52); transition:transform .25s ease, border-color .25s ease, background .25s ease; }
.services-groups section:hover { transform:translateY(-4px); border-color:rgba(93,156,255,.35); background:rgba(8,28,57,.56); }
.service-icon { width:54px; height:54px; display:grid; place-items:center; padding:10px; overflow:hidden; border:1px solid rgba(93,156,255,.28); border-radius:15px; background:linear-gradient(145deg,rgba(38,118,232,.18),rgba(38,118,232,.045)); color:#62a3ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px rgba(0,72,183,.10); }
.service-icon img { width:100%; height:100%; object-fit:contain; filter:brightness(0) invert(1); opacity:.9; }
.services-groups h4 { margin:20px 0 10px; color:#fff; font-size:16px; }
.services-groups p { margin:0 0 18px; color:#858b96; font-size:10px; line-height:1.6; }
.services-groups ul { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.services-groups li { padding:7px 9px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:#bdc3ce; font-size:8px; font-weight:700; line-height:1.25; }
.services-production { border-color:rgba(72,146,255,.23); }
.services-promotion { background:linear-gradient(145deg, rgba(71,35,125,.15), rgba(255,255,255,.018) 58%); }
.services-promotion .services-chapter-label,.services-promotion .service-icon { color:#b47aff; }
.services-promotion .service-icon,.services-promotion .services-groups section { border-color:rgba(180,122,255,.18); }
.services-promotion .service-icon { background:linear-gradient(145deg,rgba(155,72,255,.20),rgba(155,72,255,.045)); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px rgba(116,43,210,.10); }
.services-distribution { background:linear-gradient(145deg, rgba(25,103,92,.14), rgba(255,255,255,.018) 58%); }
.services-distribution .services-chapter-label,.services-distribution .service-icon { color:#51d5bd; }
.services-distribution .service-icon,.services-distribution .services-groups section { border-color:rgba(81,213,189,.17); }
.services-distribution .service-icon { background:linear-gradient(145deg,rgba(45,185,163,.19),rgba(45,185,163,.045)); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px rgba(26,142,124,.10); }

.services-contact-card { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:50px; border:1px solid rgba(76,150,255,.27); border-radius:30px; background:radial-gradient(circle at 86% 8%, rgba(24,107,225,.26), transparent 35%), #080d15; box-shadow:0 28px 80px rgba(0,0,0,.26); }
.services-contact-card p { max-width:620px; margin-bottom:0; color:#a4aab5; line-height:1.7; }
.services-contact-actions { flex:0 0 250px; display:grid; gap:10px; }
.services-contact-actions .btn { width:100%; }
.services-whatsapp-cta { display:flex; align-items:center; gap:13px; min-height:68px; padding:10px 17px 10px 12px; border:1px solid rgba(130,255,182,.28); border-radius:17px; background:linear-gradient(135deg,#116b43,#15985b); color:#fff; box-shadow:0 17px 42px rgba(5,101,57,.25),inset 0 1px 0 rgba(255,255,255,.14); transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.services-whatsapp-cta:hover { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 21px 48px rgba(5,101,57,.34),inset 0 1px 0 rgba(255,255,255,.16); }
.services-whatsapp-cta img { width:42px; height:42px; flex:0 0 auto; object-fit:contain; }
.services-whatsapp-cta span { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }
.services-whatsapp-cta small { color:rgba(255,255,255,.70); font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.services-whatsapp-cta strong { font-size:12px; line-height:1.25; }
.services-whatsapp-cta b { font-size:18px; font-weight:500; }

@media (max-width: 1000px) {
  .services-hero-grid { grid-template-columns:1fr .8fr; gap:42px; }
  .services-chapter { grid-template-columns:1fr; }
  .services-chapter > header { max-width:720px; }
}

@media (max-width: 760px) {
  .services-hero { min-height:auto; padding:55px 0; }
  .services-hero-grid,.services-intro-grid { grid-template-columns:1fr; }
  .services-hero-cover { width:min(100%,390px); margin:5px auto 0; }
  .services-intro-grid { gap:25px; }
  .services-groups { grid-template-columns:1fr; }
  .services-groups-four { grid-template-columns:1fr 1fr; }
  .services-contact-card { align-items:flex-start; flex-direction:column; }
  .services-contact-actions { width:100%; flex-basis:auto; }
}

@media (max-width: 620px) {
  .services-hero { padding:39px 0 45px; }
  .services-hero-grid { gap:31px; }
  .services-hero-copy h1 { margin:17px 0 21px; font-size:clamp(57px,16vw,68px); }
  .services-hero-copy .lead { font-size:14px; }
  .services-hero-pills { margin-bottom:23px; }
  .services-hero-cover { width:min(84%,330px); border-radius:22px; }
  .services-hero-cover img { aspect-ratio:4/3; }
  .services-hero-cover figcaption { left:18px; bottom:16px; font-size:7px; }
  .services-intro-copy p { font-size:12px; line-height:1.7; }
  .services-chapter { gap:20px; padding:21px 17px; border-radius:21px; }
  .services-chapter > header { padding:4px 3px; }
  .services-chapter > header h3 { margin:14px 0; font-size:39px; }
  .services-chapter > header p { font-size:11px; }
  .services-groups-four { grid-template-columns:1fr; }
  .services-groups section { padding:19px; border-radius:16px; }
  .service-icon { width:48px; height:48px; padding:9px; border-radius:13px; }
  .services-groups h4 { margin:21px 0 9px; }
  .services-contact-card { gap:26px; padding:25px 20px; border-radius:22px; }
  .services-contact-card p { font-size:12px; }
  .services-whatsapp-cta { min-height:64px; padding-right:15px; }
  .services-whatsapp-cta img { width:38px; height:38px; }
}

/* Academy — educational partners */
.partners-panel { position:relative; }
.partners-section-head { padding-bottom:30px; border-bottom:1px solid rgba(180,112,255,.16); }
.partners-photo-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:16px; margin-top:28px; }
.partner-photo-card { position:relative; min-height:440px; margin:0; overflow:hidden; border:1px solid rgba(180,112,255,.23); border-radius:28px; background:#0b0710; box-shadow:0 26px 70px rgba(0,0,0,.28); }
.partner-photo-card-secondary { min-height:440px; }
.partner-photo-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(5,3,8,.92) 100%); pointer-events:none; }
.partner-photo-card > img { width:100%; height:100%; min-height:440px; object-fit:cover; transition:transform .55s ease; }
.partner-photo-card-main > img { object-position:center 42%; }
.partner-photo-card-secondary > img { object-position:center; }
.partner-photo-card:hover > img { transform:scale(1.025); }
.partner-logo-badge { position:absolute; z-index:2; top:22px; right:22px; display:grid; place-items:center; width:190px; min-height:72px; padding:13px 16px; border:1px solid rgba(255,255,255,.7); border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(0,0,0,.24); backdrop-filter:blur(8px); }
.partner-logo-badge img { display:block; width:100%; height:46px; object-fit:contain; }
.partner-logo-ebc { width:168px; }
.partner-logo-ebc img { height:48px; }
.partner-photo-card figcaption { position:absolute; z-index:1; right:28px; bottom:27px; left:28px; display:flex; flex-direction:column; align-items:flex-start; }
.partner-photo-card figcaption span { margin-bottom:8px; color:#c28bff; font-size:8px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.partner-photo-card figcaption strong { color:#fff; font-family:'Bebas Neue',Impact,sans-serif; font-size:clamp(34px,4vw,54px); font-weight:400; line-height:.95; letter-spacing:.025em; }
.partner-photo-card figcaption small { margin-top:8px; color:rgba(255,255,255,.72); font-size:10px; line-height:1.45; }
.partners-value { display:grid; grid-template-columns:.72fr 1.28fr; gap:45px; margin-top:20px; padding:45px; border:1px solid rgba(180,112,255,.16); border-radius:28px; background:radial-gradient(circle at 8% 10%,rgba(135,59,226,.18),transparent 38%),linear-gradient(145deg,#0d0713,#07050a); }
.partners-value-copy h3 { margin:17px 0 19px; }
.partners-value-copy p { max-width:430px; margin:0; color:#a9a2b1; font-size:12px; line-height:1.75; }
.partners-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.partners-value-grid article { min-width:0; padding:24px 20px; border:1px solid rgba(190,131,255,.16); border-radius:19px; background:rgba(255,255,255,.025); }
.partner-value-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:28px; border:1px solid rgba(190,131,255,.28); border-radius:13px; background:rgba(151,71,237,.13); color:#c896ff; font-size:18px; }
.partner-value-thumb { width:108px; height:74px; display:block; margin-bottom:23px; overflow:hidden; border:1px solid rgba(190,131,255,.28); border-radius:14px; background:rgba(151,71,237,.13); box-shadow:0 10px 24px rgba(0,0,0,.22); }
.partner-value-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.partners-value-grid h4 { margin:0 0 12px; color:#fff; font-size:14px; line-height:1.25; }
.partners-value-grid p { margin:0; color:#918a99; font-size:10px; line-height:1.65; }
.partners-cta { display:flex; align-items:center; justify-content:space-between; gap:38px; margin-top:20px; padding:38px 42px; border:1px solid rgba(180,112,255,.28); border-radius:25px; background:linear-gradient(125deg,rgba(94,25,171,.23),rgba(11,7,15,.92) 58%); }
.partners-cta > div { max-width:690px; }
.partners-cta span { color:#c38cff; font-size:8px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.partners-cta h3 { margin:10px 0 0; color:#fff; font-size:clamp(22px,2.6vw,34px); line-height:1.12; }
.partners-cta .btn { flex:0 0 auto; }

@media (max-width: 960px) {
  .partners-photo-grid { grid-template-columns:1fr 1fr; }
  .partners-value { grid-template-columns:1fr; gap:30px; }
}

@media (max-width: 760px) {
  .partners-photo-grid { grid-template-columns:1fr; }
  .partner-photo-card,.partner-photo-card-secondary,.partner-photo-card > img { min-height:360px; }
  .partners-value { padding:28px; }
  .partners-value-grid { grid-template-columns:1fr; }
  .partners-value-grid article { display:grid; grid-template-columns:100px 1fr; column-gap:15px; }
  .partner-value-icon,.partner-value-thumb { grid-row:1 / 3; margin:0; }
  .partner-value-thumb { width:98px; height:68px; }
  .partners-value-grid h4 { align-self:end; }
  .partners-cta { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 620px) {
  .partners-section-head { padding-bottom:22px; }
  .partners-photo-grid { gap:11px; margin-top:20px; }
  .partner-photo-card,.partner-photo-card-secondary,.partner-photo-card > img { min-height:315px; }
  .partner-photo-card { border-radius:21px; }
  .partner-logo-badge { top:15px; right:15px; width:154px; min-height:58px; padding:10px 12px; border-radius:12px; }
  .partner-logo-badge img { height:37px; }
  .partner-logo-ebc { width:132px; }
  .partner-logo-ebc img { height:38px; }
  .partner-photo-card figcaption { right:21px; bottom:20px; left:21px; }
  .partner-photo-card figcaption strong { font-size:35px; }
  .partners-value { gap:25px; margin-top:12px; padding:24px 19px; border-radius:21px; }
  .partners-value-copy p { font-size:11px; }
  .partners-value-grid article { padding:18px 16px; border-radius:16px; }
  .partners-cta { gap:24px; margin-top:12px; padding:26px 20px; border-radius:21px; }
  .partners-cta h3 { font-size:23px; }
  .partners-cta .btn { width:100%; }
}
