:root{
  --obsidian:#0B0D14;
  --obsidian-2:#10141E;
  --violet:#5D3EFF;
  --ivory:#F4F0E8;
  --muted:rgba(244,240,232,.55);
  --line:rgba(244,240,232,.10);
  --shell:min(1420px,calc(100% - 80px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--obsidian);color:var(--ivory);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:var(--shell);margin:auto}

/* Navigation */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;height:92px;
  background:rgba(11,13,20,.94);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(244,240,232,.08)
}
.nav-shell{
  width:var(--shell);height:100%;margin:auto;
  display:grid;grid-template-columns:190px 145px minmax(0,1fr) auto;gap:22px;align-items:center
}
.brand{width:185px}.brand img{display:block;width:100%}
.academy-signature{
  display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:center;
  padding-left:18px;border-left:1px solid rgba(244,240,232,.11)
}
.academy-signature>span{width:7px;height:7px;background:var(--violet);box-shadow:0 0 0 5px rgba(93,62,255,.07)}
.academy-signature small{display:block;color:rgba(244,240,232,.25);font-size:6px;font-weight:900;letter-spacing:.16em}
.academy-signature strong{display:block;margin-top:3px;color:rgba(244,240,232,.72);font-size:11px}
.nav-links{display:flex;justify-content:center;gap:20px;min-width:0}
.nav-links a{color:rgba(244,240,232,.55);font-size:11px;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--ivory)}
.nav-actions{display:flex;align-items:center;gap:12px}
.all-academies{color:rgba(244,240,232,.36);font-size:10px;white-space:nowrap}
.all-academies:hover{color:var(--ivory)}
.campus-link{
  min-height:44px;padding:0 14px;border:1px solid rgba(244,240,232,.15);
  display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:850;color:var(--ivory)
}
.campus-link span{color:var(--violet);font-size:15px}
.menu-toggle{display:none}

/* Hero */
.hero{
  min-height:100svh;padding:92px 0 42px;position:relative;overflow:hidden;
  background:var(--obsidian)
}
.hero-grid{
  position:absolute;inset:0;opacity:.14;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to right,transparent,#000 38%,#000)
}
.clinical-axis{position:absolute;background:rgba(244,240,232,.05);pointer-events:none}
.axis-a{right:11%;top:92px;width:1px;height:74%}
.axis-b{right:0;top:51%;width:48%;height:1px}

.hero-shell{
  min-height:calc(100svh - 134px);
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);
  gap:55px;align-items:center;position:relative;z-index:2
}
.hero-copy{padding:46px 0 28px}
.academy-kicker{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.academy-kicker p{
  margin:0;color:rgba(244,240,232,.43);
  font-size:9px;font-weight:900;letter-spacing:.18em
}
.academy-bit{
  width:9px;height:9px;background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07)
}
.hero h1{
  margin:0;max-width:900px;
  font-size:clamp(60px,6vw,98px);line-height:.9;letter-spacing:-.065em
}
.hero h1 span{
  display:block;margin-top:3px;color:rgba(244,240,232,.34);font-weight:500
}
.hero-lead{
  max-width:690px;margin:31px 0 0;color:rgba(244,240,232,.59);
  font-size:17px;line-height:1.72
}
.hero-actions{display:flex;gap:11px;margin-top:35px}
.primary-btn,.secondary-btn{
  min-height:52px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;
  gap:22px;font-size:11px;font-weight:850
}
.primary-btn{background:var(--violet);color:white}
.primary-btn span{font-size:16px}
.secondary-btn{border:1px solid rgba(244,240,232,.15);color:var(--ivory)}
.hero-pillars{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 13px;
  margin-top:39px;padding-top:19px;border-top:1px solid rgba(244,240,232,.09)
}
.hero-pillars span{color:rgba(244,240,232,.46);font-size:9px;font-weight:720}
.hero-pillars i{width:4px;height:4px;background:var(--violet)}

.hero-proof{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  max-width:670px;margin-top:22px;
  background:rgba(244,240,232,.08);border:1px solid rgba(244,240,232,.08)
}
.hero-proof article{padding:15px 16px;background:#0F131D}
.hero-proof strong{display:block;color:var(--violet);font-size:22px;letter-spacing:-.04em}
.hero-proof span{display:block;margin-top:5px;color:rgba(244,240,232,.34);font-size:8px;line-height:1.45}

/* Clinical visual */
.clinical-visual{
  position:relative;min-height:690px;width:100%;
  border-left:1px solid rgba(244,240,232,.08);
  border-right:1px solid rgba(244,240,232,.05)
}
.visual-label{
  position:absolute;right:22px;top:20px;z-index:4
}
.visual-label small{color:rgba(244,240,232,.22);font-size:7px;font-weight:900;letter-spacing:.16em}
.dental-geometry{
  position:absolute;left:50%;top:48%;
  width:92%;height:auto;transform:translate(-50%,-50%);
  overflow:visible
}
.arch{
  fill:none;stroke:rgba(244,240,232,.28);stroke-width:1.5;
  vector-effect:non-scaling-stroke
}
.arch-inner{stroke:url(#violetLine);stroke-width:2}
.center-axis,.cross-axis{
  stroke:rgba(244,240,232,.07);stroke-width:1;stroke-dasharray:5 8
}
.clinical-points circle{
  fill:#10141E;stroke:rgba(244,240,232,.52);stroke-width:1.5
}
.violet-points rect{fill:var(--violet)}
.measurement-lines path{
  fill:none;stroke:rgba(244,240,232,.08);stroke-width:1
}
.focus-ring{
  fill:none;stroke:rgba(93,62,255,.56);stroke-width:1.4;
  animation:focusPulse 3s ease-in-out infinite
}
.focus-core{fill:var(--violet)}
.clinical-card{
  position:absolute;z-index:5;width:205px;padding:13px 14px;
  border:1px solid rgba(244,240,232,.11);background:rgba(14,18,27,.88);
  backdrop-filter:blur(10px)
}
.clinical-card small{
  display:block;color:var(--violet);font-size:6px;font-weight:900;letter-spacing:.15em
}
.clinical-card strong{
  display:block;margin-top:6px;color:rgba(244,240,232,.76);font-size:14px
}
.clinical-card>span{
  display:block;margin-top:5px;color:rgba(244,240,232,.31);font-size:8px;line-height:1.4
}
.c1{left:0;top:17%}
.c2{right:0;top:31%}
.c3{left:8%;bottom:18%}
.visual-caption{
  position:absolute;right:22px;bottom:23px;display:grid;
  grid-template-columns:9px minmax(0,230px);gap:12px;align-items:start
}
.caption-bit{width:8px;height:8px;margin-top:4px;background:var(--violet)}
.visual-caption p{margin:0}
.visual-caption small{
  display:block;color:rgba(244,240,232,.25);font-size:6px;font-weight:900;letter-spacing:.14em
}
.visual-caption strong{
  display:block;margin-top:6px;color:rgba(244,240,232,.56);font-size:11px;line-height:1.4
}

.hero-scroll{
  position:absolute;left:calc((100% - min(1420px,calc(100% - 80px)))/2);
  bottom:22px;display:flex;align-items:center;gap:10px
}
.hero-scroll span{width:35px;height:1px;background:var(--violet)}
.hero-scroll p{
  margin:0;color:rgba(244,240,232,.23);font-size:6px;font-weight:900;letter-spacing:.16em
}

/* Placeholder for next section */
.next-section{
  padding:90px 0;background:#E9E6DF;color:var(--obsidian)
}
.next-inner{max-width:950px;margin-left:auto}
.section-kicker{
  margin:0 0 15px;color:var(--violet);font-size:8px;font-weight:900;letter-spacing:.17em
}
.next-section h2{
  margin:0;font-size:clamp(44px,5vw,76px);line-height:.94;letter-spacing:-.055em
}
.next-section p:last-child{
  max-width:800px;margin:22px 0 0;color:#6A6D75;font-size:14px;line-height:1.7
}

@keyframes focusPulse{
  0%,100%{r:44;opacity:.7}
  50%{r:56;opacity:.25}
}

@media(max-width:1240px){
  :root{--shell:calc(100% - 48px)}
  .nav-shell{grid-template-columns:175px 130px minmax(0,1fr) auto;gap:14px}
  .brand{width:170px}
  .nav-links{gap:13px}
  .nav-links a{font-size:10px}
  .all-academies{display:none}
  .hero-shell{grid-template-columns:1fr 480px}
}
@media(max-width:960px){
  :root{--shell:calc(100% - 36px)}
  .site-nav{height:78px}
  .nav-shell{grid-template-columns:1fr auto auto}
  .brand{width:180px}
  .academy-signature{display:none}
  .nav-links{
    display:none;position:absolute;left:18px;right:18px;top:78px;padding:18px;
    background:#0B0D14;border:1px solid rgba(244,240,232,.10);
    flex-direction:column;align-items:flex-start
  }
  .nav-links.open{display:flex}
  .nav-actions{grid-column:2}
  .menu-toggle{
    grid-column:3;display:grid;gap:6px;place-content:center;width:44px;height:44px;
    border:1px solid rgba(244,240,232,.13);background:transparent
  }
  .menu-toggle span{width:18px;height:1px;background:var(--ivory)}
  .hero{padding-top:78px}
  .hero-shell{grid-template-columns:1fr;gap:0;padding-top:55px}
  .hero-copy{padding-bottom:20px}
  .clinical-visual{min-height:620px;border-left:0}
  .hero-scroll{display:none}
}
@media(max-width:620px){
  :root{--shell:calc(100% - 28px)}
  .nav-actions{display:none}
  .nav-shell{grid-template-columns:1fr auto}
  .menu-toggle{grid-column:2}
  .hero h1{font-size:clamp(49px,14vw,66px)}
  .hero-lead{font-size:15px}
  .hero-actions{display:grid}
  .primary-btn,.secondary-btn{width:100%}
  .hero-proof{grid-template-columns:1fr}
  .hero-pillars i:nth-of-type(3){display:none}
  .clinical-visual{min-height:520px}
  .clinical-card{width:155px;padding:10px}
  .clinical-card strong{font-size:11px}
  .clinical-card>span{font-size:7px}
  .c1{top:12%}.c2{top:34%}.c3{left:2%;bottom:13%}
  .visual-caption{right:8px;bottom:8px}
  .next-section{padding:65px 0}
  .next-inner{margin:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .focus-ring{animation:none!important}
}


/* V30 · SECCIÓN 02 — EXPLORA POR ESPECIALIDAD */
.specialties-section{position:relative;padding:126px 0 112px;background:#E9E6DF;color:var(--obsidian);overflow:hidden}
.specialties-section:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(to right,rgba(11,13,20,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,13,20,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 75%);pointer-events:none}
.specialties-section .shell{position:relative;z-index:2}
.specialties-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);gap:76px;align-items:end;padding-bottom:56px;border-bottom:1px solid rgba(11,13,20,.12)}
.specialties-head h2{margin:0;max-width:920px;font-size:clamp(52px,5.4vw,86px);line-height:.92;letter-spacing:-.06em}.specialties-head h2 span{display:block;color:#74767D;font-weight:510}
.specialties-intro>p{margin:0;color:#62656D;font-size:15px;line-height:1.72}.specialties-guide{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;margin-top:24px}.specialties-guide>span{width:42px;height:2px;background:var(--violet)}.specialties-guide small{color:#898B92;font-size:7px;font-weight:900;letter-spacing:.15em;line-height:1.5}
.specialties-layout{display:grid;grid-template-columns:minmax(350px,.92fr) minmax(0,1.58fr);gap:1px;margin-top:28px;background:rgba(11,13,20,.13);border:1px solid rgba(11,13,20,.13)}
.specialty-card{position:relative;min-height:270px;padding:22px;background:#F3F0E9;overflow:hidden}.specialty-card:after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--violet);transition:width .28s ease}.specialty-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.specialty-number{color:#A2A4AA;font-size:8px;font-weight:900}.specialty-top small{max-width:210px;text-align:right;color:var(--violet);font-size:7px;font-weight:900;letter-spacing:.14em;line-height:1.45}.specialty-copy{position:absolute;left:22px;right:56px;bottom:24px}.specialty-copy h3{margin:0;max-width:400px;font-size:27px;line-height:1.01;letter-spacing:-.045em}.specialty-copy p{margin:12px 0 0;color:#73757C;font-size:9px;line-height:1.5}.specialty-arrow{position:absolute;right:22px;bottom:22px;color:#A2A4AA;font-size:18px;transition:transform .28s ease,color .28s ease}
@media(hover:hover) and (pointer:fine){.specialty-card:hover:after{width:100%}.specialty-card:hover .specialty-arrow{transform:translateX(5px);color:var(--violet)}}
.specialty-featured{min-height:813px;padding:26px;background:var(--obsidian);color:var(--ivory);grid-row:span 5}.specialty-featured .specialty-number{color:rgba(244,240,232,.20)}.specialty-featured .specialty-top small{color:var(--violet);max-width:none}.specialty-featured-visual{position:absolute;left:7%;right:7%;top:100px;height:420px}.specialty-featured-visual svg{width:100%;height:100%}.sf-arch{fill:none;stroke:rgba(244,240,232,.34);stroke-width:1.4;vector-effect:non-scaling-stroke}.sf-inner{stroke:rgba(93,62,255,.65);stroke-width:1.5}.sf-guide{fill:none;stroke:rgba(244,240,232,.07);stroke-width:1;stroke-dasharray:5 8}.sf-points circle{fill:#0F131D;stroke:rgba(244,240,232,.48);stroke-width:1.3}.sf-focus{fill:var(--violet)}.specialty-featured-copy{position:absolute;left:26px;right:26px;bottom:28px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:end;padding-top:24px;border-top:1px solid rgba(244,240,232,.09)}.specialty-featured-copy h3{margin:0;max-width:470px;font-size:40px;line-height:.97;letter-spacing:-.055em}.specialty-featured-copy p{margin:13px 0 0;max-width:430px;color:rgba(244,240,232,.42);font-size:10px;line-height:1.5}.specialty-featured .specialty-arrow{position:static;color:var(--violet);font-size:25px}
.specialties-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(11,13,20,.13)}.specialties-grid .specialty-wide{grid-column:1/-1;min-height:270px}.specialties-grid .specialty-wide .specialty-copy h3{max-width:620px;font-size:31px}
.specialties-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:22px;padding:20px 22px;background:#F3F0E9;border:1px solid rgba(11,13,20,.12)}.specialties-footer-copy{display:grid;grid-template-columns:9px minmax(0,1fr);gap:13px;align-items:start}.footer-bit{width:8px;height:8px;margin-top:3px;background:var(--violet)}.specialties-footer-copy p{margin:0}.specialties-footer-copy small{display:block;color:#8B8D94;font-size:7px;font-weight:900;letter-spacing:.14em}.specialties-footer-copy strong{display:block;margin-top:5px;color:#3F424A;font-size:12px;line-height:1.4}.specialties-preview-btn{min-height:44px;padding:0 15px;border:1px solid rgba(11,13,20,.14);background:transparent;color:#343740;display:inline-flex;align-items:center;gap:16px;font-size:9px;font-weight:850;cursor:pointer}.specialties-preview-btn span{color:var(--violet);font-size:15px}.specialties-preview{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;margin-top:1px;padding:22px;background:var(--obsidian);color:var(--ivory)}.specialties-preview[hidden]{display:none}.specialties-preview small{color:var(--violet);font-size:7px;font-weight:900;letter-spacing:.14em}.specialties-preview strong{display:block;margin-top:7px;font-size:24px;letter-spacing:-.04em}.specialties-preview p{max-width:680px;margin:8px 0 0;color:rgba(244,240,232,.48);font-size:10px;line-height:1.55}.specialties-preview button{width:42px;height:42px;border:1px solid rgba(244,240,232,.12);background:transparent;color:var(--ivory);font-size:22px;cursor:pointer}
@media(max-width:1050px){.specialties-head{grid-template-columns:1fr;gap:28px}.specialties-layout{grid-template-columns:1fr}.specialty-featured{min-height:620px;grid-row:auto}.specialty-featured-visual{left:20%;right:20%;top:88px;height:340px}}
@media(max-width:720px){.specialties-section{padding:78px 0 70px}.specialties-head{padding-bottom:38px}.specialties-head h2{font-size:clamp(44px,13vw,60px)}.specialty-featured{min-height:545px}.specialty-featured-visual{left:5%;right:5%;top:85px;height:300px}.specialty-featured-copy h3{font-size:32px}.specialties-grid{grid-template-columns:1fr}.specialties-grid .specialty-wide{grid-column:auto}.specialties-grid .specialty-wide .specialty-copy h3{font-size:27px}.specialties-footer{align-items:stretch;flex-direction:column}.specialties-preview-btn{width:100%;justify-content:space-between}}


/* =========================================================
   V32 · SECCIÓN 03 — FORMACIONES DESTACADAS / NUEVAS
   ========================================================= */

.featured-courses-section{
  position:relative;
  padding:128px 0 112px;
  background:var(--obsidian);
  color:var(--ivory);
  overflow:hidden;
}
.featured-courses-section:before{
  content:"";
  position:absolute;inset:0;
  opacity:.12;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 86%);
  pointer-events:none;
}
.featured-courses-section .shell{position:relative;z-index:2}

.courses-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(244,240,232,.10);
}
.courses-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.courses-head h2 span{
  display:block;
  color:rgba(244,240,232,.34);
  font-weight:510;
}
.courses-head-copy>p{
  margin:0;
  color:rgba(244,240,232,.52);
  font-size:15px;
  line-height:1.72;
}
.courses-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.courses-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.courses-head-note small{
  color:rgba(244,240,232,.27);
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.courses-stage{
  display:grid;
  grid-template-columns:minmax(380px,1.02fr) minmax(0,.98fr);
  gap:1px;
  margin-top:28px;
  background:rgba(244,240,232,.09);
  border:1px solid rgba(244,240,232,.09);
}
.course-card{
  position:relative;
  overflow:hidden;
  background:#0F131D;
}
.course-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(93,62,255,.05),transparent 38%);
}
.course-card:after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  height:3px;width:0;
  background:var(--violet);
  transition:width .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .course-card:hover:after{width:100%}
  .course-card:hover .course-arrow{transform:translateX(5px)}
}

.course-card-hero{
  min-height:760px;
  padding:28px;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.course-status{
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:3;
}
.status-dot{
  width:8px;height:8px;
  background:var(--violet);
  box-shadow:0 0 0 6px rgba(93,62,255,.08);
}
.course-status small{
  color:var(--violet);
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
}
.muted-status small{color:rgba(244,240,232,.35)}
.muted-status .status-dot{
  background:rgba(244,240,232,.42);
  box-shadow:0 0 0 6px rgba(244,240,232,.04);
}
.future-status small{color:#8E8F96}
.future-status .status-dot{
  background:#74767D;
  box-shadow:0 0 0 6px rgba(244,240,232,.025);
}

.course-hero-mark{
  position:absolute;
  left:28px;right:28px;top:103px;
  height:285px;
  border:1px solid rgba(244,240,232,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.course-hero-mark:before,
.course-hero-mark:after{
  content:"";
  position:absolute;
  background:rgba(244,240,232,.06);
}
.course-hero-mark:before{
  width:1px;height:130%;left:50%;top:-15%;
}
.course-hero-mark:after{
  height:1px;width:130%;left:-15%;top:50%;
}
.course-hero-mark span{
  position:absolute;
  left:18px;top:16px;
  color:rgba(244,240,232,.22);
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
}
.course-hero-mark strong{
  position:relative;z-index:2;
  color:rgba(244,240,232,.88);
  font-size:118px;
  line-height:.8;
  letter-spacing:-.08em;
}
.course-hero-mark strong:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:146px;height:146px;
  border:1px solid rgba(93,62,255,.55);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.course-hero-copy{
  align-self:end;
  margin-bottom:92px;
  max-width:620px;
  position:relative;z-index:3;
}
.course-hero-copy>small,
.course-secondary-copy>small{
  color:rgba(244,240,232,.28);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.course-hero-copy h3{
  margin:10px 0 0;
  font-size:45px;
  line-height:.96;
  letter-spacing:-.055em;
}
.course-hero-copy>p{
  max-width:560px;
  margin:16px 0 0;
  color:rgba(244,240,232,.49);
  font-size:12px;
  line-height:1.62;
}

.course-author{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:13px;
  align-items:center;
  margin-top:23px;
}
.course-author>span{
  width:38px;height:1px;background:var(--violet)
}
.course-author small{
  display:block;
  color:rgba(244,240,232,.23);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.course-author strong{
  display:block;
  margin-top:4px;
  color:rgba(244,240,232,.72);
  font-size:12px;
}
.course-author.compact{margin-top:18px}

.course-card-bottom{
  position:absolute;
  left:28px;right:28px;bottom:25px;
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:22px;
  align-items:end;
  padding-top:18px;
  border-top:1px solid rgba(244,240,232,.08);
  z-index:3;
}
.course-card-bottom small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;
  font-weight:900;
  letter-spacing:.13em;
}
.course-card-bottom strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.64);
  font-size:10px;
}
.course-arrow{
  color:var(--violet);
  font-size:20px;
  transition:transform .28s ease;
}

.courses-list{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:1px;
  background:rgba(244,240,232,.09);
}
.course-card-secondary{
  min-height:252px;
  padding:22px;
}
.course-mini-number{
  position:absolute;
  right:22px;top:19px;
  color:rgba(244,240,232,.12);
  font-size:10px;
  font-weight:900;
}
.course-secondary-copy{
  position:absolute;
  left:22px;right:22px;top:64px;
  max-width:560px;
}
.course-secondary-copy h3{
  margin:9px 0 0;
  max-width:500px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em;
}
.course-secondary-copy>p{
  max-width:500px;
  margin:11px 0 0;
  color:rgba(244,240,232,.43);
  font-size:10px;
  line-height:1.55;
}
.course-card-secondary .course-card-bottom{
  left:22px;right:22px;bottom:16px;
  padding-top:12px;
}

.courses-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  border:1px solid rgba(244,240,232,.10);
  background:#0F131D;
}
.courses-strip>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.strip-bit{
  width:8px;height:8px;
  margin-top:3px;
  background:var(--violet);
}
.courses-strip p{margin:0}
.courses-strip small{
  display:block;
  color:rgba(244,240,232,.24);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.courses-strip strong{
  display:block;
  max-width:760px;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:12px;
  line-height:1.45;
}
.courses-strip>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:rgba(244,240,232,.75);
  font-size:9px;
  font-weight:850;
}
.courses-strip>a span{
  color:var(--violet);
  font-size:15px;
}

@media(max-width:1050px){
  .courses-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .courses-stage{
    grid-template-columns:1fr;
  }
  .course-card-hero{
    min-height:690px;
  }
}
@media(max-width:720px){
  .featured-courses-section{
    padding:78px 0 70px;
  }
  .courses-head{
    padding-bottom:38px;
  }
  .courses-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .course-card-hero{
    min-height:650px;
    padding:20px;
  }
  .course-hero-mark{
    left:20px;right:20px;top:80px;height:245px;
  }
  .course-hero-mark strong{font-size:90px}
  .course-hero-copy{
    margin-bottom:98px;
  }
  .course-hero-copy h3{font-size:34px}
  .course-card-bottom{
    left:20px;right:20px;
  }
  .course-card-secondary{
    min-height:290px;
  }
  .course-secondary-copy h3{font-size:25px}
  .courses-strip{
    flex-direction:column;
    align-items:stretch;
  }
  .courses-strip>a{
    justify-content:space-between;
  }
}


/* =========================================================
   V33 · SECCIÓN 04 — CÓMO APRENDE UN ODONTÓLOGO EN CONETBIT
   ========================================================= */

.learning-section{
  position:relative;
  padding:128px 0 112px;
  background:#E9E6DF;
  color:var(--obsidian);
  overflow:hidden;
}
.learning-section:before{
  content:"";
  position:absolute;inset:0;
  opacity:.18;
  background-image:
    linear-gradient(to right,rgba(11,13,20,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(11,13,20,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
  pointer-events:none;
}
.learning-section .shell{position:relative;z-index:2}

.learning-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(11,13,20,.12);
}
.learning-head h2{
  margin:0;
  max-width:930px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.learning-head h2 span{
  display:block;
  color:#74767D;
  font-weight:510;
}
.learning-head-copy>p{
  margin:0;
  color:#62656D;
  font-size:15px;
  line-height:1.72;
}
.learning-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.learning-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.learning-head-note small{
  color:#898B92;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.learning-experience{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:20px;
  margin-top:28px;
  align-items:stretch;
}

.learning-stage{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  min-height:560px;
  padding-bottom:60px;
  background:rgba(11,13,20,.13);
  border:1px solid rgba(11,13,20,.13);
}
.learning-step{
  position:relative;
  min-width:0;
  padding:22px;
  background:#F3F0E9;
  transition:background .28s ease,color .28s ease;
}
.learning-step.active{
  background:var(--obsidian);
  color:var(--ivory);
}
.learning-step.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;background:var(--violet);
}
.learning-step-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.learning-step-top>span{
  color:#A1A3AA;
  font-size:8px;
  font-weight:900;
}
.learning-step.active .learning-step-top>span{
  color:rgba(244,240,232,.20);
}
.learning-step-top small{
  max-width:120px;
  color:var(--violet);
  text-align:right;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.45;
}
.learning-step-copy{
  position:absolute;
  left:22px;right:22px;bottom:24px;
}
.learning-step-copy h3{
  margin:0;
  font-size:25px;
  line-height:1;
  letter-spacing:-.045em;
}
.learning-step-copy p{
  margin:12px 0 0;
  color:#75777F;
  font-size:9px;
  line-height:1.55;
}
.learning-step.active .learning-step-copy p{
  color:rgba(244,240,232,.45);
}

.learning-path{
  position:absolute;
  left:4%;right:4%;bottom:23px;
  height:18px;
  z-index:4;
}
.path-line{
  position:absolute;left:0;right:0;top:8px;
  height:1px;background:rgba(11,13,20,.16);
}
.path-progress{
  position:absolute;left:0;top:8px;
  width:0;height:1px;background:var(--violet);
  transition:width .45s ease;
}
.path-dot{
  position:absolute;top:4px;
  width:9px;height:9px;
  border:1px solid rgba(11,13,20,.25);
  background:#E9E6DF;
}
.path-dot.d1{left:0}
.path-dot.d2{left:25%}
.path-dot.d3{left:50%}
.path-dot.d4{left:75%}
.path-dot.d5{right:0}
.path-traveler{
  position:absolute;top:3px;left:0;
  width:11px;height:11px;
  background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.08);
  transition:left .45s ease;
}

.learning-interface{
  min-height:560px;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  background:var(--obsidian);
  color:var(--ivory);
  border:1px solid rgba(244,240,232,.07);
}
.interface-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:20px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.interface-top small{
  display:block;
  color:var(--violet);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.interface-top strong{
  display:block;
  margin-top:4px;
  color:rgba(244,240,232,.74);
  font-size:12px;
}
.interface-status{
  display:flex;align-items:center;gap:7px;
  color:rgba(244,240,232,.32);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.interface-status i{
  width:7px;height:7px;background:var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.07);
}

.interface-progress{
  padding:18px 20px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.progress-meta{
  display:flex;justify-content:space-between;gap:20px;align-items:center;
}
.progress-meta span{
  color:rgba(244,240,232,.24);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.progress-meta strong{
  color:var(--violet);
  font-size:11px;
}
.progress-track{
  height:5px;margin-top:10px;
  background:rgba(244,240,232,.07);
}
.progress-track span{
  display:block;width:20%;height:100%;
  background:var(--violet);
  transition:width .45s ease;
}

.interface-main{
  padding:28px 20px;
}
.interface-label{
  display:flex;align-items:center;gap:12px;
}
.interface-label>span{
  color:rgba(244,240,232,.19);
  font-size:11px;font-weight:900;
}
.interface-label small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.interface-main>h3{
  margin:18px 0 0;
  max-width:420px;
  font-size:33px;
  line-height:.97;
  letter-spacing:-.05em;
}
.interface-modules{
  display:grid;
  gap:1px;
  margin-top:34px;
  background:rgba(244,240,232,.08);
  border:1px solid rgba(244,240,232,.08);
}
.interface-modules article{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:12px;
  align-items:center;
  padding:13px;
  background:#0F131D;
}
.interface-modules article>span{
  width:7px;height:7px;
  background:rgba(244,240,232,.16);
}
.interface-modules article.active>span{
  background:var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.06);
}
.interface-modules small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;font-weight:900;letter-spacing:.12em;
}
.interface-modules strong{
  display:block;margin-top:3px;
  color:rgba(244,240,232,.60);
  font-size:10px;
}

.interface-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-top:1px solid rgba(244,240,232,.08);
}
.interface-bottom small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.interface-bottom strong{
  display:block;margin-top:4px;
  color:rgba(244,240,232,.64);
  font-size:10px;
}
.interface-bottom>a{
  min-height:40px;padding:0 13px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;align-items:center;gap:11px;
  color:rgba(244,240,232,.78);
  font-size:9px;font-weight:850;
}
.interface-bottom>a span{
  color:var(--violet);font-size:14px;
}

.learning-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:20px;
  background:rgba(11,13,20,.13);
  border:1px solid rgba(11,13,20,.13);
}
.learning-summary article{
  min-height:128px;
  padding:18px;
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  background:#F3F0E9;
}
.learning-summary article>span{
  color:#A1A3AA;
  font-size:8px;font-weight:900;
}
.learning-summary small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.learning-summary strong{
  display:block;
  margin-top:8px;
  color:#44474F;
  font-size:13px;
  line-height:1.35;
}

.learning-transition{
  display:grid;
  grid-template-columns:10px 1fr auto;
  gap:15px;
  align-items:center;
  margin-top:20px;
  padding:20px 22px;
  background:var(--obsidian);
  color:var(--ivory);
}
.transition-bit{
  width:9px;height:9px;background:var(--violet);
  box-shadow:0 0 0 6px rgba(93,62,255,.07);
}
.learning-transition small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.learning-transition strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.64);
  font-size:13px;
  line-height:1.4;
}
.learning-transition>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;align-items:center;gap:15px;
  white-space:nowrap;
  font-size:9px;font-weight:850;
}
.learning-transition>a span{
  color:var(--violet);font-size:15px;
}

@media(max-width:1150px){
  .learning-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .learning-experience{
    grid-template-columns:1fr;
  }
}
@media(max-width:900px){
  .learning-stage{
    grid-template-columns:1fr;
    min-height:auto;
    padding-bottom:0;
  }
  .learning-step{
    min-height:210px;
  }
  .learning-step-copy{
    position:absolute;
  }
  .learning-path{display:none}
  .learning-summary{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .learning-section{
    padding:78px 0 70px;
  }
  .learning-head{
    padding-bottom:38px;
  }
  .learning-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .learning-step{
    min-height:225px;
  }
  .learning-summary{
    grid-template-columns:1fr;
  }
  .learning-transition{
    grid-template-columns:10px 1fr;
  }
  .learning-transition>a{
    grid-column:2;
    width:100%;
    justify-content:space-between;
  }
  .interface-main>h3{
    font-size:29px;
  }
}


/* =========================================================
   V34 · SECCIÓN 05 — MAESTRO VIRTUAL
   ========================================================= */

.virtual-teacher-section{
  position:relative;
  padding:128px 0 112px;
  background:#10141E;
  color:var(--ivory);
  overflow:hidden;
}
.virtual-grid-bg{
  position:absolute;inset:0;
  opacity:.13;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
  pointer-events:none;
}
.virtual-teacher-section .shell{position:relative;z-index:2}

.virtual-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(244,240,232,.10);
}
.virtual-head h2{
  margin:0;
  max-width:940px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.virtual-head h2 span{
  display:block;
  color:rgba(244,240,232,.34);
  font-weight:510;
}
.virtual-head-copy>p{
  margin:0;
  color:rgba(244,240,232,.52);
  font-size:15px;
  line-height:1.72;
}
.virtual-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.virtual-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.virtual-head-note small{
  color:rgba(244,240,232,.26);
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.virtual-experience{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);
  gap:22px;
  margin-top:28px;
}
.virtual-copy{
  min-height:680px;
  padding:32px;
  background:#0B0E15;
  border:1px solid rgba(244,240,232,.08);
}
.virtual-eyebrow{
  display:flex;align-items:center;gap:12px;
}
.virtual-eyebrow>span{
  width:9px;height:9px;background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
}
.virtual-eyebrow small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.15em;
}
.virtual-copy>h3{
  margin:34px 0 0;
  max-width:560px;
  font-size:46px;
  line-height:.96;
  letter-spacing:-.055em;
}
.virtual-copy>h3 span{
  display:block;
  color:rgba(244,240,232,.36);
  font-weight:500;
}
.virtual-lead{
  max-width:570px;
  margin:20px 0 0;
  color:rgba(244,240,232,.50);
  font-size:13px;
  line-height:1.65;
}

.virtual-capabilities{
  display:grid;
  gap:1px;
  margin-top:34px;
  background:rgba(244,240,232,.08);
  border:1px solid rgba(244,240,232,.08);
}
.virtual-capabilities article{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:12px;
  padding:15px;
  background:#0F131D;
}
.virtual-capabilities article>span{
  color:rgba(244,240,232,.18);
  font-size:8px;font-weight:900;
}
.virtual-capabilities small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.virtual-capabilities strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.72);
  font-size:12px;
}
.virtual-capabilities p{
  margin:5px 0 0;
  color:rgba(244,240,232,.35);
  font-size:9px;
  line-height:1.45;
}

/* Chat */
.dental-chat{
  min-height:680px;
  display:grid;
  grid-template-rows:auto auto 1fr auto auto;
  background:#0B0E15;
  border:1px solid rgba(244,240,232,.08);
  overflow:hidden;
}
.dental-chat-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.teacher-identity{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
}
.teacher-avatar{
  width:42px;height:42px;
  position:relative;
  background:linear-gradient(135deg,#5D3EFF,#846DFF);
}
.teacher-avatar:before,
.teacher-avatar:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
}
.teacher-avatar:before{
  width:21px;height:21px;
  border:1px solid rgba(255,255,255,.50);
}
.teacher-avatar:after{
  width:7px;height:7px;
  background:white;
}
.teacher-identity small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.teacher-identity strong{
  display:block;
  margin-top:4px;
  color:rgba(244,240,232,.76);
  font-size:12px;
}
.teacher-status{
  display:flex;align-items:center;gap:8px;
}
.teacher-status i{
  width:7px;height:7px;background:var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.07);
}
.teacher-status span{
  color:rgba(244,240,232,.28);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}

.lesson-context{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:14px 20px;
  background:#111620;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.lesson-context small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.lesson-context strong{
  display:block;
  margin-top:4px;
  color:rgba(244,240,232,.58);
  font-size:10px;
}
.lesson-context>span{
  color:var(--violet);
  font-size:9px;font-weight:900;
}

.dental-chat-window{
  min-height:390px;
  padding:18px 20px;
  display:grid;
  align-content:start;
  gap:12px;
  overflow:auto;
}
.dental-msg{
  display:none;
  max-width:83%;
  padding:13px 14px;
  border:1px solid rgba(244,240,232,.08);
}
.dental-msg.show{
  display:block;
  animation:virtualReveal .32s ease both;
}
.dental-msg small{
  display:block;
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.dental-msg p{
  margin:7px 0 0;
  font-size:10.5px;
  line-height:1.55;
}
.student-msg{
  justify-self:end;
  background:#161B26;
}
.student-msg small{color:rgba(244,240,232,.24)}
.student-msg p{color:rgba(244,240,232,.65)}
.teacher-msg{
  justify-self:start;
  background:rgba(93,62,255,.12);
}
.teacher-msg small{color:var(--violet)}
.teacher-msg p{color:rgba(244,240,232,.78)}

.dental-typing{
  display:none;
  width:max-content;
  gap:6px;
  padding:10px 12px;
  border:1px solid rgba(244,240,232,.07);
  background:#121722;
}
.dental-typing.show{display:flex}
.dental-typing i{
  width:6px;height:6px;border-radius:50%;
  background:rgba(244,240,232,.30);
  animation:dentalTyping 1.1s ease-in-out infinite;
}
.dental-typing i:nth-child(2){animation-delay:.15s}
.dental-typing i:nth-child(3){animation-delay:.30s}

.dental-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:12px 20px;
  border-top:1px solid rgba(244,240,232,.07);
  background:#0E121B;
}
.dental-chat-actions button{
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(244,240,232,.10);
  background:transparent;
  color:rgba(244,240,232,.48);
  font-size:8px;
  cursor:pointer;
}
.dental-chat-actions button:hover{
  color:var(--ivory);
  border-color:rgba(93,62,255,.50);
}

.dental-chat-input{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:14px 20px;
  border-top:1px solid rgba(244,240,232,.07);
  background:#080B11;
}
.dental-chat-input>span{
  color:rgba(244,240,232,.20);
  font-size:9px;
}
.dental-chat-input button{
  min-height:36px;
  padding:0 11px;
  border:1px solid rgba(244,240,232,.10);
  background:transparent;
  color:rgba(244,240,232,.55);
  font-size:8px;
  cursor:pointer;
}

/* Comparison */
.virtual-comparison{
  margin-top:22px;
  border:1px solid rgba(244,240,232,.09);
}
.comparison-label{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:17px 20px;
  background:#0B0E15;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.comparison-label small{
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.comparison-label strong{
  color:rgba(244,240,232,.52);
  font-size:11px;
}
.comparison-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(244,240,232,.08);
}
.comparison-grid article{
  position:relative;
  min-height:300px;
  padding:24px;
  background:#0F131D;
}
.comparison-grid article>span{
  position:absolute;
  right:20px;top:18px;
  color:rgba(244,240,232,.12);
  font-size:9px;font-weight:900;
}
.comparison-grid article>small{
  color:rgba(244,240,232,.25);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.comparison-grid h3{
  margin:46px 0 0;
  font-size:34px;
  line-height:1;
  letter-spacing:-.05em;
}
.comparison-grid ul{
  list-style:none;
  margin:23px 0 0;
  padding:0;
  display:grid;
  gap:11px;
}
.comparison-grid li{
  display:grid;
  grid-template-columns:8px 1fr;
  gap:10px;
  align-items:center;
  color:rgba(244,240,232,.42);
  font-size:10px;
}
.comparison-grid li i{
  width:6px;height:6px;
  background:rgba(244,240,232,.18);
}
.comparison-active{
  background:linear-gradient(180deg,rgba(93,62,255,.12),#0F131D 38%)!important;
}
.comparison-active>small{color:var(--violet)!important}
.comparison-active li i{background:var(--violet)}

.virtual-disclaimer{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
  margin-top:22px;
  padding:18px 20px;
  border:1px solid rgba(244,240,232,.09);
  background:#0B0E15;
}
.disclaimer-bit{
  width:8px;height:8px;margin-top:3px;
  border:1px solid var(--violet);
}
.virtual-disclaimer small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.virtual-disclaimer strong{
  display:block;
  max-width:980px;
  margin-top:5px;
  color:rgba(244,240,232,.47);
  font-size:10px;
  line-height:1.5;
  font-weight:600;
}

.virtual-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#0B0E15;
  border:1px solid rgba(244,240,232,.09);
}
.virtual-footer>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.virtual-footer p{margin:0}
.virtual-footer small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.virtual-footer strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:12px;
}
.virtual-footer>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:rgba(244,240,232,.76);
  font-size:9px;font-weight:850;
}
.virtual-footer>a span{
  color:var(--violet);font-size:15px;
}

@keyframes dentalTyping{
  0%,80%,100%{transform:translateY(0);opacity:.35}
  40%{transform:translateY(-4px);opacity:1}
}
@keyframes virtualReveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1080px){
  .virtual-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .virtual-experience{
    grid-template-columns:1fr;
  }
  .virtual-copy{min-height:auto}
}
@media(max-width:720px){
  .virtual-teacher-section{
    padding:78px 0 70px;
  }
  .virtual-head{
    padding-bottom:38px;
  }
  .virtual-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .virtual-copy{
    padding:22px;
  }
  .virtual-copy>h3{
    font-size:36px;
  }
  .dental-chat{
    min-height:620px;
  }
  .teacher-status{display:none}
  .comparison-grid{
    grid-template-columns:1fr;
  }
  .comparison-grid article{
    min-height:260px;
  }
  .comparison-label{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .virtual-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .virtual-footer>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V35 · SECCIÓN 06 — ODONTOLOGÍA DIGITAL E IA
   ========================================================= */

.digital-section{
  position:relative;
  padding:128px 0 112px;
  background:#E9E6DF;
  color:var(--obsidian);
  overflow:hidden;
}
.digital-grid-bg{
  position:absolute;inset:0;
  opacity:.18;
  background-image:
    linear-gradient(to right,rgba(11,13,20,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(11,13,20,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
  pointer-events:none;
}
.digital-section .shell{position:relative;z-index:2}

.digital-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(11,13,20,.12);
}
.digital-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.digital-head h2 span{
  display:block;
  color:#74767D;
  font-weight:510;
}
.digital-head-copy>p{
  margin:0;
  color:#62656D;
  font-size:15px;
  line-height:1.72;
}
.digital-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.digital-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.digital-head-note small{
  color:#898B92;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.digital-core{
  display:grid;
  grid-template-columns:minmax(0,.83fr) minmax(470px,1.17fr);
  gap:20px;
  margin-top:28px;
}
.digital-copy{
  min-height:650px;
  padding:30px;
  background:#F3F0E9;
  border:1px solid rgba(11,13,20,.12);
}
.digital-kicker{
  display:flex;align-items:center;gap:12px;
}
.digital-kicker>span{
  width:9px;height:9px;background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
}
.digital-kicker small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.15em;
}
.digital-copy>h3{
  margin:34px 0 0;
  max-width:560px;
  font-size:46px;
  line-height:.96;
  letter-spacing:-.055em;
}
.digital-copy>h3 span{
  display:block;
  color:#777981;
  font-weight:500;
}
.digital-lead{
  max-width:550px;
  margin:19px 0 0;
  color:#676A72;
  font-size:13px;
  line-height:1.65;
}
.digital-topics{
  display:grid;
  gap:1px;
  margin-top:34px;
  background:rgba(11,13,20,.12);
  border:1px solid rgba(11,13,20,.12);
}
.digital-topics article{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:12px;
  padding:15px;
  background:#E9E6DF;
}
.digital-topics article>span{
  color:#A1A3AA;
  font-size:8px;font-weight:900;
}
.digital-topics small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.digital-topics strong{
  display:block;
  margin-top:5px;
  color:#484B53;
  font-size:12px;
  line-height:1.35;
}

.digital-workflow{
  min-height:650px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:var(--obsidian);
  color:var(--ivory);
  border:1px solid rgba(244,240,232,.07);
}
.workflow-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:19px 21px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.workflow-top small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.workflow-top strong{
  display:block;margin-top:4px;
  color:rgba(244,240,232,.72);
  font-size:12px;
}
.workflow-status{
  display:flex;align-items:center;gap:8px;
  color:rgba(244,240,232,.26);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.workflow-status i{
  width:7px;height:7px;background:var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.07);
}

.workflow-canvas{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:15px;
}
.workflow-canvas svg{
  width:100%;max-height:470px;
}
.wf-line{
  fill:none;
  stroke:rgba(244,240,232,.16);
  stroke-width:1.5;
}
.wf-line.faint{
  stroke:rgba(244,240,232,.05);
  stroke-dasharray:5 8;
}
.wf-node rect{
  fill:#10141E;
  stroke:rgba(244,240,232,.15);
  stroke-width:1.3;
}
.wf-node circle,
.wf-node path{
  fill:none;
  stroke:rgba(244,240,232,.45);
  stroke-width:1.4;
}
.wf-node.n2 path,
.wf-node.n3 rect,
.wf-node.n3 path,
.wf-node.n4 circle,
.wf-node.n4 path{
  stroke:rgba(244,240,232,.45);
}
.wf-traveler{
  fill:var(--violet);
  filter:drop-shadow(0 0 8px rgba(93,62,255,.55));
  transition:cx .48s ease;
}
.workflow-canvas text{
  fill:rgba(244,240,232,.55);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.workflow-canvas .wf-small{
  fill:rgba(244,240,232,.20);
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}

.workflow-bottom{
  padding:18px 20px;
  border-top:1px solid rgba(244,240,232,.08);
}
.workflow-progress{
  height:4px;
  background:rgba(244,240,232,.07);
}
.workflow-progress span{
  display:block;
  width:25%;height:100%;
  background:var(--violet);
  transition:width .48s ease;
}
.workflow-labels{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-top:11px;
}
.workflow-labels small{
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.workflow-labels strong{
  max-width:390px;
  text-align:right;
  color:rgba(244,240,232,.55);
  font-size:10px;
  line-height:1.4;
}

/* IA opportunities */
.ai-opportunities{
  margin-top:22px;
  border:1px solid rgba(11,13,20,.12);
}
.ai-opportunities-head{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding:22px;
  background:var(--obsidian);
  color:var(--ivory);
  overflow:hidden;
}
.ai-opportunities-head small{
  display:block;
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.ai-opportunities-head strong{
  display:block;
  max-width:900px;
  margin-top:7px;
  color:rgba(244,240,232,.70);
  font-size:18px;
  line-height:1.35;
}
.ai-opportunities-head>span{
  color:rgba(244,240,232,.05);
  font-size:80px;
  font-weight:900;
  line-height:.7;
  letter-spacing:-.08em;
}
.ai-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(11,13,20,.12);
}
.ai-grid article{
  position:relative;
  min-height:290px;
  padding:21px;
  background:#F3F0E9;
}
.ai-grid article>span{
  position:absolute;
  right:18px;top:17px;
  color:#A5A7AD;
  font-size:8px;font-weight:900;
}
.ai-grid small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.ai-grid h3{
  margin:54px 0 0;
  font-size:27px;
  line-height:1;
  letter-spacing:-.045em;
}
.ai-grid p{
  margin:12px 0 0;
  color:#70737B;
  font-size:10px;
  line-height:1.55;
}

/* Principle */
.digital-principle{
  display:grid;
  grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);
  gap:1px;
  margin-top:22px;
  background:rgba(11,13,20,.12);
  border:1px solid rgba(11,13,20,.12);
}
.principle-graphic{
  position:relative;
  min-height:360px;
  background:var(--obsidian);
  overflow:hidden;
}
.p-ring{
  position:absolute;
  left:50%;top:50%;
  border-radius:50%;
  border:1px solid rgba(244,240,232,.10);
  transform:translate(-50%,-50%);
}
.p-ring.r1{width:250px;height:250px}
.p-ring.r2{width:170px;height:170px;border-color:rgba(93,62,255,.35)}
.p-ring.r3{width:90px;height:90px;border-color:rgba(244,240,232,.20)}
.p-core{
  position:absolute;
  left:50%;top:50%;
  width:14px;height:14px;
  background:var(--violet);
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 10px rgba(93,62,255,.07);
  animation:digitalPulse 2.8s ease-in-out infinite;
}
.principle-copy{
  min-height:360px;
  padding:34px;
  background:#F3F0E9;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.principle-copy h3{
  margin:0;
  max-width:690px;
  font-size:44px;
  line-height:.96;
  letter-spacing:-.055em;
}
.principle-copy>p:last-child{
  max-width:690px;
  margin:20px 0 0;
  color:#676A72;
  font-size:13px;
  line-height:1.65;
}

.digital-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#F3F0E9;
  border:1px solid rgba(11,13,20,.12);
}
.digital-footer>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.digital-footer p{margin:0}
.digital-footer small{
  display:block;
  color:#8A8C93;
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.digital-footer strong{
  display:block;
  margin-top:5px;
  color:#484B53;
  font-size:12px;
  line-height:1.4;
}
.digital-footer>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(11,13,20,.13);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:#363940;
  font-size:9px;font-weight:850;
}
.digital-footer>a span{
  color:var(--violet);font-size:15px;
}

@keyframes digitalPulse{
  0%,100%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 10px rgba(93,62,255,.07)}
  50%{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 18px rgba(93,62,255,.015)}
}

@media(max-width:1080px){
  .digital-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .digital-core{
    grid-template-columns:1fr;
  }
  .digital-copy{min-height:auto}
  .ai-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .digital-section{
    padding:78px 0 70px;
  }
  .digital-head{
    padding-bottom:38px;
  }
  .digital-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .digital-copy{
    padding:22px;
  }
  .digital-copy>h3{
    font-size:36px;
  }
  .workflow-canvas{
    min-height:350px;
    padding:0;
  }
  .workflow-canvas text{
    font-size:8px;
  }
  .workflow-labels{
    align-items:flex-start;
    flex-direction:column;
  }
  .workflow-labels strong{
    text-align:left;
  }
  .ai-grid{
    grid-template-columns:1fr;
  }
  .ai-grid article{
    min-height:250px;
  }
  .digital-principle{
    grid-template-columns:1fr;
  }
  .principle-graphic{
    min-height:300px;
  }
  .principle-copy{
    min-height:auto;
    padding:28px 22px;
  }
  .principle-copy h3{
    font-size:35px;
  }
  .digital-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .digital-footer>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V36 · SECCIÓN 07 — EVENTOS ODONTOLÓGICOS
   ========================================================= */

.dental-events-section{
  position:relative;
  padding:128px 0 112px;
  background:var(--obsidian);
  color:var(--ivory);
  overflow:hidden;
}
.events-grid-bg{
  position:absolute;inset:0;
  opacity:.13;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
  pointer-events:none;
}
.dental-events-section .shell{position:relative;z-index:2}

.dental-events-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(244,240,232,.10);
}
.dental-events-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.dental-events-head h2 span{
  display:block;
  color:rgba(244,240,232,.34);
  font-weight:510;
}
.dental-events-head-copy>p{
  margin:0;
  color:rgba(244,240,232,.52);
  font-size:15px;
  line-height:1.72;
}
.dental-events-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.dental-events-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.dental-events-head-note small{
  color:rgba(244,240,232,.26);
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.events-main{
  display:grid;
  grid-template-columns:minmax(430px,1.05fr) minmax(0,.95fr);
  gap:20px;
  margin-top:28px;
}
.events-calendar-card{
  min-height:680px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  border:1px solid rgba(244,240,232,.09);
  background:#0F131D;
}
.calendar-card-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:19px 21px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.calendar-card-top small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.calendar-card-top strong{
  display:block;margin-top:4px;
  color:rgba(244,240,232,.72);
  font-size:13px;
}
.calendar-live{
  display:flex;align-items:center;gap:8px;
  color:rgba(244,240,232,.25);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.calendar-live i{
  width:7px;height:7px;
  border:1px solid var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.05);
}

.calendar-empty{
  display:grid;
  align-content:center;
  justify-items:center;
  padding:45px;
  text-align:center;
}
.calendar-icon{
  position:relative;
  width:190px;height:190px;
  border:1px solid rgba(244,240,232,.12);
  background:#0B0E15;
}
.cal-top{
  position:absolute;
  left:0;right:0;top:0;height:38px;
  border-bottom:1px solid rgba(244,240,232,.10);
}
.cal-top:before,.cal-top:after{
  content:"";
  position:absolute;
  top:-8px;width:12px;height:22px;
  border:1px solid rgba(244,240,232,.18);
  background:#0F131D;
}
.cal-top:before{left:42px}
.cal-top:after{right:42px}
.cal-grid{
  position:absolute;
  left:22px;right:22px;top:62px;bottom:20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.cal-grid i{
  border:1px solid rgba(244,240,232,.08);
  background:#10141E;
}
.cal-grid i:nth-child(5){
  background:var(--violet);
  border-color:var(--violet);
  box-shadow:0 0 0 6px rgba(93,62,255,.05);
}

.calendar-empty-copy{
  max-width:550px;
  margin-top:30px;
}
.calendar-empty-copy small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.15em;
}
.calendar-empty-copy h3{
  margin:10px 0 0;
  font-size:34px;
  line-height:.98;
  letter-spacing:-.05em;
}
.calendar-empty-copy p{
  margin:15px 0 0;
  color:rgba(244,240,232,.44);
  font-size:11px;
  line-height:1.58;
}

.calendar-card-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:18px 21px;
  border-top:1px solid rgba(244,240,232,.08);
}
.calendar-card-bottom small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.calendar-card-bottom strong{
  display:block;
  margin-top:4px;
  color:rgba(244,240,232,.57);
  font-size:10px;
}
.calendar-card-bottom>a{
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(244,240,232,.11);
  display:inline-flex;
  align-items:center;
  gap:13px;
  white-space:nowrap;
  color:rgba(244,240,232,.70);
  font-size:8px;font-weight:850;
}
.calendar-card-bottom>a span{color:var(--violet);font-size:14px}

.event-formats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(244,240,232,.09);
  border:1px solid rgba(244,240,232,.09);
}
.event-format-card{
  position:relative;
  min-height:339px;
  padding:22px;
  background:#0F131D;
  overflow:hidden;
}
.event-format-card:after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:3px;
  background:var(--violet);
  transition:width .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .event-format-card:hover:after{width:100%}
}
.event-number{
  position:absolute;
  right:18px;top:17px;
  color:rgba(244,240,232,.12);
  font-size:9px;font-weight:900;
}
.event-format-card>small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.event-format-card h3{
  margin:62px 0 0;
  max-width:320px;
  font-size:29px;
  line-height:1;
  letter-spacing:-.045em;
}
.event-format-card p{
  margin:14px 0 0;
  color:rgba(244,240,232,.42);
  font-size:10px;
  line-height:1.55;
}
.format-meta{
  position:absolute;
  left:22px;right:22px;bottom:20px;
  display:flex;
  align-items:center;
  gap:10px;
  padding-top:13px;
  border-top:1px solid rgba(244,240,232,.07);
}
.format-meta span{
  color:rgba(244,240,232,.24);
  font-size:6px;font-weight:900;letter-spacing:.12em;
}
.format-meta i{
  width:4px;height:4px;background:var(--violet);
}

.events-signal{
  display:grid;
  grid-template-columns:minmax(310px,.7fr) minmax(0,1.3fr);
  gap:1px;
  margin-top:22px;
  background:rgba(244,240,232,.09);
  border:1px solid rgba(244,240,232,.09);
}
.signal-visual{
  position:relative;
  min-height:360px;
  background:#0B0E15;
  overflow:hidden;
}
.signal-ring{
  position:absolute;
  left:50%;top:50%;
  border-radius:50%;
  border:1px solid rgba(244,240,232,.10);
  transform:translate(-50%,-50%);
}
.signal-ring.s1{width:260px;height:260px}
.signal-ring.s2{width:180px;height:180px;border-color:rgba(93,62,255,.38)}
.signal-ring.s3{width:100px;height:100px;border-color:rgba(244,240,232,.18)}
.signal-core{
  position:absolute;
  left:50%;top:50%;
  width:14px;height:14px;
  background:var(--violet);
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 10px rgba(93,62,255,.07);
  animation:eventPulse 2.8s ease-in-out infinite;
}
.signal-copy{
  min-height:360px;
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#0F131D;
}
.signal-copy>small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.signal-copy h3{
  margin:13px 0 0;
  max-width:720px;
  font-size:45px;
  line-height:.96;
  letter-spacing:-.055em;
}
.signal-copy p{
  max-width:680px;
  margin:19px 0 0;
  color:rgba(244,240,232,.46);
  font-size:12px;
  line-height:1.62;
}

.events-notify{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#0F131D;
  border:1px solid rgba(244,240,232,.09);
}
.events-notify>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.notify-bit{
  width:8px;height:8px;margin-top:3px;background:var(--violet)
}
.events-notify p{margin:0}
.events-notify small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.events-notify strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:12px;
}
.events-notify>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:rgba(244,240,232,.76);
  font-size:9px;font-weight:850;
}
.events-notify>a span{color:var(--violet);font-size:15px}

@keyframes eventPulse{
  0%,100%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 10px rgba(93,62,255,.07)}
  50%{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 18px rgba(93,62,255,.015)}
}

@media(max-width:1080px){
  .dental-events-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .events-main{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .dental-events-section{
    padding:78px 0 70px;
  }
  .dental-events-head{
    padding-bottom:38px;
  }
  .dental-events-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .events-calendar-card{
    min-height:600px;
  }
  .calendar-empty{
    padding:32px 20px;
  }
  .calendar-icon{
    width:160px;height:160px;
  }
  .calendar-empty-copy h3{
    font-size:29px;
  }
  .calendar-card-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
  .calendar-card-bottom>a{
    width:100%;
    justify-content:space-between;
  }
  .event-formats{
    grid-template-columns:1fr;
  }
  .event-format-card{
    min-height:280px;
  }
  .events-signal{
    grid-template-columns:1fr;
  }
  .signal-visual{
    min-height:300px;
  }
  .signal-copy{
    min-height:auto;
    padding:30px 22px;
  }
  .signal-copy h3{
    font-size:35px;
  }
  .events-notify{
    align-items:stretch;
    flex-direction:column;
  }
  .events-notify>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V37 · SECCIÓN 08 — GESTIÓN DEL CONSULTORIO
   ========================================================= */

.practice-section{
  position:relative;
  padding:128px 0 112px;
  background:#E9E6DF;
  color:var(--obsidian);
  overflow:hidden;
}
.practice-grid-bg{
  position:absolute;inset:0;
  opacity:.18;
  background-image:
    linear-gradient(to right,rgba(11,13,20,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(11,13,20,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
  pointer-events:none;
}
.practice-section .shell{position:relative;z-index:2}

.practice-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(11,13,20,.12);
}
.practice-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.practice-head h2 span{
  display:block;
  color:#74767D;
  font-weight:510;
}
.practice-head-copy>p{
  margin:0;
  color:#62656D;
  font-size:15px;
  line-height:1.72;
}
.practice-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.practice-head-note>span{
  width:42px;height:2px;background:var(--violet);
}
.practice-head-note small{
  color:#898B92;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.practice-main{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr);
  gap:20px;
  margin-top:28px;
}
.practice-copy{
  min-height:650px;
  padding:30px;
  background:#F3F0E9;
  border:1px solid rgba(11,13,20,.12);
}
.practice-kicker{
  display:flex;align-items:center;gap:12px;
}
.practice-kicker>span{
  width:9px;height:9px;background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
}
.practice-kicker small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.15em;
}
.practice-copy>h3{
  margin:34px 0 0;
  max-width:560px;
  font-size:46px;
  line-height:.96;
  letter-spacing:-.055em;
}
.practice-copy>h3 span{
  display:block;
  color:#777981;
  font-weight:500;
}
.practice-lead{
  max-width:550px;
  margin:19px 0 0;
  color:#676A72;
  font-size:13px;
  line-height:1.65;
}

.practice-principles{
  display:grid;
  gap:1px;
  margin-top:34px;
  background:rgba(11,13,20,.12);
  border:1px solid rgba(11,13,20,.12);
}
.practice-principles article{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:12px;
  padding:15px;
  background:#E9E6DF;
}
.practice-principles article>span{
  color:#A1A3AA;
  font-size:8px;font-weight:900;
}
.practice-principles small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.practice-principles strong{
  display:block;
  margin-top:5px;
  color:#484B53;
  font-size:12px;
  line-height:1.35;
}
.practice-principles p{
  margin:5px 0 0;
  color:#75777F;
  font-size:9px;
  line-height:1.45;
}

.practice-dashboard{
  min-height:650px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:var(--obsidian);
  color:var(--ivory);
  border:1px solid rgba(244,240,232,.07);
}
.dashboard-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:19px 21px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.dashboard-top small{
  display:block;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.dashboard-top strong{
  display:block;margin-top:4px;
  color:rgba(244,240,232,.72);
  font-size:12px;
}
.dashboard-status{
  display:flex;align-items:center;gap:8px;
  color:rgba(244,240,232,.26);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.dashboard-status i{
  width:7px;height:7px;background:var(--violet);
  box-shadow:0 0 0 5px rgba(93,62,255,.07);
}

.dashboard-score{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:30px;
  align-items:center;
  padding:34px 30px;
}
.score-ring{
  position:relative;
  width:210px;height:210px;
}
.score-ring svg{
  width:100%;height:100%;
  transform:rotate(-90deg);
}
.score-track{
  fill:none;
  stroke:rgba(244,240,232,.07);
  stroke-width:8;
}
.score-progress{
  fill:none;
  stroke:var(--violet);
  stroke-width:8;
  stroke-linecap:butt;
  stroke-dasharray:421;
  stroke-dashoffset:337;
  transition:stroke-dashoffset .5s ease;
}
.score-copy{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  text-align:center;
}
.score-copy small{
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.score-copy strong{
  display:block;
  margin-top:6px;
  color:var(--violet);
  font-size:36px;
  letter-spacing:-.05em;
}
.score-text small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.score-text h3{
  margin:11px 0 0;
  max-width:420px;
  font-size:34px;
  line-height:.98;
  letter-spacing:-.05em;
}
.score-text p{
  max-width:430px;
  margin:13px 0 0;
  color:rgba(244,240,232,.43);
  font-size:10px;
  line-height:1.55;
}

.dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  background:rgba(244,240,232,.08);
  border-top:1px solid rgba(244,240,232,.08);
}
.dashboard-metrics article{
  position:relative;
  min-height:110px;
  padding:13px;
  background:#0F131D;
  cursor:pointer;
}
.dashboard-metrics article.active{
  background:#171C27;
}
.dashboard-metrics article.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;background:var(--violet);
}
.dashboard-metrics article>span{
  color:rgba(244,240,232,.14);
  font-size:7px;font-weight:900;
}
.dashboard-metrics small{
  display:block;
  margin-top:22px;
  color:rgba(244,240,232,.22);
  font-size:6px;font-weight:900;letter-spacing:.12em;
}
.dashboard-metrics strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.56);
  font-size:10px;
}
.dashboard-metrics article.active small{color:var(--violet)}

.practice-areas{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:22px;
  background:rgba(11,13,20,.12);
  border:1px solid rgba(11,13,20,.12);
}
.practice-areas article{
  position:relative;
  min-height:300px;
  padding:22px;
  background:#F3F0E9;
  overflow:hidden;
}
.practice-areas article:after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:3px;background:var(--violet);
  transition:width .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .practice-areas article:hover:after{width:100%}
}
.practice-areas article>span{
  position:absolute;
  right:18px;top:17px;
  color:#A5A7AD;
  font-size:8px;font-weight:900;
}
.practice-areas small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.practice-areas h3{
  margin:56px 0 0;
  max-width:350px;
  font-size:29px;
  line-height:1;
  letter-spacing:-.045em;
}
.practice-areas p{
  margin:14px 0 0;
  color:#70737B;
  font-size:10px;
  line-height:1.55;
}

.practice-bridge{
  margin-top:22px;
  border:1px solid rgba(11,13,20,.12);
}
.bridge-label{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:17px 20px;
  background:#F3F0E9;
  border-bottom:1px solid rgba(11,13,20,.10);
}
.bridge-label small{
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.bridge-label strong{
  color:#62656D;
  font-size:11px;
}
.bridge-visual{
  display:grid;
  grid-template-columns:1fr 170px 1fr;
  gap:1px;
  background:rgba(11,13,20,.12);
}
.bridge-side{
  min-height:250px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#F3F0E9;
}
.bridge-side>span{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.bridge-side strong{
  display:block;
  margin-top:12px;
  max-width:380px;
  color:#42454D;
  font-size:27px;
  line-height:1;
  letter-spacing:-.045em;
}
.bridge-center{
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  background:var(--obsidian);
  color:var(--ivory);
}
.bridge-center>span{
  width:14px;height:14px;background:var(--violet);
  box-shadow:0 0 0 9px rgba(93,62,255,.07);
}
.bridge-center small{
  max-width:110px;
  color:rgba(244,240,232,.38);
  font-size:6px;font-weight:900;letter-spacing:.13em;
  line-height:1.4;
}

.practice-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#F3F0E9;
  border:1px solid rgba(11,13,20,.12);
}
.practice-footer>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.practice-footer p{margin:0}
.practice-footer small{
  display:block;
  color:#8A8C93;
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.practice-footer strong{
  display:block;
  margin-top:5px;
  color:#484B53;
  font-size:12px;
  line-height:1.4;
}
.practice-footer>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(11,13,20,.13);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:#363940;
  font-size:9px;font-weight:850;
}
.practice-footer>a span{
  color:var(--violet);font-size:15px;
}

@media(max-width:1080px){
  .practice-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .practice-main{
    grid-template-columns:1fr;
  }
  .practice-copy{min-height:auto}
  .practice-areas{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .practice-section{
    padding:78px 0 70px;
  }
  .practice-head{
    padding-bottom:38px;
  }
  .practice-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .practice-copy{
    padding:22px;
  }
  .practice-copy>h3{
    font-size:36px;
  }
  .dashboard-score{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .score-text h3{
    font-size:30px;
  }
  .dashboard-metrics{
    grid-template-columns:1fr 1fr;
  }
  .dashboard-metrics article:last-child{
    grid-column:1/-1;
  }
  .practice-areas{
    grid-template-columns:1fr;
  }
  .bridge-label{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .bridge-visual{
    grid-template-columns:1fr;
  }
  .bridge-center{
    min-height:150px;
  }
  .practice-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .practice-footer>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V38 · SECCIÓN 09 — EXPERIENCIA COMPROBADA
   ========================================================= */

.proof-section{
  position:relative;
  padding:128px 0 112px;
  background:var(--obsidian);
  color:var(--ivory);
  overflow:hidden;
}
.proof-grid-bg{
  position:absolute;inset:0;
  opacity:.13;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
  pointer-events:none;
}
.proof-section .shell{position:relative;z-index:2}

.proof-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(244,240,232,.10);
}
.proof-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.proof-head h2 span{
  display:block;
  color:rgba(244,240,232,.34);
  font-weight:510;
}
.proof-head-copy>p{
  margin:0;
  color:rgba(244,240,232,.52);
  font-size:15px;
  line-height:1.72;
}
.proof-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.proof-head-note>span{
  width:42px;height:2px;background:var(--violet);
}
.proof-head-note small{
  color:rgba(244,240,232,.26);
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.proof-main{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1px;
  margin-top:28px;
  background:rgba(244,240,232,.09);
  border:1px solid rgba(244,240,232,.09);
}
.proof-stat{
  position:relative;
  min-height:410px;
  padding:24px;
  background:#0F131D;
  overflow:hidden;
}
.proof-stat-primary{
  background:linear-gradient(180deg,rgba(93,62,255,.10),#0F131D 45%);
}
.proof-stat-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
}
.proof-stat-top small{
  color:var(--violet);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.proof-stat-top span{
  color:rgba(244,240,232,.12);
  font-size:8px;
  font-weight:900;
}
.proof-number,
.proof-word{
  display:block;
  margin-top:75px;
  color:var(--ivory);
  font-size:clamp(72px,7vw,108px);
  line-height:.8;
  letter-spacing:-.07em;
}
.proof-stat-primary .proof-number{color:var(--violet)}
.proof-word{
  font-size:clamp(58px,5.4vw,84px);
}
.proof-stat>p{
  max-width:360px;
  margin:28px 0 0;
  color:rgba(244,240,232,.46);
  font-size:11px;
  line-height:1.58;
}
.proof-line{
  position:absolute;
  left:24px;right:24px;bottom:22px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:center;
  padding-top:13px;
  border-top:1px solid rgba(244,240,232,.07);
}
.proof-line>span{
  width:38px;height:1px;background:var(--violet);
}
.proof-line small{
  color:rgba(244,240,232,.20);
  font-size:6px;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.4;
}

.proof-countries{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:1px;
  margin-top:22px;
  background:rgba(244,240,232,.09);
  border:1px solid rgba(244,240,232,.09);
}
.proof-countries-copy{
  min-height:370px;
  padding:30px;
  background:#0F131D;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.proof-countries-copy>small{
  color:var(--violet);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.proof-countries-copy h3{
  margin:13px 0 0;
  max-width:520px;
  font-size:43px;
  line-height:.96;
  letter-spacing:-.055em;
}
.proof-countries-copy p{
  max-width:520px;
  margin:19px 0 0;
  color:rgba(244,240,232,.45);
  font-size:11px;
  line-height:1.6;
}
.country-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(244,240,232,.08);
}
.country-grid span{
  min-height:92px;
  display:flex;
  align-items:center;
  padding:0 18px;
  background:#0B0E15;
  color:rgba(244,240,232,.60);
  font-size:11px;
  font-weight:760;
}
.country-grid span:before{
  content:"";
  width:6px;height:6px;
  margin-right:10px;
  background:var(--violet);
}

.proof-trajectory{
  position:relative;
  margin-top:22px;
  padding:24px 24px 50px;
  background:#0F131D;
  border:1px solid rgba(244,240,232,.09);
}
.trajectory-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(244,240,232,.08);
}
.trajectory-steps article{
  position:relative;
  min-height:190px;
  padding:18px;
  background:#0B0E15;
}
.trajectory-steps article.active{
  background:#171C27;
}
.trajectory-steps article.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;background:var(--violet);
}
.trajectory-steps article>span{
  color:rgba(244,240,232,.14);
  font-size:8px;
  font-weight:900;
}
.trajectory-steps small{
  display:block;
  margin-top:34px;
  color:var(--violet);
  font-size:6px;
  font-weight:900;
  letter-spacing:.13em;
}
.trajectory-steps strong{
  display:block;
  margin-top:8px;
  max-width:250px;
  color:rgba(244,240,232,.60);
  font-size:13px;
  line-height:1.35;
}
.trajectory-axis{
  position:absolute;
  left:5%;right:5%;bottom:20px;
  height:16px;
}
.trajectory-line{
  position:absolute;
  left:0;right:0;top:7px;
  height:1px;
  background:rgba(244,240,232,.12);
}
.trajectory-axis i{
  position:absolute;
  top:3px;
  width:9px;height:9px;
  border:1px solid rgba(244,240,232,.20);
  background:#0F131D;
}
.trajectory-axis .t1{left:0}
.trajectory-axis .t2{left:33.33%}
.trajectory-axis .t3{left:66.66%}
.trajectory-axis .t4{right:0}
.trajectory-axis b{
  position:absolute;
  left:0;top:2px;
  width:11px;height:11px;
  background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
  transition:left .45s ease;
}

.proof-principle{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#0F131D;
  border:1px solid rgba(244,240,232,.09);
}
.proof-principle>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.proof-principle-bit{
  width:8px;height:8px;
  margin-top:3px;
  background:var(--violet);
}
.proof-principle p{margin:0}
.proof-principle small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.proof-principle strong{
  display:block;
  max-width:900px;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:12px;
  line-height:1.45;
}
.proof-signature{
  color:rgba(244,240,232,.17);
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
  white-space:nowrap;
}

@media(max-width:1080px){
  .proof-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .proof-main{
    grid-template-columns:1fr 1fr;
  }
  .proof-stat-primary{
    grid-column:1/-1;
  }
  .proof-countries{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .proof-section{
    padding:78px 0 70px;
  }
  .proof-head{
    padding-bottom:38px;
  }
  .proof-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .proof-main{
    grid-template-columns:1fr;
  }
  .proof-stat-primary{
    grid-column:auto;
  }
  .proof-stat{
    min-height:350px;
  }
  .country-grid{
    grid-template-columns:1fr 1fr;
  }
  .country-grid span{
    min-height:70px;
  }
  .trajectory-steps{
    grid-template-columns:1fr;
  }
  .trajectory-steps article{
    min-height:150px;
  }
  .trajectory-axis{
    display:none;
  }
  .proof-trajectory{
    padding-bottom:24px;
  }
  .proof-principle{
    align-items:flex-start;
    flex-direction:column;
  }
  .proof-signature{
    white-space:normal;
  }
}


/* =========================================================
   V39 · SECCIÓN 10 — PRÓXIMAS FORMACIONES
   ========================================================= */

.upcoming-section{
  position:relative;
  padding:128px 0 112px;
  background:#E9E6DF;
  color:var(--obsidian);
  overflow:hidden;
}
.upcoming-grid-bg{
  position:absolute;inset:0;
  opacity:.18;
  background-image:
    linear-gradient(to right,rgba(11,13,20,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(11,13,20,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
  pointer-events:none;
}
.upcoming-section .shell{position:relative;z-index:2}

.upcoming-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.68fr);
  gap:76px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid rgba(11,13,20,.12);
}
.upcoming-head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(52px,5.4vw,86px);
  line-height:.92;
  letter-spacing:-.06em;
}
.upcoming-head h2 span{
  display:block;
  color:#74767D;
  font-weight:510;
}
.upcoming-head-copy>p{
  margin:0;
  color:#62656D;
  font-size:15px;
  line-height:1.72;
}
.upcoming-head-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.upcoming-head-note>span{
  width:42px;height:2px;background:var(--violet)
}
.upcoming-head-note small{
  color:#898B92;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.5;
}

.upcoming-stage{
  display:grid;
  grid-template-columns:minmax(380px,.95fr) minmax(0,1.05fr);
  gap:1px;
  margin-top:28px;
  background:rgba(11,13,20,.13);
  border:1px solid rgba(11,13,20,.13);
}
.upcoming-featured{
  position:relative;
  min-height:760px;
  padding:26px;
  background:var(--obsidian);
  color:var(--ivory);
  overflow:hidden;
}
.upcoming-status{
  display:flex;align-items:center;gap:10px;
}
.upcoming-status small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.15em;
}
.upcoming-featured-mark{
  position:absolute;
  left:26px;right:26px;top:95px;
  height:290px;
  border:1px solid rgba(244,240,232,.08);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.upcoming-featured-mark>span{
  position:absolute;
  left:18px;top:16px;
  color:rgba(244,240,232,.15);
  font-size:8px;font-weight:900;
}
.upcoming-featured-mark strong{
  position:relative;z-index:2;
  color:rgba(244,240,232,.86);
  font-size:78px;
  letter-spacing:-.07em;
}
.upcoming-featured-mark i{
  position:absolute;
  width:190px;height:190px;
  border:1px solid rgba(93,62,255,.42);
  border-radius:50%;
}
.upcoming-featured-mark:before,
.upcoming-featured-mark:after{
  content:"";
  position:absolute;
  background:rgba(244,240,232,.055);
}
.upcoming-featured-mark:before{width:1px;height:140%;left:50%;top:-20%}
.upcoming-featured-mark:after{height:1px;width:140%;left:-20%;top:50%}

.upcoming-featured-copy{
  position:absolute;
  left:26px;right:26px;bottom:105px;
}
.upcoming-featured-copy>small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.14em;
}
.upcoming-featured-copy h3{
  margin:11px 0 0;
  max-width:560px;
  font-size:42px;
  line-height:.97;
  letter-spacing:-.055em;
}
.upcoming-featured-copy p{
  max-width:540px;
  margin:15px 0 0;
  color:rgba(244,240,232,.45);
  font-size:11px;
  line-height:1.58;
}
.upcoming-footer-row{
  position:absolute;
  left:26px;right:26px;bottom:23px;
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:18px;
  align-items:end;
  padding-top:15px;
  border-top:1px solid rgba(244,240,232,.08);
}
.upcoming-footer-row small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.upcoming-footer-row strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:10px;
}
.upcoming-footer-row>span{
  color:var(--violet);
  font-size:18px;
}

.upcoming-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(11,13,20,.13);
}
.upcoming-card{
  position:relative;
  min-height:300px;
  padding:22px;
  background:#F3F0E9;
  overflow:hidden;
}
.upcoming-card:after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:3px;background:var(--violet);
  transition:width .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .upcoming-card:hover:after{width:100%}
}
.upcoming-card-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.upcoming-card-top>span{
  color:#A4A6AC;
  font-size:8px;font-weight:900;
}
.upcoming-card-top small{
  color:var(--violet);
  font-size:7px;font-weight:900;letter-spacing:.13em;
}
.upcoming-card-copy{
  position:absolute;
  left:22px;right:22px;bottom:24px;
}
.upcoming-card-copy>small{
  color:#8A8C93;
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.upcoming-card-copy h3{
  margin:10px 0 0;
  max-width:350px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em;
}
.upcoming-card-copy p{
  margin:12px 0 0;
  color:#70737B;
  font-size:10px;
  line-height:1.55;
}
.upcoming-wide{
  grid-column:1/-1;
  min-height:159px;
}
.upcoming-wide .upcoming-card-copy{
  right:28%;
}
.upcoming-wide .upcoming-card-copy h3{
  max-width:660px;
}

.upcoming-roadmap{
  position:relative;
  margin-top:22px;
  padding:22px 22px 48px;
  background:var(--obsidian);
  color:var(--ivory);
  border:1px solid rgba(244,240,232,.08);
}
.roadmap-title{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.roadmap-title small{
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.roadmap-title strong{
  color:rgba(244,240,232,.52);
  font-size:11px;
}
.roadmap-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:18px;
  background:rgba(244,240,232,.08);
}
.roadmap-steps article{
  position:relative;
  min-height:180px;
  padding:17px;
  background:#0F131D;
}
.roadmap-steps article.active{
  background:#171C27;
}
.roadmap-steps article.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;background:var(--violet);
}
.roadmap-steps article>span{
  color:rgba(244,240,232,.14);
  font-size:8px;font-weight:900;
}
.roadmap-steps small{
  display:block;
  margin-top:32px;
  color:var(--violet);
  font-size:6px;font-weight:900;letter-spacing:.13em;
}
.roadmap-steps strong{
  display:block;
  margin-top:8px;
  max-width:250px;
  color:rgba(244,240,232,.58);
  font-size:13px;
  line-height:1.35;
}
.roadmap-axis{
  position:absolute;
  left:5%;right:5%;bottom:18px;
  height:16px;
}
.roadmap-axis>span{
  position:absolute;left:0;right:0;top:7px;
  height:1px;background:rgba(244,240,232,.12);
}
.roadmap-axis i{
  position:absolute;top:3px;
  width:9px;height:9px;
  border:1px solid rgba(244,240,232,.20);
  background:var(--obsidian);
}
.roadmap-axis .r1{left:0}
.roadmap-axis .r2{left:33.33%}
.roadmap-axis .r3{left:66.66%}
.roadmap-axis .r4{right:0}
.roadmap-axis b{
  position:absolute;left:0;top:2px;
  width:11px;height:11px;
  background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
  transition:left .45s ease;
}

.upcoming-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:22px;
  padding:20px 22px;
  background:#F3F0E9;
  border:1px solid rgba(11,13,20,.12);
}
.upcoming-footer>div{
  display:grid;
  grid-template-columns:9px 1fr;
  gap:13px;
  align-items:start;
}
.upcoming-footer p{margin:0}
.upcoming-footer small{
  display:block;
  color:#8A8C93;
  font-size:6px;font-weight:900;letter-spacing:.14em;
}
.upcoming-footer strong{
  display:block;
  margin-top:5px;
  color:#484B53;
  font-size:12px;
  line-height:1.4;
}
.upcoming-footer>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(11,13,20,.13);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:#363940;
  font-size:9px;font-weight:850;
}
.upcoming-footer>a span{
  color:var(--violet);
  font-size:15px;
}

@media(max-width:1080px){
  .upcoming-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .upcoming-stage{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .upcoming-section{
    padding:78px 0 70px;
  }
  .upcoming-head{
    padding-bottom:38px;
  }
  .upcoming-head h2{
    font-size:clamp(44px,13vw,60px);
  }
  .upcoming-featured{
    min-height:650px;
  }
  .upcoming-featured-mark strong{
    font-size:55px;
  }
  .upcoming-featured-copy h3{
    font-size:34px;
  }
  .upcoming-grid{
    grid-template-columns:1fr;
  }
  .upcoming-wide{
    grid-column:auto;
    min-height:280px;
  }
  .upcoming-wide .upcoming-card-copy{
    right:22px;
  }
  .roadmap-title{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .roadmap-steps{
    grid-template-columns:1fr;
  }
  .roadmap-axis{
    display:none;
  }
  .upcoming-roadmap{
    padding-bottom:22px;
  }
  .upcoming-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .upcoming-footer>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V40 · SECCIÓN 11 — CTA FINAL
   ========================================================= */

.academy-final-cta{
  position:relative;
  min-height:760px;
  padding:120px 0 70px;
  display:flex;
  align-items:center;
  background:#080A10;
  color:var(--ivory);
  overflow:hidden;
}
.final-grid-bg{
  position:absolute;inset:0;
  opacity:.16;
  background-image:
    linear-gradient(to right,rgba(244,240,232,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(244,240,232,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 65% 50%,#000 0%,transparent 72%);
  pointer-events:none;
}
.final-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(244,240,232,.08);
  pointer-events:none;
}
.orbit-one{
  width:620px;height:620px;
  right:-125px;top:50%;
  transform:translateY(-50%);
}
.orbit-two{
  width:410px;height:410px;
  right:-20px;top:50%;
  border-color:rgba(93,62,255,.25);
  transform:translateY(-50%);
}
.orbit-two:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:15px;height:15px;
  background:var(--violet);
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 12px rgba(93,62,255,.06);
}

.academy-final-cta .shell{
  position:relative;
  z-index:2;
}
.final-cta-inner{
  max-width:1100px;
}
.final-cta-kicker{
  display:flex;
  align-items:center;
  gap:12px;
}
.final-cta-kicker>span{
  width:9px;height:9px;
  background:var(--violet);
  box-shadow:0 0 0 7px rgba(93,62,255,.07);
}
.final-cta-kicker small{
  color:var(--violet);
  font-size:8px;
  font-weight:900;
  letter-spacing:.16em;
}

.final-cta-inner h2{
  margin:32px 0 0;
  max-width:1050px;
  font-size:clamp(62px,7vw,112px);
  line-height:.88;
  letter-spacing:-.07em;
}
.final-cta-inner h2 span{
  display:block;
  color:rgba(244,240,232,.30);
  font-weight:500;
}
.final-cta-lead{
  max-width:690px;
  margin:29px 0 0;
  color:rgba(244,240,232,.52);
  font-size:16px;
  line-height:1.7;
}

.final-cta-actions{
  display:flex;
  gap:12px;
  margin-top:34px;
}
.final-primary,
.final-secondary{
  min-height:54px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  font-size:10px;
  font-weight:900;
}
.final-primary{
  background:var(--violet);
  color:#fff;
}
.final-primary span{
  font-size:17px;
}
.final-secondary{
  border:1px solid rgba(244,240,232,.14);
  color:rgba(244,240,232,.82);
}
.final-secondary span{
  color:var(--violet);
  font-size:16px;
}

.final-cta-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  max-width:850px;
  margin-top:46px;
  background:rgba(244,240,232,.08);
  border:1px solid rgba(244,240,232,.08);
}
.final-cta-proof article{
  padding:17px 18px;
  background:#0E1119;
}
.final-cta-proof small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.final-cta-proof strong{
  display:block;
  margin-top:6px;
  color:rgba(244,240,232,.62);
  font-size:11px;
  line-height:1.4;
}

.final-manifesto{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:14px;
  align-items:center;
  margin-top:58px;
  padding-top:20px;
  border-top:1px solid rgba(244,240,232,.09);
}
.manifesto-line{
  width:46px;height:2px;
  background:var(--violet);
}
.final-manifesto p{margin:0}
.final-manifesto small{
  display:block;
  color:rgba(244,240,232,.20);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.final-manifesto strong{
  display:block;
  margin-top:5px;
  color:rgba(244,240,232,.58);
  font-size:12px;
  letter-spacing:.05em;
}
.manifesto-index{
  color:rgba(244,240,232,.12);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}

@media(max-width:900px){
  .orbit-one{right:-330px}
  .orbit-two{right:-210px}
  .final-cta-inner{
    max-width:780px;
  }
}
@media(max-width:700px){
  .academy-final-cta{
    min-height:auto;
    padding:86px 0 58px;
  }
  .final-cta-inner h2{
    font-size:clamp(50px,15vw,72px);
  }
  .final-cta-actions{
    display:grid;
  }
  .final-primary,
  .final-secondary{
    width:100%;
    justify-content:space-between;
  }
  .final-cta-proof{
    grid-template-columns:1fr;
  }
  .final-manifesto{
    grid-template-columns:35px 1fr;
  }
  .manifesto-line{
    width:35px;
  }
  .manifesto-index{
    grid-column:2;
  }
  .orbit-one,
  .orbit-two{
    opacity:.45;
  }
}


/* =========================================================
   V41 · MENÚ SIMPLIFICADO + FOOTER
   ========================================================= */

/* Header: six destinations only */
.nav-shell{
  grid-template-columns:190px 145px minmax(0,1fr) auto;
}
.nav-links{
  justify-content:center;
  gap:26px;
  overflow:visible;
}
.nav-links a{
  font-size:11px;
  white-space:nowrap;
}
.nav-actions{
  justify-self:end;
}
.campus-link{
  min-width:128px;
  justify-content:center;
}
.all-academies{
  display:none!important;
}

/* Labels inside cards */
.course-link-label,
.specialty-link-label{
  width:auto!important;
  height:auto!important;
  white-space:nowrap;
  font-size:8px!important;
  font-weight:850;
  color:var(--violet)!important;
}
.specialty-card .specialty-link-label{
  right:18px;
  bottom:18px;
}
.specialty-featured .specialty-link-label{
  position:static;
  align-self:end;
}
.course-card-bottom .course-link-label{
  position:static;
  justify-self:end;
}

/* Footer */
.academy-footer{
  background:#080A10;
  color:var(--ivory);
  border-top:1px solid rgba(244,240,232,.08);
  padding:72px 0 28px;
}
.academy-footer-top{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:90px;
  align-items:start;
}
.footer-brand-block{
  max-width:420px;
}
.footer-brand{
  display:block;
  width:190px;
}
.footer-brand img{
  display:block;
  width:100%;
}
.footer-academy-name{
  display:grid;
  grid-template-columns:8px 1fr;
  gap:11px;
  align-items:center;
  margin-top:24px;
}
.footer-academy-name>span{
  width:8px;height:8px;
  background:var(--violet);
  box-shadow:0 0 0 6px rgba(93,62,255,.06);
}
.footer-academy-name small{
  display:block;
  color:rgba(244,240,232,.22);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.footer-academy-name strong{
  display:block;
  margin-top:3px;
  color:rgba(244,240,232,.68);
  font-size:12px;
}
.footer-brand-block>p{
  max-width:390px;
  margin:22px 0 0;
  color:rgba(244,240,232,.38);
  font-size:11px;
  line-height:1.65;
}
.footer-campus{
  min-height:44px;
  margin-top:24px;
  padding:0 14px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:rgba(244,240,232,.76);
  font-size:9px;
  font-weight:850;
}
.footer-campus span{
  color:var(--violet);
  font-size:15px;
}

.footer-columns{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:50px;
}
.footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.footer-column>small{
  margin-bottom:7px;
  color:var(--violet);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.footer-column a{
  color:rgba(244,240,232,.42);
  font-size:10px;
  line-height:1.4;
  transition:color .2s ease;
}
.footer-column a:hover{
  color:var(--ivory);
}

.academy-footer-divider{
  height:1px;
  margin-top:58px;
  background:rgba(244,240,232,.08);
}
.academy-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding-top:20px;
}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
}
.footer-legal span,
.footer-legal-links span{
  color:rgba(244,240,232,.18);
  font-size:7px;
  font-weight:750;
  letter-spacing:.04em;
}
.footer-legal-links{
  display:flex;
  gap:22px;
}

/* Better fit before mobile nav */
@media(max-width:1280px){
  .nav-shell{
    grid-template-columns:170px 120px minmax(0,1fr) auto;
    gap:14px;
  }
  .brand{width:165px}
  .nav-links{gap:18px}
  .nav-links a{font-size:10px}
  .academy-signature{padding-left:12px}
}

@media(max-width:1050px){
  .academy-footer-top{
    grid-template-columns:1fr;
    gap:50px;
  }
}

@media(max-width:760px){
  .academy-footer{
    padding:56px 0 24px;
  }
  .footer-columns{
    grid-template-columns:1fr 1fr;
    gap:38px 24px;
  }
  .academy-footer-divider{
    margin-top:44px;
  }
  .academy-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .footer-columns{
    grid-template-columns:1fr;
  }
}


/* V42 · CTA hacia catálogo */
.courses-strip-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.courses-strip-actions>a{
  min-height:44px;
  padding:0 15px;
  border:1px solid rgba(244,240,232,.12);
  display:inline-flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:rgba(244,240,232,.75);
  font-size:9px;
  font-weight:850;
}
.courses-strip-actions>a span{
  color:var(--violet);
  font-size:15px;
}
.courses-all-link{
  background:var(--violet)!important;
  border-color:var(--violet)!important;
  color:#fff!important;
}
.courses-all-link span{color:#fff!important}

.specialty-link-label{
  text-decoration:none;
}

@media(max-width:760px){
  .courses-strip-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .courses-strip-actions>a{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   V49 · MEGA MENÚ — ESPECIALIDADES ODONTOLOGÍA
   ========================================================= */
.mega-nav-item{
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
}
.specialties-trigger{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:rgba(244,240,232,.55);
  font-size:11px;
  white-space:nowrap;
  cursor:pointer;
}
.specialties-trigger:hover,
.specialties-trigger[aria-expanded="true"]{color:var(--ivory)}
.specialties-trigger>span{
  color:var(--violet);
  font-size:12px;
  transition:transform .2s ease;
}
.specialties-trigger[aria-expanded="true"]>span{transform:rotate(180deg)}
.specialties-mega{
  display:none;
  position:fixed;
  z-index:1200;
  top:92px;
  left:50%;
  width:min(1240px,calc(100vw - 64px));
  transform:translateX(-50%);
  background:#0D1018;
  border:1px solid rgba(244,240,232,.10);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
.mega-nav-item.open .specialties-mega{display:block}
.specialties-mega-inner{padding:25px}
.mega-intro{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding-bottom:20px;
  border-bottom:1px solid rgba(244,240,232,.08);
}
.mega-intro small,
.mega-column>small,
.mega-feature>small{
  color:var(--violet);
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.mega-intro strong{
  color:rgba(244,240,232,.56);
  font-size:12px;
  font-weight:720;
}
.mega-columns{
  display:grid;
  grid-template-columns:1.25fr .9fr .9fr 1.12fr;
  gap:1px;
  margin-top:18px;
  background:rgba(244,240,232,.08);
  border:1px solid rgba(244,240,232,.08);
}
.mega-column{
  min-height:310px;
  padding:20px;
  background:#111520;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.mega-column>small{margin-bottom:15px}
.mega-column>a{
  min-height:42px;
  padding:10px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(244,240,232,.065);
  color:rgba(244,240,232,.58)!important;
  font-size:10px!important;
  line-height:1.35;
  white-space:normal!important;
  transition:color .18s ease,padding-left .18s ease;
}
.mega-column>a:hover{
  color:var(--ivory)!important;
  padding-left:5px;
}
.mega-column>a span{color:var(--violet);font-size:13px}
.mega-feature{
  position:relative;
  min-height:310px;
  padding:20px;
  overflow:hidden;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 70% 28%,rgba(93,62,255,.28),transparent 30%),
    linear-gradient(145deg,#111827,#0B0E16 62%);
  color:var(--ivory)!important;
  white-space:normal!important;
}
.mega-feature:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right,rgba(244,240,232,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(244,240,232,.04) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.6;
}
.mega-feature-index{
  position:absolute;
  left:20px;top:17px;
  z-index:2;
  color:rgba(244,240,232,.20);
  font-size:6px;
  font-weight:900;
  letter-spacing:.14em;
}
.mega-feature-visual{
  position:absolute;
  right:20px;top:45px;
  width:150px;height:150px;
  border:1px solid rgba(93,62,255,.38);
  border-radius:50%;
}
.mega-feature-visual:before,.mega-feature-visual:after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(244,240,232,.10);
}
.mega-feature-visual:before{inset:24px}
.mega-feature-visual:after{inset:49px;border-color:rgba(93,62,255,.50)}
.mega-feature-visual i{
  position:absolute;
  width:6px;height:6px;
  background:var(--violet);
  box-shadow:0 0 0 6px rgba(93,62,255,.08);
}
.mega-feature-visual i:nth-child(1){left:15px;top:53px}
.mega-feature-visual i:nth-child(2){right:25px;top:23px}
.mega-feature-visual i:nth-child(3){right:14px;bottom:37px}
.mega-feature>small,.mega-feature>strong,.mega-feature-cta{position:relative;z-index:2}
.mega-feature>strong{
  margin-top:9px;
  max-width:270px;
  color:rgba(244,240,232,.84);
  font-size:23px;
  line-height:1;
  letter-spacing:-.04em;
}
.mega-feature-cta{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid rgba(244,240,232,.09);
  display:flex;
  justify-content:space-between;
  color:rgba(244,240,232,.58);
  font-size:8px;
  font-weight:850;
}
.mega-feature-cta b{color:var(--violet);font-size:13px}
.mega-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:18px;
}
.mega-actions>a{
  min-height:42px;
  padding:0 14px;
  display:inline-flex!important;
  align-items:center;
  gap:16px;
  border:1px solid rgba(244,240,232,.11);
  color:rgba(244,240,232,.68)!important;
  font-size:8px!important;
  font-weight:850;
  white-space:nowrap!important;
}
.mega-actions>a span{color:var(--violet);font-size:13px}
.mega-actions .mega-actions-primary{
  background:var(--violet);
  border-color:var(--violet);
  color:#fff!important;
}
.mega-actions .mega-actions-primary span{color:#fff}

@media(max-width:900px){
  .mega-nav-item{
    width:100%;
    height:auto;
    display:block;
  }
  .specialties-trigger{
    width:100%;
    min-height:38px;
    justify-content:space-between;
    font-size:10px;
  }
  .specialties-mega{
    position:static;
    width:100%;
    transform:none;
    margin-top:6px;
    max-height:62vh;
    overflow:auto;
    box-shadow:none;
  }
  .specialties-mega-inner{padding:14px}
  .mega-intro{grid-template-columns:1fr;gap:5px;padding-bottom:13px}
  .mega-columns{grid-template-columns:1fr;margin-top:12px}
  .mega-column{min-height:auto;padding:14px}
  .mega-feature{min-height:240px}
  .mega-actions{flex-direction:column;align-items:stretch}
  .mega-actions>a{width:100%;justify-content:space-between}
}
