/* ============================================================
   /proposta — página de campanha com a estética da home.
   As peças comuns (cabeçalho, pílulas, ondas, legendas, enfeites,
   mapa, rodapé) vêm de landing.css; aqui fica só o que é desta
   página. Tudo com prefixo "pp-" para não colidir com a home.
   ============================================================ */
.pp{ --pp-larg: min(1200px, calc(100% - 48px)); }
.pp main{ display:block; }

.pp-titulo{
  font-family:var(--f-satoshi); font-weight:900;
  font-size:clamp(36px, 4.2vw, 58px); line-height:.95;
  text-transform:lowercase; letter-spacing:-.01em;
  color:var(--verde-escuro);
}
.pp-sub{ max-width:520px; font-family:var(--f-inter); font-size:15px; line-height:1.65; color:var(--texto); }
.eyebrow-claro, .pp-eyebrow-claro{ color:var(--creme); }
.eyebrow-claro .traco, .pp-eyebrow-claro .traco{ background:var(--amarelo); }
.pp-eyebrow-claro{
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-inter); font-weight:700; font-size:11px; text-transform:uppercase;
}
.pp-eyebrow-claro .traco{ width:32px; height:3px; border-radius:2px; }
.pp-pilula-g{ height:50px; padding:0 26px; font-size:12px; }
.pp-pilula-g svg{ flex:none; }

/* ---------- 1 · apresentação ---------- */
.pp-hero{
  position:relative; z-index:2;
  height:clamp(600px, 52vw, 760px);
  background:var(--verde-noite);
}
.pp-hero-foto{ position:absolute; inset:0; overflow:hidden; }
.pp-hero-foto img{ width:100%; height:100%; object-fit:cover; object-position:62% 30%; }
.pp-hero-foto::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(10,30,6,.78) 0%, rgba(10,30,6,.55) 38%, rgba(10,30,6,0) 66%),
    linear-gradient(180deg, rgba(18,53,14,.45) 0%, rgba(18,53,14,0) 22%);
}
.pp-hero-conteudo{
  position:absolute; z-index:1;
  left:calc(var(--borda) + 96 * var(--u)); top:clamp(116px, 10vw, 150px);
  width:min(660px, calc(100% - 48px));
  display:flex; flex-direction:column; align-items:flex-start; gap:22px;
}
.pp-hero-titulo{
  font-family:var(--f-satoshi); font-weight:900;
  font-size:clamp(44px, 5.4vw, 78px); line-height:.86;
  text-transform:lowercase; color:var(--amarelo-claro);
  text-shadow:0 2px 22px rgba(10,30,6,.4);
}
.pp-destaque{ color:var(--amarelo); }
.pp-hero-lead{ max-width:480px; font-family:var(--f-inter); font-size:16px; line-height:1.6; color:rgba(255,253,244,.92); }
.pp-botoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:6px; }
.pp-hero-flor{ right:calc(var(--borda) + 190 * var(--u)); top:clamp(110px, 10vw, 150px); width:calc(88 * var(--u)); }
.pp-hero-mascote{
  position:absolute; z-index:3;
  right:calc(var(--borda) + 110 * var(--u)); bottom:-46px;
  width:clamp(170px, 17vw, 250px); aspect-ratio:498 / 539;
}
.pp-hero-mascote img{ width:100%; height:100%; object-fit:contain; }

/* ---------- 2 · por que o quintal ---------- */
.pp-porque{ position:relative; overflow:hidden; overflow:clip; padding:clamp(96px, 9vw, 130px) 0 clamp(80px, 7vw, 110px); }
.pp-bola-1{ width:360px; height:360px; right:-120px; top:60px; background:var(--bola-amarela); opacity:.6; }
.pp-porque-grade{
  position:relative; width:var(--pp-larg); margin:0 auto;
  display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr); gap:clamp(36px, 5vw, 80px); align-items:start;
}
.pp-porque-cabeca{ display:flex; flex-direction:column; gap:16px; }
.pp-porque-intro{ font-family:var(--f-satoshi); font-weight:500; font-size:clamp(17px, 1.5vw, 20px); line-height:1.5; color:var(--verde-escuro); }
.pp-boas-foto{
  position:relative; margin-top:10px; overflow:hidden;
  width:min(100%, 380px); aspect-ratio:1;
  border-radius:44% 56% 38% 62% / 52% 40% 60% 48%;
  box-shadow:0 18px 40px -22px rgba(24,53,14,.55);
}
.pp-boas-foto img{ width:100%; height:100%; object-fit:cover; }
.pp-legenda{ opacity:1; transform:translate(-50%, 0); bottom:18px; }
.pp-difs{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; padding-top:clamp(0px, 3vw, 40px); }
.pp-dif{
  display:grid; grid-template-columns:auto 1fr; column-gap:16px; row-gap:6px; align-items:center;
  padding:22px 22px 24px; border-radius:26px;
  background:#fff9e3; box-shadow:0 1px 0 rgba(24,53,14,.04), 0 12px 24px -20px rgba(24,53,14,.5);
}
.pp-dif:nth-child(4n+2), .pp-dif:nth-child(4n+3){ background:#eef3df; }
.pp-dif-ico{ grid-row:span 1; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:rgba(134,168,59,.22); color:var(--verde-escuro); }
.pp-dif-ico svg{ width:32px; height:32px; }
.pp-dif h3{ font-family:var(--f-satoshi); font-weight:900; font-size:20px; line-height:1.05; text-transform:lowercase; color:var(--verde-escuro); }
.pp-dif p{ grid-column:1 / -1; margin-top:6px; font-family:var(--f-inter); font-size:14px; line-height:1.6; color:var(--texto); }
.pp-boas-folha{ left:calc(var(--borda) + 36 * var(--u)); bottom:80px; width:calc(70 * var(--u)); transform:rotate(-14deg); }

/* ---------- 3 · turmas + calculadora ---------- */
.pp-turmas{ position:relative; padding:clamp(40px, 4vw, 60px) 0 clamp(120px, 10vw, 150px); }
.pp-turmas-cabeca{ width:var(--pp-larg); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.pp-calc{
  width:min(980px, var(--pp-larg)); margin:36px auto 0; padding:22px;
  border-radius:30px; background:#fff;
  box-shadow:0 1px 0 rgba(24,53,14,.04), 0 22px 44px -30px rgba(24,53,14,.55);
}
.pp-calc-campos{ display:grid; grid-template-columns:1.1fr 1fr auto auto; gap:14px; align-items:end; }
.pp-campo{ display:flex; flex-direction:column; gap:6px; min-width:0; border:0; padding:0; margin:0; }
.pp-campo > span, .pp-campo legend{ font-family:var(--f-inter); font-weight:700; font-size:12px; color:var(--verde-escuro); padding:0; }
.pp-campo small{ font-weight:500; opacity:.7; }
.pp-campo input[type="text"], .pp-campo input[type="date"]{
  width:100%; height:50px; padding:0 16px; border:2px solid rgba(35,76,53,.18); border-radius:16px;
  background:var(--creme); font:500 16px var(--f-inter); color:var(--verde-escuro);
  -webkit-appearance:none; appearance:none;
}
.pp-data{ display:flex; align-items:center; gap:6px; }
.pp-data span{ font:700 18px var(--f-inter); color:var(--verde-escuro); opacity:.35; }
.pp-campo .pp-data input{
  flex:1 1 0; min-width:0; height:50px; padding:0 6px; border:2px solid rgba(35,76,53,.18); border-radius:16px; text-align:center;
  background:var(--creme); font:600 17px var(--f-inter); letter-spacing:.04em; color:var(--verde-escuro); -webkit-appearance:none; appearance:none;
}
.pp-campo .pp-data input[name="anoNasc"]{ flex-grow:1.6; }
.pp-campo .pp-data input::placeholder{ color:var(--verde-escuro); opacity:.35; font-weight:500; }
.pp-campo input:focus{ outline:none; border-color:var(--verde); box-shadow:0 0 0 4px rgba(134,168,59,.22); }
.pp-calc-anos{ display:flex; height:50px; padding:4px; border-radius:16px; background:var(--creme); border:2px solid rgba(35,76,53,.18); }
.pp-calc-anos label{ position:relative; flex:1; }
.pp-calc-anos input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.pp-calc-anos span{
  display:grid; place-items:center; height:100%; padding:0 16px; border-radius:11px;
  font:800 15px var(--f-inter); color:var(--verde-escuro); transition:background .2s, color .2s;
}
.pp-calc-anos input:checked + span{ background:var(--verde-escuro); color:var(--creme); }
.pp-calc-anos input:focus-visible + span{ outline:3px solid var(--amarelo); outline-offset:1px; }
.pp-calc-botao{ height:50px; padding:0 24px; border:0; cursor:pointer; font-size:12px; }
.pp-calc-erro{ margin-top:12px; font:600 14px var(--f-inter); color:#b4392e; }
.pp-calc-resultado{
  display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:center;
  margin-top:20px; padding:22px 26px; border-radius:24px;
  background:var(--cor, #fff9d6);
}
.pp-calc-resultado[hidden]{ display:none; }
.pp-calc-resultado.aparecer{ animation:pp-surge .5s cubic-bezier(.22,.7,.2,1); }
@keyframes pp-surge{ from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }
.pp-calc-mascote{ width:150px; aspect-ratio:1; }
.pp-calc-mascote[hidden]{ display:none; }
.pp-calc-mascote img{ width:100%; height:100%; object-fit:contain; animation:pp-oi 1.1s ease .2s; }
@keyframes pp-oi{ 0%,100%{ transform:rotate(0); } 25%{ transform:rotate(-6deg) translateY(-6px); } 60%{ transform:rotate(4deg); } }
.pp-calc-mascote[hidden] + .pp-calc-texto{ grid-column:1 / -1; }
.pp-calc-texto{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.pp-calc-linha{ font:600 15px var(--f-inter); color:var(--verde-escuro); }
.pp-calc-serie{ font-family:var(--f-satoshi); font-weight:900; font-size:clamp(30px, 3.4vw, 44px); line-height:1; color:var(--verde-escuro); }
.pp-calc-atelie{ font:500 15px/1.5 var(--f-inter); color:var(--verde-escuro); }
.pp-calc-nota{ font:600 13px/1.5 var(--f-inter); color:var(--verde-escuro); opacity:.85; }
.pp-calc-texto .pilula{ margin-top:12px; }

.pp-turmas-lista{
  width:var(--pp-larg); margin:44px auto 0;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px;
}
.pp-turma{
  position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:16px 14px 22px; border-radius:30px; transition:transform .35s cubic-bezier(.22,.7,.2,1), box-shadow .35s;
}
.pp-turma-fundo{ position:absolute; inset:0; z-index:-1; border-radius:inherit; background:var(--cor); opacity:.75; }
.pp-turma-mascote{ display:block; width:min(150px, 80%); aspect-ratio:1; }
.pp-turma-mascote img{ width:100%; height:100%; object-fit:contain; }
.pp-turma h3{ display:flex; flex-direction:column; gap:4px; margin-top:6px; font-family:var(--f-satoshi); font-weight:900; font-size:26px; line-height:1; text-transform:lowercase; color:var(--verde-escuro); }
.pp-turma-atelie{ font:700 10px var(--f-inter); letter-spacing:.12em; text-transform:uppercase; opacity:.75; }
.pp-turma-series{ margin-top:10px; font:800 14px var(--f-inter); color:var(--verde-escuro); }
.pp-turma-idade{ margin-top:4px; padding:4px 12px; border-radius:999px; background:rgba(255,253,244,.8); font:700 12px var(--f-inter); color:var(--verde-escuro); }
.pp-turma-frase{ margin-top:10px; font:500 13px/1.45 var(--f-satoshi); color:var(--verde-escuro); opacity:.8; }
.pp-turma-selo{
  position:absolute; top:12px; right:12px; padding:5px 10px; border-radius:999px;
  background:var(--verde-escuro); color:var(--amarelo); font:900 11px var(--f-satoshi); text-transform:lowercase;
  opacity:0; transform:scale(.6); transition:opacity .3s, transform .3s cubic-bezier(.3,1.6,.5,1);
}
.pp-turma.escolhida{ transform:translateY(-6px); box-shadow:0 0 0 3px var(--verde-escuro), 0 18px 34px -20px rgba(24,53,14,.6); }
.pp-turma.escolhida .pp-turma-fundo{ opacity:1; }
.pp-turma.escolhida .pp-turma-selo{ opacity:1; transform:none; }

/* ---------- 3 · vivências (verde, como os fundamentos da home) ---------- */
.pp-viv{
  position:relative; z-index:2;
  background:var(--verde); color:var(--verde-escuro);
  padding:clamp(110px, 9vw, 140px) 0 clamp(70px, 6vw, 100px);
}
.pp-viv .onda-topo{ top:0; height:calc(77 * var(--u)); }
.pp-viv .onda-base{ top:calc(100% - 1px); height:calc(70 * var(--u)); }
.pp-viv-cabeca{ width:var(--pp-larg); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.pp-viv-cabeca .eyebrow{ color:#12260b; }
.pp-viv-cabeca .pp-sub{ color:#12260b; }
.pp-viv-lista{
  width:var(--pp-larg); margin:48px auto 0;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:40px 26px;
}
.pp-viv-item{ display:flex; flex-direction:column; gap:10px; }
.pp-viv-foto{
  position:relative; overflow:hidden; aspect-ratio:4 / 4.6;
  background:#fff; box-shadow:0 10px 24px -12px rgba(24,53,14,.45);
  transition:transform .3s ease;
}
.pp-viv-foto img{ width:100%; height:100%; object-fit:cover; }
.pp-viv-foto .legenda{ opacity:1; transform:translate(-50%, 0); }
/* formas orgânicas e leve inclinação, como os cartões dos espaços */
.pp-viv-1 .pp-viv-foto{ border-radius:34px 22px 38px 18px; transform:rotate(.7deg); }
.pp-viv-2 .pp-viv-foto{ border-radius:22px 38px 18px 34px; transform:rotate(-.65deg); }
.pp-viv-3 .pp-viv-foto{ border-radius:38px 20px 30px 24px; transform:rotate(.45deg); }
.pp-viv-4 .pp-viv-foto{ border-radius:20px 34px 26px 40px; transform:rotate(-.75deg); }
.pp-viv-5 .pp-viv-foto{ border-radius:30px 18px 36px 24px; transform:rotate(.6deg); }
.pp-viv-6 .pp-viv-foto{ border-radius:24px 36px 20px 32px; transform:rotate(-.5deg); }
.pp-viv-7 .pp-viv-foto{ border-radius:36px 22px 32px 20px; transform:rotate(.55deg); }
.pp-viv-8 .pp-viv-foto{ border-radius:20px 32px 24px 38px; transform:rotate(-.6deg); }
.pp-viv-item:hover .pp-viv-foto{ transform:rotate(0) translateY(-4px); }
.pp-viv-item h3{ margin-top:10px; font-family:var(--f-satoshi); font-weight:900; font-size:22px; line-height:1.05; text-transform:lowercase; }
.pp-viv-item p{ font-family:var(--f-inter); font-size:14px; line-height:1.6; color:#1f3a24; }
.pp-viv-fecho{
  width:var(--pp-larg); margin:44px auto 0; text-align:center;
  font-family:var(--f-satoshi); font-weight:900; font-size:clamp(24px, 2.6vw, 34px); line-height:1;
  text-transform:lowercase; color:var(--verde-escuro);
}

/* ---------- 5 · depoimentos: fileira que desliza de lado ---------- */
.pp-depo{ padding:clamp(110px, 9vw, 140px) 0 20px; }
.pp-depo-cabeca{ width:var(--pp-larg); margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.pp-depo-lista{
  margin:30px auto 0; padding:10px max(24px, calc((100% - 1200px) / 2)) 30px;
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-padding:0 max(24px, calc((100% - 1200px) / 2)); scrollbar-width:none;
}
.pp-depo-lista::-webkit-scrollbar{ display:none; }
.pp-depo-lista .depoimento{ flex:none; width:min(360px, 80vw); scroll-snap-align:start; }

/* ---------- 5 · horários ---------- */
.pp-turnos{ position:relative; overflow:hidden; overflow:clip; padding:clamp(120px, 10vw, 150px) 0 clamp(120px, 10vw, 150px); }
.pp-bola-2{ width:300px; height:300px; left:-110px; bottom:80px; background:var(--bola-verde); opacity:.7; }
.pp-turnos-cabeca{ position:relative; width:var(--pp-larg); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.pp-turnos-lista{
  position:relative; width:var(--pp-larg); margin:44px auto 0;
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px;
}
.pp-turno{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:12px;
  padding:28px 28px 30px;
  border-radius:30px 10px 30px 30px;
  box-shadow:0 14px 30px -16px rgba(24,53,14,.4);
}
.pp-turno-1{ background:var(--amarelo); color:var(--verde-noite); transform:rotate(-1deg); }
.pp-turno-2{ background:var(--verde); color:var(--verde-noite); transform:rotate(.6deg); border-radius:10px 30px 30px 30px; }
.pp-turno-3{ background:var(--verde-escuro); color:var(--creme); transform:rotate(-.5deg); border-radius:30px 30px 10px 30px; }
.pp-turno::after{
  content:""; position:absolute; right:-40px; bottom:-50px; width:150px; height:150px; border-radius:50%;
  background:currentColor; opacity:.08;
}
.pp-turno-ico{ display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:rgba(255,253,244,.55); }
.pp-turno-3 .pp-turno-ico{ background:rgba(255,253,244,.12); }
.pp-turno h3{ font-family:var(--f-satoshi); font-weight:900; font-size:30px; line-height:1; text-transform:lowercase; }
.pp-turno-horas{ display:flex; flex-direction:column; gap:6px; }
.pp-turno-horas li{ font-family:var(--f-inter); font-weight:800; font-size:18px; font-variant-numeric:tabular-nums; }
.pp-turnos-nota{ position:relative; width:var(--pp-larg); margin:32px auto 0; text-align:center; font-family:var(--f-inter); font-size:15px; color:var(--texto); }
.pp-turnos-nota strong{ color:var(--verde-escuro); }
.pp-valores{
  position:relative; width:min(640px, calc(100% - 48px)); margin:28px auto 0; padding:26px 28px 28px;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
  background:#fff9d6; border-radius:28px 10px 28px 28px;
  box-shadow:0 6px 20px rgba(24,53,14,.06);
}
.pp-valores-pergunta{ font-family:var(--f-satoshi); font-weight:900; font-size:24px; text-transform:lowercase; color:var(--verde-escuro); }
.pp-valores p:not(.pp-valores-pergunta){ font-family:var(--f-inter); font-size:15px; line-height:1.65; color:var(--texto); }
.pp-valores .pilula{ margin-top:6px; }

/* ---------- 7 · perguntas rápidas ---------- */
.pp-faq{ padding:0 0 clamp(120px, 10vw, 150px); }
.pp-faq-cabeca{ width:min(760px, var(--pp-larg)); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.pp-faq-lista{ width:min(760px, var(--pp-larg)); margin:32px auto 0; display:flex; flex-direction:column; gap:10px; }
.pp-pergunta{ border-radius:22px; background:#fff; box-shadow:0 1px 0 rgba(24,53,14,.04), 0 10px 22px -20px rgba(24,53,14,.5); }
.pp-pergunta summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:62px; padding:12px 14px 12px 24px; cursor:pointer; list-style:none;
  font-family:var(--f-satoshi); font-weight:700; font-size:17px; line-height:1.3; color:var(--verde-escuro);
}
.pp-pergunta summary::-webkit-details-marker{ display:none; }
.pp-valores-mais{
  display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:50%;
  background:var(--verde-escuro); color:var(--creme); font-family:var(--f-inter); font-size:20px; line-height:1;
  transition:transform .25s ease;
}
.pp-pergunta[open] .pp-valores-mais{ transform:rotate(45deg); }
.pp-pergunta-resposta{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:0 24px 22px; }
.pp-pergunta-resposta p{ font-family:var(--f-inter); font-size:15px; line-height:1.65; color:var(--texto); }
.pp-pergunta-resposta strong{ color:var(--verde-escuro); }

/* ---------- 6 · onde estamos (o .mapa da home, com um pouco mais de texto) ---------- */
.pp-local .mapa-texto{ top:calc(96 * var(--u)); gap:0; }
.pp-local .mapa-titulo{ margin-top:12px; }
.pp-endereco{
  display:flex; gap:10px; align-items:flex-start; margin-top:18px;
  font-family:var(--f-inter); font-size:14px; line-height:1.55; color:var(--texto);
}
.pp-endereco svg{ flex:none; margin-top:2px; color:var(--vermelho); }
.pp-endereco strong{ display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--verde-escuro); }
.pp-local .mapa-moldura iframe{ display:block; width:100%; height:100%; border:0; }

/* ---------- 7 · chamada final + rodapé ---------- */
.pp-cta{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; gap:18px;
  padding:clamp(120px, 10vw, 150px) 24px clamp(70px, 6vw, 90px); text-align:center;
}
.pp-cta-titulo{
  max-width:900px;
  font-family:var(--f-outfit); font-weight:900;
  font-size:clamp(32px, 4vw, 52px); line-height:.95; color:var(--creme);
}
.pp-cta-texto{ font-family:var(--f-inter); font-size:16px; color:rgba(255,253,244,.8); }
.pp-cta .pilula{ margin-top:6px; }
.pp-cta-flor{ right:calc(var(--borda) + 120 * var(--u)); top:70px; width:calc(80 * var(--u)); transform:rotate(-12deg); }
.pp-rodape-base{ background:var(--verde-noite); padding-top:56px; }
.pp-rodape-marca{ width:var(--pp-larg); margin:0 auto; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 40px; }
.pp-rodape-marca .rodape-logo{ width:260px; min-width:0; }
.pp-rodape-marca p{ max-width:420px; font-family:var(--f-inter); font-size:14px; line-height:1.65; color:rgba(255,253,244,.8); }
.pp-rodape-info{ grid-template-columns:repeat(3, minmax(0, 1fr)); padding:44px calc((100% - min(1200px, calc(100% - 48px))) / 2) 40px; text-shadow:none; }
.pp-rodape .rodape-final{ margin:0 calc((100% - min(1200px, calc(100% - 48px))) / 2); padding-bottom:calc(28px + 76px); }
.pp-rodape .rodape-col li{ color:rgba(255,253,244,.85); }

/* ---------- botão fixo ---------- */
.pp-fixo{
  position:fixed; z-index:60; left:50%; bottom:calc(14px + env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:16px;
  padding:8px 8px 8px 22px; border-radius:999px;
  background:var(--verde-noite); color:var(--creme);
  box-shadow:0 14px 34px -12px rgba(10,30,6,.6);
  transform:translate(-50%, 140%); opacity:0;
  transition:transform .35s cubic-bezier(.22,.7,.2,1), opacity .35s;
  pointer-events:none;
}
.pp-fixo.mostrar{ transform:translate(-50%, 0); opacity:1; pointer-events:auto; }
.pp-fixo-msg{ font-family:var(--f-satoshi); font-weight:700; font-size:15px; white-space:nowrap; }

/* ============================================================
   CELULAR E TABLET
   ============================================================ */
@media (max-width: 959px){
  .pp{ --pp-larg: calc(100% - 40px); }

  .pp-hero{ height:min(720px, 175vw); }
  .pp-hero-foto img{ object-position:58% 50%; }
  .pp-hero-foto::after{
    background:
      linear-gradient(180deg, rgba(18,53,14,.4) 0%, rgba(18,53,14,0) 22%),
      linear-gradient(0deg, rgba(10,30,6,.88) 0%, rgba(10,30,6,.6) 40%, rgba(10,30,6,0) 64%);
  }
  .pp-hero-conteudo{ left:20px; right:20px; width:auto; top:auto; bottom:110px; gap:16px; }
  .pp-hero-titulo{ font-size:clamp(38px, 11vw, 60px); }
  .pp-hero-lead{ font-size:15px; }
  .pp-botoes{ flex-direction:column; align-items:stretch; width:100%; }
  .pp-botoes .pilula{ justify-content:center; }
  .pp-hero-mascote{ right:-6px; bottom:-40px; width:120px; }

  .pp-porque{ padding:80px 0 56px; }
  .pp-porque-grade{ grid-template-columns:minmax(0, 1fr); gap:28px; }
  .pp-boas-foto{ width:min(100%, 300px); margin:10px auto 0; }
  .pp-difs{ grid-template-columns:minmax(0, 1fr); gap:10px; padding-top:0; }
  .pp-dif{ padding:16px 18px 18px; column-gap:14px; }
  .pp-dif-ico{ width:46px; height:46px; }
  .pp-dif-ico svg{ width:26px; height:26px; }
  .pp-dif h3{ font-size:18px; }
  .pp-dif p{ font-size:14px; margin-top:4px; }

  .pp-turmas{ padding:24px 0 96px; }
  .pp-calc{ padding:16px; border-radius:24px; margin-top:26px; }
  .pp-calc-campos{ grid-template-columns:minmax(0, 1fr); gap:12px; }
  .pp-calc-botao{ width:100%; justify-content:center; }
  .pp-calc-resultado{ grid-template-columns:minmax(0, 1fr); justify-items:center; text-align:center; gap:8px; padding:20px 16px; }
  .pp-calc-mascote{ width:120px; }
  .pp-calc-texto{ align-items:center; }
  .pp-calc-texto{ width:100%; }
  .pp-calc-texto .pilula{ width:100%; justify-content:center; padding:0 14px; font-size:11px; }
  .pp-turmas-lista{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:28px; }
  .pp-turma{ padding:12px 8px 16px; border-radius:24px; }
  .pp-turma h3{ font-size:22px; }
  .pp-turma-series{ font-size:12px; }
  .pp-turma-frase{ display:none; }
  .pp-depo-lista{ align-items:flex-start; padding-left:20px; padding-right:20px; scroll-padding:0 20px; }
  .pp-depo-lista .depoimento{ width:84vw; }

  .pp-viv{ padding:88px 0 64px; }
  .pp-viv .onda-topo{ height:40px; }
  .pp-viv .onda-base{ height:36px; }
  .pp-viv-lista{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 14px; margin-top:32px; }
  .pp-viv-item h3{ font-size:19px; }
  .pp-viv-item h3{ font-size:20px; }
  .pp-viv-item p{ font-size:13px; }
  .pp-viv-foto .legenda{ min-width:0; height:30px; padding:0 12px; font-size:9px; bottom:8px; }

  .pp-turnos{ padding:96px 0 110px; }
  .pp-turnos-lista{ grid-template-columns:minmax(0, 1fr); gap:16px; margin-top:32px; }
  .pp-turno{ padding:22px 22px 24px; }
  .pp-turno h3{ font-size:26px; }
  .pp-valores{ padding:22px 18px 22px; }
  .pp-valores .pilula{ width:100%; justify-content:center; }
  .pp-faq{ padding-bottom:96px; }
  .pp-pergunta summary{ font-size:16px; padding:10px 12px 10px 18px; }
  .pp-pergunta-resposta{ padding:0 18px 18px; }
  .pp-pergunta-resposta .pilula{ width:100%; justify-content:center; }

  .pp-local .mapa-texto{ top:auto; }
  .pp-local .mapa-texto .pilula{ align-self:stretch; justify-content:center; }

  .pp-cta{ padding:96px 20px 64px; }
  .pp-cta .pilula{ align-self:stretch; justify-content:center; }
  .pp-rodape-base{ padding-top:40px; }
  .pp-rodape-marca{ flex-direction:column; align-items:center; text-align:center; }
  .pp-rodape-marca .rodape-logo{ width:200px; margin:0 auto; }
  .pp-rodape-info{ grid-template-columns:minmax(0, 1fr); gap:12px; padding:28px 20px 24px; }
  .pp-rodape-info .rodape-col:first-child{ order:0; }
  .pp-rodape .rodape-final{ margin:0 20px; padding-bottom:calc(24px + 80px); }

  .pp-fixo{ left:12px; right:12px; justify-content:space-between; transform:translateY(140%); padding:8px 8px 8px 18px; }
  .pp-fixo.mostrar{ transform:none; }
  .pp-fixo-msg{ font-size:13px; white-space:normal; line-height:1.25; }
  .pp-fixo .pilula{ flex:none; padding:0 16px; }
}
@media (max-width: 380px){
  .pp-fixo-msg{ display:none; }
  .pp-fixo{ justify-content:center; padding:8px; }
}
@media (prefers-reduced-motion: reduce){
  .pp-fixo{ transition:none; }
  .pp-calc-resultado.aparecer, .pp-calc-mascote img{ animation:none; }
}
