/* ===========================================================
   Modo Miami 2026 · Last Dance
   by Impacta VC, powered by 401
   =========================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:76px;}

:root{
  /* Paleta tomada del sitio del IMSP (impacta.vc/imsp/home) para que
     Modo Miami y el IMSP se lean como la misma marca.
     El acento pasó de atardecer cálido a turquesa/menta/lima + flamenco. */

  /* tinta y papel */
  --navy:#1A1F3B;
  --night:#10152E;
  --night-2:#1A1F3B;
  --sand:#FBF8F3;
  --sand-2:#F1EDE5;
  --line:#E4DCD0;
  --line-dark:rgba(255,255,255,.12);

  /* marca IMSP */
  --teal:#00B2C1;
  --mint:#7DEEB1;
  --lime:#D9ECB2;
  --flamingo:#EF7A90;
  --flamingo-soft:#F4A8A8;
  --naranjo:#F57524;

  /* alias para no reescribir cada regla que ya usaba estos nombres */
  --coral:var(--flamingo);
  --amber:var(--mint);
  --aqua:var(--teal);
  --aqua-dark:#00808B;

  --muted:#6C6459;
  --muted-dark:rgba(255,255,255,.62);
  --dim-dark:rgba(255,255,255,.42);

  /* el gradiente insignia del IMSP: turquesa -> menta -> lima */
  --sunset:linear-gradient(100deg,#00B2C1 0%,#7DEEB1 54%,#D9ECB2 100%);
  /* en texto grande la lima pierde contraste, asi que el gradiente tipografico corta en menta */
  --sunset-text:linear-gradient(100deg,#00B2C1 0%,#5FE0B0 55%,#9DEBC0 100%);
  --shadow:0 1px 2px rgba(26,31,59,.05),0 12px 32px -16px rgba(26,31,59,.22);

  --maxw:1200px;
}

body{
  font-family:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--sand);
  color:var(--navy);
  line-height:1.6;
  font-size:17px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
:focus-visible{outline:2px solid var(--aqua);outline-offset:3px;border-radius:2px;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
@media(max-width:640px){.container{padding:0 20px;}}

h1,h2,h3,h4,.display{font-family:Archivo,'Instrument Sans',sans-serif;letter-spacing:-.028em;line-height:1.03;text-wrap:balance;}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.eyebrow.on-dark{color:var(--amber);}

section{padding:104px 0;}
@media(max-width:760px){section{padding:72px 0;}}
.section-head{max-width:760px;margin-bottom:56px;}
.section-head h2{font-size:clamp(30px,4.6vw,52px);font-weight:800;margin:14px 0 16px;}
.section-head p{font-size:19px;color:var(--muted);max-width:62ch;}
.sunset-text{background:var(--sunset-text);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(16,21,46,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-dark);
}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:24px;}
@media(max-width:640px){.header-inner{padding:10px 20px;gap:14px;}}
.logo img{height:34px;width:auto;}
@media(max-width:640px){.logo img{height:28px;}}
.header-spacer{flex:1;}
.header-count{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--dim-dark);
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.header-count b{color:#fff;font-weight:600;}
@media(max-width:900px){.header-count{display:none;}}
.nav-links{display:flex;gap:22px;font-size:14px;color:var(--muted-dark);}
.nav-links a:hover{color:#fff;}
@media(max-width:1040px){.nav-links{display:none;}}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 28px;border-radius:999px;font-weight:600;font-size:15px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  text-align:center;
}
.btn-primary{background:var(--sunset);color:var(--navy);font-weight:700;box-shadow:0 8px 22px -10px rgba(0,178,193,.85);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,178,193,.95);}
.btn-ghost{border:1px solid var(--line-dark);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.08);}
.btn-ink{border:1.5px solid var(--navy);color:var(--navy);}
.btn-ink:hover{background:var(--navy);color:var(--sand);}
.btn-sm{padding:11px 20px;font-size:14px;}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none;}}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(120% 90% at 78% 8%,rgba(125,238,177,.34) 0%,rgba(125,238,177,0) 55%),
    radial-gradient(110% 80% at 12% 92%,rgba(239,122,144,.30) 0%,rgba(239,122,144,0) 58%),
    linear-gradient(170deg,#0E1428 0%,#182042 52%,#241A3C 100%);
  padding:96px 0 0;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:120px;
  background:linear-gradient(to bottom,rgba(251,247,241,0),var(--sand));
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
.hero h1{font-size:clamp(40px,6.6vw,76px);font-weight:800;margin:18px 0 22px;}
.hero h1 em{font-style:normal;background:var(--sunset-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-sub{font-size:20px;color:var(--muted-dark);max-width:56ch;margin-bottom:30px;}
.hero-sub b{color:#fff;font-weight:600;}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
.fact{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em;
  border:1px solid var(--line-dark);border-radius:999px;padding:7px 14px;color:#fff;
}
.fact.hot{border-color:rgba(125,238,177,.55);color:var(--amber);}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:26px;}
.hero-note{font-size:13.5px;color:rgba(255,255,255,.58);padding-bottom:88px;}

/* countdown */
.countdown{
  background:rgba(255,255,255,.05);border:1px solid var(--line-dark);
  border-radius:18px;padding:26px 28px;
}
.countdown .cd-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:18px;}
.cd-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;}
.cd-cell .n{font-family:Archivo,sans-serif;font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;display:block;}
.cd-cell .l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-dark);margin-top:8px;display:block;}
.cd-foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-dark);font-size:13px;color:var(--muted-dark);}
.cd-foot b{color:#fff;}

/* ---------- franja de becas ---------- */
.strip-beca{
  background:var(--navy);color:#fff;padding:20px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.strip-beca .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 20px;text-align:center;}
.strip-beca .big{font-family:Archivo,sans-serif;font-weight:700;font-size:19px;}
.strip-beca .small{font-size:14px;color:var(--muted-dark);}
.corfo-chip{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(0,178,193,.5);color:#7DEEB1;border-radius:999px;padding:5px 12px;
}

/* ---------- requisitos / filtro ---------- */
.filtro{background:var(--sand-2);}
.filtro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
@media(max-width:820px){.filtro-grid{grid-template-columns:1fr;}}
.filtro-cell{background:var(--sand);padding:26px 24px;}
.filtro-cell .ico{font-size:22px;margin-bottom:12px;display:block;}
.filtro-cell h4{font-size:17px;font-weight:700;margin-bottom:7px;}
.filtro-cell p{font-size:15px;color:var(--muted);}
.filtro-warn{
  margin-top:20px;background:#FFF3E4;border:1px solid #F0D4AC;border-radius:14px;
  padding:18px 22px;font-size:15px;color:#7A4E12;
}
.filtro-warn b{color:#5C3A08;}

/* ---------- por qué miami ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:860px){.why-grid{grid-template-columns:1fr;}}
.why-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow);}
.why-card .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--coral);font-weight:600;letter-spacing:.1em;}
.why-card h3{font-size:21px;font-weight:700;margin:14px 0 10px;}
.why-card p{font-size:15.5px;color:var(--muted);}

/* ---------- qué incluye ---------- */
.incluye{background:var(--night);color:#fff;}
.incluye .section-head h2{color:#fff;}
.incluye .section-head p{color:var(--muted-dark);}
.incluye-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:18px;overflow:hidden;}
.inc{background:var(--night-2);padding:26px 24px;}
.inc h4{font-size:16px;font-weight:700;margin-bottom:8px;color:#fff;}
.inc p{font-size:14.5px;color:var(--muted-dark);}
.inc .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:10px;}

/* ---------- fases ---------- */
.fases{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.fase{background:#fff;padding:32px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;}
@media(max-width:820px){.fase{grid-template-columns:1fr;gap:14px;padding:26px 22px;}}
.fase-when .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--coral);font-weight:600;letter-spacing:.12em;text-transform:uppercase;}
.fase-when h3{font-size:22px;font-weight:700;margin:8px 0 6px;}
.fase-when .dates{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted);}
.fase ul{list-style:none;display:grid;gap:9px;}
.fase li{font-size:15.5px;color:var(--muted);padding-left:22px;position:relative;}
.fase li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:2px;background:var(--coral);border-radius:2px;}
.fase li b{color:var(--navy);font-weight:600;}
.fase-note{margin-top:18px;font-size:14px;color:var(--muted);font-style:italic;}

/* ---------- rockstars ---------- */
.rockstars{background:var(--sand-2);}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;}
.rs{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;
  display:flex;flex-direction:column;gap:12px;transition:transform .15s ease,box-shadow .15s ease;
}
.rs:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
@media(prefers-reduced-motion:reduce){.rs:hover{transform:none;}}
.rs-top{display:flex;align-items:center;gap:13px;}
.rs-av{
  width:52px;height:52px;border-radius:50%;flex:none;overflow:hidden;position:relative;
  background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:Archivo,sans-serif;font-weight:700;font-size:16px;letter-spacing:.02em;
}
/* el monograma es el estado base; la foto lo tapa solo si el archivo existe */
.rs-av .rs-mono{line-height:1;}
.rs-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.rs-av.c1{background:linear-gradient(135deg,#FF4D6D,#FF7A5C);}
.rs-av.c2{background:linear-gradient(135deg,#FF9E3D,#FFC96B);color:#3A2408;}
.rs-av.c3{background:linear-gradient(135deg,#17BEB3,#3FD9C4);color:#06322E;}
.rs-av.c4{background:linear-gradient(135deg,#1A2036,#3A4570);}
.rs-name{font-family:Archivo,sans-serif;font-weight:700;font-size:15.5px;line-height:1.2;}
.rs-role{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.35;}
.rs-role b{color:var(--navy);font-weight:600;}
.rs-bio{font-size:13.5px;color:var(--muted);flex:1;}
.rs-li{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua-dark);}
.rs-li:hover{text-decoration:underline;}
.rs-more{margin-top:26px;font-size:15px;color:var(--muted);}

/* ---------- testimonios ---------- */
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.testi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.testi p{font-size:16px;color:var(--navy);flex:1;margin-bottom:18px;}
.testi .who{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;}
.testi .who b{display:block;color:var(--navy);font-family:Archivo,sans-serif;font-size:15px;font-weight:700;margin-bottom:2px;}

/* ---------- pricing ---------- */
.pricing{background:var(--night);color:#fff;}
.pricing .section-head h2{color:#fff;}
.pricing .section-head p{color:var(--muted-dark);}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;align-items:stretch;}
.price{
  background:var(--night-2);border:1px solid var(--line-dark);border-radius:18px;padding:28px 26px;
  display:flex;flex-direction:column;gap:14px;position:relative;
}
.price.featured{border-color:rgba(125,238,177,.6);background:linear-gradient(180deg,rgba(125,238,177,.10),rgba(255,255,255,.02));}
.price .badge{
  position:absolute;top:-11px;left:26px;background:var(--sunset);color:#fff;
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;font-weight:600;
}
.price h3{font-size:17px;font-weight:700;}
.price .amt{font-family:Archivo,sans-serif;font-size:40px;font-weight:800;line-height:1;letter-spacing:-.03em;}
.price .amt small{font-size:15px;font-weight:600;color:var(--dim-dark);letter-spacing:0;}
.price .who{font-size:14px;color:var(--muted-dark);}
.price ul{list-style:none;display:grid;gap:8px;font-size:13.5px;color:var(--muted-dark);flex:1;}
.price li{padding-left:19px;position:relative;}
.price li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--aqua);border-radius:2px;}
.price-note{margin-top:26px;font-size:14px;color:var(--muted-dark);max-width:70ch;}
.price-note b{color:#fff;}

/* ---------- quién está detrás ---------- */
.detras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:860px){.detras-grid{grid-template-columns:1fr;}}
.detras-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;}
.detras-card h3{font-size:20px;font-weight:700;margin-bottom:10px;}
.detras-card p{font-size:15.5px;color:var(--muted);}
.detras-card .rol{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:12px;}

/* ---------- Q&A ---------- */
.qa-list{border-top:1px solid var(--line);max-width:900px;}
.qa-item{border-bottom:1px solid var(--line);}
.qa-q{
  width:100%;text-align:left;padding:22px 44px 22px 0;position:relative;
  font-family:Archivo,sans-serif;font-size:17.5px;font-weight:600;color:var(--navy);line-height:1.35;
}
.qa-q::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--coral);font-weight:400;}
.qa-item.open .qa-q::after{content:"−";}
.qa-a{display:none;padding:0 0 24px;font-size:16px;color:var(--muted);max-width:70ch;}
.qa-item.open .qa-a{display:block;}
.qa-a b{color:var(--navy);}

/* ---------- CTA final ---------- */
.cta-final{
  color:#fff;text-align:center;
  background:
    radial-gradient(100% 90% at 50% 0%,rgba(239,122,144,.30) 0%,rgba(239,122,144,0) 60%),
    linear-gradient(160deg,#0E1428,#241A3C);
}
.cta-final h2{font-size:clamp(32px,5.2vw,58px);font-weight:800;margin:16px auto 18px;max-width:16ch;}
.cta-final p{font-size:19px;color:var(--muted-dark);max-width:56ch;margin:0 auto 32px;}
.cta-final .countdown{max-width:520px;margin:0 auto 32px;text-align:left;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:var(--muted-dark);padding:56px 0 40px;font-size:14px;}
.footer-top{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start;margin-bottom:32px;}
.site-footer img{height:32px;width:auto;margin-bottom:14px;}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;}
.footer-links a:hover{color:#fff;}
.footer-bottom{border-top:1px solid var(--line-dark);padding-top:22px;font-size:12.5px;color:var(--dim-dark);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;}

/* ---------- utilidades ---------- */
.center{text-align:center;}
.mt-32{margin-top:32px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ===========================================================
   v2 · portafolio, sponsors, perfiles, playlist y galería
   =========================================================== */

/* ---------- portafolio: trato aparte ---------- */
.port-band{
  position:relative;overflow:hidden;
  border:1px solid rgba(0,178,193,.42);border-radius:20px;
  background:linear-gradient(115deg,rgba(0,178,193,.16),rgba(125,238,177,.09) 62%,rgba(255,255,255,.02));
  padding:34px 36px;margin-bottom:22px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;
}
@media(max-width:860px){.port-band{grid-template-columns:1fr;padding:28px 24px;gap:20px;}}
.port-band .tagline{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#7DEEB1;margin-bottom:12px;
}
.port-band h3{font-size:clamp(22px,3vw,30px);font-weight:800;color:#fff;margin-bottom:10px;}
.port-band p{font-size:15.5px;color:var(--muted-dark);max-width:62ch;}
.port-price{text-align:right;}
@media(max-width:860px){.port-price{text-align:left;}}
.port-price .amt{
  font-family:Archivo,sans-serif;font-size:clamp(44px,7vw,64px);font-weight:800;line-height:1;
  letter-spacing:-.04em;color:#fff;display:block;
}
.port-price .sub{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7DEEB1;margin-top:10px;display:block;}

/* ---------- sponsors ---------- */
.sponsors{background:var(--sand-2);}
.sp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:820px){.sp-grid{grid-template-columns:1fr;}}
.sp{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px 26px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;
}
.sp-mark{height:46px;display:flex;align-items:center;}
.sp-mark img{max-height:46px;width:auto;}
.sp-word{
  font-family:Archivo,sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em;color:var(--navy);
}
.sp-word span{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.sp .rol{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);}
.sp p{font-size:15.5px;color:var(--muted);}

/* ---------- perfiles: los que hacen que esto pase ---------- */
.gente{
  color:#fff;
  background:
    radial-gradient(85% 70% at 88% 0%,rgba(125,238,177,.26) 0%,rgba(125,238,177,0) 60%),
    radial-gradient(80% 70% at 6% 100%,rgba(239,122,144,.24) 0%,rgba(239,122,144,0) 62%),
    linear-gradient(165deg,#0E1428 0%,#1B1C3C 60%,#2A1A38 100%);
}
.gente .section-head h2{color:#fff;}
.gente .section-head p{color:var(--muted-dark);}
.gente-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:20px;}
.persona{position:relative;}
.persona-foto{
  position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;
  background:linear-gradient(150deg,#2A3358,#3E2A4E);margin-bottom:18px;
}
.persona-foto img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.72) contrast(1.06);
  transition:filter .35s ease,transform .45s ease;
}
.persona:hover .persona-foto img{filter:saturate(1) contrast(1);transform:scale(1.035);}
@media(prefers-reduced-motion:reduce){.persona:hover .persona-foto img{transform:none;}}
.persona-foto::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,rgba(125,238,177,.30),rgba(239,122,144,.18) 45%,rgba(16,21,46,.55));
  mix-blend-mode:multiply;opacity:.85;transition:opacity .35s ease;
}
.persona:hover .persona-foto::after{opacity:.35;}
.persona-foto .sin-foto{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:Archivo,sans-serif;font-weight:800;font-size:52px;color:rgba(255,255,255,.34);letter-spacing:-.03em;
}
.persona .rol{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin-bottom:9px;}
.persona h3{font-size:23px;font-weight:800;margin-bottom:5px;}
.persona .cargo{font-size:14px;color:#fff;font-weight:600;margin-bottom:3px;}
.persona .cargo b{color:var(--amber);font-weight:600;}
.persona .bio{font-size:14.5px;color:var(--muted-dark);margin:10px 0 12px;}
.persona .enlaces{display:flex;flex-wrap:wrap;gap:14px;}
.persona .enlaces a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#7DEEB1;}
.persona .enlaces a:hover{text-decoration:underline;}

/* ---------- galería ---------- */
.galeria-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  grid-auto-rows:180px;
}
@media(max-width:1000px){.galeria-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:160px;}}
@media(max-width:660px){.galeria-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}}
.gal{
  position:relative;border-radius:14px;overflow:hidden;background:var(--night-2);
}
.gal.ancho{grid-column:span 2;}
.gal.alto{grid-row:span 2;}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gal:hover img{transform:scale(1.05);}
@media(prefers-reduced-motion:reduce){.gal:hover img{transform:none;}}
.gal figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;
  background:linear-gradient(to top,rgba(16,21,46,.88),rgba(16,21,46,0));
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.06em;color:#fff;
  opacity:0;transition:opacity .25s ease;
}
.gal:hover figcaption{opacity:1;}
.galeria-vacia{
  border:1px dashed var(--line);border-radius:16px;padding:34px;text-align:center;
  color:var(--muted);font-size:15px;background:var(--sand-2);
}

/* ---------- playlist ---------- */
.playlist{
  max-width:760px;margin:0 auto 36px;
  background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:18px;
  padding:24px;text-align:left;
}
.playlist .ph{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber);margin-bottom:14px;display:flex;align-items:center;gap:9px;justify-content:center;
}
.playlist iframe{border-radius:12px;display:block;width:100%;border:0;}
.playlist .pendiente{
  border:1px dashed var(--line-dark);border-radius:12px;padding:26px;text-align:center;
  font-size:14.5px;color:var(--muted-dark);
}

/* ---------- v3: mejor precio ---------- */
.price.best{border-color:rgba(0,178,193,.55);background:linear-gradient(180deg,rgba(0,178,193,.10),rgba(255,255,255,.02));}
.price .badge.aqua{background:linear-gradient(120deg,var(--aqua),#3FD9C4);color:#04302C;}

/* ---------- v3: marquee de nombres ---------- */
.marquee{
  overflow:hidden;margin:0 0 44px;padding:14px 0;
  border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{display:flex;gap:0;width:max-content;animation:slide 38s linear infinite;}
.marquee span{
  font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(20px,2.6vw,30px);
  letter-spacing:-.02em;color:rgba(255,255,255,.30);white-space:nowrap;padding:0 22px;
}
.marquee span .dot{color:var(--amber);margin-left:22px;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;}}

/* ---------- v3: perfiles con más onda ---------- */
.gente-grid{grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:22px;}
.persona-foto{aspect-ratio:4/5;border-radius:16px;}
.persona{transition:transform .3s ease;}
.persona:hover{transform:translateY(-4px);}
@media(prefers-reduced-motion:reduce){.persona:hover{transform:none;}}
.persona-foto{box-shadow:0 0 0 1px rgba(255,255,255,.07);transition:box-shadow .35s ease;}
.persona:hover .persona-foto{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 18px 44px -20px var(--glow,rgba(125,238,177,.75));}
/* rotación de duotono por persona */
.persona.t1 .persona-foto::after{background:linear-gradient(200deg,rgba(125,238,177,.34),rgba(239,122,144,.20) 45%,rgba(16,21,46,.58));}
.persona.t1{--glow:rgba(125,238,177,.8);}
.persona.t2 .persona-foto::after{background:linear-gradient(200deg,rgba(239,122,144,.34),rgba(0,178,193,.20) 45%,rgba(16,21,46,.58));}
.persona.t2{--glow:rgba(239,122,144,.8);}
.persona.t3 .persona-foto::after{background:linear-gradient(200deg,rgba(0,178,193,.34),rgba(217,236,178,.18) 45%,rgba(16,21,46,.58));}
.persona.t3{--glow:rgba(0,178,193,.8);}
.persona.t4 .persona-foto::after{background:linear-gradient(200deg,rgba(244,168,168,.34),rgba(239,122,144,.18) 45%,rgba(16,21,46,.58));}
.persona.t4{--glow:rgba(244,168,168,.8);}
.persona .rol{
  display:inline-block;border:1px solid rgba(255,255,255,.16);border-radius:999px;
  padding:4px 11px;margin-bottom:11px;color:#fff;background:rgba(255,255,255,.05);
}
.persona h3{font-size:clamp(20px,2.4vw,26px);}
.persona-foto .num{
  position:absolute;top:12px;left:14px;z-index:2;
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
  color:rgba(255,255,255,.8);text-shadow:0 1px 6px rgba(0,0,0,.5);
}

/* ---------- footer: quiénes organizan ---------- */
.org-row{display:flex;align-items:center;gap:15px;margin:0 0 14px;flex-wrap:wrap;}
.org-label{
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim-dark);
}
.site-footer img.org-logo{height:20px;width:auto;margin:0;opacity:.92;}
/* un logo casi cuadrado necesita mas alto que un wordmark para pesar igual */
.site-footer img.org-logo.sq{height:28px;}

/* ---------- rockstars: los 6 destacados y el resto plegado ---------- */
.rs-resto{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .45s ease,opacity .3s ease,margin-top .45s ease;
}
.rs-resto.abierto{max-height:5000px;opacity:1;margin-top:18px;}
@media(max-width:1080px){.rs-resto{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.rs-resto{grid-template-columns:1fr;}}
.rs-toggle-wrap{display:flex;justify-content:center;margin-top:26px;}
@media(prefers-reduced-motion:reduce){.rs-resto{transition:none;}}

/* ---------- requisitos: version compacta ---------- */
.filtro{padding-top:56px;padding-bottom:56px;}
.section-head.compacto{margin-bottom:26px;}
.section-head.compacto p{display:none;}
.filtro-cell .ico{display:block;width:64px;height:64px;margin-bottom:12px;font-size:30px;line-height:64px;}
.filtro-cell .ico svg.req-ico{width:64px;height:64px;display:block;}
.filtro-cell h4{font-size:17px;margin-bottom:6px;}
.filtro-cell p{font-size:15px;}
.filtro-warn{font-size:14.5px;line-height:1.55;}
.filtro-warn a{text-decoration:underline;}

/* ---------- CORFO: va sobre fondo claro porque el logo es oscuro ---------- */
.apoyo{
  margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 26px;
  box-shadow:var(--shadow);
}
.apoyo-label{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.apoyo img{height:38px;width:auto;}
.apoyo p{font-size:14.5px;color:var(--muted);margin-left:auto;max-width:46ch;}
@media(max-width:720px){.apoyo p{margin-left:0;}}

/* ---------- flamenco decorativo ---------- */
.hero{position:relative;overflow:hidden;}
.flamenco{
  position:absolute;right:44px;bottom:78px;
  width:168px;height:auto;opacity:.30;pointer-events:none;z-index:0;
}
.hero > .container{position:relative;z-index:1;}
@media(max-width:1100px){.flamenco{display:none;}}

/* ---------- casos 2025: resultados, no testimonios ---------- */
.casos{
  color:#fff;
  background:
    radial-gradient(90% 80% at 10% 0%,rgba(0,178,193,.22) 0%,rgba(0,178,193,0) 60%),
    radial-gradient(80% 70% at 92% 100%,rgba(239,122,144,.18) 0%,rgba(239,122,144,0) 62%),
    var(--night);
  padding:64px 0;
}
.casos .section-head h2{color:#fff;}
.casos .section-head p{color:var(--muted-dark);}
.casos .section-head.compacto p{display:block;}
.casos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;}
@media(max-width:860px){.casos-grid{grid-template-columns:1fr;}}
.caso{
  border:1px solid var(--line-dark);border-radius:18px;padding:24px 24px 22px;
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
}
.caso-n{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;
  color:var(--mint);margin-bottom:10px;
}
.caso p{font-size:16px;color:rgba(255,255,255,.9);}
.caso b{color:#fff;}
