/*
Theme Name: Escuela Puente Colmo
Theme URI: https://escuelapuentecolmo.cl
Author: Escuela Puente Colmo
Author URI: https://escuelapuentecolmo.cl
Description: Tema institucional para la Escuela Puente Colmo de Concón. Identidad visual inspirada en el puente y el borde costero: azul marino, verde y coral, con tipografía Fraunces + Public Sans.
Version: 2.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: epc
*/

:root{
  --navy:#1B3B27;
  --navy-2:#234A32;
  --pine:#2B5844;
  --pine-2:#3E7A5C;
  --sand:#F5EFE2;
  --cream:#FFFDF8;
  --coral:#DE6B39;
  --coral-2:#EE9264;
  --sky:#B9D3D6;
  --ink:#182234;
  --ink-soft:#5B6472;
  --line:#E2D9C4;
  --radius:14px;
  /* Paleta del hero — escudo institucional (verde predominante + negro, amarillo y azul) */
  --forest:#1B3B27;
  --forest-deep:#0E2016;
  --ink-black:#0A0F0C;
  --gold:#E7B73F;
  --steel-blue:#3D72A4;
  --leaf:#4C9463;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Public Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:600;
  line-height:1.12;
  color:var(--navy);
  letter-spacing:-0.01em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{list-style:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--coral); display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--coral); display:inline-block;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:999px; font-weight:700; font-size:14.5px;
  border:1.5px solid transparent; cursor:pointer; transition:all .2s ease;
}
.btn-coral{background:var(--coral); color:#fff;}
.btn-coral:hover{background:#c85b2c; transform:translateY(-1px);}
.btn-outline-navy{border-color:var(--navy); color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy); color:#fff;}
.btn-outline-light{border-color:rgba(255,255,255,.55); color:#fff;}
.btn-outline-light:hover{background:#fff; color:var(--navy);}
:focus-visible{outline:2.5px solid var(--coral); outline-offset:3px;}

/* ---------- HEADER ---------- */
header#masthead{
  position:sticky; top:0; z-index:100;
  background:rgba(255,253,248,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease;
}
header#masthead.scrolled{box-shadow:0 8px 24px rgba(18,35,63,.08);}
.topbar{
  padding:6px 0; font-size:13px; color:var(--ink-soft);
  border-bottom:1px solid var(--line);
}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding-top:6px; padding-bottom:6px;}
.topbar-left{display:flex; gap:22px;}
.topbar-left span{display:inline-flex; align-items:center; gap:6px;}
.navmain{display:flex; align-items:center; justify-content:space-between; gap:28px; padding:14px 0;}
.brand{display:flex; align-items:center; gap:12px; flex-shrink:1; min-width:0;}
.brand img{max-height:46px; max-width:64px; width:auto; height:auto; object-fit:contain; flex-shrink:0; image-rendering:-webkit-optimize-contrast;}
.brand-name{font-family:'Fraunces',serif; line-height:1.15; min-width:0; max-width:280px;}
.brand-name b{display:block; font-size:16.5px; font-weight:700; color:var(--navy); letter-spacing:0.01em;}
.brand-name span{display:block; font-size:11.5px; color:var(--pine); font-weight:600; letter-spacing:.09em; text-transform:uppercase; white-space:normal;}
nav#primary-menu{flex-shrink:0;}
nav#primary-menu ul{display:flex; gap:30px;}
nav#primary-menu ul li a{
  font-size:14px; font-weight:600; color:var(--ink); position:relative; padding:4px 0; display:inline-block;
}
nav#primary-menu ul li.current-menu-item > a{color:var(--pine);}
nav#primary-menu ul li a::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--coral);
  transition:width .2s ease;
}
nav#primary-menu ul li a:hover::after, nav#primary-menu ul li.current-menu-item > a::after{width:100%;}
.nav-actions{display:flex; align-items:center; gap:16px; flex-shrink:0;}
.menu-toggle{display:none; background:none; border:none; cursor:pointer;}

/* mobile nav */
@media (max-width: 980px){
  nav#primary-menu{
    display:none; position:absolute; top:100%; left:0; right:0; background:var(--cream);
    border-bottom:1px solid var(--line); padding:20px 0; box-shadow:0 12px 24px rgba(18,35,63,.08);
  }
  nav#primary-menu.open{display:block;}
  nav#primary-menu ul{flex-direction:column; gap:0; padding:0 32px;}
  nav#primary-menu ul li{border-bottom:1px solid var(--line);}
  nav#primary-menu ul li a{padding:14px 0;}
  .menu-toggle{display:block;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:620px;
  color:#fff; overflow:hidden;
  padding:88px 0 0;
  display:flex; flex-direction:column; justify-content:center;
}
.hero-bg{position:absolute; top:0; right:0; bottom:0; left:0; z-index:0;}
.hero-bg-photo{
  width:100%; height:100%; object-fit:cover; object-position:75% 40%;
  opacity:.65; filter:saturate(1.05);
}
.hero-bg-overlay{
  position:absolute; top:0; right:0; bottom:0; left:0;
  background:
    radial-gradient(60% 70% at 90% 0%, rgba(231,183,63,.14) 0%, transparent 55%),
    linear-gradient(92deg,
      var(--forest-deep) 0%,
      rgba(14,32,22,.96) 32%,
      rgba(20,45,30,.82) 48%,
      rgba(27,59,39,.5) 66%,
      rgba(27,59,39,.18) 85%,
      rgba(27,59,39,.08) 100%);
}
.hero .wrap{position:relative; z-index:2; padding-bottom:80px; padding-top:40px;}
.hero-text{max-width:600px;}
.hero h1{color:#fff; font-size:clamp(34px,4.4vw,54px); margin-bottom:20px;}
.hero h1 em{font-style:italic; color:var(--coral-2);}
.hero p{font-size:17px; color:rgba(255,255,255,.85); max-width:460px; margin-bottom:32px; line-height:1.6; text-shadow:0 2px 12px rgba(0,0,0,.25);}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero .eyebrow, .hero .eyebrow::before{color:var(--gold);}
.hero .eyebrow::before{background:var(--gold);}
.hero-wave{display:block; width:100%; margin-top:14px; position:relative; z-index:2;}
.hero-photo{
  width:100%; height:100%; object-fit:cover; border-radius:22px;
  box-shadow:0 30px 60px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12);
}

/* ---------- STATS STRIP ---------- */
.stats-strip{background:var(--sand); border-bottom:1px solid var(--line);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); padding:38px 0;}
.stats-grid div{text-align:center; border-right:1px solid var(--line); padding:0 12px;}
.stats-grid div:last-child{border-right:none;}
.stats-grid b{display:block; font-family:'Fraunces',serif; font-size:32px; color:var(--navy);}
.stats-grid span{font-size:12.5px; color:var(--ink-soft); font-weight:600; text-transform:uppercase; letter-spacing:.05em;}

/* ---------- GENERIC SECTIONS ---------- */
.section{padding:96px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(28px,3.2vw,38px);}
.section-head p{color:var(--ink-soft); font-size:16px; margin-top:14px; line-height:1.65;}

.values-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:0;}
.value-card{padding:28px 20px; border-left:1px solid var(--line); position:relative;}
.value-card:first-child{border-left:none;}
.value-icon{width:42px; height:42px; margin-bottom:18px; color:var(--pine);}
.value-card h3{font-size:16.5px; margin-bottom:8px; font-family:'Public Sans',sans-serif; font-weight:700; color:var(--navy);}
.value-card p{font-size:13.8px; color:var(--ink-soft); line-height:1.55;}

/* ---------- NOSOTROS SPLIT ---------- */
.split{background:var(--navy); color:#fff; position:relative; overflow:hidden;}
.split .wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; padding:96px 32px;}
.split-visual{position:relative; height:420px; border-radius:20px; overflow:hidden; background:linear-gradient(160deg,var(--pine) 0%, #234b39 100%);}
.split h2{color:#fff;}
.split p{color:rgba(255,255,255,.75); line-height:1.7; margin:18px 0 26px; font-size:15.5px;}
.mv-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px;}
.mv-card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:22px;}
.mv-card svg{color:var(--coral-2); margin-bottom:10px;}
.mv-card h4{color:#fff; font-size:15px; margin-bottom:8px; font-family:'Public Sans'; font-weight:700;}
.mv-card p{color:rgba(255,255,255,.68); font-size:13.5px; margin:0;}

/* ---------- SELLOS ---------- */
.sellos{background:var(--sand);}
.sellos-row{display:flex; gap:14px; flex-wrap:wrap;}
.sello-row-break{flex-basis:100%; width:0; height:0; margin:0; padding:0;}
.sello-pill{display:flex; align-items:center; gap:10px; background:var(--cream); border:1px solid var(--line); border-radius:999px; padding:14px 22px 14px 16px;}
.sello-pill .dot{width:34px; height:34px; border-radius:50%; background:var(--pine); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.sello-pill .dot svg{width:18px; height:18px; color:#fff;}
.sello-pill span{font-weight:700; font-size:14px; color:var(--navy);}

/* ---------- NOTICIAS ---------- */
.news-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; flex-wrap:wrap; gap:20px;}
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.news-card{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--cream); transition:transform .25s ease, box-shadow .25s ease;}
.news-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(18,35,63,.1);}
.news-thumb{height:180px; position:relative; overflow:hidden; background:var(--navy);}
.news-thumb img{width:100%; height:100%; object-fit:cover;}
.news-body{padding:22px 22px 26px;}
.news-date{font-size:12px; font-weight:700; color:var(--coral); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:block;}
.news-body h3{font-size:17.5px; font-family:'Fraunces',serif; margin-bottom:10px; line-height:1.3;}
.news-body p{font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:16px;}
.news-link{font-size:13.5px; font-weight:700; color:var(--pine); display:inline-flex; align-items:center; gap:6px;}
.news-empty{color:var(--ink-soft); font-size:15px; padding:20px 0;}

.news-intro{font-size:16px; color:var(--ink-soft); max-width:640px; margin-bottom:26px; line-height:1.6;}

.news-filters{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px;}
.news-filter-pill{
  display:inline-flex; align-items:center; padding:9px 18px; border-radius:999px;
  border:1.5px solid var(--line); font-size:13.5px; font-weight:600; color:var(--ink-soft);
  transition:all .2s ease; background:var(--cream);
}
.news-filter-pill:hover{border-color:var(--pine); color:var(--pine);}
.news-filter-pill.is-active{background:var(--pine); border-color:var(--pine); color:#fff;}

.news-featured{
  display:grid; grid-template-columns:1.1fr 1fr; gap:0; margin-bottom:50px;
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--cream);
}
.news-featured-thumb{display:block; height:100%; min-height:320px; background:var(--navy);}
.news-featured-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.news-featured-body{padding:40px 44px; display:flex; flex-direction:column; justify-content:center;}
.news-featured-body h2{font-size:28px; font-family:'Fraunces',serif; margin:10px 0 14px; line-height:1.25;}
.news-featured-body h2 a{color:var(--navy);}
.news-featured-body p{font-size:15.5px; color:var(--ink-soft); line-height:1.65; margin-bottom:22px;}
.news-featured-body .btn{align-self:flex-start;}

.news-pagination{margin-top:50px; display:flex; justify-content:center;}
.news-pagination ul{display:flex; align-items:center; gap:8px; list-style:none;}
.news-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px;
  border-radius:10px; border:1.5px solid var(--line); font-size:14px; font-weight:600; color:var(--ink-soft);
}
.news-pagination .page-numbers.current{background:var(--pine); border-color:var(--pine); color:#fff;}
.news-pagination .page-numbers:not(.current):not(.dots):hover{border-color:var(--pine); color:var(--pine);}
.news-pagination .dots{border:none;}

.single-news-footer{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  margin-top:40px; padding-top:26px; border-top:1px solid var(--line);
}
.share-row{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink-soft); font-weight:600;}
.share-row a{
  width:34px; height:34px; border-radius:50%; border:1.5px solid var(--line); color:var(--pine);
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.share-row a:hover{background:var(--pine); border-color:var(--pine); color:#fff;}

.related-news{max-width:820px; margin:56px auto 0; padding-top:40px; border-top:1px solid var(--line);}
.related-news h2{font-size:22px; font-family:'Fraunces',serif; margin-bottom:26px; color:var(--navy);}
.related-news .news-grid{grid-template-columns:repeat(3,1fr);}

/* ---------- CTA BANNER ---------- */
.cta-banner{
  background:linear-gradient(120deg, var(--pine) 0%, var(--pine-2) 100%);
  border-radius:26px; padding:56px 48px; display:flex; align-items:center; justify-content:space-between; gap:30px;
  color:#fff; position:relative; overflow:hidden; flex-wrap:wrap;
}
.cta-banner h2{color:#fff; font-size:28px; max-width:480px;}
.cta-banner p{color:rgba(255,255,255,.82); margin-top:10px; font-size:15px;}
.cta-actions{display:flex; gap:14px; flex-shrink:0; flex-wrap:wrap;}

/* ---------- PÁGINA NOSOTROS ---------- */
.mini-stats{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.mini-stats div{padding:6px 0;}
.mini-stats b{display:block; font-family:'Fraunces',serif; font-size:28px; color:var(--navy);}
.mini-stats span{font-size:12px; color:var(--ink-soft); font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px;}
.team-card{text-align:center;}
.team-photo{width:112px; height:112px; border-radius:50%; object-fit:cover; margin:0 auto 16px; display:block; border:3px solid var(--sand);}
.team-avatar-fallback{
  width:112px; height:112px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center;
  background:var(--pine); color:#fff; font-family:'Fraunces',serif; font-size:30px; font-weight:600;
}
.team-card h4{font-size:15.5px; margin-bottom:4px; font-family:'Public Sans'; font-weight:700; color:var(--navy);}
.team-card span{font-size:13px; color:var(--ink-soft); font-weight:600;}
.team-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.55; margin-top:8px;}
.staff-category{margin-bottom:64px;}
.staff-category:last-child{margin-bottom:0;}
.staff-category-title{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--pine); margin-bottom:26px; display:flex; align-items:center; gap:12px;}
.staff-category-title::after{content:""; flex:1; height:1px; background:var(--line);}

/* ---------- NIVELES ---------- */
.tutor-card{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  background:var(--sand); border:1px solid var(--line); border-radius:20px; padding:26px 30px;
}
.tutor-photo{width:88px; height:88px; border-radius:50%; object-fit:cover; flex-shrink:0; border:3px solid var(--cream);}
.tutor-photo.team-avatar-fallback{font-size:26px;}
.tutor-info{flex:1; min-width:220px;}
.tutor-label{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--pine);}
.tutor-info h3{font-size:22px; margin:4px 0 10px; font-family:'Fraunces',serif; color:var(--navy);}
.tutor-meta{display:flex; flex-direction:column; gap:4px; font-size:13.5px; color:var(--ink-soft);}
.tutor-meta a{color:var(--pine); font-weight:600;}
.tutor-cta{flex-shrink:0;}

.support-staff-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin-top:16px;}
.support-staff-card{
  display:flex; align-items:center; gap:14px;
  background:var(--cream); border:1px solid var(--line); border-radius:16px; padding:16px 20px;
}
.support-staff-photo{
  width:52px; height:52px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:2px solid #fff; box-shadow:0 0 0 1px var(--line); margin:0;
}
.support-staff-photo.team-avatar-fallback{font-size:16px;}
.support-staff-card h4{font-size:16px; margin:4px 0 6px; font-family:'Fraunces',serif; color:var(--navy);}
.support-staff-card a{font-size:13.5px; color:var(--pine); font-weight:600; text-decoration:none;}
.support-staff-card a:hover{text-decoration:underline;}

.quick-nav{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.quick-nav a{
  padding:10px 20px; border-radius:999px; border:1.5px solid var(--line); background:var(--cream);
  font-size:13.5px; font-weight:700; color:var(--navy); transition:all .2s ease;
}
.quick-nav a:hover{background:var(--pine); border-color:var(--pine); color:#fff;}

.nivel-section-head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom:32px;}
.nivel-section-head h2{font-size:clamp(24px,3vw,32px);}

.niveles-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:24px;}
.nivel-card{
  display:block; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--cream);
  transition:transform .25s ease, box-shadow .25s ease;
}
.nivel-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(18,35,63,.1);}
.nivel-card-thumb{height:140px; overflow:hidden;}
.nivel-card-thumb img{width:100%; height:100%; object-fit:cover;}
.nivel-card-thumb-fallback{
  height:140px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(155deg, var(--forest) 0%, var(--ink-black) 100%); color:var(--gold);
}
.nivel-card-body{padding:20px;}
.nivel-card-body h3{font-size:17px; margin-bottom:6px; font-family:'Fraunces',serif; color:var(--navy);}
.nivel-card-body span{font-size:13px; color:var(--ink-soft);}

/* ---------- SIMPLE PAGE / SINGLE CONTENT ---------- */
.page-hero{background:var(--navy); color:#fff; padding:70px 0 54px;}
.page-hero h1{color:#fff; font-size:clamp(28px,4vw,42px);}
.page-hero .breadcrumb{color:rgba(255,255,255,.6); font-size:13.5px; margin-top:10px;}
.page-hero .breadcrumb a{color:var(--coral-2);}
.content-area{padding:70px 0; max-width:820px; margin:0 auto;}
.content-area h2{margin:32px 0 14px; font-size:26px;}
.content-area p{margin-bottom:16px; line-height:1.75; color:var(--ink-soft); font-size:16px;}
.content-area img{border-radius:var(--radius); margin:20px 0;}
.content-area ul, .content-area ol{margin:0 0 16px 22px; color:var(--ink-soft); line-height:1.7;}
.nosotros-intro{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
.mini-stats-card{background:var(--sand); border:1px solid var(--line); border-radius:20px; padding:32px;}

/* ---------- FOOTER ---------- */
footer#colophon{background:var(--navy); color:rgba(255,255,255,.7); padding-top:0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding:70px 0 44px;}
.footer-brand p{font-size:13.8px; line-height:1.7; margin-top:16px; max-width:280px; color:rgba(255,255,255,.55);}
.footer-col h4{color:#fff; font-size:13.5px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; font-family:'Public Sans'; font-weight:700;}
.footer-col li{margin-bottom:11px;}
.footer-col a{font-size:14px; color:rgba(255,255,255,.62); transition:color .15s;}
.footer-col a:hover{color:var(--coral-2);}
.footer-contact li{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.62);}
.footer-contact svg{flex-shrink:0; margin-top:2px; color:var(--coral-2);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding:22px 0; display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:rgba(255,255,255,.45); flex-wrap:wrap; gap:10px;}
.social-row{display:flex; gap:10px;}
.social-row a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center;}
.social-row a:hover{background:var(--coral); border-color:var(--coral);}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal{transition:none; opacity:1; transform:none;}
  html{scroll-behavior:auto;}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  .topbar{display:none;}
  .navmain{gap:14px;}
  .brand-name{max-width:150px;}
  .brand-name b{font-size:14px;}
  .brand-name span{font-size:9px; letter-spacing:.05em;}
  .brand img{max-height:42px; max-width:56px;}
  .nav-actions{gap:10px;}
  .nav-actions .btn-coral{padding:9px 14px; font-size:12.5px;}
  .hero{min-height:520px;}
  .hero .wrap{padding-bottom:60px; padding-top:20px;}
  .hero-bg-overlay{
    background:
      radial-gradient(60% 70% at 90% 0%, rgba(231,183,63,.14) 0%, transparent 55%),
      linear-gradient(180deg, var(--forest-deep) 0%, rgba(14,32,22,.95) 45%, rgba(20,45,30,.88) 70%, rgba(27,59,39,.7) 100%);
  }
  .hero-bg-photo{opacity:.45; object-position:70% 35%;}
  .stats-grid{grid-template-columns:repeat(2,1fr); gap:24px 0;}
  .stats-grid div{border-right:none; border-bottom:1px solid var(--line); padding-bottom:20px;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .value-card{border-left:none; border-top:1px solid var(--line);}
  .value-card:first-child{border-top:none;}
  .split .wrap{grid-template-columns:1fr; padding:64px 24px;}
  .split-visual{height:260px;}
  .mv-cards{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .related-news .news-grid{grid-template-columns:1fr;}
  .news-featured{grid-template-columns:1fr;}
  .news-featured-thumb{min-height:220px;}
  .news-featured-body{padding:28px 26px;}
  .single-news-footer{flex-direction:column; align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  .cta-banner{flex-direction:column; align-items:flex-start; padding:40px 28px;}
  .wrap{padding:0 20px;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .mini-stats{grid-template-columns:1fr 1fr;}
  .nosotros-intro{grid-template-columns:1fr;}
  .niveles-grid{grid-template-columns:repeat(2,1fr);}
  .tutor-card{flex-direction:column; align-items:flex-start; text-align:left;}
  .tutor-cta{width:100%; justify-content:center;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column; text-align:center;}
  .brand-name span{display:none;}
  .brand-name{max-width:none;}
  .brand-name b{font-size:13px;}
  .navmain{gap:8px;}
  .nav-actions{gap:6px;}
  .nav-actions .btn-coral{padding:8px 12px; font-size:11.5px;}
  .niveles-grid{grid-template-columns:1fr;}
}

/* ---------- PÁGINA COMUNIDAD ---------- */
.community-hero{
  position:relative; overflow:hidden; color:#fff;
  padding:78px 0 74px;
  background:
    radial-gradient(55% 90% at 85% 10%, rgba(231,183,63,.18), transparent 66%),
    radial-gradient(45% 70% at 5% 100%, rgba(61,114,164,.22), transparent 70%),
    linear-gradient(145deg,var(--forest) 0%,var(--forest-deep) 66%,var(--ink-black) 100%);
}
.community-hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-95px;height:140px;background:var(--cream);border-radius:50% 50% 0 0/100% 100% 0 0;}
.community-hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:64px;align-items:center;position:relative;z-index:2;}
.community-hero .eyebrow{color:var(--gold);}.community-hero .eyebrow::before{background:var(--gold);}
.community-hero h1{color:#fff;font-size:clamp(38px,5vw,58px);margin-bottom:20px;}
.community-hero-copy>p:not(.eyebrow){max-width:560px;color:rgba(255,255,255,.78);font-size:17px;line-height:1.7;margin-bottom:30px;}
.community-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.community-hero-visual{height:390px;position:relative;}
.community-main-photo,.community-photo-placeholder{width:100%;height:100%;object-fit:cover;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 32px 65px rgba(0,0,0,.34);}
.community-photo-placeholder svg{width:100%;height:100%;display:block;}
.community-hero-badge{position:absolute;left:-30px;bottom:24px;background:var(--cream);color:var(--navy);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 40px rgba(0,0,0,.24);}
.community-hero-badge strong{font-family:'Fraunces',serif;font-size:30px;color:var(--coral);line-height:1;}.community-hero-badge span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.35;color:var(--ink-soft);}
.community-intro{padding-top:116px;}
.community-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.community-group-card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:30px 26px;min-height:300px;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.community-group-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(18,35,63,.09);border-color:#d4c8ac;}
.community-group-icon{width:52px;height:52px;border-radius:15px;background:var(--sand);color:var(--pine);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}.community-group-icon svg{width:25px;height:25px;}
.community-group-card:nth-child(2) .community-group-icon{background:#FCE9DF;color:var(--coral);}.community-group-card:nth-child(3) .community-group-icon{background:#E7F0F2;color:var(--steel-blue);}.community-group-card:nth-child(4) .community-group-icon{background:#E8F0EA;color:var(--leaf);}
.community-group-card h3{font-size:19px;margin-bottom:12px;}.community-group-card p{font-size:14px;color:var(--ink-soft);line-height:1.65;margin-bottom:22px;}.community-card-tag{margin-top:auto;font-size:11px;font-weight:800;color:var(--pine);text-transform:uppercase;letter-spacing:.06em;}
.community-participation-section{background:var(--sand);padding:96px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.community-participation-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:78px;align-items:start;}
.community-participation-copy{position:sticky;top:150px;}.community-participation-copy h2{font-size:clamp(29px,3.5vw,40px);margin-bottom:18px;}.community-participation-copy>p:not(.eyebrow){font-size:15.5px;line-height:1.7;color:var(--ink-soft);margin-bottom:28px;}
.participation-list{border-top:1px solid var(--line);}.participation-item{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid var(--line);}.participation-number{font-family:'Fraunces',serif;font-size:18px;color:var(--coral);font-weight:700;}.participation-item h3{font-size:18px;margin-bottom:8px;}.participation-item p{font-size:14px;line-height:1.6;color:var(--ink-soft);}
.community-links-section{background:var(--cream);}.community-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.community-link-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:24px;display:grid;grid-template-columns:50px 1fr 28px;gap:18px;align-items:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}.community-link-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(18,35,63,.08);border-color:#cfbea0;}.community-link-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sand);color:var(--pine);}.community-link-icon svg{width:22px;height:22px;}.community-link-card h3{font-size:16.5px;font-family:'Public Sans',sans-serif;font-weight:800;margin-bottom:5px;}.community-link-card p{font-size:13.3px;color:var(--ink-soft);line-height:1.45;}.community-link-arrow{font-size:23px;color:var(--coral);transition:transform .2s ease;}.community-link-card:hover .community-link-arrow{transform:translateX(4px);}
.community-quote-section{padding-top:0;}.community-quote{border-radius:24px;background:linear-gradient(120deg,var(--pine),var(--pine-2));color:#fff;padding:50px 58px;display:grid;grid-template-columns:58px 1fr;gap:22px;align-items:start;position:relative;overflow:hidden;}.community-quote::after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-90px;top:-90px;}.community-quote-mark{font-family:'Fraunces',serif;font-size:72px;line-height:.8;color:var(--gold);}.community-quote p{font-family:'Fraunces',serif;font-size:clamp(20px,2.4vw,28px);line-height:1.4;max-width:850px;color:#fff;}.community-quote span{display:block;margin-top:18px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.65);}.community-editor-content{padding-top:0;}
@media (max-width:980px){.community-hero-grid{grid-template-columns:1fr;gap:40px;}.community-hero-visual{height:330px;}.community-hero-badge{left:18px;}.community-groups{grid-template-columns:1fr 1fr;}.community-participation-grid{grid-template-columns:1fr;gap:46px;}.community-participation-copy{position:static;}.community-link-grid{grid-template-columns:1fr;}.community-quote{padding:40px 34px;}}
@media (max-width:560px){.community-hero{padding:58px 0 72px;}.community-hero-visual{height:260px;}.community-hero-badge{left:12px;bottom:12px;padding:13px 15px;}.community-groups{grid-template-columns:1fr;}.community-group-card{min-height:auto;}.participation-item{grid-template-columns:42px 1fr;gap:10px;}.community-link-card{grid-template-columns:44px 1fr 22px;padding:19px 17px;gap:12px;}.community-link-icon{width:44px;height:44px;}.community-quote{grid-template-columns:1fr;gap:8px;padding:34px 24px;}.community-quote-mark{font-size:52px;}}


/* ---------- MENÚ FLOTANTE DE REDES SOCIALES ---------- */
.epc-social-float{
	position:fixed;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	z-index:9998;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.epc-social-btn{
	width:46px;
	height:46px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	box-shadow:0 8px 18px rgba(14,28,49,.20);
	transition:transform .2s ease,box-shadow .2s ease;
}
.epc-social-btn svg{width:22px;height:22px;display:block;}
.epc-social-btn:hover{transform:translateX(-4px) scale(1.05);box-shadow:0 10px 22px rgba(14,28,49,.28);color:#fff;}
.epc-social-btn.is-unconfigured{opacity:.55;}

.epc-social-btn.is-whatsapp{background:#25D366;}
.epc-social-btn.is-facebook{background:#1877F2;}
.epc-social-btn.is-instagram{background:radial-gradient(circle at 30% 110%,#FDCF56 0%,#F87D3E 25%,#E23E64 50%,#C2306A 75%,#8B3AA8 100%);}
.epc-social-btn.is-youtube{background:#FF0000;}
.epc-social-btn.is-linkedin{background:#0A66C2;}

@media (max-width:680px){
	.epc-social-float{right:12px;gap:10px;}
	.epc-social-btn{width:40px;height:40px;}
	.epc-social-btn svg{width:19px;height:19px;}
}
