*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#03152F;
  --navy2:#041630;
  --navy3:#061838;
  --navy4:#041530;
  --navy-grad:linear-gradient(135deg,#03152F 0%,#041630 60%,#061838 100%);
  --navy-grad-v:linear-gradient(180deg,#03152F 0%,#041630 55%,#061838 100%);
  --navy-grad-r:linear-gradient(135deg,#061838 0%,#041630 50%,#03152F 100%);
  --gold:#c9a227;
  --gold2:#e8be3a;
  --gold-pale:rgba(201,162,39,.08);
  --gold-border:rgba(201,162,39,.25);
  --white:#ffffff;
  --white2:rgba(244,246,250,.75);
  --off:#f4f6fa;
  --muted:rgba(6,14,28,.5);
  --muted-d:rgba(244,246,250,.45);
  --radius:2px;
  --transition:cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--off);color:var(--navy);line-height:1.6;font-size:16px;overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* ── TYPOGRAPHY ── */
h1,h2,h3,.playfair{font-family:'Playfair Display',serif}
.mono,.tag-label,.eyebrow,.sched-name,.metric-label,.section-tag,.trust-item,.ann-bar{font-family:'Space Mono',monospace}

/* ── ANNOUNCEMENT BAR ── */
.ann-bar{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:10px 20px;text-align:center;font-weight:700}
.ann-gold{background:var(--gold);color:var(--navy)}
.ann-dark{background:var(--navy);color:var(--white2)}
.ann-bar a{color:inherit;text-decoration:underline}

/* ── NAV ── */
nav{background:linear-gradient(135deg,#020c1e 0%,#030e24 60%,#04102a 100%);border-bottom:1px solid rgba(201,162,39,.15);position:sticky;top:0;z-index:100;padding:0 32px}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:64px;gap:8px}
.nav-logo{font-family:'Playfair Display',serif;font-weight:900;font-size:1.1rem;color:var(--white);cursor:pointer;margin-right:auto;line-height:1.1}
.nav-logo span{color:var(--gold)}
.nav-link,.nav-link:visited{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white2);background:none;border:none;cursor:pointer;padding:8px 10px;transition:color .2s}
.nav-link:hover,.nav-link.active{color:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:none;cursor:pointer;padding:9px 18px;border-radius:var(--radius);transition:opacity .2s}
.nav-cta:hover{opacity:.85}
/* Hamburger */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:none;padding:8px;margin-left:auto}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--white);transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile menu overlay */
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:linear-gradient(135deg,#020c1e 0%,#030e24 60%,#04102a 100%);z-index:99;flex-direction:column;padding:16px 20px 32px;overflow-y:auto;border-top:1px solid rgba(201,162,39,.2)}
.mobile-menu.open{display:flex}
.mobile-menu a,.mobile-menu button{font-family:'Space Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white2);background:none;border:none;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;padding:16px 4px;text-align:left;transition:color .2s;display:block;text-decoration:none;width:100%}
.mobile-menu a:hover,.mobile-menu a:active,.mobile-menu button:hover,.mobile-menu button:active{color:var(--gold)}
.mobile-menu .mob-cta{margin-top:20px;background:var(--gold);color:var(--navy);font-weight:700;border-radius:var(--radius);padding:16px;text-align:center;border:none}
@media(max-width:768px){
  nav{padding:0 16px}
  .nav-link{display:none!important}
  .nav-logo{font-size:.95rem}
  .nav-hamburger{display:flex}
}

/* ── PAGES ── */
.page{display:none!important}.page.active{display:block!important}

/* ── HERO EDITORIAL ── */
.hero-ed{background:var(--navy-grad);min-height:90vh;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-ed-video{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-ed-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
.hero-ed-video video{position:absolute;top:50%;left:50%;width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;transform:translate(-50%,-50%)}
.hero-ed-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(6,14,28,.88) 0%,rgba(6,14,28,.65) 55%,rgba(6,14,28,.45) 100%)}
.hero-ed-content{position:relative;z-index:2;max-width:680px;margin:0 auto;padding:100px 32px;width:100%}
.hero-ed-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-left{}
.hero-eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:24px}
.signal-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
.hero-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(38px,5vw,62px);line-height:.92;color:var(--white);margin-bottom:24px}
.hero-title em{color:var(--gold);font-style:italic}
.hero-sub{font-size:1rem;color:var(--white2);max-width:440px;line-height:1.7;margin-bottom:36px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-gold{background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border:none;cursor:pointer;padding:13px 24px;border-radius:var(--radius);transition:opacity .2s;white-space:nowrap}
.btn-gold:hover{opacity:.85}
.btn-outline{background:transparent;color:var(--white);font-family:'Space Mono',monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border:1px solid rgba(255,255,255,.25);cursor:pointer;padding:13px 24px;border-radius:var(--radius);transition:all .2s;white-space:nowrap}
.btn-outline-dark{background:transparent;color:var(--navy);font-family:'Space Mono',monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border:1px solid rgba(6,14,28,.3);cursor:pointer;padding:13px 24px;border-radius:var(--radius);transition:all .2s;white-space:nowrap}
.btn-outline-dark:hover{border-color:var(--navy);background:var(--navy);color:var(--gold)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.hero-right{position:relative}
.hero-img-wrap{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.hero-img-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.hero-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,14,28,.7) 0%,transparent 50%)}
.hero-tag{position:absolute;bottom:20px;left:20px;right:20px;font-family:'Space Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white2)}
.hero-tag strong{display:block;font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--white);text-transform:none;letter-spacing:0;margin-bottom:4px}
@media(max-width:900px){
  .hero-ed-inner{grid-template-columns:1fr;gap:40px}
  .hero-right{max-width:480px}
}

/* ── METRICS ── */
.metrics{background:linear-gradient(135deg,#051E4A 0%,#071f4c 100%);border-top:1px solid var(--gold-border);border-bottom:1px solid var(--gold-border)}
.metrics.c4{display:grid;grid-template-columns:repeat(4,1fr)}
.metrics.c6{display:grid;grid-template-columns:repeat(6,1fr)}
.metric{padding:28px 24px;border-right:1px solid var(--gold-border)}
.metric:last-child{border-right:none}
.metric-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-d);margin-bottom:6px}
.metric-val{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;color:var(--white);line-height:1}
.metric-val.gold{color:var(--gold)}
.metric-accent{font-size:.75rem;color:var(--white2);margin-top:4px}
@media(max-width:900px){.metrics.c6{grid-template-columns:repeat(3,1fr)}.metric{border-bottom:1px solid var(--gold-border)}}
@media(max-width:768px){.metrics.c4{grid-template-columns:repeat(2,1fr)}.metrics.c6{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--gold-border)}}

/* ── ALUMNI STRIP ── */
.alumni-strip{background:var(--navy-grad);padding:60px 32px}
.alumni-inner{max-width:1200px;margin:0 auto}
.alumni-eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:32px}
.alumni-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.alumni-img{aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius)}
.alumni-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--transition)}
.alumni-img:hover img{transform:scale(1.04)}
@media(max-width:768px){.alumni-grid{grid-template-columns:repeat(2,1fr)}}

/* ── EGRESADOS GALLERY ── */
.egresados-section{background:var(--navy-grad);padding:80px 32px}
.egresados-inner{max-width:1200px;margin:0 auto}
.egresados-header{margin-bottom:52px}
.egresados-eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:16px}
.egresados-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,4vw,44px);line-height:1.1;color:var(--white)}
.egresados-title em{color:var(--gold);font-style:italic}
.egresados-sub{font-size:.9rem;color:var(--muted-d);margin-top:14px;max-width:520px;line-height:1.7}
/* Gallery grid */
.eg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
/* Card */
.eg-card{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;opacity:0;transform:translateY(28px)}
.eg-card.eg-in{animation:egFadeUp .6s cubic-bezier(.4,0,.2,1) forwards}
@keyframes egFadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes tickerL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tickerR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ticker-wrap{overflow:hidden;padding:14px 0;border-top:1px solid rgba(201,162,39,.2);border-bottom:1px solid rgba(201,162,39,.2)}
.ticker-track{display:flex;width:max-content;gap:0}
.ticker-track.go-l{animation:tickerL 28s linear infinite}
.ticker-track.go-r{animation:tickerR 22s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding:0 32px;color:var(--white2)}
.ticker-item span{color:var(--gold);margin:0 8px}
/* Image layer */
.eg-img{position:absolute;inset:0;background:var(--ci,none) center/cover no-repeat,linear-gradient(160deg,var(--cc,#051E4A) 0%,#031428 100%);transition:transform .65s cubic-bezier(.4,0,.2,1)}
.eg-card:hover .eg-img{transform:scale(1.07)}
/* Initials fallback */
.eg-initial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:900;color:rgba(201,162,39,.16);pointer-events:none;z-index:1;user-select:none;letter-spacing:.05em}
/* Overlay */
.eg-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,14,28,.98) 0%,rgba(6,14,28,.6) 44%,rgba(6,14,28,.08) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;z-index:2}
.eg-always{margin-bottom:6px}
.eg-tag{font-family:'Space Mono',monospace;font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);line-height:1.6}
.eg-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--white);line-height:1.2;margin-top:3px}
/* Reveal on hover */
.eg-reveal{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.eg-card:hover .eg-reveal{max-height:240px}
.eg-desc{font-size:.75rem;color:var(--white2);line-height:1.6;margin-top:10px;opacity:0;transform:translateY(8px);transition:opacity .3s .1s ease,transform .3s .1s ease}
.eg-card:hover .eg-desc{opacity:1;transform:translateY(0)}
.eg-badge{font-family:'Space Mono',monospace;font-size:.47rem;text-transform:uppercase;letter-spacing:.07em;color:var(--navy);background:var(--gold);display:inline-block;padding:3px 7px;margin-top:8px;opacity:0;transition:opacity .3s .18s ease}
.eg-card:hover .eg-badge{opacity:1}
.eg-link{font-family:'Space Mono',monospace;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:5px;margin-top:10px;opacity:0;transition:opacity .3s .22s ease}
.eg-card:hover .eg-link{opacity:1}
@media(hover:none){.eg-card .eg-reveal{max-height:none}.eg-card .eg-desc,.eg-card .eg-badge,.eg-card .eg-link{opacity:1;transform:none}}
/* Footer */
.egresados-footer{margin-top:36px;padding-top:26px;border-top:1px solid var(--gold-border);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.egresados-footer-text{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-d)}
.egresados-footer-text strong{color:var(--gold)}
@media(max-width:900px){.eg-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.eg-grid{grid-template-columns:repeat(2,1fr)}.egresados-section{padding:60px 20px}}
@media(max-width:480px){.eg-grid{grid-template-columns:1fr}.eg-card{aspect-ratio:4/3}}

/* ── SECTIONS ── */
section{padding:72px 32px}
.section-inner{max-width:1200px;margin:0 auto}
.section-eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:12px}
.section-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(28px,4vw,42px);line-height:1.1;margin-bottom:20px}
.section-title em{color:var(--gold);font-style:italic}
.section-sub{font-size:.95rem;color:var(--muted);max-width:600px;line-height:1.8;margin-bottom:40px}

/* ── COURSE CARDS ── */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.cat-tab{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;background:transparent;color:var(--navy);border:1px solid rgba(6,14,28,.2);cursor:pointer;padding:8px 16px;border-radius:var(--radius);transition:all .2s}
.cat-tab.active,.cat-tab:hover{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.course-card{display:block;text-decoration:none;color:inherit;background:var(--white);border:1px solid rgba(6,14,28,.08);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.course-card:visited,.course-card:active,.course-card:focus{color:inherit;text-decoration:none}
.course-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(6,14,28,.12)}
.card-img{aspect-ratio:16/9;overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.course-card:hover .card-img img{transform:scale(1.04)}
.card-chip{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:var(--radius)}
.card-body{padding:20px}
.card-level{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.card-name{font-family:'Playfair Display',serif;font-weight:700;font-size:1.2rem;margin-bottom:12px;line-height:1.2}
.card-meta{display:flex;justify-content:space-between;align-items:flex-end}
.card-price{font-family:'Playfair Display',serif;font-weight:900;font-size:1.4rem;color:var(--navy)}
.card-price-old{font-family:'Space Mono',monospace;font-size:.65rem;text-decoration:line-through;color:var(--muted);display:block}
.card-dur{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--muted);text-align:right}

/* ── COURSE DETAIL ── */
.crs-back-bar{background:linear-gradient(135deg,#051E4A 0%,#071f4c 100%);border-bottom:1px solid var(--gold-border);padding:14px 32px}
.crs-back-btn{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white2);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .2s}
.crs-back-btn:hover{color:var(--gold)}

.crs-hero{background:var(--navy-grad);padding:72px 32px}
.crs-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.crs-hero--light{background:#fff!important}
.crs-hero--light .crs-title{color:var(--navy)!important}
.crs-hero--light .crs-desc-text{color:var(--muted)!important}
.crs-eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:20px}
.crs-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(32px,4vw,52px);line-height:.95;color:var(--white);margin-bottom:16px}
.crs-level{font-family:'Space Mono',monospace;font-size:.75rem;color:var(--white2);margin-bottom:32px}
.crs-desc-title{font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;color:var(--gold2);margin-bottom:14px}
.crs-desc-text{font-size:.9rem;color:var(--white2);line-height:1.8;margin-bottom:32px}
.crs-ctabtn{display:flex;flex-direction:column;gap:10px;align-items:flex-start}

.price-bar{border-top:2px solid var(--gold);border-bottom:1px solid var(--gold-border);background:var(--off);padding:28px 32px}
.price-bar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.promo-chip{background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:var(--radius)}
.price-row{display:flex;align-items:baseline;gap:12px}
.price-new{font-family:'Playfair Display',serif;font-weight:900;font-size:2rem;color:var(--navy)}
.price-old{font-family:'Space Mono',monospace;font-size:.75rem;text-decoration:line-through;color:var(--muted)}
.price-off{font-family:'Space Mono',monospace;font-size:.7rem;color:var(--gold);font-weight:700}
.price-note{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--muted);margin-left:auto}

/* ── SCHED BAR ── */
.sched-bar{background:linear-gradient(135deg,#051E4A 0%,#071f4c 100%);padding:28px 32px;border-bottom:1px solid var(--gold-border)}
.sched-bar-inner{max-width:1200px;margin:0 auto}
.sched-label{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-d);margin-bottom:14px}
.sched-pills{display:flex;flex-wrap:wrap;gap:10px}
.sched-pill{border:1px solid var(--gold-border);border-radius:var(--radius);padding:10px 18px;display:flex;flex-direction:column;gap:2px}
.sched-time{font-family:'Space Mono',monospace;font-size:.75rem;font-weight:700;color:var(--gold)}
.sched-name{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-d)}

/* ── TWO COL ── */
.two-col{background:var(--navy-grad);padding:84px 32px}
.two-col.light{background:var(--off);padding:84px 32px}
.two-col-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px}
.col-block{}
.section-tag{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:14px}
.two-col.light .section-tag{color:var(--gold)}
.col-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(22px,3vw,30px);line-height:1.15;margin-bottom:16px}
.two-col:not(.light) .col-title{color:var(--white)}
.col-p{font-size:1rem;line-height:1.9;color:var(--muted)}
.two-col:not(.light) .col-p{color:var(--white2)}
.quote-block{border-left:2px solid var(--gold);padding-left:20px;margin-top:28px}
.quote-block p{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.18rem;line-height:1.65;letter-spacing:.005em}
.two-col:not(.light) .quote-block p{color:var(--white)}
.quote-author{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:8px}
.two-col:not(.light) .quote-author{color:var(--muted-d)}
.item-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(201,162,39,.1)}
.item-arr{color:var(--gold);font-size:1rem;line-height:1.6;flex-shrink:0}
.item-text{font-size:.88rem;line-height:1.6}
.two-col:not(.light) .item-text{color:var(--white2)}
@media(max-width:900px){.two-col-inner{grid-template-columns:1fr;gap:40px}}

/* ── POR QUÉ EUF ── */
.why-euf{background:var(--off);padding:84px 32px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.why-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 18px rgba(5,30,74,.07);transition:box-shadow .3s}
.why-card:hover{box-shadow:0 6px 32px rgba(5,30,74,.13)}
.why-card-img{aspect-ratio:4/3;overflow:hidden}
.why-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.why-card:hover .why-card-img img{transform:scale(1.05)}
.why-card-body{padding:20px 22px 24px}
.why-card-title{font-family:'Playfair Display',serif;font-weight:700;font-size:1.05rem;color:var(--navy);margin-bottom:8px;line-height:1.25}
.why-card-desc{font-size:.82rem;color:var(--muted);line-height:1.75}
@media(max-width:960px){.why-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr;gap:16px}}

/* ── ITEMS SECTION ── */
.items-section{background:var(--navy2);padding:64px 32px}
.items-section-inner{max-width:1200px;margin:0 auto}
.items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
@media(max-width:600px){.items-grid{grid-template-columns:1fr}}

/* ── PREREQS ── */
.prereqs{background:var(--off);padding:56px 32px}
.prereqs-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.prereq-label{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:12px}
.prereq-p{font-size:.9rem;color:var(--muted);line-height:1.8}
@media(max-width:600px){.prereqs-inner{grid-template-columns:1fr}}

/* ── PHOTO CTA ── */
.photo-cta{position:relative;height:300px;overflow:hidden}
.photo-cta img{width:100%;height:100%;object-fit:cover;display:block}
.photo-cta-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,14,28,.8) 0%,rgba(201,162,39,.2) 100%)}
.photo-cta-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:40px 48px}
.photo-cta-text .section-tag{color:var(--gold)}
.photo-cta-text h3{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(24px,4vw,38px);color:var(--white);line-height:1.1;margin-bottom:8px}
.photo-cta-text p{font-size:.9rem;color:var(--white2)}

/* ── WORLD STRIP ── */
.world-strip{background:var(--navy);padding:36px 32px;border-top:1px solid var(--gold-border);border-bottom:1px solid var(--gold-border)}
.world-strip-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.world-label{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-d)}
.world-flags{display:flex;gap:12px}
.world-flag{font-size:1.4rem}
.world-text{font-family:'Space Mono',monospace;font-size:.75rem;color:var(--white2);margin-left:auto}

/* ── FINAL CTA ── */
.final-cta{background:var(--navy-grad);padding:80px 32px}
.final-cta.light{background:var(--off)}
.final-cta-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:start}
.final-title{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(28px,4vw,44px);line-height:1.05;margin-bottom:16px}
.final-cta:not(.light) .final-title{color:var(--white)}
.final-title em{color:var(--gold);font-style:italic}
.final-sub{font-size:.9rem;line-height:1.8;margin-bottom:32px;max-width:480px}
.final-cta:not(.light) .final-sub{color:var(--white2)}
.final-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.contact-info{font-family:'Space Mono',monospace;font-size:.7rem;color:var(--muted-d);line-height:2}
.final-cta.light .contact-info{color:var(--muted)}
.price-box{background:var(--navy2);border:1px solid var(--gold-border);border-radius:var(--radius);padding:32px;min-width:240px}
.final-cta.light .price-box{background:var(--white);border-color:rgba(6,14,28,.1)}
.pb-chip{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;background:var(--gold);color:var(--navy);padding:4px 10px;border-radius:var(--radius);margin-bottom:14px;display:inline-block}
.pb-old{font-family:'Space Mono',monospace;font-size:.7rem;text-decoration:line-through;color:var(--muted-d);margin-bottom:4px}
.final-cta.light .pb-old{color:var(--muted)}
.pb-new{font-family:'Playfair Display',serif;font-weight:900;font-size:2.2rem;color:var(--gold);line-height:1;margin-bottom:8px}
.pb-note{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--muted-d);margin-bottom:20px;line-height:1.6}
.final-cta.light .pb-note{color:var(--muted)}
.pb-pay{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--gold);border-top:1px solid var(--gold-border);padding-top:14px}
@media(max-width:900px){.final-cta-inner{grid-template-columns:1fr}.price-box{max-width:100%}}

/* ── TRUST BAR ── */
.trust-bar{background:var(--navy2);border-top:1px solid var(--gold-border);padding:22px 32px}
.trust-bar-inner{max-width:1200px;margin:0 auto;display:flex;gap:32px;flex-wrap:wrap;align-items:center;justify-content:center}
.trust-item{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:var(--white2);display:flex;align-items:center;gap:8px}
.trust-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}

/* ── NOSOTROS ── */
.nosotros-hero{background:var(--navy);padding:80px 32px}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;max-width:1200px;margin:0 auto}
@media(max-width:900px){.nos-grid{grid-template-columns:1fr}}
.nos-img{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius)}
.nos-img img{width:100%;height:100%;object-fit:cover}
.nos-stat{font-family:'Playfair Display',serif;font-weight:900;font-size:3rem;color:var(--gold);line-height:1}
.nos-stat-label{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white2);margin-bottom:32px}

/* ── IMPULSO ── */
.impulso-hero{background:radial-gradient(ellipse at 92% 92%, #1a30ff 0%, #0500aa 22%, #080018 52%, #040008 100%);padding:80px 32px;border-bottom:1px solid rgba(100,80,255,.25);position:relative;overflow:hidden}
.impulso-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 10% 20%,rgba(80,0,180,.18) 0%,transparent 55%);pointer-events:none}
.impulso-spaces{background:var(--off);padding:72px 32px}
.spaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
@media(max-width:768px){.spaces-grid{grid-template-columns:1fr}}
.space-card{background:var(--white);border:1px solid rgba(6,14,28,.08);border-radius:var(--radius);overflow:hidden}
.space-img{aspect-ratio:3/2;overflow:hidden}
.space-img img{width:100%;height:100%;object-fit:cover;display:block}
.space-body{padding:24px}
.space-name{font-family:'Playfair Display',serif;font-weight:700;font-size:1.2rem;margin-bottom:8px}
.space-desc{font-size:.88rem;color:var(--muted);line-height:1.7}

.memberships{background:var(--navy);padding:72px 32px}
.mem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
@media(max-width:768px){.mem-grid{grid-template-columns:1fr}}
.mem-card{border-radius:var(--radius);overflow:hidden}
.mem-card.featured{border:2px solid var(--gold)}
.mem-header{padding:28px 24px;background:var(--navy3)}
.mem-card.featured .mem-header{background:var(--gold)}
.mem-tag{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-d);margin-bottom:8px}
.mem-card.featured .mem-tag{color:rgba(6,14,28,.6)}
.mem-name{font-family:'Playfair Display',serif;font-weight:900;font-size:1.4rem;color:var(--white);margin-bottom:4px}
.mem-card.featured .mem-name{color:var(--navy)}
.mem-price{font-family:'Playfair Display',serif;font-weight:900;font-size:2.2rem;color:var(--gold)}
.mem-card.featured .mem-price{color:var(--navy)}
.mem-period{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--muted-d)}
.mem-card.featured .mem-period{color:rgba(6,14,28,.6)}
.mem-body{padding:24px;background:var(--navy2)}
.mem-card.featured .mem-body{background:var(--navy3)}
.mem-feature{font-size:.85rem;color:var(--white2);padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px}
.mem-feature::before{content:'→';color:var(--gold);font-size:.75rem}
.mem-cta{display:block;margin-top:20px;text-align:center;background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:none;cursor:pointer;padding:12px;border-radius:var(--radius);width:100%;transition:opacity .2s}
.mem-cta:hover{opacity:.85}

.talleres-section{background:var(--off);padding:72px 32px}
/* Featured card — IMPULSO LAB */
.tl-feat{background:var(--navy);border-radius:var(--radius);padding:40px 44px;margin-bottom:16px;display:grid;grid-template-columns:1fr 240px;gap:48px;align-items:center}
.tl-feat-eyebrow{font-family:'Space Mono',monospace;font-size:.57rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:14px}
.tl-feat-name{font-family:'Playfair Display',serif;font-weight:900;font-size:1.9rem;color:var(--white);line-height:1.1;margin-bottom:10px}
.tl-feat-sub{font-family:'Space Mono',monospace;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-d);margin-bottom:16px}
.tl-feat-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,162,39,.28);border-radius:2px;padding:7px 16px;font-family:'Space Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin-bottom:20px}
.tl-feat-desc{font-size:.86rem;color:var(--white2);line-height:1.7;margin-bottom:6px;max-width:460px}
.tl-feat-nota{font-size:.74rem;color:var(--muted-d);line-height:1.6;max-width:460px}
.tl-feat-right{text-align:right}
.tl-feat-topic-lbl{font-family:'Space Mono',monospace;font-size:.53rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:8px}
.tl-feat-topic{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--white);line-height:1.35;margin-bottom:22px}
.tl-feat-price{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;color:var(--white);line-height:1}
.tl-feat-price-lbl{font-size:.6rem;color:var(--muted-d);margin-top:4px;margin-bottom:5px}
.tl-feat-price-insc{font-size:.76rem;color:var(--gold);font-weight:600;margin-bottom:22px}
/* Cards 2-col */
.tl-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tl-card{background:var(--white);border:1px solid rgba(6,14,28,.08);border-radius:var(--radius);padding:28px 32px;display:flex;flex-direction:column}
.tl-card-eyebrow{font-family:'Space Mono',monospace;font-size:.56rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gold);margin-bottom:10px}
.tl-card-name{font-family:'Playfair Display',serif;font-weight:900;font-size:1.2rem;color:var(--navy);line-height:1.2;margin-bottom:6px}
.tl-card-sub{font-family:'Space Mono',monospace;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:14px}
.tl-card-chip{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--navy);font-weight:500;margin-bottom:14px}
.tl-card-chip::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
.tl-card-desc{font-size:.83rem;color:var(--muted);line-height:1.65;margin-bottom:6px}
.tl-card-nota{font-size:.73rem;color:rgba(6,14,28,.4);line-height:1.6}
.tl-card-footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(6,14,28,.07);display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tl-card-price{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:var(--navy);line-height:1}
.tl-card-price-sub{font-size:.6rem;color:var(--muted);margin-top:3px}
.tl-card-price-insc{font-size:.7rem;color:var(--gold);font-weight:600;margin-top:3px}
.tl-prox-badge{display:inline-block;font-family:'Space Mono',monospace;font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:4px 10px;border:1px solid rgba(6,14,28,.14);border-radius:2px;margin-bottom:8px}
.taller-btn{margin-top:16px;display:block;width:100%;text-align:center}
@media(max-width:720px){.tl-feat{grid-template-columns:1fr;gap:28px}.tl-feat-right{text-align:left}.tl-row{grid-template-columns:1fr}}

/* ── BECAS ── */
.becas-hero{background:var(--navy);padding:80px 32px}
.becas-tipos{background:var(--off);padding:72px 32px}
.beca-card{background:var(--white);border:1px solid rgba(6,14,28,.08);border-radius:var(--radius);padding:32px;margin-bottom:20px}
.beca-title{font-family:'Playfair Display',serif;font-weight:700;font-size:1.3rem;margin-bottom:8px}
.beca-desc{font-size:.9rem;color:var(--muted);line-height:1.8}

/* ── CONTACTO ── */
.contacto-hero{background:var(--navy);padding:72px 32px}
.contacto-form-section{background:var(--off);padding:72px 32px}
.contact-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--white);border:1px solid rgba(6,14,28,.15);border-radius:var(--radius);padding:12px 16px;font-family:'Poppins',sans-serif;font-size:.9rem;color:var(--navy);outline:none;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group textarea{min-height:120px;resize:vertical}
.contact-details .cd-item{display:flex;gap:12px;margin-bottom:20px;align-items:flex-start}
.cd-icon{color:var(--gold);font-size:1rem;margin-top:2px;flex-shrink:0}
.cd-label{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}
.cd-val{font-size:.9rem;color:var(--navy)}

/* ── CARRERA ── */
.carrera-hero{background:var(--navy);padding:0;overflow:hidden;position:relative}
.carrera-hero-img{width:100%;height:600px;object-fit:cover;object-position:center 20%;display:block;opacity:.4}
.carrera-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:60px 48px;background:linear-gradient(to top,var(--navy) 30%,transparent 100%)}
.carrera-modulos{background:var(--off);padding:72px 32px}
.mod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
@media(max-width:768px){.mod-grid{grid-template-columns:1fr}}
.mod-card{background:var(--white);border:1px solid rgba(6,14,28,.08);border-radius:var(--radius);padding:36px}
.mod-num{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.mod-title{font-family:'Playfair Display',serif;font-weight:700;font-size:1.1rem;margin-bottom:8px}
.mod-desc{font-size:.95rem;color:var(--muted);line-height:1.85}

/* ── INSCRIPCION MODAL ── */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(6,14,28,.75);z-index:999;align-items:center;justify-content:center;padding:20px}
.modal-bg.open{display:flex}
.modal{background:var(--white);border-radius:var(--radius);max-width:560px;width:100%;max-height:90vh;overflow-y:auto}
.modal-header{background:var(--navy);padding:28px 32px;display:flex;justify-content:space-between;align-items:start}
.modal-title{font-family:'Playfair Display',serif;font-weight:900;font-size:1.3rem;color:var(--white)}
.modal-subtitle{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--gold);margin-top:4px}
.modal-close{background:none;border:none;color:var(--white2);cursor:pointer;font-size:1.4rem;line-height:1;padding:4px;flex-shrink:0}
.modal-body{padding:32px}
.modal-payment-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.pay-opt{border:1px solid rgba(6,14,28,.15);border-radius:var(--radius);padding:16px;cursor:pointer;transition:all .2s;text-align:center}
.pay-opt:hover,.pay-opt.selected{border-color:var(--gold);background:var(--gold-pale)}
.pay-opt-name{font-family:'Space Mono',monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--navy);margin-bottom:4px}
.pay-opt-desc{font-size:.78rem;color:var(--muted)}
.modal-submit{width:100%;padding:14px;background:var(--gold);color:var(--navy);font-family:'Space Mono',monospace;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:none;cursor:pointer;border-radius:var(--radius);margin-top:20px;transition:opacity .2s}
.modal-submit:hover{opacity:.85}
.modal-success{text-align:center;padding:16px 0}
.modal-success h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:8px}
.modal-success p{font-size:.9rem;color:var(--muted)}

/* ── MODAL FORM MEJORADO ── */
.form-section-title{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:20px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--gold-border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:500px){.form-row{grid-template-columns:1fr}}
.radio-row{display:flex;gap:20px;margin-top:6px;flex-wrap:wrap}
.radio-opt{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--navy);cursor:pointer}
.radio-opt input{accent-color:var(--gold);width:14px;height:14px}
.checkbox-opt{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--navy);cursor:pointer;line-height:1.5}
.checkbox-opt input{accent-color:var(--gold);width:15px;height:15px;margin-top:1px;flex-shrink:0}
.reglamento-title{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--gold-border)}
.reglamento-box{max-height:130px;overflow-y:auto;border:1px solid rgba(6,14,28,.12);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;background:rgba(6,14,28,.02)}
.reglamento-box p{font-size:.76rem;color:var(--muted);line-height:1.7;margin-bottom:6px}
.reglamento-box p:last-child{margin-bottom:0}
.payment-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 0}
@media(max-width:420px){.payment-methods-grid{grid-template-columns:1fr 1fr}}
.pay-method{border:1px solid rgba(6,14,28,.15);border-radius:var(--radius);padding:12px 8px;cursor:pointer;transition:all .2s;text-align:center}
.pay-method:hover,.pay-method.selected{border-color:var(--gold);background:var(--gold-pale)}
.pay-method-icon{font-size:1.4rem;margin-bottom:5px;line-height:1}
.pay-method-name{font-family:'Space Mono',monospace;font-size:.6rem;font-weight:700;text-transform:uppercase;color:var(--navy);letter-spacing:.04em}
.pay-method-sub{font-size:.7rem;color:var(--muted);margin-top:2px}
.payment-details{background:rgba(201,162,39,.06);border:1px solid var(--gold-border);border-radius:var(--radius);padding:14px 16px;margin:10px 0 0}
.pd-title{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:10px;font-weight:700}
.pd-line{display:flex;gap:10px;margin-bottom:5px;font-size:.8rem;line-height:1.4}
.pd-key{color:var(--muted);min-width:90px;flex-shrink:0}
.pd-val{color:var(--navy);font-weight:500}
.modal-submit-secondary{background:var(--navy);color:var(--white)}
.modal-submit-secondary:hover{background:var(--navy2);opacity:1}

/* ── BANNER SLIDER ── */
.banner-strip{background:var(--navy2);position:relative;overflow:hidden;line-height:0}
.banner-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.banner-slide{min-width:100%;max-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--navy2)}
.banner-slide img{width:100%;height:100%;object-fit:contain;max-height:300px;display:block}
.banner-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(6,14,28,.6);border:1px solid rgba(201,162,39,.4);color:var(--gold);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;font-size:1.3rem;line-height:1;transition:all .2s;padding:0}
.banner-btn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.banner-prev{left:10px}.banner-next{right:10px}
.banner-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.banner-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .2s}
.banner-dot.active{background:var(--gold);transform:scale(1.3)}
@media(max-width:768px){.banner-slide,.banner-slide img{max-height:180px}}

/* ── ICO ── */
.ico{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico-dark svg{stroke:var(--navy)}

/* ── FOOTER ── */
footer{background:linear-gradient(135deg,#020c1e 0%,#030e24 60%,#04102a 100%);border-top:1px solid var(--gold-border);padding:48px 32px 28px}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-bottom:40px}
@media(max-width:768px){.footer-top{grid-template-columns:1fr}}
.footer-logo{font-family:'Playfair Display',serif;font-weight:900;font-size:1.2rem;color:var(--white);margin-bottom:12px}
.footer-logo span{color:var(--gold)}
.footer-desc{font-size:.85rem;color:var(--muted-d);line-height:1.7;max-width:240px}
.footer-heading{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:16px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:8px}
.footer-links button,.footer-links a,.footer-links a:visited{background:none;border:none;color:var(--muted-d);font-size:.85rem;cursor:pointer;padding:0;font-family:'Poppins',sans-serif;transition:color .2s;text-decoration:none}
.footer-links button:hover,.footer-links a:hover{color:var(--white)}
.social-row{display:flex;gap:12px;margin-top:16px}
.social-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white2);transition:all .2s}
.social-btn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.contacto-form-section .social-btn{background:rgba(6,14,28,.08);border-color:rgba(6,14,28,.2);color:var(--navy)}
.contacto-form-section .social-btn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-copy{font-family:'Space Mono',monospace;font-size:.6rem;color:var(--muted-d);text-transform:uppercase;letter-spacing:.06em}
/* ── GALERÍA ── */
.gal-filter{font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;padding:8px 18px;border-radius:2px;border:1px solid var(--gold-border);background:transparent;color:var(--white2);cursor:pointer;transition:all .2s}
.nivel-card:hover{border-color:var(--gold)!important;box-shadow:0 8px 32px rgba(201,162,39,.12);transform:translateY(-2px)}
@media(max-width:768px){.nivel-card{grid-column:span 1}}
/* Quiz de nivel */
.quiz-row{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius);border:1.5px solid rgba(6,14,28,.1);background:var(--white);transition:border-color .3s,box-shadow .3s}
.quiz-row.selected{border-color:var(--gold);box-shadow:0 4px 20px rgba(201,162,39,.1)}
.quiz-label{width:150px;flex-shrink:0}
.quiz-label-title{font-family:'Space Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);font-weight:700}
.quiz-track{position:relative;flex:1;display:flex;border-radius:6px;border:1px solid rgba(6,14,28,.12);overflow:hidden;background:rgba(6,14,28,.03)}
.quiz-pill{position:absolute;top:2px;bottom:2px;width:calc(33.333% - 4px);background:var(--navy);border-radius:4px;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s;opacity:0;pointer-events:none}
.quiz-option{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;cursor:pointer;border:none;background:transparent;transition:color .2s;gap:2px}
.quiz-option-label{font-family:'Space Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.04em;color:var(--navy);transition:color .2s;white-space:nowrap}
.quiz-option-sub{font-size:.68rem;color:var(--muted);text-align:center;line-height:1.3;transition:color .2s}
.quiz-option.active .quiz-option-label{color:var(--gold)}
.quiz-option.active .quiz-option-sub{color:rgba(255,255,255,.6)}
.quiz-option:hover:not(.active) .quiz-option-label{color:var(--navy)}
#nivel-result{transition:opacity .35s,transform .35s}
#nivel-result.visible{opacity:1;transform:translateY(0)}
#nivel-result.hidden{opacity:0;transform:translateY(12px)}
@media(max-width:640px){.quiz-row{flex-direction:column;align-items:stretch}.quiz-label{width:auto}}
.gal-filter.active,.gal-filter:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.gal-item{break-inside:avoid;margin-bottom:8px;overflow:hidden;cursor:pointer;position:relative}
.gal-item img{width:100%;display:block;transition:transform .35s}
.gal-item:hover img{transform:scale(1.04)}
.gal-item .gal-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(6,14,28,.75));padding:16px 12px 10px;font-family:'Space Mono',monospace;font-size:.58rem;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.06em;opacity:0;transition:opacity .25s}
.gal-item:hover .gal-caption{opacity:1}
/* Lightbox */
.lb-bg{display:none;position:fixed;inset:0;background:rgba(6,14,28,.95);z-index:10000;align-items:center;justify-content:center;padding:20px}
.lb-bg.open{display:flex}
.lb-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:2px;box-shadow:0 20px 80px rgba(0,0,0,.6)}
.lb-close{position:fixed;top:20px;right:28px;color:var(--white2);font-size:2rem;cursor:pointer;background:none;border:none;line-height:1;z-index:10001}
.lb-close:hover{color:var(--gold)}
/* ── IMAGE PROTECTION ── */
img{-webkit-user-drag:none;user-select:none}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);color:var(--white2);font-size:2.5rem;cursor:pointer;background:none;border:none;z-index:10001;padding:0 20px;transition:color .2s}
.lb-nav:hover{color:var(--gold)}
.lb-prev{left:0}.lb-next{right:0}
.lb-caption{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-family:'Space Mono',monospace;font-size:.65rem;color:var(--white2);text-transform:uppercase;letter-spacing:.08em;text-align:center}
@media(max-width:768px){
  #gal-grid{columns:2!important}
}
@media(max-width:480px){
  #gal-grid{columns:1!important}
}

/* ══════════ MOBILE GLOBAL ══════════ */
@media(max-width:768px){

  /* ── NAV ── */
  nav{padding:0 16px}

  /* ── HERO INICIO ── */
  .hero-ed{min-height:70vh}
  .hero-ed-content{padding:72px 20px}
  .hero-title{font-size:clamp(32px,9vw,48px)}
  .hero-sub{font-size:.9rem}
  .hero-btns{flex-direction:column;gap:10px}
  .hero-btns .btn-gold,.hero-btns .btn-outline{width:100%;text-align:center;padding:14px}

  /* ── CURSOS PAGE ── */
  .course-grid{grid-template-columns:1fr!important}

  /* ── COURSE DETAIL ── */
  .crs-hero{padding:48px 20px 40px!important}
  .crs-hero-inner{grid-template-columns:1fr!important;gap:28px!important}
  .crs-title{font-size:clamp(26px,8vw,40px)!important}

  /* Investment block */
  .crs-invest-grid{grid-template-columns:1fr!important}
  .crs-invest-grid>div:last-child{position:static!important}
  .crs-invest-includes{grid-template-columns:1fr!important}

  /* Promises */
  .promises-grid,.trust-grid{grid-template-columns:1fr!important}

  /* Prácticas arte — 2 col → 1 col */
  .arte-practicas-grid{grid-template-columns:1fr!important;gap:32px!important}

  /* Docente arte split — apila en lugar de dividir */
  .arte-docente-split{background:#1a0800!important}
  .arte-docente-split>div{grid-template-columns:1fr!important}
  .arte-docente-left{padding:36px 20px 28px!important}
  .arte-docente-right{padding:28px 20px 36px!important;border-left:none!important;border-top:1px solid rgba(201,162,39,.2)!important}

  /* Programa arte — lista vertical */
  .arte-programa-list{padding:52px 20px!important}

  /* Prereqs */
  .prereqs{padding:40px 20px}
  .prereqs-inner{grid-template-columns:1fr!important;gap:28px}

  /* Horarios */
  .sched-pills{flex-direction:column!important;gap:10px!important}
  .sched-pill{width:100%!important}

  /* Final CTA */
  .final-cta{padding:52px 20px!important}
  .final-cta-inner{grid-template-columns:1fr!important;gap:32px}
  .final-title{font-size:clamp(24px,7vw,36px)!important}
  .final-btns{flex-direction:column;gap:10px}
  .final-btns .btn-gold,.final-btns .btn-outline{width:100%;text-align:center}

  /* Trust bar */
  .trust-bar-inner{flex-wrap:wrap;gap:10px}

  /* Secciones inline padding */
  .section-padding-mobile{padding:48px 20px!important}

  /* Docente card grid */
  .docentes-grid{grid-template-columns:1fr!important}

  /* Módulos programa */
  .mod-grid{grid-template-columns:1fr}

  /* Photo CTA */
  .photo-cta{height:240px!important}
  .photo-cta img{object-position:right 20%!important}
  .photo-cta-overlay{background:linear-gradient(to bottom,rgba(6,14,28,.85) 0%,rgba(6,14,28,.9) 100%)!important}

  /* Footer */
  .footer-top{grid-template-columns:1fr!important}

  /* Impulso page */
  .mem-grid{grid-template-columns:1fr!important}
  .spaces-grid{grid-template-columns:1fr!important}

  /* Nos page */
  .nos-grid{grid-template-columns:1fr!important}

  /* Becas */
  .two-col-inner{grid-template-columns:1fr!important;gap:32px}

  /* Formulario contacto */
  .contact-grid{grid-template-columns:1fr!important}
  .form-row{grid-template-columns:1fr!important}

  /* Inline grids del showCourse sin clase */
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:2fr 3fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr auto"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:2fr 1fr"]{grid-template-columns:1fr!important}

  /* ─── NUEVOS FIXES MOBILE ─── */

  /* Columna precio en bloque horarios+precio — full width al wrappear */
  [style*="width:360px;flex-shrink:0"]{width:100%!important;box-sizing:border-box!important}

  /* Promise cards — border-right → border-bottom en layout 1 col */
  .promises-grid>div{border-right:none!important;border-bottom:1px solid rgba(6,14,28,.1)}
  .promises-grid>div:last-child{border-bottom:none!important}

  /* Para vos si — JS maneja el ciclo, CSS solo ajusta layout */
  .fyif-bar{flex-wrap:wrap!important}
  .fyif-label{width:100%!important;border-right:none!important;border-bottom:1px solid rgba(201,162,39,.2)!important;padding:14px 20px!important;text-align:center!important;justify-content:center!important}
  .fyif-cta{display:none!important}
  .fyif-mid{width:100%!important;height:80px!important;overflow:hidden!important}

  /* Reducir padding vertical de secciones (<section>) */
  section{padding:48px 20px}

  /* Heros de páginas sin override móvil */
  .nosotros-hero{padding:52px 20px}
  .becas-hero{padding:52px 20px}
  .contacto-hero{padding:48px 20px}
  .egresados-section{padding:52px 20px}
  .impulso-hero{padding:52px 20px!important}
  .carrera-hero-overlay{padding:40px 24px!important}

  /* Video del hero: reducir de 4/5 a 16/9 para no ocupar media pantalla */
  .hero-img-wrap{aspect-ratio:16/9!important}

  /* Photo CTA: 48px de padding lateral → poco ancho en mobile */
  .photo-cta-text{padding:24px 20px!important}

  /* World strip: gap enorme y margin-left:auto rompen en wrapping */
  .world-strip-inner{gap:14px!important}
  .world-text{margin-left:0!important}

  /* Alumni grid asimétrico (1.2fr 1fr 1.2fr) → 2×2 */
  [style*="1.2fr 1fr 1.2fr"]{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:180px 180px!important;
  }
  [style*="grid-row:span 2"]{grid-row:span 1!important}

  /* Nosotros: strip 3 fotos (max-height:320px) → 1 col */
  [style*="repeat(3,1fr)"][style*="max-height:320px"]{
    grid-template-columns:1fr!important;
    max-height:none!important;
  }
  [style*="repeat(3,1fr)"][style*="max-height:320px"] img{height:220px!important}

  /* Cursos: strip 4 fotos (max-height:220px) → 2×2 */
  [style*="repeat(4,1fr)"][style*="220px"]{
    grid-template-columns:1fr 1fr!important;
    max-height:none!important;
  }
  [style*="repeat(4,1fr)"][style*="220px"] img{height:140px!important}

  /* Nosotros: convenios (max-width:800px) → 1 col */
  [style*="repeat(3,1fr)"][style*="max-width:800px"]{grid-template-columns:1fr!important}
}

@media(max-width:480px){
  /* Extra small */
  .hero-title{font-size:clamp(28px,10vw,38px)}
  .metric-val{font-size:1.5rem}
  .pb-new{font-size:1.8rem!important}
  .btn-gold,.btn-outline{padding:12px 18px;font-size:.65rem}
  .ann-bar{font-size:.6rem;padding:8px 12px}
  .price-bar{padding:20px 16px}
  [style*="padding:80px 32px"]{padding:44px 18px!important}
  [style*="padding:72px 32px"]{padding:40px 18px!important}
  [style*="padding:60px 32px"]{padding:36px 18px!important}
  [style*="padding:56px 32px"]{padding:32px 18px!important}
  [style*="padding:64px 32px"]{padding:36px 18px!important}
  [style*="padding:48px 40px"]{padding:24px 18px!important}
  [style*="padding:48px 32px"]{padding:28px 18px!important}
  section{padding:40px 18px}
  /* Alumni strip: header 1fr/auto → stack; testimonials 1fr 1fr → 1 col */
  [style*="grid-template-columns:1fr auto"][style*="margin-bottom:36px"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr"][style*="gap:16px"]{grid-template-columns:1fr!important}
}
