/* IntegraVet — estilos de interface v2 (após auditoria) */
/* Tokens: verde #1F3D30 · verde-profundo #0F2A1E · salvia #8A9A7B · salvia-texto #5E6E50
   oliva #CFD0B2 · oliva-clara #ECECE1 · menta #E3ECE6 · offwhite #F7F7F3 · linha #E3E8DF · linha-forte #C9D3C0
   Espaço: 4 8 12 16 24 32 40 48 56 64 80 96 128 · Raio: 12 20 28 pílula */

.iv{overflow-x:clip;container-type:inline-size;background:#F7F7F3;color:#2B4236;font-family:'Nunito',system-ui,sans-serif;font-size:16px;line-height:1.65}
.iv *{box-sizing:border-box}
.iv img{display:block}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.sec{padding:128px 0}
.sec.sec-tight{padding-top:80px}
.sec.sec-cont{padding-top:0}

/* Tipografia — escala fechada */
.ov{margin:0;font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#5E6E50}
.h1{margin:0;font-family:'Lexend',sans-serif;font-weight:500;font-size:52px;line-height:1.1;letter-spacing:-.02em;color:#1F3D30}
.h2{margin:0;font-family:'Lexend',sans-serif;font-weight:500;font-size:40px;line-height:1.2;letter-spacing:-.01em;color:#1F3D30}
.h3{margin:0;font-family:'Lexend',sans-serif;font-weight:500;font-size:24px;line-height:1.3;color:#1F3D30}
.h4{margin:0;font-family:'Lexend',sans-serif;font-weight:500;font-size:18px;line-height:1.35;color:#1F3D30}
.lead{margin:0;font-size:19px;line-height:1.6;color:#3F5447}
.body{margin:0;font-size:16px;line-height:1.65;color:#2B4236}
.small{margin:0;font-size:14px;line-height:1.5;color:#5E6E50}
.sig{font-family:'Caveat',cursive;font-weight:500;font-size:30px;line-height:1.2;color:#3F5447}
.sec-head{display:flex;flex-direction:column;gap:16px;max-width:720px;margin-bottom:56px}

/* Botões — G (56) só no hero, M (48) no resto */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;border:0;font-family:'Nunito',sans-serif;font-weight:700;font-size:16px;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s ease-out,box-shadow .2s ease-out,transform .1s}
.btn:active{transform:scale(.98)}
.btn-lg{height:56px;padding:0 28px}
.btn-p{background:#1F3D30;color:#FFFFFF}
.btn-p:hover{background:#0F2A1E;color:#FFFFFF;box-shadow:0 1px 2px rgba(15,42,30,.06),0 1px 1px rgba(15,42,30,.04)}
.btn-s{background:transparent;color:#1F3D30;box-shadow:inset 0 0 0 1.5px #1F3D30}
.btn-s:hover{background:#E3ECE6;color:#1F3D30}
.link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-family:inherit;font-size:16px;font-weight:700;color:#1F3D30;text-decoration:none;cursor:pointer}
.link svg{transition:transform .2s ease-out}
.link:hover{color:#0F2A1E;text-decoration:underline;text-underline-offset:4px}
.link:hover svg{transform:translateX(4px)}
.btn:focus-visible,.link:focus-visible,.svc:focus-visible,.q-btn:focus-visible,.menu-btn:focus-visible,.x-btn:focus-visible,.ig-tile:focus-visible{outline:3px solid #8A9A7B;outline-offset:2px}
.show-m{display:none}

/* Header */
.hdr{position:sticky;top:0;z-index:20;background:rgba(247,247,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid #E3E8DF}
.hdr-in{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:60px;height:60px;border-radius:50%;background:#FFFFFF;box-shadow:0 0 0 1px #E3E8DF}
.wm{font-family:'Lexend',sans-serif;font-weight:500;font-size:30px;line-height:1;color:#1F3D30}
.wm span{color:#8A9A7B}
.nav{display:flex;gap:32px}
.nav a{padding:8px 0;border-bottom:2px solid transparent;color:#2B4236;font-weight:700;font-size:15px;text-decoration:none}
.nav a:hover{color:#0F2A1E;border-bottom-color:#8A9A7B}
.menu-btn{display:none;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#1F3D30;align-items:center;justify-content:center;cursor:pointer}
.mnav{border-top:1px solid #E3E8DF;background:#F7F7F3;padding:8px 20px 24px;display:flex;flex-direction:column}
.mnav .ml{height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E3E8DF;font-family:'Lexend',sans-serif;font-weight:500;font-size:22px;color:#1F3D30;text-decoration:none}
.mnav-info{display:flex;flex-direction:column;gap:8px;margin:24px 0}

/* Hero */
.hero{position:relative;padding:80px 0 0}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.hero-txt{grid-column:1 / span 6;display:flex;flex-direction:column;align-items:flex-start}
.hero-txt .h1{margin-top:16px}
.hero-txt .lead{margin-top:24px;max-width:30em}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:40px}
.micro{margin-top:16px;display:flex;align-items:center;gap:8px}
.hero-media{grid-column:8 / span 5;position:relative}
.blob{position:absolute;inset:-7% -10% -6% -9%;background:#8A9A7B;opacity:.22;border-radius:46% 54% 42% 58% / 52% 44% 56% 48%}
.crop{position:relative;overflow:hidden;background:#CFD0B2}
.crop img{position:absolute;max-width:none;height:auto}
.r-xl{border-radius:28px}.r-l{border-radius:20px}.r-m{border-radius:12px}
.hero-crop{aspect-ratio:1/1}
.hero-crop img{width:116.13%;left:-8.06%;top:-106.45%}
.hero-crop.hero-photo{box-shadow:0 0 0 8px #FFFFFF,0 20px 48px rgba(15,42,30,.10)}
.hero-crop.hero-photo img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:45% 50%}
.paw{position:absolute;color:#C9D3C0}


/* Ícones */
.ico{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:#E3ECE6;color:#1F3D30}

/* Serviços */
.svc-sec{position:relative}
.svc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.svc-cell{grid-column:span 2;display:flex;flex-direction:column}
.svc-cell.c4{grid-column:2 / span 2}
.svc-cell.c5{grid-column:4 / span 2}
.svc{position:relative;flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:32px;border:0;border-radius:20px;background:#FFFFFF;text-align:left;font-family:inherit;font-size:16px;color:inherit;cursor:pointer;transition:box-shadow .2s ease-out,transform .2s ease-out}
.svc:hover{box-shadow:0 8px 24px rgba(15,42,30,.08);transform:translateY(-2px)}
.svc.on{box-shadow:inset 0 0 0 1.5px #1F3D30}
.svc .h4{display:block;margin:24px 48px 8px 0}
.svc-d{display:block;color:#3F5447}
.svc-arrow{position:absolute;right:24px;bottom:24px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1F3D30;transition:background .2s ease-out,transform .2s ease-out}
.svc:hover .svc-arrow{background:#E3ECE6;transform:translateX(2px)}
.svc-chev{display:none}
.svc-inline{display:none}
/* Detalhe (modal da seção no desktop) */
.sd-layer{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:40px;background:rgba(247,247,243,.82);backdrop-filter:blur(4px)}
.sd{position:relative;width:100%;max-width:640px;background:#FFFFFF;border-radius:20px;padding:40px;display:flex;flex-direction:column;gap:24px;box-shadow:0 16px 48px rgba(15,42,30,.14)}
.sd-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sd-box{display:flex;flex-direction:column;gap:12px}
.sd-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.sd-box li{display:flex;gap:10px;align-items:flex-start}
.sd-box li svg{flex:none;margin-top:5px}
.x-btn{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#F7F7F3;color:#1F3D30;display:flex;align-items:center;justify-content:center;cursor:pointer}
.x-btn:hover{background:#E3ECE6}

/* Onda */
.wave{display:block;width:100%;height:56px}

/* Quem cuida (Sobre + veterinários) */
.about{background:#ECECE1}
.about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.vet-crop{aspect-ratio:4/5}
.vet-crop img{width:170.67%;left:0;top:-8%}
.about-txt{grid-column:1 / span 5;display:flex;flex-direction:column;align-items:flex-start}
.about-txt .h2{margin-top:16px}
.about-txt .body{margin-top:24px;max-width:36em}
.pillars{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px 20px}
.pillars span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#5E6E50}
.pillars span::before{content:"";width:6px;height:6px;border-radius:50%;background:#8A9A7B}
.about-txt .sig{margin-top:32px}

/* Vacinação */
.vac{background:#E3ECE6}
.sec.vac{padding-bottom:96px}
.vac-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.vac-txt{grid-column:1 / span 6;display:flex;flex-direction:column;align-items:flex-start}
.brush{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px 32px 12px}
.brush svg{position:absolute;inset:0;width:100%;height:100%}
.brush span{position:relative;font-family:'Caveat',cursive;font-weight:500;font-size:44px;line-height:1;color:#FFFFFF}
.vac-txt .h2{margin-top:16px}
.vac-txt .body{margin-top:24px;max-width:30em}
.vac-txt .btn{margin-top:40px}
.vac-media{grid-column:8 / span 5;position:relative}
.vac-crop{aspect-ratio:4/5}
.vac-crop img{width:246.15%;left:-42.31%;top:-55.38%}

/* Instagram (provisório até a prova social) */
.ig-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.ig-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.ig-tile{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#ECECE1;display:flex;align-items:center;justify-content:center;color:#8A9A7B;text-decoration:none;transition:transform .2s ease-out}
.ig-tile:hover{transform:translateY(-2px);color:#5E6E50}

/* Dúvidas */
.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
.faq-head{grid-column:1 / span 4;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.faq-head .link{margin-top:16px}
.faq{grid-column:6 / span 7;border-top:1px solid #E3E8DF}
.q{border-bottom:1px solid #E3E8DF}
.q-btn{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border:0;background:none;text-align:left;cursor:pointer;font-family:'Lexend',sans-serif;font-weight:500;font-size:18px;line-height:1.35;color:#1F3D30}
.q-ic{flex:none;color:#5E6E50;transition:transform .2s ease-out}
.q-ic.open{transform:rotate(180deg);color:#1F3D30}
.q-a{margin:0;padding:0 48px 24px 0;color:#3F5447;max-width:640px}

/* Contato */
.ct-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center}
.ct-info{grid-column:1 / span 5;display:flex;flex-direction:column;align-items:flex-start}
.ct-info .h2{margin-top:16px}
.ct-list{width:100%;margin-top:40px;border-top:1px solid #E3E8DF}
.ct-row{display:flex;gap:16px;align-items:flex-start;padding:24px 0;border-bottom:1px solid #E3E8DF}
.ct-row svg{flex:none;margin-top:2px;color:#5E6E50}
.ct-txt{display:flex;flex-direction:column;gap:4px;align-items:flex-start;flex:1 1 auto;min-width:0}
.ct-val{font-weight:700;color:#1F3D30}
.hours{width:100%;margin:8px 0 4px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.hours div{display:flex;justify-content:space-between;gap:16px}
.ct-info .btn{margin-top:40px}
.ct-map{grid-column:7 / span 6;position:relative;display:block;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#ECECE1;text-decoration:none}
.ct-map iframe{display:block;width:100%;height:100%;border:0}
.map-open{text-decoration:none;top:12px;bottom:auto;right:12px}
.pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%)}
.pin-dot{width:52px;height:52px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#1F3D30;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(15,42,30,.24)}
.pin-dot img{width:38px;height:38px;border-radius:50%;transform:rotate(45deg);background:#FFFFFF;filter:none}
.map-open{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:#FFFFFF;color:#1F3D30;font-size:14px;font-weight:700;box-shadow:0 1px 2px rgba(15,42,30,.08)}
.map-attr{position:absolute;left:12px;bottom:10px;font-size:11px;color:#3F5447;background:rgba(255,255,255,.8);padding:2px 6px;border-radius:4px}

/* Footer */
.ftr{position:relative;background:#0F2A1E;color:#DCE6DE;padding:24px 0 32px}
.ftr-wave{display:block;width:100%;height:56px;background:#F7F7F3}
.ftr-top{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:40px 0}
.ftr-brand{display:flex;align-items:center;gap:16px}
.ftr-brand img{width:52px;height:52px;border-radius:50%;background:#FFFFFF}
.ftr-links{display:flex;gap:28px;flex-wrap:wrap}
.ftr a{color:#FFFFFF;text-decoration:none;font-weight:700}
.ftr a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:4px}
.ftr-bottom{padding-top:24px;border-top:1px solid rgba(220,230,222,.18);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:#A9BBA9}
.ftr-bottom a{font-weight:400;color:#A9BBA9}

/* Barra fixa (tablet e celular) */
.mbar{display:none;position:sticky;bottom:0;z-index:30;gap:12px;align-items:center;background:#FFFFFF;padding:12px 20px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 32px rgba(15,42,30,.12)}
.mbar .btn-p{flex:1 1 auto}
.sq{width:48px;height:48px;padding:0;flex:none}

/* Aviso de foto provisória */
.tmp{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;font-size:0;color:transparent}
.tmp::before,.tmp::after{content:"FOTO PROVISÓRIA · SERÁ SUBSTITUÍDA";position:absolute;left:-40%;right:-40%;top:50%;padding:8px 0;background:rgba(15,42,30,.86);color:#FFFFFF;font-family:"Nunito",sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.3;text-align:center;white-space:nowrap}
.tmp::before{transform:translateY(-50%) rotate(40deg)}
.tmp::after{transform:translateY(-50%) rotate(-40deg)}
.tmp-sm::before,.tmp-sm::after{content:"PROVISÓRIA";padding:3px 0;font-size:9px}


/* Veterinários (2) */
.vets{grid-column:7 / span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.vet{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.vet .crop{width:100%;margin-bottom:14px}
.vet-crop.vet-photo img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.vet-ph{display:flex;align-items:center;justify-content:center;color:#8A9A7B;background:#DCDCCB}
.vet .bio{margin:8px 0 4px}
.vet .link{font-size:14px;margin-top:6px}

/* Rolagem lateral (celular) */
.dots{display:none}
.dot{width:8px;height:8px;border-radius:999px;background:#C9D3C0;transition:width .25s ease-out,background .25s ease-out}
.dot.on{width:24px;background:#1F3D30}
.vets,.ig-strip,.filters{scrollbar-width:none;-ms-overflow-style:none}
.vets::-webkit-scrollbar,.ig-strip::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}

/* Blog — cards */
.blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.blog-head .sec-head{margin-bottom:0}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.post{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}
.post-img{position:relative;aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#ECECE1;display:flex;align-items:center;justify-content:center;color:#8A9A7B;transition:transform .2s ease-out}
.post:hover .post-img{transform:translateY(-2px)}
.post:hover .h4{text-decoration:underline;text-underline-offset:4px}
.post-txt{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}
.tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#E3ECE6;color:#1F3D30;font-size:13px;font-weight:700}
.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Blog — página */
.page-head{padding:80px 0 48px;max-width:720px;display:flex;flex-direction:column;gap:16px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.chip-f{flex:none;height:40px;padding:0 18px;border:0;border-radius:999px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8DF;font-family:inherit;font-size:14px;font-weight:700;color:#2B4236;cursor:pointer;transition:background .2s ease-out}
.chip-f:hover{background:#E3ECE6}
.chip-f.on{background:#1F3D30;color:#FFFFFF;box-shadow:none}
.chip-f:focus-visible{outline:3px solid #8A9A7B;outline-offset:2px}
.feat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:center;margin-bottom:80px;text-decoration:none;color:inherit}
.feat .post-img{grid-column:1 / span 7;aspect-ratio:16/10;border-radius:28px}
.feat-txt{grid-column:9 / span 4;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.feat:hover .h2{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.empty{padding:48px 0;color:#5E6E50}
.help{margin-top:96px;background:#E3ECE6;border-radius:28px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* Artigo */
.crumbs{display:flex;align-items:center;gap:8px;padding-top:56px;font-size:14px;color:#5E6E50}
.crumbs a{color:#1F3D30;font-weight:700;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.h1-art{margin:0;font-family:Lexend,sans-serif;font-weight:500;font-size:44px;line-height:1.15;letter-spacing:-.02em;color:#1F3D30}
.art-head{display:flex;flex-direction:column;gap:20px;align-items:flex-start;padding:32px 0 40px}
.art-meta{display:flex;align-items:center;gap:12px}
.art-av{width:44px;height:44px;border-radius:50%;overflow:hidden;position:relative;flex:none;background:#CFD0B2}
.art-av img{position:absolute;width:312.5%;max-width:none;left:-56.8%;top:-22.9%}
.art-head .h1-art{max-width:18em}
.art-av.art-av-photo img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.art-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
.art-col{grid-column:1 / span 8;min-width:0}
.art-aside{grid-column:10 / span 3;position:sticky;top:112px;display:flex;flex-direction:column;gap:40px;padding-top:32px}
.aside-block{display:flex;flex-direction:column;gap:16px}
.toc-list{display:flex;flex-direction:column;gap:12px}
.toc-list a{color:#2B4236;font-size:15px;line-height:1.45;text-decoration:none}
.toc-list a:hover{color:#1F3D30;text-decoration:underline;text-underline-offset:4px}
.aside-cta{background:#E3ECE6;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.aside-cta .btn{margin-top:12px;width:100%}
.toc-m{flex-direction:column;border-top:1px solid #E3E8DF;border-bottom:1px solid #E3E8DF;margin-bottom:32px}
.toc-btn{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;border:0;background:none;padding:0;font-family:inherit;font-size:15px;font-weight:700;color:#1F3D30;cursor:pointer}
.toc-btn:focus-visible{outline:3px solid #8A9A7B;outline-offset:2px}
.toc-m .toc-list{padding:0 0 20px}
.only-narrow{display:none}
.art-hero{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#ECECE1;display:flex;align-items:center;justify-content:center;color:#8A9A7B;margin-bottom:56px}
.prose{display:flex;flex-direction:column;gap:20px}
.prose p,.prose li{margin:0;font-size:18px;line-height:1.75;color:#2B4236}
.prose .h3{margin-top:24px}
.prose ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.callout{margin:24px 0;background:#E3ECE6;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.callout .btn{margin-top:8px}
.disclaimer{margin-top:32px;padding-top:24px;border-top:1px solid #E3E8DF}

/* Tablet */
@container (max-width: 1023px){
  .wrap{padding:0 32px}
  .sec{padding:96px 0}
  .sec.sec-tight{padding-top:64px}
  .sec.vac{padding-bottom:72px}
  .nav,.hdr-cta{display:none}
  .menu-btn{display:inline-flex}
  .hdr-in{height:68px}
  .brand{gap:12px}
  .brand img{width:44px;height:44px}
  .wm{font-size:22px}
  .hero{padding:48px 0 0}
  .hero-grid,.about-grid,.vac-grid,.ct-grid,.faq-grid{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .hero-txt,.hero-media,.vets,.about-txt,.vac-txt,.vac-media,.ct-info,.ct-map,.faq-head,.faq{grid-column:1 / -1}
  .hero-media,.vac-media{width:100%;max-width:520px;justify-self:center}
  .faq-grid{row-gap:32px}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-cell,.svc-cell.c4{grid-column:auto}
  .svc-cell.c5{grid-column:1 / -1}
  .ig-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat{row-gap:32px}
  .feat .post-img,.feat-txt{grid-column:1 / -1}
  .page-head{padding-top:56px}
  .only-wide{display:none}
  .only-narrow{display:flex}
  .art-col{grid-column:1 / -1}
  .art-head{padding-bottom:24px}
  .mbar{display:flex}
}

/* Celular */
@container (max-width: 639px){
  .wrap{padding:0 20px}
  .sec{padding:72px 0}
  .sec.sec-tight{padding-top:56px}
  .sec.vac{padding-bottom:56px}
  .h1{font-size:34px}
  .h2{font-size:28px}
  .h3{font-size:22px}
  .lead{font-size:17px}
  .ov{font-size:12px}
  .sig{font-size:26px}
  .sec-head{margin-bottom:32px;gap:12px}
  .hide-m{display:none}
  .show-m{display:inline-flex}
  .hero{padding:32px 0 0}
  .hero-txt .h1{margin-top:12px}
  .hero-txt .lead{margin-top:16px}
  .ctas{flex-direction:column;align-items:stretch;gap:20px;margin-top:32px;width:100%}
  .ctas .link{align-self:center}
  .micro{align-self:center;margin-top:20px}
  .hero-media{max-width:none}
  .hero-crop{aspect-ratio:4/3}
  .hero-crop img{width:100%;left:0;top:-133.33%}
  .blob{inset:-4% -5% -4% -5%}
  /* Serviços viram lista-acordeão */
  .svc-grid{display:flex;flex-direction:column;gap:0;border-top:1px solid #E3E8DF}
  .svc-cell{border-bottom:1px solid #E3E8DF}
  .svc{flex-direction:row;align-items:center;gap:16px;padding:12px 0;min-height:72px;border-radius:0;background:transparent}
  .svc:hover{box-shadow:none;transform:none}
  .svc.on{box-shadow:none}
  .svc .ico{width:40px;height:40px}
  .svc .h4{margin:0;flex:1 1 auto}
  .svc-d,.svc-arrow{display:none}
  .svc-chev{display:flex;color:#5E6E50;transition:transform .2s ease-out}
  .svc.on .svc-chev{transform:rotate(180deg);color:#1F3D30}
  .svc-inline{display:flex;flex-direction:column;gap:16px;padding:0 0 24px 56px}
  .svc-inline .btn{align-self:stretch}
  .sd-layer{display:none}
  .vets{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding:0 20px;-webkit-overflow-scrolling:touch;gap:16px;margin:0 -20px;padding:0 20px 8px}
  .vet{flex:0 0 78%;scroll-snap-align:start}
  .dots{display:flex;justify-content:center;gap:8px;margin-top:-28px;grid-column:1 / -1}
  .posts{grid-template-columns:minmax(0,1fr);gap:20px}
  .posts .post{flex-direction:row;align-items:flex-start;gap:16px}
  .posts .post-img{flex:0 0 104px;aspect-ratio:1/1;border-radius:12px}
  .posts .post-img .tmp::before,.posts .post-img .tmp::after{content:"PROVISÓRIA";padding:3px 0;font-size:9px}
  .posts .post .tag{display:none}
  .blog-head{flex-direction:column;align-items:flex-start;gap:12px}
  .filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:0 20px 4px}
  .feat{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .h1-art{font-size:30px}
  .prose p,.prose li{font-size:17px}
  .callout{padding:24px}
  .callout .btn{width:100%}
  .art-meta{flex-wrap:wrap}
  .vac-media{order:-1;max-width:none}
  .vac-crop{aspect-ratio:4/3}
  .vac-crop img{width:228.57%;left:-35.71%;top:-109.52%}
  .vac-txt .btn{margin-top:32px;width:100%}
  .brush span{font-size:38px}
  .ig-head{flex-direction:column;align-items:flex-start;gap:12px}
  .ig-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding:0 20px;gap:12px;margin:0 -20px;padding:0 20px 4px}
  .ig-tile{flex:0 0 42%;scroll-snap-align:start}
  .q-btn{font-size:17px;min-height:64px}
  .q-a{padding-right:0}
  .ct-info .btn{width:100%}
  .ct-map{aspect-ratio:16/10}
  .ftr-top{flex-direction:column;align-items:flex-start;gap:24px;padding:32px 0}
  .ftr-links{gap:16px 24px}
  .ftr-bottom{flex-direction:column}
}

/* ===== Site (implementação) ===== */
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#F7F7F3}
a{color:#1F3D30}a:hover{color:#0F2A1E}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:#1F3D30;color:#FFFFFF;padding:8px 16px;border-radius:999px;font-weight:700}
.skip:focus{left:16px;color:#FFFFFF}
.svc-sec .sd-layer{position:fixed;z-index:40}
.ig-tile img{position:absolute}
.vac-crop.vac-photo img,.ig-tile img{left:0;top:0;width:100%;height:100%;object-fit:cover}
.vac-crop.vac-photo img{object-position:50% 40%}

.nav a[aria-current="page"]{color:#0F2A1E;border-bottom-color:#8A9A7B}
.post[hidden],.feat[hidden]{display:none!important}
@container (max-width: 639px){
  .vac-crop.vac-photo img{object-position:50% 45%}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .iv *{transition:none!important}
}
/* Pautas ainda não publicadas (sem link) */
div.post:hover .post-img{transform:none}
div.post:hover .h4{text-decoration:none}
.q h3{font:inherit}
/* Fotos do blog */
.post-img img,.art-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.art-hero{margin:0 0 56px}
.art-credit{position:absolute;right:12px;bottom:10px;font-size:11px;color:#3F5447;background:rgba(255,255,255,.85);padding:2px 8px;border-radius:4px}
.art-credit a{color:inherit}
.prose a{color:#1F3D30;font-weight:700;text-underline-offset:3px}
.prose strong{color:#1F3D30}

/* Hero no celular: foto primeiro, sobre fundo verde */
.hero-wave{display:none}
@container (max-width: 639px){
  .hero{padding:0;background:#1F3D30}
  .hero-grid{row-gap:0}
  .hero-media{order:-1;margin:0 -20px;width:auto;max-width:none;justify-self:stretch}
  .hero-media .blob{display:none}
  .hero-crop.hero-photo{aspect-ratio:5/4;border-radius:0;box-shadow:none;background:#B9C7B0}
  .hero-crop.hero-photo img{object-position:47% 30%}
  .hero-crop.hero-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(to bottom,rgba(31,61,48,0),rgba(31,61,48,.75) 60%,#1F3D30)}
  .hero-txt{position:relative;z-index:1;margin-top:-72px;padding-bottom:40px}
  .hero .ov{color:#CFD0B2}
  .hero .h1{color:#FFFFFF}
  .hero .lead{color:rgba(255,255,255,.86)}
  .hero .btn-p,.hero .btn-p:hover{background:#FFFFFF;color:#1F3D30}
  .hero .link{color:#FFFFFF}
  .hero .micro{color:rgba(255,255,255,.72)}
  .hero-wave{display:block;background:#1F3D30}
}
/* Barra fixa: escondida enquanto o botão do topo ou o Contato estão na tela */
.mbar{transition:transform .25s ease-out,visibility .25s}
.mbar.mbar-off{transform:translateY(110%);visibility:hidden}
/* Foto da vacinação: mesma proporção da imagem, sem cortar os rostos */
.vac-crop.vac-photo{aspect-ratio:360/322}
.vac-crop.vac-photo img{object-position:50% 50%}
/* Barra fixa flutua sobre a página: escondida, não deixa espaço em branco no fim */
.mbar{position:fixed;left:0;right:0;bottom:0}
/* Páginas em que a barra fica sempre visível (sem o topo da home): reserva o espaço dela no rodapé */
@container (max-width: 1023px){
  .iv:not(:has(.hero)) .ftr{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}
