/* =========================================================
   VITTA PATA — Design System (Premium Clínico Teal)
   ========================================================= */
:root{
  /* Verde Esmeralda / Floresta (primária — vem das folhas do logo) */
  --teal-50:#eef6f0; --teal-100:#d6ecdc; --teal-200:#aedcb9;
  --teal-300:#7cc593; --teal-400:#46a96c; --teal-500:#1f9254;
  --teal-600:#147a44; --teal-700:#0e6138; --teal-800:#0b4d2e; --teal-900:#083823;
  /* Carvão Floresta (neutros quentes, no lugar do slate azulado) */
  --ink-900:#0c1d16; --ink-800:#15281f; --ink-700:#2a3a32;
  --ink-600:#4b5b52; --ink-500:#6d7c73; --ink-400:#9aa9a0;
  --ink-300:#c4ccc7; --ink-200:#dee5e0; --ink-100:#eef3ef; --ink-50:#f6faf7;
  /* Mel / Damasco (acento quente) */
  --amber-300:#f7cf8a; --amber-400:#f0b163; --amber-500:#e69445; --amber-600:#cf7726;
  --rose-500:#ef5a5a; --rose-600:#d83f3f;
  --white:#ffffff;
  --cream:#fbf9f3;

  --bg:var(--cream);
  --text:var(--ink-800);
  --muted:var(--ink-500);

  /* Tipografia */
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Sora','Inter',sans-serif;

  /* Raios */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;

  /* Sombras */
  --sh-sm:0 2px 8px rgba(12,29,22,.06);
  --sh-md:0 10px 30px rgba(12,29,22,.08);
  --sh-lg:0 24px 60px rgba(12,29,22,.13);
  --sh-teal:0 18px 40px rgba(20,122,68,.28);
  --sh-amber:0 18px 40px rgba(207,119,38,.30);

  /* Transições */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --t-fast:.2s; --t:.4s; --t-slow:.7s;

  --container:1180px;
  --header-h:80px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  font-size:clamp(15px,.5vw + 14px,17px);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;font-weight:700;color:var(--ink-900);letter-spacing:-.02em}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}

/* ---------- Ícones ---------- */
.ico{width:1.15em;height:1.15em;fill:currentColor;flex:none}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:600;font-size:.97rem;
  padding:.85em 1.5em;border-radius:var(--r-pill);border:1px solid transparent;
  cursor:pointer;transition:transform var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),background var(--t-fast);
  white-space:nowrap;will-change:transform;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-lg{padding:1.05em 1.9em;font-size:1.02rem}
.btn-primary{background:linear-gradient(135deg,var(--teal-400),var(--teal-600));color:#fff;box-shadow:var(--sh-teal)}
.btn-primary:hover{box-shadow:0 22px 50px rgba(20,122,68,.42)}
.btn-amber{background:linear-gradient(135deg,var(--amber-400),var(--amber-600));color:#fff;box-shadow:var(--sh-amber)}
.btn-outline{background:transparent;border-color:var(--ink-200);color:var(--ink-800)}
.btn-outline:hover{border-color:var(--teal-500);color:var(--teal-700);background:var(--teal-50)}
.btn-ghost{background:var(--white);border-color:var(--ink-200);color:var(--ink-800);box-shadow:var(--sh-sm)}
.btn-ghost:hover{border-color:var(--teal-400);color:var(--teal-700)}
.btn-ghost-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(6px)}
.btn-ghost-light:hover{background:rgba(255,255,255,.16)}

/* ---------- Barra de progresso ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1000;
  background:linear-gradient(90deg,var(--teal-400),var(--teal-600));box-shadow:0 0 12px rgba(31,146,84,.6)}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{position:fixed;top:0;left:0;right:0;z-index:900;
  transition:background var(--t),box-shadow var(--t),height var(--t);height:var(--header-h)}
.site-header::after{content:'';position:absolute;inset:0;z-index:-1;background:transparent;transition:background var(--t),backdrop-filter var(--t)}
.site-header.scrolled::after{background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 rgba(15,23,42,.06)}
.site-header.scrolled{height:66px}
.header-inner{display:flex;align-items:center;gap:1.5rem;height:100%}
.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-weight:800;font-size:1.3rem}
.brand-logo{width:46px;height:46px;object-fit:contain;transition:transform var(--t) var(--ease-spring)}
.brand:hover .brand-logo{transform:rotate(-8deg) scale(1.06)}
.brand-name{color:var(--teal-700);letter-spacing:-.03em}
.brand-name span{color:var(--ink-700)}
.main-nav{display:flex;gap:.4rem;margin-left:auto}
.main-nav a{position:relative;padding:.5rem .85rem;font-weight:500;color:var(--ink-700);border-radius:var(--r-sm);transition:color var(--t-fast)}
.main-nav a::after{content:'';position:absolute;left:.85rem;right:.85rem;bottom:.3rem;height:2px;background:var(--teal-500);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease);border-radius:2px}
.main-nav a:hover{color:var(--teal-700)}
.main-nav a:hover::after{transform:scaleX(1)}
.header-cta{flex:none}
.scrolled .brand-logo{width:40px;height:40px}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav-toggle span{width:26px;height:2.5px;background:var(--ink-800);border-radius:2px;transition:transform var(--t) var(--ease),opacity var(--t)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:var(--header-h) 0 auto 0;z-index:880;background:#fff;
  display:flex;flex-direction:column;gap:.25rem;padding:1rem clamp(20px,5vw,40px) 1.5rem;
  box-shadow:var(--sh-lg);transform:translateY(-120%);transition:transform var(--t) var(--ease);visibility:hidden}
.mobile-menu.open{transform:translateY(0);visibility:visible}
.mobile-menu a{padding:.9rem .5rem;font-weight:500;border-bottom:1px solid var(--ink-100)}
.mobile-menu .btn{margin-top:1rem}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;
  padding-top:calc(var(--header-h) + 2rem);padding-bottom:4rem;overflow:hidden;
  background:linear-gradient(180deg,var(--teal-50),var(--cream) 60%)}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.mesh{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.mesh-1{width:46vw;height:46vw;background:radial-gradient(circle,var(--teal-300),transparent 70%);top:-12%;right:-8%;animation:float1 18s ease-in-out infinite}
.mesh-2{width:38vw;height:38vw;background:radial-gradient(circle,var(--teal-200),transparent 70%);bottom:-15%;left:-10%;animation:float2 22s ease-in-out infinite}
.mesh-3{width:30vw;height:30vw;background:radial-gradient(circle,var(--amber-300),transparent 70%);top:30%;left:35%;opacity:.28;animation:float3 26s ease-in-out infinite}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(20,122,68,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,122,68,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000,transparent 75%)}
.paw-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}

@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4%,5%) scale(1.08)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,-4%) scale(1.12)}}
@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(-8%,-6%)}}

.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.pill{display:inline-flex;align-items:center;gap:.5em;padding:.5em 1em;border-radius:var(--r-pill);font-size:.84rem;font-weight:600}
.pill-teal{background:var(--teal-100);color:var(--teal-800)}
.pill-ghost{background:#fff;color:var(--ink-600);box-shadow:var(--sh-sm)}
.pill .ico{color:var(--teal-600)}

.hero-title{font-size:clamp(2.4rem,5.2vw,4.2rem);line-height:1.04;margin-bottom:1.3rem;font-weight:800}
.grad-text{background:linear-gradient(110deg,var(--teal-600),var(--teal-400) 55%,var(--teal-600));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:200% center}}
.hero-sub{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--ink-600);max-width:33ch;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-actions.center{justify-content:center}
.hero-trust{display:flex;align-items:center;gap:1.5rem;margin-top:2.4rem;flex-wrap:wrap}
.trust-item{display:flex;flex-direction:column;line-height:1.1}
.trust-item strong{font-family:var(--font-display);font-size:1.5rem;color:var(--teal-700)}
.trust-item span{font-size:.85rem;color:var(--muted)}
.trust-sep{width:1px;height:34px;background:var(--ink-200)}

/* Hero visual */
.hero-visual{position:relative}
.visual-frame{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);
  aspect-ratio:3/4;background:#0c1d16;transform:none;transition:transform var(--t-slow) var(--ease)}
.hero-visual:hover .visual-frame{transform:translateY(-5px)}
.visual-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,21,15,.4));z-index:2}
.hero-video,.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video{z-index:1;opacity:0;transition:opacity 1s var(--ease)}
.hero-video.ready{opacity:1}
.hero-vimeo{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%) scale(1.22);border:0;z-index:1;background:#0c1d16;pointer-events:none}
.frame-tag{position:absolute;left:1rem;top:1rem;z-index:3;display:inline-flex;align-items:center;gap:.5em;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:.45em .9em;border-radius:var(--r-pill);font-size:.8rem;font-weight:600;color:var(--ink-800)}
.frame-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--teal-500);box-shadow:0 0 0 0 rgba(31,146,84,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,146,84,.5)}70%{box-shadow:0 0 0 10px rgba(31,146,84,0)}100%{box-shadow:0 0 0 0 rgba(31,146,84,0)}}

.float-card{position:absolute;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:.9rem 1.1rem;display:flex;align-items:center;gap:.7rem;z-index:4}
.float-sat{right:-6%;top:auto;bottom:30%;animation:bob 5s ease-in-out infinite}
.float-team{left:-8%;bottom:12%;font-weight:600;font-size:.9rem;color:var(--ink-700);animation:bob 6s ease-in-out infinite .5s}
.float-team .ico{color:var(--teal-600);width:1.5em;height:1.5em}
.float-sat .ring{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:var(--teal-700);
  background:conic-gradient(var(--teal-500) 0 98%,var(--ink-100) 98% 100%);position:relative}
.float-sat .ring::before{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}
.float-sat .ring strong{position:relative;font-size:.8rem}
.float-sat span{font-size:.78rem;color:var(--muted);line-height:1.2}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:3;width:26px;height:42px;border:2px solid var(--ink-300);border-radius:var(--r-pill);display:grid;place-items:start center;padding-top:7px}
.scroll-cue span{width:5px;height:8px;border-radius:3px;background:var(--teal-600);animation:scrolly 1.6s ease-in-out infinite}
@keyframes scrolly{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}80%,100%{opacity:0;transform:translateY(12px)}}

/* =========================================================
   SECTION HEADS
   ========================================================= */
section{position:relative}
.features,.team,.reviews,.process,.plans{padding:clamp(4rem,8vw,7rem) 0}
.section-head{max-width:720px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin:.6rem 0 .8rem}
.section-head p{color:var(--muted);font-size:1.08rem}
.section-head.light h2,.section-head.light p{color:#fff}
.section-head.light p{color:rgba(255,255,255,.7)}
.eyebrow{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-600);background:var(--teal-50);padding:.4em 1em;border-radius:var(--r-pill)}
.eyebrow-amber{color:var(--amber-600);background:rgba(207,119,38,.14)}
.eyebrow-light{color:var(--teal-200);background:rgba(255,255,255,.1)}

/* =========================================================
   EMERGÊNCIA
   ========================================================= */
.emergency{background:linear-gradient(160deg,var(--ink-900),var(--ink-800));color:#fff;padding:clamp(4rem,8vw,6.5rem) 0;overflow:hidden}
.emergency::before{content:'';position:absolute;width:60vw;height:60vw;border-radius:50%;top:-30%;right:-15%;background:radial-gradient(circle,rgba(46,169,108,.20),transparent 70%);filter:blur(40px)}
.emg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:2.5rem}
.emg-card{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:1.6rem 1.4rem 1.4rem;
  transition:transform var(--t) var(--ease),border-color var(--t),background var(--t)}
.emg-card:hover{transform:translateY(-6px);border-color:var(--teal-400);background:rgba(46,169,108,.10)}
.emg-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3em .8em;border-radius:var(--r-pill);margin-bottom:1rem}
.tag-red{background:rgba(244,63,94,.16);color:#fda4af}
.tag-teal{background:rgba(46,169,108,.18);color:var(--teal-300)}
.tag-green{background:rgba(34,197,94,.16);color:#86efac}
.tag-blue{background:rgba(59,130,246,.16);color:#93c5fd}
.emg-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem}
.emg-ico svg{width:26px;height:26px;fill:#fff}
.ico-red{background:linear-gradient(135deg,var(--rose-500),var(--rose-600))}
.ico-teal{background:linear-gradient(135deg,var(--teal-400),var(--teal-600))}
.ico-green{background:linear-gradient(135deg,#34d399,#059669)}
.ico-blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}
.emg-card h3{color:#fff;font-size:1.12rem;margin-bottom:.4rem}
.emg-card p{color:rgba(255,255,255,.62);font-size:.92rem}
.emg-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(207,119,38,.18),rgba(46,169,108,.14));border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:2rem 2.2rem}
.emg-cta h3{color:#fff;font-size:1.4rem}
.emg-cta p{color:rgba(255,255,255,.72);margin-top:.3rem}

/* =========================================================
   DIFERENCIAIS
   ========================================================= */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.feat-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:2rem 1.8rem;
  transition:transform var(--t) var(--ease),box-shadow var(--t),border-color var(--t);position:relative;overflow:hidden}
.feat-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--teal-50),transparent);opacity:0;transition:opacity var(--t)}
.feat-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:var(--teal-200)}
.feat-card:hover::before{opacity:1}
.feat-card>*{position:relative}
.feat-ico{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;margin-bottom:1.3rem;
  background:linear-gradient(135deg,var(--teal-400),var(--teal-600));box-shadow:var(--sh-teal);transition:transform var(--t) var(--ease-spring)}
.feat-ico svg{width:30px;height:30px;fill:#fff}
.feat-card:hover .feat-ico{transform:rotate(-6deg) scale(1.08)}
.feat-card h3{font-size:1.22rem;margin-bottom:.6rem}
.feat-card p{color:var(--muted)}

/* =========================================================
   NÚMEROS
   ========================================================= */
.stats{background:linear-gradient(135deg,var(--teal-600),var(--teal-800));color:#fff;padding:clamp(3rem,6vw,4.5rem) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat strong{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:#fff}
.stat span{display:block;margin-top:.5rem;color:var(--teal-100);font-size:.98rem}

/* =========================================================
   EQUIPE
   ========================================================= */
.team{background:linear-gradient(180deg,var(--cream),var(--teal-50))}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:960px;margin-inline:auto}
.team-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;background:#fff;border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--sh-md);
  border:1px solid var(--ink-100);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.team-photo{position:relative;width:130px}
.team-photo img{width:130px;height:130px;object-fit:cover;border-radius:var(--r-md);box-shadow:var(--sh-sm)}
.team-badge{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--teal-600);color:#fff;font-size:.68rem;font-weight:700;padding:.3em .7em;border-radius:var(--r-pill);box-shadow:var(--sh-sm)}
.team-info h3{font-size:1.25rem}
.team-role{color:var(--teal-700);font-weight:600;font-size:.92rem;margin-bottom:.8rem}
.team-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.team-tags li{background:var(--teal-50);color:var(--teal-800);font-size:.76rem;font-weight:600;padding:.3em .7em;border-radius:var(--r-pill)}
.team-bio{color:var(--muted);font-size:.92rem}
.team-cta{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;text-align:center;margin-top:3rem}
.team-cta p{font-size:1.1rem;font-weight:500;color:var(--ink-700);max-width:30ch}

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
.reviews{background:linear-gradient(180deg,var(--teal-50),var(--cream))}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:3rem}
.rev-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--sh-sm);
  transition:transform var(--t) var(--ease),box-shadow var(--t)}
.rev-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.stars{color:var(--amber-500);display:inline-flex;gap:3px;margin-bottom:.9rem}
.stars svg{width:18px;height:18px;fill:currentColor}
.rev-card blockquote{font-size:1rem;color:var(--ink-700);font-style:italic;margin-bottom:1.3rem}
.rev-card figcaption{display:flex;align-items:center;gap:.8rem}
.rev-card figcaption img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.rev-card figcaption span{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}
.rev-card figcaption strong{color:var(--ink-800);font-size:.95rem}
.facade{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);max-width:920px;margin-inline:auto}
.facade img{width:100%;height:auto;object-fit:cover}
.facade-tag{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:.5em 1em;border-radius:var(--r-pill);font-weight:600;font-size:.85rem;color:var(--ink-800)}

/* =========================================================
   PROCESSO
   ========================================================= */
.process{background:var(--white)}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.steps-line{position:absolute;top:28px;left:10%;right:10%;height:3px;background:var(--ink-100);border-radius:3px;z-index:0;overflow:hidden}
.steps-line span{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--teal-400),var(--teal-600));border-radius:3px;transition:width 1.4s var(--ease)}
.step{position:relative;z-index:1;text-align:center;padding:0 .4rem}
.step-num{width:58px;height:58px;margin:0 auto 1.1rem;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:#fff;
  background:linear-gradient(135deg,var(--teal-400),var(--teal-600));box-shadow:var(--sh-teal);
  border:4px solid #fff;transition:transform var(--t) var(--ease-spring)}
.step:hover .step-num{transform:scale(1.12) translateY(-3px)}
.step h3{font-size:1.05rem;margin-bottom:.4rem}
.step p{color:var(--muted);font-size:.9rem}
.process-alert{display:flex;align-items:center;gap:1rem;margin-top:3rem;background:linear-gradient(135deg,var(--teal-50),rgba(207,119,38,.07));
  border:1px solid var(--teal-200);border-radius:var(--r-lg);padding:1.3rem 1.6rem}
.process-alert .ico{color:var(--amber-600);width:2rem;height:2rem;flex:none}
.process-alert p{color:var(--ink-700);font-size:.98rem}
.process-alert strong{color:var(--amber-700,#b45309)}

/* =========================================================
   PLANOS
   ========================================================= */
.plans{background:linear-gradient(180deg,var(--cream),var(--teal-50))}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.plan-card{position:relative;background:#fff;border:1.5px solid var(--ink-100);border-radius:var(--r-lg);padding:2.2rem 1.9rem;
  box-shadow:var(--sh-sm);transition:transform var(--t) var(--ease),box-shadow var(--t),border-color var(--t)}
.plan-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}
.plan-featured{border-color:var(--teal-400);box-shadow:var(--sh-teal);transform:scale(1.03)}
.plan-featured:hover{transform:scale(1.03) translateY(-8px)}
.plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--amber-400),var(--amber-600));color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.45em 1.1em;border-radius:var(--r-pill);box-shadow:var(--sh-amber);white-space:nowrap}
.plan-head h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-700)}
.plan-price{font-family:var(--font-display);font-weight:800;font-size:3rem;color:var(--ink-900);line-height:1;margin:.6rem 0 1.4rem;display:flex;align-items:flex-start;gap:.1em}
.plan-price .cur{font-size:1.2rem;margin-top:.4em}
.plan-price .cents{font-size:1.3rem}
.plan-price .per{font-size:.9rem;color:var(--muted);font-family:var(--font-body);font-weight:500;align-self:flex-end;margin-bottom:.4em}
.plan-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.6rem}
.plan-list li{position:relative;padding-left:1.8rem;font-size:.93rem;color:var(--ink-700)}
.plan-list li::before{content:'';position:absolute;left:0;top:.15em;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23147a44'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/.8rem no-repeat}
.plan-card .btn{width:100%}
.plan-note{margin-top:1rem;font-size:.78rem;color:var(--muted);text-align:center}
.plans-extra{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.extra-card{background:#fff;border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:1.6rem 1.8rem;box-shadow:var(--sh-sm)}
.extra-card h4{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;margin-bottom:.7rem}
.extra-card h4 .ico{color:var(--teal-600);width:1.4rem;height:1.4rem}
.extra-card p{color:var(--muted);font-size:.93rem}
.benef-list{display:flex;flex-direction:column;gap:.5rem}
.benef-list li{position:relative;padding-left:1.6rem;color:var(--ink-700);font-size:.93rem}
.benef-list li::before{content:'';position:absolute;left:0;top:.4em;width:.7rem;height:.7rem;border-radius:50%;background:var(--teal-500)}
.plans-foot{text-align:center;margin-top:2rem;color:var(--muted);font-weight:500}

/* =========================================================
   CTA FINAL
   ========================================================= */
.final-cta{position:relative;background:linear-gradient(160deg,var(--ink-900),var(--ink-800));color:#fff;text-align:center;padding:clamp(4.5rem,9vw,7rem) 0;overflow:hidden}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg .mesh-1{width:50vw;height:50vw;background:radial-gradient(circle,rgba(46,169,108,.32),transparent 70%);top:-20%;left:-10%;opacity:.8}
.cta-bg .mesh-2{width:40vw;height:40vw;background:radial-gradient(circle,rgba(230,148,69,.22),transparent 70%);bottom:-20%;right:-10%;opacity:.65}
.final-cta .container{position:relative;z-index:1}
.final-cta h2{font-size:clamp(2rem,4.2vw,3.2rem);max-width:18ch;margin:1rem auto 1.2rem;color:#fff}
.final-cta .grad-text{background-image:linear-gradient(110deg,var(--teal-300),var(--teal-500) 55%,var(--teal-300))}
.final-cta>.container>p{color:rgba(255,255,255,.74);max-width:52ch;margin:0 auto 2.2rem;font-size:1.08rem}
.cta-badges{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:3rem}
.cta-badge{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:1rem 1.3rem;text-align:left}
.cta-badge .ico{color:var(--teal-300);width:1.7rem;height:1.7rem}
.cta-badge span{display:flex;flex-direction:column;font-size:.82rem;color:rgba(255,255,255,.6)}
.cta-badge strong{color:#fff;font-size:.95rem}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--ink-900);color:rgba(255,255,255,.7);padding-top:clamp(3rem,6vw,4.5rem)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem}
.foot-brand img{width:56px;height:56px;object-fit:contain;margin-bottom:1rem;background:#fff;border-radius:14px;padding:6px}
.foot-brand p{font-size:.92rem;max-width:36ch;margin-bottom:1.3rem}
.foot-social{display:flex;gap:.6rem}
.foot-social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);transition:background var(--t),transform var(--t)}
.foot-social a svg{width:20px;height:20px;fill:rgba(255,255,255,.8)}
.foot-social a:hover{background:var(--teal-600);transform:translateY(-3px)}
.foot-col h4{color:#fff;font-size:1rem;margin-bottom:1.1rem}
.foot-col a,.foot-addr{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.92rem;color:rgba(255,255,255,.65);transition:color var(--t)}
.foot-col a:hover{color:var(--teal-300)}
.foot-col .ico{color:var(--teal-400);width:1.1rem;height:1.1rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0}
.footer-bottom .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.84rem;color:rgba(255,255,255,.5)}

/* ---------- WhatsApp flutuante ---------- */
.wpp-float{position:fixed;right:22px;bottom:22px;z-index:950;width:60px;height:60px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.45);
  transition:transform var(--t) var(--ease-spring)}
.wpp-float svg{width:32px;height:32px;fill:#fff}
.wpp-float::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25d366;animation:wpp-ping 2.4s ease-out infinite;z-index:-1}
@keyframes wpp-ping{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.8);opacity:0}}
.wpp-float:hover{transform:scale(1.1)}

/* =========================================================
   REVEAL (scroll)
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* Hero acima da dobra: anima na carga via CSS (nao espera o JS aparecer) */
.hero [data-reveal]{animation:heroReveal .55s var(--ease) both}
.hero .hero-badges{animation-delay:.04s}
.hero .hero-title{animation-delay:.1s}
.hero .hero-sub{animation-delay:.16s}
.hero .hero-actions{animation-delay:.2s}
.hero .hero-trust{animation-delay:.26s}
.hero .hero-visual{animation-delay:.12s}
@keyframes heroReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:3rem}
  .hero-copy{text-align:center;max-width:640px;margin-inline:auto}
  .hero-sub{max-width:none}
  .hero-actions,.hero-trust,.hero-badges{justify-content:center}
  .hero-visual{max-width:420px;width:100%;margin-inline:auto}
  .visual-frame{transform:none;width:100%}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .emg-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-nav,.header-cta{display:none}
  .nav-toggle{display:flex}
  .steps{grid-template-columns:repeat(2,1fr);gap:2rem}
  .steps-line{display:none}
  .plans-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
  .plan-featured{transform:none}
  .plan-featured:hover{transform:translateY(-8px)}
  .team-grid{grid-template-columns:1fr;max-width:520px}
  .rev-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:2rem}
  .plans-extra{grid-template-columns:1fr}
}
@media (max-width:560px){
  :root{--header-h:68px}
  .feat-grid,.emg-grid{grid-template-columns:1fr}
  .team-card{grid-template-columns:1fr;text-align:center;justify-items:center}
  .team-tags{justify-content:center}
  .steps{grid-template-columns:1fr;max-width:360px;margin-inline:auto}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .emg-cta,.team-cta{text-align:center;justify-content:center}
  .hero-trust{gap:1rem}
  .trust-sep{display:none}
}

/* ---------- Acessibilidade: reduzir movimento ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}
