/* Peças comuns das homes públicas redesenhadas: o que o movimento
   (js/site-vitrine-motion.js) precisa para não cortar nem vazar, o mapa do
   endereço (partials/site-mapa) e as perguntas frequentes. O desenho de cada
   vertical mora na folha da própria vertical. */
[data-pv-split] .pv-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.14em .02em .1em;margin:-.14em -.02em -.1em}
[data-pv-split] .pv-w>span{display:inline-block}
[data-pv-split].pv-aberto .pv-w{overflow:visible}
.pv-preview{position:fixed;left:0;top:0;z-index:60;width:260px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;pointer-events:none;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);visibility:hidden}
.pv-preview img{width:100%;height:100%;object-fit:cover}
/* Faixa contínua: sem o script ela fica parada e cortada, nunca larga demais. */
[data-pv="marquee"]{overflow:hidden;max-width:100%}
[data-pv="marquee"] [data-pv-trilho]{display:flex;width:max-content}
/* Trilho horizontal: no celular (ou sem o script) vira um carrossel de dedo. */
[data-pv="horizontal"]:not(.pv-horizontal-ativo) [data-pv-trilho]{overflow-x:auto;scroll-padding-inline:16px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
[data-pv="horizontal"]:not(.pv-horizontal-ativo) [data-pv-trilho]::-webkit-scrollbar{display:none}
[data-pv="horizontal"]:not(.pv-horizontal-ativo) [data-pv-trilho]>*{scroll-snap-align:start}
[data-pv="horizontal"].pv-horizontal-ativo{overflow:hidden}
[data-pv="horizontal"].pv-horizontal-ativo [data-pv-trilho]{width:max-content;will-change:transform}
/* Mapa do endereço */
.pv-mapa{position:relative;border-radius:22px;overflow:hidden;min-height:340px;background:color-mix(in srgb,currentColor 8%,transparent)}
.pv-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.04)}
.pv-mapa-rota{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:#111;font-weight:800;font-size:max(16px,.9rem);text-decoration:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
/* Perguntas frequentes (details/summary: abre e fecha sem script) */
.pv-faq{display:grid;gap:10px}
.pv-faq details{border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:16px;padding:0 22px;transition:background .25s}
.pv-faq details[open]{background:color-mix(in srgb,currentColor 4%,transparent)}
.pv-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-weight:800;font-size:1.05rem}
.pv-faq summary::-webkit-details-marker{display:none}
.pv-faq summary:after{content:"+";font-size:1.5rem;font-weight:400;transition:transform .3s;flex:0 0 auto}
.pv-faq details[open] summary:after{transform:rotate(45deg)}
.pv-faq details p{margin:0 0 22px;opacity:.78;line-height:1.7;max-width:70ch}
@media (prefers-reduced-motion:reduce){.pv-preview{display:none}}

/* ==== Kit das homes públicas (pv-*) ====
   As verticais com os cinco modelos do cliente (pv-tpl-1..5 na própria home, ver App\Support\VitrinePublica) montam a
   home com estas peças. O conteúdo e a ordem das seções são de cada vertical;
   aqui moram a estrutura, o ritmo e as cinco composições. A folha da vertical
   só declara a identidade (fontes, acento, detalhes do nicho) por tokens.
   Paleta: --tt-* do layout (claro e escuro) e as cores de contraste
   calculadas para a cor do dono (--sp-cta-*, --sp-active*). */
.pv-home{
  --pv-paper:var(--tt-paper,#f8fafc);--pv-panel:var(--tt-panel,#fff);--pv-ink:var(--tt-ink,#14233b);--pv-muted:var(--tt-muted,#52647a);--pv-line:var(--tt-line,rgba(20,35,59,.14));
  --pv-accent:var(--sc-primary,#2563eb);--pv-accent-text:var(--sp-active,var(--pv-accent));--pv-cta-bg:var(--sp-cta-bg,var(--pv-accent));--pv-cta-ink:var(--sp-cta-ink,#fff);
  --pv-soft:color-mix(in srgb,var(--pv-accent) 7%,var(--pv-paper));--pv-tint:color-mix(in srgb,var(--pv-accent) 14%,transparent);
  --pv-dark:color-mix(in srgb,var(--pv-accent) 14%,#0b1016);--pv-dark-2:color-mix(in srgb,var(--pv-accent) 10%,#141b24);
  --pv-display:'Plus Jakarta Sans','Inter',system-ui,sans-serif;--pv-body:'Inter',system-ui,sans-serif;--pv-display-weight:800;--pv-display-track:-.045em;--pv-display-case:none;--pv-display-lh:.98;
  --pv-radius:22px;--pv-radius-lg:28px;--pv-btn-radius:999px;--pv-max:1200px;--pv-gutter:clamp(16px,4vw,32px);
  background:var(--pv-paper);color:var(--pv-ink);font-family:var(--pv-body);overflow-x:clip
}
.pv-home.pv-escuro{--pv-paper:var(--tt-paper,#0f151d);--pv-panel:var(--tt-panel,#18212c);--pv-ink:var(--tt-ink,#f2f6fa);--pv-muted:var(--tt-muted,#b6c2cf);--pv-line:var(--tt-line,rgba(255,255,255,.14));--pv-accent-text:var(--sp-active-dark,var(--pv-accent));--pv-soft:color-mix(in srgb,var(--pv-accent) 9%,var(--pv-paper));--pv-dark:color-mix(in srgb,var(--pv-accent) 8%,#070a0e)}
.pv-home *{box-sizing:border-box}
.pv-home :is(h1,h2,h3){font-family:var(--pv-display)!important;font-weight:var(--pv-display-weight);letter-spacing:var(--pv-display-track);text-transform:var(--pv-display-case);color:inherit;margin:0;line-height:1.08}
.pv-home p{margin:0}
.pv-wrap{width:min(var(--pv-max),calc(100% - 2*var(--pv-gutter)));margin-inline:auto}
.pv-home .pv-sec{padding:clamp(76px,9.5vw,140px) 0;background:var(--pv-paper);color:var(--pv-ink);position:relative}
.pv-home .pv-sec.pv-tone-soft{background:var(--pv-soft)}
.pv-home .pv-sec.pv-tone-panel{background:var(--pv-panel)}
.pv-home .pv-tone-dark{--pv-paper:var(--pv-dark);--pv-panel:var(--pv-dark-2);--pv-ink:#f4f7fa;--pv-muted:rgba(232,238,245,.7);--pv-line:rgba(255,255,255,.13);--pv-accent-text:var(--sp-active-dark,var(--pv-accent));--pv-soft:rgba(255,255,255,.05);background:var(--pv-paper);color:var(--pv-ink)}
.pv-home .pv-kicker{display:inline-flex;align-items:center;gap:10px;font:800 16px/1.2 var(--pv-body);letter-spacing:.13em;text-transform:uppercase;color:var(--pv-accent-text)}
.pv-home .pv-kicker:before{content:"";width:26px;height:1.5px;background:currentColor;border-radius:2px}
.pv-home .pv-head{display:grid;gap:16px;max-width:780px;margin:0 0 clamp(36px,5vw,64px)}
.pv-home .pv-head.is-center{margin-inline:auto;text-align:center;justify-items:center}
.pv-home .pv-head.is-split{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.pv-home .pv-head.is-split>div{display:grid;gap:16px;max-width:760px}
.pv-home .pv-h2{font-size:clamp(2.2rem,4.8vw,4.1rem);line-height:var(--pv-display-lh)}
.pv-home .pv-lead{color:var(--pv-muted);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.7;max-width:60ch}
.pv-home .pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:var(--pv-btn-radius);border:1px solid transparent;font:800 max(15px,.94rem)/1 var(--pv-body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.pv-home .pv-btn i{font-size:.86em;transition:transform .25s}
.pv-home .pv-btn:hover i{transform:translateX(3px)}
.pv-home .pv-btn-primary{background:var(--pv-cta-bg);color:var(--pv-cta-ink);box-shadow:0 18px 40px -20px color-mix(in srgb,var(--pv-accent) 85%,transparent)}
.pv-home .pv-btn-primary:hover{box-shadow:0 24px 52px -18px color-mix(in srgb,var(--pv-accent) 95%,transparent)}
.pv-home .pv-btn-line{background:transparent;color:var(--pv-ink);border-color:color-mix(in srgb,var(--pv-ink) 24%,transparent)}
.pv-home .pv-btn-line:hover{border-color:var(--pv-ink);background:color-mix(in srgb,var(--pv-ink) 5%,transparent)}
.pv-home .pv-btn-glass{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.32);backdrop-filter:blur(10px)}
.pv-home .pv-btn-glass:hover{background:rgba(255,255,255,.18)}
.pv-home .pv-btn-xl{min-height:64px;padding:0 34px;font-size:1.05rem}
.pv-home .pv-actions{display:flex;flex-wrap:wrap;gap:12px}
.pv-home .pv-link{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--pv-ink);text-decoration:none;border-bottom:1.5px solid color-mix(in srgb,var(--pv-ink) 25%,transparent);padding-bottom:7px;width:max-content;white-space:nowrap}
.pv-home .pv-link:hover{color:var(--pv-accent-text);border-color:currentColor}
.pv-home figure{margin:0}
.pv-home .pv-photo{border-radius:var(--pv-radius-lg);overflow:hidden;background:var(--pv-soft)}
.pv-home .pv-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pv-home .pv-note{font-size:max(16px,.78rem);color:var(--pv-muted)}

/* ---------- Herói: um HTML, cinco composições ---------- */
.pv-home .pv-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--pv-paper);color:var(--pv-ink)}
.pv-home .pv-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(56px,7vw,96px) 0 clamp(56px,7vw,100px)}
.pv-home .pv-hero-copy{display:grid;gap:24px;position:relative;z-index:2;min-width:0}
.pv-home .pv-hero h1{font-size:clamp(3rem,6.6vw,6.4rem);line-height:.94;text-wrap:balance}
.pv-home .pv-hero h1 em{font-style:normal;color:var(--pv-accent-text)}
.pv-home .pv-hero-text{font-size:clamp(1.04rem,1.35vw,1.22rem);line-height:1.65;color:var(--pv-muted);max-width:52ch}
.pv-home .pv-hero-proof{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--pv-muted);font-size:max(16px,.92rem);font-weight:600}
.pv-home .pv-hero-proof span{display:inline-flex;align-items:center;gap:8px}
.pv-home .pv-hero-proof i{color:var(--pv-accent-text)}
.pv-home .pv-hero-media{position:relative;border-radius:var(--pv-radius-lg);overflow:hidden;aspect-ratio:4/5;max-height:720px;background:var(--pv-soft)}
.pv-home .pv-hero-media img{width:100%;height:100%;object-fit:cover;transform-origin:50% 40%}
.pv-home .pv-hero-card{position:absolute;z-index:3;left:clamp(-40px,-3vw,-16px);bottom:clamp(24px,4vw,48px);display:grid;gap:14px;min-width:250px;padding:20px 22px;border-radius:20px;background:color-mix(in srgb,var(--pv-panel) 86%,transparent);backdrop-filter:blur(16px) saturate(1.2);border:1px solid color-mix(in srgb,var(--pv-ink) 10%,transparent);box-shadow:0 30px 60px -30px rgba(10,20,40,.4);color:var(--pv-ink)}
.pv-home .pv-hero-media-wrap{position:relative}
.pv-home .pv-fact{display:grid;gap:3px}
.pv-home .pv-fact small{font-size:max(16px,.74rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
.pv-home .pv-fact strong{font:800 1.12rem/1.2 var(--pv-display);font-size:max(16px,1.12rem);letter-spacing:-.02em}
.pv-home .pv-fact strong i{color:#f5b301;font-size:.85em}
.pv-home .pv-status{display:flex;align-items:center;gap:10px;font-weight:800}
.pv-home .pv-status small{font-weight:500;color:var(--pv-muted)}
.pv-home .pv-dot{width:9px;height:9px;border-radius:50%;background:var(--pv-muted)}
.pv-home .pv-dot.is-on{background:#22c55e;animation:pv-pulso 2s infinite}
@keyframes pv-pulso{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* 1. Imersivo: foto em tela cheia com véu escuro, texto à esquerda. */
.pv-home.pv-tpl-1 .pv-hero{background:#0b1016;color:#fff;min-height:min(900px,calc(100svh - 64px));display:flex;align-items:flex-end}
.pv-home.pv-tpl-1 .pv-hero-grid{width:min(var(--pv-max),calc(100% - 2*var(--pv-gutter)));grid-template-columns:minmax(0,1fr) 300px;align-items:end;padding:120px 0 clamp(56px,7vw,90px)}
.pv-home.pv-tpl-1 .pv-hero-media-wrap,.pv-home.pv-tpl-1 .pv-hero-grid{position:static}
.pv-home.pv-tpl-1 .pv-hero-media{position:absolute;inset:0;z-index:-1;border-radius:0;aspect-ratio:auto;max-height:none}
.pv-home.pv-tpl-1 .pv-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,16,.45),rgba(6,10,16,.12) 35%,rgba(6,10,16,.6) 70%,rgba(6,10,16,.92)),linear-gradient(90deg,rgba(6,10,16,.75),rgba(6,10,16,0) 65%)}
.pv-home.pv-tpl-1 .pv-hero :is(h1,.pv-hero-text,.pv-hero-proof,.pv-kicker){color:#fff}
.pv-home.pv-tpl-1 .pv-hero h1 em{color:var(--sp-active-dark,var(--pv-accent))}
.pv-home.pv-tpl-1 .pv-hero-text,.pv-home.pv-tpl-1 .pv-hero-proof{color:rgba(255,255,255,.8)}
.pv-home.pv-tpl-1 .pv-hero-proof i{color:var(--sp-active-dark,var(--pv-accent))}
.pv-home.pv-tpl-1 .pv-hero-card{position:relative;left:auto;bottom:auto;background:rgba(10,14,20,.45);color:#fff;border-color:rgba(255,255,255,.16)}
.pv-home.pv-tpl-1 .pv-hero-card .pv-fact small,.pv-home.pv-tpl-1 .pv-hero-card .pv-status small{color:rgba(255,255,255,.66)}
.pv-home.pv-tpl-1 .pv-hero .pv-btn-line{color:#fff;border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}

/* 2. Clássico: texto à esquerda, foto arredondada à direita com cartão flutuante. */
.pv-home.pv-tpl-2 .pv-hero{background:linear-gradient(180deg,var(--pv-soft),var(--pv-paper) 85%)}

/* 3. Essencial: título centralizado e foto larga logo abaixo. */
.pv-home.pv-tpl-3{--pv-radius:26px;--pv-radius-lg:32px}
.pv-home.pv-tpl-3 .pv-hero-grid{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding-top:clamp(64px,8vw,120px);gap:clamp(40px,5vw,64px)}
.pv-home.pv-tpl-3 .pv-hero-copy{justify-items:center;max-width:980px}
.pv-home.pv-tpl-3 .pv-hero h1{font-size:clamp(3.1rem,7.4vw,7.2rem)}
.pv-home.pv-tpl-3 .pv-hero-text{margin-inline:auto}
.pv-home.pv-tpl-3 .pv-hero-proof,.pv-home.pv-tpl-3 .pv-hero .pv-actions{justify-content:center}
.pv-home.pv-tpl-3 .pv-hero-media-wrap{width:100%}
.pv-home.pv-tpl-3 .pv-hero-media{aspect-ratio:21/9;max-height:620px;width:100%}
.pv-home.pv-tpl-3 .pv-hero-card{left:50%;transform:translateX(-50%);bottom:-1px;border-radius:22px 22px 0 0;grid-auto-flow:column;gap:34px;text-align:left;min-width:0;width:max-content;max-width:calc(100% - 32px)}

/* 4. Editorial: faixa escura, caixa alta, foto sangrando à direita, cantos retos. */
.pv-home.pv-tpl-4{--pv-display:'Oswald','Archivo',system-ui,sans-serif;--pv-display-weight:700;--pv-display-track:-.005em;--pv-display-case:uppercase;--pv-display-lh:1;--pv-radius:0px;--pv-radius-lg:0px;--pv-btn-radius:0px}
.pv-home.pv-tpl-4 .pv-hero{background:#090d14;color:#fff}
.pv-home.pv-tpl-4 .pv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(56px,6vw,90px) 0}
.pv-home.pv-tpl-4 .pv-hero h1{font-size:clamp(3.2rem,7vw,7rem);line-height:.92}
.pv-home.pv-tpl-4 .pv-hero :is(.pv-kicker,.pv-hero-proof i){color:var(--sp-active-dark,var(--pv-accent))}
.pv-home.pv-tpl-4 .pv-hero h1 em{color:var(--sp-active-dark,var(--pv-accent))}
.pv-home.pv-tpl-4 .pv-hero :is(.pv-hero-text,.pv-hero-proof){color:rgba(255,255,255,.76)}
.pv-home.pv-tpl-4 .pv-hero-media{aspect-ratio:auto;height:min(680px,72vh);margin-right:calc(-1*max(var(--pv-gutter),(100vw - var(--pv-max))/2))}
.pv-home.pv-tpl-4 .pv-hero-card{background:#0f1520;color:#fff;border:0;border-left:4px solid var(--pv-accent);border-radius:0;backdrop-filter:none}
.pv-home.pv-tpl-4 .pv-hero-card :is(small){color:rgba(255,255,255,.62)}
.pv-home.pv-tpl-4 .pv-hero .pv-btn-line{color:#fff;border-color:rgba(255,255,255,.4)}
.pv-home.pv-tpl-4 .pv-kicker:before{width:12px;height:12px;border-radius:0;background:var(--pv-accent)}

/* 5. Elegante: serifa, foto em arco à esquerda, texto à direita. */
.pv-home.pv-tpl-5{--pv-display:'Playfair Display',Georgia,serif;--pv-display-weight:600;--pv-display-track:-.02em;--pv-radius:4px;--pv-radius-lg:6px;--pv-btn-radius:2px}
.pv-home.pv-tpl-5 .pv-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.pv-home.pv-tpl-5 .pv-hero-media-wrap{order:-1}
.pv-home.pv-tpl-5 .pv-hero-media{border-radius:999px 999px 6px 6px;aspect-ratio:4/5.4;outline:1px solid color-mix(in srgb,var(--pv-accent) 40%,transparent);outline-offset:14px}
.pv-home.pv-tpl-5 .pv-hero h1{font-weight:600;font-size:clamp(3rem,6vw,6rem);line-height:1}
.pv-home.pv-tpl-5 .pv-hero h1 em{font-style:italic}
.pv-home.pv-tpl-5 .pv-hero-card{left:auto;right:clamp(-40px,-3vw,-16px);border-radius:6px}
.pv-home.pv-tpl-5 .pv-kicker{letter-spacing:.26em}
.pv-home.pv-tpl-5 .pv-kicker:before{width:40px;height:1px}

/* ---------- Faixa de confiança ---------- */
.pv-home .pv-trust{background:var(--pv-panel);color:var(--pv-ink);border-bottom:1px solid var(--pv-line)}
.pv-home .pv-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.pv-home .pv-trust-grid>div{display:flex;gap:14px;align-items:center;padding:24px 22px;border-left:1px solid var(--pv-line)}
.pv-home .pv-trust-grid>div:first-child{border-left:0;padding-left:0}
.pv-home .pv-trust i{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:var(--pv-tint);color:var(--pv-accent-text)}
.pv-home .pv-trust span{display:grid;gap:3px;min-width:0}
.pv-home .pv-trust small{font-size:max(16px,.74rem);color:var(--pv-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.pv-home .pv-trust strong{font-weight:700;font-size:max(16px,.96rem);line-height:1.35}

/* ---------- Faixa contínua ---------- */
.pv-home .pv-marquee{padding:22px 0;border-bottom:1px solid var(--pv-line);background:var(--pv-paper);color:var(--pv-ink)}
.pv-home .pv-marquee-set{display:flex;align-items:center;gap:34px;padding-right:34px;white-space:nowrap}
.pv-home .pv-marquee-set span{font:var(--pv-display-weight) clamp(1.3rem,2.4vw,2.1rem)/1 var(--pv-display);font-size:max(16px,clamp(1.3rem,2.4vw,2.1rem));letter-spacing:var(--pv-display-track);text-transform:var(--pv-display-case)}
.pv-home .pv-marquee-set b{font:600 .95rem/1 var(--pv-body);color:var(--pv-muted);margin-left:8px;letter-spacing:0;text-transform:none}
.pv-home .pv-marquee-set i{color:var(--pv-accent-text);font-size:1rem}

/* ---------- Destaque ---------- */
.pv-home .pv-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,7vw,100px);align-items:center}
.pv-home .pv-feature.is-reverse>figure{order:2}
.pv-home .pv-feature figure{position:relative;aspect-ratio:5/4}
.pv-home .pv-feature figcaption{position:absolute;top:18px;left:18px;padding:8px 14px;border-radius:999px;background:rgba(10,14,20,.6);backdrop-filter:blur(10px);color:#fff;font-size:max(16px,.74rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pv-home .pv-feature-copy{display:grid;gap:22px}
.pv-home .pv-feature-copy h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:var(--pv-display-lh)}
.pv-home .pv-meta{margin:0;display:flex;flex-wrap:wrap;border-block:1px solid var(--pv-line)}
.pv-home .pv-meta div{padding:18px 26px 18px 0;margin-right:26px;border-right:1px solid var(--pv-line)}
.pv-home .pv-meta div:last-child{border-right:0;margin-right:0}
.pv-home .pv-meta dt{font-size:max(16px,.74rem);color:var(--pv-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.pv-home .pv-meta dd{margin:6px 0 0;font:800 1.45rem/1 var(--pv-display);font-size:max(16px,1.45rem);letter-spacing:-.02em}

/* ---------- Lista com preço (serviços, tratamentos, pratos) ---------- */
.pv-home .pv-list-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(40px,7vw,110px);align-items:start}
.pv-home .pv-list-head{position:sticky;top:110px;display:grid;gap:22px}
.pv-home .pv-list{display:grid;border-top:1px solid var(--pv-line)}
.pv-home .pv-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:24px 6px;border-bottom:1px solid var(--pv-line);color:var(--pv-ink);text-decoration:none;transition:padding .35s,background .35s}
.pv-home a.pv-row:hover{padding-inline:16px;background:color-mix(in srgb,var(--pv-ink) 4%,transparent)}
.pv-home .pv-row-num{font:700 .82rem/1 var(--pv-body);color:var(--pv-muted);letter-spacing:.06em}
.pv-home .pv-row-thumb{display:none}
.pv-home .pv-row h3{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.15}
.pv-home .pv-row p{margin-top:6px;color:var(--pv-muted);font-size:max(16px,.95rem);line-height:1.5}
.pv-home .pv-row-price{font:800 1.12rem/1 var(--pv-display);font-size:max(16px,1.12rem);white-space:nowrap;letter-spacing:-.01em}
.pv-home .pv-row-go{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:max(16px,.86rem);color:var(--pv-accent-text);white-space:nowrap}
@media (hover:hover) and (pointer:fine){.pv-home [data-pv-preview] a.pv-row,.pv-home [data-pv-preview] a.pv-row *{cursor:none}}

/* ---------- Cartões com ícone (especialidades, áreas, modalidades) ---------- */
.pv-home .pv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.pv-home .pv-card{position:relative;display:grid;gap:12px;align-content:start;padding:30px 28px;border:1px solid var(--pv-line);border-radius:var(--pv-radius);background:var(--pv-panel);color:var(--pv-ink);text-decoration:none;transition:transform .35s,box-shadow .35s,border-color .35s;overflow:hidden}
.pv-home a.pv-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -36px rgba(10,20,40,.4);border-color:color-mix(in srgb,var(--pv-accent) 45%,transparent)}
.pv-home .pv-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:calc(var(--pv-radius)*.6);background:var(--pv-tint);color:var(--pv-accent-text);font-size:1.25rem;margin-bottom:8px}
.pv-home .pv-card-num{position:absolute;top:24px;right:26px;font:700 .8rem/1 var(--pv-body);color:var(--pv-muted)}
.pv-home .pv-card h3{font-size:1.3rem;line-height:1.15}
.pv-home .pv-card p{color:var(--pv-muted);line-height:1.6;font-size:max(16px,.96rem)}
.pv-home .pv-card-go{margin-top:6px;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:max(16px,.88rem);color:var(--pv-accent-text)}
.pv-home .pv-card-photo{margin:-30px -28px 10px;aspect-ratio:16/10;overflow:hidden}
.pv-home .pv-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.pv-home a.pv-card:hover .pv-card-photo img{transform:scale(1.05)}

/* ---------- Etapas ---------- */
.pv-home .pv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--pv-line);border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden}
.pv-home .pv-steps li{background:var(--pv-panel);padding:34px 28px 36px;display:grid;gap:12px;align-content:start;transition:background .3s}
.pv-home .pv-steps li:hover{background:var(--pv-soft)}
.pv-home .pv-steps span{font:800 3rem/1 var(--pv-display);color:transparent;-webkit-text-stroke:1.5px var(--pv-accent-text)}
.pv-home .pv-steps h3{font-size:1.22rem}
.pv-home .pv-steps p{color:var(--pv-muted);line-height:1.6}
.pv-home .pv-center{display:flex;justify-content:center;margin-top:40px}

/* ---------- Sobre + números ---------- */
.pv-home .pv-about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,7vw,104px);align-items:center}
.pv-home .pv-about figure{aspect-ratio:4/5}
.pv-home .pv-about figure img{height:118%;margin-top:-9%}
.pv-home .pv-about-copy{display:grid;gap:26px}
.pv-home .pv-about-text{font:600 clamp(1.2rem,1.9vw,1.55rem)/1.5 var(--pv-display);font-size:max(16px,clamp(1.2rem,1.9vw,1.55rem));letter-spacing:-.015em;text-transform:none;white-space:pre-line}
.pv-home .pv-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;list-style:none;margin:0;padding:0}
.pv-home .pv-checks li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.pv-home .pv-checks i{color:var(--pv-accent-text);margin-top:4px}
.pv-home .pv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--pv-line);border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden}
.pv-home .pv-stats>div{background:var(--pv-panel);padding:22px 20px;display:grid;gap:6px}
.pv-home .pv-stats strong{font:800 clamp(1.9rem,3vw,2.6rem)/1 var(--pv-display);font-size:max(16px,clamp(1.9rem,3vw,2.6rem));letter-spacing:-.03em}
.pv-home .pv-stats span{font-size:max(16px,.86rem);color:var(--pv-muted)}

/* ---------- Diferenciais em grade (bento) ---------- */
.pv-home .pv-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:16px}
.pv-home .pv-bento-card{border:1px solid var(--pv-line);border-radius:var(--pv-radius);padding:28px;background:var(--pv-panel);display:grid;gap:10px;align-content:end;transition:transform .35s,box-shadow .35s}
.pv-home .pv-bento-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(0,0,0,.35)}
.pv-home .pv-bento-card i{font-size:1.4rem;color:var(--pv-accent-text);margin-bottom:auto}
.pv-home .pv-bento-card h3{font-size:1.18rem;text-transform:none;letter-spacing:-.02em}
.pv-home .pv-bento-card p{color:var(--pv-muted);line-height:1.6;font-size:max(16px,.95rem)}
.pv-home .pv-bento-photo{border-radius:var(--pv-radius);overflow:hidden;min-height:200px}
.pv-home .pv-bento-photo.is-big{grid-column:span 2;grid-row:span 2;min-height:420px}
.pv-home .pv-bento-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pv-home .pv-bento-photo:hover img{transform:scale(1.05)}
@media (min-width:1024px){.pv-home .pv-span-2{grid-column:span 2}.pv-home .pv-span-3{grid-column:span 3}.pv-home .pv-span-4{grid-column:span 4}}

/* ---------- Galeria em trilho ---------- */
.pv-home .pv-gallery{padding:clamp(70px,9vw,120px) 0;background:var(--pv-paper);color:var(--pv-ink)}
.pv-home .pv-gallery-track{display:flex;gap:22px;align-items:center;padding-inline:max(var(--pv-gutter),calc((100vw - var(--pv-max))/2))}
.pv-home .pv-gallery-intro{flex:0 0 min(420px,82vw);display:grid;gap:18px;padding-right:30px}
.pv-home .pv-gallery-intro h2{font-size:clamp(2rem,3.8vw,3.3rem);line-height:var(--pv-display-lh)}
.pv-home .pv-gallery-intro p{color:var(--pv-muted)}
.pv-home .pv-gallery-item{flex:0 0 auto;width:min(440px,78vw);aspect-ratio:4/3;border-radius:var(--pv-radius);overflow:hidden;background:var(--pv-soft)}
.pv-home .pv-gallery-item.is-tall{width:min(340px,64vw);aspect-ratio:3/4}
.pv-home .pv-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pv-home .pv-gallery-item:hover img{transform:scale(1.05)}
.pv-home .pv-horizontal-ativo.pv-gallery{min-height:100vh;display:flex;align-items:center}

/* ---------- Equipe ---------- */
.pv-home .pv-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.pv-home .pv-person{position:relative;display:grid;gap:14px;color:var(--pv-ink);text-decoration:none}
.pv-home .pv-person figure{position:relative;aspect-ratio:4/5;border-radius:var(--pv-radius);overflow:hidden;background:var(--pv-soft)}
.pv-home .pv-person img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}
.pv-home .pv-person:hover img{transform:scale(1.04)}
.pv-home .pv-person-initial{position:absolute;inset:0;display:grid;place-items:center;font:800 4rem/1 var(--pv-display);color:var(--pv-accent-text);background:var(--pv-tint)}
.pv-home .pv-person-tag{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(10,14,20,.62);color:#fff;font-size:max(16px,.72rem);font-weight:700}
.pv-home .pv-person h3{font-size:1.25rem;text-transform:none;letter-spacing:-.02em}
.pv-home .pv-person p{color:var(--pv-muted);font-size:max(16px,.92rem);margin-top:-6px}
.pv-home .pv-person-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--pv-line);padding-top:12px;font-weight:700}
.pv-home .pv-person-foot a{color:var(--pv-accent-text);text-decoration:none;font-weight:800;font-size:max(16px,.9rem)}

/* ---------- Produtos / pratos em grade ---------- */
.pv-home .pv-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pv-home .pv-product{display:grid;gap:14px;text-decoration:none;color:var(--pv-ink)}
.pv-home .pv-product figure{aspect-ratio:1/1;border-radius:var(--pv-radius);overflow:hidden;background:var(--pv-soft);position:relative}
.pv-home .pv-product img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.pv-home .pv-product:hover img{transform:scale(1.06)}
.pv-home .pv-product-tag{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:999px;background:var(--pv-panel);color:var(--pv-ink);font-size:max(16px,.72rem);font-weight:800}
.pv-home .pv-product div{display:grid;gap:4px}
.pv-home .pv-product small{color:var(--pv-muted);font-size:max(16px,.74rem);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.pv-home .pv-product h3{font-size:1.08rem;text-transform:none;letter-spacing:-.01em}
.pv-home .pv-product p{color:var(--pv-muted);font-size:max(16px,.9rem);line-height:1.5}
.pv-home .pv-product strong{font:800 1.12rem/1 var(--pv-display);font-size:max(16px,1.12rem);color:var(--pv-accent-text);margin-top:4px}

/* ---------- Planos ---------- */
.pv-home .pv-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.pv-home .pv-plan{border:1px solid var(--pv-line);border-radius:var(--pv-radius);padding:32px;display:grid;gap:14px;align-content:start;background:var(--pv-panel)}
.pv-home .pv-plan.is-featured{border-color:color-mix(in srgb,var(--pv-accent) 60%,transparent);box-shadow:0 30px 70px -40px color-mix(in srgb,var(--pv-accent) 70%,transparent)}
.pv-home .pv-plan h3{font-size:1.35rem;text-transform:none}
.pv-home .pv-plan p{color:var(--pv-muted);line-height:1.6}
.pv-home .pv-plan strong{font:800 2.4rem/1 var(--pv-display);font-size:max(16px,2.4rem);letter-spacing:-.04em}
.pv-home .pv-plan strong small{font-size:max(16px,.9rem);color:var(--pv-muted);font-weight:600;letter-spacing:0}
.pv-home .pv-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--pv-muted)}
.pv-home .pv-plan li i{color:var(--pv-accent-text);margin-right:6px}
.pv-home .pv-plan .pv-btn{justify-self:start;margin-top:8px}

/* ---------- Bloco com foto e lista (portal, app, emergência) ---------- */
.pv-home .pv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:center}
.pv-home .pv-split.is-reverse>figure{order:-1}
.pv-home .pv-split-copy{display:grid;gap:26px}
.pv-home .pv-split figure{aspect-ratio:4/5;max-height:640px}
.pv-home .pv-icon-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.pv-home .pv-icon-list li{display:flex;gap:16px;align-items:flex-start}
.pv-home .pv-icon-list i{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:14px;background:var(--pv-tint);color:var(--pv-accent-text)}
.pv-home .pv-icon-list span{display:grid;gap:4px;color:var(--pv-muted);line-height:1.55}
.pv-home .pv-icon-list strong{color:var(--pv-ink)}

/* ---------- Avaliações ---------- */
.pv-home .pv-reviews{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,90px);align-items:start}
.pv-home .pv-reviews-head{display:grid;gap:22px;position:sticky;top:110px}
.pv-home .pv-score{display:flex;align-items:center;gap:18px}
.pv-home .pv-score strong{font:800 clamp(3.6rem,7vw,5.6rem)/.9 var(--pv-display);font-size:max(16px,clamp(3.6rem,7vw,5.6rem));letter-spacing:-.05em}
.pv-home .pv-score div{display:grid;gap:6px}
.pv-home .pv-stars{color:#f5b301;letter-spacing:.12em}
.pv-home .pv-score small{color:var(--pv-muted)}
.pv-home .pv-quotes{display:grid;gap:18px}
.pv-home .pv-quote{padding:clamp(24px,3vw,36px);border:1px solid var(--pv-line);border-radius:var(--pv-radius);background:var(--pv-panel);display:grid;gap:18px}
.pv-home .pv-quote blockquote{margin:0;font:600 clamp(1.08rem,1.5vw,1.3rem)/1.5 var(--pv-display);font-size:max(16px,clamp(1.08rem,1.5vw,1.3rem));letter-spacing:-.01em;text-transform:none}
.pv-home .pv-quote figcaption{display:flex;gap:12px;align-items:center;font-weight:800}
.pv-home .pv-quote figcaption small{display:block;color:var(--pv-muted);font-weight:500}
.pv-home .pv-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pv-tint);color:var(--pv-accent-text);font-family:var(--pv-display);flex:0 0 42px}

/* ---------- Perguntas frequentes ---------- */
.pv-home .pv-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,90px);align-items:start}
.pv-home .pv-faq-head{display:grid;gap:20px;position:sticky;top:110px}
.pv-home .pv-faq-head a{color:var(--pv-accent-text);font-weight:700}
.pv-home .pv-faq details{border-color:var(--pv-line);background:var(--pv-panel);border-radius:calc(var(--pv-radius)*.75)}
.pv-home .pv-faq summary{color:var(--pv-ink)}
.pv-home .pv-faq details p{color:var(--pv-muted);opacity:1}

/* ---------- Visita: horários e mapa ---------- */
.pv-home .pv-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:stretch}
.pv-home .pv-visit-copy{display:grid;gap:24px;align-content:center}
.pv-home .pv-addr{font-size:1.08rem;display:flex;gap:12px;align-items:baseline}
.pv-home .pv-addr i{color:var(--pv-accent-text)}
.pv-home .pv-hours{margin:0;display:grid;border-top:1px solid var(--pv-line)}
.pv-home .pv-hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--pv-line);color:var(--pv-muted)}
.pv-home .pv-hours dt{font-weight:600}
.pv-home .pv-hours dd{margin:0;text-align:right}
.pv-home .pv-hours .is-today{color:var(--pv-ink);font-weight:700}
.pv-home .pv-hours .is-today dt:after{content:"hoje";margin-left:10px;font-size:max(16px,.68rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pv-accent-text)}
.pv-home .pv-map{min-height:460px;border:1px solid var(--pv-line);border-radius:var(--pv-radius-lg)}

/* ---------- Chamada final ---------- */
.pv-home .pv-final{position:relative;overflow:hidden;isolation:isolate;color:#fff;padding:clamp(110px,15vw,210px) 0;background:#0b1016}
.pv-home .pv-final-media{position:absolute;inset:-12% 0;z-index:-1}
.pv-home .pv-final-media img{width:100%;height:100%;object-fit:cover}
.pv-home .pv-final-media:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--pv-accent) 22%,rgba(6,10,16,.6)),rgba(6,10,16,.92))}
.pv-home .pv-final-inner{display:grid;justify-items:center;text-align:center;gap:24px}
.pv-home .pv-final h2{font-size:clamp(2.6rem,6.6vw,6rem);line-height:.95;max-width:16ch;color:#fff}
.pv-home .pv-final p{color:rgba(255,255,255,.8);font-size:1.1rem;max-width:54ch}
.pv-home .pv-final .pv-btn-line{color:#fff;border-color:rgba(255,255,255,.4)}

/* ---------- Abas (cardápio, grade) ---------- */
.pv-home .pv-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.pv-home .pv-tab{min-height:44px;padding:0 18px;border-radius:var(--pv-btn-radius);border:1px solid var(--pv-line);background:transparent;color:var(--pv-muted);font:700 .92rem/1 var(--pv-body);cursor:pointer}
.pv-home .pv-tab[aria-selected="true"]{background:var(--pv-ink);color:var(--pv-paper);border-color:var(--pv-ink)}
.pv-home [data-pv-painel][hidden]{display:none}

/* ---------- Celular e tablet ---------- */
@media (max-width:1023px){
  .pv-home .pv-hero-grid,.pv-home .pv-feature,.pv-home .pv-list-grid,.pv-home .pv-about,.pv-home .pv-split,.pv-home .pv-reviews,.pv-home .pv-faq-grid,.pv-home .pv-visit{grid-template-columns:minmax(0,1fr)}
  .pv-home .pv-feature.is-reverse>figure,.pv-home .pv-split.is-reverse>figure{order:0}
  .pv-home .pv-list-head,.pv-home .pv-reviews-head,.pv-home .pv-faq-head{position:static}
  .pv-home .pv-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-home .pv-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-home .pv-trust-grid>div{border-left:0;padding-left:0}
  .pv-home .pv-hero-card{left:16px;bottom:16px}
  .pv-home.pv-tpl-1 .pv-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pv-home.pv-tpl-4 .pv-hero-media{margin-right:0;height:auto;aspect-ratio:4/3}
  .pv-home.pv-tpl-5 .pv-hero-media-wrap{order:0}
  .pv-home.pv-tpl-5 .pv-hero-card{right:16px;left:auto}
  .pv-home .pv-hero-media{aspect-ratio:4/3}
}
@media (max-width:640px){
  .pv-home .pv-hero h1{font-size:clamp(2.6rem,12.5vw,4rem)}
  .pv-home.pv-tpl-1 .pv-hero-grid{padding:96px 0 40px}
  .pv-home.pv-tpl-1 .pv-hero{min-height:calc(100svh - 64px)}
  .pv-home.pv-tpl-3 .pv-hero-card{position:relative;left:auto;transform:none;bottom:auto;grid-auto-flow:row;grid-template-columns:1fr 1fr;width:100%;max-width:none;border-radius:18px;margin-top:-30px}
  .pv-home.pv-tpl-3 .pv-hero-media{aspect-ratio:4/3}
  .pv-home.pv-tpl-5 .pv-hero-media{outline-offset:8px;aspect-ratio:4/4.6}
  .pv-home .pv-hero-card{position:relative;left:auto;right:auto;bottom:auto;margin:-48px 16px 0;min-width:0}
  .pv-home.pv-tpl-1 .pv-hero-card{margin:0}
  .pv-home .pv-actions{display:grid;grid-template-columns:1fr}
  .pv-home .pv-actions .pv-btn{width:100%}
  .pv-home .pv-head.is-split{grid-template-columns:1fr}
  .pv-home .pv-trust-grid{grid-template-columns:1fr 1fr}
  .pv-home .pv-trust-grid>div{padding:16px 8px 16px 0;align-items:flex-start;flex-direction:column;gap:10px}
  .pv-home .pv-trust i{width:36px;height:36px;flex-basis:36px}
  .pv-home .pv-trust strong{font-size:max(16px,.88rem)}
  .pv-home .pv-row{grid-template-columns:64px minmax(0,1fr) auto;gap:14px;padding:18px 0}
  .pv-home a.pv-row:hover{padding-inline:0}
  .pv-home .pv-row-num,.pv-home .pv-row-go{display:none}
  .pv-home .pv-row-thumb{display:block;width:64px;height:64px;border-radius:14px;object-fit:cover}
  .pv-home .pv-row h3{font-size:1.06rem}
  .pv-home .pv-row p{font-size:max(16px,.86rem);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .pv-home .pv-row-price{font-size:max(16px,.98rem)}
  .pv-home .pv-checks{grid-template-columns:1fr}
  .pv-home .pv-about figure{aspect-ratio:4/3}
  .pv-home .pv-stats{grid-template-columns:1fr 1fr}
  .pv-home .pv-bento{grid-template-columns:1fr;grid-auto-rows:auto}
  .pv-home .pv-bento-photo.is-big{grid-column:auto;grid-row:auto;min-height:260px}
  .pv-home .pv-team{grid-template-columns:1fr 1fr;gap:14px}
  .pv-home .pv-person h3{font-size:1.02rem}
  .pv-home .pv-products{gap:12px}
  .pv-home .pv-split figure{aspect-ratio:4/3}
  .pv-home .pv-map{min-height:320px}
  .pv-home .pv-meta div{padding:14px 16px 14px 0;margin-right:16px}
  .pv-home .pv-meta dd{font-size:1.15rem}
  .pv-home .pv-steps span{font-size:2.4rem}
  .pv-home .pv-btn-xl{min-height:58px;padding:0 26px}
}
/* No modelo editorial a letra condensada fica nos títulos; texto corrido e citações voltam à letra do corpo. */
.pv-home.pv-tpl-4 :is(.pv-about-text,.pv-quote blockquote){font-family:var(--pv-body);letter-spacing:-.01em}
.pv-home.pv-tpl-4 :is(.pv-bento-card h3,.pv-person h3,.pv-product h3,.pv-steps h3){font-family:var(--pv-body);text-transform:none;letter-spacing:-.01em}
/* Celular: as regras de cada modelo têm seletor mais forte que as do kit,
   então o recolhimento para uma coluna é repetido com a mesma força. */
@media (max-width:1023px){
  .pv-home[class*="pv-tpl-"] .pv-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pv-home[class*="pv-tpl-"] .pv-hero-media-wrap{order:0}
}
@media (max-width:640px){
  .pv-home .pv-cards{gap:12px}
  .pv-home .pv-card{grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:4px;padding:20px}
  .pv-home .pv-card>*{grid-column:2}
  .pv-home .pv-card .pv-card-icon{grid-column:1;grid-row:1 / span 3;width:48px;height:48px;margin:0}
  .pv-home .pv-card .pv-card-num{display:none}
  .pv-home .pv-card .pv-card-photo{grid-column:1 / -1;margin:-20px -20px 8px}
  .pv-home .pv-person-foot{flex-direction:column;align-items:flex-start;gap:4px}
  .pv-home .pv-person p{font-size:max(16px,.86rem)}
}
.pv-home.pv-tpl-4 .pv-hero h1 em{font-style:normal}
@media (max-width:640px){.pv-home .pv-card:has(.pv-card-photo){grid-template-columns:minmax(0,1fr)}.pv-home .pv-card:has(.pv-card-photo)>*{grid-column:1}}
/* A foto da grade preenche a célula sem ditar a altura da linha. */
.pv-home .pv-bento-photo{position:relative}
.pv-home .pv-bento-photo img{position:absolute;inset:0}
/* Números do dono podem ser longos ("4.000+", "28min"): cabem na célula. */
.pv-home .pv-stats strong{font-size:clamp(1.5rem,2.3vw,2.2rem);overflow-wrap:anywhere}
