:root{
  --navy:#0a2850;
  --navy2:#07305f;
  --orange:#f28a1a;
  --green:#16a34a;
  --red:#ef4444;

  --text:#0f172a;
  --muted:#64748b;

  --border:#e5e7eb;
  --shadow: 0 10px 24px rgba(2,6,23,.08);
  --radius:18px;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  color:var(--text);
  background:#fff;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

/* =========================
   HEADER / NAV
========================= */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:50;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  position:relative; /* para el menú móvil absoluto */
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 260px;
}

.brand img{
  height:65px; /* logo grande */
  width:auto;
}

.brand h1{
  font-size:30px;
  font-weight:900;
  color:var(--navy);
  line-height:1;
}

.menu-toggle{
  display:none; /* desktop */
  font-size:28px;
  cursor:pointer;
  color:var(--navy);
  background:transparent;
  border:none;
  padding:6px 10px;
  border-radius:10px;
}

.menu-toggle:hover{
  background:#f1f5f9;
}

/* MENU DESKTOP */
.menu-block{
  display:flex;
  align-items:center;
  gap:20px;
  margin-left:auto;
}

.menu-block a{
  font-weight:700;
  color:var(--navy);
  padding:8px 10px;
  border-radius:10px;
}

.menu-block a:hover{
  background:#f1f5f9;
}

.btn-nav{
  background:var(--navy);
  color:#fff !important;
  padding:10px 14px !important;
  border-radius:10px;
  box-shadow:0 8px 18px rgba(10,40,80,.18);
}

.btn-nav:hover{
  background:var(--navy2) !important;
}

/* MENU MOBILE: bloque hacia abajo */
@media (max-width: 900px){

  .brand{
    min-width: 0;
  }

  .brand h1{
    font-size:24px;
  }

  .menu-toggle{
    display:block; /* aparece */
  }

  .menu-block{
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    background:#fff;
    border-top:1px solid var(--border);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:0;

    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }

  .menu-block.active{
    max-height:280px;
  }

  .menu-block a{
    width:100%;
    padding:16px 4%;
    border-radius:0;
    border-bottom:1px solid #f1f5f9;
  }

  .menu-block a:last-child{
    border-bottom:none;
  }

  .menu-block .btn-nav{
    width:92%;
    margin:14px 4% 18px;
    text-align:center;
    border-radius:12px;
    padding:14px 0 !important;
  }
}

/* =========================
   HERO
========================= */
.hero{
  background:
    linear-gradient(90deg, rgba(10,40,80,.92) 0%, rgba(10,40,80,.80) 5%, rgba(10,40,80,0) 65%),
    url('https://www.ccdm.cl/wp-content/uploads/2023/02/Nota-escolares-CCDM-scaled.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;

  min-height:500px;
  display:flex;
  align-items:center;
}

.hero-content{
  max-width:520px;
  padding:42px 0 28px;
}

.hero-content h2{
  font-size:52px;
  line-height:1.05;
  margin-bottom:14px;
}

.hero-content p{
  color:rgba(255,255,255,.92);
  margin-bottom:18px;
  font-size:16px;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--navy);
  padding:12px 18px;
  border-radius:12px;
  font-weight:900;
}

.btn-primary:hover{
  background:#eaf2ff;
}

/* =========================
   NUESTRA UNIDAD (franja)
========================= */
.unit-section{
  padding: 18px 0 40px;
}

.unit-band{
  background: var(--navy);
  color:#fff;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:stretch;
  overflow:hidden;
  border-radius: 16px;
}

.unit-text{
  padding: 26px;
  position:relative;
  z-index:1;
}

.unit-text h2{
  margin:0 0 10px;
  font-size: 34px;
  font-weight: 900;
}

.unit-text p{
  margin:0 0 16px;
  color: rgba(255,255,255,.90);
  font-size: 14px;
  line-height: 1.5;
  max-width: 520px;
}

.unit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #0b3b7a;
  color:#fff;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .3px;
}

.unit-btn:hover{
  background: var(--navy2);
}

.unit-photo{
  position:relative;
  overflow:hidden;
}

/* DEGRADADO SOLO EN EL BORDE IZQUIERDO */
.unit-photo::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:120px; /* ← controla el ancho del degradado */
  height:100%;
  pointer-events:none;

  background: linear-gradient(
    90deg,
    rgba(10,40,80,1) 0%,
    rgba(10,40,80,0.8) 30%,
    rgba(10,40,80,0.4) 60%,
    rgba(10,40,80,0) 100%
  );
}

.unit-photo img{
  width:100%;
  height:100%;
  object-fit: cover;
}

/* detalle naranja decorativo (opcional, estilo mockup) */
.unit-band::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  background: var(--orange);
  border-radius: 32px;
  left: -50px;
  bottom: -50px;
  opacity: .95;
  z-index: 0;
}
.unit-band{ position:relative; }

/* =========================
   FORTALEZAS (2x2)
========================= */
.strengths-section{
  padding: 10px 0 40px;
}

/* Fortalezas: grid que aprovecha el ancho */
.strengths-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 14px;
}

/* Card */
.strength-item{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px 18px;
  box-shadow: var(--shadow);
}

/* Icono dentro de una “pastilla” */
.strength-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #eef2f7;
}

.strength-icon svg{
  width:34px;
  height:34px;
  stroke: var(--navy) !important;
  stroke-width: 2.1;
}

.strength-item h3{
  margin: 2px 0 6px;
  font-size: 16px;
  font-weight: 900;
  color: var(--navy);
}

.strength-item p{
  margin:0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}

/* Opcional: hover suave */
.strength-item:hover{
  transform: translateY(-2px);
  transition: .15s ease;
}

/* =========================
   CARDS (Admisiones/Noticias/Vida)
========================= */
.cards-section{
  margin-top:-50px;
  padding-bottom:40px;
}

.cards3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#fff;
  box-shadow: var(--shadow);
}

.card{
  text-align:center;
  padding:24px 18px;
  border-right:1px solid var(--border);
  background:#fff;
}

.card:last-child{
  border-right:none;
}

.iconWrap{
  width:60px;
  height:60px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
}

.iconWrap svg{
  width:48px;
  height:48px;
  stroke-width:2.2;
}

.iconWrap.orange svg{ stroke:var(--orange) !important; }
.iconWrap.green  svg{ stroke:var(--green)  !important; }
.iconWrap.red    svg{ stroke:var(--red)    !important; }

.card h3{
  font-size:16px;
  font-weight:900;
  margin-bottom:8px;
  color:var(--navy);
  letter-spacing:.3px;
}

.card p{
  font-size:13px;
  color:var(--muted);
  margin-bottom:14px;
  line-height:1.35;
}

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.pill.orange{background:var(--orange)}
.pill.green{background:var(--green)}
.pill.red{background:var(--red)}

/* =========================
   SECTIONS
========================= */
.section{
  padding:40px 0;
}

.section-title{
  font-size:34px;
  margin:0 0 18px;
  color:var(--navy);
}

/* =========================
   ÚLTIMAS NOTICIAS
========================= */
.section-title.center{
  text-align:center;
}

.news-section{
  padding: 10px 0 40px;
}

.news-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 14px;
}

.news-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  box-shadow: var(--shadow);
}

.news-img{
  position:relative;
  height: 190px;
  overflow:hidden;
}

.news-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* detalle naranja decorativo en esquina (como tu mockup) */
.news-corner{
  position:absolute;
  left:-22px;
  top:-22px;
  width:70px;
  height:70px;
  background: var(--orange);
  border-radius:18px;
  opacity:.95;
}

.news-body{
  padding: 16px 16px 18px;
}

.news-date{
  font-size:12px;
  font-weight:900;
  color: var(--navy);
  letter-spacing:.4px;
  margin-bottom:8px;
}

.news-title{
  font-size:18px;
  font-weight:900;
  color: var(--navy);
  margin: 0 0 10px;
}

.news-text{
  font-size:13px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0 0 14px;
}

.news-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#0b3b7a;
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.3px;
}

.news-btn:hover{
  background: var(--navy2);
}

/* =========================
   FOOTER
========================= */
footer{
  background:var(--navy);
  color:#fff;
  padding:30px 0;
  margin-top:40px;
}

footer h4{
  margin-bottom:10px;
  font-size:16px;
  letter-spacing:.2px;
}

footer p{
  margin-bottom:6px;
  font-size:14px;
  color:rgba(255,255,255,.92);
}
/* HERO mobile */
@media (max-width: 900px){
  .hero{
    background:
      linear-gradient(180deg, rgba(10,40,80,.94) 0%, rgba(10,40,80,.86) 58%, rgba(10,40,80,0) 70%),
      url('https://www.ccdm.cl/wp-content/uploads/2023/02/Nota-escolares-CCDM-scaled.jpg');
    background-size:cover;
    background-position:center;
  }

  .hero-content h2{
    font-size:44px;
  }

  .unit-band{
    grid-template-columns: 1fr;
  }
  .unit-photo{
    max-height: 240px;
  }

  .strengths-grid{ grid-template-columns: 1fr; }
  .cards3{grid-template-columns:1fr}
  .card{border-right:none;border-bottom:1px solid var(--border)}
  .card:last-child{border-bottom:none}
  
   /* 1) Asegura que el contenedor sea referencia del menú desplegable */
  .nav{
    position:relative;
  }

  /* 2) En móvil, el nav NO debe ocupar espacio en la fila */
  .menu-block{
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    margin:0;              /* <-- clave */
    display:flex;          /* se queda flex, pero ya fuera del flujo */
    background:#fff;
    border-top:1px solid var(--border);

    flex-direction:column;
    align-items:flex-start;

    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }

  /* 3) Si tu CSS desktop le puso margin-left:auto, aquí lo anulamos */
  .menu-block{
    margin-left:0 !important;  /* <-- clave */
  }

  /* 4) Botón hamburguesa visible */
  .menu-toggle{
    display:block;
    margin-left:auto;      /* empuja el botón a la derecha */
  }

  /* 5) Mantén el bloque cerrado/abierto */
  .menu-block.active{ max-height:280px; }

  .brand h1{
    font-size:22px;
    line-height:1.05;
  }

  .news-grid{
    grid-template-columns: 1fr;
  }
  .news-img{ height: 175px; }
}

