:root{
  /* Paleta oficial — Manual de Marca Rota das Milhas */
  --areia:#F7F4EE;
  --bruma:#EDF3EF;
  --verde-rota:#103E2F;
  --verde-profundo:#062318;
  --verde-floresta:#1F5C4B;
  --salvia:#ABC3B4;
  --bronze:#9C7A3C;
  --ouro:#BE9856;
  --champagne:#D9C7A3;
  --goiaba:#D4737F;
  --goiaba-profundo:#AB455A;
  --pedra:#5C6660;
  --branco:#FFFFFF;

  --serif:'Lora', Georgia, serif;
  --sans:'Poppins', system-ui, -apple-system, sans-serif;

  --max:1280px;
  --radius:14px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--areia);
  color:#4A5450;
  font-family:var(--sans);
  font-weight:400;
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,8vw,64px)}

/* ---------- Faixa de aviso ---------- */
.aviso{
  background:var(--verde-profundo);
  color:var(--champagne);
  font-size:12.5px;
  letter-spacing:.02em;
  text-align:center;
  padding:9px 20px;
}
.aviso strong{color:var(--ouro);font-weight:500}

/* ---------- Topo ---------- */
.topo{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,238,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(16,62,47,.08);
}
.topo .wrap{display:flex;align-items:center;gap:20px;height:88px}

.marca{display:flex;align-items:center;gap:13px;flex-shrink:0}
/* Logo oficial recortado por CSS — o arquivo original é quadrado com muita margem.
   Números medidos no PNG: arte ocupa left 5,43% / top 32,57% / larg 88,57% / alt 34,29%. */
.marca .logo{
  --lh:50px;
  position:relative;display:block;flex-shrink:0;
  height:var(--lh);width:calc(var(--lh) * 2.5833);overflow:hidden;
}
.marca .logo img{
  position:absolute;max-width:none;
  width:calc(var(--lh) * 2.9163);height:calc(var(--lh) * 2.9163);
  left:calc(var(--lh) * -0.15837);top:calc(var(--lh) * -0.94983);
}
.marca .divisor{width:1px;height:28px;background:rgba(16,62,47,.16);flex-shrink:0}
.marca .sub{
  font-size:9.5px;letter-spacing:.25em;text-transform:uppercase;
  color:var(--bronze);font-weight:500;line-height:1.5;max-width:72px;
}

nav{margin-left:auto;display:flex;align-items:center;gap:1px;flex-wrap:nowrap}
nav a{
  font-size:12px;font-weight:400;color:var(--pedra);
  padding:8px 10px;border-radius:999px;
  transition:background .18s,color .18s;
  white-space:nowrap;
}
nav a:hover{background:var(--bruma);color:var(--verde-rota)}
nav a.on{background:var(--verde-rota);color:var(--areia);font-weight:500}

.menu-btn{
  display:none;margin-left:auto;background:none;border:1px solid rgba(16,62,47,.18);
  border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--verde-rota);
}
.menu-btn svg{display:block;width:20px;height:20px}

/* ---------- Capa ---------- */
.capa{
  background:linear-gradient(155deg,var(--verde-profundo) 0%,var(--verde-rota) 58%,var(--verde-floresta) 100%);
  color:var(--areia);
  border-radius:0 0 26px 26px;
  padding:clamp(56px,9vw,104px) 0 clamp(60px,9vw,110px);
  position:relative;overflow:hidden;
}
.capa::after{
  content:"";position:absolute;right:-120px;top:-80px;
  width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(156,122,60,.20),transparent 68%);
  pointer-events:none;
}
.capa .rotulo{
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--ouro);margin:0 0 22px;max-width:none;
}
.capa h1{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(32px,4.8vw,52px);
  line-height:1.16;color:var(--areia);
  max-width:19ch;letter-spacing:-.01em;
}
.capa h1 em{font-style:normal;color:var(--champagne)}
.capa p{
  margin-top:24px;max-width:54ch;
  color:#DCC9A6;font-size:17px;font-weight:400;
}
.botoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-size:14.5px;font-weight:500;padding:14px 26px;border-radius:999px;
  transition:transform .18s,background .18s,color .18s;
}
.btn-1{background:var(--areia);color:var(--verde-profundo)}
.btn-1:hover{background:var(--champagne);transform:translateY(-2px)}
.btn-2{border:1px solid rgba(217,199,163,.45);color:var(--champagne)}
.btn-2:hover{background:rgba(217,199,163,.12);transform:translateY(-2px)}

/* ---------- Seções ---------- */
section.bloco{padding:clamp(56px,7vw,88px) 0}
.rotulo-esc{
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--bronze);margin-bottom:12px;
}
h2{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(27px,3.6vw,38px);line-height:1.2;
  color:var(--verde-rota);letter-spacing:-.01em;
}
.intro{margin-top:14px;max-width:58ch;font-size:16.5px;font-weight:400}

/* ---------- Cartões ---------- */
.grade{
  display:grid;gap:16px;margin-top:40px;
  grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
}
.card{
  background:var(--branco);
  border:1px solid rgba(16,62,47,.09);
  border-radius:var(--radius);
  padding:26px 24px 22px;
  display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(6,35,24,.09);
  border-color:rgba(156,122,60,.4);
}
.card .ico{
  width:42px;height:42px;border-radius:11px;
  background:var(--bruma);display:grid;place-items:center;margin-bottom:18px;
}
.card .ico svg{width:21px;height:21px;stroke:var(--verde-floresta);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card h3{
  font-family:var(--serif);font-size:19px;font-weight:600;
  color:var(--verde-rota);line-height:1.25;
}
.card p{font-size:14.5px;margin-top:9px;flex:1;font-weight:400}
.card .ir{
  margin-top:20px;font-size:12.5px;font-weight:500;
  color:var(--bronze);letter-spacing:.02em;
  display:inline-flex;align-items:center;gap:6px;
}
.card:hover .ir{gap:10px}
.card .ir span{transition:margin .18s}

/* ---------- Trilha ---------- */
.trilha-bloco{
  background:var(--verde-rota);
  border-radius:22px;
  padding:clamp(38px,5vw,58px) clamp(26px,5vw,54px);
  color:var(--areia);
}
.trilha-bloco h2{color:var(--areia)}
.trilha-bloco .rotulo-esc{color:var(--ouro)}
.trilha-bloco .intro{color:rgba(217,199,163,.85)}
.trilha{
  display:grid;gap:10px;margin-top:34px;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
}
.passo{
  display:flex;align-items:center;gap:14px;
  background:rgba(247,244,238,.05);
  border:1px solid rgba(217,199,163,.16);
  border-radius:11px;padding:14px 16px;
  transition:background .18s,border-color .18s;
}
.passo:hover{background:rgba(247,244,238,.09);border-color:rgba(190,152,86,.5)}
.passo .n{
  font-family:var(--serif);font-size:17px;font-weight:600;
  color:var(--ouro);min-width:26px;
}
.passo .t{font-size:14.5px;color:var(--areia);font-weight:400;line-height:1.35}

/* ---------- Rodapé ---------- */
footer{
  background:var(--verde-rota);color:var(--salvia);
  margin-top:24px;padding:46px 0 38px;
}
footer .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-end}
footer .assin{font-family:var(--serif);font-size:20px;color:var(--areia);font-weight:500}
footer .peq{font-size:12.5px;margin-top:7px;color:rgba(171,195,180,.8)}
footer .links{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}
footer .links a:hover{color:var(--champagne)}

/* ---------- Mobile ---------- */
@media (max-width:1279px){
  .menu-btn{display:block}
  nav{
    display:none;position:absolute;top:88px;left:0;right:0;
    background:var(--areia);border-bottom:1px solid rgba(16,62,47,.1);
    flex-direction:column;align-items:stretch;gap:0;flex-wrap:wrap;
    padding:10px clamp(20px,8vw,64px) 18px;
    box-shadow:0 14px 28px rgba(6,35,24,.08);
  }
  nav.aberto{display:flex}
  nav a{padding:12px 14px;border-radius:9px;font-size:14.5px}
}

/* ================= PÁGINAS INTERNAS ================= */
.topo-pagina{padding:38px 0 4px}
.fio{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:12.5px;color:var(--pedra);margin-bottom:24px;
}
.fio a:hover{color:var(--bronze)}
.fio i{opacity:.45;font-style:normal}
h1.titulo{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(30px,4vw,44px);line-height:1.15;
  color:var(--verde-rota);letter-spacing:-.01em;
}

/* ---------- Campo de busca ---------- */
.busca{position:relative;margin-top:28px;max-width:520px}
.busca input{font-weight:400;
  width:100%;font-family:var(--sans);font-size:15px;font-weight:400;
  color:var(--verde-rota);background:var(--branco);
  border:1px solid rgba(16,62,47,.14);border-radius:999px;
  padding:15px 20px 15px 48px;outline:none;
  transition:border-color .18s,box-shadow .18s;
}
.busca input::placeholder{color:rgba(92,102,96,.65)}
.busca input:focus{border-color:var(--bronze);box-shadow:0 0 0 4px rgba(156,122,60,.12)}
.busca .lupa{
  position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;stroke:var(--pedra);fill:none;
  stroke-width:1.7;stroke-linecap:round;pointer-events:none;
}
.contador{margin-top:13px;font-size:12.5px;color:var(--pedra);min-height:20px}

/* ---------- Grupos de links ---------- */
.grupo{margin-top:48px}
.grupo h2{font-size:clamp(20px,2.5vw,26px)}
.grupo .rotulo-esc{margin-bottom:9px}
.lista{
  display:grid;gap:12px;margin-top:20px;
  grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
}
.link{
  display:flex;align-items:center;gap:16px;
  background:var(--branco);border:1px solid rgba(16,62,47,.09);
  border-radius:12px;padding:17px 19px;
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(6,35,24,.08);
  border-color:rgba(156,122,60,.4);
}
.link .txt{flex:1;min-width:0;display:block}
.link .nome{
  display:block;
  font-family:var(--serif);font-size:16.5px;font-weight:600;
  color:var(--verde-rota);line-height:1.3;
}
.link .desc{display:block;font-size:13.5px;margin-top:4px;line-height:1.55;font-weight:400}
.link .seta{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  background:var(--bruma);display:grid;place-items:center;
  color:var(--bronze);font-size:14px;
  transition:background .18s,color .18s;
}
.link:hover .seta{background:var(--bronze);color:var(--areia)}

.vazio{
  display:none;margin-top:44px;padding:30px 26px;
  background:var(--bruma);border-radius:14px;
  border:1px solid rgba(16,62,47,.08);
}
.vazio p{font-size:15px;color:var(--verde-rota)}
.vazio p + p{margin-top:6px;font-size:13.5px;color:var(--pedra)}

/* ---------- Página "em breve" ---------- */
.embreve{
  margin-top:38px;padding:clamp(38px,6vw,58px) clamp(24px,5vw,42px);
  background:var(--bruma);border:1px solid rgba(16,62,47,.09);
  border-radius:16px;text-align:center;
}
.embreve .selo{
  display:inline-block;font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;font-weight:500;color:var(--bronze);margin-bottom:16px;
}
.embreve h3{
  font-family:var(--serif);font-weight:500;font-size:clamp(21px,3vw,26px);
  color:var(--verde-rota);line-height:1.3;
}
.embreve p{margin:12px auto 0;font-size:15.5px;max-width:48ch;font-weight:400}
.btn-3{background:var(--verde-rota);color:var(--areia);margin-top:28px}
.btn-3:hover{background:var(--verde-profundo);transform:translateY(-2px)}

/* ================= FAIXA ESCURA ATRÁS DOS CARTÕES ================= */
/* Cartões claros precisam de fundo escuro pra saltar da página.
   Segue a regra do manual: peça com bronze tem fundo Verde Profundo. */
.faixa-escura{
  background:var(--verde-profundo);
  border-radius:26px;
  padding:clamp(40px,5vw,62px) clamp(24px,4vw,48px) clamp(44px,5vw,64px);
}
.faixa-escura h2{color:var(--areia)}
.faixa-escura h1.titulo{color:var(--areia)}
.faixa-escura .rotulo-esc{color:var(--ouro)}
.faixa-escura .intro{color:var(--champagne)}
.faixa-escura .contador{color:var(--salvia)}
.faixa-escura .fio{color:var(--salvia)}
.faixa-escura .fio a:hover{color:var(--ouro)}

/* ================= PROGRAMAS (Central de Links) ================= */
.subtema{
  display:flex;align-items:center;gap:15px;
  margin-top:40px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--salvia);
}
.subtema::after{content:"";flex:1;height:1px;background:rgba(171,195,180,.22)}

.programas{
  display:grid;gap:16px;margin-top:16px;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  align-items:start;
}
.programa{
  background:var(--branco);
  border:1px solid rgba(16,62,47,.09);
  border-radius:14px;
  padding:22px 22px 14px;
}
.programa > h3{
  font-family:var(--serif);font-size:19px;font-weight:600;
  color:var(--verde-rota);line-height:1.25;
  padding-bottom:13px;
  border-bottom:1px solid rgba(156,122,60,.3);
}
.programa .lista{display:block;margin-top:2px}
.programa .link{
  background:transparent;border:0;border-radius:9px;
  padding:12px;margin:0 -12px;
}
.programa .link + .link{border-top:1px solid rgba(16,62,47,.07)}
.programa .link:hover{background:var(--bruma);transform:none;box-shadow:none}
.programa .link .nome{font-family:var(--sans);font-size:14.5px;font-weight:500}
.programa .link .desc{font-size:12.5px;margin-top:2px}
.programa .link .seta{width:26px;height:26px;font-size:12px;background:var(--bruma)}
.programa .link:hover .seta{background:var(--bronze);color:var(--areia)}

/* ================= CALCULADORA ================= */
.calc-aviso{
  background:var(--bruma);border-left:3px solid var(--bronze);
  border-radius:10px;padding:16px 18px;margin-top:28px;
  font-size:14.5px;color:var(--verde-rota);
}
.calc-secao{margin-top:36px}
.calc-secao > .rotulo-esc{margin-bottom:4px}

.params{display:grid;gap:14px;margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.campo-cx{background:var(--branco);border:1px solid rgba(16,62,47,.09);border-radius:12px;padding:16px 18px}
.campo-cx label{
  display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;color:var(--bronze);margin-bottom:9px;
}
.campo-cx input{
  width:100%;font-family:var(--sans);font-size:19px;font-weight:600;
  color:var(--verde-rota);border:0;border-bottom:1px solid rgba(16,62,47,.16);
  padding:4px 0;outline:none;background:transparent;
}
.campo-cx input:focus{border-bottom-color:var(--bronze)}

.gastos{display:grid;gap:10px;margin-top:16px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.gasto{
  display:flex;align-items:center;gap:14px;
  background:var(--branco);border:1px solid rgba(16,62,47,.09);
  border-radius:12px;padding:14px 16px;
}
.gasto .rot{flex:1;font-size:12.5px;line-height:1.45;color:var(--pedra)}
.gasto .rot b{display:block;font-size:14.5px;color:var(--verde-rota);font-weight:600;margin-bottom:2px}
.gasto .valor{
  display:flex;align-items:center;gap:5px;background:var(--bruma);
  border-radius:9px;padding:9px 11px;flex-shrink:0;
}
.gasto .valor span{font-size:12px;color:var(--pedra)}
.gasto .valor input{
  width:86px;border:0;background:transparent;outline:none;
  font-family:var(--sans);font-size:15px;font-weight:600;
  color:var(--verde-rota);text-align:right;
}

.total-linha{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:16px;background:rgba(247,244,238,.06);
  border:1px solid rgba(217,199,163,.22);border-radius:12px;
  padding:17px 20px;color:var(--champagne);font-size:14.5px;flex-wrap:wrap;
}
.total-linha b{font-family:var(--serif);font-size:25px;color:var(--ouro);font-weight:600}

.btn-calc{
  display:block;width:100%;margin-top:20px;
  background:var(--bronze);color:#FFF;border:0;border-radius:999px;
  padding:17px;font-family:var(--sans);font-size:16px;font-weight:600;
  cursor:pointer;transition:background .18s,transform .18s;
}
.btn-calc:hover{background:var(--ouro);transform:translateY(-2px)}

#resultado{display:none;margin-top:42px}
#resultado.visivel{display:block}
.res-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.res-card{background:var(--branco);border:1px solid rgba(16,62,47,.09);border-radius:14px;padding:22px 18px;text-align:center}
.res-card .rot{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);font-weight:500;line-height:1.6}
.res-card .num{font-family:var(--serif);font-size:29px;font-weight:600;color:var(--verde-rota);margin-top:10px;line-height:1.1}
.res-card .sub{font-size:12.5px;color:var(--pedra);margin-top:4px}

.res-hero{
  background:var(--verde-rota);border:1px solid rgba(190,152,86,.4);
  border-radius:16px;padding:36px 24px;text-align:center;margin-top:14px;
}
.res-hero .rot{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);font-weight:500;line-height:1.6}
.res-hero .num{font-family:var(--serif);font-size:clamp(38px,7vw,56px);font-weight:600;color:var(--areia);line-height:1.05;margin-top:12px}
.res-hero .sub{font-size:13.5px;color:var(--salvia);margin-top:6px}

.res-mult{
  display:flex;align-items:center;justify-content:center;gap:18px;
  background:var(--branco);border:1px solid rgba(156,122,60,.35);
  border-radius:14px;padding:22px;margin-top:14px;flex-wrap:wrap;
}
.res-mult .n{font-family:var(--serif);font-size:38px;font-weight:600;color:var(--bronze);line-height:1}
.res-mult .t{font-size:13.5px;color:var(--pedra);max-width:32ch}

.destinos{margin-top:32px;background:var(--branco);border:1px solid rgba(16,62,47,.09);border-radius:14px;overflow:hidden}
.destinos h3{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--verde-rota);padding:18px 20px;background:var(--bruma)}
.destino{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;border-top:1px solid rgba(16,62,47,.07)}
.destino .nome{display:block;font-size:14.5px;font-weight:500;color:var(--verde-rota)}
.destino .det{display:block;font-size:12.5px;color:var(--pedra);margin-top:2px}
.destino .selo{font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.selo-sim{background:#E4EFE7;color:var(--verde-floresta)}
.selo-quase{background:#F6EEDF;color:var(--bronze)}
.selo-nao{background:#F7E7EA;color:var(--goiaba-profundo)}
.nota{font-size:12px;color:var(--salvia);margin-top:10px}

/* ---------- Aviso dentro da faixa escura ---------- */
.aviso-cx{
  display:flex;gap:14px;align-items:flex-start;
  background:rgba(212,115,127,.12);border:1px solid rgba(212,115,127,.35);
  border-radius:12px;padding:16px 18px;margin-top:26px;
}
.aviso-cx .ic{color:var(--goiaba);font-size:17px;line-height:1.3;flex-shrink:0}
.aviso-cx p{font-size:14px;color:var(--champagne);line-height:1.6}
.aviso-cx strong{color:var(--goiaba)}

/* ================= CAIXAS QUE ABREM (acordeão) ================= */
.caixa{
  background:var(--branco);
  border:1px solid rgba(16,62,47,.09);
  border-radius:14px;margin-top:14px;
}
.caixa > summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:15px;
  padding:20px 22px;border-radius:14px;
  transition:background .18s;
}
.caixa > summary::-webkit-details-marker{display:none}
.caixa > summary::marker{content:""}
.caixa > summary:hover{background:var(--bruma)}
.cx-ico{
  width:40px;height:40px;border-radius:11px;background:var(--bruma);
  display:grid;place-items:center;flex-shrink:0;
}
.cx-ico svg{width:20px;height:20px;stroke:var(--verde-floresta);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cx-txt{flex:1;min-width:0}
.cx-nome{display:block;font-family:var(--serif);font-size:19px;font-weight:600;color:var(--verde-rota);line-height:1.25}
.cx-sub{display:block;font-size:12.5px;color:var(--pedra);margin-top:3px}
.cx-seta{
  flex-shrink:0;width:29px;height:29px;border-radius:50%;
  background:var(--bruma);display:grid;place-items:center;
  color:var(--bronze);font-size:11px;
  transition:transform .22s,background .18s,color .18s;
}
.caixa[open] > summary .cx-seta{transform:rotate(180deg);background:var(--bronze);color:var(--areia)}
.cx-corpo{padding:2px 22px 18px}
.caixa[open] > summary{border-bottom:1px solid rgba(16,62,47,.07);border-radius:14px 14px 0 0}

/* programa dentro da caixa também abre e fecha */
details.programa > summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:12px;
}
details.programa > summary::-webkit-details-marker{display:none}
details.programa > summary::marker{content:""}
.pg-nome{
  flex:1;font-family:var(--serif);font-size:18px;font-weight:600;
  color:var(--verde-rota);line-height:1.25;
}
.pg-conta{font-size:11.5px;color:var(--pedra);flex-shrink:0}
.pg-seta{
  flex-shrink:0;width:25px;height:25px;border-radius:50%;
  background:var(--bruma);display:grid;place-items:center;
  color:var(--bronze);font-size:10px;transition:transform .22s,background .18s,color .18s;
}
details.programa[open] > summary .pg-seta{transform:rotate(180deg);background:var(--bronze);color:var(--areia)}
details.programa[open] > summary{padding-bottom:13px;border-bottom:1px solid rgba(156,122,60,.3)}

/* ================= MANUAL DA MENTORADA ================= */
.citacao{
  position:relative;margin-top:34px;
  background:rgba(190,152,86,.10);
  border:1px solid rgba(190,152,86,.38);
  border-radius:16px;padding:34px clamp(24px,4vw,44px);
  text-align:center;
}
.citacao .frase{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(19px,2.6vw,25px);line-height:1.45;color:var(--areia);
  max-width:34ch;margin:0 auto;
}
.citacao .quem{
  margin-top:16px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  font-weight:500;color:var(--ouro);
}

.principios{display:grid;gap:14px;margin-top:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.principio{
  background:var(--branco);border:1px solid rgba(16,62,47,.09);
  border-radius:14px;padding:24px 22px;
  display:flex;gap:16px;align-items:flex-start;
}
.principio .n{
  font-family:var(--serif);font-size:26px;font-weight:600;
  color:var(--bronze);line-height:1;flex-shrink:0;min-width:30px;
}
.principio p{font-size:14.5px;line-height:1.6;color:var(--pedra)}
.principio p strong{color:var(--verde-rota);font-weight:600}

/* listas dentro das caixas do manual */
.cx-corpo .texto{font-size:14.5px;line-height:1.7;color:var(--pedra);margin-top:14px}
.cx-corpo .texto + .texto{margin-top:12px}
.cx-corpo .texto strong{color:var(--verde-rota);font-weight:600}
.regras{list-style:none;counter-reset:r;margin-top:18px}
.regras li{
  counter-increment:r;position:relative;
  padding:13px 0 13px 44px;font-size:14.5px;line-height:1.6;color:var(--pedra);
  border-top:1px solid rgba(16,62,47,.07);
}
.regras li:first-child{border-top:0}
.regras li::before{
  content:counter(r);position:absolute;left:0;top:12px;
  width:28px;height:28px;border-radius:50%;
  background:var(--bruma);color:var(--bronze);
  font-family:var(--serif);font-size:14px;font-weight:600;
  display:grid;place-items:center;
}
.regras li strong{color:var(--verde-rota);font-weight:600}

.sim-nao{display:grid;gap:14px;margin-top:22px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.sn{border-radius:13px;padding:20px 22px}
.sn h4{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;margin-bottom:12px;
}
.sn ul{list-style:none}
.sn li{position:relative;padding:6px 0 6px 24px;font-size:14px;line-height:1.5}
.sn li::before{position:absolute;left:0;top:6px;font-weight:600}
.sn-sim{background:#E9F1EB;border:1px solid rgba(31,92,75,.22)}
.sn-sim h4{color:var(--verde-floresta)}
.sn-sim li{color:var(--verde-rota)}
.sn-sim li::before{content:"✓";color:var(--verde-floresta)}
.sn-nao{background:#F9EDEF;border:1px solid rgba(171,69,90,.22)}
.sn-nao h4{color:var(--goiaba-profundo)}
.sn-nao li{color:#6E4650}
.sn-nao li::before{content:"✕";color:var(--goiaba-profundo)}

.fecho{
  margin-top:38px;background:var(--verde-rota);
  border:1px solid rgba(190,152,86,.35);border-radius:16px;
  padding:clamp(30px,4vw,44px);text-align:center;
}
.fecho p{font-size:16px;color:var(--champagne);line-height:1.7;max-width:46ch;margin:0 auto}
.fecho .assina{
  margin-top:18px;font-family:var(--serif);font-size:20px;
  font-weight:500;color:var(--ouro);
}

/* ================= CALENDÁRIO DE DESTINOS ================= */
/* Ferramenta feita pela Bárbara. A lógica e os dados são os originais;
   aqui só trocamos as cores e as fontes para as da marca. */
.destinos-tool{margin-top:28px}
.destinos-tool .cal{
  background:var(--branco);border:1px solid rgba(16,62,47,.09);
  border-radius:16px;padding:22px;
}
.destinos-tool .months{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.destinos-tool .mbtn{
  border:1px solid rgba(16,62,47,.16);background:var(--areia);color:var(--verde-rota);
  border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:500;
  cursor:pointer;font-family:var(--sans);letter-spacing:.02em;
  transition:border-color .16s,background .16s,color .16s;
}
.destinos-tool .mbtn:hover{border-color:var(--bronze);background:var(--bruma)}
.destinos-tool .mbtn.on{background:var(--verde-rota);color:var(--ouro);border-color:var(--verde-rota)}
.destinos-tool .mbtn.year{background:var(--branco);border-style:dashed}
.destinos-tool .mbtn.year.on{background:var(--bronze);color:var(--areia);border-color:var(--bronze)}

.destinos-tool .mhead{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-bottom:2px solid var(--bronze);padding-bottom:11px;margin-bottom:18px;
}
.destinos-tool .mhead h4{
  font-family:var(--serif);font-size:25px;font-weight:600;
  color:var(--verde-rota);letter-spacing:-.01em;
}
.destinos-tool .mhead .top{font-size:12.5px;color:var(--pedra)}
.destinos-tool .mhead .top b{color:var(--verde-rota);font-weight:600}

.destinos-tool .box{border:1px solid rgba(16,62,47,.11);border-radius:12px;overflow:hidden;margin-bottom:18px}
.destinos-tool .box-h{
  padding:11px 16px;font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
}
.destinos-tool .box-h.nac{background:var(--verde-floresta);color:var(--areia)}
.destinos-tool .box-h.int{background:var(--bronze);color:var(--areia)}
.destinos-tool .box table{width:100%;border-collapse:collapse;font-size:13.5px}
.destinos-tool .box table td{padding:12px 16px;border-top:1px solid rgba(16,62,47,.07);vertical-align:top;color:var(--pedra)}
.destinos-tool .box table tr:first-child td{border-top:0}
.destinos-tool .box table td.reg{
  width:190px;font-weight:600;color:var(--verde-rota);background:var(--bruma);
}
.destinos-tool .box table td.reg small{
  display:block;font-weight:500;color:var(--pedra);font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;margin-top:3px;
}
.destinos-tool .ev{color:var(--goiaba-profundo);font-weight:600}
.destinos-tool .pill{
  display:inline-block;background:var(--bruma);border:1px solid rgba(16,62,47,.1);
  border-radius:20px;padding:5px 12px;margin:3px 4px 3px 0;font-size:12.7px;color:var(--verde-rota);
}

.destinos-tool .year-tbl{overflow-x:auto}
.destinos-tool .year-tbl table{min-width:960px;font-size:12.5px;width:100%;border-collapse:collapse;background:var(--branco)}
.destinos-tool .year-tbl th{
  background:var(--verde-rota);color:var(--ouro);padding:11px;
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-align:left;font-weight:600;
}
.destinos-tool .year-tbl td{padding:11px;border-top:1px solid rgba(16,62,47,.07);vertical-align:top;color:var(--pedra)}
.destinos-tool .year-tbl td:first-child{font-weight:600;color:var(--verde-rota);background:var(--bruma);width:100px}
.destinos-tool .year-tbl tr:nth-child(even) td{background:#FCFAF5}
.destinos-tool .year-tbl tr:nth-child(even) td:first-child{background:var(--bruma)}

.destinos-tool .foot{
  text-align:center;font-size:12.5px;color:var(--salvia);
  margin-top:26px;padding-top:20px;border-top:1px solid rgba(217,199,163,.2);
}
.destinos-tool .foot b{color:var(--champagne)}

@media(max-width:700px){
  .destinos-tool .box table td.reg{width:118px;font-size:12px}
}
