/* =========================================================
   LilyConts, design system
   Direção: Jardim Lily
   ========================================================= */

/* ---------- Fontes ---------- */
@font-face{font-family:'New Kansas';src:url('../fonts/newkansas-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'New Kansas';src:url('../fonts/newkansas-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'New Kansas';src:url('../fonts/newkansas-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'New Kansas';src:url('../fonts/newkansas-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'New Kansas';src:url('../fonts/newkansas-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

/* ---------- Variáveis ---------- */
:root{
  /* Cores da marca */
  --rosa:#e25abc;
  --rosa-escuro:#c447a3;
  --rosa-claro:#f7d0ec;
  --bege:#ffcd9f;
  --preto:#161616;
  --cinza-fundo:#f2f2f2;
  --texto:#666666;
  --sucesso:#22c55e;
  --branco:#ffffff;
  /* Apoio, derivadas das cores acima */
  --rosa-vidro:#fbeaf6;
  --bege-vidro:#fff4e8;
  --branco-suave:#ffe4f6;
  --texto-rosa:#6b5162;

  /* Tipografia */
  --fonte-titulo:'New Kansas','Poppins',Georgia,serif;
  --fonte-corpo:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --t-h1:clamp(2.5rem,1.5rem + 4.2vw,4rem);
  --t-h2:clamp(2rem,1.45rem + 2.4vw,3rem);
  --t-h3:clamp(1.5rem,1.28rem + 1vw,2rem);
  --t-h4:clamp(1.25rem,1.15rem + 0.45vw,1.5rem);
  --t-corpo:clamp(1rem,0.95rem + 0.22vw,1.125rem);
  --t-pequeno:0.9375rem;
  --t-mini:0.8125rem;
  --linha:1.65;
  --medida:34rem;

  /* Raios */
  --raio-pilula:999px;
  --raio-g:26px;
  --raio-m:18px;
  --raio-p:10px;
  --raio-organico:64% 36% 42% 58% / 38% 54% 46% 62%;
  --raio-organico-2:42% 58% 60% 40% / 56% 42% 58% 44%;

  /* Assinatura visual */
  --contorno:1.5px solid var(--preto);
  --sombra:3px 3px 0 var(--preto);
  --sombra-hover:5px 5px 0 var(--preto);
  --sombra-ativa:1px 1px 0 var(--preto);

  /* Espaçamentos */
  --e-1:0.25rem; --e-2:0.5rem; --e-3:0.75rem; --e-4:1rem;
  --e-5:1.5rem; --e-6:2rem; --e-7:3rem; --e-8:4rem; --e-9:5.5rem;

  --largura-max:1240px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --altura-cabecalho:74px;
  --transicao:160ms ease;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--altura-cabecalho) + 1rem);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cinza-fundo);color:var(--preto);
  font-family:var(--fonte-corpo);font-size:var(--t-corpo);line-height:var(--linha);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,picture{max-width:100%;display:block}
img{height:auto}
h1,h2,h3,h4{font-family:var(--fonte-titulo);color:var(--preto);line-height:1.08;margin:0 0 var(--e-4);font-weight:700;letter-spacing:-.022em}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3)}
h4{font-size:var(--t-h4)}
p{margin:0 0 var(--e-4)}
a{color:var(--rosa-escuro);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--preto)}
ul,ol{padding-left:1.25rem}
li{margin-bottom:var(--e-2)}
strong{font-weight:600}
button{font:inherit}

a:focus-visible,button:focus-visible,summary:focus-visible,
select:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--preto);outline-offset:3px;border-radius:6px;
}

/* ---------- Utilitários ---------- */
.container{width:100%;max-width:var(--largura-max);margin-inline:auto;padding-inline:var(--gutter);position:relative}
.secao{padding-block:clamp(3.5rem,7vw,6rem)}
.secao--curta{padding-block:clamp(2.5rem,4.5vw,3.5rem)}
.fundo-cinza{background:var(--cinza-fundo)}
.fundo-rosa-claro{background:var(--rosa-claro)}
.fundo-bege{background:var(--bege-vidro)}
.fundo-branco{background:var(--branco)}
.fundo-rosa{background:var(--rosa);color:var(--branco)}
.fundo-rosa h1,.fundo-rosa h2,.fundo-rosa h3,.fundo-rosa h4,.fundo-rosa p{color:var(--branco)}
.medida{max-width:var(--medida)}
.centro{text-align:center}
.centro .medida{margin-inline:auto}
.apoio{color:var(--texto)}
.fundo-rosa-claro .apoio{color:var(--texto-rosa)}
.fundo-rosa .apoio{color:var(--branco-suave)}
.nota{font-size:var(--t-mini);color:var(--texto);line-height:1.5}
.fundo-rosa-claro .nota{color:var(--texto-rosa)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pular-conteudo{position:absolute;left:var(--e-4);top:-100px;z-index:200;background:var(--preto);color:var(--branco);padding:var(--e-3) var(--e-5);border-radius:var(--raio-pilula);text-decoration:none;transition:top var(--transicao)}
.pular-conteudo:focus{top:var(--e-4);color:var(--branco)}

/* Manchas suaves de fundo */
.mancha{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.mancha--rosa{background:var(--rosa-claro);opacity:.5}
.mancha--bege{background:var(--bege);opacity:.45}

/* Ondas entre seções */
.onda{display:block;width:100%;height:auto;margin-bottom:-1px}
.onda--cima{margin-bottom:0;margin-top:-1px}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--e-2);
  font-family:var(--fonte-titulo);font-weight:700;font-size:1.0625rem;line-height:1.15;
  text-align:center;text-decoration:none;padding:.85em 1.7em;
  border-radius:var(--raio-pilula);border:var(--contorno);box-shadow:var(--sombra);
  cursor:pointer;transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao);
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra-hover)}
.btn:active{transform:translate(2px,2px);box-shadow:var(--sombra-ativa)}
.btn--primario{background:var(--rosa);color:var(--branco)}
.btn--primario:hover{background:var(--rosa-escuro);color:var(--branco)}
.btn--secundario{background:var(--branco);color:var(--preto)}
.btn--secundario:hover{background:var(--rosa-claro);color:var(--preto)}
.btn--claro{background:var(--cinza-fundo);color:var(--preto)}
.btn--claro:hover{background:var(--branco);color:var(--preto)}
.btn--pequeno{font-size:.9375rem;padding:.7em 1.35em}
.grupo-botoes{display:flex;flex-wrap:wrap;gap:var(--e-4);align-items:center}

/* ---------- Cards ---------- */
.grade{display:grid;gap:var(--e-5)}
.grade--3{grid-template-columns:repeat(3,1fr)}
.grade--2{grid-template-columns:repeat(2,1fr)}

.card{background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);padding:clamp(1.6rem,2.4vw,2.2rem)}
.card h3{margin-bottom:var(--e-2)}
.card p:last-child{margin-bottom:0}

.card-link{
  display:flex;flex-direction:column;justify-content:space-between;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  padding:clamp(1.6rem,2.4vw,2.2rem);color:var(--preto);text-decoration:none;
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao);
}
.card-link:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra-hover);color:var(--preto);background:var(--rosa-vidro)}
.card-link:active{transform:translate(2px,2px);box-shadow:var(--sombra-ativa)}
.card-link h3{margin-bottom:var(--e-3)}
.card-link p{color:var(--texto);margin-bottom:0}
.card-link .acao{
  display:inline-block;margin-top:var(--e-5);align-self:flex-start;
  font-family:var(--fonte-titulo);font-weight:700;color:var(--rosa-escuro);
  border-bottom:2px solid var(--rosa-claro);
}
.card-link:hover .acao{border-bottom-color:var(--rosa)}

/* ---------- Pílulas, selos e bilhete ---------- */
.pilula{
  display:inline-block;padding:.7em 1.5em;border:var(--contorno);border-radius:var(--raio-pilula);
  box-shadow:var(--sombra);font-family:var(--fonte-titulo);font-weight:600;
  font-size:clamp(1rem,.95rem + .3vw,1.1875rem);
  background:var(--branco);color:var(--preto);
}
.pilula--rosa{background:var(--rosa);color:var(--branco)}
.pilula--bege{background:var(--bege);color:var(--preto)}

.selo{
  display:inline-block;padding:.5em 1.05em;border:var(--contorno);border-radius:var(--raio-pilula);
  box-shadow:var(--sombra);background:var(--bege);color:var(--preto);
  font-family:var(--fonte-titulo);font-weight:700;font-size:.9rem;line-height:1.3;
  transform:rotate(-3deg);
}
.selo--rosa{background:var(--rosa-claro)}
.selo--direita{transform:rotate(2deg)}

.bilhete{
  background:var(--bege);border:var(--contorno);border-radius:var(--raio-m);box-shadow:var(--sombra);
  padding:clamp(1.25rem,2.2vw,1.75rem);transform:rotate(-1.4deg);max-width:42rem;
}
.bilhete p{margin:0;font-size:var(--t-pequeno)}

/* ---------- Moldura orgânica ---------- */
.organica{position:relative}
.organica__foto{
  position:relative;z-index:2;overflow:hidden;line-height:0;
  border:var(--contorno);border-radius:var(--raio-organico);
  aspect-ratio:1/0.92;
}
.organica__foto picture{display:block;width:100%;height:100%}
.organica__foto img{width:100%;height:100%;object-fit:cover}
.organica::before{
  content:"";position:absolute;top:-14px;right:-14px;width:100%;height:100%;
  border:1.5px solid var(--rosa);border-radius:var(--raio-organico);z-index:1;
}
.cartao-flutuante{
  background:var(--branco);border:var(--contorno);box-shadow:var(--sombra);
  border-radius:var(--raio-m);padding:.95rem 1.2rem;max-width:14rem;
}
.organica .cartao-flutuante{position:absolute;z-index:3;left:-6%;bottom:7%}
.cartao-flutuante b{display:block;font-family:var(--fonte-titulo);font-weight:900;font-size:1.9rem;line-height:1;color:var(--rosa-escuro)}
.cartao-flutuante span{display:block;font-size:.79rem;color:var(--texto);line-height:1.4;margin-top:.2rem}

/* ---------- Cabeçalho ---------- */
.cabecalho{
  position:sticky;top:0;z-index:100;
  background:rgba(242,242,242,.9);backdrop-filter:blur(14px);
  border-bottom:var(--contorno);
}
.cabecalho__interno{display:flex;align-items:center;justify-content:space-between;gap:var(--e-4);min-height:var(--altura-cabecalho);padding-block:var(--e-3)}
.cabecalho__logo{display:block;line-height:0;flex-shrink:0}
.cabecalho__logo img{height:32px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(.9rem,1.5vw,1.4rem)}
.nav__lista{display:flex;align-items:center;gap:clamp(.85rem,1.4vw,1.3rem);list-style:none;margin:0;padding:0}
.nav__lista li{margin:0}
.nav__link{font-size:var(--t-pequeno);font-weight:500;color:var(--preto);text-decoration:none;padding-block:var(--e-2);border-bottom:2px solid transparent;white-space:nowrap}
.nav__link:hover,.nav__link[aria-current='page']{color:var(--preto);border-bottom-color:var(--rosa)}
.nav > .btn{white-space:nowrap;flex-shrink:0}

.hamburguer{
  display:none;width:46px;height:46px;align-items:center;justify-content:center;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-p);box-shadow:var(--sombra);
  cursor:pointer;padding:0;
}
.hamburguer:active{transform:translate(2px,2px);box-shadow:var(--sombra-ativa)}
.hamburguer span{display:block;width:20px;height:2px;background:var(--preto);position:relative;transition:background var(--transicao)}
.hamburguer span::before,.hamburguer span::after{content:'';position:absolute;left:0;width:20px;height:2px;background:var(--preto);transition:transform var(--transicao),top var(--transicao)}
.hamburguer span::before{top:-6px}
.hamburguer span::after{top:6px}
.hamburguer[aria-expanded='true'] span{background:transparent}
.hamburguer[aria-expanded='true'] span::before{top:0;transform:rotate(45deg)}
.hamburguer[aria-expanded='true'] span::after{top:0;transform:rotate(-45deg)}

/* O menu vira hamburguer um pouco antes do resto do layout, porque com
   seis itens ele não cabe mais em uma linha abaixo de 1020px. */
@media(max-width:1020px){
  .hamburguer{display:flex}
  .nav{
    position:fixed;inset:var(--altura-cabecalho) 0 auto 0;display:none;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--cinza-fundo);border-bottom:var(--contorno);
    padding:var(--e-5) var(--gutter) var(--e-6);
    max-height:calc(100dvh - var(--altura-cabecalho));overflow-y:auto;
  }
  .nav.aberto{display:flex}
  .nav__lista{flex-direction:column;align-items:stretch;gap:0}
  .nav__lista li{border-bottom:1px solid rgba(22,22,22,.12)}
  .nav__link{display:block;padding:var(--e-4) 0;font-size:1.0625rem;border-bottom:none}
  .nav__link[aria-current='page']{color:var(--rosa-escuro)}
  .nav .btn{margin-top:var(--e-5)}
}

/* ---------- Abertura ---------- */
.abertura{position:relative;overflow:hidden;padding-block:clamp(2.5rem,5vw,4.5rem) clamp(3rem,6vw,5rem)}
.abertura .mancha--rosa{width:600px;height:600px;top:-330px;right:-260px}
.abertura .mancha--bege{width:460px;height:460px;bottom:-240px;left:-180px}
.abertura__interno{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;z-index:1}
.abertura h1{margin-bottom:var(--e-5);max-width:16ch}
.abertura__texto{max-width:var(--medida);color:var(--texto)}
.abertura .grupo-botoes{margin-bottom:var(--e-5)}
.abertura__horario{font-size:var(--t-pequeno);color:var(--texto);margin:0}

.palco{position:relative;justify-self:center;width:min(100%,460px)}
.palco__foto{
  position:relative;z-index:2;overflow:hidden;line-height:0;
  border:var(--contorno);border-radius:var(--raio-organico);
  aspect-ratio:1/1.04;background:var(--rosa-claro);
}
.palco__foto picture{display:block;width:100%;height:100%}
.palco__foto img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.palco::before{
  content:"";position:absolute;top:-15px;right:-15px;width:100%;height:100%;
  border:1.5px solid var(--rosa);border-radius:var(--raio-organico);z-index:1;
}
.palco .cartao-flutuante{position:absolute;z-index:3;left:-7%;bottom:13%}
.palco .selo{position:absolute;z-index:5;top:-4%;left:-5%}

@media (prefers-reduced-motion: no-preference){
  .palco__foto,.palco .cartao-flutuante{
    animation:entrada-palco 800ms cubic-bezier(.22,1,.36,1) both;
  }
  .palco .cartao-flutuante{animation-delay:140ms}
  .palco .selo{animation-delay:220ms}
  .palco__mascote{animation:entrada-mascote 900ms cubic-bezier(.22,1,.36,1) 300ms both}
}
@keyframes entrada-palco{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
@keyframes entrada-mascote{
  from{opacity:0;transform:translateY(26px) rotate(0deg)}
  to{opacity:1;transform:rotate(7deg)}
}

/* ---------- Regimes, o jardim ---------- */
.jardim{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-5);align-items:end;margin-top:var(--e-7)}
.cresce{display:flex;flex-direction:column;justify-content:flex-end}
.cresce__planta{display:flex;align-items:flex-end;padding-left:1.7rem;margin-bottom:-1px}
.cresce--1 .cresce__planta{height:78px}
.cresce--2 .cresce__planta{height:124px}
.cresce--3 .cresce__planta{height:170px}
.vaso{background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);padding:1.9rem 1.7rem}
.vaso h3{margin-bottom:var(--e-1);font-size:1.4rem}
.vaso .limite{display:block;font-size:.875rem;font-weight:600;color:var(--rosa-escuro);margin-bottom:var(--e-3)}
.vaso p{margin:0;color:var(--texto);font-size:.97rem}

/* ---------- Números ---------- */
.numeros__grade{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e-5);text-align:center}
.numeros__valor{display:block;font-family:var(--fonte-titulo);font-weight:900;font-size:clamp(2.75rem,5.4vw,4.25rem);line-height:1;color:var(--branco);margin-bottom:var(--e-2)}
.numeros__rotulo{display:block;font-size:var(--t-pequeno);color:var(--branco-suave);line-height:1.4}

/* ---------- Trilha, como funciona ---------- */
.caminho{position:relative;margin-top:var(--e-8)}
.caminho__linha{position:absolute;top:0;left:0;width:100%;height:150px;overflow:visible;pointer-events:none;z-index:0}
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e-5);position:relative;z-index:1;list-style:none;margin:0;padding:0}
.passo{margin:0}
.passo:nth-child(1){padding-top:4.6rem}
.passo:nth-child(2){padding-top:1.2rem}
.passo:nth-child(3){padding-top:5.4rem}
.passo:nth-child(4){padding-top:1.8rem}
.passo__bolha{
  width:54px;height:54px;border-radius:50%;background:var(--bege);
  border:var(--contorno);box-shadow:var(--sombra);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fonte-titulo);font-weight:900;font-size:1.05rem;margin-bottom:var(--e-4);
}
.passos--cinco{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.passos--cinco{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.passos--cinco{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.passos--cinco{grid-template-columns:1fr}}
.passos--cinco .passo{padding-top:0}
.passo h3{font-size:1.22rem;margin-bottom:var(--e-2)}
.passo p{margin:0;color:var(--texto);font-size:.95rem}

/* ---------- Vantagens ---------- */
.vantagens__interno{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.vantagens__pilulas{display:flex;flex-wrap:wrap;gap:var(--e-4);margin-bottom:var(--e-4)}

/* ---------- Parceria ---------- */
.parceria__interno{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.parceria__texto{max-width:var(--medida);color:var(--texto)}

/* ---------- Parceiros ---------- */
.parceiros__titulo{font-family:var(--fonte-titulo);font-weight:600;font-size:1.0625rem;color:var(--texto);margin-bottom:var(--e-5)}
.parceiros__lista{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);list-style:none;margin:0;padding:0}
.parceiros__lista li{margin:0;font-family:var(--fonte-titulo);font-weight:700;font-size:clamp(1.125rem,2vw,1.45rem);color:var(--preto);opacity:.5}

/* ---------- Acordeão ---------- */
.faq{max-width:52rem;margin-top:var(--e-6)}
.faq details{background:var(--branco);border:var(--contorno);border-radius:var(--raio-m);margin-bottom:var(--e-4);overflow:hidden}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--e-4);cursor:pointer;padding:var(--e-5);font-family:var(--fonte-titulo);font-weight:600;font-size:1.125rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';flex-shrink:0;width:13px;height:13px;border-right:2.5px solid var(--preto);border-bottom:2.5px solid var(--preto);transform:rotate(45deg) translate(-3px,-3px);transition:transform var(--transicao)}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq details[open] summary{background:var(--rosa-claro)}
.faq__resposta{padding:var(--e-5);border-top:1px solid rgba(22,22,22,.14);color:var(--texto)}
.faq__resposta p:last-child{margin-bottom:0}

/* ---------- Citação ---------- */
.citacao{position:relative;overflow:hidden}
.citacao blockquote{font-family:var(--fonte-titulo);font-weight:500;font-style:italic;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.3;max-width:26ch;margin:0;color:var(--branco)}
.citacao .assina{margin-top:var(--e-5);font-size:var(--t-pequeno);color:var(--branco-suave)}

/* ---------- Chamada final ---------- */
.chamada{position:relative;overflow:hidden;text-align:center}
.chamada__interno{padding-block:clamp(3.5rem,6vw,5rem) 0;position:relative;z-index:2}
.chamada h2{max-width:20ch;margin-inline:auto}
.chamada p{max-width:44ch;margin-inline:auto;margin-bottom:var(--e-6);color:var(--branco-suave)}
.chamada__mascote{width:min(80%,400px);margin:clamp(2rem,4vw,3rem) auto -6px;display:block}

/* ---------- WhatsApp flutuante ---------- */
.wa-flutuante{
  position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:90;
  display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;
  background:var(--rosa);color:var(--branco);border:var(--contorno);box-shadow:var(--sombra);
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao);
}
.wa-flutuante:hover{background:var(--rosa-escuro);color:var(--branco);transform:translate(-2px,-2px);box-shadow:var(--sombra-hover)}
.wa-flutuante:active{transform:translate(2px,2px);box-shadow:var(--sombra-ativa)}
.wa-flutuante svg{width:30px;height:30px;fill:currentColor}

/* ---------- Rodapé ---------- */
.rodape{background:var(--rosa);color:var(--branco);border-top:var(--contorno);padding-block:var(--e-8) var(--e-5)}
.rodape a{color:var(--branco);text-decoration:none}
.rodape a:hover{color:var(--branco);text-decoration:underline}
.rodape a.btn{color:var(--preto);text-decoration:none}
.rodape a.btn:hover{color:var(--preto);text-decoration:none}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1.1fr 1fr 1.2fr;gap:var(--e-6) var(--e-5)}
.rodape__logo img{height:32px;width:auto;margin-bottom:var(--e-4)}
.rodape h3{color:var(--branco);font-size:1.125rem;margin-bottom:var(--e-4)}
.rodape p,.rodape li{font-size:var(--t-pequeno);line-height:1.7}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:var(--e-2)}
.rodape__dados p{margin-bottom:var(--e-2)}
.rodape__base{margin-top:var(--e-7);padding-top:var(--e-5);border-top:1px solid rgba(255,255,255,.45);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e-4);font-size:var(--t-mini)}
.rodape__legais{display:flex;flex-wrap:wrap;gap:var(--e-4);list-style:none;margin:0;padding:0}
.rodape__legais li{margin:0;font-size:var(--t-mini)}
.rodape__redes{display:flex;gap:var(--e-3);list-style:none;margin:0;padding:0}
.rodape__redes li{margin:0}
.rodape__redes a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1.5px solid var(--branco);border-radius:50%;transition:background var(--transicao),color var(--transicao)}
.rodape__redes a:hover{background:var(--branco);color:var(--rosa)}
.rodape__redes svg{width:20px;height:20px;fill:currentColor}
.rodape__copy{font-size:var(--t-mini);margin:var(--e-4) 0 0}

/* ---------- Responsivo ---------- */
@media(max-width:980px){
  .abertura__interno{grid-template-columns:1fr}
  .palco{margin-top:var(--e-7);width:min(88%,360px);justify-self:start;margin-left:var(--e-2)}
  .jardim{grid-template-columns:1fr}
  /* No celular os cartões empilham, e as plantas encolhem para não
     ocupar meia tela. O desenho precisa encolher junto: antes só a
     caixa diminuía, o SVG mantinha a altura original e a flor
     transbordava por cima do texto do cartão de cima.

     Reproduzido em 393px de largura, que é a de um iPhone: a flor do
     Lucro Real invadia o cartão do Lucro Presumido em 68 pixels. */
  .cresce--2 .cresce__planta,.cresce--3 .cresce__planta{height:72px}
  .cresce__planta svg{height:100%;width:auto}
  .vantagens__interno,.parceria__interno{grid-template-columns:1fr}
  .numeros__grade{grid-template-columns:repeat(2,1fr);gap:var(--e-6) var(--e-4)}
  .caminho__linha{display:none}
  .caminho{margin-top:var(--e-6)}
  .passos{grid-template-columns:1fr 1fr;gap:var(--e-6) var(--e-5)}
  .passo:nth-child(n){padding-top:0}
  .rodape__grade{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .grade--2,.grade--3{grid-template-columns:1fr}
  .passos{grid-template-columns:1fr}
  .grupo-botoes .btn{width:100%}
  .faq summary{font-size:1rem;padding:var(--e-4)}
  .faq__resposta{padding:var(--e-4)}
  .rodape__grade{grid-template-columns:1fr}
  .rodape__base{flex-direction:column;align-items:flex-start}
  .organica .cartao-flutuante{left:0;bottom:-6%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =====================================================================
   Componentes das páginas internas
   ===================================================================== */

/* ---------- Topo de página ---------- */
.topo-pagina{position:relative;overflow:hidden;padding-block:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3rem)}
.topo-pagina .mancha--rosa{width:520px;height:520px;top:-280px;right:-180px}
.topo-pagina .mancha--bege{width:380px;height:380px;bottom:-260px;left:-160px}
.topo-pagina__interno{position:relative;z-index:1}
.topo-pagina h1{max-width:18ch;margin-bottom:var(--e-4)}
.topo-pagina p{max-width:var(--medida);color:var(--texto);margin-bottom:0}

/* ---------- Serviços ---------- */
.servicos{display:grid;gap:var(--e-5);margin-top:var(--e-6)}
.servico{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  padding:clamp(1.6rem,2.6vw,2.4rem);
}
.servico--destaque{background:var(--rosa-vidro)}
.servico__topo{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--e-3);margin-bottom:var(--e-2)}
.servico__topo h2,.servico__topo h3{margin:0}
.servico__preco{font-family:var(--fonte-titulo);font-weight:900;font-size:1.9rem;line-height:1;color:var(--rosa-escuro);white-space:nowrap}
.servico__meta{font-size:var(--t-pequeno);color:var(--texto);margin-bottom:var(--e-4)}
.servico p{color:var(--texto)}
.servico__titulo-lista{
  font-family:var(--fonte-titulo);font-weight:700;font-size:1rem;
  margin:var(--e-5) 0 var(--e-3);color:var(--preto);
}
.inclui{list-style:none;margin:0 0 var(--e-4);padding:0;display:grid;gap:var(--e-2)}
.inclui li{position:relative;padding-left:1.9rem;color:var(--texto);font-size:var(--t-pequeno);margin:0}
.inclui li::before{
  content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;
  border-left:2px solid var(--rosa);border-bottom:2px solid var(--rosa);
  transform:rotate(-45deg);
}
.aviso{
  background:var(--bege-vidro);border:1.5px solid var(--bege);border-radius:var(--raio-m);
  padding:var(--e-4) var(--e-5);font-size:var(--t-pequeno);color:#6b5330;margin-bottom:var(--e-5);
}
.aviso p:last-child{margin-bottom:0}
.aviso strong{color:var(--preto)}
.servico .btn{margin-top:var(--e-2)}

/* ---------- Seletor de plano ---------- */
.seletor{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  padding:clamp(1.6rem,2.6vw,2.4rem);margin-top:var(--e-6);
}
.seletor h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:var(--e-2)}
.seletor__ajuda{color:var(--texto);font-size:var(--t-pequeno);margin-bottom:var(--e-5)}
.campo-grupo{margin-bottom:var(--e-5)}
fieldset.campo-grupo{border:0;padding:0;margin-inline:0;min-inline-size:0}
.campo-grupo__rotulo{
  display:block;font-family:var(--fonte-titulo);font-weight:700;font-size:1rem;margin-bottom:var(--e-3);
}
.chips{display:flex;flex-wrap:wrap;gap:var(--e-3)}
.chip{
  font-family:var(--fonte-titulo);font-weight:600;font-size:.95rem;
  padding:.6em 1.2em;border-radius:var(--raio-pilula);border:var(--contorno);
  background:var(--branco);color:var(--preto);cursor:pointer;
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao);
}
.chip:hover{background:var(--rosa-claro)}
.chip[aria-pressed="true"]{background:var(--rosa);color:var(--branco);box-shadow:var(--sombra)}

.resultado{
  border-top:1.5px dashed rgba(22,22,22,.25);margin-top:var(--e-6);padding-top:var(--e-5);
}
.resultado__vazio{color:var(--texto);font-size:var(--t-pequeno);margin:0}
.resultado__nome{font-family:var(--fonte-titulo);font-weight:700;font-size:1.25rem;margin-bottom:var(--e-1)}
.resultado__detalhe{font-size:var(--t-pequeno);color:var(--texto);margin-bottom:var(--e-4)}
.resultado__valor{
  font-family:var(--fonte-titulo);font-weight:900;font-size:clamp(2.2rem,4vw,3rem);
  line-height:1;color:var(--preto);margin-bottom:var(--e-1);
}
.resultado__valor span{font-size:1rem;font-weight:600;color:var(--texto)}
.resultado__tres{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-4);margin-bottom:var(--e-5)}
.resultado__caixa{
  border:var(--contorno);border-radius:var(--raio-m);padding:var(--e-4);background:var(--rosa-vidro);
}
.resultado__caixa b{display:block;font-family:var(--fonte-titulo);font-weight:600;font-size:.9rem;margin-bottom:var(--e-1)}
.resultado__caixa span{display:block;font-family:var(--fonte-titulo);font-weight:900;font-size:1.5rem;line-height:1.1}
.resultado__acao{display:flex;flex-wrap:wrap;gap:var(--e-4);align-items:center;margin-top:var(--e-4)}

/* ---------- Abas e tabela ---------- */
.abas{display:flex;flex-wrap:wrap;gap:var(--e-3);margin:var(--e-6) 0 var(--e-5)}
.aba{
  font-family:var(--fonte-titulo);font-weight:700;font-size:1rem;
  padding:.7em 1.4em;border-radius:var(--raio-pilula);border:var(--contorno);
  background:var(--branco);color:var(--preto);cursor:pointer;
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao);
}
.aba:hover{background:var(--rosa-claro)}
.aba[aria-selected="true"]{background:var(--rosa);color:var(--branco);box-shadow:var(--sombra)}

.painel-tabela[hidden]{display:none}
.painel-tabela h3{font-size:1.35rem;margin-bottom:var(--e-2)}
.painel-tabela__nota{color:var(--texto);font-size:var(--t-pequeno);margin-bottom:var(--e-5)}
.rolagem{overflow-x:auto;border:var(--contorno);border-radius:var(--raio-m);background:var(--branco)}
table.planos{width:100%;border-collapse:collapse;min-width:680px;font-size:var(--t-pequeno)}
table.planos caption{text-align:left;padding:var(--e-4) var(--e-5) 0;font-size:var(--t-mini);color:var(--texto)}
table.planos th,table.planos td{padding:var(--e-4) var(--e-4);text-align:left;border-bottom:1px solid rgba(22,22,22,.14)}
table.planos thead th{
  background:var(--rosa-claro);font-family:var(--fonte-titulo);font-weight:700;font-size:.95rem;
  border-bottom:1.5px solid var(--preto);
}
table.planos tbody th{font-weight:600;color:var(--preto)}
table.planos tbody th small{display:block;font-weight:400;font-size:var(--t-mini);color:var(--texto);margin-top:2px}
table.planos td{font-variant-numeric:tabular-nums;white-space:nowrap}
table.planos tbody tr:last-child th,table.planos tbody tr:last-child td{border-bottom:none}
table.planos tbody tr:hover{background:var(--rosa-vidro)}

/* ---------- Destaque grande ---------- */
.destaque-grande{
  background:var(--rosa);color:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:clamp(1.8rem,3vw,2.6rem);margin-top:var(--e-6);
  display:grid;grid-template-columns:1fr auto;gap:var(--e-5);align-items:center;
}
.destaque-grande h2{color:var(--branco);font-size:clamp(1.5rem,2.8vw,2.1rem);margin-bottom:var(--e-2);max-width:22ch}
.destaque-grande p{color:var(--branco-suave);margin:0;max-width:44ch}

/* ---------- Listas de inclusos e adicionais ---------- */
.colunas-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-5)}
.bloco-lista{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  padding:clamp(1.6rem,2.4vw,2.2rem);
}
.bloco-lista h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:var(--e-4)}
.bloco-lista .inclui li{font-size:var(--t-pequeno)}
.lista-simples{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-3)}
.lista-simples li{margin:0;padding-bottom:var(--e-3);border-bottom:1px solid rgba(22,22,22,.12);font-size:var(--t-pequeno);color:var(--texto)}
.lista-simples li:last-child{border-bottom:none;padding-bottom:0}
.lista-simples b{color:var(--preto);font-weight:600;display:block}

/* ---------- Página A Lily ---------- */
.perfil{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.perfil__texto{color:var(--texto);max-width:var(--medida)}
.credencial{
  display:inline-block;margin-top:var(--e-4);font-size:var(--t-pequeno);
  color:var(--texto);border-left:3px solid var(--rosa);padding-left:var(--e-4);
}
.redes-botoes{display:flex;flex-wrap:wrap;gap:var(--e-4);margin-top:var(--e-5)}

/* ---------- Páginas legais ---------- */
.texto-legal{max-width:38rem}
.texto-legal h2{font-size:clamp(1.4rem,2.4vw,1.75rem);margin-top:var(--e-7);margin-bottom:var(--e-3)}
.texto-legal h2:first-of-type{margin-top:0}
.texto-legal h3{font-size:1.2rem;margin-top:var(--e-5);margin-bottom:var(--e-2)}
.texto-legal p,.texto-legal li{color:var(--texto)}
.atualizacao{
  display:inline-block;background:var(--rosa-claro);border:var(--contorno);border-radius:var(--raio-pilula);
  padding:.45em 1.1em;font-size:var(--t-mini);font-family:var(--fonte-titulo);font-weight:600;margin-bottom:var(--e-5);
}
.texto-legal ul{margin-bottom:var(--e-4)}
.texto-legal li{margin-bottom:var(--e-2)}

/* ---------- Página 404 ---------- */
.erro{text-align:center;padding-block:clamp(3.5rem,8vw,7rem)}
.erro__numero{
  font-family:var(--fonte-titulo);font-weight:900;font-size:clamp(5rem,16vw,11rem);
  line-height:.9;color:var(--rosa);margin-bottom:var(--e-4);
}
.erro p{max-width:46ch;margin-inline:auto;color:var(--texto)}
.erro .grupo-botoes{justify-content:center;margin-top:var(--e-5)}
.erro__mascote{width:min(60%,240px);margin:var(--e-6) auto 0}

/* ---------- Ferramentas embutidas (calculadora e DIRPF) ---------- */
.ferramenta{max-width:46rem;margin-inline:auto}
.ferramenta__aviso{font-size:var(--t-mini);color:var(--texto);text-align:center;margin-top:var(--e-6)}

/* ---------- Responsivo das páginas internas ---------- */
@media(max-width:980px){
  .perfil{grid-template-columns:1fr}
  .colunas-2{grid-template-columns:1fr}
  .destaque-grande{grid-template-columns:1fr}
  .resultado__tres{grid-template-columns:1fr}
}

/* =====================================================================
   Formulários das ferramentas (calculadora e diagnóstico)
   ===================================================================== */
.form-card{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  padding:clamp(1.5rem,2.4vw,2.2rem);margin-bottom:var(--e-5);
}
.form-card > h2,.form-card > h3{font-size:1.3rem;margin-bottom:var(--e-4)}
.secao-form{
  font-family:var(--fonte-titulo);font-weight:700;font-size:1rem;color:var(--rosa-escuro);
  display:flex;align-items:center;gap:var(--e-3);margin:var(--e-6) 0 var(--e-4);
}
.secao-form:first-child{margin-top:0}
.secao-form::after{content:"";flex:1;height:1.5px;background:var(--rosa-claro)}
.linha{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-4)}
.linha--um{grid-template-columns:1fr}
.campo{display:flex;flex-direction:column}
.campo label,.campo .rotulo{
  font-size:var(--t-pequeno);font-weight:600;margin-bottom:var(--e-2);
  display:flex;align-items:center;gap:var(--e-2);
}
.campo input,.campo select{
  width:100%;padding:.75rem .9rem;font-family:var(--fonte-corpo);font-size:1rem;color:var(--preto);
  background:var(--cinza-fundo);border:1.5px solid rgba(22,22,22,.25);border-radius:var(--raio-p);
  appearance:none;-webkit-appearance:none;transition:border-color var(--transicao),background var(--transicao);
}
.campo select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23161616' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem;
}
.campo input:focus,.campo select:focus{border-color:var(--rosa);background:var(--branco)}
.campo .sub{font-size:var(--t-mini);color:var(--texto);margin-top:.3rem}
.com-prefixo{position:relative;display:flex;align-items:center}
.com-prefixo .prefixo,.com-prefixo .sufixo{
  position:absolute;font-size:.95rem;color:var(--texto);pointer-events:none;
}
.com-prefixo .prefixo{left:.9rem}
.com-prefixo .sufixo{right:.9rem}
.com-prefixo input.tem-prefixo{padding-left:2.5rem}
.com-prefixo input.tem-sufixo{padding-right:2.2rem}

.dica{
  width:18px;height:18px;flex-shrink:0;border-radius:50%;
  background:var(--rosa-claro);color:var(--rosa-escuro);border:1.5px solid var(--rosa-escuro);
  font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
  cursor:help;position:relative;
}
.dica .balao{
  display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--preto);color:var(--branco);font-size:.78rem;font-weight:400;line-height:1.4;
  padding:.6rem .75rem;border-radius:10px;width:15rem;z-index:20;text-align:left;
}
.dica:hover .balao,.dica:focus .balao{display:block}

.recado{
  background:var(--rosa-vidro);border:1.5px solid var(--rosa-claro);border-radius:var(--raio-m);
  padding:var(--e-4);font-size:var(--t-pequeno);color:var(--texto);margin-top:var(--e-4);
}
.recado b{color:var(--rosa-escuro)}
.alerta{
  background:var(--bege-vidro);border:1.5px solid var(--bege);border-radius:var(--raio-m);
  padding:var(--e-3) var(--e-4);font-size:var(--t-mini);color:#6b5330;margin-top:var(--e-3);
}
.erro-form{
  background:#fdecec;border:1.5px solid #e08a8a;border-radius:var(--raio-m);
  padding:var(--e-3) var(--e-4);font-size:var(--t-pequeno);color:#a02c2c;
  margin-top:var(--e-4);font-weight:600;
}
.erro-form[hidden]{display:none}

/* ---------- Resultado da calculadora ---------- */
.preco-destaque{
  background:var(--rosa);color:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:clamp(1.6rem,3vw,2.4rem);text-align:center;margin-bottom:var(--e-5);
}
.preco-destaque .rotulo{font-size:var(--t-mini);color:var(--branco-suave);display:block;margin-bottom:var(--e-2)}
.preco-destaque .valor{
  font-family:var(--fonte-titulo);font-weight:900;font-size:clamp(2.6rem,6vw,4rem);line-height:1;
  display:block;margin-bottom:var(--e-3);
}
.preco-destaque .explica{color:var(--branco-suave);font-size:var(--t-pequeno);max-width:44ch;margin:0 auto var(--e-5)}
.preco-destaque__base{
  display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e-7);
  padding-top:var(--e-5);border-top:1px solid rgba(255,255,255,.4);
}
.preco-destaque__base div{text-align:center}
.preco-destaque__base b{display:block;font-family:var(--fonte-titulo);font-weight:900;font-size:1.4rem}

.linhas{list-style:none;margin:0;padding:0}
.linhas li{
  display:flex;justify-content:space-between;gap:var(--e-4);align-items:baseline;
  padding:.6rem 0;border-bottom:1px solid rgba(22,22,22,.12);font-size:var(--t-pequeno);margin:0;
}
.linhas li:last-child{border-bottom:none}
.linhas .rotulo{color:var(--texto)}
.linhas .valor{font-weight:600;color:var(--preto);white-space:nowrap}
.linhas li.destaque{background:var(--rosa-vidro);margin-inline:calc(-1 * var(--e-4));padding-inline:var(--e-4);border-radius:var(--raio-p)}
.linhas li.destaque .rotulo,.linhas li.destaque .valor{color:var(--rosa-escuro);font-weight:600}

.faixas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-4);margin-bottom:var(--e-5)}
.faixa-preco{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);padding:var(--e-5);
  text-align:center;position:relative;
}
.faixa-preco--sugerida{box-shadow:var(--sombra);border-color:var(--rosa)}
.faixa-preco--sugerida::before{
  content:"Recomendado";position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);
  background:var(--rosa);color:var(--branco);font-family:var(--fonte-titulo);font-weight:700;
  font-size:.7rem;padding:.2rem .8rem;border-radius:var(--raio-pilula);border:var(--contorno);white-space:nowrap;
}
.faixa-preco h3{font-size:1.05rem;margin-bottom:var(--e-2)}
.faixa-preco .valor{font-family:var(--fonte-titulo);font-weight:900;font-size:1.6rem;line-height:1;display:block;margin-bottom:var(--e-3)}
.faixa-preco .descricao{font-size:var(--t-mini);color:var(--texto);min-height:3.4em;margin-bottom:var(--e-3)}
.faixa-preco .linhas li{font-size:var(--t-mini);padding:.35rem 0}
.etiqueta{
  display:inline-block;margin-top:var(--e-3);padding:.25em .8em;border-radius:var(--raio-pilula);
  font-size:.72rem;font-weight:600;line-height:1.3;
}
.etiqueta--ok{background:#e6f7ee;color:#136c43}
.etiqueta--atencao{background:var(--bege-vidro);color:#8a5a1a}
.etiqueta--ruim{background:#fdecec;color:#a02c2c}

.diagnostico{display:grid;gap:var(--e-3)}
.diagnostico p{
  background:var(--cinza-fundo);border:1px solid rgba(22,22,22,.1);border-radius:var(--raio-m);
  padding:var(--e-3) var(--e-4);font-size:var(--t-pequeno);color:var(--texto);margin:0;
}
.diagnostico p b{color:var(--preto)}
.diagnostico p.bom{background:#e6f7ee;border-color:#b6e2cb;color:#136c43}
.diagnostico p.bom b{color:#0d5232}
.diagnostico p.ruim{background:#fdecec;border-color:#f0c4c4;color:#a02c2c}
.diagnostico p.ruim b{color:#7d1f1f}

.comparacao{
  border-radius:var(--raio-m);padding:var(--e-4);text-align:center;
  font-weight:600;font-size:var(--t-pequeno);margin-bottom:var(--e-5);
}
.comparacao[hidden]{display:none}
.comparacao--acima{background:#e6f7ee;color:#136c43;border:1.5px solid #b6e2cb}
.comparacao--abaixo{background:#fdecec;color:#a02c2c;border:1.5px solid #f0c4c4}

@media(max-width:780px){
  .linha{grid-template-columns:1fr}
  .faixas{grid-template-columns:1fr}
  .preco-destaque__base{gap:var(--e-5)}
}

@media print{
  .cabecalho,.rodape,.wa-flutuante,.pular-conteudo,.form-card,
  .acoes-resultado,.faq,.topo-pagina{display:none!important}
  body{background:#fff}
  .preco-destaque{box-shadow:none}
}

/* =====================================================================
   Diagnóstico da declaração (página de Imposto de Renda)
   ===================================================================== */
.quiz{
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  overflow:hidden;max-width:44rem;margin-inline:auto;
}
.quiz__barra{height:6px;background:var(--rosa-claro);border-bottom:1.5px solid var(--preto)}
.quiz__progresso{height:100%;background:var(--rosa);width:0;transition:width .35s ease}
.quiz__topo{
  display:flex;align-items:center;justify-content:space-between;gap:var(--e-4);
  padding:var(--e-4) clamp(1.25rem,3vw,2rem);border-bottom:1px solid rgba(22,22,22,.12);
  font-size:var(--t-mini);color:var(--texto);
}
.quiz__topo b{font-family:var(--fonte-titulo);color:var(--rosa-escuro)}
.quiz__corpo{padding:clamp(1.25rem,3vw,2rem)}
.quiz__corpo h3{font-size:1.2rem;margin-bottom:var(--e-2)}
.quiz__dica{font-size:var(--t-pequeno);color:var(--texto);margin-bottom:var(--e-5)}
.opcoes{display:flex;flex-wrap:wrap;gap:var(--e-3)}
.opcao{
  flex:1 1 9rem;font-family:var(--fonte-titulo);font-weight:600;font-size:1rem;
  padding:.8em 1.4em;border-radius:var(--raio-pilula);border:var(--contorno);
  background:var(--cinza-fundo);color:var(--preto);cursor:pointer;
  transition:background var(--transicao),box-shadow var(--transicao);
}
.opcao:hover{background:var(--rosa-claro)}
.opcao[aria-pressed="true"]{background:var(--rosa);color:var(--branco);box-shadow:var(--sombra)}
.sub-pergunta{
  margin-top:var(--e-5);padding:var(--e-4);background:var(--rosa-vidro);
  border:1.5px solid var(--rosa-claro);border-radius:var(--raio-m);
}
.sub-pergunta label{display:block;font-size:var(--t-pequeno);font-weight:600;margin-bottom:var(--e-2)}
.quiz__rodape{
  display:flex;align-items:center;justify-content:space-between;gap:var(--e-4);
  padding:var(--e-4) clamp(1.25rem,3vw,2rem) var(--e-5);border-top:1px solid rgba(22,22,22,.12);
}
.quiz__rodape .btn:only-child{margin-left:auto}
.btn[disabled]{opacity:.45;pointer-events:none}

.resultado-dirpf{
  max-width:44rem;margin-inline:auto;background:var(--branco);
  border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);overflow:hidden;
}
.resultado-dirpf__topo{background:var(--rosa);color:var(--branco);padding:clamp(1.5rem,3vw,2.2rem)}
.resultado-dirpf__topo .rotulo{font-size:var(--t-mini);color:var(--branco-suave);display:block;margin-bottom:var(--e-2)}
.resultado-dirpf__topo h3{color:var(--branco);font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:var(--e-1)}
.resultado-dirpf__topo .produto{color:var(--branco-suave);font-size:var(--t-pequeno);margin:0}
.resultado-dirpf__topo .preco{
  font-family:var(--fonte-titulo);font-weight:900;font-size:clamp(2rem,5vw,2.8rem);
  line-height:1;margin-top:var(--e-4);display:block;
}
.resultado-dirpf__topo .preco small{font-size:.9rem;font-weight:400;color:var(--branco-suave)}
.resultado-dirpf__corpo{padding:clamp(1.5rem,3vw,2.2rem)}
.prazo-resumo{
  display:flex;flex-wrap:wrap;gap:var(--e-5);background:var(--cinza-fundo);
  border-radius:var(--raio-m);padding:var(--e-4);margin-block:var(--e-5);
}
.prazo-resumo div span{display:block;font-size:var(--t-mini);color:var(--texto)}
.prazo-resumo div b{font-family:var(--fonte-titulo);font-weight:700;font-size:.95rem}

.faixa-prazo{display:flex;flex-wrap:wrap;border:var(--contorno);border-radius:var(--raio-m);overflow:hidden;margin-top:var(--e-6)}
.faixa-prazo div{
  flex:1 1 8rem;text-align:center;padding:var(--e-4) var(--e-3);background:var(--branco);
  border-right:1px solid rgba(22,22,22,.14);
}
.faixa-prazo div:last-child{border-right:none;background:var(--rosa);color:var(--branco)}
.faixa-prazo b{display:block;font-family:var(--fonte-titulo);font-weight:900;font-size:1.6rem;line-height:1;color:var(--rosa-escuro)}
.faixa-prazo div:last-child b{color:var(--branco)}
.faixa-prazo span{display:block;font-size:var(--t-mini);color:var(--texto);margin-top:.2rem}
.faixa-prazo div:last-child span{color:var(--branco-suave)}

.tarja{
  background:var(--rosa);color:var(--branco);border-bottom:var(--contorno);
  padding:var(--e-3) var(--gutter);text-align:center;font-size:var(--t-pequeno);
}
.tarja b{font-weight:600}
.tarja__datas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e-3);margin-top:var(--e-2)}
.tarja__datas span{
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);
  border-radius:var(--raio-pilula);padding:.15em .9em;font-size:var(--t-mini);
}

/* =====================================================================
   O lírio da marca
   É um adesivo: a foto do lírio com o contorno branco em volta.
   Para trocar, substitua assets/img/lirio.png e lirio.webp, mantendo
   o fundo transparente. Use assim em qualquer lugar da página:
   <picture class="lirio"><source srcset="assets/img/lirio.webp" type="image/webp"><img src="assets/img/lirio.png" width="600" height="537" alt=""></picture>
   ===================================================================== */
.lirio{
  display:block;width:100%;
  filter:drop-shadow(1px 2px 2px rgba(22,22,22,.22));
}
.lirio img{display:block;width:100%;height:auto}

@media (prefers-reduced-motion: no-preference){
  .lirio--gira{animation:lirio-gira 26s linear infinite}
  .lirio--balanca{animation:lirio-balanca 5s ease-in-out infinite}
}
@keyframes lirio-gira{to{transform:rotate(360deg)}}
@keyframes lirio-balanca{
  0%,100%{transform:rotate(-5deg)}
  50%{transform:rotate(5deg)}
}

/* Lírio com brilho, usado na página A Lily */
.lirio-brilho{position:relative;display:inline-block;width:64px;flex-shrink:0}
.lirio-brilho .brilho{position:absolute;inset:0;pointer-events:none}
.lirio-brilho .brilho span{
  position:absolute;width:7px;height:7px;background:var(--bege);
  clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
}
.lirio-brilho .brilho span:nth-child(1){top:-6%;left:8%}
.lirio-brilho .brilho span:nth-child(2){top:18%;right:-8%;width:9px;height:9px}
.lirio-brilho .brilho span:nth-child(3){bottom:2%;left:-6%;width:6px;height:6px}
@media (prefers-reduced-motion: no-preference){
  .lirio-brilho .brilho span{animation:cintila 2.4s ease-in-out infinite}
  .lirio-brilho .brilho span:nth-child(2){animation-delay:.6s}
  .lirio-brilho .brilho span:nth-child(3){animation-delay:1.2s}
}
@keyframes cintila{
  0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}
  50%{opacity:1;transform:scale(1) rotate(90deg)}
}

/* ---------------------------------------------------------------------
   O lírio e o mascote soltos ao redor da foto da abertura.
   Cada um mora dentro de um .palco__solto, que é o que se arrasta.
   A animação fica na imagem de dentro, para não brigar com o arrasto.
   Para mudar o ponto de partida de cada um, mexa no top, left, right
   e bottom dos dois blocos abaixo.
   --------------------------------------------------------------------- */
.palco__solto{
  position:absolute;touch-action:none;cursor:grab;
  translate:var(--dx,0px) var(--dy,0px);
}
.palco__solto:active{cursor:grabbing}
.palco__solto--lirio{z-index:5;top:11%;left:2%;width:clamp(96px,23%,140px)}
.palco__solto--mascote{z-index:4;right:1%;bottom:-13%;width:min(32%,142px)}

.palco__lirio{width:100%}
@media (prefers-reduced-motion: no-preference){
  .palco__lirio{animation:entrada-palco 800ms cubic-bezier(.22,1,.36,1) 220ms both, lirio-balanca 6s ease-in-out 1s infinite}
}

/* Mascote flutuando na abertura */
.palco__mascote{width:100%;transform:rotate(7deg)}
@media (prefers-reduced-motion: no-preference){
  .palco__mascote{
    animation:entrada-mascote 900ms cubic-bezier(.22,1,.36,1) 300ms both,
              flutua 4.5s ease-in-out 1.2s infinite;
  }
}

/* A dica só aparece para quem está com o mouse em cima do palco */
.palco__dica{
  position:absolute;z-index:6;left:0;bottom:-2.4rem;margin:0;
  font-size:var(--t-mini);color:var(--texto);
  opacity:0;transition:opacity var(--transicao);pointer-events:none;
}
.palco:hover .palco__dica,.palco:focus-within .palco__dica{opacity:.85}
@media (hover:none){.palco__dica{display:none}}
@keyframes flutua{
  0%,100%{transform:translateY(0) rotate(7deg)}
  50%{transform:translateY(-12px) rotate(4deg)}
}

/* ---------------------------------------------------------------------
   Tira rolante com as vantagens
   --------------------------------------------------------------------- */
.tira-rolante{background:var(--rosa);border-block:var(--contorno);overflow:hidden;padding-block:.9rem}
.tira-rolante__linha{
  display:flex;gap:2.6rem;width:max-content;
  font-family:var(--fonte-titulo);font-weight:700;font-size:1.05rem;color:var(--branco);white-space:nowrap;
}
.tira-rolante__linha span{display:inline-flex;align-items:center;gap:2.6rem}
.tira-rolante__linha span::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--bege);flex-shrink:0}
@media (prefers-reduced-motion: no-preference){
  .tira-rolante__linha{animation:rola 32s linear infinite}
}
@keyframes rola{to{transform:translateX(-50%)}}

/* ---------------------------------------------------------------------
   Números com lírio
   --------------------------------------------------------------------- */
.numeros__lirio{width:clamp(56px,8vw,78px);margin:0 auto var(--e-3)}
@media (prefers-reduced-motion: no-preference){
  .numeros__grade > div:nth-child(1) .numeros__lirio{animation:lirio-balanca 5s ease-in-out infinite}
  .numeros__grade > div:nth-child(2) .numeros__lirio{animation:lirio-balanca 5s ease-in-out .5s infinite}
  .numeros__grade > div:nth-child(3) .numeros__lirio{animation:lirio-balanca 5s ease-in-out 1s infinite}
  .numeros__grade > div:nth-child(4) .numeros__lirio{animation:lirio-balanca 5s ease-in-out 1.5s infinite}
}

/* ---------------------------------------------------------------------
   Vantagens, bilhete menor e flutuando
   --------------------------------------------------------------------- */
.vantagens__titulo{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-5)}
.vantagens__titulo h2{margin-bottom:0}
.vantagens__interno .bilhete{
  margin:0;max-width:26rem;
  padding:var(--e-4) var(--e-5);font-size:var(--t-mini);
}
.vantagens__interno .bilhete p{font-size:var(--t-mini)}
@media (prefers-reduced-motion: no-preference){
  .vantagens__interno .bilhete{animation:bilhete-flutua 6s ease-in-out infinite}
}
@media(max-width:980px){
  .vantagens__interno .bilhete{max-width:none}
}
@keyframes bilhete-flutua{
  0%,100%{transform:rotate(-1.4deg) translateY(0)}
  50%{transform:rotate(-2.6deg) translateY(-9px)}
}

/* ---------------------------------------------------------------------
   Parceiros com logo
   --------------------------------------------------------------------- */
.parceiros__lista{gap:clamp(1.5rem,3.5vw,3.2rem);align-items:center}
.parceiros__lista li{opacity:1}
.parceiros__lista img{
  height:30px;width:auto;
  filter:grayscale(1);opacity:.72;
  transition:filter var(--transicao),opacity var(--transicao),transform var(--transicao);
}
/* Logos de duas linhas pedem mais altura para ficarem do mesmo peso visual */
.parceiros__lista .duas-linhas img{height:44px}
.parceiros__lista li:hover img{filter:none;opacity:1;transform:translateY(-2px)}

/* ---------------------------------------------------------------------
   Citação com lírio
   --------------------------------------------------------------------- */
.citacao__interno{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.citacao__lirio{width:clamp(110px,16vw,190px);flex-shrink:0;margin-top:.15em}
@media(max-width:780px){.citacao__interno{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   Título com lírio ao lado
   --------------------------------------------------------------------- */
.titulo-lirio{display:flex;align-items:center;gap:var(--e-4);flex-wrap:wrap}
.titulo-lirio h3{margin:0}

/* =====================================================================
   Páginas novas: formulários, blog, feed e agradecimento
   ===================================================================== */

/* ---------- Formulário em página ---------- */
.form-pagina{
  max-width:38rem;background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:clamp(1.6rem,3vw,2.4rem);
}
.form-pagina .campo{margin-bottom:var(--e-4)}
.form-pagina textarea{
  width:100%;min-height:8rem;padding:.75rem .9rem;font-family:var(--fonte-corpo);font-size:1rem;
  color:var(--preto);background:var(--cinza-fundo);border:1.5px solid rgba(22,22,22,.25);
  border-radius:var(--raio-p);resize:vertical;
}
.form-pagina textarea:focus{border-color:var(--rosa);background:var(--branco);outline:none}
.consentimento{display:flex;gap:var(--e-3);align-items:flex-start;font-size:var(--t-mini);color:var(--texto);margin-block:var(--e-5)}
.consentimento input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--rosa)}
.form-pagina .btn{width:100%}

/* Campo de arquivo, usado hoje só no currículo da página de vagas.
   O navegador desenha um botão cinza padrão dentro dele, então aqui a
   gente veste esse botão com o adesivo da casa. */
.campo input[type="file"]{
  padding:.55rem .6rem;cursor:pointer;
}
.campo input[type="file"]::file-selector-button{
  font-family:var(--fonte-titulo);font-size:.9rem;font-weight:600;color:var(--preto);
  background:var(--bege);border:1.5px solid var(--preto);border-radius:var(--raio-p);
  box-shadow:2px 2px 0 var(--preto);padding:.45rem .9rem;margin-right:.75rem;cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease;
}
.campo input[type="file"]:hover::file-selector-button{
  transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--preto);
}
.campo input[type="file"]:active::file-selector-button{
  transform:translate(1px,1px);box-shadow:1px 1px 0 var(--preto);
}
.em-construcao{
  background:var(--bege-vidro);border:1.5px dashed var(--bege);border-radius:var(--raio-m);
  padding:var(--e-4) var(--e-5);font-size:var(--t-mini);color:#6b5330;margin-top:var(--e-5);
}
.em-construcao p:last-child{margin-bottom:0}
.em-construcao b{color:var(--preto)}

/* ---------- Blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-5);margin-top:var(--e-6)}
.post{
  display:flex;flex-direction:column;background:var(--branco);border:var(--contorno);
  border-radius:var(--raio-g);box-shadow:var(--sombra);overflow:hidden;
  color:var(--preto);text-decoration:none;
  transition:transform var(--transicao),box-shadow var(--transicao);
}
.post:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra-hover);color:var(--preto)}
.post__capa{aspect-ratio:16/10;background:var(--rosa-claro);border-bottom:var(--contorno);display:flex;align-items:center;justify-content:center}
.post__capa .lirio{width:52%;max-width:150px}
.post__corpo{padding:var(--e-5);display:flex;flex-direction:column;flex:1}
.post__etiqueta{
  align-self:flex-start;background:var(--rosa-claro);border:var(--contorno);border-radius:var(--raio-pilula);
  padding:.2em .8em;font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;margin-bottom:var(--e-3);
}
.post h3{font-size:1.15rem;margin-bottom:var(--e-2)}
.post p{color:var(--texto);font-size:var(--t-pequeno);margin-bottom:var(--e-4)}
.post__data{margin-top:auto;font-size:var(--t-mini);color:var(--texto)}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.posts{grid-template-columns:1fr}}

/* ---------- Feed do Instagram ---------- */
.feed{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--e-4);margin-top:var(--e-5)}
.feed__item{
  aspect-ratio:1;border:var(--contorno);border-radius:var(--raio-m);overflow:hidden;
  background:var(--rosa-claro);display:flex;align-items:center;justify-content:center;
  position:relative;transition:transform var(--transicao),box-shadow var(--transicao);
}
.feed__item:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra)}
.feed__item > picture:not(.lirio),.feed__item > picture:not(.lirio) img{display:block;width:100%;height:100%;object-fit:cover}
.feed__item--convite{
  flex-direction:column;gap:var(--e-3);background:var(--rosa-claro);
  text-decoration:none;color:var(--preto);text-align:center;
  padding:var(--e-5) var(--e-4);overflow:visible;
}
.feed__item--convite .lirio{width:46%;max-width:92px;height:auto;flex:none}
.feed__item--convite .lirio img{width:100%;height:auto;object-fit:contain}
.feed__item--convite span{font-family:var(--fonte-titulo);font-weight:600;font-size:var(--t-pequeno);line-height:1.3}
.feed__aviso{font-size:var(--t-mini);color:var(--texto);margin-top:var(--e-4)}
@media(max-width:780px){.feed{grid-template-columns:1fr 1fr}}

/* ---------- Página de agradecimento ---------- */
.agradecimento{text-align:center;padding-block:clamp(3rem,7vw,5.5rem)}
.agradecimento h1{max-width:16ch;margin-inline:auto}
.agradecimento > .container > p{max-width:48ch;margin-inline:auto;color:var(--texto)}
.envelope{width:min(60%,240px);margin:0 auto var(--e-6)}
.envelope .corpo{fill:var(--rosa-claro);stroke:var(--preto);stroke-width:3;stroke-linejoin:round}
.envelope .aba{fill:var(--rosa);stroke:var(--preto);stroke-width:3;stroke-linejoin:round}
.envelope .carta{fill:var(--branco);stroke:var(--preto);stroke-width:3;stroke-linejoin:round}
.envelope .certo{fill:none;stroke:var(--rosa-escuro);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion: no-preference){
  /* A cartinha nasce escondida atrás do envelope e sobe até aparecer.
     Antes ela começava só 26 pixels abaixo do lugar final, já visível no
     ar, e o movimento não lia como "carta saindo do envelope". Agora ela
     começa em 64, que é o suficiente para ficar inteira atrás do corpo
     do envelope, e sobe de lá. */
  .envelope .carta{animation:carta-sobe 1.3s cubic-bezier(.22,1,.36,1) .35s both}
  /* A marca de confirmação só é desenhada depois que a carta assenta. */
  .envelope .certo{stroke-dasharray:60;stroke-dashoffset:60;animation:risca 650ms ease-out 1.5s both}
  .envelope{animation:flutua-envelope 5s ease-in-out 2.4s infinite}
  .envelope .faisca{animation:cintila 2.2s ease-in-out 2s infinite}
  .envelope .faisca:nth-of-type(2){animation-delay:2.5s}
  .envelope .faisca:nth-of-type(3){animation-delay:3s}
}
@keyframes carta-sobe{
  from{transform:translateY(64px)}
  to{transform:translateY(0)}
}
@keyframes risca{to{stroke-dashoffset:0}}
@keyframes flutua-envelope{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

/* ---------- Newsletter ---------- */
.assinatura{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.assinatura .inclui{margin-top:var(--e-4)}
@media(max-width:860px){.assinatura{grid-template-columns:1fr}}

/* ---------- Blog, filtros ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:var(--e-3);margin-bottom:var(--e-6)}
.filtros .pilula{font-size:var(--t-mini)}

/* ---------- Agendamento ---------- */
.agendamento{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,4vw,3rem);align-items:start}
.agendamento .form-pagina{max-width:none}
.agendamento .form-pagina h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin-bottom:var(--e-5)}
.agendamento__resumo .vaso{box-shadow:none}
.agendamento__resumo h2{font-size:clamp(1.3rem,2.4vw,1.6rem)}
@media(max-width:900px){.agendamento{grid-template-columns:1fr}}

.horarios{display:flex;flex-wrap:wrap;gap:var(--e-3)}
.hora{position:relative}
.hora input{position:absolute;opacity:0;width:0;height:0}
.hora span{
  display:inline-block;padding:.55em 1.1em;border:var(--contorno);border-radius:var(--raio-pilula);
  background:var(--branco);box-shadow:var(--sombra);cursor:pointer;
  font-family:var(--fonte-titulo);font-weight:600;font-size:var(--t-pequeno);
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao),color var(--transicao);
}
.hora span:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra-hover)}
.hora input:checked + span{background:var(--rosa);color:var(--branco)}
.hora input:focus-visible + span{outline:3px solid var(--rosa-escuro);outline-offset:3px}

/* Passos sem a trilha pontilhada, usados nas páginas de agendamento */
.passos--simples{margin-top:var(--e-6)}
.passos--simples .passo:nth-child(n){padding-top:0}

/* =====================================================================
   Página Ferramentas da Lily
   ===================================================================== */
.ferramentas{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--e-5);margin-top:var(--e-5);align-items:stretch}
.ferramenta{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:center;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
  padding:clamp(1.6rem,2.6vw,2.4rem);
  transition:transform var(--transicao),box-shadow var(--transicao);
}
.ferramenta:hover{transform:translate(-2px,-2px);box-shadow:var(--sombra-hover)}
.ferramenta__lirio{width:clamp(72px,9vw,104px);flex-shrink:0;align-self:start}
.ferramenta__corpo h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-block:var(--e-3) var(--e-2)}
.ferramenta__corpo p{color:var(--texto);margin-bottom:var(--e-5)}
@media (prefers-reduced-motion: no-preference){
  .ferramenta:nth-child(odd) .ferramenta__lirio{animation:lirio-balanca 6s ease-in-out infinite}
  .ferramenta:nth-child(even) .ferramenta__lirio{animation:lirio-balanca 6s ease-in-out 1.4s infinite}
}
@media(max-width:900px){.ferramentas{grid-template-columns:1fr}}
@media(max-width:560px){
  .ferramenta{grid-template-columns:1fr}
  .ferramenta__lirio{width:84px}
}

/* =====================================================================
   Tabela de serviços avulsos
   ===================================================================== */
.avulsos__controles{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:var(--e-4);margin-bottom:var(--e-5);
}
.avulsos__busca{flex:1 1 22rem;max-width:30rem}
.avulsos__busca input{
  width:100%;padding:.75rem .9rem;font-family:var(--fonte-corpo);font-size:1rem;color:var(--preto);
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-pilula);
}
.avulsos__busca input:focus{outline:3px solid var(--rosa);outline-offset:2px}
.avulsos__contagem{font-size:var(--t-mini);color:var(--texto);margin:0 0 .5rem}

.avulsos__filtros{margin-bottom:var(--e-5)}
.avulsos__filtros .chip{font-size:var(--t-mini)}

.avulsos__rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}
.avulsos{
  width:100%;border-collapse:separate;border-spacing:0;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);overflow:hidden;
}
.avulsos th{
  text-align:left;font-family:var(--fonte-titulo);font-weight:700;font-size:var(--t-pequeno);
  background:var(--rosa-claro);border-bottom:var(--contorno);padding:.9rem 1.1rem;white-space:nowrap;
}
.avulsos td{padding:.9rem 1.1rem;border-bottom:1px solid rgba(22,22,22,.1);vertical-align:middle}
.avulsos tr:last-child td{border-bottom:none}
.avulsos tbody tr:not(.avulsos__grupo):hover td{background:var(--rosa-vidro)}

.avulsos__grupo td{
  background:var(--cinza-fundo);border-block:1px solid rgba(22,22,22,.14);
  font-family:var(--fonte-titulo);font-weight:700;font-size:var(--t-pequeno);
  color:var(--rosa-escuro);letter-spacing:.01em;padding:.7rem 1.1rem;
}
.avulsos__nome{display:block;font-weight:500;line-height:1.4}
.avulsos__codigo{display:block;font-size:var(--t-mini);color:var(--texto);margin-top:.15rem;text-transform:uppercase;letter-spacing:.04em}
.avulsos__unidade{font-size:var(--t-mini);color:var(--texto);white-space:nowrap}
.avulsos__preco{font-family:var(--fonte-titulo);font-weight:700;color:var(--rosa-escuro);white-space:nowrap}
.avulsos__acao{text-align:right;white-space:nowrap}
.avulsos__acao .btn{box-shadow:2px 2px 0 var(--preto)}
.avulsos__acao .btn:hover{box-shadow:4px 4px 0 var(--preto)}

.avulsos__vazio{margin-top:var(--e-5);color:var(--texto);max-width:var(--medida)}
.avulsos__notas{margin-top:var(--e-7);max-width:44rem}
.avulsos__notas h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin-bottom:var(--e-4)}
.avulsos__notas .nota{margin-top:var(--e-4)}

/* No celular a tabela vira uma lista de cartões */
@media(max-width:780px){
  .avulsos__rolagem{overflow:visible}
  .avulsos,.avulsos tbody,.avulsos tr{display:block;width:100%}
  .avulsos td{display:block;width:auto}
  .avulsos{border:none;background:none;overflow:visible}
  .avulsos thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .avulsos tbody tr:not(.avulsos__grupo){
    display:flex;flex-wrap:wrap;
    background:var(--branco);border:var(--contorno);border-radius:var(--raio-m);
    box-shadow:var(--sombra);padding:var(--e-4);margin-bottom:var(--e-4);
  }
  .avulsos td.avulsos__servico{flex:1 0 100%}
  .avulsos td.avulsos__preco{order:2}
  .avulsos td.avulsos__unidade{order:3}
  .avulsos td.avulsos__acao{order:4;flex:1 0 100%}
  .avulsos tbody tr:not(.avulsos__grupo):hover td{background:none}
  .avulsos td{border:none;padding:0}
  .avulsos td.avulsos__unidade,.avulsos td.avulsos__preco{display:inline-block;margin-top:.5rem;vertical-align:baseline}
  .avulsos td.avulsos__preco{margin-right:.55rem}
  .avulsos td.avulsos__preco::after{content:"·";margin-left:.55rem;color:rgba(22,22,22,.3);font-weight:400}
  .avulsos__acao{text-align:left;margin-top:var(--e-4)}
  .avulsos__acao .btn{width:100%;text-align:center}
  .avulsos__grupo td{
    background:none;border:none;padding:var(--e-5) 0 var(--e-3);
    font-size:1rem;color:var(--preto);
  }
  .avulsos__controles{flex-direction:column;align-items:stretch;gap:var(--e-3)}
  .avulsos__busca{flex:none;max-width:none}
  .avulsos__contagem{margin:0}
}

/* ---------- Faixa de investimento, os lírios miúdos ---------- */
.faixa{display:inline-flex;align-items:center;gap:3px;vertical-align:middle}
.faixa__lirio{width:16px;height:16px;fill:var(--rosa);flex-shrink:0}
.faixa__lirio--vazio{fill:rgba(22,22,22,.16)}
.avulsos__legenda{
  display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;
  font-size:var(--t-mini);color:var(--texto);
  max-width:56rem;margin-bottom:var(--e-5);
}
.avulsos__legenda .faixa{margin-left:.3rem}
.palco__solto.voltando{transition:translate 400ms cubic-bezier(.22,1,.36,1)}
.palco__solto.arrastando{z-index:9}

/* ---------- Questionário pré-consulta ---------- */
.form-pagina__secao{
  font-family:var(--fonte-titulo);font-weight:700;
  font-size:clamp(1.15rem,2vw,1.4rem);color:var(--rosa-escuro);
  margin:var(--e-7) 0 var(--e-5);
  padding-top:var(--e-5);border-top:1px solid rgba(22,22,22,.12);
}
.form-pagina__secao--primeira{margin-top:0;padding-top:0;border-top:none}
.obrigatorio{color:var(--rosa-escuro)}

.escolhas{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-3) var(--e-4)}
.escolhas--lista{grid-template-columns:1fr;gap:var(--e-3)}
.escolha{display:flex;align-items:center;gap:var(--e-3);cursor:pointer;line-height:1.4}
.escolha input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--rosa);cursor:pointer}
.escolha span{font-size:var(--t-pequeno)}
.escolha:hover span{color:var(--rosa-escuro)}
.escolha input:focus-visible{outline:3px solid var(--rosa-escuro);outline-offset:2px}
@media(max-width:560px){.escolhas{grid-template-columns:1fr}}

/* Com o questionário o formulário ficou longo, então o resumo acompanha a rolagem */
@media(min-width:901px){
  .agendamento__resumo--fixo{position:sticky;top:calc(var(--altura-cabecalho) + var(--e-5))}
}

/* ---------- Contagem de posts do blog ---------- */
.blog__contagem{font-size:var(--t-mini);color:var(--texto);margin:calc(var(--e-5) * -1 + 0.25rem) 0 var(--e-5)}
.post[hidden]{display:none}

/* =====================================================================
   Página de contato
   ===================================================================== */
.contato{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.contato .form-pagina{max-width:none}
.contato__dados{display:flex;flex-direction:column;gap:var(--e-5)}
.contato__dados .vaso{box-shadow:none}
.contato__dados .nota{margin-top:var(--e-5);padding-top:var(--e-4);border-top:1px solid rgba(22,22,22,.12)}
.contato__dados h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin-bottom:var(--e-5)}
.contato__item{margin-bottom:var(--e-4);color:var(--texto);line-height:1.6}
.contato__item strong{
  display:block;font-family:var(--fonte-titulo);font-weight:700;
  font-size:var(--t-mini);color:var(--preto);margin-bottom:.1rem;
}
.contato__item a{color:var(--rosa-escuro)}
@media(min-width:901px){.contato__dados{position:sticky;top:calc(var(--altura-cabecalho) + var(--e-5))}}
@media(max-width:900px){.contato{grid-template-columns:1fr}}

/* ---------- Mapa sob demanda ---------- */
.mapa{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:var(--rosa-claro);border:var(--contorno);border-radius:var(--raio-g);
}
.mapa__aviso{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--e-3);text-align:center;padding:var(--e-5);
}
.mapa__aviso p{margin:0;color:var(--texto);font-size:var(--t-pequeno)}
.mapa__aviso p strong{color:var(--preto)}
.mapa__aviso .nota{max-width:26rem}
.mapa__aviso .grupo-botoes{margin-top:var(--e-3);justify-content:center}
.mapa__pino{width:44px;height:44px}
.mapa iframe{display:block;width:100%;height:100%;border:0}
.mapa--carregado{background:var(--cinza-fundo)}
@media (prefers-reduced-motion: no-preference){
  .mapa__pino{animation:pino-pula 3.4s ease-in-out infinite}
}
@keyframes pino-pula{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* ---------- Convite do banco de talentos ---------- */
.convite-talentos{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.convite-talentos__lirio{width:min(100%,260px);justify-self:center}
@media(max-width:860px){
  .convite-talentos{grid-template-columns:1fr}
  .convite-talentos__lirio{width:150px;justify-self:start}
}

/* =====================================================================
   AVISO DE COOKIES
   Um cartão adesivo no rodapé da tela. Ele não tranca o site: a pessoa
   pode ler, rolar e navegar com ele aberto.
   ===================================================================== */
.aviso-cookies{
  position:fixed;left:50%;bottom:clamp(.75rem,2vw,1.5rem);transform:translateX(-50%);
  z-index:60;width:min(100% - 1.5rem,62rem);
  display:grid;grid-template-columns:1fr auto;gap:clamp(1rem,2.5vw,2rem);align-items:center;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:clamp(1rem,2.2vw,1.4rem) clamp(1.1rem,2.5vw,1.6rem);
}
.aviso-cookies__titulo{
  font-family:var(--fonte-titulo);font-weight:700;font-size:1.05rem;color:var(--preto);
  margin:0 0 .35rem;
}
.aviso-cookies__texto p:last-child{
  margin:0;font-size:var(--t-mini);color:var(--texto);line-height:1.55;
}
.aviso-cookies__texto a{color:var(--rosa-escuro)}
.aviso-cookies__botoes{display:flex;gap:var(--e-3);flex-shrink:0}
.aviso-cookies__botoes .btn{white-space:nowrap}

@media (prefers-reduced-motion: no-preference){
  .aviso-cookies{animation:aviso-cookies-entra .35s ease both}
  .aviso-cookies--saindo{animation:aviso-cookies-sai .25s ease both}
}
@keyframes aviso-cookies-entra{
  from{opacity:0;transform:translate(-50%,1.2rem)}
  to{opacity:1;transform:translate(-50%,0)}
}
@keyframes aviso-cookies-sai{
  from{opacity:1;transform:translate(-50%,0)}
  to{opacity:0;transform:translate(-50%,1.2rem)}
}

@media(max-width:780px){
  .aviso-cookies{grid-template-columns:1fr;gap:var(--e-4)}
  .aviso-cookies__botoes{flex-direction:column}
  .aviso-cookies__botoes .btn{width:100%}
}

/* A escolha atual, mostrada na Política de Cookies */
.escolha-cookies{
  background:var(--rosa-claro);border:var(--contorno);border-radius:var(--raio-m);
  padding:var(--e-4) var(--e-5);margin-block:var(--e-5);
}
.escolha-cookies p{margin:0 0 var(--e-3);font-size:var(--t-mini);color:var(--preto)}

/* =====================================================================
   CALENDÁRIO DAS CONSULTORIAS
   Os dias vêm da agenda de verdade da Lily. Quem desenha é o
   assets/js/agendamento.js.
   ===================================================================== */
.calendario{margin-bottom:var(--e-5)}
/* O atributo hidden é fraco: qualquer regra de classe com display vence
   ele. Sem esta linha, as setas do mês e a grade apareciam mesmo quando
   o calendário estava escondido, por exemplo quando a agenda falha. */
.calendario [hidden]{display:none}
.calendario__carregando{
  font-size:var(--t-mini);color:var(--texto);background:var(--cinza-fundo);
  border:1.5px dashed rgba(22,22,22,.25);border-radius:var(--raio-m);
  padding:var(--e-4) var(--e-5);margin:0;
}
.calendario__carregando--erro{
  background:var(--bege-vidro,#fff4e6);border-style:solid;border-color:var(--bege);color:#6b5330;
}
.calendario__carregando a{color:var(--rosa-escuro);font-weight:600}

.calendario__mes{
  display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);
  margin-bottom:var(--e-4);
}
.calendario__titulo{
  font-family:var(--fonte-titulo);font-weight:700;font-size:1.05rem;color:var(--preto);
}
.calendario__seta{
  width:2.4rem;height:2.4rem;flex-shrink:0;
  font-size:1.3rem;line-height:1;color:var(--preto);
  background:var(--branco);border:1.5px solid var(--preto);border-radius:var(--raio-p);
  box-shadow:2px 2px 0 var(--preto);cursor:pointer;
}
.calendario__seta:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--preto)}
.calendario__seta:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--preto)}
.calendario__seta:disabled{opacity:.3;cursor:default;box-shadow:none}

.calendario__grade{
  display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;
}
.calendario__cabeca{
  font-size:var(--t-mini);color:var(--texto);text-align:center;padding-bottom:.35rem;
}
.calendario__dia{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-family:var(--fonte-corpo);font-size:.95rem;color:var(--preto);
  background:var(--branco);border:1.5px solid var(--preto);border-radius:var(--raio-p);
  cursor:pointer;padding:0;
}
.calendario__dia:hover{background:var(--rosa-claro)}
.calendario__dia--escolhido{
  background:var(--rosa);color:var(--branco);font-weight:600;
  box-shadow:2px 2px 0 var(--preto);
}
.calendario__dia--indisponivel{
  background:transparent;border-color:transparent;color:rgba(22,22,22,.22);cursor:default;
}
.calendario__dia--indisponivel:hover{background:transparent}

.calendario__horas{margin-top:var(--e-5);margin-bottom:0}

@media(max-width:420px){
  .calendario__dia{font-size:.85rem}
  .calendario__grade{gap:.25rem}
}

/* =====================================================================
   PÁGINA DE UM POST DO BLOG
   Gerada pelo ferramentas/blog-do-notion.py a partir do Notion.
   ===================================================================== */
.migalhas{font-size:var(--t-mini);color:var(--texto);margin-bottom:var(--e-3)}
.migalhas a{color:var(--rosa-escuro)}
.post__assinatura{font-size:var(--t-mini);color:var(--texto);margin-top:var(--e-3)}

.post-texto{
  max-width:40rem;margin-inline:auto;
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:clamp(1.6rem,4vw,3rem);
}
.post-texto h2{font-size:clamp(1.3rem,2.6vw,1.7rem);margin:var(--e-6) 0 var(--e-4)}
.post-texto h3{font-size:clamp(1.1rem,2.2vw,1.3rem);margin:var(--e-5) 0 var(--e-3)}
.post-texto h2:first-child,.post-texto h3:first-child{margin-top:0}
.post-texto p{margin-bottom:var(--e-4);line-height:1.75}
.post-texto ul,.post-texto ol{margin:0 0 var(--e-4) 1.2rem;line-height:1.75}
.post-texto li{margin-bottom:.4rem}
.post-texto a{color:var(--rosa-escuro);text-decoration:underline}
.post-texto strong{color:var(--preto)}
.post-texto code{
  font-size:.92em;background:var(--cinza-fundo);border-radius:var(--raio-p);padding:.1rem .35rem;
}
.post-texto blockquote{margin:var(--e-5) 0}
.post-texto .aviso p:last-child{margin-bottom:0}
.post-texto .divisor{
  border:0;border-top:2px dotted var(--rosa);margin:var(--e-6) 0;
}
.post-imagem{margin:var(--e-5) 0}
.post-imagem img{
  width:100%;height:auto;display:block;
  border:var(--contorno);border-radius:var(--raio-m);
}
.post-imagem figcaption{
  font-size:var(--t-mini);color:var(--texto);text-align:center;margin-top:var(--e-3);
}

/* A capa que vem da página do Notion, no cartão e na abertura do post */
.post__foto{width:100%;height:100%;object-fit:cover;display:block}
.post-abertura{
  max-width:40rem;margin:0 auto var(--e-5);
}
.post-abertura img{
  width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;display:block;
  border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
}

/* A seção das redes some enquanto não houver foto nenhuma na tabela do
   Notion. Sem isto o visitante veria título, texto e botões com um
   buraco no meio, que é pior do que não ter a seção. */
#instagram:not(:has(.feed__item)){display:none}

/* A capa que vem da página do Notion, no cartão e na abertura do post */
.post__foto{width:100%;height:100%;object-fit:cover;display:block}
.post-abertura{
  max-width:40rem;margin:0 auto var(--e-5);
}
.post-abertura img{
  width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;display:block;
  border:var(--contorno);border-radius:var(--raio-g);box-shadow:var(--sombra);
}


/* A tabela de planos sem os valores à mostra. A proposta passa a ser
   feita pela Lily, olhando o caso, então a célula mostra só a estrela
   que leva ao rodapé. */
.planos__reservado{text-align:center;color:var(--rosa);font-weight:700;font-size:1.1rem}
.planos__nota{
  font-size:var(--t-mini);color:var(--texto);margin:var(--e-3) 0 0;max-width:46rem;
}

/* ---------- Os três planos de entrada ---------- */
.planos-entrada{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-5);margin-top:var(--e-6);
}
.plano-cartao{
  display:flex;flex-direction:column;gap:var(--e-2);
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:var(--e-5);
}
.plano-cartao h2{font-size:1.375rem;margin:0}
/* Duas linhas reservadas para que o preço dos três cartões fique na
   mesma altura, mesmo quando um dos textos quebra a linha. */
.plano-cartao__quem{color:var(--texto);font-size:var(--t-pequeno);margin:0;min-height:2.8em}
.plano-cartao__preco{
  margin:var(--e-3) 0;font-family:var(--fonte-titulo);color:var(--preto);line-height:1.15;
}
.plano-cartao__preco span{display:block;font-size:var(--t-mini);color:var(--texto);font-weight:400}
.plano-cartao__preco b{font-size:2.25rem;color:var(--rosa-escuro)}
.plano-cartao__extras{
  list-style:none;padding:0;margin:0 0 var(--e-4);
  font-size:var(--t-mini);color:var(--texto);display:grid;gap:.35rem;
}
.plano-cartao__extras li{padding-left:1.1rem;position:relative}
.plano-cartao__extras li::before{content:"+";position:absolute;left:0;color:var(--rosa);font-weight:700}
.plano-cartao .btn{margin-top:auto;text-align:center}

/* ---------- O resultado da calculadora ---------- */
.resultado__subtitulo{
  font-family:var(--fonte-titulo);font-weight:700;color:var(--preto);
  margin:var(--e-5) 0 var(--e-2);font-size:1rem;
}
.resultado__limites,.resultado__incluso,.resultado__adicionais{
  list-style:none;padding:0;margin:0;display:grid;gap:.4rem;font-size:var(--t-pequeno);
}
.resultado__limites{
  grid-template-columns:repeat(2,1fr);gap:.5rem var(--e-4);margin-top:var(--e-4);
}
.resultado__limites li,.resultado__incluso li,.resultado__adicionais li{
  padding-left:1.5rem;position:relative;color:var(--texto);
}
.resultado__limites li::before{content:"\2713";position:absolute;left:0;color:var(--rosa);font-weight:700}
.resultado__incluso li::before{content:"\2713";position:absolute;left:0;color:var(--rosa);font-weight:700}
.resultado__adicionais li::before{content:"+";position:absolute;left:0;color:var(--bege-escuro,#c98b45);font-weight:700}
.resultado__incluso{grid-template-columns:repeat(2,1fr);gap:.5rem var(--e-4)}

@media (max-width:860px){
  .planos-entrada{grid-template-columns:1fr;gap:var(--e-4)}
  .resultado__limites,.resultado__incluso{grid-template-columns:1fr}
}

/* O que está incluso, dentro de cada cartão de plano */
.plano-cartao__titulo-lista{
  font-family:var(--fonte-titulo);font-weight:700;color:var(--preto);
  font-size:var(--t-pequeno);margin:var(--e-3) 0 .5rem;
}
.plano-cartao__incluso{
  list-style:none;padding:0;margin:0;display:grid;gap:.35rem;
  font-size:var(--t-mini);color:var(--texto);
}
.plano-cartao__incluso li{padding-left:1.1rem;position:relative}
.plano-cartao__incluso li::before{
  content:"\2713";position:absolute;left:0;color:var(--rosa);font-weight:700;
}

/* A nota da estrelinha, embaixo dos cartões e do resultado */
.planos-entrada__nota{margin-top:var(--e-4)}
.resultado__nota{margin-top:var(--e-4)}

/* ---------- As vantagens, em cartões ---------- */
.vantagens__conjunto{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch;margin-top:var(--e-6);
}
.vantagens__grade{
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--e-4);
}
.vantagem{
  display:flex;align-items:flex-start;gap:var(--e-3);
  background:var(--branco);border:var(--contorno);border-radius:var(--raio-g);
  box-shadow:var(--sombra);padding:var(--e-4);
  transition:transform .18s ease, box-shadow .18s ease;
}
.vantagem:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--preto)}
.vantagem__icone{
  flex:none;width:2.75rem;height:2.75rem;display:grid;place-items:center;
  border:var(--contorno);border-radius:var(--raio-m);
}
.vantagem__icone svg{width:1.5rem;height:1.5rem;display:block}
.vantagem__icone--rosa{background:var(--rosa-claro);color:var(--rosa)}
.vantagem__icone--bege{background:var(--bege);color:var(--bege)}
.vantagem__texto{
  margin:0;font-family:var(--fonte-titulo);font-weight:600;
  font-size:var(--t-pequeno);line-height:1.35;color:var(--preto);
}
/* O bilhete cresce até a altura das quatro pílulas e o texto fica no meio */
.vantagens__bilhete{
  margin:0;max-width:none;align-self:stretch;
  display:flex;align-items:center;
}
.vantagens__bilhete p{font-size:var(--t-corpo);line-height:1.5}

@media (max-width:860px){
  .vantagens__conjunto{grid-template-columns:1fr;gap:var(--e-4)}
  .vantagens__grade{gap:var(--e-3)}
}
@media (max-width:560px){
  .vantagens__grade{grid-template-columns:1fr}
  .vantagem{padding:var(--e-3)}
}
