/* ============================================================
   IDPE — Main Pages Styles
   Shared by index, contacto, curso template, trabaja
   ============================================================ */


a{text-decoration:none;color:inherit}

ul,ol{list-style:none}

.skip-link:focus{top:1rem}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--color-dark);padding:calc(var(--space-xl) + 2rem) 0 var(--space-lg)}

.hero__mesh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 15% 40%,rgba(42,191,191,.4) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 85% 15%,rgba(42,191,191,.25) 0%,transparent 65%),radial-gradient(ellipse 50% 80% at 55% 95%,rgba(13,79,79,.45) 0%,transparent 65%),radial-gradient(ellipse 45% 45% at 90% 70%,rgba(42,191,191,.18) 0%,transparent 55%)}

.hero__shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}

.hero__shape{position:absolute;border-radius:50%;animation:float-shape 20s ease-in-out infinite}

.hero__shape--1{width:450px;height:450px;top:-100px;right:-80px;background:radial-gradient(circle,rgba(42,191,191,.12) 0%,rgba(42,191,191,.03) 60%,transparent 70%);border:2px solid rgba(42,191,191,.2);box-shadow:0 0 80px rgba(42,191,191,.1);animation-duration:10s}

.hero__shape--2{width:300px;height:300px;bottom:5%;left:-60px;background:radial-gradient(circle,rgba(42,191,191,.1) 0%,transparent 65%);border:2px solid rgba(42,191,191,.18);box-shadow:0 0 60px rgba(42,191,191,.08);animation-duration:8s;animation-delay:-2s}

.hero__shape--3{width:200px;height:200px;top:25%;right:15%;background:rgba(42,191,191,.06);border:1.5px solid rgba(42,191,191,.15);box-shadow:0 0 50px rgba(42,191,191,.07);animation-duration:12s;animation-delay:-4s;animation-name:float-shape-alt}

.hero__shape--4{width:120px;height:120px;bottom:30%;left:30%;background:rgba(42,191,191,.08);border:1.5px solid rgba(42,191,191,.2);box-shadow:0 0 40px rgba(42,191,191,.1);animation-duration:9s;animation-delay:-1s}

.hero__shape--5{width:180px;height:180px;top:55%;right:40%;background:radial-gradient(circle,rgba(42,191,191,.07) 0%,transparent 65%);border:1.5px solid rgba(42,191,191,.12);box-shadow:0 0 45px rgba(42,191,191,.06);animation-duration:14s;animation-delay:-6s;animation-name:float-shape-alt}

.hero__shape--6{width:90px;height:90px;top:15%;left:20%;background:rgba(42,191,191,.1);border:1.5px solid rgba(42,191,191,.22);box-shadow:0 0 30px rgba(42,191,191,.12);animation-duration:7s;animation-delay:-3s}

.hero__shape--7{width:350px;height:350px;top:40%;left:50%;background:radial-gradient(circle,rgba(42,191,191,.05) 0%,transparent 60%);border:1px solid rgba(42,191,191,.08);animation-duration:16s;animation-delay:-8s;animation-name:float-shape-alt}

.hero__grid-lines{position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:linear-gradient(rgba(42,191,191,1) 1px,transparent 1px),linear-gradient(90deg,rgba(42,191,191,1) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 0%,transparent 70%)}

.hero__bottom{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:start;position:relative;z-index:2;margin-top:var(--space-md)}

@media(min-width:1024px){.hero__bottom{grid-template-columns:1fr 1fr;gap:var(--space-lg)}}

.hero__content{position:relative}

.hero__label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary-light);margin-bottom:var(--space-sm);background:rgba(42,191,191,.08);border:1px solid rgba(42,191,191,.2);padding:.45rem 1.2rem;border-radius:var(--radius-full);width:fit-content;backdrop-filter:blur(8px);position:relative;z-index:2}

.hero__title{font-family:var(--font-heading);font-size:clamp(2.25rem,1.5rem + 4.5vw,5rem);color:#fff;margin-bottom:0;line-height:1.08;letter-spacing:-.03em;font-weight:900;text-transform:uppercase;position:relative;z-index:2;width:100%}

.hero__title em{font-style:normal;color:var(--color-primary-light);position:relative}

.hero__title em::after{content:'';position:absolute;bottom:.05em;left:0;width:100%;height:.08em;background:var(--color-primary);border-radius:4px;opacity:.4}

.hero__subtitle{font-size:var(--font-size-lg);color:rgba(255,255,255,.65);max-width:520px;margin-bottom:var(--space-md);line-height:1.7;font-weight:400}

.hero__ctas{display:flex;gap:1rem;flex-wrap:wrap}

.hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}

.hero__stat{text-align:center;padding:1.75rem 1rem;background:rgba(255,255,255,.03);border-radius:var(--radius-lg);backdrop-filter:blur(12px);border:1px solid rgba(42,191,191,.12);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}

.hero__stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity var(--duration-normal)}

.hero__stat:hover{background:rgba(42,191,191,.06);border-color:rgba(42,191,191,.25);transform:translateY(-2px)}

.hero__stat:hover::before{opacity:1}

.hero__stat-number{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary-light);line-height:1;margin-bottom:.35rem;letter-spacing:-.02em}

.hero__stat-label{font-size:var(--font-size-xs);color:rgba(255,255,255,.5);font-weight:500;text-transform:uppercase;letter-spacing:.05em}

/* IMPACTO GRID (nueva sección numérica) */
.impacto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}

@media(min-width:768px){.impacto-grid{grid-template-columns:repeat(3,1fr)}}

@media(min-width:1024px){.impacto-grid{grid-template-columns:repeat(6,1fr)}}

.impacto-card{text-align:center;padding:1.75rem 1rem;background:var(--color-bg-pure);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);transition:all var(--duration-normal) var(--ease-out-expo)}

.impacto-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:rgba(42,191,191,.2)}

.impacto-card__number{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary);line-height:1;margin-bottom:.3rem}

.impacto-card__label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;line-height:1.4}

/* FEATURE CARDS */
.features-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}

@media(min-width:768px){.features-grid{grid-template-columns:repeat(2,1fr)}}

@media(min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr)}}

.feature-card{background:var(--color-bg-pure);border-radius:var(--radius-lg);padding:2.25rem 1.75rem;position:relative;transition:all var(--duration-normal) var(--ease-out-expo);border:1px solid var(--color-border-light);overflow:hidden}

.feature-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius-lg);padding:1.5px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-normal)}

.feature-card::after{content:'';position:absolute;top:-40px;right:-40px;width:100px;height:100px;border-radius:50%;background:rgba(42,191,191,.05);transition:transform var(--duration-slow) var(--ease-out-expo)}

.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:transparent}

.feature-card:hover::before{opacity:1}

.feature-card:hover::after{transform:scale(2)}

.feature-card__icon{width:52px;height:52px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-glass-md),var(--color-primary-glass));display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.5rem;position:relative;z-index:1}

.feature-card__title{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:900;margin-bottom:.6rem;line-height:1.2;position:relative;z-index:1}

.feature-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.65;position:relative;z-index:1}

/* CURSOS */
.cursos-areas{display:flex;flex-direction:column;gap:var(--space-md)}

.cursos-area__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;letter-spacing:-.01em}

.cursos-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}

@media(min-width:768px){.cursos-grid{grid-template-columns:repeat(2,1fr)}}

@media(min-width:1024px){.cursos-grid{grid-template-columns:repeat(3,1fr)}}

.curso-card{background:var(--color-bg-pure);border-radius:var(--radius-lg);padding:2rem 1.75rem;border:1px solid var(--color-border-light);transition:all var(--duration-normal) var(--ease-out-expo);display:flex;flex-direction:column;position:relative;overflow:hidden}

.curso-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-expo)}

.curso-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:rgba(42,191,191,.2)}

.curso-card:hover::after{transform:scaleX(1)}

.curso-card__badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-dark);background:var(--color-primary-pale);padding:.3rem .85rem;border-radius:var(--radius-full);width:fit-content;margin-bottom:1.25rem}

.curso-card__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:900;margin-bottom:.6rem;flex-grow:1;line-height:1.2}

.curso-card__meta{display:flex;gap:1.25rem;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:1.25rem;font-weight:500}

.curso-card__meta span{display:flex;align-items:center;gap:.35rem}

.curso-card__link{font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary);display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--duration-fast) var(--ease-out-expo),color var(--duration-fast)}

.curso-card__link:hover{gap:.8rem;color:var(--color-primary-dark)}

/* CONTACT FORM */
.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}

@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}

/* EQUIPO PREVIEW */
.equipo-preview{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:center;position:relative;z-index:1}

@media(min-width:768px){.equipo-preview{grid-template-columns:1fr 1fr}}

.equipo-preview__quote{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:700;line-height:1.3;color:#fff;position:relative;padding-left:1.75rem;border-left:3px solid rgba(255,255,255,.25)}

.equipo-preview__author{margin-top:1.5rem;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:400;color:rgba(255,255,255,.5)}

.equipo-preview__info{background:rgba(255,255,255,.04);border-radius:var(--radius-xl);padding:2.75rem;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}

.equipo-preview__stat{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary-light)}

.equipo-preview__stat-label{font-size:var(--font-size-base);color:rgba(255,255,255,.55);margin-bottom:var(--space-sm);line-height:1.65}

/* CURSO PAGE */
.curso-hero{background:var(--color-dark);padding:calc(var(--space-xl) + 3rem) 0 var(--space-lg);color:#fff;position:relative;overflow:hidden}

.curso-hero__mesh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 30% 50%,rgba(42,191,191,.25) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 80% 30%,rgba(42,191,191,.12) 0%,transparent 70%)}

.curso-hero__breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs);color:rgba(255,255,255,.45);margin-bottom:var(--space-sm);font-weight:500;position:relative;z-index:1}

.curso-hero__breadcrumb a{color:rgba(255,255,255,.45);transition:color var(--duration-fast)}

.curso-hero__breadcrumb a:hover{color:var(--color-primary-light)}

.curso-hero__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);color:#fff;margin-bottom:var(--space-xs);position:relative;z-index:1}

.curso-hero__meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-sm);position:relative;z-index:1}

.curso-hero__meta-item{display:flex;align-items:center;gap:.4rem;font-size:var(--font-size-sm);color:rgba(255,255,255,.75);background:rgba(42,191,191,.08);border:1px solid rgba(42,191,191,.15);padding:.45rem 1.1rem;border-radius:var(--radius-full);font-weight:500}

.curso-content{padding:var(--space-lg) 0}

.curso-content__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}

@media(min-width:1024px){.curso-content__grid{grid-template-columns:2fr 1fr}}

.curso-content__main h2{font-size:var(--font-size-xl);margin-bottom:var(--space-sm);color:var(--color-text)}

.curso-content__main p{color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.8}

.curso-list{display:flex;flex-direction:column;gap:.6rem}

.curso-list__item{display:flex;align-items:flex-start;gap:.85rem;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-secondary)}

.curso-list__item::before{content:'✓';flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--color-primary-pale);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;margin-top:2px}

.curso-sidebar{position:sticky;top:100px}

.curso-sidebar__card{background:var(--color-bg-pure);border-radius:var(--radius-xl);padding:2.25rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}

/* SOBRE PAGE */
.sobre-values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}

.value-card{text-align:center;padding:2.25rem 1.75rem;background:var(--color-bg-pure);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}

.value-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-out-expo)}

.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover)}

.value-card:hover::after{transform:scaleX(1)}

.value-card__icon{font-size:2.75rem;margin-bottom:1.25rem}

.value-card__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:900;margin-bottom:.5rem}

.value-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.65}

.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}

@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}

.stat-card{text-align:center;padding:2.25rem 1rem;background:rgba(255,255,255,.04);border-radius:var(--radius-lg);backdrop-filter:blur(12px);border:1px solid rgba(42,191,191,.1);transition:all var(--duration-normal) var(--ease-out-expo)}

.stat-card:hover{background:rgba(42,191,191,.06);border-color:rgba(42,191,191,.2);transform:translateY(-3px)}

.stat-card__number{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary-light);letter-spacing:-.02em}

.stat-card__label{font-size:var(--font-size-sm);color:rgba(255,255,255,.5);margin-top:.35rem;font-weight:500}

.mv-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}

@media(min-width:768px){.mv-grid{grid-template-columns:1fr 1fr}}

.mv-card{padding:2.75rem;border-radius:var(--radius-xl);background:var(--color-bg-pure);border:1px solid var(--color-border-light);position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-out-expo)}

.mv-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light));border-radius:0 2px 2px 0}

.mv-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

.mv-card__title{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:900;margin-bottom:1rem;color:var(--color-accent)}

.mv-card__text{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.75}

.director-section{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:center}

@media(min-width:768px){.director-section{grid-template-columns:auto 1fr}}

.director-photo{width:200px;height:200px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-primary-glass-md),var(--color-primary-glass));display:flex;align-items:center;justify-content:center;font-size:4.5rem;margin:0 auto;border:2px solid var(--color-primary-glass-md)}

@media(min-width:768px){.director-photo{margin:0}}

.director-info__name{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:800}

.director-info__role{font-size:var(--font-size-sm);color:var(--color-primary-dark);font-weight:600;margin-bottom:1.25rem}

.director-info__quote{font-family:var(--font-heading);font-size:var(--font-size-lg);font-style:italic;color:var(--color-text-secondary);line-height:1.75;padding-left:1.75rem;border-left:3px solid var(--color-primary)}

/* CONTACTO */
.contacto-info{display:flex;flex-direction:column;gap:1.5rem}

.contacto-info__item{display:flex;align-items:flex-start;gap:1.15rem}

.contacto-info__icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-glass-md),var(--color-primary-glass));display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}

.contacto-info__text h4{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:700;margin-bottom:.15rem}

.contacto-info__text p{font-size:var(--font-size-sm);color:var(--color-text-muted)}

.orientadora-card{background:linear-gradient(135deg,var(--color-primary-pale),rgba(42,191,191,.05));border-radius:var(--radius-xl);padding:2.75rem 2rem;border:1px solid rgba(42,191,191,.12);text-align:center;margin-top:var(--space-md)}

.orientadora-card__title{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:900;margin-bottom:.6rem}

.orientadora-card__text{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-sm);line-height:1.65}

/* TRABAJA */
.perfiles-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}

@media(min-width:768px){.perfiles-grid{grid-template-columns:repeat(2,1fr)}}

.perfil-card{background:var(--color-bg-pure);border-radius:var(--radius-lg);padding:2.25rem 1.75rem;border:1px solid var(--color-border-light);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}

.perfil-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light));transition:height var(--duration-slow) var(--ease-out-expo)}

.perfil-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover)}

.perfil-card:hover::after{height:100%}

.perfil-card__icon{font-size:2.25rem;margin-bottom:1.25rem}

.perfil-card__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:900;margin-bottom:.6rem;line-height:1.2}

.perfil-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.65}

.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}

.team-placeholder{text-align:center;padding:1.25rem}

.team-placeholder__avatar{width:100px;height:100px;border-radius:var(--radius-lg);background:var(--color-surface);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:2rem;border:2px solid var(--color-border-light);transition:all var(--duration-normal) var(--ease-out-expo)}

.team-placeholder:hover .team-placeholder__avatar{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-glow)}

.team-placeholder__name{font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:700}

.team-placeholder__role{font-size:var(--font-size-xs);color:var(--color-text-muted)}

/* ============================================================
   POLISH v4 — Enhanced micro-interactions & visual refinements
   ============================================================ */

/* Scroll Progress Bar */
.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));z-index:10001;transition:none;pointer-events:none}

/* Enhanced text selection */
::selection{background:rgba(42,191,191,.2);color:var(--color-text)}

/* Smooth focus-visible for accessibility */
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}

/* Nav link hover underline */
.navbar__link::after{content:'';position:absolute;bottom:2px;left:.85rem;right:.85rem;height:2px;background:var(--color-primary);border-radius:1px;transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out-expo)}

.navbar__link:hover::after{transform:scaleX(1);transform-origin:left}

/* Card tilt perspective */
[data-tilt]{transform-style:preserve-3d;will-change:transform}

[data-tilt] > *{transform:translateZ(20px)}

/* Enhanced card hover glow */
.feature-card,.curso-card,.impacto-card,.value-card,.perfil-card,.mv-card,.stat-card,.hero__stat{position:relative}

.feature-card::before,.curso-card::before{transition:opacity var(--duration-normal) var(--ease-out-expo)}

/* Card shimmer on hover */
.curso-card .curso-card__link::after{content:'';display:inline-block;transition:transform var(--duration-fast) var(--ease-out-expo)}

.curso-card:hover .curso-card__link{gap:.9rem;color:var(--color-primary-dark)}

/* Section divider line */
.section-divider{width:60px;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:2px;margin:0 auto var(--space-sm)}

.section__header .section-divider{margin-top:-.25rem;margin-bottom:var(--space-sm)}

.btn .btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:btn-ripple .6s ease-out forwards;pointer-events:none}

@keyframes btn-ripple{to{transform:scale(4);opacity:0}}

/* Enhanced hero stat cards */
.hero__stat{transition:all var(--duration-normal) var(--ease-out-expo);cursor:default}

.hero__stat:hover{background:rgba(42,191,191,.08);border-color:rgba(42,191,191,.3);transform:translateY(-4px);box-shadow:0 8px 32px rgba(42,191,191,.15)}

.hero__stat:hover .hero__stat-number{text-shadow:0 0 30px rgba(42,191,191,.4)}

/* Smooth scroll indicator for hero */
.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.3);font-size:var(--font-size-xs);font-family:var(--font-heading);font-weight:600;letter-spacing:.1em;text-transform:uppercase;z-index:3}

.hero__scroll-indicator__mouse{width:24px;height:38px;border:2px solid rgba(255,255,255,.25);border-radius:12px;position:relative}

.hero__scroll-indicator__mouse::before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:8px;background:rgba(255,255,255,.4);border-radius:2px;animation:scroll-mouse 1.8s ease-in-out infinite}

@keyframes scroll-mouse{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(14px)}}

@media(max-width:767px){.hero__scroll-indicator{display:none}}

/* Impacto card enhanced hover */
.impacto-card{cursor:default;position:relative;overflow:hidden}

.impacto-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-out-expo)}

.impacto-card:hover::before{transform:scaleX(1)}

.impacto-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:rgba(42,191,191,.25)}

.impacto-card:hover .impacto-card__number{transform:scale(1.05);text-shadow:0 0 20px rgba(42,191,191,.3)}

.impacto-card__number{transition:all var(--duration-normal) var(--ease-out-expo)}

.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--color-bg),transparent);pointer-events:none;z-index:1}

/* Equipo preview quote hover */
.equipo-preview__quote{transition:border-color var(--duration-normal) var(--ease-out-expo)}

.equipo-preview__quote:hover{border-color:rgba(42,191,191,.5)}

.contact-form:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}

/* Orientadora card glow */
.orientadora-card{transition:all var(--duration-normal) var(--ease-out-expo);overflow:hidden;position:relative}

.orientadora-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(42,191,191,.08) 0%,transparent 60%);opacity:0;transition:opacity var(--duration-slow)}

.orientadora-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(42,191,191,.1)}

.orientadora-card:hover::before{opacity:1}

/* Loading skeleton for images */
img[loading="lazy"]{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-border-light) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}

@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

img[loading="lazy"].loaded{animation:none;background:none}

/* Navbar CTA button */
.navbar__cta{padding:.5rem 1.2rem;font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem}

.navbar__cta:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 16px rgba(42,191,191,.3)}

/* Director photo enhanced */
.director-photo{transition:all var(--duration-normal) var(--ease-out-expo)}

.director-photo:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(42,191,191,.2);border-color:rgba(42,191,191,.3)}

/* Curso page sidebar card enhanced */
.curso-sidebar__card{transition:all var(--duration-normal) var(--ease-out-expo)}

.curso-sidebar__card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}

/* Perfil card icon animation */
.perfil-card__icon{transition:transform var(--duration-normal) var(--ease-out-expo)}

.perfil-card:hover .perfil-card__icon{transform:scale(1.15)}

/* Value card icon bounce */
.value-card__icon{transition:transform var(--duration-normal) var(--ease-spring)}

.value-card:hover .value-card__icon{transform:scale(1.2) translateY(-4px)}

/* Curso area title hover */
.cursos-area__title{transition:color var(--duration-fast);cursor:default}

.cursos-area__title:hover{color:var(--color-primary-dark)}

/* MV card hover enhanced */
.mv-card::before{transition:all var(--duration-normal) var(--ease-out-expo)}

.mv-card:hover::before{width:5px;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light),var(--color-primary))}

/* Feature card icon glow on hover */
.feature-card__icon{transition:all var(--duration-normal) var(--ease-out-expo)}

.feature-card:hover .feature-card__icon{background:linear-gradient(135deg,rgba(42,191,191,.25),rgba(42,191,191,.12));box-shadow:0 0 20px rgba(42,191,191,.15);transform:translateY(-2px)}

/* Dark section enhanced pattern */
.section--dark::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(42,191,191,.15),transparent);pointer-events:none}

.section--gradient::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);pointer-events:none}

/* Hero label badge pulse */
.hero__label{animation:hero-badge-pulse 3s ease-in-out infinite}

@keyframes hero-badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(42,191,191,.15)}50%{box-shadow:0 0 0 8px rgba(42,191,191,0)}}