
/* fontes servidas pelo proprio site (scripts/fontes.py): subset + eixos instanciados.
   Os -fb sao Georgia/Arial com metricas ajustadas para a troca nao mover o layout. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 600;font-display:swap;src:url("/fontes/fraunces.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400;font-display:swap;src:url("/fontes/fraunces-italic.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:300 600;font-display:swap;src:url("/fontes/inter.woff2") format("woff2")}
@font-face{font-family:"Fraunces-fb";src:local("Georgia");size-adjust:109.11%;ascent-override:89.63%;descent-override:23.37%;line-gap-override:0%}
@font-face{font-family:"Inter-fb";src:local("Arial");size-adjust:106.13%;ascent-override:91.28%;descent-override:22.73%;line-gap-override:0%}
:root{
  /* petroleo, escala de 12 passos a partir do #0E4C5C que ele ja usa no Instagram */
  --t1:#F2F7F8; --t2:#E2EEF1; --t3:#C6DDE3; --t4:#A2C6D0; --t5:#7AAAB8;
  --t6:#518D9E; --t7:#2E7387; --t8:#175D72; --t9:#0E4C5C; --t10:#0A3D4A;
  --t11:#0A3541; --t12:#06222A;
  /* bronze */
  --b2:#F6EEDF; --b3:#EADFC9; --b4:#DFCDAA; --b5:#D3BB8C; --b7:#8A6C3E;
  --b8:#7A5F35; --b9:#6B5230;
  /* papel */
  --cream:#FAF6ED; --cream2:#F3ECDF; --cream3:#EBE2D1;
  --ink:#16272C; --ink2:#33484E; --mute:#526469;
  --line:rgba(14,76,92,.12); --line2:rgba(14,76,92,.22);
  --lineinv:rgba(250,246,237,.13); --lineinv2:rgba(250,246,237,.26);
  --on-dark:rgba(250,246,237,.78); --on-dark-2:rgba(250,246,237,.62);

  --serif:'Fraunces','Fraunces-fb',Georgia,serif;
  --sans:'Inter','Inter-fb',Arial,sans-serif;

  /* escala Utopia (operadores com espaco: sem espaco o clamp e invalido) */
  --fs-xxl:clamp(2.1rem, 1.05rem + 3.3vw, 3.8rem);
  --fs-xl:clamp(1.72rem, 1.05rem + 2.1vw, 2.85rem);
  --fs-lg:clamp(1.3rem, 1.05rem + 1vw, 1.8rem);
  --fs-md:clamp(1.1rem, 1.02rem + .4vw, 1.3rem);
  --fs-body:clamp(1rem, .96rem + .22vw, 1.1rem);
  --fs-sm:clamp(.9rem, .87rem + .1vw, .96rem);
  --fs-xs:clamp(.74rem, .72rem + .08vw, .8rem);

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;
  --s8:64px;--s9:96px;--s10:128px;--s11:160px;
  --r-sm:10px;--r-md:16px;--r-lg:22px;--r-full:999px;

  --sh-cta:0 1px 2px rgba(6,34,42,.06),0 4px 10px rgba(6,34,42,.08),0 12px 28px rgba(6,34,42,.10);
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(20px, 5vw, 64px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px;overflow-x:clip}
/* smooth nativo so quando o Lenis NAO esta rodando: os dois juntos travam a rolagem */
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);
  font-size:var(--fs-body);line-height:1.68;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%;display:block;height:auto}
figure,blockquote{margin:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.018em;
  margin:0;font-variation-settings:'opsz' 96,'SOFT' 0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:inherit}
::selection{background:var(--b4);color:var(--t12)}

.wrap{width:min(1200px, 100% - 2*var(--gutter));margin-inline:auto}
:focus-visible{outline:2px solid var(--b5);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--t11);color:var(--cream);
  padding:14px 20px;z-index:200;border-radius:0 0 var(--r-sm) 0}
.skip:focus{left:0}

.eyebrow{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:var(--b8);margin-bottom:var(--s5)}
.escuro .eyebrow{color:var(--b5)}
/* pedido do cliente (28/09 e 30/09): "Atendimento individual" maior e em outra cor.
   Pilula cheia em bronze claro com texto petroleo fundo: contraste 7:1 */
.eyebrow-destaque{display:inline-block;font-size:clamp(.95rem, .88rem + .3vw, 1.12rem);letter-spacing:.16em;
  font-weight:600;padding:12px 24px;border-radius:var(--r-full);background:var(--b5);color:var(--t12)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.18)}
/* "terapia individual" em destaque no link da secao escura */
.indiv-txt .link-seta{font-size:var(--fs-md)}
.indiv-txt .link-seta strong{color:var(--b5);font-weight:600}
/* negritos pedidos pelo cliente dentro do texto corrido */
.cab .lide strong,.como-cab .lide strong{color:var(--t11);font-weight:600}
.separacao strong{color:var(--t11);font-weight:600}
h2{font-size:var(--fs-xl);font-variation-settings:'opsz' 120,'SOFT' 14}
h2 em{font-style:italic;color:var(--t8)}
.escuro h2{color:var(--cream)}
.escuro h2 em{color:var(--b5)}

/* ============ cabecalho ============ */
.topo{position:fixed;inset:0 0 auto 0;z-index:100;padding:16px 0;
  transition:background-color .45s var(--ease),box-shadow .45s var(--ease),padding .45s var(--ease)}
.topo.solido{background:rgba(250,246,237,.97);box-shadow:0 1px 0 var(--line);padding:10px 0}
.topo .wrap{display:flex;align-items:center;gap:var(--s6)}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-height:44px}
/* ajuste do cliente 25/09: logo com mais presenca, nome maior e em negrito */
.marca{gap:14px}
.marca img{width:56px;height:56px}
.marca b{display:block;font-family:var(--serif);font-weight:600;font-size:1.24rem;line-height:1.12;
  letter-spacing:-.005em;
  color:var(--cream);transition:color .45s var(--ease)}
.marca small{display:block;font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--on-dark-2);margin-top:3px;transition:color .45s var(--ease)}
.topo.solido .marca b{color:var(--t11)}
.topo.solido .marca small{color:var(--mute)}
.nav{display:flex;gap:clamp(18px, 1.6vw, 32px)}
.nav a{font-size:var(--fs-sm);text-decoration:none;color:var(--on-dark);position:relative;padding:6px 0;
  transition:color .3s}
.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;
  transition:right .45s var(--ease)}
.nav a:hover::after{right:0}
.nav a:hover{color:var(--cream)}
.topo.solido .nav a{color:var(--ink2)}
.topo.solido .nav a:hover{color:var(--t9)}
.btn-topo{font-size:var(--fs-sm);text-decoration:none;border-radius:var(--r-full);padding:11px 22px;
  background:var(--b7);color:#fff;white-space:nowrap;transition:background-color .3s}
.btn-topo:hover{background:var(--b9)}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:9px;width:44px;height:44px;
  color:var(--cream)}
.topo.solido .menu-btn{color:var(--t11)}
.menu-btn svg{width:26px;height:26px}
/* hamburguer a partir de 1120px: com "Depoimentos" no menu, abaixo disso o nome dele quebrava */
@media(max-width:1120px){
  .marca img{width:46px;height:46px}
  .marca b{font-size:1.06rem} .marca small{font-size:.6rem;letter-spacing:.13em}
  .nav{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);background:var(--t11);
    flex-direction:column;justify-content:center;gap:var(--s5);padding:var(--s8) var(--s7);
    transform:translateX(100%);visibility:hidden;z-index:110;
    transition:transform .5s var(--ease),visibility 0s linear .5s,box-shadow .5s var(--ease)}
  /* sombra so com o menu aberto: fechado, ela vazava como faixa na borda direita da tela */
  .nav.aberto{transform:none;visibility:visible;box-shadow:-30px 0 60px rgba(6,34,42,.25);
    transition:transform .5s var(--ease),visibility 0s,box-shadow .5s var(--ease)}
  .nav a,.topo.solido .nav a{font-family:var(--serif);font-size:1.45rem;color:var(--cream)}
  .menu-btn{display:block;z-index:120}
  .btn-topo{display:none}
  body.menu-aberto .menu-btn{color:var(--cream)}
}

/* ============ botoes ============ */
.acoes{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center}
.cta{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:var(--b7);color:#fff;
  font-weight:500;font-size:var(--fs-sm);padding:17px 30px;border-radius:var(--r-full);box-shadow:var(--sh-cta);
  transition:transform .4s var(--ease),background-color .3s}
.cta:hover{background:var(--b9)}
.cta svg{width:19px;height:19px;flex:none}
.cta-fantasma{background:transparent;color:var(--cream);border:1px solid var(--lineinv2);box-shadow:none}
.cta-fantasma:hover{background:rgba(250,246,237,.07);border-color:var(--b5)}
.link-seta{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-sm);font-weight:500;
  color:var(--t9);text-decoration:none;border-bottom:1px solid var(--line2);padding:12px 0 6px;min-height:44px;
  transition:border-color .3s,gap .4s var(--ease)}
.link-seta:hover{border-color:var(--t9);gap:14px}
.escuro .link-seta{color:var(--cream);border-color:var(--lineinv2)}
.escuro .link-seta:hover{border-color:var(--b5)}

/* ============ hero ============ */
.hero{position:relative;background:var(--t11);color:var(--cream);overflow:hidden;
  min-height:clamp(680px,100vh,1000px);display:flex;align-items:center;
  padding:calc(var(--s10) + 12px) 0 var(--s9)}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  /* sombra so atras do texto; a vinheta antiga escurecia 50% justamente em cima da foto */
  background:linear-gradient(to right,rgba(6,34,42,.35) 0%,rgba(6,34,42,.12) 34%,transparent 50%)}
.hero-foto{position:absolute;inset:0 0 0 auto;width:min(52%,880px);z-index:0}
/* ajuste do cliente: degrade da foto mais suave, rampa longa em varias paradas
   (o rosto fica a ~60% da largura da foto, fora da rampa) */
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:58% 22%;
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.06) 6%,rgba(0,0,0,.2) 13%,rgba(0,0,0,.42) 20%,rgba(0,0,0,.66) 27%,rgba(0,0,0,.86) 34%,#000 42%);
          mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.06) 6%,rgba(0,0,0,.2) 13%,rgba(0,0,0,.42) 20%,rgba(0,0,0,.66) 27%,rgba(0,0,0,.86) 34%,#000 42%)}
.hero-foto::after{content:'';position:absolute;inset:auto 0 0 0;height:15%;
  background:linear-gradient(to bottom,transparent,var(--t11) 92%)}
.hero .wrap{position:relative;z-index:2}
/* texto mais afastado da foto (ajuste do cliente) */
.hero-txt{max-width:min(620px,50%)}
.hero h1{font-size:var(--fs-xxl);color:var(--cream);font-variation-settings:'opsz' 144,'SOFT' 20;
  letter-spacing:-.028em}
.hero h1 em{font-style:italic;color:var(--b5);font-variation-settings:'opsz' 144}
.destrincha{margin-top:var(--s5);display:grid;gap:var(--s4);max-width:54ch}
/* ajuste do cliente: os tres paragrafos menores e mais finos */
.destrincha p{color:var(--on-dark);font-size:clamp(1rem, .96rem + .22vw, 1.12rem);font-weight:300;
  line-height:1.7;letter-spacing:.005em}
.destrincha p.forte{color:var(--cream);font-weight:400}
.hero .acoes{margin-top:var(--s6)}
.nota-cta{font-size:var(--fs-xs);color:var(--on-dark-2);margin-top:var(--s4);max-width:46ch}
.assinatura{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--lineinv);
  font-size:var(--fs-xs);color:var(--on-dark-2);letter-spacing:.05em;display:flex;flex-wrap:wrap;gap:6px 18px}
.assinatura b{font-weight:500;color:var(--on-dark)}
/* ajuste do cliente (02/10): nome completo, pontinho bronze entre os itens e
   "25 anos cuidando de pessoas" sempre na linha de baixo */
.assinatura{column-gap:12px}
.assinatura > span:not(.linha)::before{content:"\00B7";color:var(--b5);margin-right:12px}
.assinatura .linha{flex-basis:100%}
@media(max-width:900px){
  .hero{min-height:0;display:block;padding:calc(var(--s9) + 24px) 0 var(--s8)}
  .hero-foto{position:relative;width:100%;height:clamp(340px,54vh,480px);margin-bottom:var(--s6)}
  /* topo da foto quase limpo: o veu antigo (34% + mascara em .4) escurecia a cabeca dele */
  .hero-foto img{object-position:58% 8%;
    -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85) 0,#000 9%,#000 76%,transparent 99%);
            mask-image:linear-gradient(to bottom,rgba(0,0,0,.85) 0,#000 9%,#000 76%,transparent 99%)}
  .hero-foto::after{inset:0 0 auto 0;height:8%;background:linear-gradient(to bottom,rgba(10,53,65,.6),transparent)}
  .hero-txt{max-width:none}
  .hero::before{background:none}
}

/* ============ estrutura das secoes ============ */
.sec{padding:var(--s10) 0;position:relative}
.sec-2{background:var(--cream2)}
.escuro{background:var(--t11);color:var(--cream)}
@media(max-width:760px){.sec{padding:var(--s9) 0}}

/* cabecalho editorial: titulo a esquerda, lide a direita */
.cab{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);align-items:end;margin-bottom:var(--s8)}
.cab .lide{color:var(--mute);font-size:var(--fs-md);line-height:1.6;max-width:42ch;padding-bottom:6px}
.escuro .cab .lide{color:var(--on-dark)}
@media(max-width:860px){.cab{grid-template-columns:1fr;gap:var(--s5);margin-bottom:var(--s7)}}

/* ornamento: fio com ponto de bronze */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:var(--s6)}
.orn::before,.orn::after{content:'';width:56px;height:1px;background:var(--line2)}
.orn i{width:5px;height:5px;border-radius:50%;background:var(--b7)}
.escuro .orn::before,.escuro .orn::after{background:var(--lineinv2)}
.escuro .orn i{background:var(--b5)}

/* ============ para quem ============ */
.vozes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  column-gap:var(--s7)}
.vozes li{border-top:1px solid var(--line2);padding:var(--s6) 0 var(--s7);position:relative}
.vozes li::before{content:'\201C';display:block;font-family:var(--serif);font-size:5.2rem;line-height:1;
  color:var(--b5);height:40px;margin:-6px 0 var(--s3) -3px;font-variation-settings:'opsz' 144}
.vozes q{quotes:none;font-family:var(--serif);font-style:italic;font-size:var(--fs-lg);line-height:1.38;
  color:var(--t10);font-variation-settings:'opsz' 48,'SOFT' 40;display:block;max-width:22ch}
.fecho{text-align:center;margin-top:var(--s8)}
.fecho p{font-family:var(--serif);font-size:var(--fs-lg);color:var(--t9);max-width:30ch;margin-inline:auto;
  line-height:1.38;font-variation-settings:'opsz' 72,'SOFT' 20}
@media(max-width:960px){.vozes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  .vozes{grid-template-columns:1fr}
  .vozes li{padding:var(--s5) 0 var(--s5) 42px}
  .vozes li::before{position:absolute;left:-2px;top:14px;font-size:3.4rem;height:auto;margin:0}
  .vozes q{font-size:1.18rem;max-width:none}
  .fecho{margin-top:var(--s7)}
}

/* ============ alivio ============ */
.alivio{text-align:center;padding:var(--s10) 0}
.alivio blockquote{font-family:var(--serif);font-size:var(--fs-xl);line-height:1.2;color:var(--t11);
  max-width:22ch;margin-inline:auto;font-variation-settings:'opsz' 144,'SOFT' 24;letter-spacing:-.02em}
.alivio blockquote em{font-style:italic;color:var(--b7)}
.alivio p{margin:var(--s5) auto 0;color:var(--mute);max-width:52ch;font-size:var(--fs-md)}

/* ============ secao com foto sangrando (sobre e individual) ============ */
.sangra{position:relative;overflow:hidden;padding:var(--s10) 0;min-height:clamp(620px,86vh,880px);
  display:flex;align-items:center}
.sangra-foto{position:absolute;top:0;bottom:0;width:min(47%,780px);z-index:0}
.sangra-foto img{width:100%;height:100%;object-fit:cover}
.sangra-foto::after{content:'';position:absolute;inset:auto 0 0 0;height:13%;
  background:linear-gradient(to bottom,transparent,var(--t11) 94%)}
/* veu do topo so na borda: mais alto que isso ele cobre a cabeca */
.sangra-foto::before{content:'';position:absolute;inset:0 0 auto 0;height:6%;z-index:1;
  background:linear-gradient(to top,transparent,rgba(10,53,65,.7))}
.sangra .wrap{position:relative;z-index:2}
.sangra-txt{width:min(600px,50%)}
.foto-esq{left:0}
.foto-esq img{-webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.3) 8%,rgba(0,0,0,.85) 20%,#000 32%);
                      mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.3) 8%,rgba(0,0,0,.85) 20%,#000 32%)}
.foto-esq ~ .wrap .sangra-txt{margin-left:auto}
.foto-dir{right:0}
.foto-dir img{-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.3) 8%,rgba(0,0,0,.85) 20%,#000 32%);
                      mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.3) 8%,rgba(0,0,0,.85) 20%,#000 32%)}
@media(max-width:900px){
  .sangra{display:block;min-height:0;padding:0 0 var(--s9)}
  .sangra-foto{position:relative;width:100%;height:clamp(380px,62vh,520px);margin-bottom:var(--s6)}
  .sangra-foto img{-webkit-mask-image:none;mask-image:none}
  .sangra-foto::before{height:5%}
  .sangra-foto::after{height:20%}
  .sangra-txt{width:auto}
}

/* sobre */
.sobre-foto img{object-position:50% 12%}
.sobre-txt h2{margin-bottom:var(--s5)}
.sobre-txt .lead{font-family:var(--serif);font-size:var(--fs-lg);color:var(--cream);line-height:1.4;
  font-variation-settings:'opsz' 60,'SOFT' 20}
.sobre-txt p:not(.lead):not(.eyebrow){margin-top:var(--s5);color:var(--on-dark)}
.citacao{margin-top:var(--s7);padding-left:var(--s5);border-left:1px solid var(--b5);
  font-family:var(--serif);font-style:italic;color:var(--cream);font-size:var(--fs-md);line-height:1.5}
.citacao cite{display:block;font-style:normal;font-family:var(--sans);font-size:var(--fs-xs);
  color:var(--on-dark-2);letter-spacing:.12em;text-transform:uppercase;margin-top:var(--s3)}

/* ============ como funciona ============ */
.como{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s9);align-items:start}
.como-cab{position:sticky;top:120px}
.como-cab p.lide{margin-top:var(--s5);color:var(--mute);font-size:var(--fs-md);max-width:38ch}
.principios{list-style:none;margin:0;padding:0}
.principios li{display:grid;grid-template-columns:56px 1fr;gap:var(--s4);padding:var(--s6) 0;
  border-top:1px solid var(--line2)}
.principios li:last-child{border-bottom:1px solid var(--line2)}
.principios .n{font-family:var(--serif);font-style:italic;color:var(--b7);font-size:var(--fs-md);
  line-height:1.3;font-variation-settings:'opsz' 40}
.principios h3{font-size:var(--fs-lg);color:var(--t11);margin-bottom:var(--s3);
  font-variation-settings:'opsz' 60,'SOFT' 12}
.principios p{color:var(--ink2);max-width:52ch}
.separacao{margin-top:var(--s8);background:var(--cream2);border-radius:var(--r-lg);padding:var(--s7) var(--s7)}
.separacao h3{font-size:var(--fs-md);font-style:italic;color:var(--t10);margin-bottom:var(--s3);
  font-variation-settings:'opsz' 40,'SOFT' 30}
.separacao p{color:var(--ink2)}
@media(max-width:960px){.como{grid-template-columns:1fr;gap:var(--s7)}.como-cab{position:static}}
@media(max-width:560px){
  .principios li{grid-template-columns:1fr;gap:6px}
  .separacao{padding:var(--s6) var(--s5)}
}

/* ============ o caminho ============ */
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);
  column-gap:var(--s6)}
.passos li{position:relative;border-top:1px solid var(--line2);padding-top:var(--s7)}
.passos li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--b7)}
.passos .pn{display:block;font-family:var(--serif);font-size:clamp(2.2rem, 1.6rem + 1.6vw, 3.2rem);
  line-height:1;color:var(--t9);margin-bottom:var(--s5);font-variation-settings:'opsz' 144,'SOFT' 0;
  letter-spacing:-.03em}
.passos h3{font-size:var(--fs-md);color:var(--t11);margin-bottom:var(--s3);font-variation-settings:'opsz' 40}
.passos p{color:var(--ink2);font-size:var(--fs-sm);line-height:1.65}
.passos-cta{margin-top:var(--s8);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5)}
.passos-cta span{color:var(--mute);font-size:var(--fs-sm)}
@media(max-width:960px){.passos{grid-template-columns:repeat(2,1fr);row-gap:var(--s7)}}
@media(max-width:560px){
  .passos{grid-template-columns:1fr;row-gap:0}
  .passos li{border-top:0;border-left:1px solid var(--line2);padding:0 0 var(--s7) var(--s6)}
  .passos li:last-child{padding-bottom:0}
  .passos li::before{top:6px;left:-4px}
  .passos .pn{font-size:2rem;margin-bottom:var(--s3)}
}

/* ============ depoimentos (avaliacoes publicas do Google) ============ */
.nota-google{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--ink2);font-size:var(--fs-md)}
.nota-google b{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--t11);line-height:1}
.estrelas{color:var(--b7);letter-spacing:3px;font-size:1.05rem}
.cab .lide .link-seta{margin-top:var(--s3)}
.depos{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--s7)}
.depo{border-top:1px solid var(--line2);padding-top:var(--s6);display:flex;flex-direction:column;gap:var(--s5)}
.depo blockquote{font-family:var(--serif);font-style:italic;font-size:var(--fs-md);line-height:1.5;
  color:var(--t10);font-variation-settings:'opsz' 40,'SOFT' 40}
.depo blockquote::before{content:'\201C';display:block;font-style:normal;font-size:3.6rem;line-height:.9;
  height:28px;color:var(--b5)}
/* rostos ILUSTRATIVOS (gerados, pessoas que nao existem) a pedido do Davi em 28/09;
   as avaliacoes sao reais. A nota "Imagens ilustrativas" abaixo da grade mantem isso honesto. */
.depo figcaption{display:flex;align-items:center;gap:14px}
.avatar{width:48px;height:48px;border-radius:50%;flex:none;object-fit:cover;background:var(--cream2);
  box-shadow:0 0 0 3px var(--cream),0 0 0 4px var(--b5)}
.depo-nota{margin-top:var(--s7);font-size:var(--fs-xs);color:var(--mute);letter-spacing:.02em}
.depo .quem b{display:block;font-weight:500;color:var(--ink);font-size:var(--fs-sm)}
.depo .quem span{font-size:var(--fs-xs);color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.depos{grid-template-columns:1fr;row-gap:var(--s7)}}

/* ============ formacao ============ */
.numeros{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2);margin-bottom:var(--s8)}
.numeros div{padding:var(--s6) var(--s5);text-align:center}
.numeros div+div{border-left:1px solid var(--line2)}
.numeros b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem, 1.5rem + 2.6vw, 3.6rem);
  line-height:1;color:var(--t9);font-variation-settings:'opsz' 144,'SOFT' 0;letter-spacing:-.03em}
.numeros span{display:block;font-size:var(--fs-xs);color:var(--mute);margin-top:var(--s3);
  letter-spacing:.12em;text-transform:uppercase}
.cred{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s9);align-items:start}
.form-lista{list-style:none;margin:0;padding:0}
.form-lista li{padding:var(--s4) 0;border-bottom:1px solid var(--line);display:grid;
  grid-template-columns:64px 1fr;gap:var(--s4);align-items:baseline}
.form-lista li:first-child{padding-top:0}
.form-lista .ano{font-family:var(--serif);color:var(--b7);font-size:var(--fs-sm);font-variation-settings:'opsz' 30}
.form-lista b{font-weight:500;color:var(--ink);display:block}
.form-lista small{color:var(--mute);font-size:var(--fs-xs)}
.artigo{position:sticky;top:120px;background:var(--t11);color:var(--cream);border-radius:var(--r-lg);
  padding:var(--s8) var(--s7);overflow:hidden}
.artigo::after{content:'';position:absolute;right:-70px;bottom:-90px;width:240px;height:240px;
  border:1px solid var(--lineinv2);border-radius:50%}
.artigo::before{content:'';position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;
  border:1px solid var(--lineinv);border-radius:50%}
.artigo .eyebrow{color:var(--b5)}
.artigo h3{font-size:var(--fs-lg);color:var(--cream);margin-bottom:var(--s4);position:relative;z-index:1;
  font-variation-settings:'opsz' 72,'SOFT' 18}
.artigo p{color:var(--on-dark);font-size:var(--fs-sm);position:relative;z-index:1}
.artigo .ref{margin-top:var(--s5);font-size:var(--fs-xs);color:var(--on-dark-2);letter-spacing:.03em}
@media(max-width:900px){
  .cred{grid-template-columns:1fr;gap:var(--s7)} .artigo{position:static}
  .numeros div{padding:var(--s5) var(--s3)}
}
@media(max-width:520px){.artigo{padding:var(--s7) var(--s5)}.numeros span{letter-spacing:.06em}}

/* ============ individual ============ */
.indiv-foto img{object-position:50% 6%}
.indiv-txt p.corpo{margin-top:var(--s5);color:var(--on-dark)}
.pilulas{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s6)}
.pilulas span{font-size:var(--fs-sm);border:1px solid var(--lineinv2);border-radius:var(--r-full);
  padding:8px 18px;color:var(--on-dark)}
.indiv-txt .acoes{margin-top:var(--s7)}

/* ============ atendimento ============ */
.locais{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--s7)}
.local{border-top:1px solid var(--line2);padding-top:var(--s6)}
.local .rot{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--b8);font-weight:500}
.local h3{font-size:var(--fs-lg);color:var(--t11);margin:var(--s3) 0 var(--s4);font-variation-settings:'opsz' 60,'SOFT' 12}
.local p{color:var(--ink2)}
.local dl{margin:var(--s5) 0 0}
.local dt{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:var(--s4)}
.local dd{margin:4px 0 0;color:var(--ink2)}
.local .link-seta{margin-top:var(--s5)}
@media(max-width:900px){.locais{grid-template-columns:1fr;row-gap:var(--s7)}}

/* ============ faq ============ */
.faq-grade{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s9);align-items:start}
.faq-cab{position:sticky;top:120px}
.faq-cab p{margin-top:var(--s5);color:var(--mute);max-width:34ch}
.faq-cab .link-seta{margin-top:var(--s5)}
.faq details{border-bottom:1px solid var(--line2)}
.faq details:first-child{border-top:1px solid var(--line2)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s5) 48px var(--s5) 0;position:relative;
  font-family:var(--serif);font-size:var(--fs-md);color:var(--t11);font-variation-settings:'opsz' 40,'SOFT' 10;
  transition:color .3s}
.faq summary:hover{color:var(--t8)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:'';position:absolute;right:6px;top:50%;width:14px;height:1.5px;
  background:var(--b7);transition:transform .45s var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq .resp{padding:0 var(--s7) var(--s6) 0;color:var(--ink2)}
.faq details[open] .resp{animation:abre .55s var(--ease)}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.faq-grade{grid-template-columns:1fr;gap:var(--s6)}.faq-cab{position:static}}

/* ============ cta final ============ */
.final{text-align:center;padding:var(--s11) 0;position:relative;overflow:hidden}
.final::before{content:'';position:absolute;left:50%;top:50%;width:min(980px,100%);height:560px;
  transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(211,187,140,.09),transparent)}
.final .wrap{position:relative;z-index:1}
.final h2{font-size:var(--fs-xl);max-width:24ch;margin-inline:auto;font-variation-settings:'opsz' 144,'SOFT' 24}
.final p{margin:var(--s5) auto 0;color:var(--on-dark);max-width:48ch}
.final .acoes{justify-content:center;margin-top:var(--s7)}
@media(max-width:760px){.final{padding:var(--s10) 0}}

/* ============ rodape ============ */
/* ajuste do cliente 25/09: faixa maior, fontes maiores, icone em cada contato */
footer{background:var(--t12);color:var(--on-dark);padding:var(--s9) 0 var(--s7);font-size:var(--fs-sm);line-height:1.6}
.rod{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--s8)}
.rod a{color:var(--on-dark);text-decoration:none;transition:color .3s}
.rod a:hover{color:var(--b5)}
.rod h3{font-family:var(--sans);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;
  color:var(--b5);font-weight:500;margin-bottom:var(--s5)}
.rod-marca{display:flex;gap:16px;align-items:center}
.rod-marca img{width:64px;height:64px;flex:none}
.rod-marca b{display:block;font-family:var(--serif);font-size:1.25rem;color:var(--cream);font-weight:600;
  margin-bottom:4px}
.contatos{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.contatos li{display:flex;align-items:flex-start;gap:12px}
.contatos svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--b5)}
.contatos a{display:inline-flex;min-height:28px;align-items:center}
.rod-legal{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--lineinv);
  display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;
  color:var(--on-dark-2);font-size:var(--fs-xs)}
@media(max-width:860px){.rod{grid-template-columns:1fr;gap:var(--s7)}}

/* ============ whatsapp flutuante: so aparece depois do hero ============ */
.zap{position:fixed;right:20px;bottom:20px;z-index:90;width:54px;height:54px;border-radius:var(--r-full);
  background:#1FA855;display:grid;place-items:center;color:#fff;box-shadow:var(--sh-cta);
  opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;
  transition:opacity .5s var(--ease),transform .5s var(--ease)}
.zap.vis{opacity:1;transform:none;pointer-events:auto}
.zap svg{width:27px;height:27px}

/* ============ reveal: so opacidade e deslocamento (blur em 40 blocos pesa na rolagem) ============ */
/* fade curto: o movimento da a suavidade; fade longo deixa o texto ilegivel no meio
   e o Lighthouse reprova contraste (licao da Dra. Catia) */
.js .rev{opacity:0;transform:translate3d(0,18px,0);transition:opacity .3s linear,transform .9s var(--ease)}
.js .rev.on{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}

@media (prefers-reduced-motion:reduce){
  html:not(.lenis){scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .js .rev{opacity:1;transform:none}
}

/* barra superior (02/10/2026): nada quebra de linha; barra opaca, porque com 3% de transparência
   o texto do topo da página aparecia por trás do nome */
.nav a,.marca b,.marca small{white-space:nowrap}
.topo.solido{background:var(--cream)}

/* ============ blog e páginas legais (gerado por build_blog_velasco.py; o resto acima é o CSS da home) ============ */
/* página atual: petróleo no menu do desktop; na gaveta do celular (fundo escuro) vira bronze */
.topo.solido .nav:not(.aberto) a[aria-current="page"]{color:var(--t9)}
.topo.solido .nav a[aria-current="page"]::after{right:0}
.nav.aberto a[aria-current="page"]{color:var(--b5)}
.pagina{padding-top:clamp(112px,9vw,140px);padding-bottom:clamp(64px,8vw,104px)}
.wrap--estreito{width:min(760px, 100% - 2*var(--gutter))}

.migalha{font-size:var(--fs-sm);color:var(--mute);margin-bottom:14px}
.migalha ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
.migalha li{display:flex;align-items:center}
.migalha li+li::before{content:"/";margin-right:10px;color:var(--b5)}
.migalha a{display:inline-flex;align-items:center;min-height:44px;color:var(--mute);text-decoration:none}
.migalha a:hover{color:var(--t9)}
.migalha [aria-current]{color:var(--ink);padding-block:12px}

.post__categoria{font-size:var(--fs-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--b8);margin:0 0 18px}
.pagina h1{font-size:clamp(2rem,1.45rem + 2.2vw,3rem);line-height:1.1;margin-bottom:20px;color:var(--t11)}
.post__lede{font-size:var(--fs-md);line-height:1.62;color:var(--ink2);margin:0 0 28px}
.post__meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:var(--fs-sm);line-height:1.6;color:var(--mute);padding:16px 0;border-block:1px solid var(--line);margin:0 0 40px}
.post__meta strong{color:var(--ink);font-weight:600}

.article-body h2,.legal h2{font-size:clamp(1.42rem,1.2rem + .95vw,1.9rem);line-height:1.2;margin:clamp(44px,5vw,58px) 0 16px;color:var(--t11)}
.article-body h3,.legal h3{font-size:1.2rem;margin:34px 0 12px;color:var(--t11)}
.article-body p,.article-body li,.legal p,.legal li{color:var(--ink2);line-height:1.8}
.article-body p,.legal p{margin:0 0 1.1em}
.article-body ul,.article-body ol,.legal ul{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:12px}
.article-body li,.legal li{position:relative;padding-left:24px}
.article-body li::before,.legal li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;border:1px solid var(--b7)}
.article-body strong,.legal strong{color:var(--ink);font-weight:600}
.article-body a,.post__autor a,.aviso a,.legal a{color:var(--t8);text-decoration:underline;text-underline-offset:3px}
.article-body a:hover,.legal a:hover{color:var(--b8)}

.article-cta{margin:36px 0;padding:22px 24px;border-radius:var(--r-md);background:var(--b2);border:1px solid var(--b3)}
.article-cta p{margin:0;color:var(--ink2)}
.article-cta a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--b9)}

.post__cta{margin-top:56px;padding:clamp(28px,1.4rem + 2vw,46px);border-radius:var(--r-lg);background:var(--t11);color:var(--on-dark)}
.post__cta h2{color:var(--cream);font-size:clamp(1.5rem,1.25rem + 1vw,2.05rem);line-height:1.18;margin-bottom:14px}
.post__cta p{color:var(--on-dark);line-height:1.72;max-width:56ch;margin:0 0 22px}
.post__cta .cta{margin-bottom:16px}
.post__cta .post__cta-nota{font-size:var(--fs-sm);color:var(--on-dark-2);margin:0}

.article-faq{margin-top:72px}
.article-faq>h2{font-size:clamp(1.5rem,1.25rem + 1vw,2.05rem);margin-bottom:18px;color:var(--t11)}
.article-faq details{border-bottom:1px solid var(--line)}
.article-faq details:first-of-type{border-top:1px solid var(--line)}
.article-faq summary{display:flex;align-items:flex-start;gap:18px;cursor:pointer;list-style:none;padding:22px 0;min-height:44px;font-family:var(--serif);font-size:clamp(1.08rem,1rem + .4vw,1.28rem);font-weight:400;color:var(--t10);line-height:1.34}
.article-faq summary::-webkit-details-marker{display:none}
.article-faq summary::after{content:"";flex:none;margin-left:auto;margin-top:.44em;width:10px;height:10px;border-right:1.5px solid var(--b7);border-bottom:1.5px solid var(--b7);transform:rotate(45deg);transition:transform .35s var(--ease)}
.article-faq details[open] summary::after{transform:rotate(-135deg)}
.article-faq details p{color:var(--ink2);line-height:1.76;max-width:68ch;margin:0;padding:0 40px 24px 0}

.post__autor{display:flex;gap:20px;align-items:flex-start;margin-top:64px;padding:24px;border-radius:var(--r-lg);background:var(--cream2);border:1px solid var(--line)}
.post__autor img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none}
.post__autor p{margin:0 0 8px;color:var(--ink2);font-size:var(--fs-sm);line-height:1.62}
.post__autor .post__autor-nome{font-family:var(--serif);font-size:1.22rem;line-height:1.25;color:var(--t11);margin-bottom:6px}
.post__autor a{display:inline-flex;align-items:center;min-height:44px;font-weight:500;font-size:var(--fs-sm)}
.aviso{margin-top:32px;font-size:var(--fs-sm);color:var(--mute);border-left:2px solid var(--b5);padding:4px 0 4px 16px}
.aviso p{margin:0;line-height:1.68}

.leia-tambem{margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.leia-tambem>h2{font-size:clamp(1.5rem,1.25rem + 1vw,2.05rem);margin-bottom:24px;color:var(--t11)}
.blog-cards{display:grid;gap:16px}
.post-card{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-lg);background:#FFFDF8;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--sh-cta);border-color:var(--b4)}
.post-card__cat{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--b8)}
.post-card h2,.post-card h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.26;color:var(--t11);margin:0}
.post-card p{color:var(--ink2);font-size:var(--fs-sm);line-height:1.62;margin:0}
.post-card time{font-size:.8rem;color:var(--mute);margin-top:auto;padding-top:6px}

.blog__hdr{max-width:760px}
.blog__lede{font-size:var(--fs-md);line-height:1.62;color:var(--ink2);margin:0}
.blog__grid{margin-top:48px}
.blog__cta{margin-top:24px}
.legal .post__meta{margin-bottom:28px}

@media (min-width:700px){
  .blog-cards--3{grid-template-columns:repeat(3,1fr)}
  .blog__grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media (min-width:1000px){.blog__grid{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){.post-card{transition:none}.post-card:hover{transform:none}}
