/* =====================================================================
   PSICOTÉR PARAGUAI — style.css
   Landing Page de pré-lançamento (Lista VIP) · Mobile-First
   Design System: Psicotér (teal #38B6AA + coral #F18973 · fonte Dosis)
   ===================================================================== */

/* ═══════════════════════════════════════════════════════════════════
   0) FONTES LOCAIS — Dosis (self-hosted em /fonts · performance)
   Faixas de peso cobrem os pesos usados: 400→500 (corpo), 700→800 (títulos).
   ═══════════════════════════════════════════════════════════════════ */
@font-face{
  font-family:'Dosis';
  font-style:normal;
  font-weight:400 500;
  font-display:swap;
  src:url('../fonts/dosis-400-regular.woff2') format('woff2');
}
@font-face{
  font-family:'Dosis';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/dosis-600.woff2') format('woff2');
}
@font-face{
  font-family:'Dosis';
  font-style:normal;
  font-weight:700 800;
  font-display:swap;
  src:url('../fonts/dosis-700.woff2') format('woff2');
}

/* ═══════════════════════════════════════════════════════════════════
   1) DESIGN TOKENS
   ═══════════════════════════════════════════════════════════════════ */
:root{
  /* PRIMÁRIA — Teal (marca) */
  --color-primary-900:#17564E; --color-primary-800:#1F7469; --color-primary-700:#238B7F;
  --color-primary-600:#2E9E92; --color-primary-500:#38B6AA; --color-primary-400:#5CC1B6;
  --color-primary-300:#8AD4CD; --color-primary-200:#B8E6E1; --color-primary-100:#DCF2EF;

  /* ACENTO — Coral (CTA) */
  --color-accent-700:#D9613E; --color-accent-600:#E9724F; --color-accent-500:#F18973;
  --color-accent-400:#F5A08E; --color-accent-300:#F8BBAD; --color-accent-200:#FBD6CD; --color-accent-100:#FDEAE4;

  /* CREME & NEUTROS */
  --color-cream-100:#FEFAF2; --color-cream-200:#FCF6EA; --color-cream-300:#F7EEDB;
  --color-neutral-000:#FFFFFF; --color-neutral-050:#FAFAFA; --color-neutral-100:#F7F7F7;
  --color-neutral-200:#ECECEC; --color-neutral-300:#DCDCDC; --color-neutral-400:#BDBDBD;
  --color-neutral-500:#8A8A8A; --color-neutral-700:#656565; --color-neutral-800:#414141; --color-neutral-900:#1A1718;

  /* ESTADOS */
  --color-success:#3FA65B; --color-success-bg:#E7F5EB;
  --color-error:#E14B4B;   --color-error-bg:#FCEBEB;

  /* SEMÂNTICOS */
  --bg-base:var(--color-neutral-000);
  --text-strong:var(--color-neutral-900);
  --text-body:var(--color-neutral-700);
  --text-muted:var(--color-neutral-500);
  --text-heading:var(--color-neutral-800);
  --text-on-dark:var(--color-neutral-000);
  --border-subtle:var(--color-neutral-200);
  --focus-ring:var(--color-primary-500);
  --color-teal:var(--color-primary-500);
  --color-cta:var(--color-accent-500);

  /* TIPOGRAFIA — Dosis */
  --font-primary:'Dosis', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --fs-xs:.75rem; --fs-sm:.9375rem; --fs-base:1.125rem; --fs-md:1.25rem;
  --fs-lg:1.4375rem; --fs-xl:1.875rem; --fs-2xl:2.5rem; --fs-3xl:2.8125rem;
  --fs-h1-mobile:2.1875rem;
  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extrabold:800;
  --lh-tight:1.12; --lh-snug:1.28; --lh-normal:1.65; --lh-relaxed:1.85;
  --ls-tight:0; --ls-normal:.01em; --ls-wide:.06em; --ls-widest:.16em;

  /* Escala FLUÍDA (mobile-first: menor valor = mobile) */
  --fs-h1:clamp(2.1875rem, 6vw + 1rem, 2.8125rem);   /* 35 → 45 */
  --fs-h2:clamp(1.625rem, 3.5vw + .6rem, 1.875rem);  /* 26 → 30 */
  --fs-cta:clamp(1.75rem, 4vw + .6rem, 2.5rem);      /* 28 → 40 */

  /* ESPAÇAMENTO */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.5rem;
  --space-6:2rem; --space-7:3rem; --space-8:4rem; --space-9:6rem; --space-10:8rem;
  --section-y:clamp(3.5rem, 8vw, 7rem);
  --gutter:1.25rem; /* padding lateral do container no mobile (20px) */

  /* RAIOS */
  --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-xl:28px;
  --radius-pill:999px; --radius-circle:50%;
  --radius-organic:30px 70px 40px 60px;
  --radius-blob-1:42% 58% 63% 37% / 45% 38% 62% 55%;
  --radius-blob-2:63% 37% 41% 59% / 46% 63% 37% 54%;
  --radius-blob-3:38% 62% 55% 45% / 58% 42% 58% 42%;

  /* SOMBRAS */
  --shadow-xs:0 1px 3px rgba(65,65,65,.06);
  --shadow-sm:0 4px 14px rgba(65,65,65,.07);
  --shadow-md:0 10px 30px rgba(65,65,65,.10);
  --shadow-lg:0 20px 50px rgba(65,65,65,.13);
  --shadow-teal:0 10px 26px rgba(56,182,170,.30);
  --shadow-coral:0 10px 26px rgba(241,137,115,.32);

  /* LAYOUT */
  --container-max:1200px;

  /* MOTION */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --dur-fast:180ms; --dur-base:300ms; --dur-slow:600ms;

  /* Altura do header (para offset de âncora) */
  --header-h:118px;
}

/* ═══════════════════════════════════════════════════════════════════
   2) RESET & BASE
   ═══════════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{
  overflow-x:hidden;
  scroll-behavior:smooth;
  scroll-padding-top:var(--header-h);
  background:var(--bg-base);
  scrollbar-width:thin;
  scrollbar-color:var(--color-teal) var(--color-primary-100);
  -webkit-text-size-adjust:100%;
}
/* Scrollbar personalizada (WebKit) */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--color-primary-100)}
::-webkit-scrollbar-thumb{background-color:var(--color-teal);border-radius:var(--radius-pill);border:2px solid var(--color-primary-100)}
::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-600)}

body{
  overflow-x:hidden;
  font-family:var(--font-primary);
  font-size:var(--fs-base);
  font-weight:var(--fw-medium);
  line-height:var(--lh-normal);
  color:var(--text-body);
  background:var(--bg-base);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{display:block;max-width:100%;height:auto}
::selection{background:var(--color-primary-200);color:var(--color-primary-900)}

h1,h2,h3,h4{
  font-family:var(--font-primary);
  color:var(--text-heading);
  line-height:var(--lh-tight);
  letter-spacing:var(--ls-tight);
}
h1{font-size:var(--fs-h1);font-weight:var(--fw-bold)}
h2{font-size:var(--fs-h2);font-weight:var(--fw-bold)}
h3{font-size:var(--fs-lg);line-height:var(--lh-snug);font-weight:var(--fw-bold)}
h4{font-size:var(--fs-md);font-weight:var(--fw-semibold)}
p{font-weight:var(--fw-medium)}
a{color:var(--color-teal);text-decoration:none}
strong{font-weight:var(--fw-bold)}

:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}

/* Phosphor icons */
i[class^="ph-"],i[class*=" ph-"]{font-size:1.25rem;line-height:1;vertical-align:middle}

/* ═══════════════════════════════════════════════════════════════════
   3) UTILITÁRIOS
   ═══════════════════════════════════════════════════════════════════ */
.container{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{position:relative;padding-block:var(--section-y);overflow:hidden}
.section--soft{background:var(--color-neutral-100)}
.section--cream{background:var(--color-cream-200)}
.section--mint{background:var(--color-primary-100)}
.section--teal{
  background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 100%);
  color:var(--text-on-dark);
}
.section--teal h2,.section--teal h3,.section--teal h4{color:#fff}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.skip-link{
  position:absolute;left:var(--space-4);top:-100px;z-index:1000;
  background:var(--color-cta);color:#fff;padding:var(--space-3) var(--space-5);
  border-radius:var(--radius-pill);font-weight:var(--fw-bold);transition:top var(--dur-base) var(--ease-out);
}
.skip-link:focus{top:var(--space-4)}

/* Eyebrow */
.eyebrow{
  display:inline-block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);
  padding-bottom:6px;position:relative;margin-bottom:var(--space-3);
}
.eyebrow::after{content:none}
.eyebrow--center{text-align:center}
.eyebrow--center::after{left:50%;transform:translateX(-50%)}
.eyebrow--light{color:rgba(255,255,255,.85)}

/* Título de seção com underline coral */
.sect-title{position:relative;margin-bottom:var(--space-5);text-align:center}
.sect-title::after{content:none}
.sect-title--left{text-align:left}
.sect-title--left::after{left:0;transform:none}

.lead{font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-relaxed);color:var(--text-body)}
.section--teal .lead{color:rgba(255,255,255,.92)}

/* Ênfase por cor (sem itálico) */
.accent-em{font-style:normal;color:var(--color-primary-600);font-weight:var(--fw-bold)}
.accent-coral{font-style:normal;color:var(--color-cta);font-weight:var(--fw-bold)}
.section--teal .accent-em{color:#fff;text-decoration:underline;text-decoration-color:var(--color-accent-300);text-underline-offset:4px}

.text-center{text-align:center}
.mt-6{margin-top:var(--space-6)}

/* ═══════════════════════════════════════════════════════════════════
   4) BOTÕES
   ═══════════════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:var(--space-3) var(--space-6);
  font-family:var(--font-primary);font-size:var(--fs-sm);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;text-align:center;
  border:2px solid var(--color-cta);border-radius:var(--radius-pill);
  background:var(--color-cta);color:var(--color-neutral-000);
  cursor:pointer;transition:all var(--dur-base) var(--ease-out);
}
.btn:hover{background:var(--color-accent-600);border-color:var(--color-accent-600);transform:translateY(-2px);box-shadow:var(--shadow-coral)}
.btn:active{transform:translateY(0)}
.btn--teal{background:var(--color-teal);border-color:var(--color-teal)}
.btn--teal:hover{background:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-teal)}
.btn--outline-light{background:transparent;border-color:#fff;color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--color-primary-700);box-shadow:none}
.btn--whatsapp{background:#25D366;border-color:#25D366;color:#fff}
.btn--whatsapp:hover{background:#1da851;border-color:#1da851;box-shadow:0 10px 26px rgba(37,211,102,.32)}
.btn--lg{
  padding:var(--space-3) var(--space-4);
  font-size:clamp(.75rem, 1vw + .55rem, 1.125rem);
  letter-spacing:var(--ls-normal);
}
.btn--block{display:flex;width:100%}
.btn svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
.btn i{font-size:1.2rem}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}

/* Pulso sutil no CTA principal (chama atenção sem exagero) */
@keyframes cta-pulse{0%,100%{box-shadow:0 0 0 0 rgba(241,137,115,.45)}50%{box-shadow:0 0 0 12px rgba(241,137,115,0)}}
.btn--pulse{animation:cta-pulse 2.6s var(--ease-out) infinite}
.btn--pulse:hover{animation:none}

/* ═══════════════════════════════════════════════════════════════════
   5) BADGES / PÍLULAS
   ═══════════════════════════════════════════════════════════════════ */
.badge{
  display:inline-flex;align-items:center;gap:var(--space-2);
  padding:var(--space-1) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;border-radius:var(--radius-pill);
  background:var(--color-primary-100);color:var(--color-primary-700);
}
.badge--accent{background:var(--color-cta);color:#fff}
.badge--light{background:rgba(255,255,255,.16);color:#fff}
.badge i{font-size:1rem}

/* ═══════════════════════════════════════════════════════════════════
   6) FORMAS ORGÂNICAS
   ═══════════════════════════════════════════════════════════════════ */
.blob{position:absolute;z-index:0;pointer-events:none}
.blob-1{border-radius:var(--radius-blob-1)}
.blob-2{border-radius:var(--radius-blob-2)}
.blob-3{border-radius:var(--radius-blob-3)}
.blob--teal{background:var(--color-teal)}
.blob--coral{background:var(--color-cta)}
.blob--mint{background:var(--color-primary-100)}
.blob--soft{background:var(--color-accent-200)}
.blob-anim{animation:morph 9s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:var(--radius-blob-1)}33%{border-radius:var(--radius-blob-2)}66%{border-radius:var(--radius-blob-3)}}

/* Divisor em onda */
.wave{width:100%;line-height:0;display:block}
.wave svg{width:100%;height:48px;display:block}

/* ═══════════════════════════════════════════════════════════════════
   7) HEADER (sticky)
   ═══════════════════════════════════════════════════════════════════ */
.site-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-base) var(--ease-out)}
.site-header.is-scrolled{box-shadow:var(--shadow-sm)}

.topbar{background:var(--color-teal);color:#fff}
.topbar__inner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);
  padding-block:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;text-align:center}
.topbar__inner i{font-size:1rem}

.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand svg{height:38px;width:auto}
.brand__word{font-size:1.7rem;font-weight:var(--fw-bold);color:var(--color-neutral-800);letter-spacing:-.01em;line-height:1}
.nav__links{display:none}
.nav__links a{
  font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);
  text-transform:uppercase;color:var(--text-heading);transition:color var(--dur-fast)
}
.nav__links a:hover{color:var(--color-teal)}
.nav__cta{flex-shrink:0}
.nav__cta .btn{padding:var(--space-2) var(--space-4);font-size:var(--fs-xs)}

/* ═══════════════════════════════════════════════════════════════════
   8) HERO
   ═══════════════════════════════════════════════════════════════════ */
.hero{position:relative;background:linear-gradient(180deg,var(--color-cream-200) 0%,var(--color-cream-100) 55%,#fff 100%);padding-top:var(--space-7);padding-bottom:var(--space-8)}
.hero__grid{display:grid;gap:var(--space-7);align-items:center}

.hero__logo{width:200px;height:auto;margin-bottom:var(--space-5)}

.hero__kicker{
  display:block;font-size:var(--fs-sm);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--color-primary-700);
  margin-bottom:var(--space-3)
}
.hero h1{color:var(--text-heading);margin-bottom:var(--space-4)}
.hero h1 .flag{-webkit-text-fill-color:initial}
.hero__sub{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-body);margin-bottom:var(--space-5);max-width:60ch}
.hero__sub strong{color:var(--color-primary-700)}

.hero__stats{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}
.stat-pill{display:inline-flex;align-items:center;gap:var(--space-2);background:#fff;
  border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-sm)}
.stat-pill i{color:var(--color-teal);font-size:1.25rem}
.stat-pill b{color:var(--color-neutral-800);font-weight:var(--fw-bold);font-size:var(--fs-sm)}
.stat-pill span{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide)}

.hero__cta-row{display:flex;flex-direction:column;gap:var(--space-3)}
.hero__cta-note{font-size:var(--fs-sm);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}
.hero__cta-note i{color:var(--color-teal)}

/* Coluna visual / formulário sobre blobs */
.hero__visual{position:relative;z-index:1}
.hero__blobs{position:absolute;inset:-30px -10px;z-index:0}
.hero__blobs .blob{position:absolute}
.hero__blobs .b1{width:200px;height:200px;background:var(--color-primary-200);top:-20px;right:-10px}
.hero__blobs .b2{width:120px;height:120px;background:var(--color-accent-300);left:-20px;top:60px}
.hero__blobs .b3{width:90px;height:90px;background:var(--color-teal);right:20px;bottom:-10px}

/* ═══════════════════════════════════════════════════════════════════
   9) FORMULÁRIO (card de conversão)
   ═══════════════════════════════════════════════════════════════════ */
.form-card{position:relative;z-index:1;background:#fff;border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);padding:var(--space-6);border-top:4px solid var(--color-cta)}
.form-card__head{text-align:center;margin-bottom:var(--space-5)}
.form-card__head .badge{margin-bottom:var(--space-3)}
.form-card__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-heading);margin-bottom:var(--space-2)}
.form-card__sub{font-size:var(--fs-sm);color:var(--text-body)}

.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}
.label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-body)}
.label .req{color:var(--color-cta)}
.input,.select{
  width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-primary);
  font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-strong);
  background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);
}
.input::placeholder{color:var(--text-muted)}
.input:focus,.select:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 3px rgba(56,182,170,.18)}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2338B6AA' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-7);cursor:pointer}
.field__msg{font-size:var(--fs-sm);color:var(--color-error);min-height:1.1em}
.field.is-invalid .input,.field.is-invalid .select{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(225,75,75,.12)}

.form-card .btn{margin-top:var(--space-2)}
.form-card__legal{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-4);line-height:1.5}

/* ═══════════════════════════════════════════════════════════════════
   10) CARDS / GRIDS
   ═══════════════════════════════════════════════════════════════════ */
.grid{display:grid;gap:var(--space-5)}

/* Autoridad — layout com imagem à esquerda (desktop) */
.autoridad__layout{display:grid;gap:var(--space-7)}
.autoridad__media{position:relative;min-height:280px}
.autoridad__media::before{content:"";position:absolute;z-index:0;width:150px;height:150px;
  right:-24px;bottom:-24px;background:var(--color-accent-200);border-radius:var(--radius-blob-2)}
.autoridad__media .blob{top:-28px;left:-28px}
.autoridad__media img{position:relative;z-index:1;display:block;width:100%;height:100%;
  border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);object-fit:cover}
.autoridad__content{display:flex;flex-direction:column;justify-content:center}
.autoridad__cta{margin-top:var(--space-6)}
@media(min-width:992px){
  .autoridad__layout{grid-template-columns:0.9fr 1.1fr;align-items:center;gap:var(--space-9)}
  .autoridad__media{min-height:0}
  .autoridad__media img{height:auto;aspect-ratio:4/5}
}

.card{position:relative;background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.card--accent{border-top:3px solid var(--color-cta)}
.card__icon{width:46px;height:46px;display:grid;place-items:center;background:var(--color-primary-100);
  border-radius:var(--radius-circle);color:var(--color-teal);font-size:1.3rem;margin-bottom:var(--space-4)}
.card__icon i{font-size:1.3rem}
.card__title{color:var(--text-heading);margin-bottom:var(--space-2);font-weight:var(--fw-bold);font-size:var(--fs-md)}
.card__text{color:var(--text-body);font-weight:var(--fw-medium);font-size:var(--fs-sm);line-height:var(--lh-normal)}

/* Icon boxes (benefícios com check) */
.icon-box{display:flex;gap:var(--space-4);align-items:flex-start}
.icon-box__icon{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;
  background:var(--color-primary-100);border-radius:var(--radius-circle);color:var(--color-teal)}
.icon-box__icon i{font-size:1.15rem}
.icon-box h4{margin-bottom:var(--space-1);font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-heading)}
.icon-box p{font-size:var(--fs-sm);color:var(--text-body)}
.section--teal .icon-box__icon{background:rgba(255,255,255,.16);color:#fff}
.section--teal .icon-box h4{color:#fff}
.section--teal .icon-box p{color:rgba(255,255,255,.9)}

/* ═══════════════════════════════════════════════════════════════════
   11) CONTADORES (prova social)
   ═══════════════════════════════════════════════════════════════════ */
.counters{display:grid;gap:var(--space-5)}
.counter-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5);text-align:center}
.counter__num{font-size:var(--fs-3xl);font-weight:var(--fw-bold);color:var(--color-teal);line-height:1}
.counter__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-body);text-transform:uppercase;letter-spacing:var(--ls-wide);margin-top:var(--space-2)}

/* ═══════════════════════════════════════════════════════════════════
   12) LISTA VIP / ESCASSEZ
   ═══════════════════════════════════════════════════════════════════ */
.vip-callout{background:#fff;border:2px dashed var(--color-accent-300);border-radius:var(--radius-xl);
  padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);max-width:720px;margin-inline:auto}
.vip-callout .badge{margin-bottom:var(--space-4)}
.vip-callout__num{font-size:clamp(3rem,12vw,5rem);font-weight:var(--fw-extrabold);color:var(--color-cta);line-height:1}
.vip-callout__label{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-heading);margin-bottom:var(--space-2)}
.vip-callout__text{font-size:var(--fs-sm);color:var(--text-body);max-width:46ch;margin-inline:auto}

/* Barra de progresso de cupos */
.cupos-bar{height:14px;background:var(--color-primary-100);border-radius:var(--radius-pill);overflow:hidden;margin:var(--space-5) 0 var(--space-2)}
.cupos-bar__fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--color-accent-500),var(--color-accent-600));border-radius:var(--radius-pill);transition:width 1.4s var(--ease-out)}
.cupos-meta{display:flex;justify-content:space-between;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-muted)}
.cupos-meta b{color:var(--color-cta)}

/* ═══════════════════════════════════════════════════════════════════
   13) CITAÇÃO / MISSÃO
   ═══════════════════════════════════════════════════════════════════ */
.quote{max-width:820px;margin-inline:auto;text-align:center;position:relative;z-index:1}
.quote__mark{font-size:5rem;line-height:.6;color:rgba(255,255,255,.3);font-weight:var(--fw-extrabold)}
.quote__text{font-size:clamp(1.375rem,3vw,1.875rem);font-weight:var(--fw-semibold);color:#fff;line-height:var(--lh-snug);margin-bottom:var(--space-4)}
.quote__cite{font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--color-accent-200);font-style:normal}

/* ═══════════════════════════════════════════════════════════════════
   14) FAQ (Accordion)
   ═══════════════════════════════════════════════════════════════════ */
.accordion{max-width:820px;margin-inline:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:#fff}
.accordion__item{border-bottom:1px solid var(--border-subtle)}
.accordion__item:last-child{border-bottom:none}
.accordion__head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);
  padding:var(--space-4) var(--space-5);font-family:var(--font-primary);font-size:var(--fs-base);
  font-weight:var(--fw-bold);color:var(--text-heading);text-align:left;background:none;border:none;cursor:pointer}
.accordion__head i{color:var(--color-teal);font-size:1.4rem;flex-shrink:0;transition:transform var(--dur-base) var(--ease-out)}
.accordion__item.is-open .accordion__head i{transform:rotate(45deg)}
.accordion__panel{max-height:0;overflow:hidden;transition:max-height var(--dur-base) var(--ease-out)}
.accordion__panel p{padding:0 var(--space-5) var(--space-5);font-size:var(--fs-sm);color:var(--text-body)}

/* ═══════════════════════════════════════════════════════════════════
   15) FAIXA CTA FINAL
   ═══════════════════════════════════════════════════════════════════ */
/* FAQ e CTA final compartilham o mesmo fundo creme do footer — evita padding
   duplicado (section-y + section-y) criando um vão vazio entre eles */
/* Sem padding-top: o painel verde encosta no padding-bottom da FAQ, deixando
   o espaço após a FAQ igual ao espaço antes dela (ambos = 1× --section-y) */
.cta-final-section{padding-top:0;padding-bottom:var(--space-7)}

/* CTA final — painel contido (não full-bleed) com imagem de fundo + véu teal translúcido */
.cta-final{position:relative;overflow:hidden;border-radius:var(--radius-xl);
  padding:var(--space-8) var(--space-5);
  background:linear-gradient(135deg,rgba(56,182,170,.92) 0%,rgba(35,139,127,.92) 100%),url('../images/background-cta.webp');
  background-size:cover;background-position:top center;background-repeat:no-repeat}
@media(min-width:768px){.cta-final{padding:var(--space-9) var(--space-8)}}

.cta-band{text-align:center;position:relative;z-index:1}
.cta-band__title{font-size:var(--fs-cta);font-weight:var(--fw-bold);color:#fff;line-height:var(--lh-tight);margin-bottom:var(--space-3);max-width:24ch;margin-inline:auto}
.cta-band__text{color:rgba(255,255,255,.9);margin-bottom:var(--space-6);max-width:52ch;margin-inline:auto}

/* ═══════════════════════════════════════════════════════════════════
   16) FOOTER
   ═══════════════════════════════════════════════════════════════════ */
.site-footer{background:var(--color-cream-200);color:var(--text-body);padding-block:var(--space-6);font-size:var(--fs-sm)}
.footer__top{text-align:center;margin-bottom:var(--space-6)}
.footer__logo{width:170px;height:auto;margin-inline:auto;margin-bottom:var(--space-3)}
.footer__desc{margin-top:var(--space-3);max-width:52ch;margin-inline:auto;line-height:var(--lh-normal);color:var(--text-body)}
.footer__social{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-5)}
.footer__social a{width:40px;height:40px;display:grid;place-items:center;background:var(--color-teal);border-radius:var(--radius-circle);
  transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.footer__social a:hover{background:var(--color-accent-500);transform:translateY(-2px)}
.footer__social svg{width:20px;height:20px;fill:#fff}
.footer__bottom{border-top:1px solid var(--color-cream-300);padding-top:var(--space-5);text-align:center;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.6}

/* ═══════════════════════════════════════════════════════════════════
   17) WHATSAPP FLUTUANTE
   ═══════════════════════════════════════════════════════════════════ */
.wpp-float{position:fixed;right:18px;bottom:18px;z-index:200;width:58px;height:58px;
  display:grid;place-items:center;background:#25D366;color:#fff;border-radius:var(--radius-circle);
  box-shadow:0 8px 24px rgba(37,211,102,.45);transition:transform var(--dur-base) var(--ease-out)}
.wpp-float:hover{transform:scale(1.08)}
.wpp-float svg{width:32px;height:32px;fill:#fff}
.wpp-float::after{content:"";position:absolute;inset:0;border-radius:var(--radius-circle);
  border:2px solid #25D366;animation:wpp-ring 2.4s var(--ease-out) infinite}
@keyframes wpp-ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}

/* ═══════════════════════════════════════════════════════════════════
   18) REVEAL ON SCROLL
   ═══════════════════════════════════════════════════════════════════ */
/* Só esconde quando o JS está ativo (classe .js em <html>) — conteúdo
   permanece visível se o JS falhar ou estiver desligado (robustez/SEO). */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.js .reveal.is-visible{opacity:1;transform:none}

/* ═══════════════════════════════════════════════════════════════════
   19) BREAKPOINTS (min-width — mobile-first)
   ═══════════════════════════════════════════════════════════════════ */

/* Tablet ≥ 768px */
@media(min-width:768px){
  .topbar__inner{gap:var(--space-5)}
  .hero__cta-row{flex-direction:row;align-items:center;flex-wrap:wrap}
  .hero__cta-note{margin-top:12px}
  .grid--2{grid-template-columns:1fr 1fr}
  .grid--3{grid-template-columns:repeat(3,1fr)}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .counters{grid-template-columns:repeat(3,1fr)}
  .footer__grid{grid-template-columns:1.4fr 1fr 1.2fr}
  .form-card{padding:var(--space-7)}
  .wpp-float{width:64px;height:64px;right:24px;bottom:24px}
  .btn--lg{padding:var(--space-4) var(--space-7);font-size:var(--fs-base);letter-spacing:var(--ls-wide)}
}

/* Desktop ≥ 992px */
@media(min-width:992px){
  :root{--gutter:0} /* max-width 1200 + margin auto já centraliza */
  .container{padding-inline:0}
  /* Reintroduz respiro nas bordas de seções com fundo full-width */
  .section > .container,.hero > .container,.site-header .container,.site-footer .container,.topbar .container{padding-inline:var(--space-5)}

  .nav__links{display:flex;gap:var(--space-6)}
  .hero__grid{grid-template-columns:1.05fr .95fr}
  .hero{padding-top:var(--space-8)}
  .hero__logo{margin-top:calc(var(--space-4) * -1);margin-bottom:var(--space-8)}
  .grid--4{grid-template-columns:repeat(4,1fr)}
  .nav__cta .btn{padding:var(--space-3) var(--space-5);font-size:var(--fs-sm)}
}

/* Desktop grande ≥ 1240px */
@media(min-width:1240px){
  .section > .container,.hero > .container,.site-header .container,.site-footer .container,.topbar .container{padding-inline:var(--space-5)}
}

/* ═══════════════════════════════════════════════════════════════════
   20) ACESSIBILIDADE — Movimento reduzido
   ═══════════════════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
