/* ==========================================================================
   WF Contabilidade — Design System
   Navy institucional + monograma dourado. Mobile-first.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --ink:#06121F;
  --navy-900:#08182E;
  --navy-800:#0B2140;
  --navy-700:#0B2D5C;
  --navy-600:#123A63;
  --navy-500:#1B4C80;

  --gold:#D8A94E;          /* ouro médio do monograma */
  --gold-100:#F7E4AE;      /* brilho */
  --gold-600:#A8752A;      /* bronze */
  --gold-900:#5A3208;      /* sombra do metal */
  --gold-ink:#8A6120;      /* ouro legível sobre fundo claro */
  --gold-soft:rgba(216,169,78,.15);
  --gold-metal:linear-gradient(135deg,#F7E4AE 0%,#E0BB68 28%,#B9862F 62%,#EFD293 100%);

  --teal:#3FC1A0;
  --teal-soft:rgba(63,193,160,.12);
  --coral:#F2545B;

  --paper:#F4F6FA;
  --paper-2:#EAEFF6;
  --white:#FFFFFF;

  --text:#0E1B2C;
  --text-2:#43566E;
  --text-3:#6B7C92;
  --line:#E2E8F1;
  --line-dark:rgba(255,255,255,.12);

  --radius-s:10px;
  --radius:16px;
  --radius-l:24px;
  --radius-xl:32px;

  --shadow-s:0 1px 2px rgba(8,24,46,.06), 0 2px 8px rgba(8,24,46,.05);
  --shadow:0 4px 12px rgba(8,24,46,.06), 0 18px 40px -18px rgba(8,24,46,.22);
  --shadow-l:0 30px 70px -30px rgba(8,24,46,.38);

  --max:1180px;
  --gutter:20px;

  --ff-display:"Sora","Segoe UI",system-ui,-apple-system,sans-serif;
  --ff-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;

  --ease:cubic-bezier(.22,.8,.3,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.65;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;line-height:1.14;letter-spacing:-.025em;margin:0;color:var(--ink);overflow-wrap:break-word;hyphens:auto}
p{margin:0}
strong{font-weight:650;color:var(--text)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding:78px 0}
.section--tight{padding:56px 0}
.section--dark{background:var(--navy-900);color:#DCE6F2}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section--paper{background:var(--paper)}
.stack-8>*+*{margin-top:8px}
.stack-12>*+*{margin-top:12px}
.stack-16>*+*{margin-top:16px}
.stack-24>*+*{margin-top:24px}

/* ---------- Typography ---------- */
.h-xl{font-size:clamp(2.05rem,5.6vw,3.5rem)}
.h-lg{font-size:clamp(1.8rem,4.6vw,2.85rem)}
.h-md{font-size:clamp(1.4rem,3.2vw,2.05rem)}
.h-sm{font-size:clamp(1.15rem,2.2vw,1.35rem)}
.lead{font-size:clamp(1.02rem,1.9vw,1.2rem);color:var(--text-2);line-height:1.62}
.section--dark .lead{color:#AEC1D8}
.muted{color:var(--text-3)}
.section--dark .muted{color:#8FA5C0}
.eyebrow{
  display:inline-flex;align-items:flex-start;gap:9px;
  font-family:var(--ff-display);font-size:.735rem;font-weight:600;line-height:1.5;
  letter-spacing:.17em;text-transform:uppercase;color:var(--gold-ink);
}
.eyebrow::before{content:"";width:22px;height:2px;flex:none;margin-top:.55em;background:var(--gold-metal);border-radius:2px}
.section--dark .eyebrow{color:var(--gold)}
.gold{color:var(--gold)}
.section-head{max-width:760px;margin-bottom:44px}
.section-head .lead{margin-top:16px}
.section-head h2{margin-top:14px}
.center{text-align:center}
.center .section-head{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ff-display);font-weight:600;font-size:.94rem;letter-spacing:.005em;
  padding:16px 26px;border-radius:999px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  text-align:center;line-height:1.2;
}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{
  background:var(--gold-metal);
  color:#2E1A05;
  box-shadow:0 10px 26px -12px rgba(184,134,47,.85);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(216,169,78,.85)}
.btn--ghost{border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn--outline{border:1.5px solid var(--line);color:var(--navy-700);background:#fff}
.btn--outline:hover{border-color:var(--navy-700);transform:translateY(-2px);box-shadow:var(--shadow-s)}
.btn--wa{background:#25D366;color:#042B14;box-shadow:0 10px 26px -12px rgba(37,211,102,.8)}
.btn--wa:hover{transform:translateY(-2px)}
.btn--block{width:100%}
.btn--sm{padding:12px 20px;font-size:.87rem}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-note{font-size:.84rem;color:var(--text-3);margin-top:14px}
.section--dark .btn-note{color:#8FA5C0}

/* ---------- Header ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:90;
  background:rgba(6,18,31,.0);
  transition:background .3s var(--ease), box-shadow .3s var(--ease), backdrop-filter .3s var(--ease);
}
.header.is-stuck{background:rgba(8,24,46,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.header--solid{background:rgba(8,24,46,.92);backdrop-filter:blur(14px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:flex;align-items:center;gap:13px}
.brand__mark{
  height:40px;width:auto;flex:none;display:block;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));
}
.brand__lockup{height:116px;width:auto;display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-family:var(--ff-display);font-weight:600;font-size:.99rem;color:#fff;letter-spacing:.005em}
.brand__sub{font-size:.635rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:3px}
.nav{display:none;align-items:center;gap:6px}
.nav a{
  padding:9px 12px;border-radius:999px;font-size:.875rem;font-weight:500;white-space:nowrap;
  color:rgba(255,255,255,.78);transition:color .2s, background .2s;
}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.09)}
.header__cta{display:none}
.burger{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.1);color:#fff;
}
.burger svg{width:22px;height:22px}
.drawer{
  position:fixed;inset:0;z-index:100;
  background:var(--navy-900);
  padding:20px var(--gutter) 34px;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s var(--ease);
  overflow-y:auto;
}
.drawer.is-open{transform:none}
.drawer__top{display:flex;align-items:center;justify-content:space-between;height:56px;margin-bottom:22px}
.drawer nav{display:flex;flex-direction:column;gap:2px}
.drawer nav a{
  padding:15px 4px;font-family:var(--ff-display);font-size:1.12rem;font-weight:550;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.drawer nav a small{display:block;font-family:var(--ff-body);font-size:.8rem;font-weight:400;color:#8FA5C0;margin-top:3px;letter-spacing:0}
.drawer__foot{margin-top:28px;display:grid;gap:12px}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 480px at 88% 6%, rgba(216,169,78,.16), transparent 62%),
    radial-gradient(760px 520px at 8% 92%, rgba(63,193,160,.13), transparent 60%),
    linear-gradient(160deg,var(--navy-900) 0%,var(--navy-700) 58%,var(--navy-600) 100%);
  color:#fff;padding:128px 0 72px;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 20%,transparent 78%);
}
.hero__inner{position:relative;z-index:2;display:grid;gap:44px;align-items:center}
.hero h1{color:#fff;margin-top:20px}
.hero h1 em{font-style:normal;color:var(--gold);position:relative}
.hero__sub{margin-top:22px;font-size:clamp(1.02rem,2vw,1.18rem);color:#B9CBE1;max-width:56ch;line-height:1.62}
.hero .btn-row{margin-top:32px}
.hero__trust{
  margin-top:36px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);
  display:grid;gap:12px;
}
.trust-item{display:flex;align-items:flex-start;gap:11px;font-size:.92rem;color:#C6D6E8}
.trust-item svg{width:19px;height:19px;flex:none;color:var(--gold);margin-top:2px}

/* Hero card / painel de indicadores */
.panel{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius-l);
  padding:26px;
  backdrop-filter:blur(8px);
  box-shadow:var(--shadow-l);
}
.panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.panel__title{font-family:var(--ff-display);font-size:.95rem;font-weight:600;color:#fff}
.panel__tag{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);padding:5px 10px;border-radius:999px}
.metric{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px dashed rgba(255,255,255,.13)}
.metric:last-child{border-bottom:0}
.metric__label{font-size:.88rem;color:#A9BDD6}
.metric__value{font-family:var(--ff-display);font-weight:650;font-size:1.22rem;color:#fff;letter-spacing:-.02em}
.metric__value.is-up{color:var(--teal)}
.metric__value.is-down{color:var(--coral)}
.bars{display:flex;align-items:flex-end;gap:7px;height:96px;margin-top:20px}
.bars span{
  flex:1;border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,rgba(216,169,78,.9),rgba(216,169,78,.22));
  transform-origin:bottom;animation:grow .9s var(--ease) both;
}
.bars span:nth-child(6){background:linear-gradient(180deg,var(--teal),rgba(63,193,160,.25))}
@keyframes grow{from{transform:scaleY(.05);opacity:0}to{transform:scaleY(1);opacity:1}}

/* ---------- Faixa de credibilidade ---------- */
.strip{background:var(--navy-800);color:#fff;padding:22px 0}
.strip__grid{display:grid;gap:18px;text-align:center}
.strip__item{display:flex;flex-direction:column;gap:3px}
.strip__n{font-family:var(--ff-display);font-weight:650;font-size:1.55rem;color:var(--gold);letter-spacing:-.03em}
.strip__l{font-size:.82rem;color:#9FB4CE;line-height:1.4}

/* ---------- Cards ---------- */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  padding:28px;transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  position:relative;overflow:hidden;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#CDD8E7}
.card__icon{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(140deg,rgba(11,45,92,.08),rgba(11,45,92,.03));
  color:var(--navy-700);margin-bottom:18px;
}
.card__icon svg{width:24px;height:24px}
.card--gold .card__icon{background:var(--gold-soft);color:var(--gold-ink)}
.card--teal .card__icon{background:var(--teal-soft);color:#249C7E}
.card h3{font-size:1.14rem;margin-bottom:9px}
.card p{font-size:.95rem;color:var(--text-2);line-height:1.6}
.card__list{margin-top:16px;display:grid;gap:8px}
.card__list li{font-size:.885rem;color:var(--text-2);padding-left:22px;position:relative;line-height:1.5}
.card__list li::before{
  content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;
  background:var(--gold);
}
.card__link{
  margin-top:20px;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--ff-display);font-size:.88rem;font-weight:600;color:var(--navy-700);
}
.card__link svg{width:15px;height:15px;transition:transform .25s var(--ease)}
.card:hover .card__link svg{transform:translateX(4px)}
.card--dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.card--dark p{color:#A9BDD6}
.card--dark .card__icon{background:rgba(216,169,78,.14);color:var(--gold)}
.card--dark .card__list li{color:#A9BDD6}
.card--dark:hover{border-color:rgba(216,169,78,.4)}

/* ---------- Seção de dor ---------- */
.pain{background:var(--paper);position:relative}
.pain__q{
  border-left:3px solid var(--gold);padding:18px 0 18px 22px;
  font-family:var(--ff-display);font-size:1.03rem;font-weight:550;color:var(--ink);line-height:1.45;
  background:linear-gradient(90deg,rgba(216,169,78,.07),transparent 70%);
  border-radius:0 var(--radius) var(--radius) 0;
}
.pain__list{display:grid;gap:14px;margin-top:8px}

/* ---------- Pilares ---------- */
.pillar{position:relative;padding-top:26px}
.pillar__num{
  font-family:var(--ff-display);font-size:.78rem;font-weight:600;letter-spacing:.16em;
  color:var(--gold-ink);position:absolute;top:0;left:0;
}
.pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),rgba(216,169,78,0));border-radius:2px;opacity:0}

/* ---------- Passos ---------- */
.steps{counter-reset:s;display:grid;gap:4px}
.step{
  display:grid;grid-template-columns:auto 1fr;gap:18px;
  padding:22px 0;border-bottom:1px solid var(--line);
}
.step:last-child{border-bottom:0}
.step__n{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  font-family:var(--ff-display);font-weight:650;font-size:.95rem;
  background:var(--navy-700);color:var(--gold);
}
.section--dark .step{border-color:rgba(255,255,255,.1)}
.section--dark .step__n{background:var(--gold);color:#26190A}
.step h3{font-size:1.06rem;margin-bottom:6px}
.step p{font-size:.94rem;color:var(--text-2)}
.section--dark .step p{color:#A9BDD6}

/* ---------- Timeline horizontal (troca de contador) ---------- */
.flow{display:grid;gap:16px;counter-reset:f}
.flow__item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;position:relative;
}
.flow__item::before{
  counter-increment:f;content:counter(f);
  font-family:var(--ff-display);font-weight:650;font-size:.8rem;
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:var(--gold-soft);color:var(--gold-ink);margin-bottom:12px;
}
.flow__item h3{font-size:1rem;margin-bottom:6px}
.flow__item p{font-size:.9rem;color:var(--text-2)}

/* ---------- Destaque / callout ---------- */
.callout{
  border-radius:var(--radius-l);padding:32px;
  background:linear-gradient(145deg,var(--navy-700),var(--navy-900));
  color:#fff;position:relative;overflow:hidden;
}
.callout::after{
  content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,169,78,.28),transparent 68%);
}
.callout h3{color:#fff;font-size:1.3rem;margin-bottom:10px}
.callout p{color:#B9CBE1;font-size:.97rem}
.callout .btn{margin-top:22px}

/* ---------- Tabela comparativa ---------- */
.compare{border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;background:#fff}
.compare__row{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}
.compare__row:last-child{border-bottom:0}
.compare__cell{padding:16px 20px}
.compare__cell--a{background:var(--paper);color:var(--text-2);font-size:.92rem}
.compare__cell--b{font-size:.95rem}
.compare__cell--b strong{color:var(--navy-700)}
.compare__head{background:var(--navy-900);color:#fff}
.compare__head .compare__cell{font-family:var(--ff-display);font-weight:600;font-size:.88rem;letter-spacing:.02em;background:transparent;color:#fff}

/* ---------- Depoimentos ---------- */
.quote{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:28px;
  display:flex;flex-direction:column;gap:18px;
}
.quote p{font-size:.98rem;color:var(--text-2);line-height:1.62}
.quote__mark{color:var(--gold-ink);font-family:var(--ff-display);font-size:2.4rem;line-height:.6;height:18px}
.quote__who{display:flex;align-items:center;gap:12px;margin-top:auto}
.quote__av{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:var(--navy-700);color:var(--gold);font-family:var(--ff-display);font-weight:650;font-size:.9rem;
}
.quote__name{font-family:var(--ff-display);font-weight:600;font-size:.92rem}
.quote__role{font-size:.82rem;color:var(--text-3)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.section--dark .faq{border-color:rgba(255,255,255,.12)}
.faq__item{border-bottom:1px solid var(--line)}
.section--dark .faq__item{border-color:rgba(255,255,255,.12)}
.faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding:22px 0;text-align:left;
  font-family:var(--ff-display);font-weight:550;font-size:1.02rem;color:var(--ink);line-height:1.4;
}
.section--dark .faq__q{color:#fff}
.faq__q svg{width:20px;height:20px;flex:none;color:var(--gold-ink);transition:transform .3s var(--ease);margin-top:2px}
.section--dark .faq__q svg{color:var(--gold)}
.faq__item.is-open .faq__q svg{transform:rotate(45deg)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{padding-bottom:22px;font-size:.96rem;color:var(--text-2);line-height:1.65;max-width:72ch}
.section--dark .faq__a p{color:#A9BDD6}

/* ---------- CTA final ---------- */
.cta{
  background:
    radial-gradient(720px 420px at 85% 10%, rgba(216,169,78,.18), transparent 60%),
    linear-gradient(150deg,var(--navy-900),var(--navy-700));
  color:#fff;border-radius:var(--radius-xl);padding:44px 28px;text-align:center;position:relative;overflow:hidden;
}
.cta h2{color:#fff}
.cta p{color:#B9CBE1;margin-top:14px;max-width:58ch;margin-inline:auto}
.cta .btn-row{justify-content:center;margin-top:28px}

/* ---------- Formulário ---------- */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:28px;box-shadow:var(--shadow-s)}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label{font-size:.85rem;font-weight:550;color:var(--text-2)}
.field input,.field select,.field textarea{
  width:100%;padding:14px 15px;border:1.5px solid var(--line);border-radius:var(--radius-s);
  font:inherit;font-size:.95rem;color:var(--text);background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--navy-500);box-shadow:0 0 0 4px rgba(27,76,128,.1);
}
.field textarea{min-height:104px;resize:vertical}
.form__note{font-size:.8rem;color:var(--text-3);margin-top:12px;text-align:center}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:#93A7BF;padding:56px 0 96px;font-size:.92rem}
.footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.footer a:hover{color:var(--gold)}
.footer__grid{display:grid;gap:34px}
.footer__links{display:grid;gap:10px}
.footer__bottom{
  margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);
  display:grid;gap:12px;font-size:.82rem;color:#6E8199;
}
.footer__legal{line-height:1.6}

/* ---------- Botão flutuante WhatsApp ---------- */
.wa-float{
  position:fixed;right:16px;bottom:16px;z-index:80;
  display:inline-flex;align-items:center;gap:10px;
  background:#25D366;color:#042B14;
  padding:14px 18px;border-radius:999px;
  font-family:var(--ff-display);font-weight:600;font-size:.9rem;
  box-shadow:0 14px 34px -12px rgba(37,211,102,.9);
  transition:transform .25s var(--ease);
}
.wa-float:hover{transform:translateY(-3px) scale(1.02)}
.wa-float svg{width:22px;height:22px}
.wa-float span{display:none}

/* ---------- Breadcrumb ---------- */
.crumb{font-size:.82rem;color:#8FA5C0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.crumb a:hover{color:var(--gold)}
.crumb svg{width:13px;height:13px;opacity:.5}

/* ---------- Prose (páginas internas) ---------- */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:44px 0 16px}
.prose h3{font-size:1.16rem;margin:30px 0 10px}
.prose p{margin-bottom:16px;color:var(--text-2);line-height:1.72}
.prose ul{margin:0 0 18px;display:grid;gap:10px}
.prose ul li{padding-left:26px;position:relative;color:var(--text-2);line-height:1.6}
.prose ul li::before{
  content:"";position:absolute;left:2px;top:.58em;width:8px;height:8px;border-radius:2px;
  background:var(--gold);transform:rotate(45deg);
}
.prose a{color:var(--navy-700);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(11,45,92,.3)}
.prose a:hover{text-decoration-color:var(--gold)}
.prose>*:first-child{margin-top:0}

.page-hero{
  background:linear-gradient(155deg,var(--navy-900) 0%,var(--navy-700) 100%);
  color:#fff;padding:120px 0 58px;position:relative;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;right:-90px;top:-40px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,169,78,.2),transparent 65%);
}
.page-hero__inner{position:relative;z-index:2;max-width:760px}
.page-hero h1{color:#fff;margin:16px 0 18px}
.page-hero p{color:#B9CBE1;font-size:clamp(1rem,2vw,1.14rem);line-height:1.62}
.page-hero .btn-row{margin-top:28px}

.sidebar-cta{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;
  position:sticky;top:96px;
}
.sidebar-cta h3{font-size:1.06rem;margin-bottom:10px}
.sidebar-cta p{font-size:.9rem;color:var(--text-2);margin-bottom:18px}
.sidebar-cta .btn{width:100%}
.sidebar-cta__meta{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:.85rem;color:var(--text-2)}
.sidebar-cta__meta div{display:flex;gap:9px;align-items:flex-start}
.sidebar-cta__meta svg{width:16px;height:16px;color:var(--gold-ink);flex:none;margin-top:3px}

/* ---------- Tabela dentro do texto ---------- */
.prose .tabela-wrap{overflow-x:auto;margin:26px 0;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:.93rem}
.prose thead th{
  background:var(--navy-900);color:#fff;text-align:left;font-family:var(--ff-display);
  font-weight:600;font-size:.84rem;letter-spacing:.02em;padding:14px 18px;
}
.prose tbody td{padding:15px 18px;border-top:1px solid var(--line);color:var(--text-2);line-height:1.55;vertical-align:top}
.prose tbody tr:nth-child(even) td{background:var(--paper)}
.prose tbody td:first-child{color:var(--text);font-weight:500}
.prose .nota-fonte{font-size:.84rem;color:var(--text-3);margin-top:-14px;margin-bottom:26px}

/* ---------- Chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  font-size:.82rem;padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#C6D6E8;
}
.chips--light .chip{background:var(--paper);border-color:var(--line);color:var(--text-2)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease), transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Breakpoints ---------- */
@media (min-width:600px){
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .strip__grid{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:repeat(2,1fr)}
  .wa-float span{display:inline}
  .cta{padding:56px 40px}
}
@media (min-width:900px){
  :root{--gutter:28px}
  body{font-size:17.5px}
  .section{padding:104px 0}
  .section--tight{padding:72px 0}
  .grid{gap:22px}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .strip__grid{grid-template-columns:repeat(4,1fr)}
  .flow{grid-template-columns:repeat(5,1fr);gap:14px}
  .hero{padding:164px 0 104px}
  .hero__inner{grid-template-columns:1.08fr .92fr;gap:56px}
  .hero__trust{grid-template-columns:repeat(2,1fr);display:grid;gap:14px 28px}
  .nav{display:flex}
  .header__cta{display:inline-flex}
  .burger{display:none}
  .footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
  .footer__bottom{grid-template-columns:1fr auto;align-items:center}
  .compare__row{grid-template-columns:.9fr 1.1fr}
  .page-hero{padding:152px 0 76px}
  .layout-side{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
  .callout{padding:44px}
  .panel{padding:32px}
  .section-head{margin-bottom:56px}
}
@media (min-width:1100px){
  .grid{gap:24px}
}

/* ==========================================================================
   AJUSTES DE ALINHAMENTO E TIPOGRAFIA — v6
   Colar no FINAL do arquivo assets/css/wf.css (depois de tudo).
   ========================================================================== */

/* 1. Títulos sem hífen/travessão quebrando palavra, linhas equilibradas */
h1,h2,h3,h4{
  hyphens:manual;-webkit-hyphens:manual;
  overflow-wrap:normal;word-break:normal;
  text-wrap:balance;
}
p,li,.lead,.hero__sub,.faq__a p,.card p,.prose p{
  hyphens:manual;-webkit-hyphens:manual;
  text-wrap:pretty;
}

/* 2. Tamanhos de título mais proporcionais (cabem sem espremer) */
.h-xl{font-size:clamp(2rem,4.6vw,3.15rem);line-height:1.1}
.h-lg{font-size:clamp(1.65rem,3.6vw,2.5rem);line-height:1.15}
.h-md{font-size:clamp(1.35rem,2.8vw,1.9rem)}
.section-head{max-width:820px}

/* 3. Etiqueta (eyebrow) em uma linha no celular */
@media (max-width:599px){
  .eyebrow{font-size:.68rem;letter-spacing:.1em;gap:8px}
  .eyebrow::before{width:18px}
}

/* 4. Botões: texto nunca estoura, quebra equilibrada quando precisa */
.btn{text-wrap:balance;max-width:100%}
.header__cta,.wa-float{white-space:nowrap}
.nw{white-space:nowrap}
@media (max-width:599px){
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn{width:100%}
  .btn{padding:15px 16px;font-size:.88rem;gap:8px}
  /* página 404: o botão do topo some no celular (o WhatsApp flutuante continua) */
  .header__inner>.btn--sm:not(.header__cta){display:none}
}
.sidebar-cta .btn,.callout .btn,.form .btn{padding-inline:16px;font-size:.87rem}
@media (min-width:900px){
  .layout-side{grid-template-columns:1fr 360px}
  .sidebar-cta{padding:24px}
}

/* 5. Cabeçalho: logo e menu não se sobrepõem mais */
.brand{flex:none}
.brand__text{white-space:nowrap}
.header__inner{gap:16px}
.header .wrap{max-width:1320px}
.nav{gap:0;margin-left:auto}
.nav a{padding:8px 9px;font-size:.84rem}
@media (min-width:900px){
  .nav{display:none}
  .burger{display:grid}
  .header__cta{display:inline-flex;margin-left:auto}
}
@media (min-width:1240px){
  .nav{display:flex}
  .burger{display:none}
  .header__cta{margin-left:0}
}

/* 6. Hero: título mais largo, menos linhas */
@media (min-width:900px){
  .hero__inner{grid-template-columns:1.2fr .8fr;gap:48px}
}
.hero h1 em{display:block;text-wrap:balance}

/* 7. Grades: colunas só quando há espaço real para o texto */
@media (min-width:900px) and (max-width:1199px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1200px){
  .flow{grid-template-columns:repeat(5,1fr)}
}
.card h3{font-size:clamp(1.05rem,1.4vw,1.14rem);line-height:1.3}
.flow__item h3{font-size:.98rem;line-height:1.3}
.step h3{line-height:1.3}

/* 8. Faixas e métricas alinhadas */
.metric{align-items:center}
.metric__label{line-height:1.35}
.metric__value{white-space:nowrap}
.strip__l{text-wrap:balance}
.faq__q{text-wrap:balance}
.quote__name,.quote__role{text-wrap:balance}

/* 9. Rodapé e textos longos (e-mail, links) sem estourar a coluna */
.footer a,.sidebar-cta__meta div,.footer__legal{overflow-wrap:anywhere}

/* 10. Simulador Fator R: valores não saem da caixa no celular */
@media (max-width:599px){
  div.simbox{padding:22px 18px}
  .simbox .simrow{flex-wrap:wrap;gap:4px 12px}
  .simbox .simrow.hi{margin-inline:-8px;padding-inline:8px}
}
