/* =========================================================
   Fontes hospedadas no próprio site.

   Fredoka e Nunito são fontes variáveis: um único arquivo por
   família/estilo/subset cobre toda a faixa de pesos — por isso são
   6 arquivos, e não um por peso.

   O unicode-range faz o navegador baixar o arquivo "latin-ext"
   somente se a página tiver algum caractere que o exija. Numa página
   em português, na prática só os "latin" são baixados.

   Ambas estão sob SIL Open Font License 1.1, que permite hospedagem
   própria. Ver assets/fonts/LICENCA.txt.

   NOTA: este bloco é duplicado em styles.css e proposta.css, porque
   as duas páginas carregam folhas independentes. Alterou aqui,
   altere lá.
   ========================================================= */
@font-face{
  font-family:'Fredoka';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('assets/fonts/fredoka-normal-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Fredoka';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('assets/fonts/fredoka-normal-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/nunito-normal-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/nunito-normal-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Nunito';
  font-style:italic;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/nunito-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Nunito';
  font-style:italic;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/nunito-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* =========================================================================
   Proposta comercial — Educart Baby e Kids
   Documento independente do site. Reaproveita as fontes e a paleta da marca.
   ========================================================================= */

:root{
  --azul:        #2E9FDB;
  --rosa:        #EE5B9C;
  --verde:       #8CC63F;
  --amarelo:     #F5C13D;

  --azul-forte:  #166B97;
  --azul-escuro: #0F4E70;
  --rosa-forte:  #C9306F;
  --verde-forte: #4F761C;
  --coral-forte: #C3372D;
  --ouro:        #8A6210;

  --azul-claro:  #E4F3FC;
  --rosa-claro:  #FDE8F1;
  --verde-claro: #F0F8E2;
  --amarelo-claro:#FEF5E0;
  --coral-claro: #FDEBE9;

  --branco:      #FFFFFF;
  --areia:       #FFFCF8;
  --creme:       #FDF5EC;
  --linha:       #EFE4D6;
  --tinta:       #22313C;
  --tinta-media: #45596A;
  --tinta-suave: #576877;

  --whats:       #25D366;

  --fonte-display:'Fredoka', 'Trebuchet MS', system-ui, sans-serif;
  --fonte-texto:  'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --gutter: 20px;
  --max: 900px;
  --r-sm: 12px;
  --r:    20px;
  --r-lg: 28px;

  --sombra-s: 0 2px 10px rgba(34,49,60,.06);
  --sombra:   0 10px 30px rgba(34,49,60,.09);
  --t: .3s cubic-bezier(.2,.7,.3,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:5.5rem; }

body{
  margin:0;
  font-family:var(--fonte-texto);
  font-size:1rem;
  line-height:1.65;
  color:var(--tinta-media);
  background:var(--areia);
  -webkit-font-smoothing:antialiased;
}

.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter); }

h1,h2,h3,h4{ font-family:var(--fonte-display); color:var(--tinta); line-height:1.2; margin:0; }
p{ margin:0 0 1rem; }
p:last-child{ margin-bottom:0; }
strong{ color:var(--tinta); font-weight:700; }
a{ color:var(--azul-forte); }

/* ---------- Capa ---------- */
.capa{
  background:linear-gradient(160deg, var(--azul-escuro) 0%, var(--azul-forte) 100%);
  color:#D9ECF7;
  padding:clamp(2.8rem,8vw,5rem) 0 clamp(2.4rem,6vw,3.6rem);
}
.capa__tag{
  display:inline-block; font-size:.74rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--amarelo);
  border:1px solid rgba(245,193,61,.45); border-radius:999px;
  padding:.35rem .9rem; margin-bottom:1.4rem;
}
.capa h1{
  color:#fff; font-size:clamp(1.9rem,6vw,3rem); margin-bottom:.7rem;
}
.capa__sub{ font-size:clamp(1rem,2.4vw,1.18rem); max-width:44ch; margin-bottom:1.8rem; }
.capa__meta{
  display:flex; flex-wrap:wrap; gap:.5rem 1.6rem;
  font-size:.86rem; color:#AFCFE0;
  border-top:1px solid rgba(255,255,255,.16); padding-top:1.2rem;
}
.capa__meta b{ color:#fff; font-weight:700; }

/* ---------- Índice ---------- */
.indice{
  position:sticky; top:0; z-index:20;
  background:rgba(255,252,248,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linha);
}
.indice__inner{
  display:flex; gap:.4rem; overflow-x:auto; padding:.7rem var(--gutter);
  scrollbar-width:thin;
}
.indice a{
  flex:0 0 auto; font-size:.8rem; font-weight:700; text-decoration:none;
  color:var(--tinta-suave); background:var(--branco);
  border:1px solid var(--linha); border-radius:999px;
  padding:.35rem .8rem; white-space:nowrap;
  transition:background var(--t), color var(--t), border-color var(--t);
}
.indice a:hover{ background:var(--azul-claro); color:var(--azul-forte); border-color:var(--azul); }

/* ---------- Seções ---------- */
.sec{ padding:clamp(2.4rem,6vw,3.6rem) 0; border-bottom:1px solid var(--linha); }
.sec:last-of-type{ border-bottom:0; }
.sec__n{
  display:inline-block; font-family:var(--fonte-display); font-size:.82rem;
  font-weight:700; letter-spacing:.1em; color:var(--rosa-forte);
  margin-bottom:.5rem;
}
.sec h2{ font-size:clamp(1.4rem,4vw,2rem); margin-bottom:.4rem; }
.sec__lead{ font-size:1.04rem; color:var(--tinta-media); margin-bottom:1.8rem; max-width:62ch; }
.sec h3{ font-size:1.08rem; margin:1.8rem 0 .6rem; }

/* ---------- Caixas ---------- */
.box{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--r);
  padding:1.3rem 1.4rem; box-shadow:var(--sombra-s); margin-bottom:1rem;
}
.box--alerta{ background:var(--coral-claro); border-color:#F3C9C4; }
.box--ok{ background:var(--verde-claro); border-color:#DCEBC2; }
.box--nota{ background:var(--amarelo-claro); border-left:4px solid var(--amarelo); border-radius:0 var(--r-sm) var(--r-sm) 0; }
.box h3{ margin-top:0; }

/* ---------- Grade de cartões ---------- */
.cards{ display:grid; gap:1rem; margin-bottom:1rem; }
@media (min-width:640px){ .cards--2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:700px){ .cards--3{ grid-template-columns:repeat(3,1fr); } }

.card{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--r);
  padding:1.2rem; box-shadow:var(--sombra-s);
}
.card__k{
  font-family:var(--fonte-display); font-size:1.9rem; line-height:1.1;
  color:var(--azul-forte); display:block; margin-bottom:.2rem;
}
.card h3{ margin:0 0 .35rem; font-size:1rem; }
.card p{ font-size:.92rem; }

/* ---------- Listas ---------- */
.ticks{ list-style:none; margin:0 0 1rem; padding:0; }
.ticks li{ position:relative; padding-left:1.7rem; margin-bottom:.5rem; font-size:.95rem; }
.ticks li::before{
  content:"✓"; position:absolute; left:0; top:-.05em;
  color:var(--verde-forte); font-weight:800;
}
.ticks--x li::before{ content:"✕"; color:var(--coral-forte); }

/* ---------- Tabela ---------- */
.tabela{ overflow-x:auto; margin-bottom:1rem; -webkit-overflow-scrolling:touch; }
table{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:480px; }
th,td{ text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--linha); vertical-align:top; }
thead th{
  font-family:var(--fonte-display); font-size:.8rem; text-transform:uppercase;
  letter-spacing:.06em; color:var(--tinta); background:var(--creme);
  border-bottom:2px solid var(--linha);
}
tbody tr:last-child td{ border-bottom:0; }
td b{ color:var(--tinta); }

/* ---------- Planos ---------- */
.planos{ display:grid; gap:1.2rem; margin-bottom:1.4rem; }
@media (min-width:720px){ .planos{ grid-template-columns:repeat(2,1fr); } }

.plano{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-lg);
  padding:1.6rem 1.5rem; box-shadow:var(--sombra); display:flex; flex-direction:column;
}
.plano--destaque{ border:2px solid var(--rosa); position:relative; }
.plano__selo{
  position:absolute; top:-.75rem; left:1.5rem;
  background:var(--rosa-forte); color:#fff; font-size:.7rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
  padding:.28rem .7rem; border-radius:999px;
}
.plano h3{ margin:0 0 .2rem; font-size:1.15rem; }
.plano__desc{ font-size:.88rem; color:var(--tinta-suave); margin-bottom:1.1rem; }
.plano__valor{
  font-family:var(--fonte-display); font-size:2.3rem; line-height:1;
  color:var(--azul-escuro); margin-bottom:.15rem;
}
.plano__valor small{ font-size:.9rem; font-weight:600; color:var(--tinta-suave); }
.plano__mais{ font-size:.92rem; color:var(--tinta); font-weight:700; margin-bottom:1.1rem; }
.plano .ticks{ margin-bottom:1rem; }
.plano__total{
  margin-top:auto; padding-top:1rem; border-top:1px dashed var(--linha);
  font-size:.86rem; color:var(--tinta-suave);
}
.plano__total b{ color:var(--tinta); }

/* ---------- Cronograma ---------- */
.crono{ list-style:none; margin:0 0 1rem; padding:0; }
.crono li{
  position:relative; padding-left:3.6rem; padding-bottom:1.1rem;
  border-left:2px solid var(--azul-claro); margin-left:1.1rem;
}
.crono li:last-child{ border-left-color:transparent; padding-bottom:0; }
.crono__d{
  position:absolute; left:-1.15rem; top:0;
  width:2.3rem; height:2.3rem; border-radius:50%;
  background:var(--azul-forte); color:#fff;
  font-family:var(--fonte-display); font-size:.78rem; font-weight:700;
  display:grid; place-items:center;
}
.crono h3{ margin:.25rem 0 .2rem; font-size:1rem; }
.crono p{ font-size:.92rem; margin:0; }

/* ---------- Fechamento ---------- */
.fim{
  background:linear-gradient(160deg, var(--rosa-forte) 0%, #9C2456 100%);
  color:#FFE3EE; padding:clamp(2.6rem,7vw,4rem) 0;
}
.fim h2{ color:#fff; font-size:clamp(1.5rem,4.5vw,2.1rem); margin-bottom:.8rem; }
.fim p{ max-width:56ch; }
.fim__btns{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--fonte-display); font-weight:600; font-size:.98rem;
  text-decoration:none; border-radius:999px; padding:.8rem 1.4rem;
  transition:transform var(--t), box-shadow var(--t);
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--sombra); }
.btn--wa{ background:var(--whats); color:#0B3D2C; }
.btn--fantasma{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.6); }

/* ---------- Rodapé ---------- */
.rodape{
  background:var(--azul-escuro); color:#AFCFE0;
  padding:2rem 0; font-size:.84rem;
}
.rodape a{ color:#D9ECF7; }

/* ---------- Fontes / notas ---------- */
.fontes{ list-style:none; counter-reset:f; margin:0; padding:0; font-size:.86rem; }
.fontes li{ counter-increment:f; position:relative; padding-left:2rem; margin-bottom:.6rem; }
.fontes li::before{
  content:"[" counter(f) "]"; position:absolute; left:0;
  color:var(--azul-forte); font-weight:700;
}
.fineprint{ font-size:.84rem; color:var(--tinta-suave); }

/* ---------- Impressão ---------- */
@media print{
  .indice, .fim__btns{ display:none; }
  body{ background:#fff; font-size:11pt; }
  .capa, .fim{ background:#fff !important; color:#000 !important; }
  .capa h1, .fim h2{ color:#000 !important; }
  .capa__tag{ color:#000; border-color:#999; }
  .capa__meta, .capa__sub, .fim p{ color:#333 !important; }
  .sec{ page-break-inside:avoid; }
  .box, .card, .plano{ box-shadow:none; }
}
