/* ═════════ FONTE ═════════
   Nunito hospedada aqui mesmo. Antes vinha do Google, o que custava duas
   conexões externas antes de qualquer texto aparecer na tela.
   Arquivo único variável: cobre do peso 200 ao 900 em 39 KB.
   As duas faces "Nunito Fallback" existem só para o intervalo de milissegundos
   entre o texto aparecer e a fonte chegar: elas esticam a fonte do sistema
   até ela ocupar o mesmo espaço da Nunito, para o layout não pular. */
@font-face{
font-family:'Nunito';
src:url(/fontes/nunito.woff2) format('woff2');
font-weight:200 1000;
font-style:normal;
font-display:optional;
}
@font-face{
font-family:'Nunito Fallback';
src:local('Roboto'),local('Helvetica Neue'),local('Helvetica'),local('Arial'),local('Liberation Sans'),local('Arimo'),local('Segoe UI'),local('Noto Sans'),local('DejaVu Sans');
font-weight:100 599;
size-adjust:101%;
ascent-override:100.1%;
descent-override:35.0%;
line-gap-override:0%;
}
@font-face{
font-family:'Nunito Fallback';
src:local('Roboto'),local('Helvetica Neue'),local('Helvetica'),local('Arial'),local('Liberation Sans'),local('Arimo'),local('Segoe UI'),local('Noto Sans'),local('DejaVu Sans');
font-weight:600 1000;
size-adjust:106%;
ascent-override:95.4%;
descent-override:33.3%;
line-gap-override:0%;
}

/* ═════════ TOKENS ═════════ */
:root{
  --magenta:#FF00AE; --laranja:#FF6800; --turquesa:#36ECE2; --roxo:#6C0EF7; --limao:#9ED927;
  --roxo-esc:#4A08AB; --laranja-esc:#E45C00;
  /* neutros quentes — tirados do concreto da fachada real */
  --tinta:#1A1720; --grafite:#5E5860; --cinza:#8F8A8E;
  --branco:#fff; --nevoa:#F5F2EE; --borda:#E7E1DA;
  --fonte:'Nunito','Nunito Fallback',system-ui,-apple-system,sans-serif;

  --r-xxl:clamp(28px,4vw,52px); --r-xl:clamp(22px,3vw,36px);
  --r-lg:clamp(18px,2.2vw,28px); --r-md:18px; --r-sm:14px; --pill:999px;

  --sh-1:0 1px 3px rgba(22,18,28,.04), 0 8px 22px -12px rgba(22,18,28,.14);
  --sh-2:0 4px 14px rgba(22,18,28,.05), 0 22px 50px -24px rgba(22,18,28,.24);
  --sh-3:0 10px 28px rgba(22,18,28,.07), 0 44px 92px -38px rgba(22,18,28,.38);

  --mola:cubic-bezier(.34,1.4,.44,1); --suave:cubic-bezier(.22,.68,.24,1);
  --gut:clamp(18px,4vw,26px);
}
*{box-sizing:border-box;margin:0;padding:0;min-width:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{font-family:var(--fonte);color:var(--tinta);background:var(--branco);line-height:1.6;font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
img{max-width:100%;display:block;height:auto}
picture{display:contents}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:var(--gut)}

h1,h2,h3,h4{line-height:1.04;letter-spacing:-.035em;font-weight:900;overflow-wrap:break-word}
h1{font-size:clamp(2.15rem,7vw,4.9rem)}
h2{font-size:clamp(1.8rem,5.2vw,3.4rem)}
h3{font-size:clamp(1.14rem,2.6vw,1.5rem);letter-spacing:-.028em;font-weight:800}
p{text-wrap:pretty;overflow-wrap:break-word}
.lead{font-size:clamp(.99rem,2.2vw,1.18rem);color:var(--grafite);max-width:58ch;font-weight:500}
.centro{text-align:center}
.centro .lead{margin-inline:auto}
section{padding-block:clamp(58px,9vw,120px);position:relative}
.br-desk{display:inline}

/* ═════════ ETIQUETA ═════════ */
.tag{display:inline-flex;align-items:center;gap:9px;font-size:clamp(.68rem,1.6vw,.76rem);font-weight:900;letter-spacing:.13em;text-transform:uppercase;padding:9px 17px;border-radius:var(--pill);background:var(--nevoa);color:var(--grafite);border:1.5px solid var(--borda)}
.tag .chev{width:16px;height:12px;flex:none;color:var(--magenta)}
.tag.claro{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.24)}
.tag.claro .chev{color:var(--turquesa)}
.tag.solida{background:var(--magenta);color:#fff;border-color:transparent}
.tag.solida .chev{color:#fff}
.tag.tq{background:var(--turquesa);color:var(--tinta);border-color:transparent}
.tag.tq .chev{color:var(--tinta)}

/* ═════════ BOTÕES ═════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:clamp(.94rem,2vw,1.02rem);padding:16px clamp(22px,4vw,32px);border-radius:var(--pill);border:2px solid transparent;cursor:pointer;transition:.4s var(--mola);position:relative;overflow:hidden;letter-spacing:-.015em;min-height:52px;text-align:center}
.btn::before{content:"";position:absolute;inset:0;background:rgba(22,18,28,.1);transform:translateY(101%);transition:.45s var(--suave)}
.btn:hover::before{transform:translateY(0)}
.btn>*{position:relative;z-index:2}
.btn-mg{background:var(--magenta);color:var(--tinta);box-shadow:0 12px 30px -12px rgba(255,0,174,.65)}
.btn-mg:hover{transform:translateY(-3px)}
.btn-lj{background:var(--laranja);color:var(--tinta);box-shadow:0 12px 30px -12px rgba(255,104,0,.6)}
.btn-lj:hover{transform:translateY(-3px)}
.btn-pt{background:var(--tinta);color:#fff}
.btn-pt::before{background:rgba(255,255,255,.18)}
.btn-pt:hover{transform:translateY(-3px)}
.btn-br{background:#fff;color:var(--tinta);box-shadow:var(--sh-2)}
.btn-br:hover{transform:translateY(-3px)}
.btn-out{border-color:var(--borda);color:var(--tinta);background:#fff}
.btn-out:hover{border-color:var(--tinta);transform:translateY(-3px)}
.btn-out.claro{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-out.claro:hover{background:#fff;color:var(--tinta);border-color:#fff}
.ico{width:20px;height:20px;flex:none;fill:currentColor}

/* ═════════ ELEMENTOS DE MARCA ═════════ */
.chev{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.flor{position:absolute;pointer-events:none;z-index:0;animation:gira 30s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ═════════ HEADER ═════════ */
header{position:fixed;inset:12px 0 auto 0;z-index:200;pointer-events:none;transition:.5s var(--suave)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 20px;border-radius:var(--pill);pointer-events:auto;transition:.5s var(--suave);border:2px solid transparent}
header.solid .nav{background:rgba(255,255,255,.86);backdrop-filter:blur(24px) saturate(180%);border-color:var(--borda);box-shadow:var(--sh-2)}
.logo{height:clamp(36px,7vw,46px);transition:.4s var(--suave);width:auto}
header.solid .logo{height:clamp(34px,6vw,40px)}
.logo-cor{display:none}
header.solid .logo-branca{display:none}
header.solid .logo-cor{display:block}
.menu{display:flex;gap:2px;align-items:center;font-size:.92rem;font-weight:700;color:rgba(255,255,255,.94)}
header.solid .menu{color:var(--grafite)}
.menu a{padding:9px 14px;border-radius:var(--pill);transition:.3s var(--suave)}
.menu a:hover{background:rgba(255,255,255,.2)}
header.solid .menu a:hover{background:var(--magenta);color:#fff}
.header-cta{padding:12px 22px;font-size:.9rem;min-height:46px}
.burger{display:none;background:rgba(255,255,255,.2);border:0;cursor:pointer;width:48px;height:48px;border-radius:var(--pill);backdrop-filter:blur(10px);align-items:center;justify-content:center;flex-direction:column;gap:5px}
header.solid .burger{background:var(--magenta)}
.burger i{display:block;width:20px;height:2.5px;background:#fff;border-radius:2px;transition:.3s}
.painel-menu{position:fixed;inset:0;z-index:199;background:var(--roxo);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;visibility:hidden;transition:.4s var(--suave)}
.painel-menu.on{opacity:1;visibility:visible}
.painel-menu a{color:#fff;font-size:clamp(1.4rem,6vw,2rem);font-weight:900;letter-spacing:-.03em;padding:12px 20px}
.painel-menu .btn{margin-top:22px}

/* ═════════ HERO — bloco de cor 1 de 2 ═════════ */
.hero{position:relative;padding:clamp(120px,20vw,158px) 0 clamp(66px,11vw,100px);color:#fff;overflow:hidden;isolation:isolate;background:linear-gradient(148deg,var(--roxo-esc) 0%,var(--roxo) 46%,var(--magenta) 100%);border-radius:0 0 var(--r-xxl) var(--r-xxl)}
.orb{position:absolute;border-radius:50%;filter:blur(90px);z-index:-1;animation:orbita 26s ease-in-out infinite}
.orb-lj{width:min(52vw,520px);aspect-ratio:1;background:var(--laranja);opacity:.42;top:-14%;right:-8%}
.orb-mg{width:min(46vw,440px);aspect-ratio:1;background:var(--magenta);opacity:.4;bottom:-20%;left:-10%;animation-delay:-10s}
@keyframes orbita{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(46px,-38px) scale(1.14)}}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(34px,5vw,56px);align-items:center;position:relative;z-index:3}
.hero h1{margin:20px 0 20px;color:#fff}
.hero h1 .risco{position:relative;display:inline-block}
.hero h1 .risco::after{content:"";position:absolute;left:-3%;right:-3%;bottom:.05em;height:.26em;background:var(--laranja);border-radius:var(--pill);z-index:-1;transform:scaleX(0);transform-origin:left;animation:risca 1s var(--suave) .5s forwards}
@keyframes risca{to{transform:scaleX(1)}}
.hero p.lead{color:rgba(255,255,255,.9);max-width:48ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 22px}
.hero-micro{display:flex;align-items:center;gap:10px;font-size:clamp(.84rem,1.9vw,.92rem);font-weight:600;color:rgba(255,255,255,.8);flex-wrap:wrap}
.avat-mini{display:flex;flex:none}
.avat-mini img{width:clamp(28px,6vw,34px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:2.5px solid rgba(255,255,255,.9);margin-left:-10px;background:#fff}
.avat-mini picture:first-child img,.avat-mini img:first-child{margin-left:0}
.selos{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.selo{display:flex;align-items:center;gap:8px;font-size:clamp(.8rem,1.8vw,.87rem);font-weight:700;background:rgba(255,255,255,.13);border:1.5px solid rgba(255,255,255,.2);padding:9px 16px;border-radius:var(--pill);backdrop-filter:blur(10px);transition:.35s var(--mola)}
.selo:hover{background:rgba(255,255,255,.24);transform:translateY(-3px)}
.selo .fl{width:14px;height:14px;flex:none;color:var(--turquesa)}
.selo:nth-child(2) .fl{color:var(--limao)}
.selo:nth-child(3) .fl{color:var(--laranja)}
.selo:nth-child(4) .fl{color:#fff}
.hero-img{position:relative;display:grid;place-items:center}
.blob{width:100%;max-width:min(78vw,440px);aspect-ratio:1;position:relative;background:rgba(255,255,255,.1);border:3px solid rgba(255,255,255,.28);border-radius:58% 42% 47% 53%/52% 46% 54% 48%;animation:morf 16s ease-in-out 2.5s infinite;will-change:border-radius;overflow:hidden;box-shadow:0 34px 70px -26px rgba(22,18,28,.55)}
@keyframes morf{0%,100%{border-radius:58% 42% 47% 53%/52% 46% 54% 48%}33%{border-radius:44% 56% 62% 38%/44% 58% 42% 56%}66%{border-radius:52% 48% 38% 62%/60% 42% 58% 40%}}
.blob img{width:100%;height:100%;object-fit:cover;object-position:60% 24%}
.chip{position:absolute;z-index:5;border-radius:var(--r-md);padding:12px 17px;box-shadow:var(--sh-3);display:flex;align-items:center;gap:11px;animation:flutua 5.5s ease-in-out infinite;color:var(--tinta);max-width:min(62vw,230px)}
.chip-a{bottom:8%;left:-4%;background:var(--turquesa)}
.chip-b{top:5%;right:-3%;background:var(--limao);animation-delay:-2.6s}
@keyframes flutua{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-13px) rotate(1.5deg)}}
.chip strong{display:block;font-size:clamp(.95rem,2.2vw,1.06rem);line-height:1.15;letter-spacing:-.03em;font-weight:900}
.chip span{font-size:clamp(.7rem,1.7vw,.77rem);font-weight:600;opacity:.75;display:block;line-height:1.3}
.pin{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none;background:rgba(22,18,28,.12)}
.pin svg{width:19px;height:19px;fill:var(--tinta)}
.ico-pin{width:24px;height:24px;display:block;background-color:var(--tinta);
  -webkit-mask:var(--u) center/contain no-repeat;mask:var(--u) center/contain no-repeat}

/* ═════════ MARQUEE ═════════ */
.marquee{background:var(--tinta);color:#fff;padding:16px 0;overflow:hidden;position:relative;z-index:4;margin-top:-1px}
.mq-track{display:flex;width:max-content;animation:desliza 38s linear infinite}
.mq-track span{display:inline-flex;align-items:center;gap:20px;padding-right:20px;font-size:clamp(.88rem,2vw,1rem);font-weight:900;letter-spacing:-.02em;white-space:nowrap}
.mq-track .chev{width:18px;height:14px;flex:none;stroke-width:7;color:var(--magenta)}
@keyframes desliza{to{transform:translateX(-50%)}}

/* ═════════ NÚMEROS ═════════ */
.numeros{padding-block:clamp(46px,7vw,76px)}
.numeros-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,10px)}
.num{text-align:center;padding:4px 8px;position:relative}
.num::after{content:"";position:absolute;right:0;top:22%;height:56%;width:2px;background:var(--borda);border-radius:2px}
.num:last-child::after{display:none}
.num b{display:block;font-size:clamp(1.85rem,5.4vw,2.9rem);font-weight:900;letter-spacing:-.05em;line-height:1}
.num:nth-child(1) b{color:var(--roxo)}
.num:nth-child(2) b{color:var(--magenta)}
.num:nth-child(3) b{color:var(--laranja)}
.num:nth-child(4) b{color:var(--roxo)}
.num span{font-size:clamp(.76rem,1.8vw,.87rem);color:var(--grafite);font-weight:700;display:block;margin-top:4px}

/* ═════════ EMPATIA ═════════ */
.empatia{background:var(--nevoa);border-radius:var(--r-xxl);margin-inline:var(--gut)}
.empatia-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,58px);align-items:center}
.bloco-lista{display:grid;gap:11px}
.linha{display:flex;gap:14px;align-items:flex-start;background:#fff;padding:20px 22px;border-radius:var(--r-lg);transition:.45s var(--mola)}
.linha:hover{transform:translateX(8px);box-shadow:var(--sh-2)}
.linha .tick{width:32px;height:32px;border-radius:var(--pill);display:grid;place-items:center;flex:none;color:var(--tinta)}
.linha:nth-child(1) .tick{background:var(--turquesa)}
.linha:nth-child(2) .tick{background:var(--limao)}
.linha:nth-child(3) .tick{background:var(--laranja)}
.linha:nth-child(4) .tick{background:var(--magenta);color:#fff}
.linha .tick svg{width:15px;height:12px}
.linha b{display:block;font-size:clamp(.98rem,2.2vw,1.05rem);font-weight:900;margin-bottom:3px;letter-spacing:-.025em}
.linha p{font-size:clamp(.89rem,2vw,.95rem);color:var(--grafite)}

/* ═════════ BENTO SERVIÇOS ═════════ */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,2vw,18px);margin-top:clamp(34px,5vw,54px)}
.card{background:var(--nevoa);border-radius:var(--r-xl);padding:clamp(26px,4vw,36px) clamp(22px,3.4vw,32px);position:relative;overflow:hidden;transition:.5s var(--mola);display:flex;flex-direction:column;isolation:isolate;border:1.5px solid transparent}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh-3);background:#fff;border-color:var(--borda)}
.card-g{grid-column:span 3}
.card-m{grid-column:span 2}
/* Cards de serviço são só ícone e texto — de propósito.
   Foto de pessoa aqui envelhece: se a veterinária ou uma tia sai,
   o card fica desatualizado e alguém precisa lembrar de trocar.
   Rosto de gente fica na galeria, que é fácil de renovar. */
.tile{width:clamp(50px,10vw,58px);aspect-ratio:1;border-radius:var(--r-sm);display:grid;place-items:center;margin-bottom:18px;transition:.5s var(--mola);color:var(--tinta);flex:none}
.card:hover .tile{transform:rotate(-9deg) scale(1.06)}
.card .marca-dagua{position:absolute;right:-16px;bottom:-16px;width:clamp(90px,20vw,150px);opacity:.07;z-index:-1;
  transition:.6s var(--mola);color:var(--tinta)}
.card:hover .marca-dagua{transform:scale(1.15) rotate(-8deg);opacity:.11}
.tile svg{width:52%;height:52%;fill:currentColor}
.t-mg{background:var(--magenta);color:#fff}.t-lj{background:var(--laranja)}.t-tq{background:var(--turquesa)}
.t-rx{background:var(--roxo);color:#fff}.t-lm{background:var(--limao)}
.card h3{margin-bottom:8px}
.card p{color:var(--grafite);font-size:clamp(.9rem,2vw,.96rem);flex:1}
.novo{position:absolute;top:20px;right:20px;font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;background:var(--tinta);color:#fff;padding:7px 13px;border-radius:var(--pill);transform:rotate(2deg)}
.link{margin-top:20px;font-weight:900;font-size:clamp(.88rem,2vw,.94rem);display:inline-flex;align-items:center;gap:8px;transition:.35s var(--mola);align-self:flex-start;color:var(--tinta)}
.link .chev{width:16px;height:12px;transition:.35s var(--mola);color:var(--magenta);flex:none}
.link:hover .chev{transform:translateX(6px)}

/* ═════════ GALERIA + LIGHTBOX ═════════
   Cada foto carrega seu PONTO FOCAL no style="object-position".
   É isso que garante que o rosto do cão nunca é cortado, seja qual
   for o formato da caixa. Para reajustar, use marcar-rostos.html. */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(112px,18vw,180px);gap:clamp(9px,1.4vw,13px);margin-top:clamp(30px,5vw,50px);grid-auto-flow:dense}
.foto{border-radius:var(--r-lg);overflow:hidden;position:relative;background:var(--nevoa);cursor:zoom-in;border:0;padding:0;display:block;width:100%;height:100%}
.foto img{width:100%;height:100%;object-fit:cover;transition:.7s var(--suave)}
.foto:hover img,.foto:focus-visible img{transform:scale(1.06)}
.foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(22,18,28,.42));opacity:0;transition:.35s}
.foto:hover::after,.foto:focus-visible::after{opacity:1}
.foto .lupa{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:var(--pill);background:rgba(255,255,255,.94);display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:.35s var(--mola);z-index:2}
.foto:hover .lupa,.foto:focus-visible .lupa{opacity:1;transform:none}
.foto .lupa svg{width:16px;height:16px;fill:var(--tinta)}
.foto.alta{grid-row:span 2}
.foto.larga{grid-column:span 2}
.galeria-fim{display:flex;justify-content:center;margin-top:clamp(20px,3vw,28px)}

.lb{position:fixed;inset:0;z-index:300;background:rgba(13,11,18,.94);backdrop-filter:blur(10px);display:none;place-items:center;padding:clamp(14px,3vw,40px)}
.lb.on{display:grid}
.lb-fig{max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:14px;align-items:center}
.lb-fig img{max-width:100%;max-height:74vh;object-fit:contain;border-radius:var(--r-lg);box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.lb-baixo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.lb-cap{color:rgba(255,255,255,.72);font-size:.9rem;font-weight:600}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:var(--pill);border:0;cursor:pointer;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);display:grid;place-items:center;transition:.3s var(--mola)}
.lb-btn:hover{background:rgba(255,255,255,.28);transform:translateY(-50%) scale(1.08)}
.lb-btn svg{width:22px;height:22px;fill:#fff}
.lb-ant{left:clamp(10px,2vw,26px)}
.lb-prox{right:clamp(10px,2vw,26px)}
.lb-fechar{position:absolute;top:clamp(14px,2.5vw,26px);right:clamp(14px,2.5vw,26px);width:48px;height:48px;transform:none}
.lb-fechar:hover{transform:scale(1.08) rotate(90deg)}
.lb-cont{position:absolute;top:clamp(20px,3vw,32px);left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-weight:800;font-size:.85rem;font-variant-numeric:tabular-nums}

/* ═════════ DIFERENCIAIS ═════════ */
.dif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,18px);margin-top:clamp(34px,5vw,54px)}
.dif-card{background:#fff;border:1.5px solid var(--borda);border-radius:var(--r-lg);padding:clamp(24px,3.6vw,32px) clamp(20px,3vw,28px);transition:.5s var(--mola)}
.dif-card:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:transparent}
.dif-ico{width:clamp(46px,9vw,52px);aspect-ratio:1;border-radius:var(--r-sm);display:grid;place-items:center;margin-bottom:18px;transition:.5s var(--mola);color:var(--tinta)}
.dif-card:hover .dif-ico{transform:rotate(-9deg)}
.dif-ico svg{width:52%;height:52%;fill:currentColor}
.dif-card:nth-child(1) .dif-ico{background:var(--magenta);color:#fff}
.dif-card:nth-child(2) .dif-ico{background:var(--turquesa)}
.dif-card:nth-child(3) .dif-ico{background:var(--limao)}
.dif-card:nth-child(4) .dif-ico{background:var(--laranja)}
.dif-card:nth-child(5) .dif-ico{background:var(--roxo);color:#fff}
.dif-card:nth-child(6) .dif-ico{background:var(--magenta);color:#fff}
.dif-card h3{font-size:clamp(1.08rem,2.4vw,1.16rem);margin-bottom:7px}
.dif-card p{font-size:clamp(.88rem,2vw,.94rem);color:var(--grafite)}


/* ═════════ ÍCONES DA MARCA ═════════
   Os PNGs entram como RECORTE (mask), não como imagem: o navegador
   usa só o formato e a cor vem daqui. Por isso tanto faz a cor
   original do arquivo. Trocar de cor é trocar a linha abaixo. */
.ico-marca{
  width:clamp(44px,8.5vw,56px);aspect-ratio:1;display:block;margin-bottom:15px;flex:none;
  background-color:var(--magenta);
  -webkit-mask:var(--u) center/contain no-repeat;mask:var(--u) center/contain no-repeat;
  transition:.5s var(--mola);
}
.card:hover .ico-marca,.dif-card:hover .ico-marca{transform:rotate(-7deg) scale(1.07)}
.dif-card:nth-child(1) .ico-marca{background-color:var(--magenta)}
.dif-card:nth-child(2) .ico-marca{background-color:var(--roxo)}
.dif-card:nth-child(3) .ico-marca{background-color:var(--laranja-esc)}
.dif-card:nth-child(4) .ico-marca{background-color:var(--magenta)}
.dif-card:nth-child(5) .ico-marca{background-color:var(--roxo)}
.dif-card:nth-child(6) .ico-marca{background-color:var(--laranja-esc)}
.card .ico-marca{width:clamp(48px,9.5vw,62px)}
.i-mg{background-color:var(--magenta)!important}
.i-lj{background-color:var(--laranja-esc)!important}
.i-rx{background-color:var(--roxo)!important}

/* ═════════ ROTINA ═════════ */
.rotina{background:var(--nevoa);border-radius:var(--r-xxl);margin-inline:var(--gut)}
.rotina-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,5vw,64px);align-items:start}
.rotina-sticky{position:sticky;top:112px}
.passos{display:grid;gap:12px}
.passo{background:#fff;border-radius:var(--r-lg);padding:20px clamp(20px,3vw,26px);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;transition:.5s var(--mola)}
.passo:hover{transform:scale(1.02);box-shadow:var(--sh-2)}
.hora{min-width:clamp(66px,13vw,76px);aspect-ratio:1;border-radius:var(--pill);display:grid;place-items:center;font-weight:900;font-size:clamp(.8rem,1.9vw,.9rem);letter-spacing:-.03em;padding:0 10px;text-align:center;color:var(--tinta);flex:none}
.passo:nth-child(1) .hora{background:var(--turquesa)}
.passo:nth-child(2) .hora{background:var(--limao)}
.passo:nth-child(3) .hora{background:var(--laranja)}
.passo:nth-child(4) .hora{background:var(--magenta);color:#fff}
.passo:nth-child(5) .hora{background:var(--roxo);color:#fff}
.passo h4{font-size:clamp(1rem,2.3vw,1.1rem);font-weight:900;margin-bottom:3px}
.passo p{font-size:clamp(.87rem,2vw,.93rem);color:var(--grafite)}

/* ═════════ DEPOIMENTOS ═════════ */
.depo-marquee{overflow:hidden;margin-top:clamp(34px,5vw,54px);padding:10px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.depo-track{display:flex;gap:16px;width:max-content;animation:desliza 66s linear infinite}
.depo-marquee:hover .depo-track{animation-play-state:paused}
.depo{width:min(84vw,380px);flex:none;background:var(--nevoa);border-radius:var(--r-xl);padding:clamp(24px,4vw,32px) clamp(22px,3.4vw,30px);display:flex;flex-direction:column;transition:.5s var(--mola)}
.depo:hover{transform:translateY(-8px);box-shadow:var(--sh-3);background:#fff}
.estrelas{display:flex;gap:4px;margin-bottom:14px}
.estrelas .fl{width:16px;height:16px;color:var(--laranja);flex:none}
.depo p{font-size:clamp(.9rem,2vw,.96rem);color:var(--grafite);flex:1;line-height:1.66}
.depo-autor{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:2px solid var(--borda)}
.avatares{display:flex;flex:none}
.avatares img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--sh-1);background:#fff}
.avatares picture:last-child img,.avatares img:last-child{margin-left:-15px}
.depo-autor b{display:block;font-size:.95rem;font-weight:900}
.depo-autor span{font-size:.82rem;color:var(--grafite);font-weight:600}

/* ═════════ EQUIPE ═════════ */
.equipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2.4vw,20px);margin-top:clamp(34px,5vw,54px)}
.pessoa{background:var(--nevoa);border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:clamp(140px,22vw,190px) 1fr;transition:.5s var(--mola)}
.pessoa:hover{transform:translateY(-8px);box-shadow:var(--sh-3)}
.pessoa-foto{overflow:hidden;background:var(--turquesa)}
.pessoa:nth-child(2) .pessoa-foto{background:var(--limao)}
.pessoa-foto img{height:100%;width:100%;object-fit:cover;min-height:240px;transition:.7s var(--suave)}
.pessoa:hover .pessoa-foto img{transform:scale(1.06)}
.pessoa-txt{padding:clamp(24px,3.6vw,30px) clamp(20px,3vw,28px);display:flex;flex-direction:column;justify-content:center}
.pessoa-txt .tag{margin-bottom:12px;align-self:flex-start}
.pessoa-txt h3{margin-bottom:8px}
.pessoa-txt p{font-size:clamp(.88rem,2vw,.94rem);color:var(--grafite)}

/* ═════════ PREÇOS — grade de cartões ═════════ */
.preco-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.5vw,14px);margin-top:clamp(32px,5vw,52px);align-items:end}
.plano{background:var(--nevoa);border:1.5px solid transparent;border-radius:var(--r-lg);padding:clamp(24px,3.4vw,30px) clamp(16px,2.2vw,20px);text-align:center;transition:.5s var(--mola);position:relative;display:flex;flex-direction:column}
.plano:hover{transform:translateY(-9px);box-shadow:var(--sh-3);background:#fff;border-color:var(--borda)}
.plano.destaque{background:var(--magenta);border:0;color:#fff;padding-top:clamp(42px,6vw,50px);box-shadow:0 26px 62px -22px rgba(255,0,174,.72)}
.plano.destaque:hover{transform:translateY(-13px);background:var(--magenta)}
.fita{position:absolute;top:14px;left:50%;transform:translateX(-50%) rotate(-1.5deg);background:var(--tinta);color:#fff;font-size:clamp(.58rem,1.4vw,.66rem);font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:var(--pill);white-space:nowrap}
.patas{display:flex;justify-content:center;gap:4px;margin-bottom:12px;min-height:18px}
.patas .fl{width:17px;height:17px;color:var(--magenta);flex:none}
.plano.destaque .patas .fl{color:#fff}
.plano h3{font-size:clamp(1rem,2.2vw,1.08rem);margin-bottom:2px;font-weight:800}
.valor{font-size:clamp(1.55rem,3.6vw,2.1rem);font-weight:900;letter-spacing:-.05em;line-height:1.1;margin:8px 0 2px;color:var(--roxo)}
.plano.destaque .valor{color:#fff}
.valor small{font-size:.82rem;font-weight:700;color:var(--grafite);letter-spacing:0}
.plano.destaque .valor small{color:rgba(255,255,255,.82)}
.por-dia{font-size:clamp(.8rem,1.8vw,.86rem);color:var(--grafite);font-weight:600;margin-bottom:12px}
.por-dia b{color:var(--laranja-esc);font-weight:900}
.plano.destaque .por-dia{color:rgba(255,255,255,.9)}
.plano.destaque .por-dia b{color:#fff}
.brinde{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(.72rem,1.7vw,.78rem);font-weight:800;color:var(--tinta);background:var(--limao);padding:6px 12px;border-radius:var(--pill);margin-bottom:10px}
.brinde .fl{width:12px;height:12px;flex:none}
.brinde.vazio{background:transparent;color:transparent;pointer-events:none}
.economia{font-size:clamp(.72rem,1.7vw,.78rem);font-weight:800;color:var(--roxo);background:#EFE6FE;padding:6px 12px;border-radius:var(--pill);display:inline-block;margin-bottom:16px}
.plano.destaque .economia{background:rgba(255,255,255,.22);color:#fff}
.plano .btn{width:100%;padding:12px 8px;font-size:clamp(.84rem,1.9vw,.9rem);margin-top:auto;min-height:46px}
.avulsa{margin-top:clamp(18px,2.6vw,24px);background:var(--tinta);border-radius:var(--r-xl);padding:clamp(24px,3.6vw,30px) clamp(22px,3.4vw,34px);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.avulsa b{font-size:clamp(1.2rem,3vw,1.5rem);font-weight:900;letter-spacing:-.04em;color:var(--turquesa);display:block}
.avulsa p{font-size:clamp(.86rem,2vw,.94rem);color:rgba(255,255,255,.72);margin-top:5px;max-width:48ch;font-weight:500}
.avulsa p em{font-style:normal;color:#fff;font-weight:800}
.nota-preco{font-size:clamp(.84rem,1.9vw,.9rem);color:var(--grafite);text-align:center;margin-top:18px;font-weight:600}

/* ═════════ FAQ ═════════ */
.faq-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,42px);align-items:start}
.faq-lista{background:var(--nevoa);border-radius:var(--r-xl);padding:6px clamp(22px,3.4vw,32px)}
.faq-item{border-bottom:2px solid var(--borda)}
.faq-item:last-child{border:0}
.faq-q{width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:20px 48px 20px 0;font-size:clamp(.98rem,2.3vw,1.05rem);font-weight:800;color:var(--tinta);position:relative;letter-spacing:-.025em;transition:.3s;min-height:60px}
.faq-q:hover{color:var(--magenta)}
.faq-q .mais{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--pill);background:var(--turquesa);display:grid;place-items:center;transition:.45s var(--mola)}
.faq-q .mais::before,.faq-q .mais::after{content:"";position:absolute;background:var(--tinta);border-radius:2px;transition:.45s var(--mola)}
.faq-q .mais::before{width:13px;height:2.5px}
.faq-q .mais::after{width:2.5px;height:13px}
.faq-item.open .mais{background:var(--magenta);transform:translateY(-50%) rotate(135deg)}
.faq-item.open .mais::before,.faq-item.open .mais::after{background:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--suave)}
.faq-a p{padding:0 0 20px;font-size:clamp(.89rem,2vw,.95rem);color:var(--grafite)}
.faq-side{background:var(--roxo);color:#fff;border-radius:var(--r-xl);padding:clamp(26px,4vw,34px);position:sticky;top:112px;overflow:hidden}
.faq-side img{border-radius:var(--r-lg);margin-bottom:20px;width:100%}
.faq-side h3{margin-bottom:10px}
.faq-side p{font-size:clamp(.89rem,2vw,.95rem);color:rgba(255,255,255,.82);margin-bottom:20px}
.faq-side .btn{width:100%}

/* ═════════ CTA FINAL — bloco de cor 2 de 2 ═════════ */
.cta-final{margin-inline:var(--gut);border-radius:var(--r-xxl);overflow:hidden;isolation:isolate;background:linear-gradient(140deg,var(--magenta) 0%,#C41BC8 52%,var(--roxo) 100%);color:#fff;text-align:center}
.cta-final h2{margin-bottom:16px;color:#fff}
.cta-final p{color:rgba(255,255,255,.9);max-width:54ch;margin:0 auto 30px;font-size:clamp(.98rem,2.2vw,1.1rem);font-weight:600}
.cta-micro{margin-top:20px;font-size:clamp(.85rem,2vw,.92rem);color:rgba(255,255,255,.8);font-weight:700}

/* ═════════ CONTATO ═════════ */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2.4vw,20px)}
.painel{background:var(--nevoa);border-radius:var(--r-xl);padding:clamp(26px,4vw,34px) clamp(22px,3.4vw,32px)}
.mapa{border-radius:var(--r-lg);overflow:hidden;height:clamp(210px,32vw,270px);border:0;width:100%;margin-bottom:22px;display:block}
.info{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.info .tile{width:42px;margin:0;border-radius:var(--r-sm)}
.info b{display:block;font-size:clamp(.9rem,2vw,.96rem);font-weight:800}
.info span{font-size:clamp(.85rem,1.9vw,.91rem);color:var(--grafite);font-weight:500}
.horarios{background:#fff;border-radius:var(--r-lg);padding:22px clamp(18px,2.6vw,24px);margin-top:20px}
.horarios h4{font-size:1rem;margin-bottom:12px;font-weight:900}
.horarios div{display:flex;justify-content:space-between;font-size:clamp(.84rem,1.9vw,.9rem);padding:8px 0;gap:14px;border-bottom:2px solid var(--nevoa);flex-wrap:wrap}
.horarios div:last-child{border:0;padding-bottom:0}
.horarios span{color:var(--grafite);font-weight:500;text-align:right}
.campo{margin-bottom:14px}
.campo label{display:block;font-size:.85rem;font-weight:800;margin-bottom:6px}
.campo input,.campo select,.campo textarea{width:100%;padding:14px 16px;border:2px solid var(--borda);border-radius:var(--r-sm);font-family:inherit;font-size:16px;font-weight:500;background:#fff;transition:.3s var(--suave);color:var(--tinta);resize:vertical;min-height:52px}
.campo textarea{min-height:90px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--magenta);box-shadow:0 0 0 4px rgba(255,0,174,.13)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ═════════ FOOTER ═════════ */
footer{background:var(--tinta);color:rgba(255,255,255,.66);padding:clamp(48px,7vw,68px) 0 24px;font-size:clamp(.87rem,2vw,.92rem);border-radius:var(--r-xxl) var(--r-xxl) 0 0;margin-top:20px;position:relative;z-index:2;font-weight:500}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(28px,4vw,42px);padding-bottom:32px;border-bottom:2px solid rgba(255,255,255,.09)}
footer img.flogo{height:54px;margin-bottom:16px;width:auto}
footer h5{color:#fff;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px;font-weight:900}
footer li{list-style:none;margin-bottom:9px}
footer a{transition:.3s}
footer a:hover{color:var(--turquesa)}
.social{display:flex;gap:9px;margin-top:18px}
.social a{width:44px;height:44px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.45s var(--mola)}
.social a:first-child:hover{background:var(--magenta);transform:translateY(-4px) rotate(-7deg)}
.social a:last-child:hover{background:var(--limao);transform:translateY(-4px) rotate(7deg)}
.social a:last-child:hover svg{fill:var(--tinta)}
.social svg{width:20px;height:20px;fill:#fff;transition:.3s}
.copy{padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.84rem}

/* ═════════ FLUTUANTES ═════════ */
.wpp{position:fixed;right:20px;bottom:20px;z-index:150;width:60px;height:60px;border-radius:var(--pill);background:var(--magenta);display:grid;place-items:center;box-shadow:0 14px 38px -12px rgba(255,0,174,.85);transition:.45s var(--mola)}
.wpp:hover{transform:scale(1.08) rotate(-7deg)}
.wpp svg{width:31px;height:31px;fill:var(--tinta)}
.wpp::after{content:"";position:absolute;inset:0;border-radius:var(--pill);border:2.5px solid var(--magenta);animation:pulso 2.4s ease-out infinite}
@keyframes pulso{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.barra-mob{display:none}

/* ═════════ REVEAL ═════════ */
.rv{opacity:0;transform:translateY(26px);transition:.85s var(--suave)}
.rv.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}.hero h1 .risco::after{transform:scaleX(1)}}

/* ═══════════════ RESPONSIVO ═══════════════ */
@media(max-width:1100px){
  .menu,.header-cta{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-ctas,.selos,.hero-micro,.tag{justify-content:center}
  .hero .tag{display:inline-flex}
  .hero p.lead{margin-inline:auto}
  .hero-img{order:-1;max-width:min(74vw,340px);margin:0 auto}
  .empatia-grid,.faq-grid,.contato-grid,.equipe-grid,.rotina-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,1fr)}
  .card-g,.card-m{grid-column:span 1}
  .dif-grid{grid-template-columns:repeat(2,1fr)}
  .rotina-sticky{position:static}
  .faq-side{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>div:first-child{grid-column:span 2}
  .galeria{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .br-desk{display:none}
  .numeros-inner{grid-template-columns:repeat(2,1fr);row-gap:26px}
  .num:nth-child(2)::after{display:none}
  .bento,.dif-grid{grid-template-columns:1fr}
  .pessoa{grid-template-columns:1fr}
  .pessoa-foto img{min-height:200px;max-height:240px}
  .galeria{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(110px,30vw,150px)}
  .foto.larga{grid-column:span 2}
  .foto.alta{grid-row:span 1}
  .preco-grid{grid-template-columns:repeat(2,1fr);align-items:stretch}
  .plano.destaque{grid-column:span 2;order:-1}
}
@media(max-width:560px){
  .hero{padding-top:110px}
  .chip{padding:10px 13px;gap:9px}
  .chip-a{left:-2%;bottom:2%}
  .chip-b{right:-2%;top:0}
  .pin{width:34px;height:34px}
  .pin svg{width:17px;height:17px}
  .hero-ctas .btn{width:100%}
  .foot-grid{grid-template-columns:1fr}
  .foot-grid>div:first-child{grid-column:span 1}
  .dupla{grid-template-columns:1fr}
  .preco-grid{grid-template-columns:1fr}
  .plano.destaque{grid-column:span 1}
  .brinde.vazio{display:none}
  .avulsa{flex-direction:column;align-items:stretch;text-align:center}
  .avulsa .btn{width:100%}
  .avulsa p{margin-inline:auto}
  .horarios div{flex-direction:column;gap:2px}
  .horarios span{text-align:left}
  body{padding-bottom:76px}
  .wpp{bottom:90px;width:52px;height:52px}
  .wpp svg{width:27px;height:27px}
  .barra-mob{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;position:fixed;left:10px;right:10px;bottom:10px;z-index:160;padding:9px;background:rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(180%);border-radius:var(--pill);box-shadow:var(--sh-3);border:2px solid var(--borda)}
  .barra-mob .btn{padding:12px 6px;font-size:.87rem;min-height:46px}
}
@media(max-width:380px){
  :root{--gut:16px}
  .selos{gap:6px}
  .selo{padding:8px 13px;font-size:.76rem}
  .depo{width:min(88vw,320px)}
}
