:root{
  --orange:#ff9a4f;
  --yellow:#ffd858;
  --red:#b34a43;
  --ink:#161616;
  --muted:#646464;
  --line:#e9e4de;
  --paper:#fffdf9;
  --soft:#f8f5f1;
  --white:#fff;
  --radius:24px;
  --shadow:0 18px 50px rgba(27,22,18,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.announcement{background:linear-gradient(90deg,var(--yellow),var(--orange));font-size:.92rem;font-weight:600}
.announcement__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.announcement a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand img{width:72px;height:44px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-family:"Manrope";font-size:1.02rem}.brand small{font-size:.78rem;color:var(--muted);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:28px;font-size:.94rem;font-weight:600}.main-nav a{position:relative}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:.25s}.main-nav>a:hover::after{right:0}.nav-cta{background:var(--orange);padding:12px 18px;border-radius:999px}.nav-cta:hover{background:var(--yellow)}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}
.hero{min-height:720px;position:relative;display:grid;align-items:center;overflow:hidden;background:#222}.hero__media,.hero__overlay{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero__overlay{background:linear-gradient(90deg,rgba(18,15,13,.82) 0%,rgba(18,15,13,.62) 45%,rgba(18,15,13,.15) 75%),linear-gradient(0deg,rgba(18,15,13,.24),transparent 45%)}.hero__content{position:relative;z-index:1;color:#fff;padding-block:92px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.eyebrow::before{content:"";width:32px;height:2px;background:currentColor}.eyebrow--dark{color:var(--red)}
.hero h1,.section h2{font-family:"Manrope";letter-spacing:-.035em;line-height:1.05;margin:18px 0}.hero h1{font-size:clamp(3rem,6vw,6rem);max-width:900px}.hero p{font-size:clamp(1.05rem,1.6vw,1.32rem);max-width:720px;color:rgba(255,255,255,.86)}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;transition:.22s}.btn--primary{background:var(--orange);color:#161616}.btn--primary:hover{background:var(--yellow);transform:translateY(-2px)}.btn--ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}.btn--ghost:hover{background:#fff;color:#161616}.btn--dark{background:var(--ink);color:#fff;width:100%;margin-top:14px}.btn--dark:hover{background:#303030}
.hero__quickfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-top:56px;border-top:1px solid rgba(255,255,255,.25);padding-top:24px}.hero__quickfacts div{display:flex;flex-direction:column}.hero__quickfacts strong{font-family:"Manrope";font-size:1.3rem}.hero__quickfacts span{font-size:.88rem;color:rgba(255,255,255,.72);margin-top:3px}
.section{padding:110px 0}.section--soft{background:var(--soft)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section h2{font-size:clamp(2.3rem,4.5vw,4.3rem)}.section p{color:var(--muted);font-size:1.02rem}.collage{position:relative}.collage__main{width:100%;aspect-ratio:1/1.05;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.collage__card{position:absolute;right:-24px;bottom:28px;background:var(--yellow);padding:22px 26px;border-radius:18px;box-shadow:var(--shadow);max-width:230px}.collage__card span,.collage__card strong{display:block}.collage__card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.collage__card strong{font-family:"Manrope";margin-top:5px}.quote{margin-top:30px;padding:22px 24px;border-left:4px solid var(--orange);background:#fff;border-radius:0 18px 18px 0;font-family:"Manrope";font-size:1.2rem;font-weight:700}
.section-head{max-width:820px;margin-bottom:46px}.section-head p{font-size:1.08rem}.section-head--split{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.section-head--split p{margin:0 0 10px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;min-height:230px;transition:.22s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}.feature-card__num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange);font-weight:800}.feature-card h3{font-family:"Manrope";font-size:1.28rem;margin:34px 0 8px}.feature-card p{font-size:.94rem;margin:0}
.manifesto{padding:80px 0;background:linear-gradient(90deg,var(--yellow),var(--orange))}.manifesto__inner{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:start}.manifesto__label{text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.78rem;margin-top:16px}.manifesto blockquote{margin:0;font-family:"Manrope";font-weight:800;line-height:1.07;font-size:clamp(2.2rem,4vw,4.6rem);letter-spacing:-.045em}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.activity-card{position:relative;overflow:hidden;border-radius:22px;cursor:zoom-in;background:#222;box-shadow:var(--shadow)}.activity-card--large{grid-row:auto;min-height:0}.activity-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transition:.35s;background:#f2eee8}.activity-card:hover img{transform:scale(1.035)}.activity-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%)}.activity-card__content{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.activity-card__content span{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.activity-card__content h3{font-family:"Manrope";font-size:1.45rem;margin:4px 0}.activity-card__content p{color:rgba(255,255,255,.8);margin:0}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.chips span{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-size:.9rem;font-weight:700}
.media-section{padding-top:10px}.media-card{display:grid;grid-template-columns:1fr .9fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.media-card>div:first-child{padding:56px}.media-card__visual{min-height:360px;background:linear-gradient(145deg,var(--orange),var(--yellow));padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.play{width:74px;height:74px;border-radius:50%;background:#161616;color:#fff;display:grid;place-items:center;font-size:1.5rem;margin-bottom:auto}.media-card__visual strong{font-family:"Manrope";font-size:1.6rem}.media-card__visual span{margin-top:4px}.text-link{display:inline-block;margin-top:14px;font-weight:800;color:var(--red)}
.docs{background:var(--soft)}.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.doc-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:20px;min-height:190px;display:flex;flex-direction:column;transition:.22s}.doc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.doc-card>span{font-size:.7rem;font-weight:900;letter-spacing:.14em;color:var(--red)}.doc-card strong{font-family:"Manrope";font-size:1.1rem;margin:34px 0 10px}.doc-card small{margin-top:auto;color:var(--muted)}
.enrollment{background:var(--ink);color:#fff}.enrollment__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.enrollment p{color:rgba(255,255,255,.72);font-size:1.1rem}.enrollment__card{background:#fff;color:var(--ink);border-radius:24px;padding:28px}.contact-row{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.contact-row span,.contact-row strong{display:block}.contact-row span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.contact-row strong{margin-top:5px;font-size:1rem}
footer{background:#0f0f0f;color:#fff;padding:72px 0 26px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}.brand--footer img{filter:none}.footer-grid strong{font-family:"Manrope"}.footer-grid p,.footer-grid a{color:rgba(255,255,255,.62);font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.45);font-size:.82rem}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:100;display:none;place-items:center;padding:30px}.lightbox.is-open{display:grid}.lightbox img{max-height:88vh;max-width:92vw;border-radius:14px}.lightbox__close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:2.8rem;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:980px){
  .menu-toggle{display:block}.main-nav{position:absolute;top:82px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:20px;border-radius:18px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{padding:6px 0}.nav-cta{text-align:center;padding:12px!important}
  .hero{min-height:680px}.hero__quickfacts{grid-template-columns:1fr;gap:14px}.grid-2,.section-head--split,.media-card,.enrollment__grid{grid-template-columns:1fr}.grid-2{gap:44px}.section-head--split{gap:12px}.feature-grid{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.manifesto__inner{grid-template-columns:1fr;gap:10px}.media-card>div:first-child{padding:38px}.collage__card{right:12px}
}
@media (max-width:650px){
  .container{width:min(100% - 28px,1180px)}.announcement__inner{justify-content:center;text-align:center}.announcement a{display:none}.nav-wrap{min-height:72px}.brand img{width:60px}.brand strong{font-size:.92rem}.main-nav{top:72px}
  .hero{min-height:720px}.hero__content{padding-block:72px}.hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.hero__overlay{background:linear-gradient(90deg,rgba(18,15,13,.84),rgba(18,15,13,.53)),linear-gradient(0deg,rgba(18,15,13,.4),transparent)}.hero__actions{flex-direction:column;align-items:stretch}.hero__quickfacts{display:none}
  .section{padding:78px 0}.section h2{font-size:clamp(2.05rem,10vw,3.2rem)}.feature-grid,.docs-grid,.footer-grid{grid-template-columns:1fr}.activity-grid{grid-template-columns:1fr}.activity-card--large{grid-row:auto;min-height:0}.activity-card{min-height:0}.manifesto{padding:62px 0}.manifesto blockquote{font-size:2.25rem}.footer-bottom{flex-direction:column}.collage__card{position:relative;right:auto;bottom:auto;margin:-34px 14px 0}.media-card__visual{min-height:280px}
}

/* Ajusta el logotipo oficial para conservar su proporción horizontal en cabecera y pie. */
.brand--official img{width:210px;height:auto;max-height:58px;object-fit:contain}
.brand--footer.brand--official img{width:230px;max-height:none;background:#fff;border-radius:14px;padding:8px 10px}

/* Usa el motivo diaguita del colegio como separador visual entre secciones sin competir con el contenido. */
.diaguita-divider{height:42px;background-color:#fff;background-image:url('assets/patron-diaguita.png');background-repeat:repeat-x;background-position:center;background-size:auto 42px;border-top:1px solid rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.05)}
.diaguita-divider--dark{background-color:var(--ink)}

/* Reduce el tamaño del logo y del separador en pantallas pequeñas para mantener una cabecera compacta. */
@media (max-width:650px){
  .brand--official img{width:170px;max-height:50px}
  .diaguita-divider{height:32px;background-size:auto 32px}
  .brand--footer.brand--official img{width:205px}
}


/* Muestra todas las fotografías de Vida Freiriana en una cuadrícula uniforme sin deformar las imágenes. */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.gallery-item{
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:#ece7df;
  aspect-ratio:4/3;
  cursor:zoom-in;
  box-shadow:0 10px 28px rgba(22,22,22,.08);
}
.gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.gallery-item:hover img{
  transform:scale(1.035);
}

/* Reduce progresivamente la cantidad de columnas de la galería en tablet y móvil. */
@media (max-width:980px){
  .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-item{border-radius:14px}
}


/* Usa una fotografía real de Voces Freirianas en el bloque multimedia y mantiene el contenido legible encima. */
.media-card__visual--photo{
  position:relative;
  overflow:hidden;
  min-height:100%;
  background:#161616;
}
.media-card__visual--photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-card__photo-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:34px;
  background:linear-gradient(180deg,rgba(0,0,0,.10) 20%,rgba(0,0,0,.72) 100%);
  color:#fff;
}
.media-card__photo-overlay .play{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  border-radius:50%;
  background:#161616;
  color:#fff;
  text-decoration:none;
  font-size:30px;
  transition:transform .25s ease, background .25s ease;
}
.media-card__photo-overlay .play:hover{
  transform:scale(1.06);
  background:#c94b40;
}
.media-card__photo-overlay strong,
.media-card__photo-overlay span{
  display:block;
}
.media-card__photo-overlay strong{
  font-size:clamp(1.45rem,2.3vw,2rem);
  line-height:1.15;
}
.media-card__photo-overlay span{
  margin-top:8px;
  font-size:1.05rem;
}

@media (max-width:800px){
  .media-card__visual--photo{
    min-height:430px;
  }
  .media-card__photo-overlay{
    padding:24px;
  }
  .media-card__photo-overlay .play{
    width:76px;
    height:76px;
    font-size:24px;
  }
}


/* Hace el logo del encabezado más grande y evita que su fondo blanco contraste con el header sticky. */
.site-header{
  background:#ffffff !important;
}
.site-header.is-scrolled{
  background:#ffffff !important;
}
.site-header .nav-wrap{
  min-height:92px;
}
.site-header .brand--official img{
  width:280px;
  max-width:100%;
  height:auto;
  display:block;
}

/* Mantiene una proporción cómoda del logo y del header en tablet y móvil. */
@media (max-width:980px){
  .site-header .brand--official img{
    width:230px;
  }
  .site-header .nav-wrap{
    min-height:84px;
  }
}
@media (max-width:700px){
  .site-header .brand--official img{
    width:190px;
  }
  .site-header .nav-wrap{
    min-height:76px;
  }
}


/* Aumenta el logo del header un 10% respecto de la versión anterior. */
.site-header .brand--official img{width:308px;}
@media (max-width:980px){.site-header .brand--official img{width:253px;}}
@media (max-width:700px){.site-header .brand--official img{width:209px;}}


/* Añade un acceso flotante a WhatsApp para contacto rápido desde cualquier parte de la página. */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  background:#25D366;
  color:#ffffff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.whatsapp-float:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  filter:saturate(1.03);
}
.whatsapp-float__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:18px;
  line-height:1;
}
.whatsapp-float__text{
  line-height:1;
}
@media (max-width:700px){
  .whatsapp-float{
    right:12px;
    bottom:12px;
    padding:11px 14px;
    gap:8px;
  }
  .whatsapp-float__icon{
    width:30px;
    height:30px;
    font-size:16px;
  }
}


/* Añade el crédito de desarrollo de PlusExpert.cl de forma discreta al pie del sitio. */
.footer-credit{
  padding:14px 0 22px;
  text-align:center;
  font-size:.92rem;
  opacity:.78;
}
.footer-credit a{
  color:inherit;
  text-decoration:none;
  font-weight:700;
}
.footer-credit a:hover{
  text-decoration:underline;
}
