/* ============================================================
   IDPE — sobre specific styles
   ============================================================ */

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;justify-content:center;overflow:hidden;background:var(--color-dark);padding:calc(var(--space-xl) + 3rem) 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%)}

.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:400px;height:400px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(42,191,191,.12) 0%,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:250px;height:250px;bottom:5%;left:-40px;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:160px;height:160px;top:35%;right:20%;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:100px;height:100px;bottom:25%;left:35%;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:200px;height:200px;top:50%;right:45%;background:radial-gradient(circle,rgba(42,191,191,.05) 0%,transparent 60%);border:1px solid rgba(42,191,191,.1);animation-duration:14s;animation-delay:-6s;animation-name:float-shape-alt}

.hero__grid{position:absolute;inset:0;pointer-events:none;opacity:.05;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__content{position:relative;z-index:2;text-align:center;max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center}

.hero__title{font-family:var(--font-heading);font-size:var(--font-size-hero);color:#fff;margin-bottom:var(--space-sm);line-height:1.08;letter-spacing:-.03em;font-weight:900}

.hero__subtitle{font-size:var(--font-size-lg);color:rgba(255,255,255,.7);max-width:700px;margin:0 auto var(--space-lg);line-height:1.7;font-weight:400}

.hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:var(--space-lg);width:100%;max-width:600px;margin-left:auto;margin-right:auto}

@media(min-width:768px){.hero__stats{grid-template-columns:repeat(4,1fr);gap:2rem}}

.hero__stat{background:rgba(255,255,255,.04);border:1px solid rgba(42,191,191,.15);padding:1.5rem 1rem;border-radius:var(--radius-lg);backdrop-filter:blur(8px);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-number{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:900;color:var(--color-primary-light);display:block;margin-bottom:.5rem;line-height:1;letter-spacing:-.02em}

.hero__stat-label{font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}

/* Sections */
section{padding:var(--space-xl) 0}

/* ===== SECTION WITH IMAGE ===== */
.section-with-image{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}

@media(min-width:768px){.section-with-image{grid-template-columns:1fr 1fr;gap:0}}

.section-with-image .content-block{padding:var(--space-lg) 0;padding-right:var(--space-lg)}

@media(max-width:767px){.section-with-image .content-block{padding:var(--space-md) 5% !important;width:100% !important;margin:0 !important}}

.section-image{position:relative;overflow:hidden;min-height:300px}

@media(min-width:768px){.section-image{min-height:auto}}

.section-image img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform var(--duration-slow) var(--ease-out-expo)}

.section-image:hover img{transform:scale(1.03)}

/* ===== PHOTO STRIP ===== */
.photo-strip{display:grid;grid-template-columns:1fr;gap:1rem;padding:var(--space-lg) 0}

@media(min-width:768px){.photo-strip{grid-template-columns:1fr 1.3fr 1fr;gap:1.25rem}}

.photo-strip__item{position:relative;border-radius:var(--radius-lg);overflow:hidden;height:280px}

@media(min-width:1024px){.photo-strip__item{height:340px}}

.photo-strip__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration-slow) var(--ease-out-expo);filter:brightness(.95)}

.photo-strip__item:hover img{transform:scale(1.04);filter:brightness(1)}

.photo-strip__item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,26,26,.4));pointer-events:none}

.photo-strip__caption{position:absolute;bottom:1rem;left:1.25rem;right:1.25rem;color:#fff;font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:700;z-index:1;line-height:1.3}

.photo-strip__caption span{font-weight:400;font-family:var(--font-body);font-size:var(--font-size-xs);display:block;color:rgba(255,255,255,.7);margin-top:.2rem}

/* ===== INSERCIÓN LIST ===== */
.insercion-list{display:flex;flex-direction:column;gap:1rem}

.insercion-item{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem 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}

.insercion-item::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;opacity:0;transition:opacity var(--duration-normal)}

.insercion-item:hover{transform:translateX(4px);box-shadow:var(--shadow-card-hover);border-color:rgba(42,191,191,.2)}

.insercion-item:hover::before{opacity:1}

.insercion-item__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;flex-shrink:0;transition:all var(--duration-normal) var(--ease-out-expo)}

.insercion-item:hover .insercion-item__icon{background:var(--color-primary)}

.insercion-item__title{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:800;margin-bottom:.25rem;color:var(--color-text)}

.insercion-item__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}

/* ===== MISSION/VISION CARDS ===== */
.mv-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:var(--space-lg)}

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

.mv-card{padding:2.5rem 2rem;background:var(--color-bg-pure);border-radius:var(--radius-lg);border-left:4px solid transparent;transition:all var(--duration-normal) var(--ease-out-expo);position:relative}

.mv-card:nth-child(1){border-left-color:var(--color-primary)}

.mv-card:nth-child(2){border-left-color:#FF6B6B}

.mv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:transparent;transition:all var(--duration-normal) var(--ease-out-expo)}

.mv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-left-width:6px}

.mv-card__icon{width:60px;height:60px;border-radius:var(--radius-lg);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}

.mv-card:nth-child(2) .mv-card__icon{background:linear-gradient(135deg,rgba(255,107,107,.15),rgba(255,107,107,.08))}

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

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

/* ===== VALUES GRID ===== */
.values-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:var(--space-lg)}

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

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

.value-card::before{content:'';position:absolute;top: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);transform-origin:left}

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

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

.value-card__icon{width:64px;height:64px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-glass-md),var(--color-primary-glass));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}

.value-card__title{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:900;margin-bottom:.75rem;color:var(--color-text)}

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

/* ===== STATS GRID ===== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:var(--space-lg)}

@media(max-width:767px){.stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}

@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(6,1fr);gap:1.5rem}}

.stat-card{padding:2rem 1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(42,191,191,.15);border-radius:var(--radius-lg);text-align:center;backdrop-filter:blur(8px);transition:all var(--duration-normal) var(--ease-out-expo);cursor:default}

.stat-card: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)}

.stat-card__number{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:900;color:var(--color-primary-light);display:block;margin-bottom:.5rem;line-height:1;letter-spacing:-.02em}

.stat-card__label{font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}

/* ===== DIRECTOR CARD ===== */
.director-card{max-width:600px;margin:0 auto;background:var(--color-bg-pure);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);transition:all var(--duration-normal) var(--ease-out-expo)}

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

.director-card__photo{width:180px;height:180px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-glass-md),var(--color-primary-glass));display:flex;align-items:center;justify-content:center;margin:2rem auto 0;border:2px solid rgba(42,191,191,.1)}

.director-card__content{padding:2rem}

.director-card__name{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:900;margin-bottom:.25rem;color:var(--color-text)}

.director-card__title{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}

.director-card__quote{font-size:var(--font-size-base);font-style:italic;color:var(--color-text-muted);margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-light);line-height:1.8}

.director-card__bio{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.8;margin-bottom:1.5rem}

.director-card__links{display:flex;gap:1rem;justify-content:center}

.director-card__link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary-glass);border-radius:var(--radius-full);color:var(--color-primary-dark);font-size:var(--font-size-sm);font-weight:600;transition:all var(--duration-normal) var(--ease-out-expo);border:1px solid rgba(42,191,191,.2)}

.director-card__link:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}

/* ===== CTA BANNER ===== */
.cta-banner{background:linear-gradient(160deg,var(--color-dark),#0D3333 50%,var(--color-accent));padding:var(--space-lg) 0;text-align:center;position:relative;overflow:hidden}

.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(42,191,191,.15) 0%,transparent 70%);pointer-events:none}

.cta-banner--photo{background-size:cover;background-position:center;background-repeat:no-repeat}

.cta-banner--photo::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,26,26,.92),rgba(13,51,51,.88) 50%,rgba(13,79,79,.9));z-index:0}

.cta-banner__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:900;color:#fff;margin-bottom:var(--space-xs);position:relative;z-index:1;text-transform:uppercase}

.cta-banner__text{font-size:var(--font-size-lg);color:rgba(255,255,255,.55);margin-bottom:var(--space-md);position:relative;z-index:1}

.cta-banner__buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;position:relative;z-index:1}

.lucide-icon--lg{width:40px;height:40px;stroke-width:1.5;color:var(--color-primary)}

.lucide-icon--animated{opacity:0;transform:scale(0.5);transition:opacity .5s var(--ease-out-expo),transform .5s var(--ease-out-expo)}

.lucide-icon--visible{opacity:1;transform:scale(1)}

.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;pointer-events:none}

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

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