/* Base: design system do site All Pé (projeto Site AllPe) */

/* ============================================================
   TOKENS
============================================================ */
:root{
  --snow:#FFFAFA;
  --snow-dim:#F4F1EA;
  --paper:#FCFBF8;
  --ink:#2B3226;
  --green:#5F6E51;
  --green-900:#333D2C;
  --green-700:#4C5842;
  --green-500:#7C8B6D;
  --green-300:#A6B296;
  --green-100:#E3E7DA;
  --green-050:#EFF1E8;
  --line: rgba(51,61,44,0.14);
  --line-soft: rgba(51,61,44,0.08);
  --shadow: 0 20px 60px -20px rgba(51,61,44,0.25);
  --shadow-sm: 0 8px 24px -12px rgba(51,61,44,0.22);
  --radius: 28px;
  --radius-sm: 16px;
  --ease: cubic-bezier(.16,.84,.44,1);
  --maxw: 1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
body{
  margin:0;
  background:var(--snow);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
h1,h2,h3,h4{ font-family:'Fraunces',serif; font-weight:500; color:var(--green-900); margin:0; letter-spacing:-0.01em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
:focus-visible{ outline:2.5px solid var(--green); outline-offset:3px; border-radius:6px; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .wrap{ padding:0 20px; } }

.eyebrow{
  font-size:13px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--green-700); display:flex; align-items:center; gap:8px; margin-bottom:18px;
}
.eyebrow::before{ content:""; width:18px; height:1.5px; background:var(--green); display:inline-block; }

.section{ padding:120px 0; }
.section-dim{ background:var(--snow-dim); }
@media (max-width:780px){ .section{ padding:76px 0; } }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:16px 28px; border-radius:100px; font-weight:600; font-size:15px;
  border:1.5px solid transparent; transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .25s ease, color .25s ease;
  white-space:nowrap; touch-action:manipulation;
}
.btn-primary{ background:var(--green); color:var(--snow); box-shadow:var(--shadow-sm); }
.btn-ghost{ background:transparent; color:var(--green-900); border-color:var(--line); }
.btn-uber{ background:var(--ink); color:var(--snow); }
.btn-sm{ min-height:42px; padding:11px 18px; font-size:13.5px; border-radius:100px; }
.btn svg{ width:17px; height:17px; flex:none; }
.btn:active{ transform:scale(0.96); }
/* Hover só em telas com mouse — evita efeito "grudado" ao tocar no celular */
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(51,61,44,0.45); background:var(--green-900); }
  .btn-ghost:hover{ border-color:var(--green); background:var(--green-050); }
  .btn-uber:hover{ background:#000; transform:translateY(-2px); }
}

/* ============================================================
   FOOTPRINT SCROLL TRAIL — signature element
============================================================ */
#trail{
  position:fixed; left:18px; top:0; bottom:0; width:26px; z-index:40;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  pointer-events:none;
}
#trail svg{ width:100%; height:82vh; }
#trail .track{ fill:none; stroke:var(--line); stroke-width:2; stroke-dasharray:1 14; stroke-linecap:round; }
#trail .fill{ fill:none; stroke:var(--green); stroke-width:2; stroke-dasharray:1 14; stroke-linecap:round; stroke-dashoffset:0; transition:stroke-dashoffset .1s linear; }
@media (max-width:900px){ #trail{ display:none; } }

/* ============================================================
   PHOTO FRAMES — fotos reais de procedimento, tratadas com um
   véu verde sutil (mix-blend-mode) para soarem como "uma marca",
   não como um banco de imagens genérico.
============================================================ */
.photo{ position:relative; overflow:hidden; background:var(--green-050); }
.photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease); }
.photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(155deg, rgba(51,61,44,0.22), rgba(95,110,81,0.06) 55%, rgba(255,250,250,0.02)); mix-blend-mode:multiply; pointer-events:none; }
.photo::before{ content:""; position:absolute; inset:0; border:1px solid rgba(255,250,250,0.14); z-index:2; pointer-events:none; }
.photo-cap{ position:absolute; left:16px; bottom:14px; z-index:3; color:var(--snow); font-size:12px; font-weight:600; letter-spacing:0.03em; display:flex; align-items:center; gap:7px; }
.photo-cap svg{ width:13px; height:13px; }

/* ============================================================
   NAV
============================================================ */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:var(--green); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent; transition:border-color .3s ease, background .3s ease;
  padding-left:env(safe-area-inset-left); padding-right:env(safe-area-inset-right);
}
header.scrolled{ border-color:rgba(255,250,250,0.14); background:var(--green-900); }
nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.logo{ display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:600; font-size:22px; color:var(--snow); }
.logo img{ height:44px; width:auto; display:block; }
.foot-brand .logo img{ height:52px; }
.nav-links{ display:flex; align-items:center; gap:36px; }
.nav-links a{ font-size:14.5px; font-weight:500; color:rgba(255,250,250,0.82); transition:color .2s ease; position:relative; }
.nav-links a:hover{ color:var(--snow); }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-phone{ font-size:14px; font-weight:600; color:var(--green-900); display:flex; align-items:center; gap:6px; }
.nav-phone svg{ width:16px; height:16px; color:var(--green); }
/* Dentro do header verde, o CTA principal inverte para branco sólido —
   um botão verde sobre a barra verde perderia todo o contraste. */
header .btn-primary{ background:var(--snow); color:var(--green-900); box-shadow:0 8px 20px -10px rgba(0,0,0,0.35); }
@media (hover:hover) and (pointer:fine){ header .btn-primary:hover{ background:var(--green-050); color:var(--green-900); transform:translateY(-2px); box-shadow:0 8px 20px -10px rgba(0,0,0,0.35); } }
.burger{ display:none; background:none; border:none; padding:8px; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; }
.burger span{ display:block; width:22px; height:2px; background:var(--snow); margin:4px 0; transition:transform .3s ease, opacity .3s ease; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
@media (max-width:900px){
  .nav-links, .nav-phone{ display:none; }
  .burger{ display:flex; }
}

/* ============================================================
   HERO
============================================================ */
/* ============================================================
   HERO — vídeo de fundo com véu de legibilidade
============================================================ */
.hero{ position:relative; overflow:hidden; min-height:88vh; min-height:88svh; display:flex; align-items:center; padding:150px 0 90px; }
.hero-media{ position:absolute; inset:0; z-index:0; background:var(--snow-dim); }
.hero-media video,
.hero-media .poster-fallback{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 60%; }
/* Véu: mais opaco à esquerda/topo (onde o texto fica) e transparente à
   direita/centro (onde o vídeo aparece nítido) — garante contraste sem
   escurecer a cena inteira. Some suavemente no rodapé para fundir com
   a seção seguinte. */
.hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(102deg, rgba(255,250,250,0.96) 0%, rgba(255,250,250,0.9) 26%, rgba(255,250,250,0.66) 50%, rgba(255,250,250,0.22) 72%, rgba(255,250,250,0.05) 100%),
    linear-gradient(to bottom, rgba(255,250,250,0.5) 0%, rgba(255,250,250,0.02) 22%, rgba(255,250,250,0.02) 68%, var(--snow) 100%);
}
@media (max-width:760px){
  .hero-scrim{ background:
    linear-gradient(rgba(255,250,250,0.9), rgba(255,250,250,0.72) 38%, rgba(255,250,250,0.5) 60%, var(--snow) 96%); }
}
.hero .wrap{ position:relative; z-index:2; }
.hero-copy{ max-width:640px; }
.hero h1{ font-size:clamp(38px, 5.2vw, 68px); line-height:1.04; letter-spacing:-0.02em; }
.hero h1 em{ font-style:normal; color:var(--green); }
.hero p.lead{ margin-top:24px; font-size:19px; line-height:1.6; color:var(--green-700); max-width:46ch; }
.hero .ctas{ display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:34px; margin-top:56px; flex-wrap:wrap; }
.hero-stats .stat b{ display:block; font-family:'Fraunces',serif; font-size:30px; color:var(--green-900); font-weight:500; }
.hero-stats .stat span{ font-size:13px; color:var(--green-700); }

.hero-chip-float{
  position:absolute; z-index:2; right:6%; bottom:9%;
  background:rgba(252,251,248,0.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,250,250,0.6); border-radius:18px; padding:14px 18px;
  box-shadow:var(--shadow-sm); display:flex; align-items:center; gap:10px;
}
.hero-chip-float b{ font-family:'Fraunces',serif; font-size:20px; color:var(--green-900); display:block; }
.hero-chip-float span{ font-size:12px; color:var(--green-700); display:block; }
.hero-chip-float svg{ width:24px; height:24px; color:var(--green); flex:none; }
@media (max-width:640px){ .hero-chip-float{ display:none; } }
@media (max-width:760px){ .hero{ min-height:auto; padding:140px 0 64px; } }

/* ============================================================
   TRUST STRIP
============================================================ */
.trust{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; position:relative; z-index:2; background:var(--snow); }
.trust .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.trust .item{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--green-700); font-weight:500; }
.trust .item svg{ width:18px; height:18px; color:var(--green); flex:none; }

/* ============================================================
   HEADINGS COMMON
============================================================ */
.head-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; }
.head-row h2{ font-size:clamp(28px,3.4vw,42px); max-width:16ch; }
.head-row p{ color:var(--green-700); max-width:38ch; font-size:15.5px; padding-bottom:4px; }
.diff-photo{ width:132px; height:132px; border-radius:24px; flex:none; box-shadow:var(--shadow-sm); }
@media (max-width:760px){ .head-row{ flex-direction:column; align-items:flex-start; } .diff-photo{ display:none; } }

/* ============================================================
   SERVICES
============================================================ */
.grid-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:940px){ .grid-services{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .grid-services{ grid-template-columns:1fr; } }
.card-service{
  background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius);
  overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s ease;
}
@media (hover:hover) and (pointer:fine){
  .card-service:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
  .card-service:hover .photo img{ transform:scale(1.06); }
}
.card-service:active{ transform:translateY(-2px); }
.card-service .photo{ aspect-ratio:4/3; border-radius:0; }
.card-service .body{ padding:26px 26px 30px; }
.card-service .icon-wrap{ width:44px; height:44px; border-radius:13px; background:var(--green-050); display:flex; align-items:center; justify-content:center; margin-top:-46px; margin-bottom:16px; position:relative; z-index:3; border:4px solid var(--paper); }
.card-service .icon-wrap svg{ width:21px; height:21px; color:var(--green); }
.card-service h3{ font-size:20px; margin-bottom:10px; }
.card-service p{ font-size:14.5px; color:var(--green-700); line-height:1.6; }
.card-more{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--green-900); }
.card-more svg{ width:15px; height:15px; transition:transform .25s var(--ease); }
@media (hover:hover) and (pointer:fine){ .card-service:hover .card-more svg{ transform:translateX(3px); } }

/* ============================================================
   PROCESS (legit numbered sequence)
============================================================ */
.process-banner{ border-radius:var(--radius); aspect-ratio:16/9; margin-bottom:56px; }
.process{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative; }
@media (max-width:820px){ .process{ grid-template-columns:1fr; gap:36px; } }
.process .step{ padding:0 30px; position:relative; }
.process .step:first-child{ padding-left:0; }
.process .step:not(:first-child)::before{ content:""; position:absolute; left:0; top:8px; bottom:8px; width:1px; background:var(--line); }
@media (max-width:820px){ .process .step:not(:first-child)::before{ display:none; } }
.process .num{ font-family:'Fraunces',serif; font-size:15px; color:var(--green); font-weight:600; letter-spacing:0.04em; }
.process h3{ font-size:23px; margin:14px 0 12px; }
.process p{ color:var(--green-700); font-size:15px; }

/* ============================================================
   SPOTLIGHT — seção dedicada a Unha Encravada
============================================================ */
.spotlight-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center; }
@media (max-width:900px){ .spotlight-grid{ grid-template-columns:1fr; gap:32px; } }
.spotlight-photo{ aspect-ratio:4/5; border-radius:var(--radius); box-shadow:var(--shadow); }
@media (max-width:900px){ .spotlight-photo{ aspect-ratio:16/10; } }
.spotlight-content h2{ font-size:clamp(28px,3.4vw,40px); margin-top:14px; max-width:16ch; }
.spotlight-lead{ margin-top:20px; font-size:16px; line-height:1.7; color:var(--green-700); max-width:56ch; }
.spotlight-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.spotlight-chip{ font-size:12.5px; font-weight:700; color:var(--green-900); background:var(--green-100); border-radius:100px; padding:8px 15px; }
.spotlight-cols{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:34px; }
@media (max-width:560px){ .spotlight-cols{ grid-template-columns:1fr; } }
.spotlight-cols h4{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--green-900); margin-bottom:14px; }
.spotlight-list{ display:flex; flex-direction:column; gap:11px; }
.spotlight-list li{ position:relative; padding-left:22px; font-size:14.5px; line-height:1.5; color:var(--green-700); }
.spotlight-list li::before{ content:""; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:var(--green); }
.spotlight-note{ margin-top:28px; font-size:14px; color:var(--green-700); background:var(--paper); border:1px solid var(--line-soft); border-radius:14px; padding:14px 18px; }
.spotlight-note a{ font-weight:700; color:var(--green-900); border-bottom:1.5px solid var(--green); }
.spotlight-content .ctas{ margin-top:28px; }

/* ============================================================
   DIFERENCIAIS
============================================================ */
.diff-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
@media (max-width:900px){ .diff-grid{ grid-template-columns:repeat(2,1fr); } }
.diff-item{ background:var(--paper); padding:38px 22px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; }
.diff-item svg{ width:30px; height:30px; color:var(--green); }
.diff-item span{ font-size:13.5px; font-weight:600; color:var(--green-900); line-height:1.4; }

/* ============================================================
   STORES
============================================================ */
.store-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
@media (max-width:880px){ .store-grid{ grid-template-columns:1fr; } }
.store-card{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius); padding:38px; box-shadow:var(--shadow-sm); }
.store-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:6px; }
.store-card h3{ font-size:25px; }
.store-card .addr{ color:var(--green-700); font-size:14.5px; margin-top:6px; margin-bottom:22px; }
.badge{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; padding:7px 13px; border-radius:100px; white-space:nowrap; }
.badge .pulse{ width:7px; height:7px; border-radius:50%; }
.badge.open{ background:#E4EBDF; color:#3E5C2E; }
.badge.open .pulse{ background:#4E8B33; box-shadow:0 0 0 0 rgba(78,139,51,0.55); animation:pulse 2s infinite; }
.badge.closed{ background:#F1E7E2; color:#8A5A3D; }
.badge.closed .pulse{ background:#B5714A; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(78,139,51,0.5); } 70%{ box-shadow:0 0 0 7px rgba(78,139,51,0); } 100%{ box-shadow:0 0 0 0 rgba(78,139,51,0); } }

.hours-table{ margin:20px 0 24px; border-top:1px solid var(--line-soft); }
.hours-table .row{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line-soft); font-size:14px; }
.hours-table .row span:first-child{ color:var(--green-700); }
.hours-table .row span:last-child{ font-weight:600; color:var(--green-900); }
.hours-table .row.today{ color:var(--green-900); }
.hours-table .row.today span:first-child{ color:var(--green-900); font-weight:700; }

.store-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.store-links{ display:flex; gap:18px; padding-top:16px; border-top:1px solid var(--line-soft); }
.store-links a{ font-size:13px; font-weight:600; color:var(--green-700); display:flex; align-items:center; gap:6px; }
.store-links a:hover{ color:var(--green-900); }
.store-links svg{ width:15px; height:15px; }

/* ============================================================
   REVIEWS
============================================================ */
.rating-summary{ display:flex; align-items:center; gap:18px; margin-bottom:44px; flex-wrap:wrap; }
.google-mark{ display:flex; align-items:center; gap:9px; }
.google-mark span{ font-family:'Inter',sans-serif; font-size:15px; color:#5F6368; font-weight:500; line-height:1.15; }
.google-mark span b{ display:block; font-weight:700; color:var(--green-900); font-size:15px; }
.rating-divider{ width:1px; height:38px; background:var(--line); }
.rating-summary .score{ font-family:'Fraunces',serif; font-size:52px; color:var(--green-900); font-weight:500; }
.stars{ display:flex; gap:3px; }
.stars svg{ width:18px; height:18px; color:var(--green); }
.rating-summary .meta{ font-size:13.5px; color:var(--green-700); }
.rating-summary a{ font-weight:700; color:var(--green-900); border-bottom:1.5px solid var(--green); }

.reviews-scroll{ display:flex; gap:20px; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x proximity; margin:0 -32px; padding-left:32px; padding-right:32px; -webkit-overflow-scrolling:touch; }
@media (max-width:640px){ .reviews-scroll{ margin:0 -20px; padding-left:20px; padding-right:20px; } }
.reviews-scroll::-webkit-scrollbar{ height:6px; }
.reviews-scroll::-webkit-scrollbar-thumb{ background:var(--green-100); border-radius:10px; }
.review-card{ flex:0 0 340px; scroll-snap-align:start; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-sm); padding:26px; }
.review-card .stars{ margin-bottom:14px; }
.review-card p{ font-size:14.5px; color:var(--green-900); line-height:1.65; min-height:96px; }
.review-card .who{ margin-top:18px; display:flex; align-items:center; gap:10px; }
.review-card .avatar{ width:34px; height:34px; border-radius:50%; background:var(--green-100); color:var(--green-900); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.review-card .who b{ font-size:13.5px; display:block; }
.review-card .who span{ font-size:12px; color:var(--green-700); }

/* ============================================================
   PAYMENT
============================================================ */
.pay-row{ display:flex; flex-wrap:wrap; gap:14px; }
.pay-chip{ border:1px solid var(--line); border-radius:100px; padding:12px 22px; font-size:13.5px; font-weight:600; color:var(--green-900); display:flex; align-items:center; gap:9px; }
.pay-chip svg{ width:17px; height:17px; color:var(--green); }

/* ============================================================
   FINAL CTA
============================================================ */
.final-cta{ background:var(--green-900); border-radius:40px; padding:90px 60px; text-align:center; position:relative; overflow:hidden; }
.final-cta::before{ content:""; position:absolute; inset:0; background:radial-gradient(600px 300px at 20% 0%, rgba(255,250,250,0.08), transparent), radial-gradient(500px 260px at 90% 100%, rgba(255,250,250,0.06), transparent); }
.final-cta *{ position:relative; }
.final-cta h2{ color:var(--snow); font-size:clamp(30px,4vw,50px); max-width:18ch; margin:0 auto; }
.final-cta p{ color:var(--green-300); margin:20px auto 36px; max-width:48ch; font-size:16px; }
.final-cta .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.final-cta .btn-ghost{ color:var(--snow); border-color:rgba(255,250,250,0.3); }
@media (hover:hover) and (pointer:fine){ .final-cta .btn-ghost:hover{ background:rgba(255,250,250,0.08); border-color:var(--snow); } }
@media (max-width:640px){ .final-cta{ padding:64px 26px; border-radius:28px; } }

/* ============================================================
   FOOTER
============================================================ */
footer{ padding:80px 0 34px; padding-bottom:max(34px, env(safe-area-inset-bottom)); }
.foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid var(--line); }
@media (max-width:820px){ .foot-grid{ grid-template-columns:1fr 1fr; row-gap:36px; } }
.foot-grid h4{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--green-900); margin-bottom:16px; }
.foot-grid p, .foot-grid a{ font-size:14px; color:var(--green-700); display:block; margin-bottom:9px; }
.foot-grid a:hover{ color:var(--green-900); }
.foot-brand p{ max-width:32ch; color:var(--green-700); font-size:14.5px; }
.foot-security{ display:flex; align-items:center; gap:8px; margin-top:18px; font-size:12.5px; color:var(--green-700); }
.foot-security svg{ width:15px; height:15px; color:var(--green); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; flex-wrap:wrap; gap:12px; }
.foot-bottom p{ font-size:12.5px; color:var(--green-500); }
.foot-social{ display:flex; gap:14px; }
.foot-social a{ width:36px; height:36px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.foot-social svg{ width:16px; height:16px; color:var(--green-900); }

/* ============================================================
   STICKY MOBILE CTA
============================================================ */
.sticky-cta{ position:fixed; right:calc(22px + env(safe-area-inset-right)); bottom:calc(22px + env(safe-area-inset-bottom)); z-index:45; transition:opacity .3s ease, transform .3s ease; }
.sticky-cta.is-hidden{ opacity:0; transform:scale(0.85); pointer-events:none; }
.sticky-cta button{ width:60px; height:60px; border-radius:50%; background:var(--green); border:none; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(51,61,44,0.5); transition:transform .3s var(--ease); }
@media (hover:hover) and (pointer:fine){ .sticky-cta button:hover{ transform:scale(1.08); } }
.sticky-cta button:active{ transform:scale(0.94); }
.sticky-cta svg{ width:27px; height:27px; color:var(--snow); }

/* ============================================================
   WHATSAPP UNIT PICKER
============================================================ */
.wa-picker-overlay{
  position:fixed; inset:0; z-index:80; display:flex; align-items:flex-end; justify-content:center;
  background:rgba(43,50,38,0.5); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .25s ease, visibility 0s linear .25s;
  padding:16px; padding-bottom:max(16px, env(safe-area-inset-bottom));
}
@media (min-width:640px){ .wa-picker-overlay{ align-items:center; } }
.wa-picker-overlay.is-open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .25s ease; }
.wa-picker{
  background:var(--paper); border-radius:28px; max-width:440px; width:100%; padding:32px 28px 28px;
  position:relative; box-shadow:0 30px 80px -20px rgba(43,50,38,0.5);
  transform:translateY(16px) scale(0.98); transition:transform .3s var(--ease);
}
.wa-picker-overlay.is-open .wa-picker{ transform:translateY(0) scale(1); }
.wa-picker h3{ font-size:24px; margin-right:40px; }
.wa-picker-sub{ font-size:14px; color:var(--green-700); margin-top:8px; margin-bottom:24px; }
.wa-picker-close{ position:absolute; top:16px; right:16px; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:transparent; display:flex; align-items:center; justify-content:center; color:var(--green-900); touch-action:manipulation; }
.wa-picker-close svg{ width:16px; height:16px; }
.wa-picker-options{ display:flex; flex-direction:column; gap:12px; }
.wa-picker-option{
  text-align:left; border:1.5px solid var(--line); border-radius:18px; padding:16px 18px;
  background:var(--snow); display:flex; flex-direction:column; gap:6px; transition:border-color .2s ease, background .2s ease, transform .2s ease;
  touch-action:manipulation;
}
@media (hover:hover) and (pointer:fine){ .wa-picker-option:hover{ border-color:var(--green); background:var(--green-050); } }
.wa-picker-option:active{ transform:scale(0.98); }
.wa-picker-option-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.wa-picker-name{ font-weight:700; font-size:15.5px; color:var(--green-900); }
.wa-picker-addr{ font-size:13px; color:var(--green-700); }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* mobile nav panel */
.mobile-panel{ position:fixed; inset:78px 0 0 0; background:var(--snow); z-index:49; transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; padding:30px 24px; padding-left:max(24px, env(safe-area-inset-left)); padding-right:max(24px, env(safe-area-inset-right)); padding-bottom:max(30px, env(safe-area-inset-bottom)); overflow-y:auto; }
.mobile-panel.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.mobile-panel a{ display:block; padding:16px 4px; font-size:19px; font-weight:600; color:var(--green-900); border-bottom:1px solid var(--line-soft); }
.mobile-panel .nav-phone{ display:flex; margin-top:20px; }

/* ============================================================
   LANDING UNHA ENCRAVADA — complementos ao design system
============================================================ */
.sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:16px; top:-60px; z-index:100; background:var(--green-900); color:var(--snow); padding:10px 16px; border-radius:10px; font-weight:600; }
.skip:focus{ top:12px; }

/* Hero com formulário */
.hero{ align-items:flex-start; padding:128px 0 72px; }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:start; }
.hero-copy{ padding-top:28px; }
.hero-status{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.hero-status .badge{ background:rgba(252,251,248,0.86); border:1px solid var(--line-soft); }
.hero-status .badge.open{ background:#E4EBDF; }
.hero-status .badge.closed{ background:#F1E7E2; }
.hero-quote{ margin:30px 0 0; padding-left:16px; border-left:2px solid var(--green); max-width:46ch; }
.hero-quote p{ font-family:'Fraunces',serif; font-size:18px; line-height:1.5; color:var(--green-900); }
.hero-quote span{ display:block; margin-top:6px; font-size:12.5px; color:var(--green-700); }
@media (max-width:980px){
  .hero-grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .hero-copy{ padding-top:0; }
}
@media (max-width:760px){ .hero{ padding:112px 0 48px; } .hero-stats{ margin-top:34px; gap:26px; } .hero-quote{ display:none; } }

.form-card{
  position:relative; scroll-margin-top:100px;
  background:rgba(252,251,248,0.94); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,250,250,0.7); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:34px 32px 28px;
}
@media (max-width:640px){ .form-card{ padding:26px 20px 22px; border-radius:24px; } }
.form-card h2{ font-size:clamp(24px,2.6vw,30px); line-height:1.15; }
.form-card .form-sub{ margin-top:8px; font-size:14.5px; color:var(--green-700); }
.form-steps{ display:flex; gap:8px; margin:18px 0 22px; flex-wrap:wrap; }
.form-steps span{ font-size:12px; font-weight:600; color:var(--green-900); background:var(--green-050); border-radius:100px; padding:6px 12px; }
.field{ margin:0 0 14px; border:0; padding:0; min-width:0; }
.field > label, .field > legend{ display:block; font-size:13.5px; font-weight:600; color:var(--green-900); margin-bottom:6px; padding:0; }
.field input[type=text], .field input[type=email], .field input[type=tel], .field select{
  width:100%; min-height:50px; padding:12px 14px; border-radius:14px;
  border:1.5px solid var(--line); background:var(--snow); color:var(--ink);
  font:400 16px/1.3 'Inter',-apple-system,sans-serif; appearance:none; -webkit-appearance:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.field select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%235F6E51' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; }
.field input:focus, .field select:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(95,110,81,0.14); }
.field [aria-invalid="true"]{ border-color:#B5714A; }
.field-error{ font-size:12.5px; color:#8A4A2B; margin-top:6px; font-weight:500; }
.field-error:empty{ display:none; }
.unit-options{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

.unit-opt{ position:relative; display:block; cursor:pointer; }
.unit-opt input{ position:absolute; opacity:0; inset:0; margin:0; }
.unit-opt > span{ display:flex; flex-direction:column; gap:4px; height:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:14px; background:var(--snow); transition:border-color .2s ease, background .2s ease; }
.unit-opt b{ font-size:14.5px; color:var(--green-900); }
.unit-opt small{ font-size:12px; color:var(--green-700); }
.unit-opt .badge{ align-self:flex-start; padding:4px 9px; font-size:11px; margin-top:4px; }
.unit-opt input:checked + span{ border-color:var(--green); background:var(--green-050); box-shadow:inset 0 0 0 1px var(--green); }
.unit-opt input:focus-visible + span{ outline:2.5px solid var(--green); outline-offset:3px; }
.hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-card .btn-primary{ width:100%; min-height:56px; font-size:15.5px; margin-top:6px; white-space:normal; }
.form-card .btn-primary[aria-busy="true"]{ opacity:.8; pointer-events:none; }
.form-general{ margin-top:12px; font-size:13.5px; font-weight:600; color:#8A4A2B; }
.form-general:empty{ display:none; }
.form-note{ margin-top:14px; font-size:12px; line-height:1.5; color:var(--green-700); text-align:center; }
.form-note svg{ width:13px; height:13px; color:var(--green); vertical-align:-2px; margin-right:4px; display:inline-block; }
.form-note a{ font-weight:600; color:var(--green-900); border-bottom:1px solid var(--green); }

/* Antes e depois */
.ba-scroll{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:12px; margin:0 -32px; padding-left:32px; padding-right:32px; -webkit-overflow-scrolling:touch; }
@media (max-width:640px){ .ba-scroll{ margin:0 -20px; padding-left:20px; padding-right:20px; } }
.ba-scroll::-webkit-scrollbar{ height:6px; }
.ba-scroll::-webkit-scrollbar-thumb{ background:var(--green-100); border-radius:10px; }
.ba-item{ flex:0 0 230px; scroll-snap-align:start; margin:0; }
.ba-item .photo{ aspect-ratio:259/300; border-radius:var(--radius-sm); }
.ba-item .photo::after{ display:none; }
.ba-item figcaption{ margin-top:10px; font-size:13.5px; font-weight:600; color:var(--green-900); }

/* Também cuidamos */
.also{ margin-top:34px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.also > span{ font-size:14px; color:var(--green-700); margin-right:4px; }
.also .spotlight-chip{ background:var(--green-050); }

/* Equipe */
.team-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:center; }
@media (max-width:900px){ .team-grid{ grid-template-columns:minmax(0,1fr); gap:32px; } }
.team-photo{ aspect-ratio:1; border-radius:var(--radius); box-shadow:var(--shadow); }
.team-content h2{ font-size:clamp(28px,3.4vw,40px); max-width:18ch; }
.team-content p.lead2{ margin-top:18px; color:var(--green-700); font-size:16px; line-height:1.7; max-width:56ch; }
.video-facade{ position:relative; display:block; width:100%; max-width:460px; margin-top:30px; padding:0; border:0; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:16/9; background:var(--green-900); box-shadow:var(--shadow-sm); }
.video-facade img{ width:100%; height:100%; object-fit:cover; opacity:.82; }
.video-facade .play{ position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; background:var(--snow); color:var(--green-900); font-weight:600; font-size:13.5px; padding:10px 16px; border-radius:100px; }
.video-facade .play svg{ width:14px; height:14px; }
.video-facade iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Infantil + importância */
.split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
@media (max-width:900px){ .split{ grid-template-columns:minmax(0,1fr); gap:36px; } }
.split h2{ font-size:clamp(26px,3vw,36px); max-width:18ch; }
.split p{ margin-top:16px; color:var(--green-700); font-size:15.5px; line-height:1.7; }
.kids-card{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
@media (max-width:560px){ .kids-card{ grid-template-columns:minmax(0,1fr); } }
.kids-card .photo{ min-height:220px; }
.kids-card .body{ padding:28px; }
.kids-card h3{ font-size:22px; }
.kids-card p{ font-size:14.5px; margin-top:10px; }
.kids-card .card-more{ margin-top:16px; }

/* FAQ */
.faq{ max-width:860px; border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative; font-family:'Fraunces',serif; font-size:19px; font-weight:500; color:var(--green-900); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; position:absolute; right:8px; top:50%; width:10px; height:10px; border-right:2px solid var(--green); border-bottom:2px solid var(--green); transform:translateY(-70%) rotate(45deg); transition:transform .3s var(--ease); }
.faq details[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }
.faq details p{ color:var(--green-700); font-size:15px; line-height:1.7; padding:0 0 22px; max-width:66ch; }

/* Final CTA dentro de seção */
.final-wrap{ padding:0 0 120px; }
@media (max-width:780px){ .final-wrap{ padding-bottom:76px; } }

/* Badge "fechando" */
.badge.soon{ background:#F6EBD8; color:#6E4508; }
.badge.soon .pulse{ background:#B7791F; }
@media (max-width:760px){
  .hero-stats{ gap:18px; flex-wrap:nowrap; }
  .hero-stats .stat b{ font-size:24px; }
  .hero-stats .stat span{ font-size:12px; line-height:1.3; display:block; }
  .form-steps{ display:none; }
  .form-card .form-sub{ margin-bottom:18px; }
}

/* ============================================================
   AJUSTES MOBILE
============================================================ */
.final-cta .btn-light{ background:var(--snow); color:var(--green-900); }
@media (hover:hover) and (pointer:fine){ .final-cta .btn-light:hover{ background:var(--green-050); color:var(--green-900); } }
.ba-scroll, .reviews-scroll{ scroll-padding-inline:32px; }
.store-grid > *, .grid-services > *{ min-width:0; }
.store-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:880px){ .store-grid{ grid-template-columns:minmax(0,1fr); } }

@media (max-width:760px){
  /* Cabeçalho mais baixo */
  nav.wrap{ height:64px; }
  .logo img{ height:38px; }
  .mobile-panel{ inset:64px 0 0 0; }
  .section{ padding:56px 0; }
  .head-row{ margin-bottom:28px; gap:12px; }
  .head-row h2, .spotlight-content h2, .team-content h2, .split h2{ max-width:none; font-size:clamp(26px,7.4vw,32px); line-height:1.15; }
  .head-row p{ font-size:15px; }
  .eyebrow{ font-size:11.5px; margin-bottom:12px; }
  .ba-scroll, .reviews-scroll{ scroll-padding-inline:20px; }

  /* Hero: título, texto curto e formulário logo em seguida */
  .hero{ padding:88px 0 40px; }
  .hero-copy{ display:contents; }
  .hero-grid{ gap:0; display:flex; flex-direction:column; }
  .hero-copy .eyebrow{ order:1; }
  .hero h1{ order:2; font-size:clamp(32px,9.4vw,40px); line-height:1.06; }
  .hero p.lead{ order:3; margin-top:14px; font-size:16px; line-height:1.55; }
  .hide-sm{ display:none; }
  .form-card{ order:4; margin-top:22px; }
  .hero-stats{ order:5; margin-top:26px; justify-content:space-between; }
  .hero-status, .hero-quote{ display:none; }
  .form-card h2{ font-size:24px; }

  /* Faixa de confiança em grade 2x2 */
  .trust{ padding:18px 0; }
  .trust .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
  .trust .item{ font-size:12.5px; line-height:1.3; align-items:flex-start; }

  /* Unha encravada */
  .spotlight-grid{ gap:24px; }
  .spotlight-photo{ aspect-ratio:16/10; }
  .spotlight-lead{ font-size:15px; }
  .spotlight-cols{ gap:22px; margin-top:24px; }
  .spotlight-content .ctas .btn{ width:100%; }

  /* Antes e depois */
  .ba-item{ flex-basis:62%; }

  /* Processo */
  .process-banner{ aspect-ratio:16/10; margin-bottom:28px; }
  .process{ gap:22px; }
  .process .step{ padding:0 0 0 16px !important; border-left:2px solid var(--green-100); }
  .process h3{ font-size:20px; margin:6px 0 6px; }

  /* Serviços em carrossel deslizável */
  .grid-services{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -20px; padding:0 20px 12px; scroll-padding-inline:20px; -webkit-overflow-scrolling:touch; }
  .grid-services::-webkit-scrollbar{ height:6px; }
  .grid-services::-webkit-scrollbar-thumb{ background:var(--green-100); border-radius:10px; }
  .card-service{ flex:0 0 80%; scroll-snap-align:start; }
  .card-service .photo{ aspect-ratio:16/10; }
  .card-service .body{ padding:20px 20px 22px; }
  .card-service h3{ font-size:19px; }
  .card-service p{ font-size:14px; }
  .also{ margin-top:20px; gap:8px; }

  /* Diferenciais */
  .diff-item{ padding:22px 12px; gap:10px; }
  .diff-item:last-child{ grid-column:1 / -1; }

  /* Equipe */
  .team-photo{ aspect-ratio:4/3; }
  .video-facade{ max-width:none; margin-top:22px; }

  /* Avaliações */
  .rating-summary{ gap:12px 16px; margin-bottom:24px; }
  .rating-summary .score{ font-size:40px; }
  .rating-divider{ display:none; }
  .review-card{ flex-basis:84%; padding:22px; }
  .review-card p{ min-height:0; }

  /* Dúvidas */
  .faq summary{ font-size:17px; padding:18px 40px 18px 0; }
  .faq details p{ font-size:14.5px; }

  /* Unidades */
  .store-card{ padding:22px 20px; }
  .store-top{ flex-wrap:wrap; gap:10px; }
  .store-card h3{ font-size:22px; }
  .hours-table{ margin:14px 0 18px; }
  .hours-table .row{ padding:8px 0; font-size:13.5px; }
  .store-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .store-actions .btn{ width:100%; min-height:48px; }
  .store-actions .btn-primary{ grid-column:1 / -1; }
  .store-links{ gap:4px 18px; flex-wrap:wrap; }
  .store-links a{ padding:10px 0; }

  /* CTA final */
  .final-cta{ padding:48px 20px; }
  .final-cta .ctas{ flex-direction:column; }
  .final-cta .btn{ width:100%; white-space:normal; }

  /* Rodapé com alvos de toque maiores */
  footer{ padding-top:56px; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:28px 20px; padding-bottom:36px; }
  .foot-brand{ grid-column:1 / -1; }
  .foot-grid a{ padding:6px 0; margin-bottom:2px; }
  .foot-social a{ width:44px; height:44px; }

  /* Botão flutuante longe da barra do navegador */
  .sticky-cta{ right:calc(16px + env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); }
}
@media (max-width:420px){
  .hide-xs{ display:none; }
  .hero-stats .stat span{ font-size:11.5px; }
  .ba-item{ flex-basis:70%; }
}
@media (max-width:340px){ .unit-options{ grid-template-columns:1fr; } }
@media (max-width:760px){
  .pay-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .pay-chip{ justify-content:center; padding:12px 14px; }
}
.hero .wrap{ width:100%; min-width:0; }
.hero-grid > *{ min-width:0; }
.show-xs{ display:none; }
@media (max-width:420px){ .show-xs{ display:inline; } }
@media (max-width:1280px){ #trail{ display:none; } }

/* ============================================================
   VÍDEO DO ATENDIMENTO (logo após o hero)
============================================================ */
.video-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.video-copy h2{ font-size:clamp(28px,3.4vw,42px); max-width:17ch; }
.video-lead{ margin-top:20px; font-size:16px; line-height:1.7; color:var(--green-700); max-width:52ch; }
.video-points{ margin-top:24px; }
.video-copy .ctas{ margin-top:30px; }
.video-player{ display:flex; justify-content:center; }
.video-frame{ position:relative; width:100%; max-width:340px; aspect-ratio:358/640; border-radius:32px; overflow:hidden; background:var(--green-900); box-shadow:var(--shadow); border:6px solid var(--paper); }
.video-frame video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--green-900); }
.video-play{ position:absolute; inset:0; width:100%; border:0; padding:0; background:linear-gradient(to top, rgba(43,50,38,0.55), rgba(43,50,38,0.05) 55%); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; color:var(--snow); cursor:pointer; transition:opacity .3s ease; }
.video-play-icon{ width:74px; height:74px; border-radius:50%; background:rgba(255,250,250,0.92); color:var(--green-900); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(0,0,0,0.45); transition:transform .3s var(--ease); }
.video-play-icon svg{ width:28px; height:28px; margin-left:4px; }
.video-play-text{ font-size:13.5px; font-weight:700; letter-spacing:0.02em; background:rgba(43,50,38,0.55); padding:7px 14px; border-radius:100px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
@media (hover:hover) and (pointer:fine){ .video-play:hover .video-play-icon{ transform:scale(1.07); } }
.video-play.is-hidden{ opacity:0; pointer-events:none; }
@media (max-width:900px){
  .video-grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .video-copy h2{ max-width:none; }
}
@media (max-width:760px){
  .video-copy h2{ font-size:clamp(26px,7.4vw,32px); line-height:1.15; }
  .video-lead{ font-size:15px; }
  .video-frame{ max-width:300px; border-radius:26px; }
  .video-copy .ctas .btn{ width:100%; }
}

/* Vídeo acima do formulário (hero) */
.hero-side{ display:flex; flex-direction:column; gap:22px; min-width:0; }
.hero-video-frame{ align-self:center; max-width:300px; border-radius:28px; }
.hero-video-frame .video-play-text{ font-size:12.5px; text-align:center; }
@media (max-width:760px){
  .hero-side{ order:4; margin-top:22px; gap:18px; }
  .hero-side .form-card{ margin-top:0; }
  .hero-video-frame{ max-width:260px; border-radius:24px; }
}

/* ============================================================
   HERO DESKTOP — layout refeito
   ≥1181px: texto | vídeo | formulário, lado a lado e na mesma altura
   981–1180px: texto em cima; vídeo e formulário lado a lado embaixo
   ≤980px: texto, vídeo e formulário empilhados (mobile)
============================================================ */
@media (min-width:981px){
  .hero{ min-height:0; padding:112px 0 56px; align-items:flex-start; }
  .hero-side{ display:contents; }
  .hero-grid{ align-items:stretch; }
  .hero-video-frame{ max-width:none; width:100%; height:100%; aspect-ratio:auto; min-height:520px; align-self:stretch; border-radius:var(--radius); border-width:5px; }
  .hero-video-frame video{ object-fit:cover; object-position:50% 40%; }
  .form-card{ padding:28px 28px 22px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
  .form-card h2{ font-size:26px; }
  .form-card .form-sub{ font-size:14px; }
  .form-steps{ margin:14px 0 16px; }
  .field{ margin-bottom:12px; }
  .field input[type=text], .field input[type=email], .field input[type=tel], .field select{ min-height:46px; padding:10px 14px; }
  .unit-opt > span{ padding:10px 12px; }
  .form-card .btn-primary{ min-height:52px; }
  .form-steps{ display:none; }
  .form-card .form-sub{ margin-bottom:18px; }
  .hero-quote{ margin-top:26px; }
  .hero-quote p{ font-size:16.5px; }
  .hero-copy{ padding-top:0; align-self:center; }
}
@media (min-width:1181px){
  .hero-grid{ grid-template-columns:minmax(0,1fr) 270px 380px; gap:24px; }
  .hero h1{ font-size:clamp(40px,3.7vw,56px); line-height:1.05; }
  .hero p.lead{ font-size:17px; margin-top:20px; }
  .hero-stats{ margin-top:34px; gap:28px; }
  .hero-stats .stat b{ font-size:28px; }
  .hero-status{ margin-top:22px; }
}
@media (min-width:981px) and (max-width:1180px){
  .hero-grid{ grid-template-columns:minmax(0,1fr) 230px 340px; gap:20px; }
  .hero h1{ font-size:40px; line-height:1.06; }
  .hero p.lead{ font-size:15.5px; margin-top:16px; }
  .hero-stats{ margin-top:26px; gap:18px; }
  .hero-stats .stat b{ font-size:24px; }
  .hero-stats .stat span{ font-size:11.5px; }
  .hero-quote{ display:none; }
  .form-card{ padding:24px 22px 20px; }
  .form-card h2{ font-size:23px; }
  .unit-opt b{ font-size:12.5px; }
}
@media (min-width:981px){
  .hero-stats{ flex-wrap:nowrap; gap:24px; }
  .hero-stats .stat span{ font-size:12.5px; white-space:nowrap; }
  .hero-status{ gap:8px; flex-wrap:wrap; }
  .hero-status .badge{ font-size:11.5px; padding:6px 11px; }
  .unit-opt b{ font-size:13.5px; white-space:nowrap; }
  .unit-opt small{ font-size:11.5px; }
}
.video-play-text{ white-space:nowrap; }
@media (min-width:981px) and (max-width:1180px){
  .hero-stats{ gap:16px; }
  .hero-stats .stat span{ white-space:normal; font-size:11.5px; max-width:10ch; }
  .unit-opt b{ font-size:12.5px; }
  .unit-opt > span{ padding:9px 10px; }
  .hero-video-frame .video-play-text{ font-size:11px; padding:6px 10px; }
  .hero-copy .eyebrow{ font-size:11.5px; }
}
@media (min-width:981px){ .hero-stats .stat span{ line-height:1.35; display:block; margin-top:2px; } }
footer{ border-top:1px solid var(--line); }

/* Faixa de confiança no mesmo verde da barra superior */
.trust{ background:var(--green); border-top:0; border-bottom:0; }
.trust .item{ color:var(--snow); }
.trust .item svg{ color:var(--snow); opacity:.9; }

/* Formas de pagamento logo após o hero: faixa compacta */
.pay-section{ padding:56px 0; }
.pay-section .head-row{ margin-bottom:24px; }
.pay-section .head-row h2{ max-width:none; font-size:clamp(24px,2.6vw,32px); }
@media (min-width:900px){
  .pay-section .wrap{ display:flex; align-items:center; justify-content:space-between; gap:40px; }
  .pay-section .head-row{ margin-bottom:0; }
}
@media (max-width:760px){ .pay-section{ padding:40px 0; } }
@media (min-width:900px){
  .pay-section .head-row{ flex:1; min-width:0; }
  .pay-section .head-row h2{ font-size:clamp(22px,2.2vw,28px); }
  .pay-section .pay-row{ flex:none; flex-wrap:nowrap; gap:10px; }
  .pay-section .pay-chip{ padding:11px 18px; }
}

/* ============================================================
   FAIXA VERDE ANIMADA (letreiro contínuo)
============================================================ */
.trust{ padding:0; overflow:hidden; }
.marquee{ position:relative; overflow:hidden; padding:20px 0;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
          mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.marquee-track{ display:flex; width:max-content; animation:allpe-marquee 38s linear infinite; }
.marquee-group{ display:flex; flex:none; }
.trust .marquee .item{
  display:inline-flex; align-items:center; gap:10px; flex:none;
  font-size:16px; font-weight:700; letter-spacing:0.01em; color:var(--snow); white-space:nowrap;
  padding:0 34px; position:relative;
}
.trust .marquee .item svg{ width:20px; height:20px; color:var(--snow); opacity:1; flex:none; }
.trust .marquee .item::after{ content:""; position:absolute; right:-3px; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--green-300); }
@keyframes allpe-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (hover:hover) and (pointer:fine){ .marquee:hover .marquee-track{ animation-play-state:paused; } }
@media (max-width:760px){
  .marquee{ padding:16px 0; }
  .trust .marquee .item{ font-size:15px; padding:0 24px; }
  .trust .marquee .item svg{ width:18px; height:18px; }
  .marquee-track{ animation-duration:30s; }
}
/* Quem pediu menos movimento no sistema vê a faixa parada */
@media (prefers-reduced-motion: reduce){
  .marquee-track{ animation:none !important; }
  .marquee{ overflow-x:auto; }
}

/* ============================================================
   FORMAS DE PAGAMENTO — cartões com logos
============================================================ */
.pay-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; }
.pay-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:var(--paper); border:1px solid var(--line-soft); border-radius:18px;
  padding:16px 14px 14px; min-height:104px; box-shadow:var(--shadow-sm);
}
.pay-logos{ display:flex; align-items:center; justify-content:center; gap:8px; height:36px; }
.pay-logos img{ display:block; height:30px; width:auto; }
.pay-logos .pay-pix{ height:30px; }
.pay-logos .pay-coin{ height:34px; }
.pay-name{ font-size:13.5px; font-weight:700; color:var(--green-900); text-align:center; line-height:1.25; }
@media (min-width:900px){
  .pay-section .wrap{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:48px; align-items:center; }
  .pay-section .head-row{ margin-bottom:0; }
  .pay-section .head-row h2{ font-size:clamp(24px,2.4vw,32px); line-height:1.2; max-width:14ch; }
}
@media (max-width:899px){
  .pay-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .pay-tile{ min-height:92px; padding:14px 10px 12px; }
  .pay-logos img{ height:26px; }
  .pay-logos .pay-coin{ height:30px; }
}
.pay-logos{ gap:12px; }
.pay-logos .pay-visa{ height:19px; }
.pay-logos .pay-master{ height:28px; }
@media (max-width:899px){ .pay-logos .pay-visa{ height:16px; } .pay-logos .pay-master{ height:24px; } }
.pay-logos .pay-pix{ height:36px; }
.pay-logos .pay-coin{ height:36px; }
@media (min-width:900px){ .pay-section .head-row h2{ max-width:18ch; } }
@media (max-width:899px){ .pay-logos .pay-pix{ height:30px; } .pay-logos .pay-coin{ height:30px; } }

/* ============================================================
   UNHA ENCRAVADA — seção reorganizada
============================================================ */
#unha-encravada .spotlight-grid{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:stretch; }
#unha-encravada .spotlight-photo{ aspect-ratio:auto; height:100%; min-height:460px; }
#unha-encravada .spotlight-content{ display:flex; flex-direction:column; justify-content:center; }
#unha-encravada .spotlight-content h2{ max-width:20ch; }
#unha-encravada .spotlight-cols{ gap:14px; margin-top:28px; }
#unha-encravada .spotlight-cols > div{ background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-sm); padding:22px 22px 20px; box-shadow:var(--shadow-sm); }
#unha-encravada .spotlight-cols h4{ font-size:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line-soft); }
#unha-encravada .spotlight-list{ gap:10px; }
#unha-encravada .spotlight-list li{ font-size:14px; }
#unha-encravada .spotlight-content .ctas{ margin-top:28px; }
@media (max-width:900px){
  #unha-encravada .spotlight-grid{ grid-template-columns:minmax(0,1fr); gap:28px; }
  #unha-encravada .spotlight-photo{ height:auto; min-height:0; aspect-ratio:16/10; }
}
@media (max-width:560px){
  #unha-encravada .spotlight-cols{ grid-template-columns:minmax(0,1fr); }
  #unha-encravada .spotlight-cols > div{ padding:18px; }
}
#unha-encravada .spotlight-content h2{ max-width:none; font-size:clamp(28px,3vw,38px); line-height:1.2; }

/* ============================================================
   PODOLOGIA INFANTIL
============================================================ */
.kids-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:stretch; }
.kids-photo{ border-radius:var(--radius); box-shadow:var(--shadow); min-height:440px; height:100%; }
.kids-photo img{ object-position:50% 40%; }
.kids-photo::after{ background:linear-gradient(to top, rgba(51,61,44,0.35), rgba(51,61,44,0) 40%); mix-blend-mode:normal; }
.kids-content{ display:flex; flex-direction:column; justify-content:center; }
.kids-content h2{ font-size:clamp(28px,3vw,38px); line-height:1.2; }
.kids-lead{ margin-top:16px; font-size:16px; line-height:1.7; color:var(--green-700); max-width:56ch; }
.kids-box{ margin-top:24px; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius-sm); padding:22px 22px 20px; box-shadow:var(--shadow-sm); }
.kids-box h4{ font-family:'Inter',sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--green-900); margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line-soft); }
.kids-box .spotlight-list{ gap:10px; }
.kids-box .spotlight-list li{ font-size:14.5px; }
.kids-content .ctas{ margin-top:26px; }
@media (max-width:900px){
  .kids-grid{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .kids-photo{ min-height:0; height:auto; aspect-ratio:7/5; }
}
@media (max-width:760px){
  .kids-content h2{ font-size:clamp(26px,7.4vw,32px); }
  .kids-lead{ font-size:15px; }
  .kids-box{ padding:18px; }
  .kids-content .ctas .btn{ width:100%; white-space:normal; }
}


/* ============================================================
   PODOLOGIA INFANTIL — fundo com clima infantil
   (pezinhos, estrelas, nuvens e corações em tons pastel)
============================================================ */
#infantil{
  position:relative; overflow:hidden; isolation:isolate;
  background-color:#FFF6EF;
  background-image:
    radial-gradient(520px 360px at 8% 12%, rgba(191,217,230,0.55), transparent 70%),
    radial-gradient(480px 340px at 96% 88%, rgba(244,213,141,0.45), transparent 70%),
    radial-gradient(380px 300px at 88% 8%, rgba(232,168,184,0.28), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22220%22 height=%22220%22 viewBox=%220 0 220 220%22%3E %3Cg opacity=%22.55%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg transform=%22translate(26 30) rotate(-18)%22 fill=%22%23F2B8A2%22 opacity=%22.55%22%3E%3Cellipse cx=%229%22 cy=%2216%22 rx=%227%22 ry=%2210%22/%3E%3Ccircle cx=%223%22 cy=%223%22 r=%222.2%22/%3E%3Ccircle cx=%228%22 cy=%221.2%22 r=%222%22/%3E%3Ccircle cx=%2212.5%22 cy=%222%22 r=%221.8%22/%3E%3Ccircle cx=%2216%22 cy=%224.5%22 r=%221.6%22/%3E%3C/g%3E %3Cg transform=%22translate(46 58) rotate(-10)%22 fill=%22%23F2B8A2%22 opacity=%22.55%22%3E%3Cellipse cx=%229%22 cy=%2216%22 rx=%227%22 ry=%2210%22/%3E%3Ccircle cx=%223%22 cy=%223%22 r=%222.2%22/%3E%3Ccircle cx=%228%22 cy=%221.2%22 r=%222%22/%3E%3Ccircle cx=%2212.5%22 cy=%222%22 r=%221.8%22/%3E%3Ccircle cx=%2216%22 cy=%224.5%22 r=%221.6%22/%3E%3C/g%3E %3Cpath d=%22M150 34l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2-6.5-3.4-6.5 3.4 1.3-7.2-5.3-5.1 7.3-1z%22 fill=%22%23F4D58D%22 opacity=%22.75%22/%3E %3Cpath d=%22M112 140c-6-9 4-16 9-9 5-7 15 0 9 9l-9 8z%22 fill=%22%23E8A8B8%22 opacity=%22.5%22/%3E %3Cpath d=%22M156 118c0-7 6-12 13-12 3-6 13-6 16 1 6 0 10 5 10 10 0 1 0 1-1 1h-37c-1 0-1 0-1 0z%22 fill=%22%23BFD9E6%22 opacity=%22.7%22/%3E %3Ccircle cx=%2270%22 cy=%22150%22 r=%225%22 fill=%22%23A6B296%22 opacity=%22.45%22/%3E %3Ccircle cx=%22192%22 cy=%22186%22 r=%223.5%22 fill=%22%23F4D58D%22 opacity=%22.8%22/%3E %3Ccircle cx=%2224%22 cy=%22196%22 r=%224%22 fill=%22%23BFD9E6%22 opacity=%22.8%22/%3E %3Cpath d=%22M60 186c6-6 12 6 18 0s12 6 18 0%22 stroke=%22%23A6B296%22 stroke-width=%222.4%22 opacity=%22.5%22/%3E %3Cpath d=%22M186 60l2 4 4 2-4 2-2 4-2-4-4-2 4-2z%22 fill=%22%23E8A8B8%22 opacity=%22.6%22/%3E %3C/g%3E%3C/svg%3E");
  background-size:auto, auto, auto, 220px 220px;
}
#infantil::before, #infantil::after{ content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
#infantil::before{ width:260px; height:260px; left:-90px; bottom:-90px; background:rgba(166,178,150,0.22); }
#infantil::after{ width:180px; height:180px; right:-50px; top:40px; background:rgba(191,217,230,0.35); }
#infantil .kids-box{ background:rgba(255,255,255,0.86); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-color:rgba(242,184,162,0.45); }
#infantil .kids-box .spotlight-list li::before{ background:#E89B7F; }
#infantil .kids-photo{ border:6px solid #fff; box-shadow:0 24px 60px -24px rgba(200,120,90,0.45); }
#infantil .eyebrow{ color:#B8674A; }
#infantil .eyebrow::before{ background:#E89B7F; }
@media (max-width:760px){ #infantil{ background-size:auto, auto, auto, 170px 170px; } }


/* Podologia infantil — estampa só nas bordas, área do texto limpa */
#infantil{
  background-color:#FFF7F1;
  background-image:
    radial-gradient(520px 360px at 4% 8%, rgba(191,217,230,0.45), transparent 70%),
    radial-gradient(480px 340px at 98% 92%, rgba(244,213,141,0.38), transparent 70%);
  background-size:auto, auto;
}
#infantil::after{ display:none; }
#infantil::before{
  width:auto; height:auto; left:0; right:0; top:0; bottom:0; border-radius:0; background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22220%22 height=%22220%22 viewBox=%220 0 220 220%22%3E %3Cg opacity=%22.55%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg transform=%22translate(26 30) rotate(-18)%22 fill=%22%23F2B8A2%22 opacity=%22.55%22%3E%3Cellipse cx=%229%22 cy=%2216%22 rx=%227%22 ry=%2210%22/%3E%3Ccircle cx=%223%22 cy=%223%22 r=%222.2%22/%3E%3Ccircle cx=%228%22 cy=%221.2%22 r=%222%22/%3E%3Ccircle cx=%2212.5%22 cy=%222%22 r=%221.8%22/%3E%3Ccircle cx=%2216%22 cy=%224.5%22 r=%221.6%22/%3E%3C/g%3E %3Cg transform=%22translate(46 58) rotate(-10)%22 fill=%22%23F2B8A2%22 opacity=%22.55%22%3E%3Cellipse cx=%229%22 cy=%2216%22 rx=%227%22 ry=%2210%22/%3E%3Ccircle cx=%223%22 cy=%223%22 r=%222.2%22/%3E%3Ccircle cx=%228%22 cy=%221.2%22 r=%222%22/%3E%3Ccircle cx=%2212.5%22 cy=%222%22 r=%221.8%22/%3E%3Ccircle cx=%2216%22 cy=%224.5%22 r=%221.6%22/%3E%3C/g%3E %3Cpath d=%22M150 34l3.2 6.6 7.3 1-5.3 5.1 1.3 7.2-6.5-3.4-6.5 3.4 1.3-7.2-5.3-5.1 7.3-1z%22 fill=%22%23F4D58D%22 opacity=%22.75%22/%3E %3Cpath d=%22M112 140c-6-9 4-16 9-9 5-7 15 0 9 9l-9 8z%22 fill=%22%23E8A8B8%22 opacity=%22.5%22/%3E %3Cpath d=%22M156 118c0-7 6-12 13-12 3-6 13-6 16 1 6 0 10 5 10 10 0 1 0 1-1 1h-37c-1 0-1 0-1 0z%22 fill=%22%23BFD9E6%22 opacity=%22.7%22/%3E %3Ccircle cx=%2270%22 cy=%22150%22 r=%225%22 fill=%22%23A6B296%22 opacity=%22.45%22/%3E %3Ccircle cx=%22192%22 cy=%22186%22 r=%223.5%22 fill=%22%23F4D58D%22 opacity=%22.8%22/%3E %3Ccircle cx=%2224%22 cy=%22196%22 r=%224%22 fill=%22%23BFD9E6%22 opacity=%22.8%22/%3E %3Cpath d=%22M60 186c6-6 12 6 18 0s12 6 18 0%22 stroke=%22%23A6B296%22 stroke-width=%222.4%22 opacity=%22.5%22/%3E %3Cpath d=%22M186 60l2 4 4 2-4 2-2 4-2-4-4-2 4-2z%22 fill=%22%23E8A8B8%22 opacity=%22.6%22/%3E %3C/g%3E%3C/svg%3E"); background-size:200px 200px; opacity:1;
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 6%, transparent 13%, transparent 87%, #000 94%, #000 100%);
          mask-image:linear-gradient(to right, #000 0%, #000 6%, transparent 13%, transparent 87%, #000 94%, #000 100%);
}
/* Painel claro atrás do texto para leitura perfeita */
#infantil .kids-content{ background:rgba(255,255,255,0.72); border:1px solid rgba(242,184,162,0.35); border-radius:var(--radius); padding:36px 36px 34px; box-shadow:0 20px 50px -30px rgba(200,120,90,0.35); }
#infantil .kids-box{ background:#FFFDFB; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; }
@media (max-width:900px){
  #infantil::before{
    -webkit-mask-image:linear-gradient(to bottom, #000 0, #000 40px, transparent 110px, transparent calc(100% - 110px), #000 calc(100% - 40px), #000 100%);
            mask-image:linear-gradient(to bottom, #000 0, #000 40px, transparent 110px, transparent calc(100% - 110px), #000 calc(100% - 40px), #000 100%);
    background-size:160px 160px;
  }
  #infantil .kids-content{ padding:24px 20px 22px; }
}

/* ============================================================
   UNIDADES — cards com foto da fachada
============================================================ */
.store-card{ padding:0; overflow:hidden; display:flex; flex-direction:column; }
.store-photo{ position:relative; aspect-ratio:16/9; }
.store-photo img{ object-position:50% 55%; }
.store-photo::after{ background:linear-gradient(to top, rgba(43,50,38,0.28), rgba(43,50,38,0) 45%); mix-blend-mode:normal; }
.store-photo-badge{ position:absolute; left:16px; top:16px; z-index:3; box-shadow:0 8px 20px -8px rgba(0,0,0,0.35); }
.store-photo-badge.open{ background:#EEF4EA; }
.store-photo-badge.closed{ background:#FBF1EC; }
.store-photo-badge.soon{ background:#FBF1DF; }
.store-body{ padding:28px 30px 26px; display:flex; flex-direction:column; flex:1; }
.store-top{ margin-bottom:4px; }
.store-card .addr{ margin-bottom:16px; }
.hours-table{ margin:0 0 20px; }
.store-actions{ margin-top:auto; }
@media (max-width:760px){
  .store-body{ padding:20px 18px 18px; }
  .store-photo-badge{ left:12px; top:12px; }
}

/* Unidades: fundo verde-sálvia, diferente da podologia infantil e das dúvidas */
#lojas{ background:#E6EBDD; background-image:radial-gradient(700px 380px at 12% 0%, rgba(255,250,250,0.55), transparent 70%), radial-gradient(600px 360px at 95% 100%, rgba(95,110,81,0.12), transparent 70%); }
#lojas .head-row p{ color:var(--green-900); opacity:.8; }
#lojas .store-card{ background:#FFFDFB; border-color:rgba(95,110,81,0.18); box-shadow:0 24px 50px -28px rgba(51,61,44,0.4); }

/* ============================================================
   BOTÕES DE WHATSAPP — verde oficial #25D366
============================================================ */
.btn.btn-wa, .form-card .btn.btn-wa, .final-cta .btn.btn-wa{
  background:#25D366; color:#1C1E21; border-color:#25D366;
  box-shadow:0 12px 26px -12px rgba(37,211,102,0.65);
}
.btn.btn-wa svg{ color:#1C1E21; }
@media (hover:hover) and (pointer:fine){
  .btn.btn-wa:hover, .form-card .btn.btn-wa:hover{ background:#1EBE5A; border-color:#1EBE5A; color:#1C1E21; transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(30,190,90,0.7); }
}
.btn.btn-wa:focus-visible{ outline-color:#128C4B; }
.sticky-cta button{ background:#25D366; box-shadow:0 14px 30px -8px rgba(37,211,102,0.6); }
.sticky-cta svg{ color:#1C1E21; }
