/* ==========================================================================
   Respiro Marketing | Design System
   Paleta: Navy profundo. Marca sem ícone (wordmark tipográfico apenas).
   Usado por: /, /metodologia, /sobre, /ferramentas
   ========================================================================== */

:root{
  /* ---- tinta ---- */
  --ink:#0B1524;
  --ink-soft:#3A4A5F;
  --grey:#74839A;

  /* ---- marca ---- */
  --navy:#0F3D91;
  --navy-deep:#0A2A5C;
  --sky:#2F7BEA;
  --sky-soft:#6BA5F5;
  --sky-pale:#8FB6F8;

  /* ---- superfícies ---- */
  --paper:#FFFFFF;
  --cream:#FAFCFF;
  --mist:#F1F5FA;
  --tint:#E8F0FE;
  --tint-2:#D6E6FC;
  --line:#E2E8F0;
  --line-2:#CFDDF2;
  --dark:#0A1B33;
  --dark-2:#0E2444;

  /* ---- texto sobre fundo escuro ---- */
  --on-dark:#B6C4D8;
  --on-dark-2:#A9BAD1;
  --on-dark-3:#7A899F;

  /* ---- gradientes e sombras ---- */
  --grad:linear-gradient(118deg,#0F3D91,#2F7BEA);
  --grad-deep:linear-gradient(150deg,#0A2A5C,#123F86);
  --shadow:0 24px 60px -28px rgba(15,61,145,.38);
  --shadow-soft:0 14px 40px -24px rgba(11,21,36,.26);

  --r:22px;
  --maxw:1180px;
  --topbar-h:38px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:96px}
body{
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--cream); line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3{line-height:1.12; letter-spacing:-.02em; font-weight:500}
a{color:inherit; text-decoration:none}
img,svg{max-width:100%}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
.grad-text{background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- tipografia de apoio ---------- */
.eyebrow{
  font-size:12.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--navy); display:inline-block; margin-bottom:18px;
}
.eyebrow.on-dark{color:var(--sky-pale)}
.lead{font-size:19px; color:var(--ink-soft); max-width:58ch}
.lead.on-dark{color:var(--on-dark)}

/* ==========================================================================
   BOTÕES
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:inherit; font-weight:600; font-size:14.5px; letter-spacing:.04em;
  text-transform:uppercase; padding:15px 28px; border-radius:100px;
  cursor:pointer; border:0; text-align:center;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s, background .3s, border-color .3s, color .3s;
}
.btn-primary{background:var(--grad); color:#fff; box-shadow:0 14px 30px -12px rgba(15,61,145,.55)}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 22px 42px -14px rgba(47,123,234,.6)}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--navy); color:var(--navy); transform:translateY(-3px)}
.btn-white{background:#fff; color:var(--navy); box-shadow:0 16px 34px -14px rgba(0,0,0,.35)}
.btn-white:hover{transform:translateY(-3px)}
.btn-outline-light{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.32)}
.btn-outline-light:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-3px)}
.btn-sm{padding:11px 20px; font-size:13px}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn-note{display:block; font-size:12.5px; color:var(--grey); margin-top:12px; letter-spacing:.02em}
.btn-note.on-dark{color:var(--on-dark-2)}

/* ==========================================================================
   TOPBAR DE QUALIFICAÇÃO
   ========================================================================== */
.topbar{
  background:var(--navy-deep); color:#DCE8FB; height:var(--topbar-h);
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  padding:0 16px; position:relative; z-index:110;
}
.topbar span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* ==========================================================================
   MARCA | ícone do "R" + wordmark
   Grid de 2 colunas: o ícone ocupa as duas linhas, o texto empilha ao lado.
   Assim o markup precisa apenas do <img> antes do <b>, sem span extra.
   ========================================================================== */
.logo{display:inline-grid; grid-template-columns:auto auto; align-items:center; column-gap:11px}
.logo .mark{grid-row:1 / span 2; width:42px; height:42px; display:block; flex:0 0 auto}
.logo b{grid-column:2; font-weight:600; font-size:24px; letter-spacing:-.03em; color:var(--ink); line-height:1}
.logo small{grid-column:2; font-size:9.5px; font-weight:600; letter-spacing:.42em; color:var(--navy); line-height:1; margin-top:5px}
.logo.on-dark b{color:#fff}
.logo.on-dark small{color:var(--sky-pale)}

/* ==========================================================================
   HEADER
   ========================================================================== */
header{
  position:sticky; top:0; z-index:100; padding:16px 0; background:rgba(250,252,255,.72);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:box-shadow .35s, padding .35s, background .35s;
}
header.scrolled{background:rgba(250,252,255,.92); box-shadow:0 1px 0 var(--line); padding:10px 0}
.nav{display:flex; align-items:center; justify-content:space-between; gap:20px}
.nav-links{display:flex; gap:26px; align-items:center}
.nav-links a{font-size:14.5px; font-weight:500; color:var(--ink-soft); transition:color .2s; position:relative; white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--navy)}
.nav-links a::after{content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px;
  background:var(--grad); border-radius:2px; transition:width .3s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{display:flex; align-items:center; gap:12px}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px}
.burger span{width:24px; height:2px; background:var(--ink); border-radius:2px; transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ==========================================================================
   ATMOSFERA
   ========================================================================== */
.orb{position:absolute; border-radius:50%; filter:blur(64px); opacity:.42; z-index:0; pointer-events:none}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-26px) scale(1.12)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes pulse-ring{0%{transform:scale(.86);opacity:.7}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}

/* ==========================================================================
   BASE DE SEÇÃO
   ========================================================================== */
section{position:relative}
.block{padding:96px 0}
.block-tight{padding:70px 0}
.sec-head{max-width:660px; margin-bottom:56px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px); margin:0 0 16px}
.sec-head.center{margin-left:auto; margin-right:auto; text-align:center}
.sec-head.center .lead{margin-left:auto; margin-right:auto}
.bg-paper{background:var(--paper)}
.bg-mist{background:var(--mist)}
.bg-dark{background:var(--dark); color:#fff}
.bg-dark h2,.bg-dark h3{color:#fff}
.bg-dark p{color:var(--on-dark)}
.sec-cta{margin-top:52px; text-align:center}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative; padding:96px 0 76px; overflow:hidden}
.hero-bg{position:absolute; inset:0; z-index:0; pointer-events:none}
.hero-bg .orb.a{width:520px;height:520px;background:radial-gradient(circle,#2F7BEA,transparent 70%);
  top:-140px; right:-110px; animation:drift 16s ease-in-out infinite}
.hero-bg .orb.b{width:460px;height:460px;background:radial-gradient(circle,#0F3D91,transparent 70%);
  bottom:-180px; left:-130px; animation:drift 20s ease-in-out infinite reverse; opacity:.28}
.hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.06fr .94fr; gap:52px; align-items:center}
.hero h1{font-size:clamp(37px,5.1vw,64px); font-weight:300; letter-spacing:-.035em}
.hero h1 b{font-weight:600}
.hero .lead{margin:24px 0 32px; font-size:19.5px}
.hero-cta{display:flex; gap:13px; flex-wrap:wrap}
.hero-trust{margin-top:32px; display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.hero-trust > span{font-size:13.5px; color:var(--grey); font-weight:500}
.plats{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.plogo{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; color:var(--ink)}
.plogo .gmark{height:20px; width:auto; flex:0 0 auto}
.plogo .mmark{height:19px; width:auto; flex:0 0 auto}

/* --- painel de fatos da hero (no lugar da antiga arte de logo) --- */
.hero-panel{
  position:relative; background:linear-gradient(160deg,#fff,#F3F8FE); border-radius:28px;
  border:1px solid var(--line); box-shadow:var(--shadow); padding:34px 32px;
}
.hero-panel h3{font-size:16px; font-weight:600; color:var(--ink); margin-bottom:4px}
.hero-panel .hp-sub{font-size:13.5px; color:var(--grey); margin-bottom:24px}
.hp-rows{display:flex; flex-direction:column; gap:14px}
.hp-row{display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line);
  border-radius:15px; padding:14px 16px; transition:.3s}
.hp-row:hover{border-color:var(--line-2); transform:translateX(4px)}
.hp-row .ic{width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--tint);
  display:grid; place-items:center}
.hp-row .ic svg{width:19px;height:19px}
.hp-row b{display:block; font-size:14.5px; font-weight:600; color:var(--ink)}
.hp-row small{display:block; font-size:12.5px; color:var(--grey); font-weight:500}
.hp-badge{
  position:absolute; top:-14px; right:22px; background:var(--grad); color:#fff;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  padding:7px 15px; border-radius:100px; box-shadow:0 12px 26px -12px rgba(15,61,145,.7);
}

/* --- faixa de fatos sob a hero --- */
.hero-facts{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:20px; overflow:hidden; margin-top:52px; position:relative; z-index:2}
.hero-facts .hf{background:var(--paper); padding:24px 22px; text-align:center}
.hero-facts .hf .n{font-size:clamp(26px,3vw,34px); font-weight:600; letter-spacing:-.03em; color:var(--navy)}
.hero-facts .hf .l{font-size:13.5px; color:var(--ink-soft); margin-top:2px}

/* ==========================================================================
   FAIXA DE PLATAFORMAS
   ========================================================================== */
.platstrip{padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper)}
.platstrip .wrap{display:flex; align-items:center; justify-content:center; gap:20px 44px; flex-wrap:wrap}
.platstrip p{font-size:14px; color:var(--grey); font-weight:500}
.platstrip .plogo{font-size:16.5px}
.platstrip .plogo .gmark{height:24px}
.platstrip .plogo .mmark{height:23px}

/* ==========================================================================
   DORES
   ========================================================================== */
.pain-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.pain{background:var(--mist); border-radius:var(--r); padding:30px; border:1px solid transparent; transition:.35s}
.pain:hover{transform:translateY(-5px); border-color:var(--line-2); box-shadow:var(--shadow-soft)}
.pain .ic{width:46px;height:46px;border-radius:13px; background:#fff; display:grid; place-items:center;
  margin-bottom:18px; box-shadow:var(--shadow-soft)}
.pain h3{font-size:19px; margin-bottom:8px; font-weight:600}
.pain p{font-size:15px; color:var(--ink-soft)}
.transition-line{margin-top:42px; font-size:22px; font-weight:300; color:var(--ink); max-width:62ch}
.transition-line b{font-weight:600; color:var(--navy)}

/* ==========================================================================
   MÉTODO | ciclo de 4 etapas
   ========================================================================== */
.cycle{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative}
.cyc{padding:0 24px; position:relative}
.cyc:not(:last-child)::after{content:""; position:absolute; top:30px; right:0; width:1px; bottom:16px;
  background:linear-gradient(180deg,rgba(143,182,248,.45),rgba(143,182,248,0))}
.cyc .num{font-size:13px; font-weight:600; letter-spacing:.18em; color:var(--sky-pale); margin-bottom:14px}
.cyc .cic{width:60px;height:60px;border-radius:18px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14); display:grid; place-items:center; margin-bottom:18px}
.cyc h3{font-size:20px; margin-bottom:10px; color:#fff}
.cyc p{font-size:14.5px; color:var(--on-dark-2)}

/* --- destaque de retenção --- */
.retention{
  margin-top:60px; display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:24px; padding:30px 34px;
}
.retention .big{font-size:clamp(38px,4.4vw,52px); font-weight:600; letter-spacing:-.03em;
  background:linear-gradient(118deg,#6BA5F5,#B8D2FB); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.retention p{font-size:16px; color:var(--on-dark); max-width:62ch}
.retention p b{color:#fff; font-weight:600}
.retention cite{display:block; font-style:normal; font-size:12px; color:var(--on-dark-3); margin-top:8px}

/* ==========================================================================
   SERVIÇOS
   ========================================================================== */
.svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.svc{background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:28px 24px; transition:.35s}
.svc:hover{transform:translateY(-6px); box-shadow:var(--shadow-soft); border-color:var(--line-2); background:#fff}
.svc .sic{width:52px;height:52px;border-radius:15px; background:var(--grad); display:grid; place-items:center;
  margin-bottom:18px; box-shadow:0 12px 24px -12px rgba(15,61,145,.6)}
.svc h3{font-size:17.5px; margin-bottom:7px; font-weight:600}
.svc p{font-size:14px; color:var(--ink-soft)}

/* ==========================================================================
   CANAIS | onde encontramos seus clientes
   ========================================================================== */
.chan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.chan{display:flex; gap:18px; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--r); padding:26px 24px; transition:.35s}
.chan:hover{transform:translateY(-5px); box-shadow:var(--shadow-soft); border-color:var(--line-2)}
.chan .cim{width:46px;height:46px;flex:0 0 auto; border-radius:13px; background:var(--mist);
  display:grid; place-items:center}
.chan .cim svg{width:24px;height:24px}
.chan h3{font-size:16.5px; margin-bottom:5px; font-weight:600}
.chan p{font-size:13.5px; color:var(--ink-soft)}

/* ==========================================================================
   PILARES DA METODOLOGIA (teaser)
   ========================================================================== */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.pillar{background:#fff; border-radius:var(--r); padding:30px 26px; box-shadow:var(--shadow-soft);
  border:1px solid var(--line); transition:.35s}
.pillar:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--line-2)}
.pillar .pic{width:52px;height:52px;border-radius:15px; background:linear-gradient(150deg,var(--tint),var(--tint-2));
  display:grid; place-items:center; margin-bottom:18px}
.pillar h3{font-size:18px; margin-bottom:9px; font-weight:600}
.pillar p{font-size:14px; color:var(--ink-soft)}

/* ==========================================================================
   SERVIÇOS DETALHADOS (/servicos)
   ========================================================================== */
.svc-full-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px}
.svc-full{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:32px 30px; display:flex; flex-direction:column; transition:.35s;
}
.svc-full:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--line-2)}
.svc-full .sf-top{display:flex; gap:16px; align-items:flex-start; margin-bottom:14px}
.svc-full .sic{margin-bottom:0}
.svc-full h3{font-size:20px; font-weight:600; margin-bottom:6px}
.svc-full .sf-desc{font-size:14.5px; color:var(--ink-soft); margin-bottom:20px}
.stage-tag{
  display:inline-block; font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--navy); background:var(--tint);
  border:1px solid var(--tint-2); border-radius:100px; padding:4px 11px;
}
.sf-list{list-style:none; display:flex; flex-direction:column; gap:10px; margin-top:auto}
.sf-list li{display:flex; gap:10px; font-size:13.8px; color:var(--ink-soft); line-height:1.45}
.sf-list li svg{width:15px;height:15px;flex:0 0 auto; margin-top:3px; color:var(--sky)}

/* ---------- linha do tempo de entrega ---------- */
.timeline{position:relative; display:flex; flex-direction:column; gap:0; max-width:820px; margin:0 auto}
.timeline::before{content:""; position:absolute; left:23px; top:14px; bottom:14px; width:2px;
  background:linear-gradient(180deg,var(--sky),var(--tint-2))}
.tl-item{display:grid; grid-template-columns:auto 1fr; gap:22px; padding:0 0 30px; position:relative}
.tl-item:last-child{padding-bottom:0}
.tl-item .tl-dot{
  width:48px; height:48px; border-radius:50%; background:var(--paper); border:2px solid var(--sky);
  display:grid; place-items:center; font-size:12px; font-weight:600; color:var(--navy);
  position:relative; z-index:2; flex:0 0 auto; line-height:1.1; text-align:center;
}
.tl-item h3{font-size:18px; font-weight:600; margin:11px 0 7px}
.tl-item p{font-size:14.5px; color:var(--ink-soft)}
.bg-dark .tl-item h3{color:#fff}
.bg-dark .tl-item p{color:var(--on-dark-2)}
.bg-dark .timeline::before{background:linear-gradient(180deg,var(--sky-pale),rgba(143,182,248,.15))}
.bg-dark .tl-item .tl-dot{background:var(--dark); border-color:var(--sky-pale); color:var(--sky-pale)}

/* ---------- lista de exclusões ---------- */
.excl-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.excl{display:flex; gap:14px; align-items:flex-start; background:var(--paper);
  border:1px solid var(--line); border-radius:16px; padding:20px 22px}
.excl .xic{width:30px;height:30px;flex:0 0 auto; border-radius:9px; background:var(--mist);
  display:grid; place-items:center}
.excl .xic svg{width:15px;height:15px;color:var(--grey)}
.excl b{display:block; font-size:15px; font-weight:600; margin-bottom:3px}
.excl p{font-size:13.5px; color:var(--ink-soft)}

/* ==========================================================================
   PLANOS
   ========================================================================== */
.plan-note{
  max-width:760px; margin:0 auto 42px; text-align:center; background:var(--tint);
  border:1px solid var(--tint-2); border-radius:16px; padding:16px 22px;
  font-size:14px; color:var(--navy-deep);
}
.plan-note b{font-weight:600}
.plan-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch}
.plan{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:30px 26px;
  display:flex; flex-direction:column; transition:.35s; position:relative;
}
.plan:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--line-2)}
.plan.featured{border-color:var(--sky); box-shadow:var(--shadow); background:linear-gradient(170deg,#fff,#F4F8FE)}
.plan .tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--grad); color:#fff;
  font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 14px; border-radius:100px; white-space:nowrap;
  box-shadow:0 10px 22px -10px rgba(15,61,145,.7);
}
.plan h3{font-size:19px; font-weight:600; margin-bottom:4px}
.plan .who{font-size:13px; color:var(--grey); min-height:38px}
.plan .price{margin:18px 0 4px; font-size:31px; font-weight:600; letter-spacing:-.03em; color:var(--navy)}
.plan .price sup{font-size:15px; font-weight:500; top:-.6em; position:relative}
.plan .perday{font-size:13px; color:var(--grey); margin-bottom:20px}
.plan ul{list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:26px; flex:1}
.plan li{display:flex; gap:10px; font-size:13.8px; color:var(--ink-soft); line-height:1.45}
.plan li svg{width:15px;height:15px;flex:0 0 auto; margin-top:3px; color:var(--sky)}
.plan .btn{width:100%}

/* ==========================================================================
   RESULTADOS
   ========================================================================== */
.out-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:50px}
.out{background:#fff; border-radius:var(--r); padding:32px; box-shadow:var(--shadow-soft);
  border:1px solid var(--line); text-align:center}
.out .oic{width:58px;height:58px;margin:0 auto 18px; border-radius:50%;
  background:linear-gradient(150deg,var(--tint),var(--tint-2)); display:grid; place-items:center}
.out h3{font-size:18px; margin-bottom:9px; font-weight:600}
.out p{font-size:14.5px; color:var(--ink-soft)}
.statband{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; background:var(--grad-deep);
  border-radius:26px; padding:44px 30px; box-shadow:var(--shadow); overflow:hidden; position:relative}
.statband .orb{width:340px;height:340px;background:radial-gradient(circle,#fff,transparent 70%);
  opacity:.09; top:-120px; right:-60px}
.stat{text-align:center; color:#fff; position:relative; z-index:2}
.stat .n{font-size:clamp(32px,3.8vw,44px); font-weight:600; letter-spacing:-.03em}
.stat .l{font-size:13.5px; color:#C7DCF9; margin-top:4px}

/* ==========================================================================
   POR QUE RESPIRO
   ========================================================================== */
.why-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center}
.why-list{display:flex; flex-direction:column; gap:22px}
.why-item{display:flex; gap:16px; align-items:flex-start}
.why-item .check{width:32px;height:32px;flex:0 0 auto; border-radius:10px; background:var(--grad);
  display:grid; place-items:center}
.why-item h3{font-size:17.5px; color:#fff; margin-bottom:3px}
.why-item p{font-size:14.5px; color:var(--on-dark-2)}
.why-visual{
  position:relative; border-radius:26px; background:var(--grad-deep); overflow:hidden;
  box-shadow:var(--shadow); padding:44px 40px; display:flex; flex-direction:column; justify-content:space-between; gap:34px; min-height:400px;
}
.why-visual .orb{width:320px;height:320px;background:radial-gradient(circle,#6BA5F5,transparent 70%);
  opacity:.35; top:-100px; right:-80px}
.why-visual .qt{position:relative; z-index:2; color:#fff; font-weight:300; font-size:clamp(22px,2.6vw,29px); line-height:1.28; letter-spacing:-.02em}
.why-visual .qt b{font-weight:600}
.why-mini{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:14px}
.why-mini div{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:15px; padding:16px 18px}
.why-mini b{display:block; font-size:21px; font-weight:600; color:#fff; letter-spacing:-.02em}
.why-mini small{font-size:12.5px; color:#C7DCF9}

/* ==========================================================================
   DEPOIMENTOS
   ========================================================================== */
.tst-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.tst{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px; box-shadow:var(--shadow-soft)}
.tst .qm{font-size:52px; line-height:0; color:var(--tint-2); font-weight:700; display:block; margin-bottom:20px}
.tst p{font-size:15.5px; color:var(--ink); font-weight:300; margin-bottom:18px}
.tst .who{display:flex; align-items:center; gap:12px}
.tst .who .av{width:40px;height:40px;border-radius:50%;background:var(--grad); display:grid; place-items:center;
  color:#fff; font-weight:600; font-size:15px; flex:0 0 auto}
.tst .who b{display:block; font-size:14px; font-weight:600}
.tst .who small{font-size:12.5px; color:var(--grey)}

/* ==========================================================================
   QUIZ / APLICAÇÃO
   ========================================================================== */
.quiz-band{
  position:relative; overflow:hidden; border-radius:28px; background:var(--grad-deep);
  padding:52px 46px; box-shadow:var(--shadow); display:grid; grid-template-columns:1.05fr .95fr;
  gap:44px; align-items:center;
}
.quiz-band .orb.a{width:420px;height:420px;background:radial-gradient(circle,#2F7BEA,transparent 70%);
  top:-150px; left:-90px; opacity:.4; animation:drift 18s ease-in-out infinite}
.quiz-band > *{position:relative; z-index:2}
.quiz-band h2{font-size:clamp(26px,3.1vw,36px); color:#fff; margin-bottom:14px}
.quiz-band p{color:#C7DCF9; font-size:16px; max-width:46ch}
.seg-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:11px}
.seg{
  display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:13px 15px;
  font-size:14px; font-weight:500; color:#fff; transition:.3s;
}
.seg:hover{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.34); transform:translateY(-3px)}
.seg svg{width:17px;height:17px;flex:0 0 auto; color:var(--sky-pale)}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-list{max-width:840px; margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:23px 4px;
  display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:inherit;
  font-size:17.5px; font-weight:500; color:var(--ink)}
.qa .plus{width:26px;height:26px;flex:0 0 auto; position:relative; transition:transform .3s}
.qa .plus::before,.qa .plus::after{content:""; position:absolute; background:var(--navy); border-radius:2px}
.qa .plus::before{width:14px;height:2px; top:12px; left:6px}
.qa .plus::after{width:2px;height:14px; top:6px; left:12px; transition:opacity .3s}
.qa.open .plus{transform:rotate(180deg)}
.qa.open .plus::after{opacity:0}
.qa .ans{max-height:0; overflow:hidden; transition:max-height .4s ease; color:var(--ink-soft); font-size:15.5px}
.qa .ans p{padding:0 4px 23px}
.qa .ans p + p{padding-top:0}

/* ==========================================================================
   CTA FINAL + FORMULÁRIO
   ========================================================================== */
.final{position:relative; overflow:hidden; background:var(--grad-deep); color:#fff; padding:100px 0}
.final .orb.a{width:480px;height:480px;background:radial-gradient(circle,#2F7BEA,transparent 70%);
  top:-170px; left:-100px; opacity:.4; animation:drift 18s ease-in-out infinite}
.final .orb.b{width:420px;height:420px;background:radial-gradient(circle,#6BA5F5,transparent 70%);
  bottom:-170px; right:-90px; opacity:.24; animation:drift 22s ease-in-out infinite reverse}
.final-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; position:relative; z-index:2}
.final-copy h2{font-size:clamp(30px,4.2vw,50px); font-weight:300; color:#fff; letter-spacing:-.03em}
.final-copy h2 b{font-weight:600}
.final-copy > p{font-size:18px; color:#C7DCF9; margin:20px 0 0; max-width:46ch}
.final-list{margin-top:28px; display:flex; flex-direction:column; gap:12px}
.final-list span{display:flex; align-items:center; gap:11px; font-size:15px; color:#DCE8FB}
.final-list svg{width:17px;height:17px;flex:0 0 auto; color:var(--sky-pale)}

.form-card{background:#fff; border-radius:26px; padding:36px 32px; box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}
.form-card h3{font-size:23px; color:var(--ink); margin-bottom:6px}
.form-card .fc-sub{font-size:14.5px; color:var(--ink-soft); margin-bottom:22px}
.field{margin-bottom:14px}
.field label{display:block; font-size:13px; font-weight:600; color:var(--ink); margin-bottom:7px}
.field input,.field select{width:100%; font-family:inherit; font-size:15.5px; color:var(--ink);
  padding:13px 15px; border:1.5px solid var(--line); border-radius:13px; background:#fff;
  transition:border-color .2s, box-shadow .2s; outline:none}
.field input::placeholder{color:#A4B1C4}
.field input:focus,.field select:focus{border-color:var(--navy); box-shadow:0 0 0 4px rgba(15,61,145,.12)}
.field input.err,.field select.err{border-color:#E4573E; box-shadow:0 0 0 4px rgba(228,87,62,.1)}
#f-company{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.btn-form{width:100%; background:var(--grad); color:#fff; margin-top:8px;
  box-shadow:0 14px 30px -12px rgba(15,61,145,.55)}
.btn-form:hover{transform:translateY(-2px); box-shadow:0 20px 38px -14px rgba(47,123,234,.6)}
.btn-form:disabled{opacity:.7; cursor:default; transform:none}
.form-card .fc-note{font-size:13px; color:#C2603F; margin-top:12px; text-align:center}
.form-card .fc-legal{font-size:12px; color:var(--grey); margin-top:14px; text-align:center}
.form-done{text-align:center; padding:14px 4px}
.form-done .done-ic{width:62px;height:62px;border-radius:50%;background:var(--grad);display:grid;
  place-items:center;margin:0 auto 18px;box-shadow:0 14px 30px -12px rgba(47,123,234,.6)}
.form-done h3{font-size:23px; color:var(--ink); margin-bottom:6px}
.form-done .btn-form{margin-top:22px}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
footer{background:var(--dark); color:var(--on-dark); padding:70px 0 32px}
.foot-top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:42px;
  border-bottom:1px solid rgba(255,255,255,.09)}
.foot-brand p{margin-top:18px; font-size:14.5px; color:#9BAAC2; max-width:34ch}
.foot-social{display:flex; gap:10px; margin-top:20px}
.foot-social a{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12); display:grid; place-items:center; transition:.3s}
.foot-social a:hover{background:rgba(255,255,255,.15); transform:translateY(-3px)}
.foot-social svg{width:18px;height:18px;color:#fff}
.foot-col h4{color:#fff; font-size:13.5px; letter-spacing:.04em; margin-bottom:16px; font-weight:600}
.foot-col a,.foot-col span{display:block; font-size:14px; color:#9BAAC2; margin-bottom:11px; transition:color .2s}
.foot-col a:hover{color:var(--sky-pale)}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; flex-wrap:wrap; gap:12px}
.foot-bottom small{font-size:12.5px; color:var(--on-dark-3)}
.foot-plats{display:flex; align-items:center; gap:14px; font-size:12.5px; color:var(--on-dark-3); flex-wrap:wrap}
.foot-plats > span{display:inline-flex; align-items:center; gap:7px}
.foot-plats .gmark{height:16px}
.foot-plats .mmark{height:15px}

/* ==========================================================================
   BOTÃO FLUTUANTE DE WHATSAPP
   ========================================================================== */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:90; width:56px; height:56px; border-radius:50%;
  background:#25D366; display:grid; place-items:center; box-shadow:0 14px 34px -10px rgba(0,0,0,.4);
  transition:transform .3s;
}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:29px;height:29px;color:#fff}
.wa-float::before{content:""; position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:pulse-ring 2.6s cubic-bezier(.24,.6,.35,1) infinite; z-index:-1}

/* ==========================================================================
   REVELAÇÃO AO ROLAR
   ========================================================================== */
.reveal{opacity:0; transform:translateY(30px); filter:blur(3px);
  transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1), filter .8s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1; transform:none; filter:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}
.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}

/* ==========================================================================
   PÁGINAS INTERNAS | cabeçalho
   ========================================================================== */
.page-hero{position:relative; overflow:hidden; padding:72px 0 64px; background:linear-gradient(180deg,var(--cream),var(--mist))}
.page-hero .orb.a{width:460px;height:460px;background:radial-gradient(circle,#2F7BEA,transparent 70%);
  top:-180px; right:-120px; opacity:.28}
.page-hero .wrap{position:relative; z-index:2}
.page-hero h1{font-size:clamp(33px,4.4vw,54px); font-weight:300; letter-spacing:-.035em; max-width:18ch}
.page-hero h1 b{font-weight:600}
.page-hero .lead{margin-top:20px; font-size:18.5px}
.crumbs{font-size:13px; color:var(--grey); margin-bottom:18px}
.crumbs a:hover{color:var(--navy)}

/* ==========================================================================
   METODOLOGIA | abas do funil
   ========================================================================== */
.tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px}
.tab{
  font-family:inherit; font-size:14px; font-weight:600; letter-spacing:.03em; cursor:pointer;
  padding:13px 22px; border-radius:100px; border:1.5px solid var(--line); background:#fff;
  color:var(--ink-soft); transition:.3s;
}
.tab:hover{border-color:var(--sky); color:var(--navy)}
.tab.active{background:var(--grad); border-color:transparent; color:#fff; box-shadow:0 12px 26px -12px rgba(15,61,145,.6)}
.tab small{display:block; font-size:11px; font-weight:500; opacity:.8; letter-spacing:0}
.panel{display:none}
.panel.active{display:block; animation:fade-up .45s cubic-bezier(.2,.7,.3,1)}
@keyframes fade-up{from{opacity:0; transform:translateY(12px)}to{opacity:1; transform:none}}
.panel-head{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px; margin-bottom:22px}
.panel-head h3{font-size:22px; margin-bottom:8px}
.panel-head p{font-size:15px; color:var(--ink-soft); max-width:70ch}
.kpi-row{display:flex; gap:9px; flex-wrap:wrap; margin-top:20px}
.kpi{font-size:12.5px; font-weight:600; color:var(--navy); background:var(--tint);
  border:1px solid var(--tint-2); border-radius:100px; padding:6px 14px}
.sub-h{font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--grey); margin:26px 0 14px}
.card-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.mini-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; transition:.3s}
.mini-card:hover{box-shadow:var(--shadow-soft); border-color:var(--line-2); transform:translateY(-4px)}
.mini-card h4{font-size:16px; font-weight:600; margin-bottom:7px; display:flex; align-items:center; gap:9px}
.mini-card h4 svg{width:18px;height:18px;color:var(--sky);flex:0 0 auto}
.mini-card p{font-size:13.8px; color:var(--ink-soft)}

/* --- grade de canais (chips) --- */
.chip-grid{display:flex; flex-wrap:wrap; gap:10px}
.chip-ch{
  display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line);
  border-radius:100px; padding:10px 18px; font-size:14px; font-weight:500; color:var(--ink-soft); transition:.3s;
}
.chip-ch:hover{border-color:var(--sky); color:var(--navy); transform:translateY(-3px); box-shadow:var(--shadow-soft)}
.chip-ch .dot{width:7px;height:7px;border-radius:50%;background:var(--sky); flex:0 0 auto}
.chip-ch.core{background:var(--grad); border-color:transparent; color:#fff; font-weight:600}
.chip-ch.core .dot{background:#fff}

/* --- ICE --- */
.ice-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.ice{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px; text-align:center}
.ice .letter{font-size:44px; font-weight:600; letter-spacing:-.04em; background:var(--grad);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; line-height:1}
.ice h3{font-size:18px; margin:10px 0 8px; font-weight:600}
.ice p{font-size:14px; color:var(--ink-soft)}

/* --- passos numerados --- */
.steps-num{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.stepn{background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; position:relative; transition:.3s}
.stepn:hover{box-shadow:var(--shadow-soft); transform:translateY(-4px); border-color:var(--line-2)}
.stepn .n{width:36px;height:36px;border-radius:11px;background:var(--grad); color:#fff;
  display:grid; place-items:center; font-size:15px; font-weight:600; margin-bottom:16px}
.stepn h3{font-size:17px; margin-bottom:7px; font-weight:600}
.stepn p{font-size:14px; color:var(--ink-soft)}

/* --- fórmulas CAC/LTV --- */
.formula-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.formula{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:32px}
.formula h3{font-size:20px; margin-bottom:6px; font-weight:600}
.formula > p{font-size:14.5px; color:var(--ink-soft); margin-bottom:22px}
.fx{display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:var(--mist);
  border:1px solid var(--line); border-radius:15px; padding:18px 20px; margin-bottom:14px}
.fx .term{font-size:14px; font-weight:600; color:var(--ink); text-align:center; line-height:1.25}
.fx .op{font-size:19px; color:var(--sky); font-weight:600}
.fx .res{font-size:15px; font-weight:600; color:var(--navy)}
.fx.example{background:var(--tint); border-color:var(--tint-2)}
.fx.example .term{font-weight:500; color:var(--navy-deep)}
.fx-label{font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--grey); margin-bottom:8px}

/* --- jornada --- */
.journey{display:grid; grid-template-columns:repeat(5,1fr); gap:14px}
.jstep{background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 18px; text-align:center; position:relative; transition:.3s}
.jstep:hover{border-color:var(--sky); transform:translateY(-4px); box-shadow:var(--shadow-soft)}
.jstep .jn{width:32px;height:32px;margin:0 auto 12px;border-radius:50%;background:var(--grad);
  color:#fff; display:grid; place-items:center; font-size:13.5px; font-weight:600}
.jstep h3{font-size:15.5px; margin-bottom:6px; font-weight:600}
.jstep p{font-size:12.8px; color:var(--ink-soft)}

/* ==========================================================================
   FERRAMENTAS | calculadoras
   ========================================================================== */
.calc{background:#fff; border:1px solid var(--line); border-radius:26px; padding:34px 32px; box-shadow:var(--shadow-soft)}
.calc h3{font-size:21px; margin-bottom:6px; font-weight:600}
.calc > p{font-size:14.5px; color:var(--ink-soft); margin-bottom:24px; max-width:62ch}
.calc-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:start}
.calc-inputs{display:flex; flex-direction:column; gap:14px}
.calc-inputs .field{margin:0}
.calc-out{background:var(--mist); border:1px solid var(--line); border-radius:20px; padding:26px}
.calc-out .co-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  padding:13px 0; border-bottom:1px dashed var(--line-2)}
.calc-out .co-row:last-of-type{border-bottom:0}
.calc-out .co-row span{font-size:14px; color:var(--ink-soft)}
.calc-out .co-row b{font-size:20px; font-weight:600; color:var(--navy); letter-spacing:-.02em; white-space:nowrap}
.calc-out .co-row.hero-row b{font-size:27px}
.verdict{margin-top:18px; border-radius:14px; padding:14px 16px; font-size:13.8px; font-weight:500; line-height:1.45}
.verdict.good{background:#E7F6EE; border:1px solid #BFE6D2; color:#166D42}
.verdict.warn{background:#FFF4E2; border:1px solid #F5DDB4; color:#8A5A10}
.verdict.bad{background:#FDECEA; border:1px solid #F7CFCA; color:#95331F}
.calc-legal{font-size:12.5px; color:var(--grey); margin-top:16px}

/* ==========================================================================
   SOBRE
   ========================================================================== */
.story{display:grid; grid-template-columns:1.1fr .9fr; gap:52px; align-items:center}
.story p{font-size:16.5px; color:var(--ink-soft); margin-bottom:16px}
.story p b{color:var(--ink); font-weight:600}
.values{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.value{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px; transition:.3s}
.value:hover{transform:translateY(-5px); box-shadow:var(--shadow-soft); border-color:var(--line-2)}
.value .vic{width:50px;height:50px;border-radius:15px;background:linear-gradient(150deg,var(--tint),var(--tint-2));
  display:grid; place-items:center; margin-bottom:18px}
.value h3{font-size:18px; margin-bottom:8px; font-weight:600}
.value p{font-size:14.5px; color:var(--ink-soft)}
/* ---------- carta assinada (sobre) ---------- */
.letter{
  max-width:820px; margin:0 auto; background:var(--paper); border:1px solid var(--line);
  border-radius:26px; padding:46px 48px; box-shadow:var(--shadow-soft); position:relative;
}
.letter::before{
  content:"“"; position:absolute; top:14px; left:30px; font-size:88px; line-height:1;
  color:var(--tint-2); font-weight:700; pointer-events:none;
}
.letter > *{position:relative; z-index:1}
.letter p{font-size:16.5px; color:var(--ink-soft); margin-bottom:17px}
.letter p:last-of-type{margin-bottom:0}
.letter p b{color:var(--ink); font-weight:600}
.letter .lead-in{font-size:20px; font-weight:500; color:var(--ink); letter-spacing:-.01em}
.letter .sign{
  display:flex; align-items:center; gap:16px; margin-top:32px; padding-top:26px;
  border-top:1px solid var(--line);
}
.letter .sign .av{
  width:52px; height:52px; border-radius:50%; background:var(--grad-deep); display:grid;
  place-items:center; color:#fff; font-size:21px; font-weight:600; flex:0 0 auto;
}
.letter .sign b{display:block; font-size:16px; font-weight:600; color:var(--ink)}
.letter .sign small{font-size:13px; color:var(--grey)}

.person{
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:start; background:#fff;
  border:1px solid var(--line); border-radius:26px; padding:36px; box-shadow:var(--shadow-soft);
}
.person .avatar{width:130px;height:130px;border-radius:26px; background:var(--grad-deep); display:grid;
  place-items:center; color:#fff; font-size:42px; font-weight:600; letter-spacing:-.03em; flex:0 0 auto}
.person h3{font-size:23px; margin-bottom:3px}
.person .role{font-size:13.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); margin-bottom:16px}
.person p{font-size:15.5px; color:var(--ink-soft); margin-bottom:12px}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media(max-width:1080px){
  .nav-links{gap:20px}
  .nav-links a{font-size:14px}
  .svc-grid,.plan-grid,.pillars{grid-template-columns:repeat(2,1fr)}
  .journey{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  :root{--r:18px}
  .wrap{padding:0 24px}
  .block{padding:76px 0}
  .block-tight{padding:56px 0}
  .sec-head{margin-bottom:44px}
  header{padding:12px 0}
  .nav-links{
    display:none; position:absolute; top:calc(100% + 8px); left:16px; right:16px; flex-direction:column;
    align-items:stretch; background:#fff; padding:20px; border-radius:18px; box-shadow:var(--shadow);
    gap:4px; z-index:120; border:1px solid var(--line);
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 6px; font-size:15.5px; border-bottom:1px solid var(--line)}
  .nav-links a:last-child{border-bottom:0}
  .nav-links a::after{display:none}
  .burger{display:flex}
  .nav-cta .btn{padding:11px 17px; font-size:12.5px}
  .hero{padding:56px 0 56px}
  .hero .wrap{grid-template-columns:1fr; gap:44px}
  .hero-copy{text-align:center}
  .hero .lead{margin-left:auto; margin-right:auto}
  .hero-cta,.hero-trust{justify-content:center}
  .hero-panel{max-width:460px; margin:0 auto}
  .cycle{grid-template-columns:1fr 1fr; gap:40px 24px}
  .cyc{padding:0 6px}
  .cyc:not(:last-child)::after{display:none}
  .retention{grid-template-columns:1fr; gap:18px; text-align:center; padding:28px 24px}
  .retention .btn{justify-self:center}
  .chan-grid,.out-grid,.pain-grid,.card-3,.ice-grid,.steps-num,.values,.tst-grid{grid-template-columns:repeat(2,1fr)}
  .svc-full-grid,.excl-grid{grid-template-columns:1fr}
  .why-grid,.final-grid,.story,.calc-grid,.formula-grid{grid-template-columns:1fr; gap:36px}
  .why-visual{min-height:auto}
  .quiz-band{grid-template-columns:1fr; padding:40px 30px; gap:32px}
  .person{grid-template-columns:1fr; gap:24px; text-align:center}
  .person .avatar{margin:0 auto}
  .letter{padding:34px 28px}
  .letter::before{font-size:66px; left:18px; top:10px}
  .letter .lead-in{font-size:18px}
  .foot-top{grid-template-columns:1fr 1fr; gap:34px}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .block{padding:58px 0}
  .block-tight{padding:46px 0}
  .sec-head{margin-bottom:34px}
  .topbar{font-size:10px; letter-spacing:.1em}
  .hero{padding:40px 0 46px}
  .hero-facts{grid-template-columns:1fr; margin-top:36px}
  .hero-cta{flex-direction:column; align-items:stretch}
  .hero-cta .btn{width:100%}
  .hero-trust{flex-direction:column; gap:12px; margin-top:26px}
  .cycle,.pain-grid,.svc-grid,.chan-grid,.out-grid,.statband,.pillars,.plan-grid,
  .card-3,.ice-grid,.steps-num,.values,.tst-grid,.seg-grid,.journey,.foot-top{grid-template-columns:1fr}
  .cycle{gap:30px}
  .why-mini{grid-template-columns:1fr}
  .statband{padding:34px 24px; gap:28px}
  .transition-line{font-size:18.5px; margin-top:32px}
  .final{padding:70px 0}
  .form-card{padding:28px 22px}
  .calc{padding:26px 22px}
  .quiz-band{padding:32px 22px}
  .qa button{font-size:16px; padding:19px 2px}
  .svc-full{padding:26px 22px}
  .timeline::before{left:19px}
  .tl-item{gap:16px}
  .tl-item .tl-dot{width:40px;height:40px;font-size:11px}
  .foot-bottom{flex-direction:column; align-items:flex-start}
  .plan-note{padding:14px 18px; font-size:13.5px}
  .panel-head{padding:24px 20px}
  .formula{padding:24px 22px}
  .fx{padding:16px}
  .page-hero{padding:50px 0 46px}
  .wa-float{right:14px; bottom:14px; width:52px; height:52px}
}
@media(max-width:400px){
  .logo .mark{width:36px; height:36px}
  .logo{column-gap:9px}
  .logo b{font-size:21px}
  .logo small{font-size:8.5px; letter-spacing:.36em}
  .nav-cta .btn{padding:10px 14px; font-size:11.5px}
  .hero h1{font-size:33px}
  .hero .lead{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
  .reveal{opacity:1; transform:none; filter:none}
  html{scroll-behavior:auto}
}
