/* ==========================================================================
   MEDICLIQUE — Marketing Médico Baseado em Evidências
   Linguagem visual: launch page cinematográfica (inspirada em Apple/Samsung)
   ========================================================================== */

@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-Light.ttf") format("truetype");
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-Medium.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-SemiBold.ttf") format("truetype");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope"; src:url("../assets/fonts/Manrope-ExtraBold.ttf") format("truetype");
  font-weight:800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Mono"; src:url("../assets/fonts/SpaceMono-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Space Mono"; src:url("../assets/fonts/SpaceMono-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}

:root{
  --c-black:#000000;
  --c-near-black:#0a0a0a;
  --c-charcoal:#111312;
  --c-charcoal-2:#161a18;
  --c-white:#FFFFFF;
  --c-offwhite:#F5F5F7;
  --c-body:#1d1d1f;
  --c-muted:#86868b;
  --c-muted-onDark:#98a19c;
  --c-divider:#d2d2d7;
  --c-divider-onDark:rgba(255,255,255,.14);

  --c-green-deep:#0B6B43;
  --c-green-bright:#30E08C;
  --c-green-accent:#7fe6ba;
  --c-green-glow:#1fce77;

  --grad-green: linear-gradient(160deg,#0e5c3d 0%,#0b3d29 55%,#050f0c 100%);
  /* Preenchimento do CTA — mais encorpado que o mint claro original, para
     dar contraste ao feixe quase branco que percorre a borda. */
  --grad-btn: linear-gradient(120deg,#0f8a56 0%,#1ecb82 50%,#0f8a56 100%);

  /* Borda do .btn-primary: verde profundo com um único feixe estreito
     quase branco viajando por cima — não um anel inteiro iluminado. */
  --btn-edge-deep: #0b6b43;
  --btn-edge-bright: #22d98a;
  --btn-edge-pale: #bdf7de;
  --btn-edge-highlight: #ffffff;
  --btn-speed: 3s;

  --font-base: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Space Mono", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --container-max: 1280px;
  --container-narrow: 1080px;

  --ease: cubic-bezier(.22,1,.36,1);
  --ease-soft: cubic-bezier(.16,.84,.44,1);
  --ease-reveal: cubic-bezier(.215,.61,.355,1);

  --pad-section: clamp(72px, 12vw, 160px);
  --pad-section-sm: clamp(56px, 8vw, 100px);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:60px; }
body{
  margin:0;
  font-family:var(--font-base);
  font-weight:400;
  color:var(--c-body);
  background:var(--c-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,p{ margin:0; }
section{ position:relative; }
.container{ width:100%; max-width:var(--container-max); margin-inline:auto; padding-inline:24px; }
.container--narrow{ max-width:var(--container-narrow); }
@media (min-width:768px){ .container{ padding-inline:40px; } }
@media (min-width:1100px){ .container{ padding-inline:56px; } }

.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:12px; top:-60px; background:var(--c-green-bright); color:var(--c-black);
  padding:10px 16px; border-radius:8px; font-weight:700; z-index:999; transition:top .2s var(--ease);
}
.skip-link:focus{ top:12px; }

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0%; z-index:400;
  background:linear-gradient(90deg,var(--c-green-deep),var(--c-green-bright));
  transition:width .1s linear;
}

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .5s var(--ease-soft), transform .5s var(--ease-soft); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-scale{ opacity:0; transform:scale(.97); transition:opacity .6s var(--ease-soft), transform .6s var(--ease-soft); }
.reveal-scale.is-visible{ opacity:1; transform:scale(1); }
.reveal-stagger > *{ opacity:0; transform:translateY(18px); transition:opacity .5s var(--ease-soft), transform .5s var(--ease-soft); }
.reveal-stagger.is-visible > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.is-visible > *:nth-child(1){ transition-delay:.03s; }
.reveal-stagger.is-visible > *:nth-child(2){ transition-delay:.08s; }
.reveal-stagger.is-visible > *:nth-child(3){ transition-delay:.13s; }
.reveal-stagger.is-visible > *:nth-child(4){ transition-delay:.18s; }
.reveal-stagger.is-visible > *:nth-child(5){ transition-delay:.23s; }
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-scale, .reveal-stagger > *{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ---------- Reveal text — headlines palavra por palavra ---------- */
.reveal-word{
  display:inline-block;
  transition:opacity .65s var(--ease-reveal), transform .65s var(--ease-reveal), filter .65s var(--ease-reveal);
  transition-delay:calc(var(--reveal-index, 0) * 40ms);
}
/* Estado oculto (pré-entrada): só se aplica enquanto o grupo AINDA NÃO foi revelado.
   O seletor :not(.is-revealed) garante que, assim que .is-revealed é adicionado,
   estas regras param de bater — evitando empate de especificidade com o estado final. */
html.js-reveal-ready [data-reveal="words"]:not(.is-revealed) .reveal-word{
  opacity:0; transform:translateY(16px); filter:blur(8px); will-change:opacity, transform, filter;
}
html.js-reveal-ready [data-reveal="words"][data-reveal-variant="hero"]:not(.is-revealed) .reveal-word{
  transform:translateY(20px); filter:blur(10px);
  transition-duration:.7s;
}
@media (max-width:640px){
  html.js-reveal-ready [data-reveal="words"]:not(.is-revealed) .reveal-word{ transform:translateY(12px); filter:blur(6px); }
  html.js-reveal-ready [data-reveal="words"][data-reveal-variant="hero"]:not(.is-revealed) .reveal-word{ transform:translateY(12px); filter:blur(6px); }
}
/* Trecho com degradê (agrupado pelo JS): somente fade, mantém background-clip:text intacto (WebKit/iOS). */
.reveal-word.reveal-word--group{ display:inline; }
html.js-reveal-ready [data-reveal="words"]:not(.is-revealed) .reveal-word--group{
  opacity:0; transform:none !important; filter:none !important; will-change:auto !important;
}
html.js-reveal-ready [data-reveal="words"] .reveal-word--group{ transition-property:opacity; }/* Estado final: nítido, sem blur, sem deslocamento — sempre vence, independente de variante. */
html.js-reveal-ready [data-reveal="words"].is-revealed .reveal-word{
  opacity:1 !important; transform:none !important; filter:none !important;
}
/* Palavras dentro de trechos com degradê verde (background-clip:text) não recebem blur:
   o filter força o navegador a renderizar a palavra num buffer isolado, e como ela não tem
   cor/fundo próprios (dependem do wrapper com o gradiente), o resultado fica em branco/invisível.
   Mantemos opacity + transform (não quebram o clipping) e desligamos só o filter. */
.hero-title__accent .reveal-word,
.results__title-accent .reveal-word,
.frentes-title__accent .reveal-word,
.diag-cta__title-accent .reveal-word,
.tech__title-accent .reveal-word,
.tech-ia__title-accent .reveal-word,
.tech-portal__title-accent .reveal-word,
.testi-title-accent .reveal-word{
  filter:none !important;
}
@media (prefers-reduced-motion: reduce){
  html.js-reveal-ready [data-reveal="words"] .reveal-word{
    opacity:1 !important; transform:none !important; filter:none !important; transition:none !important;
  }
}

/* ---------- Tipografia utilitária ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px; justify-content:center;
  font-family:var(--font-mono); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-green-deep);
}
.eyebrow::before{
  content:""; width:6px; height:6px; border-radius:50%; background:var(--c-green-bright);
  box-shadow:0 0 0 4px rgba(48,224,140,.18), 0 0 14px rgba(48,224,140,.6);
}
.eyebrow--onDark{ color:var(--c-green-accent); }
.eyebrow--onDark::before{ background:var(--c-green-accent); }

.section-head{ max-width:680px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-title{
  margin-top:18px;
  font-size:clamp(2.1rem,5vw,3.6rem);
  font-weight:400; letter-spacing:-.02em; line-height:1.15; color:var(--c-black);
}
.section-title--onDark{ color:var(--c-white); }
.section-support{
  margin-top:20px; font-size:clamp(1.02rem,1.5vw,1.25rem); line-height:1.6; color:var(--c-muted); font-weight:300;
}
.section-support--onDark{ color:var(--c-muted-onDark); }

.eyebrow-chip{
  display:inline-flex; padding:8px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.22);
  font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--c-green-accent);
  background:rgba(255,255,255,.04);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:16px 30px; border-radius:999px; border:none;
  font-family:var(--font-mono); font-size:.86rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), filter .3s var(--ease), background .3s var(--ease);
}
.btn:active{ transform:scale(.96); }
@media (max-width:699px){
  .btn{
    white-space:normal; text-align:center; font-size:.76rem; letter-spacing:.08em;
    line-height:1.4; padding:14px 22px;
  }
}
/* Botões de convite para reunião/consultoria — um único feixe estreito e
   quase branco viaja pela borda sobre um verde profundo/sutil; o resto do
   anel fica discreto. O interior (camada 1) é estático; só a borda
   (camada 2) se move. Glow inferior é só um complemento, não o efeito. */
.btn-primary{
  position:relative;
  isolation:isolate;
  z-index:0;
  border:1.5px solid transparent;
  border-radius:999px;
  background:
    var(--grad-btn) padding-box,
    linear-gradient(90deg,
      var(--btn-edge-deep) 0%, var(--btn-edge-deep) 30%,
      var(--btn-edge-bright) 42%, var(--btn-edge-pale) 48%,
      var(--btn-edge-highlight) 50%, var(--btn-edge-pale) 52%,
      var(--btn-edge-bright) 58%, var(--btn-edge-deep) 70%,
      var(--btn-edge-deep) 100%
    ) border-box;
  background-size:100% 100%, 300% 100%;
  background-position:0 0, 0% 50%;
  color:#03150e;
  box-shadow:0 16px 34px -14px rgba(48,224,140,.5);
  animation:mediclique-border-flow var(--btn-speed) linear infinite;
}
.btn-primary::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:50%; bottom:-6px;
  width:40%; height:15%;
  transform:translateX(-50%);
  border-radius:inherit;
  background:linear-gradient(90deg,
    var(--btn-edge-deep) 0%, var(--btn-edge-deep) 30%,
    var(--btn-edge-bright) 42%, var(--btn-edge-pale) 48%,
    var(--btn-edge-highlight) 50%, var(--btn-edge-pale) 52%,
    var(--btn-edge-bright) 58%, var(--btn-edge-deep) 70%,
    var(--btn-edge-deep) 100%
  );
  background-size:300% 100%;
  filter:blur(10px);
  opacity:.2;
  animation:mediclique-glow-flow var(--btn-speed) linear infinite;
}
.btn-primary:hover{ box-shadow:0 18px 38px -13px rgba(48,224,140,.62); transform:translateY(-1px); }
.btn-primary:hover::before{ opacity:.35; }
@keyframes mediclique-border-flow{
  0%{ background-position:0 0, 0% 50%; }
  100%{ background-position:0 0, 300% 50%; }
}
@keyframes mediclique-glow-flow{
  0%{ background-position:0% 50%; }
  100%{ background-position:300% 50%; }
}
@media (prefers-reduced-motion: reduce){
  .btn-primary, .btn-primary::before{ animation:none !important; }
}
.btn-ghost{
  background:transparent; color:var(--c-white); border:1.5px solid rgba(255,255,255,.32);
}
.btn-ghost:hover{ border-color:rgba(255,255,255,.8); background:rgba(255,255,255,.06); }
.btn-outline-dark{
  background:transparent; color:var(--c-black); border:1.5px solid rgba(0,0,0,.16);
}
.btn-outline-dark:hover{ border-color:var(--c-green-deep); color:var(--c-green-deep); }
.btn-block{ width:100%; }
.btn-text{
  display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:1rem; color:var(--c-green-bright);
  padding:4px 0; position:relative;
}
.btn-text::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor;
  transform:scaleX(1); transform-origin:left;
}
.btn-text svg{ width:15px; height:15px; transition:transform .3s var(--ease); }
.btn-text:hover svg{ transform:translateX(4px); }

/* ==========================================================================
   HEADER — glass nav
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:transparent;
  transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(10,10,10,.72); backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom-color:rgba(255,255,255,.08);
}
.site-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  height:60px; gap:16px;
}
.brand{ display:flex; align-items:center; height:100%; flex-shrink:0; }
.brand img{ height:30px; width:auto; }
@media (min-width:768px){ .brand img{ height:36px; } }

.main-nav{ display:none; }
.main-nav ul{ display:flex; align-items:center; gap:32px; }
.main-nav a{
  font-size:.84rem; font-weight:500; color:rgba(255,255,255,.82); padding:8px 2px; position:relative;
  transition:color .2s var(--ease);
}
.main-nav a:hover{ color:var(--c-white); }

.nav-dropdown{ position:relative; }
.nav-dropdown > button{
  background:none; border:none; display:flex; align-items:center; gap:6px;
  font-size:.84rem; font-weight:500; color:rgba(255,255,255,.82); padding:8px 2px; white-space:nowrap;
}
.nav-dropdown > button svg{ width:11px; height:11px; transition:transform .2s var(--ease); }
.nav-dropdown:hover > button svg, .nav-dropdown.is-open > button svg{ transform:rotate(180deg); }
.nav-dropdown:hover .nav-dropdown__panel,
.nav-dropdown.is-open .nav-dropdown__panel{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.nav-dropdown__panel{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(8px);
  min-width:250px; background:rgba(20,22,21,.85); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:10px;
  opacity:0; visibility:hidden; transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  box-shadow:0 24px 60px -16px rgba(0,0,0,.6);
}
.nav-dropdown__panel a{
  display:block; padding:11px 14px; border-radius:9px; font-size:.86rem; font-weight:500; color:#e4e8e6;
}
.nav-dropdown__panel a:hover{ background:rgba(48,224,140,.12); color:var(--c-green-accent); }

.header-actions{ display:flex; align-items:center; gap:14px; }
.header-actions .btn-primary{ padding:9px 18px; font-size:.8rem; display:none; }

.hamburger{
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:36px; height:36px; background:transparent; border:1px solid rgba(255,255,255,.2); border-radius:10px;
}
.hamburger span{ width:16px; height:1.5px; background:var(--c-white); transition:all .25s var(--ease); }
.hamburger.is-active span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.hamburger.is-active span:nth-child(2){ opacity:0; }
.hamburger.is-active span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.mobile-nav{
  position:fixed; inset:60px 0 0 0; background:rgba(8,9,8,.98); backdrop-filter:blur(30px); z-index:190;
  transform:translateX(100%); transition:transform .4s var(--ease);
  overflow-y:auto;
}
.mobile-nav.is-open{ transform:translateX(0); }
.mobile-nav__list{ padding:16px 24px 40px; display:flex; flex-direction:column; }
.mobile-nav__list a{
  padding:18px 4px; font-size:1.4rem; font-weight:600; letter-spacing:-.01em; color:var(--c-white);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mobile-nav__cta{ padding:24px 24px; }

.main-nav a, .nav-dropdown > button{ white-space:nowrap; }
@media (min-width:1120px){
  .main-nav{ display:block; }
  .main-nav ul{ gap:22px; }
  .brand img{ height:32px; }
  .hamburger{ display:none; }
  .header-actions .btn-primary{ display:inline-flex; letter-spacing:.08em; padding:9px 16px; }
}
@media (min-width:1360px){
  .main-nav ul{ gap:30px; }
  .brand img{ height:36px; }
  .header-actions .btn-primary{ letter-spacing:.12em; padding:9px 18px; }
}

/* ==========================================================================
   HERO — cinematográfico, full height
   ========================================================================== */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--c-black); color:var(--c-white);
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  min-height:100svh; padding-top:calc(60px + clamp(2rem,8vh,5rem)); padding-bottom:clamp(3rem,8vh,5rem);
  text-align:center;
}
.hero__inner{
  position:relative; z-index:2; width:100%; max-width:900px; margin-inline:auto;
  padding:0 24px; display:flex; flex-direction:column; align-items:center;
}
.hero__brand{
  color:var(--c-green-accent); font-family:var(--font-mono); font-size:.76rem; font-weight:700; letter-spacing:.2em;
  margin-bottom:1.4rem; opacity:0; animation:heroFade .7s var(--ease-soft) 0s forwards;
}
.hero h1{
  max-width:16ch; font-size:clamp(2.6rem,7.4vw,5.2rem); font-weight:400;
  line-height:1.15; letter-spacing:-.02em;
  opacity:0; animation:heroFade .8s var(--ease-soft) .05s forwards;
}
.hero-title__accent,
.results__title-accent,
.frentes-title__accent,
.diag-cta__title-accent,
.tech__title-accent,
.tech-ia__title-accent,
.tech-portal__title-accent,
.testi-title-accent{
  background-image:linear-gradient(100deg,
    var(--c-green-deep) 0%,
    var(--c-green-bright) 35%,
    var(--c-green-accent) 50%,
    var(--c-green-bright) 65%,
    var(--c-green-deep) 100%
  );
  background-size:200% 100%;
  background-clip:text; -webkit-background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  animation:mediclique-gradient-flow 4.2s linear infinite;
}
@keyframes mediclique-gradient-flow{
  0%{ background-position:0% 50%; }
  100%{ background-position:200% 50%; }
}
.hero__subtitle{
  margin-top:1.3rem; max-width:38ch; font-size:clamp(1.1rem,2.1vw,1.4rem); font-weight:600; color:#e7f0ea;
  opacity:0; animation:heroFade .8s var(--ease-soft) .18s forwards;
}
.hero__description{
  margin-top:1.1rem; max-width:46ch; color:#9ba6a0; font-size:clamp(.98rem,1.3vw,1.08rem); line-height:1.7; font-weight:300;
  opacity:0; animation:heroFade .8s var(--ease-soft) .28s forwards;
}
.hero__cta{
  margin-top:2.2rem; display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
  opacity:0; animation:heroFade .8s var(--ease-soft) .38s forwards;
}
.hero__cta-btn{
  padding:22px 48px; font-size:1.15rem;
}
@keyframes heroFade{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }

.hero__glow{ position:absolute; z-index:0; inset:0; pointer-events:none; }
.hero__glow span{
  position:absolute; border-radius:50%; --glow:var(--c-green-deep); opacity:.5;
  background:radial-gradient(circle closest-side, var(--glow) 0%, var(--glow) 28%, transparent 100%);
}
.hero__glow span:nth-child(1){ width:44vw; height:44vw; top:-14vw; right:-10vw; }
.hero__glow span:nth-child(2){ width:30vw; height:30vw; bottom:-10vw; left:-8vw; opacity:.34; --glow:var(--c-green-bright); }

/* ==========================================================================
   FORM POPUP (modal)
   ========================================================================== */
.modal-overlay{
  position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.75); backdrop-filter:blur(6px);
  display:flex; align-items:flex-end; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s;
}
.modal-overlay.is-open{ opacity:1; visibility:visible; }
.modal{
  width:100%; max-width:560px; max-height:92vh; overflow-y:auto;
  background:var(--c-white); border-radius:26px 26px 0 0;
  padding:36px 26px 30px; position:relative;
  transform:translateY(24px); transition:transform .35s var(--ease);
}
.modal-overlay.is-open .modal{ transform:translateY(0); }
@media (min-width:640px){
  .modal-overlay{ align-items:center; }
  .modal{ border-radius:26px; padding:44px; }
}
.modal__close{
  position:absolute; top:18px; right:18px; width:36px; height:36px; border-radius:50%;
  background:var(--c-offwhite); border:none; display:flex; align-items:center; justify-content:center;
  color:var(--c-body); transition:background .2s;
}
.modal__close:hover{ background:var(--c-divider); }
.modal__title{ font-size:1.5rem; font-weight:800; color:var(--c-black); max-width:32ch; line-height:1.22; padding-right:30px; letter-spacing:-.02em; }
.modal__text{ margin-top:10px; color:var(--c-muted); font-size:.95rem; line-height:1.6; }
.form-grid{ margin-top:26px; display:flex; flex-direction:column; gap:14px; }
.form-field{ display:flex; flex-direction:column; gap:6px; }
.form-field label{ font-size:.78rem; font-weight:700; color:var(--c-body); }
.form-field input, .form-field select{
  border:1.5px solid var(--c-divider); border-radius:12px; padding:14px 15px; font-size:.95rem;
  font-family:inherit; color:var(--c-black); background:var(--c-white); transition:border-color .2s;
}
.form-field input:focus, .form-field select:focus{ outline:none; border-color:var(--c-green-deep); }
.form-note{ margin-top:16px; font-size:.76rem; color:var(--c-muted); line-height:1.55; }
.form-consent{ display:flex; align-items:flex-start; gap:10px; }
.form-consent input{ margin-top:3px; width:16px; height:16px; flex-shrink:0; accent-color:var(--c-green-deep); }
.form-consent label{ font-size:.78rem; line-height:1.5; color:var(--c-muted); }
.form-consent a{ color:var(--c-green-deep); text-decoration:underline; text-underline-offset:2px; }
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-error{ font-size:.84rem; line-height:1.5; color:#b3261e; }
.form-error[hidden]{ display:none; }
.btn[disabled]{ opacity:.65; cursor:progress; }
.form-success{ display:none; text-align:center; padding:20px 0 6px; }
.form-success.is-visible{ display:block; }
.form-success svg{ width:52px; height:52px; color:var(--c-green-deep); margin-bottom:14px; }
.form-success h3{ font-size:1.2rem; font-weight:800; color:var(--c-black); }
.form-success p{ margin-top:8px; color:var(--c-muted); font-size:.92rem; line-height:1.6; }

/* ==========================================================================
   PROVA SOCIAL — faixa de logos premium (Apple/Stripe/Linear-like)
   ========================================================================== */
.clients{
  position:relative; isolation:isolate; overflow:hidden;
  padding:72px 0; background:var(--c-black);
  border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05);
}
.clients::before, .clients::after{
  content:""; position:absolute; left:0; right:0; height:1px; z-index:1; pointer-events:none;
  background-image:linear-gradient(90deg, transparent 40%, rgba(48,224,140,.45) 50%, transparent 60%);
}
.clients::before{ top:-1px; }
.clients::after{ bottom:-1px; }
.clients__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%, rgba(20,180,105,.04), transparent 60%);
}
.clients .container{ position:relative; z-index:1; }

.clients__head{ max-width:560px; margin-inline:auto; text-align:center; }
.clients__eyebrow{
  font-family:var(--font-mono); font-size:.76rem; font-weight:400; letter-spacing:.16em; text-transform:uppercase; color:#5bbf94;
}
.clients__subtitle{
  margin-top:12px; font-size:1.05rem; font-weight:500; line-height:1.5; color:#eef2f0;
}

.marquee{
  position:relative; z-index:1; overflow:hidden; margin-top:44px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{ display:flex; align-items:center; gap:72px; width:max-content; animation:marquee 42s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.logo-item{
  flex:0 0 auto; width:160px; height:64px;
  display:flex; align-items:center; justify-content:center;
}
.logo-item img{
  width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1); opacity:.55;
  transition:opacity .3s var(--ease);
}
.logo-item:hover img{ opacity:1; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

.clients__proof{
  position:relative; z-index:1; margin-top:40px; text-align:center;
  font-size:.92rem; color:#8a958f;
}
.clients__proof b{ color:var(--c-green-bright); font-weight:700; }

@media (max-width:767px){
  .clients{ padding:48px 0; }
  .clients__subtitle{ font-size:.92rem; }
  .marquee{ margin-top:32px; }
  .marquee__track{ gap:48px; }
  .logo-item{ width:128px; height:50px; }
  .clients__proof{ margin-top:32px; }
}

/* ==========================================================================
   RESULTADOS REAIS — indicadores institucionais, embutidos no hero
   logo abaixo do CTA principal, em escala compacta.
   ========================================================================== */
.results{
  position:relative; z-index:2;
  width:100%; max-width:1100px; margin-inline:auto;
  padding:44px 24px 0;
}

.results__head{ max-width:520px; margin-inline:auto; text-align:center; }
.results__eyebrow{
  display:flex; align-items:center; justify-content:center; gap:12px;
  font-family:var(--font-mono); font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--c-green-accent);
}
.results__eyebrow-line{ width:22px; height:1px; flex-shrink:0; background:linear-gradient(90deg, transparent, rgba(127,230,186,.55)); }
.results__eyebrow-line:last-child{ background:linear-gradient(90deg, rgba(127,230,186,.55), transparent); }
.results__title{
  margin-top:12px; font-size:clamp(1.2rem,2.4vw,1.55rem); font-weight:400; letter-spacing:-.02em;
  line-height:1.2; color:var(--c-white);
}

.results__grid{
  margin-top:28px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
}
@media (max-width:1023px){ .results__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media (max-width:599px){ .results__grid{ grid-template-columns:1fr; gap:10px; } }

.results-card{
  position:relative; overflow:hidden; isolation:isolate;
  border-radius:18px; padding:22px 16px 18px;
  background:linear-gradient(145deg, rgba(15,25,21,.95), rgba(4,9,7,.98));
  border:1px solid rgba(38,220,135,.18);
  display:flex; flex-direction:column; align-items:center; text-align:center;
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.results-card::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 50% 0%, rgba(35,220,135,.12), transparent 55%);
}
.results-card::after{
  content:""; position:absolute; top:0; left:14%; right:14%; height:1px; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(127,243,180,.45), transparent);
}
.results-card > *{ position:relative; z-index:2; }
.results-card:hover{
  transform:translateY(-3px);
  border-color:rgba(48,224,140,.4);
  box-shadow:0 16px 34px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(48,224,140,.07);
}

.results-card__icon{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:rgba(25,210,125,.05); border:1px solid rgba(40,230,145,.35);
  display:flex; align-items:center; justify-content:center; color:var(--c-green-accent);
  box-shadow:0 0 18px -7px rgba(48,224,140,.4);
  transition:transform .35s var(--ease);
}
.results-card__icon svg{ width:16px; height:16px; }
.results-card:hover .results-card__icon{ transform:translateY(-2px); }

.results-card__number{
  margin-top:14px; font-size:clamp(1.3rem,1.9vw,1.75rem); font-weight:700; letter-spacing:-.03em;
  line-height:.95; white-space:nowrap; font-variant-numeric:tabular-nums;
}
.results-card__number b{
  font-weight:inherit;
  background-image:linear-gradient(180deg, #d9ffed 0%, #72f3b4 38%, #21d883 100%);
  background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  text-shadow:0 0 16px rgba(48,224,140,.14);
}
.results-card__divider{
  margin-top:11px; width:32px; height:1px;
  background:linear-gradient(90deg, transparent, var(--c-green-bright), transparent);
}
.results-card__label{
  margin-top:9px; font-size:.84rem; font-weight:600; color:#f5f7f6; letter-spacing:-.01em;
}
.results-card__desc{
  margin-top:5px; max-width:20ch; font-size:.72rem; line-height:1.45; color:rgba(255,255,255,.5);
}

/* ==========================================================================
   PARA QUEM É — cards expansíveis premium (editorial, claro sobre fundo escuro)
   ========================================================================== */
.audience{ padding:var(--pad-section) 0; background:var(--c-white); }
.audience .section-head{ margin-inline:auto; text-align:center; max-width:680px; padding-inline:24px; }

.stage-grid{
  margin-top:56px; display:grid; grid-template-columns:1fr; gap:22px;
  padding-inline:24px;
}
@media (min-width:700px){
  .stage-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start;
    gap:24px; padding-inline:40px;
  }
}
@media (min-width:1100px){
  .stage-grid{ max-width:1280px; margin-inline:auto; gap:26px; padding-inline:56px; }
}

.stage-card{
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:28px; background:#F5F7F4;
  border:1px solid rgba(15,80,55,.08);
  padding:34px 34px 30px;
  box-shadow:0 18px 45px rgba(0,0,0,.04);
  display:flex; flex-direction:column; min-height:400px;
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.stage-card:hover{
  transform:translateY(-3px);
  border-color:rgba(11,107,67,.22);
  box-shadow:0 22px 52px rgba(0,0,0,.07);
}
.stage-card:hover .stage-card__icon-wrap{ background:rgba(20,160,100,.11); }

/* Curva sutil no canto superior direito, atrás do ícone */
.stage-card::before{
  content:""; position:absolute; z-index:0; top:-70px; right:-70px;
  width:220px; height:220px; border-radius:50%; pointer-events:none;
  border:1px solid rgba(11,107,67,.35);
  opacity:.08;
}
/* Número gigante decorativo */
.stage-card::after{
  content:attr(data-ghost); position:absolute; z-index:0; pointer-events:none;
  right:8px; bottom:-38px; line-height:1;
  font-size:9rem; font-weight:700; letter-spacing:-.04em;
  color:#06331f; opacity:.045;
}

.stage-card > *{ position:relative; z-index:1; }

.stage-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.stage-card__id{ display:flex; align-items:center; gap:12px; }
.stage-card__badge{
  flex-shrink:0; width:46px; height:42px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:.92rem; font-weight:700; color:#fff;
}
.stage-card--01 .stage-card__badge{ background:#5c7266; }
.stage-card--02 .stage-card__badge{ background:var(--c-green-deep); }
.stage-card--03 .stage-card__badge{ background:#0a3d28; }
.stage-card--04 .stage-card__badge{ background:#33403a; }
.stage-card__stage-name{
  font-family:var(--font-mono); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#4b5b52;
  max-width:16ch; line-height:1.3;
}
.stage-card__icon-wrap{
  flex-shrink:0; width:56px; height:56px; border-radius:50%;
  background:rgba(20,160,100,.06); color:var(--c-green-deep);
  display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease);
}
.stage-card__icon-wrap svg{ width:24px; height:24px; }

.stage-card__title{
  margin-top:24px; font-size:clamp(1.45rem,2vw,2rem); font-weight:700; line-height:1.12;
  letter-spacing:-.02em; color:#0e1f16;
}
.stage-card__desc{
  margin-top:14px; font-size:1rem; line-height:1.65; color:rgba(14,31,22,.72); max-width:50ch; font-weight:300;
}

.stage-card__trigger{
  margin-top:auto; padding-top:26px; align-self:flex-start;
  display:inline-flex; align-items:center; gap:10px; background:none; border:none; cursor:pointer;
  font-size:.92rem; font-weight:600; color:var(--c-green-deep);
}
.stage-card__trigger-icon{
  flex-shrink:0; width:30px; height:30px; border-radius:50%;
  background:var(--c-green-deep); color:#fff;
  display:flex; align-items:center; justify-content:center;
  transition:background .25s var(--ease);
}
.stage-card__trigger-icon svg{ width:14px; height:14px; transition:transform .3s var(--ease); }
.stage-card.is-open .stage-card__trigger-icon svg{ transform:rotate(-90deg); }
.stage-card__trigger:hover .stage-card__trigger-icon{ background:#07472c; }
.stage-card__trigger:focus-visible{ outline:2px solid var(--c-green-deep); outline-offset:5px; border-radius:4px; }

.stage-card__panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s var(--ease); }
.stage-card.is-open .stage-card__panel{ grid-template-rows:1fr; }
.stage-card__panel-inner{ overflow:hidden; }

.stage-card__expanded{
  padding-top:22px; margin-top:22px; border-top:1px solid rgba(11,36,26,.1);
  opacity:0; transform:translateY(8px);
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.stage-card.is-open .stage-card__expanded{ opacity:1; transform:translateY(0); transition-delay:.08s; }

.stage-card__expanded-label{
  font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-green-deep);
}
.stage-card__steps{ margin-top:16px; display:flex; flex-direction:column; gap:14px; }
.stage-card__steps li{ display:flex; align-items:baseline; gap:14px; }
.stage-card__step-num{
  flex-shrink:0; font-size:.78rem; font-weight:700; color:rgba(11,107,67,.5); letter-spacing:.02em;
}
.stage-card__steps li span:last-child{ font-size:.92rem; line-height:1.55; color:rgba(14,31,22,.78); }
.stage-card__cta{
  margin-top:22px; display:inline-flex; align-items:center; gap:7px;
  font-size:.92rem; font-weight:700; color:var(--c-green-deep);
}
.stage-card__cta svg{ width:14px; height:14px; transition:transform .2s var(--ease); }
.stage-card__cta:hover svg{ transform:translateX(4px); }
.stage-card__cta:focus-visible{ outline:2px solid var(--c-green-deep); outline-offset:4px; border-radius:4px; }

@media (max-width:699px){
  .stage-card{ padding:26px 24px 24px; min-height:0; border-radius:24px; }
  .stage-card__title{ margin-top:20px; font-size:1.4rem; }
  .stage-card__badge{ width:40px; height:38px; border-radius:12px; }
  .stage-card__icon-wrap{ width:48px; height:48px; }
  .stage-card__icon-wrap svg{ width:20px; height:20px; }
  .stage-card::after{ font-size:6rem; bottom:-22px; right:4px; }
}
@media (prefers-reduced-motion: reduce){
  .stage-card, .stage-card__panel, .stage-card__expanded, .stage-card__trigger-icon svg{ transition:none !important; }
}

.audience__closing{
  margin:44px 24px 0; padding:32px 28px; border-radius:24px; background:var(--c-offwhite);
  color:var(--c-muted); font-size:1rem; line-height:1.65; text-align:center; max-width:760px; margin-inline:auto; font-weight:300;
}
@media (min-width:768px){ .audience__closing{ margin-top:44px; } }

/* ==========================================================================
   QUATRO FRENTES — sistema de crescimento (nav lateral + painel,
   mesma linguagem visual de "Resultados reais")
   ========================================================================== */
.services{ position:relative; isolation:isolate; overflow:hidden; padding:var(--pad-section) 0; background:var(--c-black); color:var(--c-white); }
.services__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 50% at 26% 15%, rgba(20,180,105,.07), transparent 60%);
}
.services .container{ position:relative; z-index:1; }

.frentes-eyebrow{
  display:flex; align-items:center; justify-content:center; gap:12px;
  font-family:var(--font-mono); font-size:.76rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-green-accent);
}
.frentes-eyebrow__line{ width:26px; height:1px; flex-shrink:0; background:linear-gradient(90deg, transparent, rgba(127,230,186,.55)); }
.frentes-eyebrow__line:last-child{ background:linear-gradient(90deg, rgba(127,230,186,.55), transparent); }
.frentes-title{ margin-top:14px; }

.frentes{ margin-top:56px; display:block; }

/* ---------- Navegação (desktop: coluna esquerda / mobile: accordion) ---------- */
.frentes__nav{ display:flex; flex-direction:column; }
.frentes__item{ position:relative; }
.frentes__trigger{
  position:relative; z-index:1; width:100%; background:none; border:none; cursor:pointer;
  display:flex; align-items:flex-start; gap:14px; text-align:left;
  padding:18px 16px; border-radius:18px; border:1px solid transparent;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.frentes__item:last-child .frentes__trigger{ border-bottom-color:transparent; }
.frentes__dot{
  flex-shrink:0; margin-top:6px; width:9px; height:9px; border-radius:50%;
  background:#3a453f; box-shadow:0 0 0 3px var(--c-black);
  transition:background .3s var(--ease), box-shadow .3s var(--ease);
}
.frentes__nav-icon{
  flex-shrink:0; width:34px; height:34px; border-radius:50%; margin-top:-2px;
  background:rgba(25,210,125,.05); border:1px solid rgba(40,230,145,.2); color:#5c6b63;
  display:flex; align-items:center; justify-content:center;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.frentes__nav-icon svg{ width:15px; height:15px; }
.frentes__nav-text{ flex-grow:1; display:flex; flex-direction:column; }
.frentes__nav-num{ font-size:.72rem; font-weight:700; color:#5c655f; font-variant-numeric:tabular-nums; }
.frentes__nav-title{
  margin-top:3px; font-size:1rem; font-weight:700; letter-spacing:-.01em; color:#c7d2cc;
  transition:color .3s var(--ease);
}
.frentes__nav-desc{ margin-top:4px; font-size:.84rem; line-height:1.5; color:#6d7972; transition:color .3s var(--ease); }
.frentes__nav-arrow{
  flex-shrink:0; width:16px; height:16px; margin-top:8px; color:#4b5852;
  transition:transform .3s var(--ease), color .3s var(--ease);
}

.frentes__trigger:hover .frentes__nav-title{ color:var(--c-white); }
.frentes__trigger:hover .frentes__nav-icon{ color:var(--c-green-bright); }
.frentes__trigger:hover .frentes__nav-arrow{ transform:translateX(3px); color:var(--c-green-bright); }
.frentes__trigger:hover{ background:rgba(255,255,255,.025); }

.frentes__trigger.is-active{
  background:linear-gradient(140deg, rgba(13,37,28,.85), rgba(5,12,9,.95));
  border:1px solid rgba(35,220,135,.22);
  box-shadow:0 0 24px -12px rgba(48,224,140,.25);
}
.frentes__trigger.is-active .frentes__dot{ background:var(--c-green-bright); box-shadow:0 0 0 3px var(--c-black), 0 0 10px 1px rgba(48,224,140,.6); }
.frentes__trigger.is-active .frentes__nav-icon{ color:var(--c-green-bright); border-color:rgba(48,224,140,.4); }
.frentes__trigger.is-active .frentes__nav-num{ color:var(--c-green-bright); }
.frentes__trigger.is-active .frentes__nav-title{ color:var(--c-white); }
.frentes__trigger.is-active .frentes__nav-desc{ color:#a9b6b0; }
.frentes__trigger.is-active .frentes__nav-arrow{ color:var(--c-green-bright); }
.frentes__trigger:focus-visible{ outline:2px solid var(--c-green-bright); outline-offset:3px; }

/* Painel mobile (accordion) — colapsado por padrão, injeta o mesmo conteúdo do painel desktop */
.frentes__mobile-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s var(--ease); }
.frentes__item.is-mobile-open .frentes__mobile-panel{ grid-template-rows:1fr; }
.frentes__mobile-panel-inner{ overflow:hidden; }
.frentes__mobile-panel .frentes__panel{ display:block !important; margin:0 4px 18px; }

/* ---------- Painéis (desktop: coluna direita / mobile: ocultos, conteúdo é clonado) ---------- */
.frentes__panels{ display:none; }
.frentes__panel{
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(140deg, rgba(13,37,28,.9), rgba(4,9,7,.97));
  border:1px solid rgba(35,220,135,.2); border-radius:28px;
  padding:36px 30px;
  opacity:0; transform:translateY(6px);
  animation:frentesFadeIn .32s var(--ease-soft) forwards;
}
@keyframes frentesFadeIn{ to{ opacity:1; transform:translateY(0); } }
.frentes__panel::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 85% 0%, rgba(35,220,135,.12), transparent 55%);
}
.frentes__panel::after{
  content:attr(data-ghost); position:absolute; z-index:0; pointer-events:none;
  right:30px; bottom:-30px; line-height:1; font-size:8rem; font-weight:700; letter-spacing:-.04em;
  color:#06331f; opacity:.045;
}
.frentes__panel > *{ position:relative; z-index:1; }

.frentes__panel-head{ display:flex; align-items:flex-start; gap:16px; }
.frentes__panel-icon{
  flex-shrink:0; width:48px; height:48px; border-radius:50%;
  background:rgba(25,210,125,.06); border:1px solid rgba(40,230,145,.3); color:var(--c-green-accent);
  display:flex; align-items:center; justify-content:center;
}
.frentes__panel-icon svg{ width:21px; height:21px; }
.frentes__panel-num{ font-size:.78rem; font-weight:700; letter-spacing:.08em; color:var(--c-green-bright); }
.frentes__panel-title{
  margin-top:4px; font-size:clamp(1.25rem,2vw,1.6rem); font-weight:700; letter-spacing:-.015em; line-height:1.2; color:var(--c-white);
}
.frentes__panel-intro{ margin-top:22px; font-size:1rem; line-height:1.7; color:#c7d2cc; max-width:60ch; font-weight:300; }

.frentes__block-label{
  margin-top:30px; font-family:var(--font-mono); font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-green-accent);
}
.frentes__steps{ margin-top:16px; display:flex; flex-direction:column; }
.frentes__steps li{
  display:flex; align-items:baseline; gap:14px; padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.frentes__steps li:last-child{ border-bottom:none; padding-bottom:0; }
.frentes__step-num{ flex-shrink:0; font-size:.78rem; font-weight:700; color:rgba(48,224,140,.65); font-variant-numeric:tabular-nums; }
.frentes__steps li span:last-child{ font-size:.94rem; line-height:1.55; color:#c7d2cc; }

.frentes__benefit{
  margin-top:26px; padding:20px 22px; border-radius:18px;
  background:rgba(11,107,67,.14); border:1px solid rgba(35,220,135,.2);
}
.frentes__benefit-label{ font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-green-accent); }
.frentes__benefit-text{ margin-top:10px; font-size:.92rem; line-height:1.6; color:#c7d2cc; }

.frentes__cta{
  margin-top:26px; display:inline-flex; align-items:center; gap:12px;
  font-size:.94rem; font-weight:700; color:var(--c-white);
}
.frentes__cta-circle{
  width:32px; height:32px; border-radius:50%; background:var(--c-green-deep); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:transform .25s var(--ease), background .25s var(--ease);
}
.frentes__cta-circle svg{ width:14px; height:14px; }
.frentes__cta:hover .frentes__cta-circle{ transform:translateX(4px); background:var(--c-green-bright); color:#06251a; }

/* ---------- Desktop (≥960px): nav lateral + painel fixo ao lado ---------- */
@media (min-width:960px){
  .frentes{
    display:flex; align-items:flex-start; gap:28px;
    max-width:1240px; margin-inline:auto;
  }
  .frentes__nav{ flex:0 0 38%; position:relative; padding-left:18px; }
  .frentes__nav::before{
    content:""; position:absolute; left:0; top:26px; bottom:26px; width:1px; background:rgba(255,255,255,.1);
  }
  .frentes__dot{ position:absolute; left:-18px; margin-top:0; top:24px; }
  .frentes__trigger{ padding:20px 18px; }
  .frentes__mobile-panel{ display:none; }

  .frentes__panels{ display:block; flex:1; min-width:0; }
  .frentes__panel{ padding:44px; }
  .frentes__panel[hidden]{ display:none; }
}

@media (max-width:959px){
  .frentes__panels{ display:none; }
}

@media (max-width:699px){
  .frentes__panel{ padding:26px 22px; }
  .frentes__panel::after{ font-size:5.5rem; }
  .frentes__nav-desc{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .frentes__panel{ animation:none !important; opacity:1; transform:none; }
  .frentes__mobile-panel, .frentes__trigger, .frentes__dot, .frentes__nav-icon,
  .frentes__nav-title, .frentes__nav-desc, .frentes__nav-arrow, .frentes__cta-circle{ transition:none !important; }
}

.diag-cta{
  position:relative; isolation:isolate; overflow:hidden;
  margin-top:96px; padding:52px 72px; border-radius:30px;
  background:linear-gradient(135deg, #07100c 0%, #081710 55%, #06100c 100%);
  border:1px solid rgba(35,220,135,.14);
}
.diag-cta::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  top:0; left:9%; width:180px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(127,230,186,.4), transparent);
}
.diag-cta__glow{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 85% 60%, rgba(30,210,130,.1), transparent 38%);
}
.diag-cta .eyebrow{ justify-content:flex-start; }

.diag-cta__grid{ position:relative; z-index:1; display:flex; flex-direction:column; gap:36px; }
.diag-cta__main{ max-width:52ch; }
.diag-cta__title{
  margin-top:8px; font-size:clamp(1.55rem,2.5vw,2.1rem); font-weight:400;
  letter-spacing:-.02em; line-height:1.18; color:var(--c-white);
}
.diag-cta__desc{ margin-top:10px; font-size:1rem; line-height:1.52; color:#c7d2cc; max-width:56ch; font-weight:300; }
.diag-cta__btn{ margin-top:16px; }
.diag-cta__micro{ margin-top:8px; display:flex; align-items:center; gap:8px; font-size:.82rem; color:#7c8a83; }
.diag-cta__micro svg{ width:14px; height:14px; flex-shrink:0; color:var(--c-green-accent); }

.diag-cta__divider{ display:none; }

.diag-cta__map{ position:relative; z-index:1; }
.diag-cta__map-label{ font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--c-green-accent); }
.diag-cta__map::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  right:-30px; bottom:-40px; width:220px; height:220px; border-radius:50%;
  border:1px solid rgba(127,230,186,.6); opacity:.04;
}
.diag-cta__nodes{ position:relative; margin-top:20px; display:flex; flex-direction:column; gap:4px; }
.diag-cta__nodes::before{ content:""; position:absolute; left:7px; top:16px; bottom:16px; width:1px; background:rgba(255,255,255,.08); }
.diag-cta__node{ position:relative; z-index:1; display:flex; align-items:center; gap:14px; padding:9px 0; }
.diag-cta__node-marker{
  flex-shrink:0; width:16px; height:16px; border-radius:50%;
  border:1px solid rgba(48,224,140,.35); background:rgba(6,16,12,.9);
  display:flex; align-items:center; justify-content:center;
}
.diag-cta__node-marker::after{ content:""; width:5px; height:5px; border-radius:50%; background:var(--c-green-bright); }
.diag-cta__node span:last-child{ font-size:.92rem; font-weight:600; color:#c7d2cc; }

.diag-cta__disclaimer{
  position:relative; z-index:1; display:block; margin-top:16px; padding-top:12px;
  border-top:1px solid rgba(255,255,255,.06); font-size:.78rem; color:#6d7972;
}

@media (min-width:960px){
  .diag-cta__grid{ flex-direction:row; align-items:center; gap:0; }
  .diag-cta__main{ flex:0 0 60%; padding-right:48px; }
  .diag-cta__divider{ display:block; align-self:stretch; width:1px; flex-shrink:0; background:rgba(255,255,255,.05); }
  .diag-cta__map{ flex:1; min-width:0; padding-left:48px; }
}
@media (max-width:699px){
  .diag-cta{ padding:40px 26px; border-radius:24px; margin-top:64px; }
  .diag-cta__btn{ width:100%; justify-content:center; }
}

/* ==========================================================================
   MÉTODO MBE — composição visual cinematográfica
   ========================================================================== */
.method{ padding:var(--pad-section) 0; background:var(--c-near-black); overflow:hidden; }
.method__head{ max-width:760px; margin-inline:auto; text-align:center; }
.method__head .section-title{ font-size:clamp(1.8rem,4vw,3rem); color:var(--c-white); }
.method__head .section-title em{ font-style:normal; color:var(--c-green-bright); }
.method__head .section-support{ color:var(--c-muted-onDark); }

.method__composition{ margin-top:64px; }
.method__grid{
  display:grid; grid-template-columns:1fr; gap:36px; align-items:center;
}
@media (min-width:1100px){
  .method__grid{ grid-template-columns:1fr 1.8fr 1fr; gap:24px; }
}

.method-panel{
  position:relative;
  background:linear-gradient(155deg, rgba(15,45,30,.32), rgba(5,9,7,.6));
  border:1px solid rgba(255,255,255,.08); border-radius:22px; padding:26px;
}
.method-panel__icon{
  width:40px; height:40px; border-radius:11px; background:rgba(48,224,140,.14); color:var(--c-green-bright);
  display:flex; align-items:center; justify-content:center;
}
.method-panel__eyebrow{ margin-top:16px; font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.12em; color:#8a958f; text-transform:uppercase; }
.method-panel__quote{ margin-top:10px; font-size:1.08rem; font-weight:600; color:var(--c-white); line-height:1.45; }
.method-panel__rule{ width:32px; height:2px; background:var(--c-green-bright); margin-top:16px; }
.method-panel__note{ margin-top:12px; font-size:.85rem; line-height:1.55; color:#8a958f; font-weight:300; }

.method-panel__list{ display:flex; flex-direction:column; }
.method-panel__item{ display:flex; gap:13px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.method-panel__item:last-child{ border-bottom:none; padding-bottom:2px; }
.method-panel__item .dot{
  width:26px; height:26px; border-radius:8px; background:rgba(48,224,140,.14); color:var(--c-green-bright);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
.method-panel__item .dot svg{ width:13px; height:13px; }
.method-panel__item h4{ font-size:.92rem; font-weight:700; color:var(--c-white); }
.method-panel__item p{ margin-top:4px; font-size:.84rem; color:#8a958f; line-height:1.5; }

/* ---------- Sistema orbital MBE (núcleo + anéis + frentes) ---------- */
.method-system{ display:flex; flex-direction:column; align-items:center; gap:30px; }
.method-system__stage{
  position:relative; width:212px; height:212px; margin-inline:auto; isolation:isolate;
}
@media (min-width:768px){
  .method-system{ position:relative; display:block; width:360px; height:360px; margin-inline:auto; }
  .method-system__stage{ position:absolute; inset:0; width:auto; height:auto; margin:0; }
}

.method-system__glow{
  position:absolute; z-index:0; pointer-events:none;
  inset:-40%;
  background:radial-gradient(circle at center, rgba(20,190,110,.09), rgba(5,20,14,.03) 35%, transparent 68%);
}
.method-system__halo{
  position:absolute; inset:0; margin:auto; z-index:1; pointer-events:none;
  width:62%; height:62%; border-radius:50%;
  background:radial-gradient(circle, rgba(48,224,140,.32), transparent 72%);
  opacity:.55;
}
.method-system.is-idle .method-system__halo{ animation:methodHaloBreathe 6s ease-in-out infinite; }

.method-system__orbits{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.method-system__ring{
  position:absolute; inset:0; margin:auto; border-radius:50%; pointer-events:none;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
  will-change:transform;
}
.method-system__ring--1{
  width:100%; height:100%;
  background:conic-gradient(from 0deg,
    rgba(48,224,140,.06) 0deg, rgba(48,224,140,.06) 300deg,
    rgba(48,224,140,.5) 322deg, rgba(48,224,140,.85) 335deg,
    rgba(48,224,140,.5) 348deg, rgba(48,224,140,.06) 360deg);
}
.method-system__ring--2{
  width:76%; height:76%;
  background:conic-gradient(from 0deg,
    rgba(48,224,140,.045) 0deg, rgba(48,224,140,.045) 70deg,
    rgba(48,224,140,.4) 88deg, rgba(48,224,140,.6) 96deg,
    rgba(48,224,140,.4) 104deg, rgba(48,224,140,.045) 122deg,
    rgba(48,224,140,.045) 250deg, rgba(48,224,140,.3) 264deg,
    rgba(48,224,140,.45) 270deg, rgba(48,224,140,.3) 276deg,
    rgba(48,224,140,.045) 290deg, rgba(48,224,140,.045) 360deg);
}
.method-system__ring--3{
  width:54%; height:54%; display:none;
  background:conic-gradient(from 0deg,
    rgba(48,224,140,.035) 0deg, rgba(48,224,140,.035) 172deg,
    rgba(48,224,140,.75) 184deg, rgba(48,224,140,.95) 190deg,
    rgba(48,224,140,.75) 196deg, rgba(48,224,140,.035) 208deg,
    rgba(48,224,140,.035) 360deg);
}
.method-system__orbit-dot{ position:absolute; inset:0; margin:auto; border-radius:50%; pointer-events:none; will-change:transform; }
.method-system__orbit-dot::before{
  content:""; position:absolute; top:-2px; left:50%; width:5px; height:5px; margin-left:-2.5px;
  border-radius:50%; background:var(--c-green-bright); box-shadow:0 0 6px 1px rgba(48,224,140,.55);
}
.method-system__orbit-dot--1{ width:100%; height:100%; }
.method-system__orbit-dot--2{ width:76%; height:76%; display:none; }

.method-system.is-idle .method-system__ring--1,
.method-system.is-idle .method-system__orbit-dot--1{ animation:methodRingSpin1 20s linear infinite; }
.method-system.is-idle .method-system__ring--2,
.method-system.is-idle .method-system__orbit-dot--2{ animation:methodRingSpin2 29s linear infinite; }
.method-system.is-idle .method-system__ring--3{ animation:methodRingSpin3 42s linear infinite; }
.method-system.is-paused .method-system__ring,
.method-system.is-paused .method-system__orbit-dot,
.method-system.is-paused .method-system__core,
.method-system.is-paused .method-system__halo{ animation-play-state:paused; }

@keyframes methodRingSpin1{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
@keyframes methodRingSpin2{ from{ transform:rotate(0deg); } to{ transform:rotate(-360deg); } }
@keyframes methodRingSpin3{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
@keyframes methodHaloBreathe{ 0%,100%{ opacity:.45; } 50%{ opacity:.65; } }
@keyframes methodCoreBreathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.015); } }
@keyframes methodCorePulse{ 0%,100%{ filter:brightness(1); } 45%{ filter:brightness(1.16); } }

.method-system__core{
  position:absolute; inset:0; margin:auto; z-index:3;
  width:43%; height:43%; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #17a065 0%, #0B6B43 55%, #052b1c 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--c-white);
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 20px 46px -16px rgba(48,224,140,.4), 0 0 60px -12px rgba(48,224,140,.3);
  will-change:transform;
}
.method-system.is-idle .method-system__core{ animation:methodCoreBreathe 6.5s ease-in-out infinite; }
.method-system.is-idle .method-system__core.is-pulsing{ animation:methodCoreBreathe 6.5s ease-in-out infinite, methodCorePulse .65s var(--ease-soft); }
.method-system__core span{ font-size:.62rem; font-weight:500; letter-spacing:.04em; opacity:.85; }
.method-system__core b{ font-size:1.15rem; font-weight:700; letter-spacing:.01em; margin-top:2px; }
@media (min-width:768px){
  .method-system__core span{ font-size:.74rem; }
  .method-system__core b{ font-size:1.55rem; margin-top:3px; }
}

.method-system__branch{
  position:absolute; left:50%; top:50%; width:118px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(48,224,140,.55) 55%, transparent);
  transform-origin:0 50%; opacity:0; z-index:2; pointer-events:none;
  transition:opacity .5s var(--ease-soft); display:none;
}
.method-system__branch--1{ transform:rotate(-135deg); }
.method-system__branch--2{ transform:rotate(-45deg); }
.method-system__branch--3{ transform:rotate(135deg); }
.method-system__branch--4{ transform:rotate(45deg); }
.method-system__branch.is-active{ opacity:1; }
.method-system__branch-dot{
  position:absolute; top:50%; left:0; width:5px; height:5px; margin-top:-2.5px;
  border-radius:50%; background:var(--c-green-bright); box-shadow:0 0 6px 1px rgba(48,224,140,.55);
  opacity:0; will-change:transform;
}
.method-system__branch.is-flowing .method-system__branch-dot{ animation:methodBranchFlow .85s var(--ease-soft) forwards; }
@keyframes methodBranchFlow{
  0%{ transform:translateX(0); opacity:0; }
  15%{ opacity:1; } 85%{ opacity:1; }
  100%{ transform:translateX(118px); opacity:0; }
}

.method-system__flow{
  position:absolute; top:50%; width:70px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(48,224,140,.5), transparent);
  pointer-events:none; z-index:2; display:none;
}
.method-system__flow--in{ left:-70px; }
.method-system__flow--out{ right:-70px; }
.method-system__flow-dot{
  position:absolute; top:50%; left:0; width:5px; height:5px; margin-top:-2.5px;
  border-radius:50%; background:var(--c-green-bright); box-shadow:0 0 6px 1px rgba(48,224,140,.5);
  opacity:0; will-change:transform;
}
.method-system__flow.is-flowing .method-system__flow-dot{ animation:methodFlowTravel 1s var(--ease-soft) forwards; }
@keyframes methodFlowTravel{
  0%{ transform:translateX(0); opacity:0; }
  12%{ opacity:1; } 88%{ opacity:1; }
  100%{ transform:translateX(70px); opacity:0; }
}

.method-system__frentes{ width:100%; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.method-system__frente{
  position:relative; display:flex; align-items:flex-start; gap:8px; padding:12px 14px;
  background:rgba(15,20,18,.9); border:1px solid rgba(255,255,255,.1); border-radius:16px;
}
.method-system__frente-dot{
  margin-top:5px; width:6px; height:6px; border-radius:50%; background:#3a453f; flex-shrink:0;
  transition:background .35s var(--ease), box-shadow .35s var(--ease);
}
.method-system__frente-num{ font-size:.66rem; font-weight:700; color:#5c655f; font-variant-numeric:tabular-nums; transition:color .35s var(--ease); display:block; }
.method-system__frente-label{ display:block; margin-top:2px; font-size:.76rem; font-weight:600; color:#aab5af; line-height:1.25; transition:color .35s var(--ease); }
.method-system__frente.is-active{ border-color:rgba(48,224,140,.4); background:rgba(15,60,38,.55); }
.method-system__frente.is-active .method-system__frente-dot{ background:var(--c-green-bright); box-shadow:0 0 6px 1px rgba(48,224,140,.55); }
.method-system__frente.is-active .method-system__frente-num{ color:var(--c-green-bright); }
.method-system__frente.is-active .method-system__frente-label{ color:#fff; }

@media (min-width:768px){
  .method-system__ring--3, .method-system__orbit-dot--2, .method-system__branch, .method-system__flow{ display:block; }
  .method-system__frentes{ position:static; margin-top:0; display:contents; }
  .method-system__frente{
    position:absolute; z-index:4; width:150px; align-items:center; gap:9px;
    border-radius:999px; padding:11px 16px; box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
  }
  .method-system__frente-num{ display:inline; }
  .method-system__frente-label{ display:inline; margin-top:0; text-align:center; }
  .method-system__frente[data-frente="1"]{ top:-4%; left:-14%; }
  .method-system__frente[data-frente="2"]{ top:-4%; right:-14%; }
  .method-system__frente[data-frente="3"]{ bottom:-4%; left:-14%; }
  .method-system__frente[data-frente="4"]{ bottom:-4%; right:-14%; }
}

/* ---------- Entrada em fases: cards -> núcleo -> anéis -> frentes ---------- */
.method-panel{ opacity:0; transform:translateY(14px); transition:opacity .6s var(--ease-soft), transform .6s var(--ease-soft); }
.method-system__core{ opacity:0; transform:scale(.96); transition:opacity .6s var(--ease-soft), transform .6s var(--ease-soft); }
.method-system__orbits{ opacity:0; transition:opacity .7s var(--ease-soft); transition-delay:.42s; }
.method-system__frente{
  opacity:0; transform:translateY(10px);
  transition:opacity .5s var(--ease-soft), transform .5s var(--ease-soft), border-color .35s var(--ease), background .35s var(--ease);
}
.method-system__frente[data-frente="1"]{ transition:opacity .5s var(--ease-soft) .56s, transform .5s var(--ease-soft) .56s, border-color .35s var(--ease), background .35s var(--ease); }
.method-system__frente[data-frente="2"]{ transition:opacity .5s var(--ease-soft) .63s, transform .5s var(--ease-soft) .63s, border-color .35s var(--ease), background .35s var(--ease); }
.method-system__frente[data-frente="3"]{ transition:opacity .5s var(--ease-soft) .7s, transform .5s var(--ease-soft) .7s, border-color .35s var(--ease), background .35s var(--ease); }
.method-system__frente[data-frente="4"]{ transition:opacity .5s var(--ease-soft) .77s, transform .5s var(--ease-soft) .77s, border-color .35s var(--ease), background .35s var(--ease); }

.method__composition.is-visible .method-panel{ opacity:1; transform:translateY(0); }
.method__composition.is-visible .method-system__core{ opacity:1; transform:scale(1); transition-delay:.2s; }
.method__composition.is-visible .method-system__orbits{ opacity:1; }
.method__composition.is-visible .method-system__frente{ opacity:1; transform:translateY(0); }

.method__footer{ margin-top:52px; text-align:center; }
.method__footer p{ font-size:.92rem; color:#8a958f; font-weight:600; }
.method__footer .btn{ margin-top:20px; }
.method__footer small{ display:block; margin-top:16px; font-size:.78rem; color:#5c655f; max-width:44ch; margin-inline:auto; }

/* ==========================================================================
   CONHEÇA A MEDICLIQUE — composição institucional (posicionamento + fundadores + ecossistema)
   ========================================================================== */
.about{ position:relative; background:var(--c-black); color:var(--c-white); overflow:hidden; isolation:isolate; padding:var(--pad-section) 0 0; }
.about__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 80% 30%, rgba(20,190,110,.08), transparent 60%),
    radial-gradient(ellipse 38% 36% at 10% 88%, rgba(20,190,110,.05), transparent 65%);
}

.about__intro{ position:relative; z-index:1; display:flex; flex-direction:column; gap:48px; }
@media (min-width:1100px){
  .about__intro{ display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:56px; }
}

.about__title{ margin-top:16px; font-size:clamp(1.9rem,3.2vw,2.6rem); font-weight:400; letter-spacing:-.02em; line-height:1.15; color:var(--c-white); }
.about__lead{ margin-top:16px; font-size:1rem; line-height:1.65; color:#c7d2cc; max-width:52ch; font-weight:300; }
.about__lead + .about__lead{ margin-top:12px; }

.about__mbe{
  margin-top:28px; padding:16px 22px; max-width:440px;
  border-left:2px solid var(--c-green-bright); border-radius:0 14px 14px 0;
  background:rgba(48,224,140,.05);
}
.about__mbe-label{ font-family:var(--font-mono); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--c-green-accent); }
.about__mbe-formula{ margin-top:8px; font-size:1rem; font-weight:700; color:var(--c-white); }
.about__mbe-formula span{ margin:0 3px; color:var(--c-green-bright); font-weight:800; }
.about__mbe-result{ margin-top:6px; font-size:.86rem; color:#9aa8a2; }

.about__proof{ margin-top:22px; font-size:.88rem; color:#8a958f; }
.about__proof b{ color:var(--c-green-bright); font-weight:800; font-size:1rem; }

.about__col--photo{ position:relative; }
.about__photo{
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:24px; aspect-ratio:3/4; background:#050a08;
}
.about__photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 15%; display:block; }
.about__photo-mark{
  position:absolute; z-index:1; top:20px; left:22px; pointer-events:none;
  font-size:2.4rem; font-weight:800; letter-spacing:.02em; line-height:1; color:var(--c-green-bright); opacity:.06;
}
.about__photo-fade{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.45) 0%, transparent 24%),
    linear-gradient(0deg, rgba(0,0,0,.6) 0%, transparent 26%);
}
.about__founder{ position:absolute; z-index:2; display:flex; align-items:center; gap:8px; }
.about__founder-dot{
  width:7px; height:7px; border-radius:50%; flex-shrink:0; margin-top:2px;
  background:var(--c-green-bright); box-shadow:0 0 8px 1px rgba(48,224,140,.6);
}
.about__founder-name{
  display:flex; flex-direction:column; font-size:.84rem; font-weight:700; color:var(--c-white);
  line-height:1.3; text-shadow:0 2px 10px rgba(0,0,0,.75);
}
.about__founder-name small{ font-size:.68rem; font-weight:600; color:#d3ddd8; }
.about__founder--1{ left:6%; bottom:10%; }
.about__founder--2{ right:6%; bottom:22%; }

@media (min-width:768px) and (max-width:1099px){
  .about__photo{ aspect-ratio:16/9; }
  .about__photo img{ object-position:68% 22%; }
  .about__founder--1{ left:8%; bottom:8%; }
  .about__founder--2{ right:6%; bottom:8%; }
}
@media (min-width:1100px){
  .about__photo{ aspect-ratio:4/5; }
  .about__photo img{ object-position:100% 18%; }
  .about__founder--1{ left:8%; bottom:8%; }
  .about__founder--2{ right:8%; bottom:20%; }
}

.about__eco{ position:relative; z-index:1; margin-top:72px; padding:32px 0; border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.about__eco-title{ text-align:center; font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#6f7972; margin-bottom:26px; }
.about__eco-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 10px; }
.about__eco-logo{
  width:136px; height:56px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; padding:6px 12px;
  transition:transform .3s var(--ease);
}
.about__eco-logo:hover{ transform:translateY(-1px); }
.about__eco-logo img{
  max-width:100%; max-height:100%; object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1); opacity:.55;
  transition:opacity .3s var(--ease);
}
.about__eco-logo:hover img{ opacity:1; }
.about__eco-logo--plain img{ filter:none; opacity:.8; }
.about__eco-logo--plain:hover img{ opacity:1; }
.about__eco-logo--kommo img{ filter:grayscale(1) brightness(3.2) contrast(.92); }
.about__eco-logo--word span{
  font-weight:800; font-size:1.02rem; letter-spacing:-.01em; color:rgba(255,255,255,.55);
  transition:color .3s var(--ease);
}
.about__eco-logo--word:hover span{ color:#fff; }

@media (max-width:767px){
  .about{ padding-top:var(--pad-section-sm); }
  .about__title{ font-size:clamp(1.7rem,7vw,2.1rem); }
  .about__eco{ margin-top:48px; padding:26px 0; }
  .about__eco-logo{ width:112px; height:48px; }
}

/* ==========================================================================
   TECNOLOGIA — IA aplicada + Portal Mediclique
   ========================================================================== */
.tech{ position:relative; isolation:isolate; overflow:hidden; padding:var(--pad-section) 0; background:var(--c-black); color:var(--c-white); }
.tech__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 40% at 50% 8%, rgba(20,190,110,.07), transparent 62%);
}
.tech .container{ position:relative; z-index:1; }

.tech__intro{ max-width:720px; margin-inline:auto; text-align:center; }

/* ---------- 01 · Inteligência Artificial ---------- */
.tech-ia{ margin-top:96px; }
.tech-ia__title{
  margin-top:16px; font-size:clamp(1.8rem,3vw,2.4rem); font-weight:400; letter-spacing:-.02em;
  line-height:1.15; color:var(--c-white); max-width:18ch;
}
.tech-ia__desc{ margin-top:16px; font-size:1rem; line-height:1.65; color:#c7d2cc; max-width:62ch; font-weight:300; }

.tech-ia__highlight{
  margin-top:24px; padding:16px 22px; max-width:560px;
  border-left:2px solid var(--c-green-bright); border-radius:0 14px 14px 0;
  background:rgba(48,224,140,.05);
}
.tech-ia__highlight-label{ font-family:var(--font-mono); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--c-green-accent); }
.tech-ia__highlight-text{ margin-top:6px; font-size:.9rem; line-height:1.55; color:#9aa8a2; font-weight:300; }

.tech-ia__system{ position:relative; margin-top:64px; display:flex; flex-direction:column; align-items:center; gap:32px; }
.tech-ia__core{
  position:relative; z-index:2; flex-shrink:0; width:104px; height:104px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #17a065 0%, #0B6B43 55%, #052b1c 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 20px 40px -16px rgba(48,224,140,.4);
}
.tech-ia__core span{ font-size:.56rem; font-weight:500; opacity:.85; }
.tech-ia__core b{ font-size:1.3rem; font-weight:700; margin-top:2px; }

.tech-ia__chain{ position:relative; width:100%; max-width:340px; display:flex; flex-direction:column; }
.tech-ia__chain::before{
  content:""; position:absolute; left:11px; top:16px; bottom:16px; width:1px;
  background:rgba(255,255,255,.08); transition:background .3s var(--ease);
}
.tech-ia__chain:hover::before{ background:rgba(48,224,140,.28); }
.tech-ia__node{
  position:relative; z-index:1; display:flex; align-items:center; gap:14px; padding:12px 4px;
  border-radius:12px; transition:background .3s var(--ease);
}
.tech-ia__node:hover, .tech-ia__node:focus-visible{ background:rgba(255,255,255,.03); outline:none; }
.tech-ia__node-dot{
  flex-shrink:0; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(48,224,140,.3); background:#06120d;
}
.tech-ia__node-dot::after{
  content:""; width:6px; height:6px; border-radius:50%; background:var(--c-green-bright);
  opacity:.5; transition:opacity .3s var(--ease), box-shadow .3s var(--ease);
}
.tech-ia__node:hover .tech-ia__node-dot::after, .tech-ia__node:focus-visible .tech-ia__node-dot::after{
  opacity:1; box-shadow:0 0 8px 1px rgba(48,224,140,.6);
}
.tech-ia__node-text{ display:flex; align-items:baseline; gap:8px; }
.tech-ia__node-num{ font-family:var(--font-mono); font-size:.68rem; font-weight:700; color:#5c655f; }
.tech-ia__node-label{ font-size:.96rem; font-weight:700; color:#c7d2cc; transition:color .3s var(--ease); }
.tech-ia__node:hover .tech-ia__node-label, .tech-ia__node:focus-visible .tech-ia__node-label{ color:#fff; }

.tech-ia__flow-dot{
  position:absolute; z-index:2; left:11px; top:16px; width:6px; height:6px; margin-left:-2.5px;
  border-radius:50%; background:var(--c-green-bright); box-shadow:0 0 6px 1px rgba(48,224,140,.55); opacity:0;
  pointer-events:none; will-change:transform;
}
.tech-ia__system.is-idle .tech-ia__flow-dot{ animation:techFlowV 7s linear infinite; }
@keyframes techFlowV{
  0%{ transform:translateY(0); opacity:0; }
  6%{ opacity:1; } 94%{ opacity:1; }
  100%{ transform:translateY(var(--tech-flow-dist, 260px)); opacity:0; }
}

.tech-ia__capabilities{ margin-top:64px; display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid rgba(255,255,255,.08); }
.tech-ia__capabilities li{ display:flex; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.tech-ia__cap-num{ flex-shrink:0; width:32px; font-family:var(--font-mono); font-size:.8rem; font-weight:700; color:var(--c-green-bright); }
.tech-ia__cap-title{ font-size:1rem; font-weight:700; color:var(--c-white); }
.tech-ia__cap-text{ margin-top:6px; font-size:.9rem; line-height:1.55; color:#9aa8a2; font-weight:300; max-width:52ch; }

@media (min-width:1100px){
  .tech-ia__system{ flex-direction:row; align-items:center; gap:0; }
  .tech-ia__chain{ flex-direction:row; max-width:none; flex:1; margin-left:36px; }
  .tech-ia__chain::before{ left:0; right:0; top:50%; bottom:auto; width:auto; height:1px; }
  .tech-ia__flow-dot{ left:0; top:50%; margin-left:0; margin-top:-3px; }
  .tech-ia__system.is-idle .tech-ia__flow-dot{ animation-name:techFlowH; }
  .tech-ia__node{ flex:1; flex-direction:column; align-items:flex-start; gap:12px; padding:6px 20px; }
  .tech-ia__capabilities{ grid-template-columns:1fr 1fr; column-gap:40px; }
  .tech-ia__capabilities li:nth-child(1),.tech-ia__capabilities li:nth-child(2){ border-top:none; }
}
@keyframes techFlowH{
  0%{ transform:translateX(0); opacity:0; }
  6%{ opacity:1; } 94%{ opacity:1; }
  100%{ transform:translateX(var(--tech-flow-dist, 600px)); opacity:0; }
}

/* ---------- Transição ---------- */
.tech-bridge{ position:relative; margin-top:88px; padding-top:40px; border-top:1px solid rgba(255,255,255,.05); text-align:center; }
.tech-bridge__line{
  position:absolute; top:-1px; left:50%; width:120px; height:1px; transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(48,224,140,.5), transparent);
}
.tech-bridge__title{ font-size:1.05rem; font-weight:700; color:var(--c-white); max-width:34ch; margin-inline:auto; }
.tech-bridge__desc{ margin-top:8px; font-size:.9rem; line-height:1.55; color:#8a958f; max-width:52ch; margin-inline:auto; font-weight:300; }

/* ---------- 02 · Portal Mediclique ---------- */
.tech-portal{ margin-top:88px; display:flex; flex-direction:column; gap:44px; }
.tech-portal__title{
  margin-top:16px; font-size:clamp(1.8rem,3vw,2.4rem); font-weight:400; letter-spacing:-.02em;
  line-height:1.15; color:var(--c-white);
}
.tech-portal__desc{ margin-top:16px; font-size:1rem; line-height:1.65; color:#c7d2cc; max-width:52ch; font-weight:300; }

.tech-portal__tabs{ margin-top:32px; display:flex; flex-wrap:wrap; gap:8px; }
.tech-portal__tab{
  padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03);
  font-family:var(--font-mono); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a958f;
  transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.tech-portal__tab:hover{ color:#fff; border-color:rgba(255,255,255,.22); }
.tech-portal__tab.is-active{ color:var(--c-green-bright); border-color:rgba(48,224,140,.4); background:rgba(48,224,140,.08); }

.tech-portal__panels{ margin-top:22px; min-height:132px; }
.tech-portal__panel{ display:none; }
.tech-portal__panel.is-active{ display:block; }
.tech-portal__list{ display:flex; flex-direction:column; gap:10px; }
.tech-portal__list li{
  position:relative; padding-left:18px; font-size:.92rem; line-height:1.55; color:#c7d2cc; font-weight:300;
}
.tech-portal__list li::before{ content:""; position:absolute; left:0; top:.6em; width:5px; height:5px; border-radius:50%; background:var(--c-green-bright); }
.tech-portal__panel-intro{ font-size:.92rem; line-height:1.55; color:#c7d2cc; font-weight:300; }
.tech-portal__chips{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
.tech-portal__chip{
  padding:7px 14px; border-radius:999px; border:1px solid rgba(48,224,140,.25); background:rgba(48,224,140,.06);
  font-size:.8rem; font-weight:600; color:var(--c-green-accent);
}
.tech-portal__chip--more{ color:#8a958f; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.03); }

.tech-portal__col--visual{ position:relative; }
.tech-portal__window{
  position:relative; isolation:isolate; border-radius:24px; overflow:visible;
  background:linear-gradient(160deg,#0b1712,#050a08); border:1px solid rgba(48,224,140,.16);
  box-shadow:0 40px 80px -32px rgba(0,0,0,.6);
}
.tech-portal__chrome{
  display:flex; align-items:center; gap:6px; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.08);
  border-radius:24px 24px 0 0;
}
.tech-portal__dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.14); flex-shrink:0; }
.tech-portal__chrome-label{ margin-left:8px; font-family:var(--font-mono); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5c655f; }
.tech-portal__shot{ overflow:hidden; border-radius:0 0 24px 24px; background:#050a08; }
.tech-portal__shot img{ width:100%; height:auto; display:block; }

.tech-portal__callout{
  position:absolute; z-index:2; display:none; padding:8px 14px; border-radius:999px;
  background:rgba(6,14,11,.92); border:1px solid rgba(48,224,140,.28); backdrop-filter:blur(6px);
  font-family:var(--font-mono); font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-green-accent); white-space:nowrap; box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
}
.tech-portal__callout--1{ top:-14px; left:24px; }
.tech-portal__callout--2{ top:40%; right:-16px; }
.tech-portal__callout--3{ bottom:-14px; left:40%; }

@media (min-width:640px){
  .tech-portal__callout{ display:inline-flex; }
}
@media (min-width:1100px){
  .tech-portal{ flex-direction:row; align-items:center; gap:56px; }
  .tech-portal__col--text{ flex:0 0 38%; max-width:38%; }
  .tech-portal__col--visual{ flex:0 0 58%; max-width:58%; margin-left:auto; }
  .tech-portal__window{ margin-right:-24px; }
}

.tech__cta{ margin-top:80px; text-align:center; }

/* ==========================================================================
   DEPOIMENTOS — prova social editorial
   ========================================================================== */
.testimonials{ padding:var(--pad-section) 0; background:#F7F8F6; overflow:hidden; }

.testi-main{
  position:relative; margin-top:56px; display:flex; flex-direction:column; gap:36px;
  background:var(--c-white); border:1px solid rgba(0,0,0,.07); border-radius:28px;
  padding:32px 24px 84px; box-shadow:0 30px 60px -40px rgba(20,30,25,.18);
}
.testi-main__badge{
  display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px;
  background:rgba(48,224,140,.08); border:1px solid rgba(11,107,67,.18);
  font-family:var(--font-mono); font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-green-deep);
}
.testi-main__badge-dot{ width:6px; height:6px; border-radius:50%; background:var(--c-green-bright); box-shadow:0 0 0 3px rgba(48,224,140,.18); flex-shrink:0; }

.testi-main__quote{
  margin:22px 0 0; font-size:clamp(1.28rem,2.4vw,1.7rem); font-weight:500; line-height:1.42;
  letter-spacing:-.01em; color:var(--c-black); max-width:46ch;
  opacity:1; transform:translateY(0); transition:opacity .3s var(--ease-soft), transform .3s var(--ease-soft);
}
.testi-main__mark{ color:var(--c-green-bright); font-size:1.3em; font-weight:700; margin-right:2px; }

.testi-main__meta{
  margin-top:22px; opacity:1; transform:translateY(0); transition:opacity .3s var(--ease-soft), transform .3s var(--ease-soft);
}
.testi-main__name{ font-weight:700; font-size:.98rem; color:var(--c-black); }
.testi-main__role{ margin-top:2px; font-size:.86rem; color:var(--c-muted); font-weight:300; }

.testi-main__arrows{ position:absolute; left:24px; bottom:24px; display:flex; gap:8px; }
.testi-main__arrow{
  width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(0,0,0,.12); background:var(--c-white);
  display:flex; align-items:center; justify-content:center; color:var(--c-black);
  transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.testi-main__arrow:hover{ background:var(--c-black); border-color:var(--c-black); color:var(--c-white); }
.testi-main__arrow:focus-visible{ outline:2px solid var(--c-green-deep); outline-offset:2px; }
.testi-main__arrow svg{ width:17px; height:17px; }

.testi-main__proof{ display:flex; }
.testi-main__frame{
  position:relative; width:100%; max-width:340px; margin-inline:auto; aspect-ratio:4/5;
  border-radius:20px; overflow:hidden; background:#F2F3F0; border:1px solid rgba(0,0,0,.08);
  box-shadow:0 24px 48px -28px rgba(20,30,25,.28); cursor:zoom-in;
  transform:rotate(-1.1deg); transition:transform .35s var(--ease);
}
.testi-main__frame:hover, .testi-main__frame:focus-visible{ transform:rotate(0deg); }
.testi-main__frame:focus-visible{ outline:2px solid var(--c-green-deep); outline-offset:3px; }
.testi-main__frame img{
  width:100%; height:100%; object-fit:contain; display:block;
  opacity:1; transition:opacity .3s var(--ease-soft);
}

.testi-main.is-swapping .testi-main__quote,
.testi-main.is-swapping .testi-main__meta{ opacity:0; transform:translateY(5px); }
.testi-main.is-swapping .testi-main__frame img{ opacity:0; }

@media (min-width:900px){
  .testi-main{ flex-direction:row; align-items:center; gap:48px; padding:56px; }
  .testi-main__content{ flex:1 1 56%; max-width:56%; }
  .testi-main__proof{ flex:1 1 40%; max-width:40%; }
  .testi-main__arrows{ left:56px; bottom:40px; }
}

.testi-list{
  margin-top:20px; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x proximity;
  padding-bottom:6px; -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(90deg, #000 calc(100% - 28px), transparent);
  -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 28px), transparent);
}
.testi-list::-webkit-scrollbar{ height:5px; }
.testi-list::-webkit-scrollbar-track{ background:transparent; }
.testi-list::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.14); border-radius:99px; }
.testi-list__item{
  flex:0 0 auto; width:196px; scroll-snap-align:start;
  display:flex; align-items:center; gap:10px; padding:10px; border-radius:16px;
  background:var(--c-white); border:1px solid rgba(0,0,0,.08); text-align:left;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
@media (min-width:700px){ .testi-list__item{ width:210px; } }
.testi-list__item:hover{ border-color:rgba(0,0,0,.18); }
.testi-list__item:focus-visible{ outline:2px solid var(--c-green-deep); outline-offset:2px; }
.testi-list__item.is-active{ border-color:rgba(11,107,67,.4); background:rgba(48,224,140,.06); }
.testi-list__thumb{ width:42px; height:42px; border-radius:10px; overflow:hidden; flex-shrink:0; background:#F2F3F0; }
.testi-list__thumb img{ width:100%; height:100%; object-fit:cover; }
.testi-list__text{ display:flex; flex-direction:column; min-width:0; }
.testi-list__num{ font-family:var(--font-mono); font-size:.62rem; font-weight:700; color:var(--c-muted); }
.testi-list__label{
  margin-top:1px; font-size:.84rem; font-weight:700; color:var(--c-body);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .25s var(--ease);
}
.testi-list__item.is-active .testi-list__label{ color:var(--c-green-deep); }

@media (prefers-reduced-motion: reduce){
  .testi-main__quote, .testi-main__meta, .testi-main__frame img{ transition:none !important; }
  .testi-main.is-swapping .testi-main__quote,
  .testi-main.is-swapping .testi-main__meta{ opacity:1 !important; transform:none !important; }
  .testi-main.is-swapping .testi-main__frame img{ opacity:1 !important; }
  .testi-main__frame{ transition:none !important; }
}

.lightbox{
  position:fixed; inset:0; z-index:600; background:rgba(0,0,0,.94); display:flex; align-items:center; justify-content:center;
  padding:24px; opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s;
}
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox img{ max-width:min(92vw,520px); max-height:88vh; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lightbox__close{
  position:absolute; top:20px; right:20px; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2); color:#fff; display:flex; align-items:center; justify-content:center;
}

/* ==========================================================================
   CTA — full-bleed cinematográfico
   ========================================================================== */
.cta-band{
  position:relative; overflow:hidden; background:var(--c-black); color:var(--c-white);
  padding:clamp(90px,16vw,180px) 0; text-align:center; isolation:isolate;
}
.cta-band__glow{ position:absolute; inset:0; z-index:0; }
.cta-band__glow span{
  position:absolute; border-radius:50%; opacity:.55; --glow:var(--c-green-deep);
  background:radial-gradient(circle closest-side, var(--glow) 0%, var(--glow) 28%, transparent 100%);
  animation:drift 18s ease-in-out infinite alternate;
}
.cta-band__glow span:nth-child(1){ width:38vw; height:38vw; top:-14vw; left:6%; animation-delay:0s; }
.cta-band__glow span:nth-child(2){ width:30vw; height:30vw; bottom:-12vw; right:8%; --glow:var(--c-green-bright); opacity:.36; animation-delay:-6s; }
.cta-band__glow span:nth-child(3){ width:22vw; height:22vw; top:30%; right:28%; opacity:.24; animation-delay:-10s; }
@keyframes drift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(4vw,-3vw) scale(1.15); } }
.cta-band__inner{ position:relative; z-index:2; max-width:680px; margin-inline:auto; }
.cta-band h2{ margin-top:24px; font-size:clamp(2rem,5vw,3.4rem); font-weight:400; line-height:1.15; letter-spacing:-.02em; }
.cta-band p{ margin-top:18px; color:#a9b6b0; font-size:1.06rem; line-height:1.7; font-weight:300; }
.cta-band .btn{ margin-top:30px; }
.cta-band small{ display:block; margin-top:20px; color:#5c655f; font-size:.84rem; }

/* ==========================================================================
   CONTEÚDOS
   ========================================================================== */
.content-videos{ padding:var(--pad-section-sm) 0; background:var(--c-offwhite); }
.content-videos .section-head{ max-width:680px; }
.videos-track{
  margin-top:52px; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px 24px 12px; -ms-overflow-style:none; scrollbar-width:none;
}
@media (min-width:768px){ .videos-track{ padding-inline:40px; } }
@media (min-width:1100px){ .videos-track{ padding-inline:56px; } }
.videos-track::-webkit-scrollbar{ display:none; }
.video-item{ scroll-snap-align:start; flex:0 0 62%; }
@media (min-width:640px){ .video-item{ flex-basis:32%; } }
@media (min-width:1100px){ .video-item{ flex-basis:18.5%; } }
.video-card{
  display:block; border-radius:22px; overflow:hidden; position:relative;
  aspect-ratio:9/16; background:var(--c-white); box-shadow:0 16px 32px -20px rgba(20,30,25,.22);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease);
}
.video-item:hover .video-card{ transform:translateY(-2px); box-shadow:0 20px 38px -20px rgba(20,30,25,.28); }
.video-card img{ width:100%; height:100%; object-fit:cover; transition:transform .28s var(--ease); }
.video-item:hover .video-card img{ transform:scale(1.02); }
.video-card__play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.video-card__play span{
  width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center;
  transition:background .28s var(--ease), color .28s var(--ease);
}
.video-item:hover .video-card__play span{ background:var(--c-green-bright); }
.video-card__play svg{ width:18px; height:18px; color:var(--c-black); margin-left:2px; }
.video-card__title{
  margin:13px 2px 0; font-size:.86rem; font-weight:500; line-height:1.4; color:var(--c-black);
}

.content-videos__cta{ margin-top:44px; text-align:center; }

/* ==========================================================================
   LOCAL — editorial
   ========================================================================== */
.location{ padding:var(--pad-section-sm) 0; background:var(--c-white); }
.location__grid{ margin-top:48px; display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
@media (min-width:960px){ .location__grid{ grid-template-columns:.9fr 1.1fr; gap:60px; } }
.location__text p{ font-size:1.06rem; line-height:1.85; color:var(--c-body); margin-top:16px; font-weight:500; }
.location__text p:first-child{ margin-top:0; }
.location__actions{ margin-top:26px; }
.location__gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.location__gallery img{ width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; }
.location__gallery a:first-child{ grid-column:1 / -1; }
.location__gallery a:first-child img{ aspect-ratio:16/9; }

/* ==========================================================================
   FAQ — minimal
   ========================================================================== */
.faq{ padding:var(--pad-section-sm) 0; background:var(--c-offwhite); }
.faq__list{ margin-top:48px; max-width:820px; margin-inline:auto; border-top:1px solid var(--c-divider); }
.faq-item{ border-bottom:1px solid var(--c-divider); }
.faq-item__head{
  width:100%; background:none; border:none; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:26px 4px; text-align:left; font-size:1.06rem; font-weight:700; color:var(--c-black); letter-spacing:-.01em;
}
.faq-item__plus{
  width:30px; height:30px; border-radius:50%; border:1.5px solid var(--c-divider); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.05rem; color:var(--c-body); transition:all .2s;
}
.faq-item.is-open .faq-item__plus{ background:var(--c-black); border-color:var(--c-black); color:#fff; }
.faq-item__panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--ease); }
.faq-item.is-open .faq-item__panel{ grid-template-rows:1fr; }
.faq-item__panel-inner{ overflow:hidden; }
.faq-item__body{ padding:0 4px 26px; font-size:.96rem; line-height:1.78; color:var(--c-muted); max-width:68ch; font-weight:300; }
.faq-item__body p + p{ margin-top:12px; }

/* ==========================================================================
   FOOTER — minimal denso
   ========================================================================== */
.site-footer{ background:var(--c-black); color:#8a958f; }

.footer-partners{ padding:40px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.footer-partners__title{
  text-align:center; font-family:var(--font-mono); font-size:.7rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#5c655f; margin-bottom:22px;
}
.footer-partners__row{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px 12px; align-items:center; justify-items:center; }
@media (min-width:1000px){ .footer-partners__row{ display:flex; justify-content:center; gap:6px 36px; } }
.footer-partners__logo{
  display:flex; align-items:center; justify-content:center; width:100%; height:46px;
  transition:transform .3s var(--ease);
}
@media (min-width:1000px){ .footer-partners__logo{ width:auto; flex:0 0 auto; } }
.footer-partners__logo:hover{ transform:translateY(-1px); }
.footer-partners__logo img{
  max-width:100%; max-height:34px; object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1); opacity:.5;
  transition:opacity .3s var(--ease);
}
.footer-partners__logo:hover img{ opacity:1; }
.footer-partners__logo--plain img{ filter:none; opacity:.75; }
.footer-partners__logo--plain:hover img{ opacity:1; }
.footer-partners__logo--kommo img{ filter:grayscale(1) brightness(3.2) contrast(.92); }
.footer-partners__logo--word span{
  font-weight:800; font-size:.96rem; letter-spacing:-.01em; color:rgba(255,255,255,.5);
  transition:color .3s var(--ease);
}
.footer-partners__logo--word:hover span{ color:#fff; }

.site-footer__main{ padding:64px 0 56px; display:grid; grid-template-columns:1fr; gap:44px; }
@media (min-width:700px){ .site-footer__main{ grid-template-columns:1fr 1fr; } }
@media (min-width:1100px){ .site-footer__main{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; } }

.footer-brand img{ height:36px; width:auto; }
.footer-brand p{ margin-top:18px; font-size:.9rem; line-height:1.7; color:#7c8983; max-width:300px; }
.footer-brand .tagline{ margin-top:14px; font-family:var(--font-mono); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-green-accent); }
.footer-social{ margin-top:22px; display:flex; gap:10px; }
.footer-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center;
  transition:all .2s var(--ease);
}
.footer-social a:hover{ background:var(--c-green-deep); border-color:var(--c-green-deep); color:#fff; }
.footer-social svg{ width:16px; height:16px; }

.footer-col h4{ font-family:var(--font-mono); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:20px; }
.footer-col ul{ display:flex; flex-direction:column; gap:13px; }
.footer-col a, .footer-col address{ font-size:.92rem; color:#8a958f; font-style:normal; line-height:1.6; }
.footer-col a:hover{ color:#fff; }
.footer-edu{ margin-top:24px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); }
.footer-edu b{ display:block; color:#fff; font-size:.9rem; margin-bottom:7px; }
.footer-edu p{ font-size:.86rem; color:#7c8983; line-height:1.6; }
.footer-edu a{ margin-top:11px; display:inline-flex; align-items:center; gap:6px; font-size:.87rem; font-weight:700; color:var(--c-green-bright); }
.footer-contact-item{ display:flex; align-items:flex-start; gap:10px; }
.footer-contact-item svg{ width:16px; height:16px; margin-top:3px; flex-shrink:0; color:var(--c-green-accent); }

.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); padding:26px 0; }
.footer-bottom__inner{ display:flex; flex-direction:column; gap:14px; text-align:center; }
@media (min-width:800px){ .footer-bottom__inner{ flex-direction:row; justify-content:space-between; text-align:left; } }
.footer-bottom p{ font-size:.78rem; color:#5c655f; line-height:1.6; }
.footer-bottom__links{ display:flex; flex-wrap:wrap; gap:18px; justify-content:center; }
.footer-bottom__links a{ font-size:.78rem; color:#7c8983; }
.footer-bottom__links a:hover{ color:#fff; }
.back-to-top{ display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:700; color:var(--c-green-bright); }
.back-to-top svg{ width:14px; height:14px; }

/* ==========================================================================
   Utilidades responsivas finais
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .marquee__track, .cta-band__glow span,
  .method-system__ring, .method-system__orbit-dot, .method-system__core, .method-system__halo,
  .tech-ia__flow-dot,
  .hero-title__accent, .results__title-accent, .frentes-title__accent, .diag-cta__title-accent,
  .tech__title-accent, .tech-ia__title-accent, .tech-portal__title-accent, .testi-title-accent{ animation:none !important; }
  .method-system__branch, .method-system__branch-dot, .method-system__flow-dot{ transition:none !important; opacity:1 !important; }
  .method-panel, .method-system__core, .method-system__orbits, .method-system__frente{ opacity:1 !important; transform:none !important; }
  *{ transition-duration:.001ms !important; animation-duration:.001ms !important; }
}
