
:root{
  --amber-50:#fff7ed; --amber-100:#ffedd5; --amber-200:#fed7aa; --amber-300:#fdba74;
  --amber-400:#f59e0b; --amber-500:#f59e0b; --amber-600:#d97706;
  --slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-200:#e2e8f0;
  --slate-300:#cbd5e1; --slate-600:#475569; --slate-700:#334155; --slate-900:#0f172a;
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--slate-700);background:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin-inline:auto;padding:0 16px}
.hide-sm{display:none}
@media(min-width:640px){.hide-sm{display:inline}}

/* Topbar */
.topbar{font-size:.85rem}
.topbar__content{display:flex;justify-content:space-between;align-items:center;padding:6px 0}
.topbar__left{display:flex;gap:12px;align-items:center}
.topbar__right{display:flex;gap:12px;align-items:center}
.topbar--orange{background:linear-gradient(90deg,#f59e0b 0%, #fbbf24 60%, #fde68a 100%);color:#1a1a1a;border-bottom:1px solid rgba(0,0,0,.08)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-weight:600;border:1px solid transparent;transition:.2s ease}
.btn--pill{border-radius:999px}
.btn--amber{background:var(--amber-400);color:#1a1a1a}
.btn--amber:hover{background:#fbbf24}
.btn--glass{background:rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#111;border-color:rgba(0,0,0,.1)}
.btn--glass:hover{background:rgba(255,255,255,.55)}
.btn--white{background:#fff;color:#111}
.btn--white:hover{opacity:.9}
.btn--dark{background:#0f172a;color:#fff}
.btn--dark:hover{filter:brightness(1.1)}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-bottom:1px solid var(--slate-200)}
.header.scrolled{box-shadow:0 6px 16px rgba(0,0,0,.08)}
.header__inner{height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px}
.brand__logo-img{height:42px;width:auto;border-radius:10px;object-fit:contain;background:#fff;padding:2px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.brand__text small{display:block;color:#64748b;margin-top:-3px;font-size:11px}
.nav{display:none;gap:20px;align-items:center}
.nav a{font-weight:600;color:#475569}
.nav a:hover{color:#f59e0b}
.nav__cta{margin-left:10px}
@media(min-width:768px){.nav{display:flex}}

.hamburger{display:inline-flex;flex-direction:column;gap:4px;border:1px solid var(--slate-300);border-radius:10px;padding:8px;background:#fff}
.hamburger span{height:2px;width:22px;background:#1f2937;display:block}
@media(min-width:768px){.hamburger{display:none}}
.nav.open{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 0}

/* Hero */
.hero{position:relative;min-height:72vh;color:#fff}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(124,45,18,.65),rgba(234,88,12,.35) 40%,transparent 100%)}
.hero__content{position:relative;padding:88px 0;text-align:left}
.badge{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);padding:6px 10px;border-radius:999px;font-weight:700;font-size:.75rem;backdrop-filter:blur(6px)}
.hero h1{font-size:42px;margin:14px 0 6px;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.15)}
.hero p{max-width:640px;opacity:.95}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:520px;margin-top:26px}
.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:12px;border-radius:16px;text-align:center;backdrop-filter:blur(6px)}
.stat__num{display:block;font-size:32px;font-weight:800}
.stat__label{font-size:.8rem;opacity:.9}

/* Sections */
.section{padding:72px 0}
.section--alt{background:var(--amber-50)}
.kicker{color:#b45309;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
h2{font-size:30px;margin:8px 0 6px}
.center{text-align:center}

/* Grid/Media */
.grid{display:grid;gap:28px}
.grid--2{grid-template-columns:1fr}
@media(min-width:1024px){.grid--2{grid-template-columns:1.1fr .9fr}}

.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mosaic img{border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.1);aspect-ratio:4/3;object-fit:cover}
.mosaic .wide{grid-column:span 2}

/* Checks */
.checks{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.checks li{position:relative;padding-left:280px}
.checks li::before{content:'✔';position:absolute;left:0;top:2px;color:#16a34a;font-weight:700}

/* Cards */
.cards{display:grid;gap:16px}
@media(min-width:768px){.cards{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid #fde68a;border-radius:var(--radius);padding:18px;box-shadow:0 8px 20px rgba(245,158,11,.12)}
.card__icon{height:42px;width:42px;border-radius:50%;background:#fffbeb;display:grid;place-items:center;font-size:20px}
.card__meta{margin-top:10px}
.card__meta .muted{display:block;color:#64748b}
.card__meta .up{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.card__list{margin:14px 0 0;padding-left:18px;display:grid;gap:8px}
.card__list li{list-style:disc;color:#475569}

/* Gallery */
.gallery__grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:24px}
.gallery__group{background:#fff;border:1px solid var(--slate-200);border-radius:16px;padding:16px}
.gallery__group h3{margin:0 0 10px}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;cursor:pointer;transition:transform .2s, box-shadow .2s}
.thumbs img:hover{transform:scale(1.02);box-shadow:0 12px 30px rgba(0,0,0,.15)}
@media(min-width:1024px){.gallery__grid{grid-template-columns:repeat(3,1fr)}}

/* CTA */
.cta{background:linear-gradient(90deg,#fbbf24,#fb923c);padding:64px 0;color:#111}
.cta h3{font-size:28px;margin:0 0 8px}
.cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Footer */
.footer{background:#0b1220;color:#cbd5e1}
.footer__grid{display:grid;gap:24px;padding:56px 0}
@media(min-width:768px){.footer__grid{grid-template-columns:repeat(4,1fr)}}
.footer h4{margin:0 0 10px;color:#fff}
.footer .list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer__copy{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;border-top:1px solid rgba(255,255,255,.1);padding:14px 0 28px}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(14px);transition:.6s ease}
.reveal.is-visible{opacity:1;transform:none}

/* To top */
.to-top{position:fixed;right:16px;bottom:16px;height:44px;width:44px;border-radius:50%;border:none;background:#111;color:#fff;font-size:18px;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:.2s}
.to-top.show{opacity:1;pointer-events:auto}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100}
.modal[aria-hidden="false"]{display:flex}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.modal__dialog{position:relative;background:#fff;border-radius:16px;padding:22px;max-width:420px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal__close{position:absolute;right:10px;top:10px;background:#f1f5f9;border:none;border-radius:10px;padding:6px;cursor:pointer}
.form{display:grid;gap:12px;margin-top:10px}
.form input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--slate-300);outline:none}
.form input:focus{border-color:#fb923c;box-shadow:0 0 0 3px rgba(251,146,60,.2)}
.form__msg{margin-top:10px;font-weight:700}
.form__msg.ok{color:#16a34a}
.form__msg.err{color:#dc2626}

/* Responsive */
@media(min-width:768px){
  .hero h1{font-size:56px}
  .hero__content{padding:112px 0}
}


/* Header logo and text enlargement */
.brand__logo-img{
  height:64px!important;
  width:auto;
  border-radius:14px;
  object-fit:contain;
  background:#fff;
  padding:4px;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.brand__text strong{
  font-size:1.7rem!important;
  font-weight:800;
  font-family:'Poppins','Inter',sans-serif;
  letter-spacing:0.5px;
}
.brand__text small{
  font-size:1rem!important;
}


/* === v2.3: Fredoka titles, badges, bullets, stats layout, cards === */
.brand__text--fredoka strong{font-family:'Fredoka','Poppins','Inter',sans-serif;font-weight:700;font-size:1.9rem;letter-spacing:.5px}
h1,h2,h3{font-family:'Fredoka','Inter',sans-serif;font-weight:700;color:#0f172a}

/* Badge Kicker */
.badge-kicker{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff7ed;border:1px solid #fcd34d;color:#b45309;
  padding:6px 10px;border-radius:999px;font-weight:700;font-size:.8rem
}

/* Bullet list orange */
.checks{margin-top:14px}
.checks li{padding-left:0;list-style:none;display:flex;align-items:flex-start;gap:10px}
.checks li::before{content:'';display:inline-block;height:8px;width:8px;border-radius:50%;background:#f59e0b;margin-top:8px}

/* Button primary gradient */
.link.btn-primary,.btn-primary{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
  color:#111;font-weight:800;border-radius:999px;padding:12px 18px;border:none;box-shadow:0 6px 16px rgba(245,158,11,.25)
}
/* Use .btn--amber already similar; keep existing */

/* Stats grid now 5 items responsive */
.stats{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.stats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.stats{grid-template-columns:repeat(5,1fr)}}

/* Card badges (age) and icon circle */
.card{position:relative}
.card__icon{height:44px;width:44px;border-radius:12px;background:#fbbf24;display:grid;place-items:center;font-size:20px;color:#111}
.card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card__meta .age{background:#fff7ed;border:1px solid #fde68a;color:#b45309;padding:4px 8px;border-radius:999px;font-size:.72rem}


/* === v2.3 typography updates === */
.brand__text strong{
  font-family:'Fredoka','Poppins','Inter',sans-serif !important;
  font-weight:700;
  font-size:1.9rem !important;
  letter-spacing:.4px;
}
.title-round{
  font-family:'Fredoka','Poppins','Inter',sans-serif;
  font-weight:700;
  color:#0f172a;
}
.kicker.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff7ed;border:1px solid #fcd34d;color:#b45309;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.8rem;
}
.kicker.badge::before{content:'❤'; color:#f59e0b; font-size:.9rem}
/* Bulleted list orange dots */
.checks li{padding-left:0; list-style: none; display:flex; align-items:flex-start; gap:10px}
.checks li::before{content:''; width:8px; height:8px; background:#f59e0b; border-radius:50%; margin-top:.55rem}

/* Program cards polish */
.card{border-color:#fde68a;border-radius:22px;box-shadow:0 12px 30px rgba(245,158,11,.12)}
.card .tag{display:inline-block;background:#fff1c2;color:#b45309;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700}
.card__icon{background:#ffedd5}
.card__meta{display:flex; align-items:center; justify-content:space-between}

/* CTA typography and gradient */
.cta{background:linear-gradient(90deg,#ff8a00,#ffa733); color:#fff; text-align:center}
.cta h3{font-family:'Fredoka','Poppins','Inter',sans-serif; color:#fff; font-weight:700; font-size:2rem}
.cta p{color:#fff; opacity:.95}
.btn--white{background:#fff;color:#ef6c00}
.btn--dark{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.6)}
.btn--dark:hover{background:rgba(255,255,255,.1)}

/* Stats: allow 5 items and blur cards look */
.stats{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.stats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.stats{grid-template-columns:repeat(5,1fr)}}
.stat{background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.35); backdrop-filter: blur(6px)}
.stat__num{color:#fff}
.stat__label{color:#fff}


/* === v2.4 Global Color & Typography Polish === */
:root{
  --primary-1:#ff8a00; /* left gradient */
  --primary-2:#ffa733; /* right gradient */
  --primary-strong:#ef6c00; /* solid accent for strokes/icons */
}
/* use the primary gradient across key components */
.topbar--orange{background:linear-gradient(90deg,var(--primary-1),var(--primary-2));color:#1a1a1a;border-bottom:1px solid rgba(0,0,0,.08)}
.btn--amber{background:linear-gradient(90deg,var(--primary-1),var(--primary-2));color:#fff;border:0}
.btn--amber:hover{filter:brightness(1.05)}
.cta{background:linear-gradient(90deg,var(--primary-1),var(--primary-2));}
.link{color:var(--primary-strong)}
.card{border-color:#ffe1a3}
.badge-kicker{border-color:#ffd58a}
.stat{border-color:rgba(255,255,255,.35)}
/* buttons outline style for secondary */
.btn--dark{border:1px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.btn--dark:hover{background:rgba(255,255,255,.12)}

/* Typography: apply Fredoka to all section titles and h4 */
h1,h2,h3,h4,.title-round{font-family:'Fredoka','Poppins','Inter',sans-serif;font-weight:700;color:#0f172a}
.section h4{font-family:'Fredoka','Poppins','Inter',sans-serif}

/* Gallery heading style refresh */
.gallery__group h3{font-family:'Fredoka','Poppins','Inter',sans-serif;color:#0f172a}

/* Pill buttons spacing */
.btn{box-shadow:0 6px 16px rgba(0,0,0,.06)}
.btn--white{color:var(--primary-strong)}


/* === v2.5 Interactive Nav & Form === */
.nav{position:relative}
.nav__underline{position:absolute;bottom:-8px;height:3px;background:linear-gradient(90deg,var(--primary-1),var(--primary-2));border-radius:6px;transition:.25s ease;left:0;width:0;opacity:0}
@media(max-width:767px){.nav__underline{display:none}}

/* Mobile slide-in menu */
@media(max-width:767px){
  .nav.open{animation:slideIn .25s ease forwards}
  @keyframes slideIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}

/* Visit form card */
.form--visit{background:#fff;border:1px solid var(--slate-200);border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(0,0,0,.06)}

/* Lightbox bigger zoom (4x) */
.lightbox.big img{transform:scale(4)}
.lightbox img{transition:transform .2s ease}


/* === v2.5-final: Nossa História - padrão com bolinhas pequenas e texto alinhado === */
.section#sobre .checks{
  list-style: disc;
  padding-left: 22px;        /* recuo padrão do marcador */
  margin-top: 12px;
}
.section#sobre .checks li{
  margin-bottom: 8px;
  line-height: 1.6;
  font-weight: 400;
  color: #1e293b;            /* texto neutro */
}
.section#sobre .checks li::marker{
  color: #475569;            /* bolinha em tom suave */
}
.section#sobre .btn-primary,
.section#sobre .btn.btn--amber{
  margin-top: 14px;
}
