@font-face{font-family:"Work Sans";font-weight:400 700;font-style:normal;font-display:swap;src:url(/fontes/work-sans-400-700-latin1.woff2) format("woff2")}
@font-face{font-family:"Marcellus";font-weight:400;font-style:normal;font-display:swap;src:url(/fontes/marcellus-latin1.woff2) format("woff2")}
:root{
  --bg:#FFFFFF;--surface:#F4F5EE;--ink:#1B241D;--muted:#4F5A51;--primary:#214227;--on-primary:#FFFFFF;
  --accent:#CD6438;--on-accent:#2A1208;--line:#DCE1D4;--deep:#172F1C;--on-deep:#EEF1E8;
  --whatsapp:#16A34A;--emergencia:#DC2626;--estrela:#FBBC04;--sobre-semantico:#FFFFFF;
  --f-titulo:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
  --f-texto:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --raio:22px;--raio-g:30px;
  --sombra:0 1px 2px color-mix(in oklab,var(--ink) 6%,transparent),0 18px 40px -24px color-mix(in oklab,var(--ink) 30%,transparent);
  --sombra-alta:0 2px 4px color-mix(in oklab,var(--ink) 6%,transparent),0 34px 64px -30px color-mix(in oklab,var(--ink) 42%,transparent);
  --ease:cubic-bezier(.16,1,.3,1);
  --z-base:1;--z-tag:2;--z-card:3;--z-header:40;--z-menu:45;--z-flutuante:60;
  --wrap:1240px;--gutter:clamp(20px,4vw,40px);
  --texto-deep:color-mix(in oklab,var(--on-deep) 84%,var(--deep));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-texto);font-size:17px;line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:700;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.005em}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico-cheio{fill:currentColor;stroke:none}
.pular{position:absolute;left:16px;top:-60px;z-index:var(--z-menu);background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.pular:focus{top:12px}

/* ---------- tipografia de seção ---------- */
.secao{padding-block:clamp(72px,9vw,128px)}
.secao-surface{background:var(--surface)}
.secao-deep{background:var(--deep);color:var(--on-deep)}
.olho{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.olho .ico{width:18px;height:18px;color:var(--accent)}
.secao-deep .olho{color:var(--on-deep)}
.titulo{font-size:clamp(2rem,3.7vw,3.15rem);margin-top:14px}
.lead{color:var(--muted);font-size:1.1rem;max-width:62ch;margin-top:18px}
.secao-deep .lead{color:var(--texto-deep)}
.cabeca{max-width:780px}
.marca{box-shadow:inset 0 -.2em color-mix(in oklab,var(--accent) 42%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--primary)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;border:0;font-weight:700;font-size:17px;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .3s,color .3s;text-align:center}
.btn:hover{transform:translateY(-3px)}
.btn .ico{width:22px;height:22px}
.btn-zap{background:var(--whatsapp);color:var(--sobre-semantico);box-shadow:0 16px 30px -16px color-mix(in oklab,var(--whatsapp) 85%,transparent)}
.btn-zap:hover{box-shadow:0 22px 36px -16px color-mix(in oklab,var(--whatsapp) 90%,transparent)}
.btn-campo{background:var(--accent);color:var(--on-accent);box-shadow:0 16px 30px -18px color-mix(in oklab,var(--accent) 90%,transparent)}
.btn-primario{background:var(--primary);color:var(--on-primary)}
.btn-deep{background:var(--deep);color:var(--on-deep)}
.btn-contorno{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}

/* ---------- foto ---------- */
.foto{position:relative;margin:0;overflow:hidden;border-radius:var(--raio);background:color-mix(in oklab,var(--line) 70%,var(--surface));isolation:isolate}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.foto:hover img{transform:scale(1.045)}
.foto-tag{position:absolute;right:12px;bottom:12px;z-index:var(--z-tag);font-size:11.5px;font-weight:500;line-height:1;padding:6px 9px;border-radius:999px;background:color-mix(in oklab,var(--ink) 66%,transparent);color:var(--bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;letter-spacing:.01em}
.foto-tag.topo-dir{top:12px;bottom:auto}

/* ---------- revelação ---------- */
html.anima .rv{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s)}
html.anima .rv.vis{opacity:1;transform:none}
html.anima .foto.rv img{transform:scale(1.14)}
html.anima .foto.rv.vis img{transform:scale(1)}
html.anima .foto.rv.vis:hover img{transform:scale(1.045)}

/* ---------- faixa superior ---------- */
.topo{background:var(--deep);color:var(--on-deep);font-size:13.5px}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px}
.topo-itens{display:flex;align-items:center;gap:26px;min-width:0}
.topo span,.topo a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}
.topo .ico{width:15px;height:15px;color:var(--accent)}
.topo-chamado{font-weight:600}
.topo-chamado b{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,var(--accent) 80%,transparent)}
@media (max-width:1100px){.topo .topo-insta{display:none}}
@media (max-width:860px){.topo .topo-hora{display:none}}
@media (max-width:640px){.topo .topo-end{display:none}.topo .wrap{justify-content:center}.topo-itens{display:none}}

/* ---------- cabeçalho ---------- */
.cab{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in oklab,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .4s}
.cab.rolou{border-color:var(--line);box-shadow:0 12px 30px -26px color-mix(in oklab,var(--ink) 60%,transparent)}
.cab .wrap{display:flex;align-items:center;gap:24px;min-height:80px}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.logo svg{width:46px;height:46px;flex:none}
.logo-ferradura{fill:var(--logo-f,var(--primary))}
.logo-cravo{fill:var(--logo-c,var(--bg))}
.logo-pata{fill:var(--logo-p,var(--accent))}
.logo-nome{font-family:var(--f-titulo);font-weight:700;font-size:25px;line-height:1;letter-spacing:-.01em}
.logo-sub{display:block;font-family:var(--f-texto);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{position:relative;padding:10px 14px;text-decoration:none;font-size:15.5px;font-weight:500;color:var(--ink);border-radius:10px}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.nav .nav-zap{display:none}
.cab-cta{min-height:48px;padding:0 22px;font-size:15.5px}
.cab-cta .ico{width:19px;height:19px}
.menu-btn{display:none;width:48px;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--bg);align-items:center;justify-content:center;cursor:pointer;margin-left:auto}
.menu-btn .ico{width:24px;height:24px}
.menu-btn .i-fecha{display:none}
.cab.aberto .menu-btn .i-abre{display:none}
.cab.aberto .menu-btn .i-fecha{display:block}
@media (max-width:1240px){
  .menu-btn{display:inline-flex}
  .cab-cta{margin-left:0}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 22px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -30px color-mix(in oklab,var(--ink) 50%,transparent);display:none;z-index:var(--z-menu)}
  .cab.aberto .nav{display:flex}
  .nav a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0}
  .nav a::after{display:none}
  .nav .nav-zap{display:flex;justify-content:center;margin-top:16px;border:0;border-radius:999px;padding:0 22px;color:var(--sobre-semantico)}
}
@media (max-width:560px){.cab-cta{display:none}.logo-nome{font-size:22px}.logo svg{width:40px;height:40px}.cab .wrap{min-height:70px}}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--surface);overflow:hidden;padding-block:clamp(36px,5vw,68px) clamp(64px,7vw,104px)}
.hero-topo{position:absolute;right:-8%;top:-10%;width:min(900px,90vw);height:auto;pointer-events:none}
.hero-topo path{fill:none;stroke:color-mix(in oklab,var(--primary) 16%,var(--surface));stroke-width:1.4}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(36px,5vw,76px);align-items:center}
.abas{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:6px;border-radius:999px;background:var(--bg);box-shadow:var(--sombra),inset 0 0 0 1px var(--line);max-width:100%}
.abas-pilula{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);border-radius:999px;background:var(--primary);box-shadow:0 10px 20px -12px color-mix(in oklab,var(--primary) 90%,transparent);transition:transform .7s var(--ease)}
.abas[data-ativa="casa"] .abas-pilula{transform:translateX(100%)}
.aba{position:relative;z-index:var(--z-base);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:0;background:none;border-radius:999px;font-weight:600;font-size:16.5px;cursor:pointer;color:var(--ink);transition:color .45s var(--ease);white-space:nowrap}
.aba .ico{width:22px;height:22px}
.aba[aria-selected="true"]{color:var(--on-primary)}
.selo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:26px;font-size:15px;color:var(--muted)}
.selo b{color:var(--ink);font-weight:600}
.estrelas{display:inline-flex;gap:2px;color:var(--estrela)}
.estrelas .ico{width:18px;height:18px}
.troca{display:grid}
.troca>*{grid-area:1/1;align-self:start}
.troca.medida{transition:height .7s var(--ease)}
.troca>[data-aba]{transition:opacity .55s var(--ease),transform .9s var(--ease),visibility .55s}
.troca>[data-aba]:not(.ativo){opacity:0;visibility:hidden;transform:translateY(16px)}
.hero h1{font-size:clamp(2.3rem,4.5vw,4.15rem);line-height:1.04;margin-top:16px;letter-spacing:-.015em}
.hero-sub{margin-top:22px;font-size:1.13rem;color:var(--muted);max-width:56ch}
.hero-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-end{display:flex;align-items:center;gap:8px;margin-top:20px;color:var(--muted);font-size:15px}
.hero-end .ico{width:18px;height:18px;color:var(--primary)}
.hero-midia{position:relative}
.hero-fotos{position:relative;aspect-ratio:5/6;border-radius:var(--raio-g);overflow:hidden;background:var(--line);box-shadow:var(--sombra-alta)}
.hero-fotos .foto{position:absolute;inset:0;border-radius:0;transition:opacity .9s var(--ease),transform 1.2s var(--ease),clip-path 1.2s var(--ease),visibility .9s}
.hero-fotos .foto:not(.ativo){opacity:0;visibility:hidden;transform:translateX(9%) scale(1.08);clip-path:inset(0 0 0 26%)}
.hero-fotos .foto.saindo{transform:translateX(-9%) scale(1.08);clip-path:inset(0 26% 0 0)}
.hero-fotos .foto img{object-position:45% 45%}
.hero-fotos .f-rural img{object-position:40% 38%}
.hero-card{position:absolute;left:-30px;bottom:34px;z-index:var(--z-card);display:grid;min-width:270px;max-width:calc(100% - 20px);padding:14px 18px 14px 14px;border-radius:20px;background:var(--bg);box-shadow:var(--sombra-alta)}
.hero-card-in{display:flex;align-items:center;gap:14px}
.hero-card-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);flex:none}
.hero-card-ico .ico{width:24px;height:24px}
.hero-card b{display:block;font-family:var(--f-titulo);font-size:1.12rem;line-height:1.2}
.hero-card small{display:block;font-size:13.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.hero-giro{position:absolute;top:-30px;right:-26px;z-index:var(--z-card);width:128px;height:128px}
.hero-giro svg{width:100%;height:100%;overflow:visible}
.giro-fundo{fill:var(--accent)}
.giro-texto{fill:var(--on-accent);font-family:var(--f-texto);font-size:10.5px;font-weight:700;letter-spacing:.14em}
.giro-anel{transform-box:view-box;transform-origin:60px 60px;animation:gira 26s linear infinite}
.giro-ico{color:var(--on-accent)}
@keyframes gira{to{transform:rotate(360deg)}}
.pausado .giro-anel{animation-play-state:paused}
html.anima .hero-entra{opacity:0;transform:translateY(26px);animation:entra 1.1s var(--ease) forwards;animation-delay:var(--d,0s)}
html.anima .hero-midia.hero-entra{transform:translateY(0) scale(.96)}
@keyframes entra{to{opacity:1;transform:none}}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-fotos{aspect-ratio:4/3.6}
  .hero-card{left:14px;bottom:14px}
  .hero-giro{width:100px;height:100px;top:-22px;right:-8px}
}
@media (max-width:480px){
  .abas{display:grid;width:100%}
  .aba{padding:0 10px;font-size:15.5px;gap:8px}
  .hero-acoes .btn{width:100%}
  .hero-card{min-width:0;right:14px}
  .hero-fotos{aspect-ratio:4/4.4}
}

/* ---------- faixa de espécies ---------- */
.faixa{background:var(--primary);color:var(--on-primary);overflow:hidden;padding-block:18px}
.faixa-trilho{display:flex;width:max-content;animation:corre 42s linear infinite}
.faixa-grupo{display:flex;align-items:center;flex:none}
.faixa-item{display:inline-flex;align-items:center;gap:14px;padding-inline:28px;font-family:var(--f-titulo);font-weight:600;font-size:clamp(1.2rem,1.9vw,1.55rem);white-space:nowrap}
.faixa-item .ico{width:28px;height:28px;color:var(--accent)}
.faixa.pausado .faixa-trilho{animation-play-state:paused}
@keyframes corre{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa-trilho{animation:none}.giro-anel{animation:none}}

/* ---------- quem somos ---------- */
.sobre-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.sobre-midia{position:relative;padding-bottom:36px}
.sobre-midia .foto{aspect-ratio:4/4.2;border-radius:var(--raio-g)}
.sobre-midia .foto img{object-position:50% 60%}
.sobre-selo{position:absolute;right:-18px;bottom:0;z-index:var(--z-card);width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);box-shadow:var(--sombra-alta);border:6px solid var(--bg)}
.sobre-selo .ico{width:46px;height:46px;stroke-width:1.6}
.sobre-texto p{color:var(--muted);margin-top:18px;max-width:64ch}
.sobre-texto p:first-of-type{margin-top:24px}
.numeros{display:flex;flex-wrap:wrap;gap:18px 44px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.numero b{display:block;font-family:var(--f-titulo);font-weight:700;font-size:clamp(2rem,3vw,2.6rem);line-height:1;color:var(--ink)}
.numero>span{display:block;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
@media (max-width:900px){.sobre-grid{grid-template-columns:1fr}.sobre-selo{right:12px;width:96px;height:96px}.sobre-selo .ico{width:38px;height:38px}}

/* ---------- cards ---------- */
.card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--raio);padding:28px;box-shadow:var(--sombra);transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta);border-color:color-mix(in oklab,var(--primary) 32%,var(--line))}
.card-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:color-mix(in oklab,var(--primary) 11%,var(--bg));color:var(--primary);transition:background-color .4s,color .4s,transform .6s var(--ease)}
.card-ico .ico{width:27px;height:27px}
.card:hover .card-ico{background:var(--primary);color:var(--on-primary);transform:rotate(-6deg)}
.card h3{font-size:1.45rem;margin-top:20px}
.card p{color:var(--muted);font-size:15.5px;margin-top:10px}
.lista{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:15px}
.lista li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.lista .ico{width:17px;height:17px;color:var(--primary);margin-top:2px;stroke-width:2.2}

/* ---------- pets ---------- */
.pets-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4.5vw,64px);align-items:start;margin-top:56px}
.mosaico{position:sticky;top:112px;padding-bottom:90px}
.mosaico .f1{width:84%;aspect-ratio:4/5.7}
.mosaico .f1 img{object-position:50% 42%}
.mosaico .f2{position:absolute;right:0;bottom:0;width:62%;aspect-ratio:4/3;border:6px solid var(--surface);box-shadow:var(--sombra-alta)}
.mosaico .f2 .foto-tag{right:10px;bottom:10px}
.mosaico-rotulo{position:absolute;left:18px;top:18px;z-index:var(--z-card);display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--bg);font-size:14px;font-weight:600;box-shadow:var(--sombra)}
.mosaico-rotulo .ico{width:18px;height:18px;color:var(--primary)}
.cards-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pets-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}
.pets-cta p{color:var(--muted);font-size:15px}
@media (max-width:1000px){.pets-grid{grid-template-columns:1fr}.mosaico{position:relative;top:auto;max-width:620px}.mosaico .f1{aspect-ratio:4/4.6}}
@media (max-width:620px){.cards-2{grid-template-columns:1fr}.mosaico{padding-bottom:70px}}

/* ---------- grandes animais ---------- */
.ga-topo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px 56px;align-items:end}
.ga-topo .lead{margin-top:0}
.ga-fotos{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-top:52px;height:clamp(280px,31vw,420px)}
.ga-fotos .foto{height:100%;background:color-mix(in oklab,var(--on-deep) 10%,var(--deep))}
.ga-fotos .g1 img{object-position:45% 40%}
.ga-fotos .g2 img{object-position:62% 40%}
.ga-fotos .g3 img{object-position:42% 50%}
.ga-servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.card-escuro{position:relative;background:color-mix(in oklab,var(--on-deep) 6%,var(--deep));border:1px solid color-mix(in oklab,var(--on-deep) 15%,transparent);border-radius:var(--raio);padding:28px;transition:transform .6s var(--ease),background-color .4s,border-color .4s}
.card-escuro:hover{transform:translateY(-6px);background:color-mix(in oklab,var(--on-deep) 10%,var(--deep));border-color:color-mix(in oklab,var(--accent) 60%,transparent)}
.card-escuro .card-ico{background:var(--accent);color:var(--on-accent)}
.card-escuro:hover .card-ico{background:var(--accent);color:var(--on-accent);transform:rotate(-6deg)}
.card-escuro h3{font-size:1.45rem;margin-top:20px}
.card-escuro p{color:var(--texto-deep);font-size:15.5px;margin-top:10px}
.card-escuro .lista{color:var(--texto-deep)}
.card-escuro .lista .ico{color:var(--accent)}
.card-chamado{background:var(--accent);color:var(--on-accent);border-color:var(--accent);display:flex;flex-direction:column}
.card-chamado:hover{background:var(--accent)}
.card-chamado h3{margin-top:0;font-size:1.6rem}
.card-chamado p{color:var(--on-accent);opacity:.92}
.card-chamado .btn{margin-top:auto;align-self:flex-start}
.card-chamado .btn-wrap{margin-top:auto;padding-top:22px}
@media (max-width:1000px){.ga-topo{grid-template-columns:1fr}.ga-servicos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ga-fotos{grid-template-columns:1fr 1fr;height:auto}.ga-fotos .g1{grid-column:1/-1;aspect-ratio:16/10}.ga-fotos .g2,.ga-fotos .g3{aspect-ratio:1/1.05}}
@media (max-width:620px){.ga-servicos{grid-template-columns:1fr}}

/* ---------- região ---------- */
.regiao-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,72px);align-items:center}
.passos{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:12px}
.passo{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;padding:18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);transition:transform .5s var(--ease),border-color .3s}
.passo:hover{transform:translateX(6px);border-color:color-mix(in oklab,var(--primary) 35%,var(--line))}
.passo-n{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-family:var(--f-titulo);font-weight:700;font-size:20px}
.passo h3{font-size:1.18rem;margin-top:3px}
.passo p{color:var(--muted);font-size:15.5px;margin-top:4px;line-height:1.5}
.raio{display:flex;align-items:center;gap:22px;margin-top:18px;padding:22px 24px;border-radius:var(--raio);background:var(--deep);color:var(--on-deep)}
.raio-num{font-family:var(--f-titulo);font-weight:700;font-size:clamp(2.6rem,4vw,3.3rem);line-height:.95;white-space:nowrap}
.raio-num small{font-size:.46em;margin-left:4px}
.raio p{font-size:15.5px;line-height:1.45}
.raio small.aviso{display:block;color:var(--texto-deep);font-size:13px;margin-top:4px}
.regiao-cta{margin-top:24px}
.mapa{position:relative;border-radius:var(--raio-g);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sombra-alta)}
.mapa svg{display:block;width:100%;height:auto}
.m-terra{fill:var(--surface)}
.m-campo{fill:color-mix(in oklab,var(--primary) 10%,var(--surface))}
.m-lavoura{fill:none;stroke:color-mix(in oklab,var(--primary) 20%,var(--surface));stroke-width:2}
.m-mata{fill:color-mix(in oklab,var(--primary) 22%,var(--surface))}
.m-rio{fill:none;stroke:color-mix(in oklab,var(--primary) 30%,var(--bg));stroke-width:9;stroke-linecap:round}
.m-estrada{fill:none;stroke:var(--bg);stroke-width:9;stroke-linecap:round}
.m-estrada-borda{fill:none;stroke:var(--line);stroke-width:13;stroke-linecap:round}
.m-raio{fill:color-mix(in oklab,var(--primary) 5%,transparent);stroke:var(--primary);stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}
.m-raio-txt{fill:var(--primary);font:700 13px var(--f-texto);letter-spacing:.08em}
.m-cidade{fill:var(--bg);stroke:var(--ink);stroke-width:3}
.m-txt{fill:var(--ink);font:600 15px var(--f-texto);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}
.m-trilha{fill:none;stroke:var(--bg);stroke-width:5;stroke-linecap:round}
.m-raio-fundo{fill:var(--bg);stroke:var(--line)}
.m-clinica{fill:var(--primary)}
.m-clinica-ico{fill:var(--on-primary)}
.m-clinica-txt{fill:var(--ink);font:700 16px var(--f-titulo)}
.m-rota{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:.1 12}
.m-mascara{fill:none;stroke:var(--ink);stroke-width:18;stroke-linecap:round}
.m-fazenda{fill:var(--deep)}
.m-fazenda-det{fill:none;stroke:var(--on-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m-pulso{fill:none;stroke:var(--primary);stroke-width:2}
.m-norte{fill:var(--muted);font:700 12px var(--f-texto)}
.m-norte-seta{fill:var(--muted)}
.m-bandeira{transform-box:fill-box;transform-origin:50% 100%;transition:transform .8s var(--ease),opacity .5s}
html.anima .m-mascara{stroke-dasharray:1;stroke-dashoffset:1}
html.anima .mapa:not(.chegou) .m-bandeira{transform:scale(.4) translateY(10px);opacity:0}
html.anima .m-pulso{animation:pulso 2.6s var(--ease) infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulso{from{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}
.mapa.pausado .m-pulso{animation-play-state:paused}
.mapa-legenda{position:absolute;left:14px;right:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
.mapa-legenda span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--bg);font-size:13px;font-weight:600;box-shadow:var(--sombra)}
.leg-rota{width:22px;height:0;border-top:3px dotted var(--accent)}
.leg-raio{width:14px;height:14px;border-radius:50%;border:2px dashed var(--primary)}
.leg-clinica{width:12px;height:12px;border-radius:50%;background:var(--primary)}
@media (max-width:1000px){.regiao-grid{grid-template-columns:1fr}}
@media (max-width:600px){.m-txt{font-size:24px;stroke-width:7px}.m-raio-txt{font-size:20px}.m-clinica-txt{font-size:24px}}
@media (max-width:520px){.mapa-legenda{position:static;padding:0 12px 12px}.raio{flex-direction:column;align-items:flex-start;gap:8px}}

/* ---------- calendário sanitário ---------- */
.cal-grid{display:grid;grid-template-columns:minmax(0,4.3fr) minmax(0,7.7fr);gap:clamp(36px,5vw,68px);align-items:start}
.cal-intro .foto{aspect-ratio:4/3;margin-top:30px}
.cal-intro .foto img{object-position:50% 55%}
.legenda{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:24px;font-size:14.5px;font-weight:500}
.legenda span{display:inline-flex;align-items:center;gap:8px}
.ponto{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none}
.p-repouso{background:var(--primary)}
.p-remedio{background:var(--accent)}
.p-curativo{background:transparent;box-shadow:inset 0 0 0 2.5px var(--ink)}
.p-retorno{background:var(--ink);border-radius:3px;transform:rotate(45deg) scale(.86)}
.meses{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mes{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;height:100%;min-height:104px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--bg);text-align:left;cursor:pointer;transition:transform .5s var(--ease),background-color .35s,color .35s,border-color .35s,box-shadow .5s var(--ease)}
.mes-nome{font-family:var(--f-titulo);font-weight:700;font-size:1.3rem;line-height:1}
.mes-num{position:absolute;right:14px;top:14px;font-size:12px;font-weight:600;color:var(--muted);transition:color .35s}
.mes-pontos{display:flex;gap:6px;margin-top:auto}
.mes:hover,.mes.ativo{transform:translateY(-5px);box-shadow:var(--sombra-alta);border-color:var(--primary)}
.mes.ativo{background:var(--primary);color:var(--on-primary)}
.mes.ativo .mes-num{color:var(--on-primary)}
.mes.ativo .p-repouso{background:var(--on-primary)}
.mes.ativo .p-curativo{box-shadow:inset 0 0 0 2.5px var(--on-primary)}
.mes.ativo .p-retorno{background:var(--on-primary)}
.meses .acoes{list-style:none;padding:0;margin:4px 0 0;font-size:14px;line-height:1.4;display:grid;gap:6px}
.meses .acoes li{display:flex;gap:8px;align-items:baseline}
.meses .acoes .ponto{transform:translateY(1px)}
html.js .meses .acoes{display:none}
.cal-painel{margin-top:14px;border-radius:var(--raio);background:var(--deep);color:var(--on-deep);padding:clamp(24px,3vw,34px);min-height:230px}
.cal-painel-topo{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cal-painel h3{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.cal-painel-topo span{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-deep)}
.cal-acoes{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.cal-acoes li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:color-mix(in oklab,var(--on-deep) 7%,var(--deep));font-size:15.5px;line-height:1.4}
.cal-acoes li b{flex:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;min-width:108px;text-align:center}
.t-repouso b{background:var(--on-deep);color:var(--deep)}
.t-remedio b{background:var(--accent);color:var(--on-accent)}
.t-curativo b{box-shadow:inset 0 0 0 1.5px var(--on-deep);color:var(--on-deep)}
.t-retorno b{background:color-mix(in oklab,var(--on-deep) 22%,var(--deep));color:var(--on-deep)}
html.anima .cal-acoes li{animation:entraLado .6s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}
@keyframes entraLado{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.cal-nota{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:14.5px;color:var(--muted);line-height:1.5}
.cal-nota .ico{color:var(--primary);margin-top:1px}
@media (max-width:1000px){.cal-grid{grid-template-columns:1fr}.cal-intro .foto{aspect-ratio:16/9}}
@media (max-width:600px){.meses{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mes{min-height:82px;padding:12px;border-radius:14px}.mes-nome{font-size:1.1rem}.mes-num{display:none}.cal-acoes li{flex-direction:column;align-items:flex-start;gap:8px}.cal-acoes li b{min-width:0}}

/* ---------- estrutura ---------- */
.est-topo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.chip .ico{width:17px;height:17px;color:var(--primary)}
.est-grid{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:16px;margin-top:48px;height:clamp(460px,46vw,620px)}
.est-grid .foto{height:100%}
.est-grid .e1{grid-row:1/3}
.est-grid .e2 img{object-position:50% 60%}
.foto-legenda{position:absolute;left:14px;bottom:14px;z-index:var(--z-tag);display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--bg);color:var(--ink);font-size:14.5px;font-weight:600;box-shadow:var(--sombra);max-width:calc(100% - 28px)}
.foto-legenda .ico{width:18px;height:18px;color:var(--primary)}
@media (max-width:900px){.est-topo{grid-template-columns:1fr}.est-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.est-grid .e1{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}.est-grid .e2,.est-grid .e3{aspect-ratio:1/1}}
@media (max-width:560px){.est-grid{grid-template-columns:1fr}.est-grid .e2,.est-grid .e3{aspect-ratio:4/3}}

/* ---------- equipe ---------- */
.equipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:52px}
.vet{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--raio-g);overflow:hidden;box-shadow:var(--sombra);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.vet:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta)}
.vet .foto{border-radius:0;aspect-ratio:16/11}
.vet-joao img{object-position:62% 25%}
.vet-ana img{object-position:50% 16%}
.vet-rt{position:absolute;left:16px;top:16px;z-index:var(--z-tag);display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700}
.vet-rt .ico{width:15px;height:15px}
.vet-corpo{padding:28px 30px 32px}
.vet-area{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.vet-area .ico{width:18px;height:18px;color:var(--accent)}
.vet h3{font-size:clamp(1.6rem,2.4vw,2rem);margin-top:10px}
.crmv{font-size:15px;color:var(--muted);margin-top:6px}
.vet p.bio{color:var(--muted);font-size:15.5px;margin-top:14px;max-width:60ch}
.vet .chips{margin-top:18px}
@media (max-width:820px){.equipe-grid{grid-template-columns:1fr}}

/* ---------- depoimentos ---------- */
.dep-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.google{display:flex;align-items:center;gap:16px;padding:16px 22px;border-radius:20px;background:var(--bg);border:1px solid var(--line);box-shadow:var(--sombra)}
.google-nota{font-family:var(--f-titulo);font-weight:700;font-size:2.8rem;line-height:1}
.google small{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.dep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.dep{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--raio);background:var(--surface);border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s var(--ease),background-color .3s}
.dep:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta);background:var(--bg)}
.dep-cab{display:flex;align-items:center;gap:12px}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:17px;background:var(--primary);color:var(--on-primary)}
.avatar.alt{background:var(--accent);color:var(--on-accent)}
.dep-nome{font-weight:600;line-height:1.25}
.dep-quando{display:block;font-size:13.5px;color:var(--muted);font-weight:400}
.dep-tipo{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.dep-tipo .ico{width:15px;height:15px;color:var(--primary)}
.dep p{font-size:15.5px;line-height:1.6}
.dep-google{margin-top:auto;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}
.nota-disc{font-size:13.5px;color:var(--muted);margin-top:20px}
@media (max-width:1000px){.dep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dep-grid{grid-template-columns:1fr}}

/* ---------- perguntas ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,7.5fr);gap:clamp(32px,5vw,72px);align-items:start}
.faq-ajuda{margin-top:30px;padding:26px;border-radius:var(--raio);background:var(--bg);border:1px solid var(--line);box-shadow:var(--sombra)}
.faq-ajuda h3{font-size:1.35rem}
.faq-ajuda p{color:var(--muted);font-size:15.5px;margin-top:8px}
.faq-ajuda .btn{margin-top:18px;width:100%}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);interpolate-size:allow-keywords}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--f-titulo);font-weight:600;font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--primary)}
.faq-mais{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--ink);transition:transform .5s var(--ease),background-color .3s,color .3s}
.faq details[open] .faq-mais{transform:rotate(45deg);background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.faq details::details-content{height:0;overflow:clip;transition:height .5s var(--ease),content-visibility .5s allow-discrete}
.faq details[open]::details-content{height:auto}
.faq-resp{padding:0 0 24px;color:var(--muted);max-width:64ch}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* ---------- localização ---------- */
.local-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px;margin-top:48px;align-items:stretch}
.local-card{border-radius:var(--raio-g);background:var(--deep);color:var(--on-deep);padding:clamp(26px,3.2vw,40px)}
.local-linha{display:flex;gap:14px;align-items:flex-start}
.local-linha+.local-linha{margin-top:16px}
.local-linha .ico{color:var(--accent);margin-top:3px}
.local-linha a{text-decoration:none;font-weight:600}
.local-linha small{display:block;color:var(--texto-deep);font-size:14px}
.horario{width:100%;border-collapse:collapse;margin-top:26px;font-size:15.5px}
.horario caption{text-align:left;font-family:var(--f-titulo);font-weight:700;font-size:1.25rem;padding-bottom:8px}
.horario th,.horario td{padding:11px 0;border-bottom:1px solid color-mix(in oklab,var(--on-deep) 16%,transparent);text-align:left;font-weight:400}
.horario td{text-align:right;font-weight:600}
.local-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.local-acoes .btn{flex:1 1 200px}
.mapa-g{position:relative;min-height:440px;border-radius:var(--raio-g);overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.mapa-g svg{position:absolute;inset:0;width:100%;height:100%}
.mg-quadra{fill:color-mix(in oklab,var(--line) 55%,var(--surface))}
.mg-rua{stroke:var(--bg);stroke-width:14;fill:none}
.mg-av{stroke:var(--bg);stroke-width:24;fill:none}
.mg-praca{fill:color-mix(in oklab,var(--primary) 16%,var(--surface))}
.mapa-g-pino{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:var(--z-card)}
.pino{width:58px;height:58px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--primary);display:grid;place-items:center;box-shadow:var(--sombra-alta)}
.pino svg{position:static;transform:rotate(45deg);width:28px;height:28px}
.pino{--logo-f:var(--on-primary);--logo-c:var(--primary);--logo-p:var(--accent)}
.mapa-g-cartao{position:absolute;left:50%;top:calc(46% + 18px);transform:translateX(-50%);z-index:var(--z-card);text-align:center;padding:14px 20px;border-radius:16px;background:var(--bg);box-shadow:var(--sombra-alta);width:max-content;max-width:calc(100% - 32px)}
.mapa-g-cartao b{display:block;font-family:var(--f-titulo);font-size:1.1rem}
.mapa-g-cartao span{display:block;font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.local-grid{grid-template-columns:1fr}.mapa-g{min-height:340px}}

/* ---------- rodapé ---------- */
.rodape{background:color-mix(in oklab,var(--deep) 82%,var(--ink));color:var(--on-deep);padding-block:72px 32px}
.rod-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.rodape .logo{color:var(--on-deep)}
.rodape .logo-sub{color:var(--texto-deep)}
.rodape{--logo-f:var(--on-deep);--logo-c:color-mix(in oklab,var(--deep) 82%,var(--ink))}
.rod-desc{color:var(--texto-deep);font-size:15px;margin-top:18px;max-width:40ch}
.rodape h2{font-size:1.15rem;margin-bottom:14px}
.rod-lista{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px;color:var(--texto-deep)}
.rod-lista a{text-decoration:none}
.rod-lista a:hover{color:var(--on-deep);text-decoration:underline}
.rod-lista li{display:flex;gap:10px;align-items:flex-start}
.rod-lista .ico{width:17px;height:17px;color:var(--accent);margin-top:3px}
.rod-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:52px;padding-top:24px;border-top:1px solid color-mix(in oklab,var(--on-deep) 16%,transparent);font-size:14px;color:var(--texto-deep)}
.rod-base b{color:var(--on-deep);font-weight:600}
@media (max-width:900px){.rod-grid{grid-template-columns:1fr 1fr}.rod-marca{grid-column:1/-1}}
@media (max-width:520px){.rod-grid{grid-template-columns:1fr}.rodape{padding-bottom:110px}}

/* ---------- flutuantes ---------- */
.flutua{position:fixed;right:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);z-index:var(--z-flutuante);display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.flu-urg{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;background:var(--emergencia);color:var(--sobre-semantico);font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 14px 28px -14px color-mix(in oklab,var(--emergencia) 90%,transparent);transition:transform .5s var(--ease)}
.flu-urg .ico{width:18px;height:18px}
.flu-zap{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--whatsapp);color:var(--sobre-semantico);box-shadow:0 16px 30px -12px color-mix(in oklab,var(--whatsapp) 90%,transparent);transition:transform .5s var(--ease)}
.flu-zap .ico{width:32px;height:32px}
.flu-zap::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--whatsapp);z-index:-1;opacity:.5}
html.anima .flu-zap::before{animation:onda 2.8s var(--ease) infinite}
@keyframes onda{from{transform:scale(1);opacity:.45}to{transform:scale(1.6);opacity:0}}
.flu-urg:hover,.flu-zap:hover{transform:translateY(-3px)}
@media (max-width:520px){.flu-urg span{display:none}.flu-urg{width:50px;height:50px;padding:0;justify-content:center}.flu-zap{width:58px;height:58px}}
/* ===== ajustes do site da Dra. Mariana Neves ===== */
.logo .logo-img{height:56px;width:auto;flex:none}
.logo-badge{width:52px;height:52px;flex:none;border-radius:14px;background:var(--bg);display:grid;place-items:center;padding:7px}
.logo-badge img{width:100%;height:auto;display:block}
.rodape .logo-nome,.rodape .logo-sub{color:var(--on-deep)}
.rodape .logo-sub{color:var(--texto-deep)}
.selo .ico{width:18px;height:18px;color:var(--primary)}

/* cidades atendidas */
.cidades{margin-top:26px;padding:24px;border-radius:var(--raio);background:var(--surface);border:1px solid var(--line)}
.cidades h3{display:flex;align-items:center;gap:9px;font-size:1.1rem}
.cidades h3 .ico{width:20px;height:20px;color:var(--primary)}
.cidades .chips{margin-top:16px}
.cidades>p{margin-top:14px;font-size:14.5px;color:var(--muted)}

/* perfil da veterinária */
.perfil{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(24px,4vw,52px);align-items:center;margin-top:44px;padding:clamp(20px,3vw,32px);border-radius:var(--raio-g);background:var(--bg);border:1px solid var(--line);box-shadow:var(--sombra)}
.perfil-foto{aspect-ratio:4/4.6;border-radius:var(--raio)}
.perfil-foto img{object-position:50% 28%}
.perfil-corpo .crmv{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--primary);margin:0}
.perfil-corpo .crmv .ico{width:18px;height:18px;color:var(--accent)}
.perfil-corpo .bio{color:var(--muted);font-size:16px;margin-top:14px;max-width:58ch}
.trilha{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.trilha li{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:start;padding-left:2px}
.trilha-ano{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-family:var(--f-titulo);font-weight:700;font-size:14px;line-height:1.1;text-align:center}
.trilha b{display:block;font-size:15.5px;line-height:1.35}
.trilha small{display:block;font-size:14px;color:var(--muted);margin-top:2px;line-height:1.4}
.perfil-corpo .chips{margin-top:24px}
.perfil-cta{margin-top:26px}

/* bloco para colegas veterinários */
.colegas{display:grid;grid-template-columns:minmax(0,6.6fr) minmax(0,3.4fr);gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(26px,4vw,48px);border-radius:var(--raio-g);background:var(--deep);color:var(--on-deep)}
.colegas .olho{color:var(--accent)}
.colegas .olho .ico{color:var(--accent)}
.colegas .titulo{color:var(--on-deep)}
.colegas p{color:var(--texto-deep);margin-top:18px;max-width:62ch}
.lista-clara li{color:var(--texto-deep);font-size:15.5px}
.lista-clara .ico{color:var(--accent)}
.colegas-foto{aspect-ratio:4/4.6;border-radius:var(--raio)}
.colegas-foto img{object-position:50% 22%}
.colegas .btn-primario{background:var(--accent);color:var(--on-accent)}
.colegas .btn-primario:hover{filter:brightness(1.06)}

/* contato */
.contato-foto{aspect-ratio:4/3.1;border-radius:var(--raio-g)}
.contato-foto img{object-position:50% 16%}

/* flutuante só com whatsapp */
.flutua .flu-zap{margin-left:auto}

@media (max-width:900px){
  .perfil{grid-template-columns:minmax(0,1fr)}
  .perfil-foto{aspect-ratio:4/3.4}
  .perfil-foto img{object-position:50% 24%}
  .colegas{grid-template-columns:minmax(0,1fr)}
  .colegas-foto{aspect-ratio:4/3.2;order:-1}
}
@media (max-width:560px){
  .trilha li{grid-template-columns:1fr;gap:6px}
  .trilha-ano{justify-self:start}
}


/* acabamento */
.numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
.numero b{font-size:clamp(1.7rem,2.4vw,2.3rem)}
.mes-nome{font-size:1.18rem;padding-right:24px}
@media (max-width:1040px){.numeros{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){
  .hero-card{left:0;right:0;min-width:0;max-width:100%}
}
@media (max-width:600px){.mes-nome{font-size:1.02rem;padding-right:0}}

.selo{display:block}
.selo .ico{vertical-align:-4px;margin-right:6px}
/* ===== paginas internas e home multi-servico ===== */
.nav a[aria-current="page"]{color:var(--primary);font-weight:600}
.hero-texto>[role="tabpanel"]>.selo:first-child,.hero-texto>.selo:first-child{margin-top:0}
.hero-simples .hero-texto h1{margin-top:14px}

/* cartoes de servico da home */
.servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:52px}
.servico{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--raio-g);overflow:hidden;box-shadow:var(--sombra);text-decoration:none;color:var(--ink);transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .3s}
.servico:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta);border-color:color-mix(in oklab,var(--primary) 40%,var(--line))}
.servico .foto{border-radius:0;aspect-ratio:4/2.9}
.servico-corpo{display:flex;flex-direction:column;flex:1;padding:26px 28px 28px}
.servico-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.servico-eyebrow .ico{width:18px;height:18px;color:var(--accent)}
.servico h3{font-size:clamp(1.35rem,2vw,1.6rem);margin-top:12px;line-height:1.2}
.servico p{color:var(--muted);font-size:15.5px;margin-top:10px;line-height:1.55}
.servico .lista{margin-top:16px}
.servico-link{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:20px;font-weight:600;color:var(--primary)}
.servico-link .ico{width:19px;height:19px;transition:transform .5s var(--ease)}
.servico:hover .servico-link .ico{transform:translateX(5px)}

/* chamada final das paginas internas */
.cta-final{display:grid;gap:22px;justify-items:center;text-align:center;padding:clamp(34px,5vw,60px);border-radius:var(--raio-g);background:var(--deep);color:var(--on-deep)}
.cta-final h2{font-family:var(--f-titulo);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;max-width:22ch}
.cta-final p{color:var(--texto-deep);max-width:56ch;font-size:16.5px}
.cta-final .btn-wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* destaques em linha */
.destaques{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.destaque{padding:26px;border-radius:var(--raio);background:var(--surface);border:1px solid var(--line)}
.destaque .card-ico{margin-bottom:16px}
.destaque h3{font-size:1.2rem}
.destaque p{color:var(--muted);font-size:15.5px;margin-top:8px;line-height:1.55}

@media (max-width:1000px){
  .servicos{grid-template-columns:minmax(0,1fr);max-width:620px;margin-inline:auto}
  .destaques{grid-template-columns:minmax(0,1fr)}
}

/* duas fotos lado a lado */
.est-dupla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:44px}
.est-dupla .foto{aspect-ratio:4/3.4;border-radius:var(--raio-g)}
.est-dupla .foto img{object-position:50% 42%}
@media (max-width:760px){.est-dupla{grid-template-columns:minmax(0,1fr)}}
.servico .foto img{object-position:50% 22%}

/* hero sem abas: texto e foto comecam na mesma linha */
.hero-simples .hero-grid{align-items:start}
.hero-simples .hero-fotos{aspect-ratio:5/5.3}
.hero-simples .hero-texto{padding-top:6px}
@media (max-width:960px){
  .hero-simples .hero-grid{align-items:center}
  .hero-simples .hero-fotos{aspect-ratio:4/4.2}
  .hero-simples .hero-texto{padding-top:0}
}

/* nav: item nunca quebra em duas linhas */
.nav a{white-space:nowrap}
@media (min-width:1241px) and (max-width:1420px){.nav a{padding-inline:10px;font-size:15px}.cab .wrap{gap:16px}}

/* marca 29/09: simbolo com moldura, sem badge no rodape */
.rodape .logo .logo-img{height:62px}
@media (max-width:560px){.logo .logo-img{height:48px}}

/* ===================== revisao final 29/09/2026 ===================== */
/* tipografia alinhada a logo nova: Marcellus nos titulos, Work Sans no resto */
:root{--f-titulo:"Marcellus",Georgia,"Times New Roman",serif;--whatsapp:#15803D}
h1,h2,.cta-final h2{font-weight:400;letter-spacing:-.01em}
.logo-nome{font-weight:400;letter-spacing:0;font-size:27px;color:var(--primary)}
.numero b{font-weight:400}
h3,h4,.hero-card b,.faixa-item,.passo-n,.mes-nome,.faq summary,.horario caption,.trilha-ano{font-family:var(--f-texto);font-weight:600;letter-spacing:-.005em}
.marca{box-shadow:inset 0 -.14em color-mix(in oklab,var(--accent) 75%,transparent)}
.nowrap{white-space:nowrap}

/* botoes: verde e sempre WhatsApp; ligar vira secundario com contorno */
.btn-campo{background:transparent;color:var(--primary);box-shadow:inset 0 0 0 1.5px var(--primary)}
.btn-campo:hover{background:color-mix(in oklab,var(--primary) 8%,transparent)}
.cta-final .btn-deep{background:transparent;color:var(--on-deep);box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--on-deep) 60%,transparent)}
.colegas .btn-primario{background:#B5532C;color:#fff}
.colegas .btn-primario:hover{background:#A34A27;filter:none}
.colegas .olho,.colegas .olho .ico{color:#E3936D}
.card-chamado p{opacity:1}
.card-chamado :focus-visible{outline-color:var(--deep)}

/* marca no cabecalho e no rodape */
.logo .logo-img{height:60px}
.rodape .logo .logo-img{height:72px;padding:3px;background:#F6F7EF;border-radius:50%}
.cab.rolou .wrap{min-height:66px}
.cab.rolou .logo .logo-img{height:48px}

/* cartao de contato claro, foto sem vazar da grade */
.local-card{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.local-linha small{color:var(--muted)}
.horario th,.horario td{border-color:var(--line)}
@media (min-width:901px){.local-grid .contato-foto{aspect-ratio:auto;min-height:100%}.local-grid .contato-foto img{position:absolute;inset:0}}
@media (max-width:900px){.contato-foto{display:none}}
.secao:has(.cta-final){padding-bottom:clamp(24px,3vw,40px)}

/* respiros e ajustes de secao */
.ga-topo + .ga-servicos{margin-top:clamp(36px,4vw,56px)}
.quem-opera .sobre-midia .foto img{object-position:50% 22%}
.sinais-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:34px;padding:24px 28px;border-radius:var(--raio);background:var(--surface);border:1px solid var(--line)}
.sinais-cta p{font-size:16.5px;max-width:60ch}
@media (min-width:1041px){.rod-grid{grid-template-columns:1.4fr 1fr 1.2fr .9fr}}
@media (max-width:1040px){.numero:last-child{grid-column:1/-1}}

/* toque confortavel */
.topo-chamado{padding-block:11px}
.local-linha a{display:inline-block;padding-block:12px;margin-block:-12px}
.rod-lista{gap:2px}.rod-lista li{align-items:center}.rod-lista .ico{margin-top:0}.rod-lista a{display:inline-block;padding-block:9px}

/* entrada do hero sem esconder o texto (LCP) */
html.anima h1.hero-entra,html.anima .hero-sub.hero-entra,html.anima .hero-midia.hero-entra{opacity:1;animation-name:sobe}
@keyframes sobe{from{transform:translateY(26px)}to{transform:none}}

/* botao flutuante e menu */
.flutua{transition:opacity .3s,transform .4s var(--ease)}
.flutua.some{opacity:0;transform:translateY(16px);pointer-events:none}
@media (max-width:1240px){html.menu-aberto{overflow:hidden}html.menu-aberto body::before{content:"";position:fixed;inset:0;z-index:39;background:color-mix(in oklab,var(--ink) 45%,transparent)}html.menu-aberto .flutua{opacity:0;pointer-events:none}}

/* celular */
@media (max-width:960px){
  .hero-card{position:relative;left:auto;right:auto;bottom:auto;margin:-34px 14px 0;max-width:none}
  html.anima .hero-texto .hero-entra{animation-duration:.5s;animation-delay:0s}
  html.anima .hero-acoes.hero-entra{animation:none;opacity:1;transform:none}
}
@media (max-width:900px){
  .faq-grid{display:flex;flex-direction:column;gap:0}
  .faq-grid>div:first-child{display:contents}
  .faq-grid .faq{order:2;margin-top:28px}
  .faq-grid .faq-ajuda{order:3;margin-top:28px}
}
@media (max-width:620px){.mosaico .f2{width:50%}.mosaico{padding-bottom:56px}}
@media (max-width:600px){.meses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .hero-giro{display:none}
  .logo .logo-img{height:50px}
  .lista,.card p,.card-escuro p,.servico p,.passo p,.destaque p,.faq-ajuda p,.horario{font-size:16px}
  .numero>span{font-size:13.5px;letter-spacing:.06em;text-transform:none}
}
@media (max-width:480px){
  .topo{display:none}
  .hero{padding-top:22px}
  .hero .selo{font-size:14px;line-height:1.45}
  .hero h1,.hero-simples .hero-texto h1{font-size:clamp(1.95rem,8.6vw,2.25rem);margin-top:10px}
  .hero-sub{font-size:1rem;line-height:1.55;margin-top:12px}
  .hero-acoes{margin-top:20px;gap:10px}
  .hero-acoes .btn{min-height:52px}
  .btn{padding-inline:18px;font-size:16px;gap:8px}
  .cta-final{padding:30px 20px}
  .cta-final .btn-wrap{width:100%;flex-direction:column}
  .cta-final .btn{width:100%}
  .faq-ajuda{padding:22px 18px}
  .sinais-cta{padding:20px}
  .sinais-cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.faixa-trilho{width:auto}.faixa-grupo{flex-wrap:wrap;justify-content:center;width:100%}.faixa-grupo[aria-hidden]{display:none}}
@media (max-width:560px){.selo .nowrap{display:block}.selo .sep{display:none}}
/* faixa mais discreta (30/09) */
.faixa{padding-block:11px}
.faixa-item{gap:10px;padding-inline:22px;font-size:clamp(.95rem,1.1vw,1.05rem)}
.faixa-item .ico{width:20px;height:20px}
/* descritivo igual ao da logo e rodape com a logo sem moldura (30/09) */
.cab .logo-sub{text-transform:none;letter-spacing:.03em;font-size:12.5px;font-weight:500;color:#B5532C;margin-top:6px}
.logo-rodape img{width:min(320px,100%);height:auto;display:block}
@media (max-width:560px){.cab .logo-sub{font-size:11px;letter-spacing:.01em}.logo-nome{font-size:23px}}

/* simbolo sem moldura no cabecalho (05/10): arvore maior que o texto, como na logo */
.cab .logo{gap:6px}
.cab .logo .logo-img{height:72px}
.cab.rolou .logo .logo-img{height:56px}
@media (max-width:560px){.cab .logo .logo-img{height:62px}.cab.rolou .logo .logo-img{height:54px}}

/* home sem subtitulo (05/10): texto curto centralizado na altura da foto */
@media (min-width:961px){.hero-curto .hero-grid{align-items:center}.hero-curto .hero-texto{padding-top:0}}

/* barra de contato no celular, como a do site da Cães e Cia (05/10) */
.barra-acoes{display:none}
@media (max-width:760px){
  .barra-acoes{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:var(--z-flutuante);display:flex;align-items:stretch;border-radius:999px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 40px -8px rgba(0,0,0,.32);transform:translateX(-50%);transition:opacity .35s,transform .45s var(--ease)}
  .barra-acoes a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding-inline:21px;text-decoration:none;font-family:var(--f-texto);font-weight:600;font-size:15.5px;line-height:1;-webkit-tap-highlight-color:transparent;transition:transform .2s}
  .barra-acoes a:active{transform:scale(.95)}
  .barra-acoes .ico{width:21px;height:21px}
  .barra-acoes .ba-tel{background:var(--primary);color:#fff}
  .barra-acoes .ba-zap{background:var(--whatsapp);color:var(--sobre-semantico);padding-inline:26px}
  .barra-acoes .ba-local{background:var(--accent);color:#fff}
  .barra-acoes a:focus-visible{outline:3px solid var(--ink);outline-offset:-5px}
  html.anima .barra-acoes{animation:barra-sobe .6s var(--ease) .5s both}
  html.menu-aberto .barra-acoes{animation:none;opacity:0;pointer-events:none;transform:translate(-50%,20px)}
  .flutua{display:none}
  .hero .hero-acoes{display:none}
  .rodape::after{content:"";display:block;height:78px}
}
@keyframes barra-sobe{from{opacity:0;transform:translate(-50%,26px)}to{opacity:1;transform:translateX(-50%)}}
