/* Home · preuniversitariogauss.cl
   Basado en el mockup aprobado (home-preuniversitariogauss.html).
   Tipografía y @font-face en css/tokens.css · nav en css/nav.css. */

:root{
  --purple:#522DC8;--purple-shade-1:#4224A0;--purple-shade-2:#311B78;--purple-shade-3:#211250;--purple-shade-4:#100928;
  --purple-tint-1:#7557D3;--purple-tint-2:#9781DE;--purple-tint-3:#BAABE9;--purple-tint-4:#DCD5F4;
  --paper:#F5F3F0;
}
*{margin:0;padding:0;box-sizing:border-box;letter-spacing:0;}
html,body{background:var(--white);color:var(--charcoal);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased;font-weight:400;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--mint);color:var(--purple-shade-3);padding:12px 20px;font-weight:700;z-index:100;}
.skip-link:focus{left:16px;top:16px;}

/* Fondos de borde a borde; el contenido queda centrado a máx. 1272px */
.page{background:var(--white);--gutter:max(64px,calc((100% - 1272px) / 2));}
section{padding:96px var(--gutter);position:relative;overflow:hidden;}
section.purple{background:var(--purple-shade-3);color:var(--white);}
section.mint{background:var(--mint);color:var(--purple-shade-3);}
section.white{background:var(--white);color:var(--charcoal);}
section.paper{background:var(--paper);color:var(--charcoal);}

h1,h2,h3,h4{font-family:var(--font);font-weight:700;line-height:1.05;letter-spacing:0;margin:0;}
h1{font-size:88px;}h2{font-size:56px;}h3{font-size:32px;}h4{font-size:22px;}
p{font-size:17px;line-height:1.6;font-weight:400;margin:0;}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple-tint-3);}
section.white .eyebrow, section.paper .eyebrow{color:var(--purple);}
section.mint .eyebrow{color:var(--purple-shade-3);}
.lead{font-size:19px;line-height:1.6;font-weight:400;color:var(--charcoal-60);}

/* ============ HERO ============ */
.hero{
  background:linear-gradient(135deg,var(--purple-shade-4) 0%,var(--purple-shade-2) 55%,var(--purple) 100%);
  color:var(--white);padding:120px var(--gutter) 100px;position:relative;overflow:hidden;min-height:720px;
}
.hero > *:not(.g-decor):not(.hero-shape){position:relative;z-index:2;}
.hero .rubro{font-size:12px;letter-spacing:0.25em;text-transform:uppercase;color:var(--mint);margin-bottom:24px;display:inline-flex;align-items:center;gap:12px;}
.hero .rubro::before{content:'●';color:var(--mint);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
.hero h1{font-size:96px;max-width:960px;margin-bottom:32px;letter-spacing:-0.02em;line-height:0.95;}
.hero h1 em{font-style:normal;color:var(--mint);}
.hero .sub{font-size:22px;max-width:680px;line-height:1.5;color:var(--purple-tint-3);margin-bottom:48px;font-weight:400;}
.hero .sub strong{color:var(--mint);font-weight:700;}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.hero .btn-primary{
  background:var(--mint);color:var(--purple-shade-3);padding:20px 36px;border-radius:100px;font-weight:700;font-size:16px;
  display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 32px rgba(174,255,216,0.25);transition:all 0.2s;
}
.hero .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(174,255,216,0.35);}
.hero .btn-primary::after{content:'→';}
.hero .btn-secondary{background:transparent;border:1.5px solid rgba(255,255,255,0.4);color:var(--white);padding:20px 36px;border-radius:100px;font-weight:400;font-size:16px;}
.hero .btn-secondary:hover{background:rgba(255,255,255,0.1);}
.hero .kicker{margin-top:32px;font-size:13px;color:var(--purple-tint-3);}
.hero .kicker strong{color:var(--mint);font-weight:700;}
.hero .g-decor{position:absolute;right:-260px;top:50%;transform:translateY(-50%);width:640px;height:640px;opacity:0.95;pointer-events:none;z-index:1;}
.hero .g-decor svg{width:100%;height:100%;}
.hero .hero-shape{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.15;}
.hero .hero-shape::before{content:'';position:absolute;top:20%;left:10%;width:400px;height:400px;background:radial-gradient(circle,var(--mint) 0%,transparent 70%);filter:blur(80px);}

/* ============ TRUST STRIP ============ */
.trust{background:var(--purple-shade-4);color:var(--white);padding:48px var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid rgba(255,255,255,0.08);}
.trust .cell{border-left:2px solid var(--mint);padding-left:20px;}
.trust .num{font-size:56px;font-weight:700;line-height:1;color:var(--mint);letter-spacing:-0.02em;}
.trust .num span{font-size:32px;}
.trust .label{font-size:14px;color:var(--purple-tint-3);margin-top:8px;line-height:1.3;font-weight:400;}

/* ============ GARANTÍA (MINT) ============ */
.garantia-hero{position:relative;overflow:hidden;}
.garantia-content{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center;position:relative;z-index:2;}
.garantia-content h2{font-size:80px;line-height:0.95;color:var(--purple-shade-3);margin:16px 0 24px;letter-spacing:-0.02em;}
.garantia-content h2 em{color:var(--red);font-style:normal;}
.garantia-content p{font-size:19px;line-height:1.6;color:var(--purple-shade-3);opacity:0.85;max-width:520px;margin-bottom:32px;}
.garantia-content .btn-dark{display:inline-flex;align-items:center;gap:10px;background:var(--purple-shade-3);color:var(--white);padding:18px 32px;border-radius:100px;font-weight:700;font-size:16px;}
.garantia-card{background:var(--purple-shade-3);color:var(--white);padding:48px;border-radius:24px;position:relative;}
.garantia-card .big{font-size:120px;font-weight:700;color:var(--mint);line-height:0.9;letter-spacing:-0.04em;margin-bottom:16px;}
.garantia-card p{font-size:16px;color:var(--purple-tint-3);line-height:1.5;font-weight:400;}
.garantia-card .disclaimer{font-size:11px;color:var(--purple-tint-2);margin-top:16px;font-style:italic;}
.garantia-card .disclaimer a{text-decoration:underline;}
.garantia-hero .g-mint-huge{position:absolute;top:-120px;right:-160px;width:520px;height:520px;opacity:0.15;pointer-events:none;z-index:1;}

/* ============ RESULTADOS ============ */
.resultados-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px;}
.resultados-head h2{font-size:64px;margin:16px 0 20px;}
.resultados-head h2 em{color:var(--red);font-style:normal;}
.resultados-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cifra{background:var(--white);border:2px solid var(--charcoal-10);border-radius:20px;padding:36px 32px;transition:all 0.2s;}
.cifra:hover{border-color:var(--purple);transform:translateY(-4px);}
.cifra .n{font-size:64px;font-weight:700;color:var(--red);line-height:0.95;letter-spacing:-0.03em;}
.cifra .n span{font-size:32px;color:var(--charcoal-60);}
.cifra .t{font-size:16px;font-weight:700;margin-top:12px;color:var(--charcoal);}
.cifra .d{font-size:13px;color:var(--charcoal-60);margin-top:8px;line-height:1.5;font-weight:400;}

/* ============ CASOS REALES ============ */
.casos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.caso{background:var(--white);border-radius:20px;overflow:hidden;border:1px solid var(--charcoal-10);}
.caso .photo{aspect-ratio:4/3;background:var(--charcoal-40);}
.caso .photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;}
.caso .body{padding:28px;}
.caso .achievement{background:var(--red);color:var(--white);display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:0.1em;margin-bottom:12px;}
.caso .achievement.alt{background:var(--purple);}
.caso h3{font-size:22px;color:var(--charcoal);margin-bottom:6px;}
.caso .career{font-size:14px;color:var(--purple);font-weight:700;margin-bottom:16px;}
.caso .quote{font-size:14px;color:var(--charcoal-60);line-height:1.55;font-style:italic;}

/* ============ DIFERENCIADORES ============ */
.diferen{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.dif{background:var(--white);border:1px solid var(--charcoal-10);padding:40px;border-radius:20px;position:relative;overflow:hidden;transition:all 0.2s;}
.dif:hover{border-color:var(--purple);box-shadow:0 12px 40px rgba(82,45,200,0.1);}
.dif .icon{width:56px;height:56px;background:var(--purple-tint-4);border-radius:16px;display:grid;place-items:center;margin-bottom:24px;position:relative;overflow:hidden;}
.dif .icon svg{width:32px;height:32px;}
.dif h3{font-size:22px;margin-bottom:12px;color:var(--charcoal);}
.dif p{font-size:15px;color:var(--charcoal-60);line-height:1.55;font-weight:400;}
.dif .stat{margin-top:20px;padding-top:16px;border-top:1px solid var(--charcoal-10);font-size:13px;color:var(--purple);font-weight:700;}

/* ============ MODALIDADES ============ */
.modalidad{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;}
.mod-card{background:var(--white);border-radius:24px;overflow:hidden;border:2px solid var(--charcoal-10);transition:all 0.2s;position:relative;}
.mod-card:hover{border-color:var(--purple);transform:translateY(-4px);}
.mod-card .photo{aspect-ratio:16/9;background:linear-gradient(135deg,var(--purple-shade-2) 0%,var(--purple) 100%);overflow:hidden;}
.mod-card.online .photo{background:linear-gradient(135deg,var(--charcoal-80) 0%,var(--charcoal) 100%);}
.mod-card .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mod-card .body{padding:40px;}
.mod-card .tag{font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--purple);font-weight:700;margin-bottom:16px;}
.mod-card.online .tag{color:var(--mint-shade-3);}
.mod-card h3{font-size:32px;margin-bottom:16px;color:var(--charcoal);}
.mod-card p{font-size:16px;color:var(--charcoal-60);margin-bottom:24px;font-weight:400;line-height:1.55;}
.mod-card ul{list-style:none;margin-bottom:32px;}
.mod-card ul li{padding:8px 0;font-size:14px;color:var(--charcoal);display:flex;align-items:center;gap:10px;font-weight:400;}
.mod-card ul li::before{content:'✓';color:var(--purple);font-weight:700;}
.mod-card.online ul li::before{color:var(--mint-shade-2);}
.mod-card .link{color:var(--purple);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;}
.mod-card.online .link{color:var(--mint-shade-3);}
.mod-card .link::after{content:'→';}

/* ============ SEDES ============ */
.sedes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;}
.sede-mini{background:var(--white);border:1px solid var(--charcoal-10);border-radius:16px;padding:20px;text-align:left;transition:all 0.2s;position:relative;}
.sede-mini:hover{border-color:var(--purple);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.06);}
.sede-mini .region{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--charcoal-60);font-weight:700;}
.sede-mini h3{font-size:20px;margin:6px 0;color:var(--purple-shade-3);}
.sede-mini .link{font-size:12px;color:var(--purple);font-weight:700;display:inline-flex;align-items:center;gap:4px;margin-top:8px;}
.sede-mini .link::after{content:'→';}
.sede-mini.online{background:var(--charcoal);color:var(--white);}
.sede-mini.online h3{color:var(--mint);}
.sede-mini.online .region{color:var(--charcoal-40);}
.sede-mini.online .link{color:var(--mint);}
.link-more{text-align:center;margin-top:32px;}
.link-more a{color:var(--purple);font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:8px;}

/* ============ PRENSA STRIP ============ */
.prensa{background:var(--charcoal);color:var(--white);padding:56px var(--gutter);text-align:center;}
.prensa .eyebrow{color:var(--mint);}
.prensa h2{font-size:24px;margin:16px 0 32px;font-weight:400;color:var(--charcoal-20);line-height:1.3;}
.prensa .logos{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;list-style:none;}
.prensa .medio{font-family:var(--font);font-size:24px;font-weight:700;color:var(--white);opacity:0.85;}
.prensa .more{margin-top:32px;font-size:14px;}
.prensa .more a{color:var(--mint);font-weight:700;display:inline-flex;align-items:center;gap:6px;}

/* ============ TESTIMONIOS ============ */
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.testi{background:var(--white);border:2px solid var(--charcoal-10);border-radius:20px;padding:32px;display:flex;flex-direction:column;}
.testi .stars{color:var(--mint-shade-2);font-size:16px;margin-bottom:16px;letter-spacing:2px;}
.testi .quote{font-size:16px;line-height:1.55;color:var(--charcoal);margin-bottom:24px;flex:1;font-weight:400;}
.testi .who{border-top:1px solid var(--charcoal-10);padding-top:16px;display:flex;align-items:center;gap:12px;}
.testi .avatar{width:44px;height:44px;border-radius:50%;background:var(--purple);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:16px;flex-shrink:0;}
.testi .name{font-size:14px;font-weight:700;}
.testi .role{font-size:13px;color:var(--charcoal-60);font-weight:400;}

/* ============ PROCESO ============ */
.proceso{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.paso{background:var(--purple-shade-4);color:var(--white);padding:40px;border-radius:20px;position:relative;overflow:hidden;}
.paso .num{font-size:72px;font-weight:700;color:var(--mint);line-height:0.9;opacity:0.9;letter-spacing:-0.04em;}
.paso h3{font-size:22px;margin:16px 0 12px;}
.paso p{font-size:15px;color:var(--purple-tint-3);line-height:1.55;font-weight:400;}
.paso .duracion{font-size:12px;color:var(--mint);margin-top:16px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.proceso-cta{text-align:center;margin-top:56px;}
.proceso-cta a{display:inline-flex;align-items:center;gap:12px;background:var(--mint);color:var(--purple-shade-3);padding:22px 40px;border-radius:100px;font-weight:700;font-size:17px;}
.proceso-cta p{margin-top:16px;font-size:13px;color:var(--purple-tint-3);}

/* ============ FAQ ============ */
.faqs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px;}
.faq{background:var(--white);border:1px solid var(--charcoal-10);padding:32px;border-radius:16px;}
.faq h3{font-size:18px;color:var(--purple);font-weight:700;margin-bottom:12px;line-height:1.3;}
.faq p{font-size:15px;color:var(--charcoal-60);line-height:1.55;font-weight:400;}
.faq strong{color:var(--charcoal);font-weight:700;}
.faq a{color:var(--purple);font-weight:700;text-decoration:underline;}

/* ============ AEO ============ */
section.aeo-wrap{padding-top:0;}
.aeo{background:var(--paper);padding:56px;border-radius:24px;}
.aeo h2{font-size:22px;margin-bottom:16px;color:var(--purple-shade-3);line-height:1.2;}
.aeo p{font-size:15px;color:var(--charcoal-80);line-height:1.7;margin-bottom:20px;font-weight:400;}
.aeo p:last-child{margin-bottom:0;}
.aeo strong{color:var(--purple-shade-3);font-weight:700;}

/* ============ CTA FINAL ============ */
.cta-final{background:linear-gradient(135deg,var(--purple-shade-4) 0%,var(--purple) 100%);color:var(--white);padding:120px 64px;position:relative;overflow:hidden;text-align:center;padding-left:var(--gutter);padding-right:var(--gutter);}
.cta-final > *:not(.g-decor){position:relative;z-index:2;}
.cta-final .eyebrow{color:var(--mint);}
.cta-final h2{font-size:88px;max-width:960px;margin:20px auto 24px;line-height:0.95;letter-spacing:-0.02em;}
.cta-final h2 em{color:var(--mint);font-style:normal;}
.cta-final p{font-size:21px;color:var(--purple-tint-3);max-width:680px;margin:0 auto 40px;font-weight:400;}
.cta-final .row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.cta-final .btn-primary{background:var(--mint);color:var(--purple-shade-3);padding:24px 44px;border-radius:100px;font-weight:700;font-size:18px;box-shadow:0 12px 40px rgba(174,255,216,0.3);}
.cta-final .btn-ghost{background:transparent;border:1.5px solid var(--white);color:var(--white);padding:24px 44px;border-radius:100px;font-weight:400;font-size:18px;}
.cta-final .kicker{margin-top:48px;font-size:13px;color:var(--purple-tint-3);letter-spacing:0.05em;}
.cta-final .g-decor{position:absolute;right:-240px;top:50%;transform:translateY(-50%);width:640px;height:640px;opacity:0.15;pointer-events:none;z-index:1;}

/* ============ SECTION HEAD ============ */
.sec-head{margin-bottom:16px;}
.sec-head h2{font-size:56px;margin-top:16px;}
.sec-head p{font-size:19px;color:var(--charcoal-60);margin-top:16px;max-width:720px;font-weight:400;}
section.paper .sec-head p{color:var(--charcoal-80);}
section.purple .sec-head h2{color:var(--white);}
section.purple .sec-head p{color:var(--purple-tint-3);}
.sec-head.center{text-align:center;}
.sec-head.center h2{max-width:720px;margin-left:auto;margin-right:auto;}
.sec-head.center p{margin-left:auto;margin-right:auto;}

/* ============ FOOTER ============ */
.pie{background:var(--charcoal);color:var(--white);padding:48px 64px;}
.pie-grid{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:start;max-width:1272px;margin:0 auto;}
.pie-marca{width:40px;height:40px;}
.pie-datos{font-size:13px;color:var(--charcoal-40);}
.pie-datos p{font-size:13px;margin-bottom:6px;}
.pie-datos a{color:var(--charcoal-20);}
.pie-copy{font-size:12px;}
.pie-enlaces{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;font-size:13px;}
.pie-enlaces a{color:var(--charcoal-40);}
.pie-enlaces a:hover{color:var(--mint);}

a:focus-visible{outline:3px solid var(--mint);outline-offset:3px;}
section.white a:focus-visible, section.paper a:focus-visible, section.mint a:focus-visible{outline-color:var(--purple);}

@media(max-width:960px){
  section{padding:56px 24px;}
  .hero{padding:80px 24px;min-height:0;}
  .hero h1{font-size:44px;}
  .hero .sub{font-size:18px;}
  .hero .g-decor{width:320px;height:320px;right:-120px;top:auto;bottom:-80px;transform:none;opacity:0.2;}
  .hero .btn-primary,.hero .btn-secondary{padding:18px 28px;}
  h2,.sec-head h2,.resultados-head h2{font-size:36px;}
  .cta-final{padding:80px 24px;}
  .cta-final h2{font-size:44px;}
  .cta-final .g-decor{width:360px;height:360px;right:-160px;}
  .cta-final .btn-primary,.cta-final .btn-ghost{padding:20px 32px;font-size:16px;}
  .garantia-content h2{font-size:44px;}
  .garantia-content{grid-template-columns:1fr;gap:40px;}
  .garantia-card{padding:32px;}
  .garantia-card .big{font-size:88px;}
  .trust{grid-template-columns:1fr 1fr;padding:40px 24px;gap:24px;}
  .trust .num{font-size:44px;}
  .resultados-cifras,.diferen,.modalidad,.casos,.testis,.proceso,.faqs{grid-template-columns:1fr;}
  .sedes-grid{grid-template-columns:1fr 1fr;}
  .resultados-head{grid-template-columns:1fr;gap:24px;margin-bottom:40px;}
  .dif,.mod-card .body,.paso{padding:28px;}
  .aeo{padding:32px 24px;}
  .prensa{padding:48px 24px;}
  .prensa .logos{gap:24px 32px;}
  .prensa .medio{font-size:20px;}
  .pie{padding:40px 24px;}
  .pie-grid{grid-template-columns:1fr;gap:20px;}
}
