/* ==============================
   Base / Tokens
============================== */
:root{
  --navy-900:#0b1b3b;
  --navy-800:#102453;
  --navy-700:#162e6b;
  --blue-600:#2449c6;
  --blue-500:#3963e0;
  --green-600:#15a34a;
  --green-700:#0f8a3c;
  --gray-100:#f6f7fb;
  --gray-200:#eef1f6;
  --gray-300:#e3e7ef;
  --gray-600:#6b7280;
  --text:#1f2937;
  --white:#ffffff;

  --radius-lg:18px;
  --radius-xl:22px;
  --shadow:0 10px 30px rgba(16,36,83,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  line-height:1.6;
  background:#fff;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0 0 .5rem 0;color:var(--navy-900)}
.display{font-size:clamp(1.5rem, 2.6vw + 1rem, 3.6rem);line-height:1.1;letter-spacing:-.5px;text-align: center;}
.display-sm{font-size:clamp(1.8rem, 1.8vw + 1rem, 2.6rem);line-height:1.15;font-weight:900;letter-spacing:-.4px}
.h1{font-size:clamp(1.6rem, 1.2vw + 1rem, 2.2rem);font-weight:800;line-height:1.2;margin-bottom:.75rem}
.lead{font-size:1.05rem;color:#3b3f46;text-align: center;}
.center{text-align:center}
.muted{color:var(--gray-600)}

.container{width:min(1160px, 92vw);margin-inline:auto}
.small{font-size:.95rem}

.section{padding:72px 0}
.section--alt{background:var(--gray-100)}
.section--tight{padding-top:40px;padding-bottom:40px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;border-radius:12px;border:0;padding:12px 20px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  background:var(--navy-800);color:#fff
}
.btn--pill{border-radius:999px;padding:10px 18px}
.btn--xl{padding:16px 28px;font-size:1.05rem}
.btn--green{background:var(--green-600)}
.btn--green:hover{background:var(--green-700);transform:translateY(-1px);box-shadow:var(--shadow)}

/* ==============================
   Header / Nav
============================== */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter: blur(8px);
  border-bottom:1px solid var(--gray-300);
}
.nav{display:flex;align-items:center;gap:22px;padding:14px 0}
.brand__logo{height:34px}
.menu{display:flex;gap:22px;margin-left:auto}
.menu__link{padding:8px 2px;border-bottom:2px solid transparent;color:#1d2a4a;font-weight:600}
.menu__link:hover, .menu__link.active{border-bottom-color:var(--green-600)}
.btn--green{margin-left:6px}

/* Mobile nav */
.nav__toggle{display:none}
.nav__hamburger{display:none;margin-left:auto;cursor:pointer}
.nav__hamburger span{display:block;width:24px;height:2px;background:var(--navy-900);margin:5px 0;transition:.2s}

@media (max-width: 900px){
  .menu{position:fixed;inset:64px 0 auto 0;background:#fff;padding:18px 18px 28px;border-bottom:1px solid var(--gray-300);
    display:none;flex-direction:column}
  .nav__hamburger{display:block}
  .nav__toggle:checked ~ .menu{display:flex}
  .btn--green{display:none}
}

/* ==============================
   Hero
============================== */
.hero .container{display:grid;grid-template-columns:1.2fr .9fr;gap:32px;align-items:center;padding:24px 0}
.hero__media img{border-radius:var(--radius-xl);box-shadow:var(--shadow)}
@media (max-width: 980px){
  .hero .container{grid-template-columns:1fr}
}

/* ==============================
   Video + Texto
============================== */
.grid{display:grid;gap:28px}
.grid--2{grid-template-columns:1.1fr 1fr}
.card{background:#fff;border-radius:var(--radius-lg);overflow:hidden}
.card--shadow{box-shadow:var(--shadow)}
.video__ratio{position:relative;padding-top:56.25%}
.video__embed{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--radius-lg)}

/* ==============================
   Cards de Ensino (covers)
============================== */
.cards{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cover-card{position:relative;border-radius:18px;overflow:hidden;min-height:220px}
.cover-card__img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/11;filter:saturate(1.02)}
.cover-card__overlay{
  position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 90%);
  color:#fff;display:flex;flex-direction:column;gap:4px
}
.cover-card__kicker{font-weight:700;opacity:.95}
.cover-card__title{font-size:1.6rem;line-height:1.1}
.cover-card:hover .cover-card__img{transform:scale(1.03);transition:.25s ease}
@media (max-width: 980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.cards{grid-template-columns:1fr}}

/* ==============================
   Diferencial (feature cards)
============================== */
.feature-card{position:relative;border-radius:18px;overflow:hidden}
.feature-card img{width:100%;height:260px;object-fit:cover;display:block}
.feature-card__label{
  position:absolute;left:16px;bottom:16px;background:rgba(11,27,59,.72);color:#fff;
  padding:12px 14px;border-radius:16px;box-shadow:var(--shadow)
}
.feature-card__label .kicker{display:block;opacity:.9;font-weight:600}
.feature-card__label strong{display:block;font-size:1.35rem;letter-spacing:.2px}
.section--tight .cards{grid-template-columns:repeat(4,1fr)}

/* ==============================
   Vida Escolar (ícones)
============================== */
.icons-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.icon-blurb{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px}
.icon-blurb i{font-size:34px;color:var(--blue-600);margin-bottom:10px}
.icon-blurb h3{margin:.25rem 0 .35rem 0}
@media (max-width: 980px){.icons-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.icons-grid{grid-template-columns:1fr}}

/* ==============================
   Galeria slice
============================== */
.gallery-slice{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}
.gallery-slice__grid{display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:160px;gap:16px}
.gallery-slice__grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}
@media (max-width: 980px){
  .gallery-slice{grid-template-columns:1fr}
  .gallery-slice__grid{grid-template-columns:1fr 1fr}
}

/* ==============================
   CTAs
============================== */
.section--cta .grid{align-items:center}
.cta__media img{border-radius:18px;box-shadow:var(--shadow)}
.section--banner{background:var(--gray-100)}
.banner{display:grid;place-items:center;text-align:center;gap:8px;padding:24px;border-radius:20px;background:#f3f6ff}

/* ==============================
   Form + Map
============================== */
.form{padding:18px;margin-top:14px}
.form__group input, .form__group textarea{
  width:100%;padding:14px 14px;border:1px solid var(--gray-300);border-radius:12px;outline:0;font:inherit
}
.form__group input:focus, .form__group textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(57,99,224,.15)}
.form__actions{text-align:center;margin-top:8px}
.contact-lines{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;color:#122}
.contact-lines i{color:var(--blue-600);margin-right:6px}
.map{margin-top:18px;border-radius:18px;overflow:hidden}
.map iframe{width:100%;height:420px;border:0}
.address-line{margin-top:12px;font-weight:700}

/* ==============================
   Footer
============================== */
.site-footer{background:var(--navy-900);color:#d8e0ff;margin-top:40px}
.footer{display:grid;grid-template-columns:1.1fr .7fr .8fr;gap:20px;padding:38px 0}
.footer__logo{height:100px;margin-bottom:12px}
.footer p{max-width:320px}
.footer h4{color:#fff;margin:0 0 10px 0}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer a{color:#d8e0ff}
.footer a:hover{color:#fff}
.social{display:flex;gap:12px;margin-top:14px}
.social a{width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.08);border-radius:50%}
.social a:hover{background:rgba(255,255,255,.16)}

.copyright{background:#3b63c7;color:#eef2ff}
.copyright .container{padding:10px 0;text-align:center}

@media (max-width: 900px){
  .grid--2{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr;gap:28px;text-align:left}
}

@media (max-width: 480px){
  .section--tight .cards {
    grid-template-columns: repeat(1, 1fr);
  }
  .menor {
    display: block !important;
    background: #15a34a;
    color: white;
    border-radius: 10px;
    text-align: center;
  }
  .hero__media {
    transform: scaleX(1.5);
  }
  .hero__media img {
    height: 240px;
  }
}
/* Acessibilidade */
.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}

.texto_foto{
  color: white;
}