/* ============================================================
   BASE — Landing  ·  Meridian-style clone, BJJ scenario
   Light & airy · white surfaces · lemon-lime accent · color photography
   Type: Satoshi (single grotesk, medium→bold)
   ============================================================ */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; background:var(--bg); scroll-padding-top:88px; }
body{
  margin:0;
  font-family:'Satoshi','Segoe UI',system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:18px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }

:root{
  --bg:#FFFFFF;
  --bg-soft:#F3F3F1;
  --tint:#ECEDF7;          /* soft periwinkle card */
  --tint-2:#F4F1E4;        /* soft warm card */
  --ink:#16150F;
  --ink-soft:#3a3833;
  --muted:#6E6C65;
  --line:rgba(22,21,15,.12);
  --line-soft:rgba(22,21,15,.07);
  --dark:#100F0C;
  --dark-2:#1c1b16;
  --accent:#F3A63C;        /* warm honey-amber (refined, luminous) */
  --accent-2:#FAC06A;       /* light top for the lit gradient */
  --accent-hover:#EC9A28;
  --accent-deep:#9A6410;    /* deep amber for text on light (AA) */
  --accent-ink:#1E1708;     /* clean warm near-black (no muddy brown) */
  --accent-soft:#FBEAC6;
  --r:26px;
  --r-md:18px;
  --r-sm:13px;
  --shadow-sm:0 1px 2px rgba(22,21,15,.05), 0 8px 24px rgba(22,21,15,.06);
  --shadow:0 18px 50px rgba(22,21,15,.12);
  --shadow-lg:0 40px 90px rgba(22,21,15,.20);
}

/* ---------- layout helpers ---------- */
.wrap{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:28px; }
.wrap--wide{ max-width:1320px; }
.wrap--narrow{ max-width:880px; }
section{ position:relative; }

/* ---------- type ---------- */
.h-display{
  font-family:'Satoshi',sans-serif;
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.03em;
  margin:0;
  font-size:clamp(44px,7vw,86px);
  text-wrap:balance;
}
.h-section{
  font-family:'Satoshi',sans-serif;
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.025em;
  margin:0;
  font-size:clamp(31px,4.3vw,54px);
  text-wrap:balance;
}
.h-sub{
  font-family:'Satoshi',sans-serif;
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.15;
  margin:0;
  font-size:clamp(19px,2.1vw,25px);
}
.kicker{
  font-family:'Satoshi',sans-serif;
  font-weight:600; font-size:12.5px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted);
  display:inline-flex; align-items:center; gap:9px;
}
.kicker::before{ content:""; width:7px;height:7px;border-radius:50%; background:var(--accent-deep); }
.lead{ font-size:clamp(16.5px,1.35vw,19px); color:var(--muted); line-height:1.6; margin:0; }
.lead--center{ max-width:600px; margin-inline:auto; }
.mono{ font-family:'Satoshi',sans-serif; font-weight:500; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-weight:700; font-size:15px; line-height:1;
  border:none; border-radius:999px; cursor:pointer;
  padding:14px 24px; transition:transform .18s ease, background .2s ease, box-shadow .2s ease, color .2s;
  white-space:nowrap;
}
.btn svg{ flex:none; }
.btn--accent{ background:linear-gradient(180deg, var(--accent-2) 0%, var(--accent) 100%); color:var(--accent-ink); border:none; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 1px 2px rgba(60,24,0,.22); transition:all .2s ease-in-out; }
.btn--accent:hover{ transform:translateY(-1px); filter:brightness(1.05); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 4px 14px rgba(200,100,0,.35); }
.btn--accent:active{ transform:translateY(0px); filter:brightness(.96); box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 1px 1px rgba(60,24,0,.22); }
.btn--dark{ background:var(--ink); color:#fff; }
.btn--dark:hover{ background:#000; transform:translateY(-2px); box-shadow:var(--shadow); }
.btn--ghost{ background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--line); }
.btn--ghost:hover{ box-shadow:inset 0 0 0 1.5px var(--ink); transform:translateY(-2px); }
.btn--lg{ padding:16px 36px; font-size:17px; }
.btn--block{ width:100%; }

/* ---------- nav (transparent over hero, solid on scroll) ---------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:60; transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.nav__inner{ display:flex; align-items:center; justify-content:space-between; padding-block:18px; }
.brand__name{ font-family:'Satoshi',sans-serif; font-weight:800; font-size:24px; letter-spacing:-.02em; color:#fff; transition:color .3s; }
.brand{ display:inline-flex; align-items:center; }
.brand__logo{ height:26px; width:auto; display:block; }
.brand__logo--dark{ display:none; }
.brand__logo--footer{ height:34px; }
.nav--solid .brand__logo--light{ display:none; }
.nav--solid .brand__logo--dark{ display:block; }
.nav__links{ display:flex; gap:30px; }
.nav__links a{ font-size:15px; font-weight:500; color:rgba(255,255,255,.82); transition:color .15s; }
.nav__links a:hover{ color:#fff; }
.nav__cta{ display:flex; align-items:center; gap:18px; }
.link-quiet{ font-size:15px; font-weight:600; color:rgba(255,255,255,.82); transition:color .15s; }
.link-quiet:hover{ color:#fff; }
.btn--sm{ padding:11px 19px; font-size:14px; }
/* solid state */
.nav--solid{ background:rgba(255,255,255,.92); backdrop-filter:saturate(160%) blur(16px); box-shadow:0 1px 0 var(--line); }
.nav--solid .brand__name{ color:var(--ink); }
.nav--solid .nav__links a{ color:var(--ink-soft); }
.nav--solid .nav__links a:hover{ color:var(--ink); }
.nav--solid .link-quiet{ color:var(--ink-soft); }
.nav--solid .link-quiet:hover{ color:var(--ink); }

/* ---------- HERO (full-bleed photo, overlaid centered copy) ---------- */
.hero{ position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; }
.hero__photo{ position:absolute; inset:0; width:100%; height:100%; }
.hero__photo image-slot{ width:100%; height:100%; filter:grayscale(1) contrast(1.04); }
.hero__scrim{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(8,7,5,.58) 0%, rgba(8,7,5,.34) 24%, rgba(8,7,5,.50) 56%, rgba(8,7,5,.84) 100%); }
.hero__inner{ position:relative; z-index:2; width:100%; text-align:center; color:#fff; padding-bottom:clamp(56px,8vh,96px); padding-top:130px; }
.hero__rating{ display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.14); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:7px 16px; margin-bottom:26px; }
.hero__rating .stars{ color:var(--accent); letter-spacing:2px; font-size:13px; }
.hero__rating span{ font-size:13px; font-weight:600; }
.hero h1{ color:#fff; margin-bottom:22px; text-shadow:0 2px 26px rgba(0,0,0,.42); }
.hero__lede{ font-size:clamp(16.5px,1.5vw,20px); color:rgba(255,255,255,.96); max-width:540px; margin:0 auto 30px; line-height:1.5; text-shadow:0 1px 14px rgba(0,0,0,.5); }
.hero__actions{ display:flex; flex-wrap:wrap; gap:13px; justify-content:center; margin-bottom:30px; }
.hero .btn--ghost{ color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4); }
.hero .btn--ghost:hover{ box-shadow:inset 0 0 0 1.5px #fff; background:rgba(255,255,255,.08); }
.hero__logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 36px; padding-top:8px; }
.hero__logos .lbl{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); width:100%; }
.hero__logos .acad-logo{ color:#fff; opacity:.78; font-weight:700; font-size:17px; letter-spacing:-.01em; }
.hero__trust{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 22px; margin:0; padding:0; justify-content:center; }
.hero__trust li{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:rgba(255,255,255,.82); }
.tick{ width:18px;height:18px;border-radius:50%;background:var(--accent);position:relative;flex:none; }
.tick::after{ content:"";position:absolute;left:6px;top:4px;width:4px;height:8px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg); }

/* ---------- generic section ---------- */
.section{ padding-block:clamp(70px,8.5vw,124px); }
.section--white{ background:var(--bg); }
.section--soft{ background:var(--bg-soft); }
.section-head{ max-width:720px; margin-bottom:50px; }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head .kicker{ margin-bottom:16px; }
.section-head .lead{ margin-top:16px; }

/* split head: left title, right CTA */
.head-split{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:46px; flex-wrap:wrap; }
.head-split .lead{ margin-top:16px; max-width:460px; }

/* ---------- experience cards ---------- */
.exp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.exp-card{ border-radius:var(--r); padding:32px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; min-height:420px; }
.exp-card--tint{ background:var(--tint); }
.exp-card--tint2{ background:var(--tint-2); }
.exp-card__media{ width:100%; flex:1; border-radius:var(--r-md); overflow:hidden; margin-bottom:26px; box-shadow:var(--shadow-sm); }
.exp-card__media image-slot{ width:100%; height:100%; min-height:230px; }
.exp-card p{ margin:0; font-size:clamp(17px,1.5vw,20px); font-weight:600; line-height:1.35; letter-spacing:-.01em; }
.exp-card p .muted{ color:var(--muted); font-weight:500; }

/* ---------- logo strip ---------- */
.logostrip{ padding-block:38px; border-block:1px solid var(--line); }
.logostrip__row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:18px 46px; }
.acad-logo{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:19px; letter-spacing:-.01em; color:var(--ink); opacity:.34; transition:opacity .2s; }
.acad-logo:hover{ opacity:.8; }

/* ---------- feature switcher ---------- */
.feat{ display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.feat__list{ display:flex; flex-direction:column; }
.feat__row{ border-top:1px solid var(--line); padding:22px 4px; cursor:pointer; display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; transition:opacity .2s; }
.feat__list .feat__row:last-child{ border-bottom:1px solid var(--line); }
.feat__num{ font-weight:600; font-size:13px; color:var(--muted); padding-top:5px; letter-spacing:.04em; }
.feat__row h3{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:21px; letter-spacing:-.015em; margin:0; transition:color .2s; }
.feat__row p{ margin:10px 0 0; color:var(--muted); font-size:15.5px; max-height:0; overflow:hidden; opacity:0; transition:max-height .35s ease, opacity .3s ease, margin .3s ease; }
.feat__row:not(.is-active){ opacity:.4; }
.feat__row:not(.is-active):hover{ opacity:.7; }
.feat__row.is-active h3{ color:var(--ink); }
.feat__row.is-active p{ max-height:140px; opacity:1; }
.feat__row.is-active .feat__num{ color:var(--ink); }
.feat__media{ position:relative; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3.6; background:var(--bg-soft); }
.feat__pane{ position:absolute; inset:0; opacity:0; transition:opacity .5s ease; }
.feat__pane.is-active{ opacity:1; }
.feat__pane image-slot{ width:100%; height:100%; }

/* ---------- stress: big centered photo + floating chips ---------- */
.stress__head{ text-align:center; max-width:680px; margin:0 auto 40px; }
.stress__stage{ position:relative; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/8; }
.stress__stage image-slot{ width:100%; height:100%; }
.chip{ position:absolute; display:flex; align-items:center; gap:11px; background:#fff; border-radius:14px; box-shadow:var(--shadow); padding:11px 15px; }
.chip__ic{ width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center; }
.chip__ic--g{ background:var(--accent); color:var(--accent-ink); }
.chip__ic--d{ background:var(--ink); color:#fff; }
.chip small{ display:block; font-size:10px; font-weight:600; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }
.chip strong{ font-size:14px; font-weight:600; }
.chip--a{ left:6%; top:24%; }
.chip--b{ right:6%; top:42%; }
.chip--c{ left:16%; bottom:14%; }

/* ---------- calculator: sliders card + comparison bars ---------- */
.calc{ display:grid; grid-template-columns:.85fr 1.15fr; gap:30px; align-items:stretch; }
.calc__card{ background:var(--bg-soft); border-radius:var(--r); padding:clamp(26px,3vw,40px); border:1px solid var(--line-soft); }
.calc__rlabel{ font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.calc__big{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(40px,5vw,58px); letter-spacing:-.03em; line-height:1; margin-bottom:6px; }
.calc__note{ color:var(--muted); font-size:13.5px; margin:0 0 26px; }
.calc__field{ margin-bottom:22px; }
.calc__field:last-child{ margin-bottom:0; }
.calc__flabel{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:11px; }
.calc__flabel span{ font-size:13.5px; font-weight:600; color:var(--ink-soft); }
.calc__fval{ font-weight:700; font-size:18px; }
.calc input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px; background:#fff; outline:none; cursor:pointer; box-shadow:inset 0 0 0 1px var(--line); }
.calc input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background:var(--ink); border:4px solid #fff; box-shadow:0 2px 7px rgba(0,0,0,.25); cursor:grab; }
.calc input[type=range]::-moz-range-thumb{ width:18px;height:18px;border-radius:50%;background:var(--ink);border:4px solid #fff;cursor:grab; }
.calc__bars{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:clamp(26px,3vw,40px); display:flex; flex-direction:column; justify-content:center; gap:22px; }
.bar-row{ }
.bar-row__top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:9px; }
.bar-row__name{ font-weight:600; font-size:15px; }
.bar-row__name small{ display:block; color:var(--muted); font-size:12px; font-weight:500; margin-top:2px; }
.bar-row__val{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:17px; }
.bar-track{ height:12px; border-radius:999px; background:var(--bg-soft); overflow:hidden; }
.bar-fill{ height:100%; border-radius:999px; width:0; transition:width .6s cubic-bezier(.2,.7,.2,1); }
.bar-fill--bad{ background:var(--ink); }
.bar-fill--mid{ background:#b9b5a8; }
.bar-fill--good{ background:var(--accent); }
.bar-row--good .bar-row__val{ color:var(--accent-deep); }

/* ---------- results: staggered photo stat cards ---------- */
.results-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.result{ position:relative; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); }
.result image-slot{ position:absolute; inset:0; width:100%; height:100%; }
.result__scrim{ position:absolute; inset:0; background:linear-gradient(to top,rgba(8,7,5,.86) 0%,rgba(8,7,5,.25) 55%,rgba(8,7,5,.04) 100%); }
.result__body{ position:absolute; left:0; right:0; bottom:0; padding:26px; color:#fff; }
.result__num{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(38px,4.4vw,56px); letter-spacing:-.03em; line-height:1; }
.result__txt{ font-size:14.5px; color:rgba(255,255,255,.82); margin-top:8px; max-width:200px; }
.result--a{ aspect-ratio:3/4; margin-top:0; }
.result--b{ aspect-ratio:3/4; margin-top:48px; }
.result--c{ aspect-ratio:3/4; margin-top:18px; }

/* ---------- quote ---------- */
.quote-wrap{ text-align:center; }
.bigquote{ font-family:'Satoshi',sans-serif; font-weight:600; font-size:clamp(20px,2.1vw,29px); line-height:1.32; letter-spacing:-.015em; margin:0 auto 30px; max-width:720px; text-wrap:balance; }
.bigquote__by{ display:inline-flex; align-items:center; gap:15px; text-align:left; }
.bigquote__by .avatar{ width:54px; height:54px; border-radius:50%; overflow:hidden; flex:none; }
.bigquote__by strong{ display:block; font-size:16px; }
.bigquote__by .mono{ color:var(--muted); }

/* ---------- price ---------- */
.pricecard{ max-width:520px; margin-inline:auto; background:#fff; color:var(--ink); border-radius:var(--r); padding:clamp(30px,4vw,46px); box-shadow:var(--shadow-lg); border:1px solid var(--line); }
.pricecard__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.pricecard__plan{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:20px; letter-spacing:-.015em; }
.pricecard__badge{ background:var(--accent); color:var(--accent-ink); font-size:11px; font-weight:700; padding:6px 12px; border-radius:999px; letter-spacing:.04em; text-transform:uppercase; }
.pricecard__price{ display:flex; align-items:flex-start; gap:4px; margin-bottom:8px; }
.pricecard__cur{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:26px; margin-top:14px; }
.pricecard__val{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(56px,8vw,80px); letter-spacing:-.04em; line-height:1; }
.pricecard__per{ color:var(--muted); align-self:flex-end; margin-bottom:16px; font-size:16px; }
.pricecard__sub{ color:var(--muted); font-size:15.5px; margin:0 0 26px; }
.pricecard__list{ list-style:none; margin:0 0 28px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:13px 18px; }
.pricecard__list li{ display:flex; align-items:center; gap:10px; font-size:15px; }
.pricecard__list .tick{ background:var(--accent); }
.pricecard__fine{ display:block; text-align:center; color:var(--muted); font-size:13px; margin-top:14px; }

/* ---------- FAQ (side heading + accordion) ---------- */
.faq-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.faq{ display:flex; flex-direction:column; }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__item:first-child{ border-top:1px solid var(--line); }
.faq__q{ width:100%; background:none; border:none; text-align:left; cursor:pointer; padding:22px 4px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-family:'Satoshi',sans-serif; font-weight:600; font-size:clamp(17px,1.7vw,20px); letter-spacing:-.01em; color:var(--ink); }
.faq__ic{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--bg-soft); display:grid; place-items:center; transition:background .2s; position:relative; }
.faq__ic::before,.faq__ic::after{ content:""; position:absolute; background:var(--ink); border-radius:2px; }
.faq__ic::before{ width:11px; height:2px; }
.faq__ic::after{ width:2px; height:11px; transition:transform .3s; }
.faq__item.is-open .faq__ic{ background:var(--accent); }
.faq__item.is-open .faq__ic::after{ transform:scaleY(0); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq__a-inner{ padding:0 4px 24px; color:var(--muted); font-size:16px; line-height:1.6; }

/* ---------- big black CTA band ---------- */
.megacta{ background:var(--dark); color:#fff; text-align:center; }
.megacta__inner{ padding-block:clamp(80px,11vw,150px); }
.megacta h2{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(32px,4.6vw,60px); line-height:1.08; letter-spacing:-.025em; margin:0 auto 30px; max-width:18ch; text-wrap:balance; }
.megacta__form{ display:flex; gap:10px; max-width:440px; margin:0 auto 18px; }
.megacta__form input{ flex:1; background:var(--dark-2); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:16px 22px; color:#fff; font-size:15px; outline:none; }
.megacta__form input::placeholder{ color:rgba(255,255,255,.45); }
.megacta__form input:focus{ border-color:var(--accent); }
.megacta .hero__trust li{ color:rgba(255,255,255,.7); }

/* ---------- footer ---------- */
.footer{ background:var(--dark); color:#fff; padding-block:8px 40px; }
.footer__inner{ display:grid; grid-template-columns:1.4fr 2fr; gap:40px; padding-block:48px; border-top:1px solid rgba(255,255,255,.1); }
.footer__brand .brand__name{ color:#fff; }
.footer__tag{ color:rgba(255,255,255,.55); font-size:15px; max-width:300px; margin:16px 0 0; }
.footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.footer__h{ display:block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:16px; }
.footer__cols a{ display:block; color:rgba(255,255,255,.7); font-size:15px; margin-bottom:11px; transition:color .15s; }
.footer__cols a:hover{ color:#fff; }
.footer__legal{ display:flex; justify-content:space-between; padding-top:28px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(28px); filter:blur(6px); transition:opacity .85s var(--ease), transform .85s var(--ease), filter .85s var(--ease); transition-delay:var(--d,0s); will-change:transform, opacity; }
.reveal.in{ opacity:1; transform:none; filter:none; }
.reveal--left{ transform:translateX(-34px); }
.reveal--right{ transform:translateX(34px); }
.reveal--scale{ transform:scale(.94); }
.reveal--left.in,.reveal--right.in,.reveal--scale.in{ transform:none; }

/* ============================================================
   MOTION  ·  Meridian-style motion design layer
   ============================================================ */
:root{ --ease:cubic-bezier(.22,.61,.36,1); --ease-spring:cubic-bezier(.34,1.32,.5,1); }

/* hero entrance sequence */
.hero .anim{ opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease), transform .85s var(--ease); transition-delay:var(--d,0s); }
.hero.is-ready .anim{ opacity:1; transform:none; }
/* masked title lines rising up */
.hero__title .line{ display:block; overflow:hidden; padding-bottom:.04em; }
.hero__title .line__in{ display:block; transform:translateY(112%); transition:transform 1s var(--ease); transition-delay:var(--d,0s); }
.hero.is-ready .hero__title .line__in{ transform:none; }
/* hero photo: ken-burns zoom on load + parallax hook */
.hero__photo image-slot{ will-change:transform; transform:scale(1.16); transition:transform 2s var(--ease); }
.hero.is-ready .hero__photo image-slot{ transform:scale(1.04); }

/* scroll-reveal stagger for grouped children that aren't .reveal themselves */
[data-stagger].in > *{ animation:rise .8s var(--ease) both; }
[data-stagger].in > *:nth-child(2){ animation-delay:.09s; }
[data-stagger].in > *:nth-child(3){ animation-delay:.18s; }
[data-stagger].in > *:nth-child(4){ animation-delay:.27s; }
@keyframes rise{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }

/* feature rows: slide in when section reveals */
.feat.reveal .feat__row{ opacity:0; transform:translateX(-14px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.feat.reveal.in .feat__row{ opacity:1; transform:none; }
.feat.reveal.in .feat__row:nth-child(2){ transition-delay:.08s; }
.feat.reveal.in .feat__row:nth-child(3){ transition-delay:.16s; }
.feat.reveal.in .feat__row:nth-child(4){ transition-delay:.24s; }
.feat.reveal.in .feat__row:not(.is-active){ opacity:.4; }

/* floating chips bob */
.chip{ animation:float 5.5s ease-in-out infinite; }
.chip--b{ animation-duration:6.4s; animation-delay:-1.6s; }
.chip--c{ animation-duration:7s; animation-delay:-3s; }
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
/* chips appear with a pop when stage reveals */
.stress__stage .chip{ opacity:0; }
.stress__stage.in .chip{ opacity:1; animation:chip-in .6s var(--ease-spring) both, float 5.5s ease-in-out infinite 1s; }
.stress__stage.in .chip--b{ animation:chip-in .6s var(--ease-spring) .15s both, float 6.4s ease-in-out infinite 1s; }
.stress__stage.in .chip--c{ animation:chip-in .6s var(--ease-spring) .3s both, float 7s ease-in-out infinite 1s; }
@keyframes chip-in{ from{ opacity:0; transform:translateY(14px) scale(.92); } to{ opacity:1; transform:none; } }

/* marquee logo strip */
.marquee{ overflow:hidden; -webkit-mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track{ display:flex; align-items:center; gap:46px; width:max-content; animation:marquee 34s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* hover micro-interactions */
.exp-card,.result,.feat__media{ transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.exp-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.result:hover{ transform:translateY(-8px); border-color:rgba(243,166,60,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 34px 64px -24px rgba(0,0,0,.72), 0 0 0 1px rgba(243,166,60,.12); }
.result:hover .result__num{ transform:translateY(-2px); }
.result__num{ transition:transform .4s var(--ease); }

@media (prefers-reduced-motion:reduce){
  .reveal,.hero .anim,.hero__title .line__in{ opacity:1 !important; transform:none !important; transition:none !important; }
  .hero__photo image-slot{ transform:scale(1.04) !important; transition:none !important; }
  .chip,.marquee__track{ animation:none !important; }
  [data-stagger].in > *,.feat.reveal .feat__row{ animation:none !important; opacity:1 !important; transform:none !important; }
}

/* ---------- responsive (see reworked block at end of file) ---------- */

/* ============================================================
   MOCKUPS  ·  in-product UI shown in feature/experience blocks
   ============================================================ */
.exp-card__media,.feat__pane{ display:flex; align-items:center; justify-content:center; }
.exp-card__media{ background:linear-gradient(140deg,#F4F5FA 0%,#E9EAF4 100%); padding:24px; }
.exp-card--tint2 .exp-card__media{ background:linear-gradient(140deg,#F7F4E9 0%,#EFEADA 100%); }
.feat__pane{ background:linear-gradient(140deg,#F4F5FA 0%,#E8E9F3 100%); padding:30px; }
.feat__pane:nth-child(2){ background:linear-gradient(140deg,#F7F4E9 0%,#EEE9D9 100%); }
.feat__pane:nth-child(3){ background:linear-gradient(140deg,#EEF6EC 0%,#E2EFDD 100%); }
.feat__pane:nth-child(4){ background:linear-gradient(140deg,#F6F1F4 0%,#ECE1EA 100%); }

.mock{ width:100%; max-width:430px; background:#fff; border-radius:16px; border:1px solid var(--line); box-shadow:0 16px 40px rgba(22,21,15,.12); padding:18px; display:flex; flex-direction:column; gap:13px; text-align:left; color:var(--ink); }
.mock__head{ display:flex; align-items:center; justify-content:space-between; }
.mock__h{ font-weight:700; font-size:15px; letter-spacing:-.01em; }
.mock__tag{ font-size:10px; font-weight:700; color:var(--accent-ink); background:var(--accent); padding:4px 10px; border-radius:999px; letter-spacing:.03em; }
.mock__tag--mut{ background:var(--bg-soft); color:var(--muted); }

.mrow{ display:flex; align-items:center; gap:11px; padding:9px 0; border-top:1px solid var(--line-soft); }
.mrow:first-of-type{ border-top:none; padding-top:2px; }
.ava{ width:32px;height:32px;border-radius:9px;background:var(--bg-soft);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--ink);flex:none; }
.mrow__id{ min-width:0; }
.mrow__id strong{ font-size:13px; font-weight:700; display:block; line-height:1.2; }
.mrow__id small{ font-size:11px; color:var(--muted); }
.mrow__r{ margin-left:auto; display:flex; align-items:center; gap:9px; flex:none; }

/* belt */
.belt{ display:inline-flex; align-items:center; gap:3px; height:12px; padding:0 5px; border-radius:3px; }
.belt i{ width:3px; height:7px; background:rgba(255,255,255,.92); border-radius:1px; }
.belt i.off{ opacity:.32; }
.belt--white{ background:#E4E1D6; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); }
.belt--white i{ background:#5a5852; }
.belt--blue{ background:#2C5BD8; }
.belt--purple{ background:#7A3FB0; }
.belt--brown{ background:#6B4423; }
.belt--black{ background:#1A1814; }

.pill-go{ font-size:9.5px; font-weight:800; background:var(--accent); color:var(--accent-ink); padding:3px 9px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; }
.pill-mut{ font-size:10px; font-weight:600; color:var(--muted); }
.pill-warn{ font-size:9.5px; font-weight:800; background:#15140F; color:#fff; padding:3px 9px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; }

/* financeiro */
.kpis{ display:flex; gap:9px; }
.kpi{ flex:1; background:var(--bg-soft); border-radius:11px; padding:11px 12px; }
.kpi .n{ font-weight:800; font-size:17px; letter-spacing:-.02em; }
.kpi .l{ font-size:10px; color:var(--muted); margin-top:2px; }
.kpi--good{ background:var(--accent-soft); }
.chart{ display:flex; align-items:flex-end; gap:6px; height:56px; padding-top:4px; }
.chart span{ flex:1; background:var(--bg-soft); border-radius:5px 5px 0 0; }
.chart span.on{ background:var(--accent); }
.chart span.hi{ background:var(--ink); }
.dot{ width:7px;height:7px;border-radius:50%;flex:none; }
.dot--g{ background:var(--accent-deep); }
.dot--d{ background:#bdb9ac; }

/* phone */
.phone{ width:172px; background:#fff; border-radius:26px; border:1px solid var(--line); box-shadow:0 22px 50px rgba(22,21,15,.20); padding:13px 12px 16px; }
.phone__bar{ width:44px;height:5px;border-radius:999px;background:var(--line);margin:2px auto 12px; }
.chk{ width:24px;height:24px;border-radius:8px;border:2px solid var(--line);flex:none;position:relative; }
.chk.on{ background:var(--accent); border-color:var(--accent); }
.chk.on::after{ content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--accent-ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg); }
.pixtoast{ margin-top:12px; background:var(--accent-soft); border-radius:11px; padding:11px 12px; display:flex; align-items:center; gap:10px; }
.pixtoast .ic{ width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none; }
.pixtoast strong{ font-size:12.5px; font-weight:700; display:block; }
.pixtoast small{ font-size:10.5px; color:var(--muted); }

/* whatsapp action */
.wpp{ font-size:10px;font-weight:700;border-radius:999px;padding:5px 11px;background:#15140F;color:#fff;display:inline-flex;align-items:center;gap:5px; }

/* wide dashboard (stress) */
.stress__stage{ background:linear-gradient(140deg,#F2F3F8 0%,#E7E8F1 100%); display:flex; align-items:center; justify-content:center; padding:clamp(20px,3vw,40px); }
.stress__stage image-slot{ display:none; }
.dash{ width:100%; max-width:760px; background:#fff; border-radius:18px; border:1px solid var(--line); box-shadow:0 24px 60px rgba(22,21,15,.16); overflow:hidden; display:grid; grid-template-columns:200px 1fr; }
.dash__side{ background:var(--bg-soft); border-right:1px solid var(--line); padding:18px 16px; display:flex; flex-direction:column; gap:7px; }
.dash__brand{ font-family:'Satoshi',sans-serif; font-weight:800; font-size:18px; letter-spacing:-.02em; margin-bottom:8px; }
.dash__nav{ font-size:12.5px; font-weight:600; color:var(--muted); padding:8px 10px; border-radius:9px; }
.dash__nav.on{ background:#fff; color:var(--ink); box-shadow:var(--shadow-sm); }
.dash__main{ padding:20px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.dash__top{ display:flex; align-items:center; justify-content:space-between; }
.dash__kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (max-width:560px){ .dash{ grid-template-columns:1fr; } .dash__side{ display:none; } .dash__kpis{ grid-template-columns:repeat(3,1fr); } }

/* results as filled dark stat cards */
.result{ background:#13120F; color:#fff; display:flex; flex-direction:column; justify-content:space-between; padding:26px;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 24px 50px -22px rgba(0,0,0,.6); }
.result::before{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  background:radial-gradient(130% 75% at 50% -8%, rgba(243,166,60,.13), transparent 58%);
  opacity:.65; transition:opacity .4s var(--ease); }
.result:hover::before{ opacity:1; }
.result--b{ background:#1d1b16; }
.result--c{ background:#14160f; }
.result__num{ position:relative; z-index:2; }
.result__txt{ position:relative; z-index:2; }
.statviz{ display:flex; align-items:flex-end; gap:5px; height:64px; margin-top:auto; }
.statviz--dots{ display:grid; grid-template-columns:repeat(8,1fr); gap:6px; align-items:center; height:auto; }
.statviz--dots i{ width:100%; aspect-ratio:1; border-radius:50%; background:rgba(255,255,255,.16); }
.statviz--dots i.on{ background:var(--accent); }
.statviz--belts{ flex-direction:column; align-items:stretch; gap:7px; height:auto; justify-content:flex-end; }
.statviz--belts i{ height:9px; border-radius:3px; background:rgba(255,255,255,.14); }
.statviz--belts i:nth-child(1){ background:#2C5BD8; width:80%; }
.statviz--belts i:nth-child(2){ background:#7A3FB0; width:62%; }
.statviz--belts i:nth-child(3){ background:var(--accent); width:92%; }
.statviz--ring{ height:auto; margin-top:auto; }
.ring{ width:70px;height:70px;border-radius:50%;background:conic-gradient(var(--accent) 0 100%,rgba(255,255,255,.14) 0);display:grid;place-items:center; }
.ring span{ width:54px;height:54px;border-radius:50%;background:#13120F;display:grid;place-items:center;font-weight:800;font-size:13px; }
.result .result__body{ position:static; padding:0; color:#fff; }
.result__scrim{ display:none; }

/* founder monogram */
.avatar.mono{ background:var(--accent); color:var(--accent-ink); display:grid; place-items:center; font-family:'Satoshi',sans-serif; font-weight:800; font-size:20px; }

/* ============================================================
   PRODUCT-ACCURATE bits (belt bar, status, donut) — fictional data
   ============================================================ */
.beltbar{ display:inline-flex; width:74px; height:17px; border-radius:5px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); flex:none; }
.beltbar__fill{ flex:1; }
.beltbar__tip{ width:23px; display:flex; align-items:center; justify-content:center; gap:2.5px; background:#15140F; }
.beltbar__tip i{ width:2.5px; height:9px; background:#fff; border-radius:1px; }
.bf--white{ background:#E7E4DA; }
.bf--blue{ background:#2C5BD8; }
.bf--purple{ background:#6E37A6; }
.bf--brown{ background:#7A4A22; }
.bf--black{ background:#15140F; }

.st{ font-size:9.5px; font-weight:700; padding:3px 9px; border-radius:999px; letter-spacing:.02em; white-space:nowrap; }
.st--pay{ background:#FBEAD2; color:#9A6A10; }
.st--risk{ background:#15140F; color:#fff; }
.st--paid{ display:inline-flex; align-items:center; gap:5px; color:#2E8B57; font-weight:700; font-size:11px; }
.st--paid::before{ content:""; width:6px;height:6px;border-radius:50%;background:#37A66A; }

.kpi--dark{ background:#15140F; color:#fff; }
.kpi--dark .n{ color:#fff; }
.kpi--dark .l{ color:rgba(255,255,255,.6); }

.donut{ width:62px;height:62px;border-radius:50%;background:conic-gradient(#15140F 0 81%, #CBC7BA 81% 100%);display:grid;place-items:center;flex:none; }
.donut span{ width:40px;height:40px;border-radius:50%;background:#fff; }
.legend{ font-size:11.5px; }
.legend div{ display:flex; align-items:center; gap:7px; margin-bottom:5px; }
.legend i{ width:8px;height:8px;border-radius:2px;flex:none; }
.legend .l-d{ background:#15140F; }
.legend .l-m{ background:#CBC7BA; }
.legend b{ font-weight:700; }
.legend small{ color:var(--muted); margin-left:auto; }

/* product nav active = black pill (matches app) */
.dash__nav.on{ background:#15140F; color:#fff; box-shadow:none; }

/* ============================================================
   MOTION+  ·  refinements & new interactions
   ============================================================ */

/* scroll progress bar */
.scrollprog{ position:fixed; top:0; left:0; height:3px; width:0%; z-index:70; background:linear-gradient(90deg,var(--accent-hover),var(--accent),var(--accent-2)); box-shadow:0 0 12px rgba(236,154,40,.5); transition:width .1s linear; }

/* hero scroll cue */
.hero__cue{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:3; width:28px; height:46px; border:2px solid rgba(255,255,255,.5); border-radius:999px; display:flex; justify-content:center; padding-top:8px; transition:opacity .4s ease, border-color .2s; }
.hero__cue:hover{ border-color:#fff; }
.hero__cue-dot{ width:4px; height:9px; border-radius:999px; background:#fff; animation:cue 1.8s var(--ease) infinite; }
@keyframes cue{ 0%{ opacity:0; transform:translateY(-4px); } 30%{ opacity:1; } 70%{ opacity:1; transform:translateY(8px); } 100%{ opacity:0; transform:translateY(12px); } }
.hero.scrolled .hero__cue{ opacity:0; pointer-events:none; }

/* feature row auto-advance progress bar */
.feat__row{ position:relative; }
.feat__bar{ position:absolute; left:0; bottom:-1px; height:2px; width:0; background:var(--accent); border-radius:2px; opacity:0; }
.feat__row.is-active .feat__bar{ opacity:1; }
.feat__row.is-active.run .feat__bar{ width:100%; transition:width 4.2s linear; }

/* magnetic buttons (JS sets --mx/--my) */
.btn{ will-change:transform; }
.btn--magnetic{ transform:translate(var(--mx,0), var(--my,0)); }

/* tilt cards (JS sets --rx/--ry) */
.tilt{ transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0)); transform-style:preserve-3d; transition:transform .25s var(--ease), box-shadow .35s var(--ease); }

/* section heading wipe-in (kicker bar grow) */
.kicker.in-bar::before{ animation:kick .6s var(--ease) both .1s; }
@keyframes kick{ from{ transform:scale(0); } to{ transform:scale(1); } }

/* ---------- mobile nav: burger + overlay ---------- */
.nav__burger{ display:none; width:42px; height:42px; border:none; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:5px; padding:0; }
.nav__burger span{ display:block; width:23px; height:2px; border-radius:2px; background:#fff; transition:transform .3s var(--ease), opacity .2s ease, background .3s; }
.nav--solid .nav__burger span{ background:var(--ink); }
body.menu-open .nav__burger span{ background:var(--ink); }
body.menu-open .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.menu-open .nav__burger span:nth-child(2){ opacity:0; }
body.menu-open .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobnav{ position:fixed; inset:0; z-index:55; background:var(--bg); padding:96px 28px 40px; display:flex; flex-direction:column; gap:30px; transform:translateY(-100%); opacity:0; pointer-events:none; transition:transform .45s var(--ease), opacity .3s ease; }
body.menu-open .mobnav{ transform:none; opacity:1; pointer-events:auto; }
.mobnav__links{ display:flex; flex-direction:column; }
.mobnav__links a{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:26px; letter-spacing:-.02em; color:var(--ink); padding:16px 0; border-bottom:1px solid var(--line); opacity:0; transform:translateY(14px); }
body.menu-open .mobnav__links a{ animation:menuln .5s var(--ease) forwards; }
body.menu-open .mobnav__links a:nth-child(1){ animation-delay:.08s; }
body.menu-open .mobnav__links a:nth-child(2){ animation-delay:.14s; }
body.menu-open .mobnav__links a:nth-child(3){ animation-delay:.2s; }
body.menu-open .mobnav__links a:nth-child(4){ animation-delay:.26s; }
body.menu-open .mobnav__links a:nth-child(5){ animation-delay:.32s; }
@keyframes menuln{ to{ opacity:1; transform:none; } }
.mobnav__cta{ display:flex; flex-direction:column; gap:12px; margin-top:auto; }

/* ============================================================
   RESPONSIVE  ·  reworked
   ============================================================ */
@media (max-width:1080px){
  .head-split{ align-items:flex-start; }
}
@media (max-width:980px){
  .exp-grid{ grid-template-columns:1fr; }
  .feat{ grid-template-columns:1fr; gap:30px; }
  .feat__media{ order:-1; max-width:520px; margin-inline:auto; width:100%; }
  .calc{ grid-template-columns:1fr; }
  .results-grid{ grid-template-columns:1fr 1fr; }
  .result--b,.result--c{ margin-top:0; }
  .faq-grid{ grid-template-columns:1fr; gap:10px; }
  .footer__inner{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:820px){
  .nav__links{ display:none; }
  .nav__cta .link-quiet,.nav__cta .btn{ display:none; }
  .nav__burger{ display:flex; }
  .head-split{ flex-direction:column; align-items:stretch; gap:22px; }
  .head-split .btn{ align-self:flex-start; }
}
@media (max-width:680px){
  .wrap{ padding-inline:20px; }
  .hero{ min-height:100vh; min-height:100svh; }
  .hero__inner{ padding-top:104px; padding-bottom:64px; }
  .hero__actions{ flex-direction:column; align-items:stretch; }
  .hero__actions .btn{ width:100%; }
  .hero__lede{ font-size:16px; }
  .hero__logos{ gap:10px 22px; }
  .hero__logos .acad-logo{ font-size:14px; }
  .results-grid{ grid-template-columns:1fr; max-width:420px; margin-inline:auto; }
  .stress__stage{ aspect-ratio:auto; padding:18px; }
  .chip{ position:static; margin:0; box-shadow:var(--shadow-sm); }
  .stress__stage .chip{ display:none; }
  .pricecard__list{ grid-template-columns:1fr; }
  .footer__cols{ grid-template-columns:1fr 1fr; gap:20px; }
  .megacta__form{ flex-direction:column; }
  .megacta__form .btn{ width:100%; }
  .section-head br,.h-section br,.hero h1 br,.megacta h2 br{ display:none; }
  .head-split .btn{ width:100%; align-self:stretch; }
}
@media (max-width:480px){
  .wrap{ padding-inline:16px; }
  .hero__rating{ flex-wrap:wrap; justify-content:center; text-align:center; }
  .dash{ grid-template-columns:1fr; }
  .dash__side{ display:none; }
  .dash__kpis{ grid-template-columns:1fr 1fr; }
  .calc__bars,.calc__card{ padding:22px; }
  .footer__legal{ flex-direction:column; gap:10px; text-align:center; }
  .mobnav__links a{ font-size:23px; }
}

/* touch devices: disable hover-only motion that needs a pointer */
@media (hover:none){
  .btn--magnetic{ transform:none !important; }
  .tilt{ transform:none !important; }
}

@media (prefers-reduced-motion:reduce){
  .reveal{ filter:none !important; }
  .scrollprog{ display:none; }
  .hero__cue-dot{ animation:none !important; }
  .feat__row.is-active.run .feat__bar{ transition:none !important; width:100% !important; }
  .btn--magnetic,.tilt{ transform:none !important; }
}

/* ============================================================
   BENTO  ·  "tudo num lugar só" — capability grid (visor-inspired)
   Same light/airy + amber language, asymmetric bento, one dark hero card
   ============================================================ */
.bento{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(232px,auto); gap:18px; }
.bcard{ position:relative; border-radius:var(--r); padding:28px; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line-soft); box-shadow:var(--shadow-sm); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.bcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.bcard__kick{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-deep); margin-bottom:11px; }
.bcard__t{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(19px,1.7vw,22px); letter-spacing:-.015em; line-height:1.16; margin:0; }
.bcard__d{ margin:9px 0 0; font-size:14.5px; color:var(--muted); line-height:1.46; max-width:44ch; }
.bcard__media{ flex:1; display:flex; align-items:center; justify-content:center; margin-bottom:22px; min-height:0; }
.bcard__foot{ flex:none; }

/* placement + tints */
.bcard--1{ grid-column:1 / span 2; grid-row:1; background:var(--tint); }
.bcard--2{ grid-column:3; grid-row:1 / span 2; padding:24px; }
.bcard--3{ grid-column:1; grid-row:2; background:var(--tint-2); }
.bcard--4{ grid-column:2; grid-row:2; background:#E7F2E9; }
.bcard--5{ grid-column:1 / span 2; grid-row:3; background:var(--accent-soft); }
.bcard--6{ grid-column:3; grid-row:3; background:#F0EBF6; }

/* split cards: copy + visual side by side */
.bcard__split{ display:flex; align-items:center; gap:28px; height:100%; }
.bcard__split .bcard__copy{ flex:1; min-width:0; }

/* dark hero card */
.bcard--dark{ background:linear-gradient(165deg,#1f1d17 0%,#100F0C 100%); border-color:rgba(255,255,255,.09); color:#fff; }
.bcard--dark .bcard__t{ color:#fff; }
.bcard--dark .bcard__d{ color:rgba(255,255,255,.62); }
.bcard--dark .bcard__foot{ margin-top:auto; padding-top:22px; }

/* --- carteirinha (id card) --- */
.idcard{ width:190px; flex:none; background:#fff; border-radius:18px; box-shadow:0 18px 44px rgba(22,21,15,.18); padding:16px; }
.idcard__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.idcard__belt{ width:54px; height:13px; border-radius:4px; display:block; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); }
.idcard__grade{ font-size:10px; font-weight:700; color:var(--accent-ink); background:var(--accent); padding:3px 9px; border-radius:999px; letter-spacing:.03em; }
.idcard__name{ font-weight:800; font-size:16px; letter-spacing:-.01em; line-height:1.1; }
.idcard__meta{ font-size:11.5px; color:var(--muted); margin:2px 0 13px; }
.qr{ width:100%; aspect-ratio:1; max-height:104px; border-radius:11px; border:1px solid var(--line); background-color:#fff; background-image:conic-gradient(#15140F 90deg,#fff 0 180deg,#15140F 0 270deg,#fff 0); background-size:15px 15px; }
.idcard__chk{ display:flex; align-items:center; gap:8px; margin-top:13px; font-size:11.5px; font-weight:700; color:#2E8B57; }
.idcard__chk .chk{ width:18px; height:18px; border-radius:6px; }
.idcard__chk .chk.on::after{ left:5px; top:2px; width:5px; height:9px; }

/* --- ranking (dark) --- */
.brank{ display:flex; flex-direction:column; }
.brank__row{ display:flex; align-items:center; gap:9px; padding:9px 0; border-top:1px solid rgba(255,255,255,.08); }
.brank__row:first-child{ border-top:none; padding-top:0; }
.brank__n{ width:16px; flex:none; text-align:center; font-weight:800; font-size:13px; color:rgba(255,255,255,.35); }
.brank__row--top .brank__n{ color:var(--accent-2); }
.brank__row .ava{ background:rgba(255,255,255,.1); color:#fff; width:28px; height:28px; }
.brank__row .beltbar{ width:50px; }
.brank__row .mrow__id{ min-width:0; }
.brank__row .mrow__id strong{ color:#fff; font-size:13px; font-weight:700; display:block; line-height:1.2; }
.brank__row .mrow__id small{ color:rgba(255,255,255,.5); font-size:11px; }
.brank__row .beltbar{ margin-left:auto; }

/* --- loja --- */
.shop{ display:flex; flex-direction:column; gap:9px; width:100%; }
.shoprow{ display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line-soft); border-radius:12px; padding:9px 11px; box-shadow:0 2px 8px rgba(22,21,15,.04); }
.shoprow__img{ width:34px; height:34px; border-radius:8px; flex:none; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); }
.si--gi{ background:linear-gradient(135deg,#fff,#E7E4DA); }
.si--belt{ background:#2C5BD8; }
.si--rash{ background:#15140F; }
.shoprow__id{ min-width:0; }
.shoprow__id strong{ font-size:12.5px; font-weight:700; display:block; line-height:1.2; }
.shoprow__id small{ font-size:10.5px; color:var(--muted); }
.shoprow__pr{ margin-left:auto; font-weight:800; font-size:13.5px; letter-spacing:-.01em; }

/* --- grade --- */
.grade{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; width:100%; }
.grade__col{ display:flex; flex-direction:column; gap:7px; }
.grade__day{ font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:center; }
.grade__chip{ background:#fff; border:1px solid var(--line-soft); border-radius:10px; padding:8px 6px; text-align:center; box-shadow:0 2px 8px rgba(22,21,15,.04); }
.grade__chip strong{ display:block; font-size:12px; font-weight:800; }
.grade__chip small{ font-size:9px; color:var(--muted); }
.grade__chip--hi{ background:#15140F; border-color:#15140F; }
.grade__chip--hi strong{ color:#fff; }
.grade__chip--hi small{ color:rgba(255,255,255,.6); }

/* --- avisos (broadcast) --- */
.broadcast{ width:236px; flex:none; background:#fff; border-radius:16px; box-shadow:0 18px 42px rgba(22,21,15,.16); padding:15px; }
.broadcast__msg{ font-size:12.5px; line-height:1.42; background:var(--bg-soft); border-radius:11px; padding:11px 12px; }
.broadcast__to{ display:flex; align-items:center; gap:7px; margin:11px 0; font-size:11px; font-weight:600; color:var(--muted); }
.broadcast__chans{ display:flex; gap:6px; }
.chan{ font-size:10px; font-weight:700; padding:5px 10px; border-radius:999px; background:var(--bg-soft); color:var(--ink-soft); }
.chan--on{ background:#15140F; color:#fff; }
.broadcast__send{ margin-top:12px; text-align:center; background:linear-gradient(180deg,var(--accent-2),var(--accent)); color:var(--accent-ink); font-weight:800; font-size:12px; padding:10px; border-radius:10px; box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }

/* --- relatórios --- */
.report{ display:flex; align-items:center; gap:18px; width:100%; justify-content:center; }
.donut--report{ width:80px; height:80px; background:conic-gradient(var(--accent) 0 82%,#D9D5C8 82% 100%); }
.donut--report span{ width:52px; height:52px; }
.report__stats{ display:flex; flex-direction:column; gap:11px; }
.report__stat strong{ font-size:19px; font-weight:800; letter-spacing:-.02em; display:block; line-height:1; }
.report__stat small{ font-size:11px; color:var(--muted); }

/* bento stagger delays (extend past 4) */
.bento[data-stagger].in > *:nth-child(5){ animation-delay:.36s; }
.bento[data-stagger].in > *:nth-child(6){ animation-delay:.45s; }

@media (max-width:900px){
  .bento{ grid-template-columns:1fr 1fr; grid-auto-rows:auto; }
  .bcard--1{ grid-column:1 / span 2; grid-row:auto; }
  .bcard--2{ grid-column:1 / span 2; grid-row:auto; }
  .bcard--3{ grid-column:1; grid-row:auto; }
  .bcard--4{ grid-column:2; grid-row:auto; }
  .bcard--5{ grid-column:1 / span 2; grid-row:auto; }
  .bcard--6{ grid-column:1 / span 2; grid-row:auto; }
  .bcard--2 .brank__row:nth-child(n+4){ display:none; }
}
@media (max-width:560px){
  .bento{ grid-template-columns:1fr; }
  .bcard,.bcard--1,.bcard--2,.bcard--3,.bcard--4,.bcard--5,.bcard--6{ grid-column:1; }
  .bcard__split{ flex-direction:column; align-items:flex-start; gap:22px; }
  .bcard--5 .bcard__split{ flex-direction:column-reverse; }
  .idcard,.broadcast{ width:100%; }
  .bcard--2 .brank__row{ display:flex; }
}

/* ============================================================
   COST BAND  ·  pain statement (AbacatePay-style)
   Dark band · amber highlight figure · dotted texture · hand-drawn arrow
   ============================================================ */
.costband{ position:relative; overflow:hidden; background:#100F0C; color:#fff; }
.costband__bg{ position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(243,166,60,.18) 1.5px, transparent 1.7px);
  background-size:24px 24px;
  -webkit-mask:radial-gradient(135% 115% at 80% -12%, #000 20%, transparent 68%);
  mask:radial-gradient(135% 115% at 80% -12%, #000 20%, transparent 68%); }
.costband__bg::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(120% 100% at 78% 0%, rgba(243,166,60,.08), transparent 60%); }
.costband__inner{ position:relative; z-index:2; padding-block:clamp(78px,11vw,132px); }
.costband__eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:'Satoshi',sans-serif;
  font-weight:600; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent-2); margin-bottom:24px; }
.costband__eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.costband__title{ font-family:'Satoshi',sans-serif; font-weight:700; margin:0;
  font-size:clamp(34px,5.4vw,68px); line-height:1.04; letter-spacing:-.03em;
  max-width:18ch; text-wrap:balance; }
.costband__title .hi{ color:var(--accent); white-space:nowrap; }
.costband__sub{ margin:26px 0 0; max-width:48ch; font-size:clamp(16px,1.5vw,20px);
  line-height:1.55; color:rgba(255,255,255,.66); }
.costband__sub em{ font-style:normal; color:#fff; font-weight:600; }
.costband__cta{ position:relative; display:inline-flex; align-items:center; gap:20px; margin-top:36px; }
.costarrow{ width:120px; height:auto; color:rgba(255,255,255,.92); flex:none; transform:translate(0,-2px); }
/* hand-drawn arrow: draws itself in when the band reveals, then nudges toward the button */
.costarrow path{ stroke-dasharray:1; stroke-dashoffset:0; }
.costband__cta.in .costarrow path{ animation:arrowdraw .9s var(--ease) both; }
.costband__cta.in .costarrow path:nth-child(2){ animation-delay:.5s; }
.costband__cta.in .costarrow{ animation:arrownudge 1.9s ease-in-out 1.25s infinite; }
@keyframes arrowdraw{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
@keyframes arrownudge{ 0%,100%{ transform:translate(0,-2px); } 50%{ transform:translate(-9px,-2px); } }

@media (max-width:640px){
  .costband__title .hi{ white-space:normal; }
  .costarrow{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .costarrow path{ stroke-dashoffset:0 !important; animation:none !important; }
  .costband__cta.in .costarrow{ animation:none !important; transform:translate(0,-2px) !important; }
}

/* ============================================================
   PREMIUM MOTION  ·  Resultados + Preço (scroll-triggered)
   Intensity via body[data-motion] · effects gated by fx-* classes
   ============================================================ */
body{ --mo:1; }
body[data-motion="sutil"]{ --mo:.5; }
body[data-motion="ousado"]{ --mo:1.7; }

@property --ringpct{ syntax:'<percentage>'; inherits:false; initial-value:100%; }

/* --- Resultados: the statviz comes alive in sync with the count-up --- */
.statviz--dots i{ will-change:transform, opacity; }
body.fx-statviz .results-grid .result.in .statviz--dots i{
  animation:dotpop .5s var(--ease-spring) backwards;
  animation-delay:calc(.18s + var(--n,0) * 32ms);
}
@keyframes dotpop{ from{ opacity:0; transform:scale(clamp(.1, calc(1 - .7*var(--mo)), .85)); } to{ opacity:1; transform:scale(1); } }

/* belts grow from the left — a graduation in motion */
.statviz--belts i{ transform-origin:left center; }
body.fx-statviz .result.in .statviz--belts i{ animation:beltgrow .7s var(--ease) backwards; }
body.fx-statviz .result.in .statviz--belts i:nth-child(1){ animation-delay:.26s; }
body.fx-statviz .result.in .statviz--belts i:nth-child(2){ animation-delay:.4s; }
body.fx-statviz .result.in .statviz--belts i:nth-child(3){ animation-delay:.54s; }
@keyframes beltgrow{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

/* ring sweeps 0 -> 100% */
.statviz--ring .ring{ background:conic-gradient(var(--accent) var(--ringpct), rgba(255,255,255,.14) 0); }
body.fx-statviz .result.in .statviz--ring .ring{ animation:ringsweep 1.15s var(--ease) .3s backwards; }
@keyframes ringsweep{ from{ --ringpct:0%; } to{ --ringpct:100%; } }

/* --- Preço: sheen sweep + checklist cascade --- */
.pricecard{ position:relative; overflow:hidden; }
.pricecard__sheen{ position:absolute; inset:0; z-index:4; pointer-events:none; opacity:0;
  background:linear-gradient(112deg, transparent 33%, rgba(243,166,60,.20) 46%, rgba(255,255,255,.55) 50%, rgba(243,166,60,.20) 54%, transparent 67%);
  transform:translateX(-130%); }
body.fx-sheen .pricecard.in .pricecard__sheen{ animation:sheen 1.2s var(--ease) .35s; }
@keyframes sheen{ 0%{ transform:translateX(-130%); opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ transform:translateX(130%); opacity:0; } }

body.fx-checklist .pricecard.in .pricecard__list li{ animation:liin .5s var(--ease) backwards; animation-delay:calc(.4s + var(--n,0) * 70ms); }
body.fx-checklist .pricecard.in .pricecard__list li .tick{ animation:tickpop .5s var(--ease-spring) backwards; animation-delay:calc(.44s + var(--n,0) * 70ms); }
@keyframes liin{ from{ opacity:0; transform:translateY(calc(9px * var(--mo))); } to{ opacity:1; transform:none; } }
@keyframes tickpop{ from{ opacity:0; transform:scale(clamp(.1, calc(1 - .7*var(--mo)), .8)); } to{ opacity:1; transform:scale(1); } }

@media (prefers-reduced-motion:reduce){
  body.fx-statviz .result.in .statviz--dots i,
  body.fx-statviz .result.in .statviz--belts i,
  body.fx-statviz .result.in .statviz--ring .ring,
  body.fx-sheen .pricecard.in .pricecard__sheen,
  body.fx-checklist .pricecard.in .pricecard__list li,
  body.fx-checklist .pricecard.in .pricecard__list li .tick{ animation:none !important; }
  .statviz--ring .ring{ --ringpct:100%; }
  .pricecard__sheen{ display:none; }
}


/* --- hero headline amber highlight + micro-copy (M1 / M9) --- */
.hero__title .hi{ color:var(--accent); }
.hero__micro{ font-size:12.5px; color:rgba(255,255,255,.72); margin:6px 0 0; letter-spacing:.06em; text-align:center; }

/* --- price guarantee (M2) --- */
.pricecard__guarantee{ text-align:center; font-size:12.5px; color:var(--accent-deep); font-weight:600; margin-top:10px; }

/* ─── two-plan pricing (Essencial / Pro) ─── */
.plans{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:860px; margin-inline:auto; align-items:stretch; }
.plan{ position:relative; display:flex; flex-direction:column; background:#fff; color:var(--ink);
  border:1px solid var(--line); border-radius:var(--r); padding:34px 32px; box-shadow:var(--shadow);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.plan:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.plan--pro{ background:var(--dark); border-color:rgba(255,255,255,.12); color:#fff; overflow:hidden;
  box-shadow:0 26px 60px -22px rgba(22,21,15,.45); }
.plan--pro:hover{ border-color:rgba(243,166,60,.4); box-shadow:0 34px 70px -24px rgba(22,21,15,.55), 0 0 0 1px rgba(243,166,60,.14); }
.plan--pro::before{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(115% 70% at 82% -8%, rgba(243,166,60,.17), transparent 60%); }
.plan__badge{ position:absolute; top:20px; right:20px; z-index:2; background:var(--accent); color:var(--accent-ink);
  font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:999px; }
.plan__head{ position:relative; z-index:1; display:flex; flex-direction:column; gap:5px; margin-bottom:18px; }
.plan__name{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:22px; letter-spacing:-.02em; }
.plan__tag{ font-size:13.5px; color:var(--muted); }
.plan--pro .plan__tag{ color:rgba(255,255,255,.55); }
.plan__price{ position:relative; z-index:1; display:flex; align-items:flex-start; gap:3px; margin-bottom:6px; min-height:62px; }
.plan__cur{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:22px; margin-top:9px; }
.plan__val{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(44px,6vw,60px); letter-spacing:-.04em; line-height:1; }
.plan__per{ color:var(--muted); align-self:flex-end; margin-bottom:9px; font-size:15px; }
.plan__price--quote{ align-items:center; }
.plan__quote{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(30px,4vw,40px); letter-spacing:-.03em; line-height:1; color:#fff; }
.plan__note{ position:relative; z-index:1; font-size:14px; color:var(--muted); margin:0 0 22px; line-height:1.5; min-height:42px; }
.plan--pro .plan__note{ color:rgba(255,255,255,.62); }
.plan__list{ position:relative; z-index:1; list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:13px; }
.plan__list li{ display:flex; align-items:center; gap:11px; font-size:15px; line-height:1.35; }
.plan--pro .plan__list li{ color:rgba(255,255,255,.9); }
.plan .btn{ position:relative; z-index:1; margin-top:auto; padding-block:14px; gap:9px; }
.plan__fine{ position:relative; z-index:1; display:block; text-align:center; font-size:12.5px; color:var(--muted); margin-top:13px; }
.plan--pro .plan__fine{ color:rgba(255,255,255,.5); }
@media (max-width:720px){ .plans{ grid-template-columns:1fr; max-width:440px; } .plan__price,.plan__note{ min-height:0; } }

/* ─── O TRATO — price section ─── */
.trato {
  background: var(--dark);
  border-radius: var(--r);
  padding: 64px 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  position: relative;
  overflow: hidden;
}
.trato::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 15% 60%, oklch(0.65 0.18 55 / .10) 0%, transparent 65%);
  pointer-events: none;
}
.trato__h {
  font-size: clamp(44px, 5.5vw, 76px);
  font-weight: 800;
  line-height: 1.0;
  letter-spacing: -0.03em;
  color: #fff;
  margin: 14px 0 20px;
}
.trato__forever {
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255,255,255,.65);
  margin-bottom: 34px;
}
.trato__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.trato__no {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 15px;
  color: rgba(255,255,255,.5);
}
.trato__x {
  font-size: 15px;
  color: rgba(255,255,255,.22);
  flex: none;
  font-style: normal;
}
.trato__yes {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 15px;
  font-weight: 700;
  color: var(--accent);
  padding-top: 4px;
}
.trato__ck { flex: none; font-size: 15px; }
/* right column */
.trato__right {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.trato__num {
  display: flex;
  align-items: baseline;
  gap: 5px;
  line-height: 1;
}
.trato__cur {
  font-size: 26px;
  font-weight: 700;
  color: var(--accent);
  align-self: flex-start;
  margin-top: 10px;
}
.trato__val {
  font-size: clamp(64px, 7.5vw, 96px);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #fff;
}
.trato__per {
  font-size: 18px;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  align-self: flex-end;
  margin-bottom: 8px;
}
.trato__roi {
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255,255,255,.65);
  border-left: 3px solid var(--accent);
  padding-left: 14px;
  margin: 0;
}
.trato__roi strong { color: rgba(255,255,255,.9); font-weight: 600; }
.trato__compare {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.trato__crow {
  display: flex;
  justify-content: space-between;
  padding: 11px 16px;
  font-size: 13px;
  color: rgba(255,255,255,.4);
  border-bottom: 1px solid rgba(255,255,255,.07);
  gap: 12px;
}
.trato__crow:last-child { border-bottom: none; }
.trato__crow--hi {
  background: oklch(0.65 0.18 55 / .14);
  color: var(--accent);
  font-weight: 700;
  font-size: 13.5px;
}
@media (max-width: 880px) {
  .trato { grid-template-columns: 1fr; gap: 40px; padding: 40px 28px; }
}
@media (max-width: 480px) {
  .trato { padding: 32px 20px; }
  .trato__h { font-size: 40px; }
}

/* ─── Bridge / copy de dor — transição entre seções ─── */
.bridge-dor {
  background: var(--bg);
  padding: 0;
}
.bridge-dor__line {
  text-align: center;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 600;
  font-style: italic;
  color: var(--muted);
  line-height: 1.55;
  max-width: 560px;
  margin: 0 auto;
  padding: 44px 24px;
}
.bridge-dor__line em {
  color: var(--ink);
  font-style: normal;
}

/* ═══════════════════════════════════════════
   RESULTS v2 — redesigned stat cards
   ═══════════════════════════════════════════ */

/* ── Card A: avatar dot grid ── */
.statviz--avatars {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr);
  gap: 7px;
  width: 100%;
  height: auto !important;
  padding-top: 6px;
  align-items: stretch;
}
.statviz--avatars i {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ffcf85, var(--accent) 70%);
  box-shadow: 0 0 6px -1px rgba(243,166,60,.45);
}
body.fx-statviz .result.in .statviz--avatars i {
  animation: dotpop .45s var(--ease-spring) backwards;
  animation-delay: calc(.08s + var(--n,0) * 14ms);
}

/* ── Card B: belt pyramid ── */
.statviz--beltpyramid {
  height: auto !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 8px;
}
.bp-row {
  display: flex;
  align-items: center;
  gap: 9px;
}
.bp-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--bc);
  flex: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,.08);
}
.bp-label {
  font-size: 11.5px;
  color: rgba(255,255,255,.4);
  flex: none;
  width: 44px;
  font-weight: 500;
}
.bp-track{ flex:1; height:11px; border-radius:5px; background:rgba(255,255,255,.08); overflow:hidden; }
.bp-fill{ height:100%; background:var(--bc); width:var(--w); border-radius:5px; transform-origin:left center;
  box-shadow:0 0 12px -3px var(--bc); }
body.fx-statviz .result.in .bp-fill{ animation:beltgrow .75s var(--ease) backwards; animation-delay:calc(.18s + var(--ni,0) * .12s); }
body.fx-statviz .result.in .bp-bar{ animation:none; }

/* ── Card C: ring hero, centered ── */
.result--c{ justify-content:center !important; align-items:center; gap:16px; padding-block:32px; }
.statviz--bigring {
  height: auto !important;
  position: relative;
  width: 180px;
  margin: 0;
}
.bigring-svg {
  width: 180px;
  height: 180px;
  display: block;
}
.bigring-fill {
  transition: stroke-dashoffset .1s;
  filter: drop-shadow(0 0 7px rgba(243,166,60,.45));
}
.bigring-center {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.bigring-num {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -.035em;
  color: #fff;
  line-height: 1;
}
.result__txt--ctr{ text-align:center; max-width:none; font-size:13px; color:rgba(255,255,255,.55); margin:0; line-height:1.5; }
/* ring sweep animation */
body.fx-statviz .result.in .bigring-fill {
  animation: ringsweep2 1.3s var(--ease) .25s backwards;
}
@keyframes ringsweep2 {
  from { stroke-dashoffset: 464.96px; }
  to   { stroke-dashoffset: 0px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.fx-statviz .result.in .statviz--avatars i,
  body.fx-statviz .result.in .bp-fill,
  body.fx-statviz .result.in .bigring-fill { animation: none !important; }
  .bigring-fill { stroke-dashoffset: 0 !important; }
}

/* ═══════════════════════════════════════════
   QUOTE CINEMATIC — redesigned testimonial
   ═══════════════════════════════════════════ */
.quote-cinematic {
  background: var(--dark);
  position: relative;
  overflow: hidden;
  padding-block: clamp(88px, 13vh, 140px);
}
.qc__ghost {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(120px, 20vw, 260px);
  font-weight: 900;
  letter-spacing: -.05em;
  color: rgba(255,255,255,.028);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  line-height: 1;
  z-index: 0;
}
.qc__glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72%;
  height: 85%;
  background: radial-gradient(ellipse, oklch(0.74 0.21 58 / .11) 0%, transparent 68%);
  pointer-events: none;
  z-index: 0;
}
.qc__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
.qc__open {
  display: block;
  font-size: clamp(72px, 10vw, 128px);
  line-height: .72;
  color: var(--accent);
  opacity: .6;
  font-weight: 900;
  font-style: normal;
  margin-bottom: -10px;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.02em;
}
.qc__quote {
  font-size: clamp(19px, 2.4vw, 28px);
  font-weight: 600;
  line-height: 1.6;
  color: rgba(255,255,255,.96);
  font-style: normal;
  letter-spacing: -.01em;
  margin: 0 0 48px;
  border: none;
  padding: 0;
  text-shadow: 0 2px 32px rgba(0,0,0,.5);
}
.qc__by {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  padding: 10px 22px 10px 10px;
  backdrop-filter: blur(8px);
}
.qc__bytext { text-align: left; }
.qc__name {
  display: block;
  font-size: 15px;
  color: #fff;
  font-weight: 700;
}
.qc__role {
  display: block;
  font-size: 11px;
  color: var(--accent);
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-top: 4px;
  font-weight: 600;
  opacity: .9;
}
.qc__belts {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
}
.qc__belts span { flex: 1; background: var(--bc); }

@media (max-width:640px){
  .qc__ghost{ display:none; }
  .qc__quote br{ display:none; }
}

/* ============================================================
   PRODUCTION  ·  real <img> hero, language switch, cookie banner
   (replaces design-tool-only <image-slot> + Tweaks panel)
   ============================================================ */

/* hero: real image fill + ken-burns + parallax hook (mirrors image-slot rules) */
.hero__photo img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 38%;
  filter:grayscale(1) contrast(1.04);
  will-change:transform; transform:scale(1.16);
  transition:transform 2s var(--ease);
}
.hero.is-ready .hero__photo img{ transform:scale(1.04); }
@media (prefers-reduced-motion:reduce){
  .hero__photo img{ transform:scale(1.04) !important; transition:none !important; }
}

/* language selector (sits in nav, white over hero, ink when solid) */
.lang-switch{ display:inline-flex; gap:2px; padding:3px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); }
.lang-btn{ border:none; background:transparent; cursor:pointer; color:rgba(255,255,255,.82);
  font-family:'Satoshi',sans-serif; font-weight:700; font-size:12px; letter-spacing:.04em;
  padding:5px 10px; border-radius:999px; line-height:1; transition:background .2s, color .2s; }
.lang-btn:hover{ color:#fff; }
.lang-btn.active{ background:var(--accent); color:var(--accent-ink); }
.nav--solid .lang-switch{ background:var(--bg-soft); border-color:var(--line); }
.nav--solid .lang-btn{ color:var(--muted); }
.nav--solid .lang-btn:hover{ color:var(--ink); }
.nav--solid .lang-btn.active{ background:var(--accent); color:var(--accent-ink); }
@media (max-width:820px){ .nav__cta .lang-switch{ display:none; } }
.mobnav__cta .lang-switch{ display:inline-flex; align-self:center; margin-top:8px; background:var(--bg-soft); border-color:var(--line); }
.mobnav__cta .lang-btn{ color:var(--muted); }
.mobnav__cta .lang-btn.active{ background:var(--accent); color:var(--accent-ink); }

/* testimonial monogram avatar (replaces design-tool <image-slot>) */
.qc__avatar{ width:60px; height:60px; flex:none; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(180deg,var(--accent-2),var(--accent)); color:var(--accent-ink);
  font-family:'Satoshi',sans-serif; font-weight:800; font-size:24px; letter-spacing:-.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }

/* LGPD cookie banner */
.cookie-banner{ position:fixed; left:50%; bottom:20px; transform:translateX(-50%);
  z-index:80; width:min(720px, calc(100% - 32px));
  background:var(--dark); color:#fff; border-radius:var(--r-md);
  box-shadow:var(--shadow-lg); padding:18px 20px;
  display:flex; align-items:center; gap:18px;
  transition:opacity .3s ease, transform .3s ease; }
.cookie-banner.hidden{ opacity:0; transform:translateX(-50%) translateY(20px); pointer-events:none; }
.cookie-content{ display:flex; align-items:center; gap:18px; width:100%; flex-wrap:wrap; }
.cookie-banner p{ margin:0; font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.78); flex:1; min-width:220px; }
.cookie-banner p a{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.cookie-banner .btn{ flex:none; }
@media (max-width:560px){ .cookie-banner{ bottom:0; border-radius:var(--r-md) var(--r-md) 0 0; width:100%; } }

/* ============================================================
   HEADER POLISH  ·  effects & micro-interactions (home + blog)
   ============================================================ */

/* entrance: slide down + fade once on load */
@keyframes navDrop{ from{ transform:translateY(-100%); opacity:0; } to{ transform:none; opacity:1; } }
.nav{ animation:navDrop .7s var(--ease) both; }

/* readability scrim behind the transparent nav (fades out when solid) */
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(8,7,5,.6) 0%, rgba(8,7,5,.28) 55%, rgba(8,7,5,0) 100%);
  opacity:1; transition:opacity .35s var(--ease);
}
.nav--solid::before{ opacity:0; }
/* blog nav is always solid → no scrim needed */
body.blog .nav::before{ display:none; }

/* condense on scroll: tighter padding + slightly smaller logo when solid */
.nav__inner{ transition:padding-block .35s var(--ease); }
.nav--solid .nav__inner{ padding-block:12px; }
.brand__logo{ transition:height .35s var(--ease), transform .25s var(--ease); }
.nav--solid .brand__logo{ height:22px; }
.brand:hover .brand__logo{ transform:translateY(-1px); }

/* animated amber underline on nav links (hover + active) */
.nav__links a{ position:relative; }
.nav__links a::after{
  content:""; position:absolute; left:0; right:0; bottom:-5px; height:2px; border-radius:2px;
  background:var(--accent); transform:scaleX(0); transform-origin:left center;
  transition:transform .26s var(--ease);
}
.nav__links a:hover::after,
.nav__links a.is-active::after{ transform:scaleX(1); }

/* quiet link (Entrar/Log in): subtle amber on hover */
.link-quiet{ transition:color .2s var(--ease); }
.nav:not(.nav--solid) .link-quiet:hover{ color:var(--accent-2); }

/* header CTA: warm glow on hover (scoped to the nav button) */
.nav .btn--accent{ box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 2px 10px rgba(243,166,60,.28); }
.nav .btn--accent:hover{ box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 6px 22px rgba(243,166,60,.5); }

/* language switch: smoother + active pop */
.lang-btn{ transition:background .2s var(--ease), color .2s var(--ease), transform .15s var(--ease); }
.lang-btn:active{ transform:scale(.92); }
.lang-btn.active{ box-shadow:0 2px 8px rgba(243,166,60,.35); }

/* (cursor-follow header glow removed — felt heavy over the hero photo) */

/* scroll progress bar already exists (.scrollprog) — lift it above the nav scrim */
.scrollprog{ z-index:72; }

@media (prefers-reduced-motion:reduce){
  .nav{ animation:none !important; }
  .nav__links a::after{ transition:none !important; }
  .brand__logo,.nav__inner{ transition:none !important; }
}

/* ============================================================
   HERO FX  ·  "embers & light" — ambient amber atmosphere
   Layered above the scrim, below the copy. Photo stays the subject.
   ============================================================ */
.hero__fx{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }

/* warm light-leak / aurora that slowly breathes near the top edge */
.hero__fx::before{
  content:""; position:absolute; left:50%; top:-26%; width:min(1100px,120%); height:78%;
  background:radial-gradient(closest-side, rgba(243,166,60,.20), rgba(243,166,60,.06) 46%, transparent 72%);
  filter:blur(46px); mix-blend-mode:screen; will-change:transform,opacity;
  animation:heroAurora 16s ease-in-out infinite alternate;
}
/* a second, deeper glow rising from the lower-left for cinematic depth */
.hero__fx::after{
  content:""; position:absolute; left:-8%; bottom:-22%; width:62%; height:64%;
  background:radial-gradient(closest-side, rgba(236,154,40,.16), transparent 70%);
  filter:blur(54px); mix-blend-mode:screen; will-change:transform,opacity;
  animation:heroGlowB 19s ease-in-out infinite alternate;
}
@keyframes heroAurora{
  0%{ transform:translate(-54%,0) scale(1); opacity:.85; }
  100%{ transform:translate(-46%,5%) scale(1.14); opacity:1; }
}
@keyframes heroGlowB{
  0%{ transform:translate(0,0) scale(1); opacity:.6; }
  100%{ transform:translate(7%,-6%) scale(1.18); opacity:.95; }
}

/* drifting amber embers (canvas drawn by landing.js) */
.hero__embers{ position:absolute; inset:0; width:100%; height:100%; mix-blend-mode:screen; opacity:.9; }

/* faint flowing contour lines (Syntask-style) — pure CSS, very low key */
.hero__lines{
  position:absolute; inset:-10%; opacity:.5; mix-blend-mode:screen;
  background:
    radial-gradient(140% 120% at 80% -10%, transparent 38%, rgba(243,166,60,.05) 39%, transparent 41%),
    radial-gradient(160% 130% at 88% -16%, transparent 52%, rgba(255,255,255,.04) 53%, transparent 55%),
    radial-gradient(180% 150% at 96% -22%, transparent 64%, rgba(243,166,60,.04) 65%, transparent 67%);
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
  .hero__fx::before,.hero__fx::after{ animation:none !important; }
  .hero__embers{ display:none; }
}
@media (max-width:680px){
  .hero__fx::before{ filter:blur(34px); }
  .hero__lines{ display:none; }
}

/* ============================================================
   LIFECYCLE  ·  "do primeiro clique ao tatame" — cinematic journey
   Dark band, amber connecting line, real mini-mocks per stage.
   ============================================================ */
.lifecycle{ position:relative; overflow:hidden; background:#0E0D0A; color:#fff;
  padding-block:clamp(72px,9vw,120px); --node-y:178px; }
.lifecycle__bg{ position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(243,166,60,.16) 1.4px, transparent 1.6px);
  background-size:26px 26px;
  -webkit-mask:radial-gradient(130% 100% at 50% -10%, #000 22%, transparent 70%);
  mask:radial-gradient(130% 100% at 50% -10%, #000 22%, transparent 70%); opacity:.6; }
.lifecycle__bg::after{ content:""; position:absolute; left:50%; top:-20%; width:min(1000px,120%); height:70%;
  transform:translateX(-50%); background:radial-gradient(closest-side, rgba(243,166,60,.16), transparent 70%); filter:blur(50px); }
.lifecycle > .wrap{ position:relative; z-index:2; }
.lifecycle__head{ text-align:center; max-width:680px; margin:0 auto clamp(44px,6vw,72px); }
.kicker--amber{ color:var(--accent-2); justify-content:center; }
.kicker--amber::before{ background:var(--accent); }
.lifecycle__head h2{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:clamp(30px,4.2vw,52px);
  letter-spacing:-.025em; line-height:1.06; margin:16px 0 0; color:#fff; text-wrap:balance; }
.lifecycle__head p{ margin:18px auto 0; max-width:54ch; color:rgba(255,255,255,.66); font-size:clamp(16px,1.4vw,18.5px); line-height:1.55; }

/* journey row */
.journey{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
/* the amber line running through the nodes */
.journey::before{ content:""; position:absolute; left:0; right:0; top:calc(var(--node-y,210px)); height:2px; z-index:0;
  background:linear-gradient(90deg, rgba(243,166,60,0), var(--accent) 12%, var(--accent) 88%, rgba(243,166,60,0));
  background-size:200% 100%; animation:journeyFlow 6s linear infinite; }
@keyframes journeyFlow{ from{ background-position:0 0; } to{ background-position:-200% 0; } }
.stage{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.stage__mock{ width:100%; max-width:188px; height:160px; background:#fff; color:var(--ink); border-radius:16px;
  border:1px solid rgba(255,255,255,.1); box-shadow:0 18px 40px rgba(0,0,0,.4); padding:14px; margin-bottom:34px;
  display:flex; flex-direction:column; gap:8px; text-align:left; overflow:hidden; }
.stage__node{ position:absolute; top:calc(var(--node-y,210px) - 15px); width:30px; height:30px; border-radius:50%;
  background:#0E0D0A; border:2px solid var(--accent); color:var(--accent-2); display:grid; place-items:center;
  font-family:'Satoshi',sans-serif; font-weight:800; font-size:13px; box-shadow:0 0 0 5px #0E0D0A, 0 0 18px rgba(243,166,60,.5); }
.stage__t{ font-family:'Satoshi',sans-serif; font-weight:700; font-size:16px; letter-spacing:-.01em; margin:18px 0 5px; color:#fff; display:flex; flex-direction:column; gap:8px; align-items:center; line-height:1.2; }
.stage__d{ margin:0; font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.6); max-width:24ch; }
.tag-new{ font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-ink); background:var(--accent); padding:2px 7px; border-radius:999px; }

/* mock internals (compact, reuse brand tokens) */
.smock__h{ font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; }
.smock__line{ height:9px; border-radius:5px; background:var(--bg-soft); }
.smock__line.sm{ width:60%; }
.smock__ok{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:#2E8B57; margin-top:auto; }
.smock__ok::before{ content:""; width:14px; height:14px; border-radius:50%; background:#37A66A; position:relative; }
.smock__sign{ stroke:var(--ink); }
.smock__card{ border-radius:10px; background:linear-gradient(135deg,var(--accent-2),var(--accent)); height:54px; position:relative; box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
.smock__card span{ position:absolute; left:12px; bottom:10px; font-size:11px; font-weight:800; color:var(--accent-ink); }
.smock__inst{ display:flex; gap:5px; }
.smock__inst i{ flex:1; height:7px; border-radius:3px; background:var(--accent); opacity:.35; }
.smock__inst i.on{ opacity:1; }
.smock__faceid{ position:relative; height:74px; border-radius:10px; overflow:hidden;
  background:radial-gradient(120% 100% at 50% 35%, #2a2823, #14130f); display:grid; place-items:center; }
.smock__faceid svg{ width:50px; height:50px; }
.fid-bracket{ stroke:var(--accent); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.fid-head{ stroke:rgba(255,255,255,.82); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.smock__faceid .smock__scan{ position:absolute; left:24%; right:24%; top:16px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent) 50%, transparent);
  box-shadow:0 0 9px 1px rgba(243,166,60,.6);
  animation:fidscan 2.6s var(--ease) infinite; }
@keyframes fidscan{ 0%{ transform:translateY(0); opacity:0; } 14%{ opacity:1; } 86%{ opacity:1; } 100%{ transform:translateY(42px); opacity:0; } }

/* ── subtle looping micro-animations on the other mock cards ── */
/* item 1 — enrollment lines shimmer (filling the form) */
.smock__line{ position:relative; overflow:hidden; }
.smock__line::after{ content:""; position:absolute; inset:0; transform:translateX(-110%);
  background:linear-gradient(90deg, transparent, rgba(243,166,60,.55), transparent);
  animation:lineshim 3.6s var(--ease) infinite; }
.smock__line.sm::after{ animation-delay:.45s; }
@keyframes lineshim{ 0%{ transform:translateX(-110%); } 32%,100%{ transform:translateX(110%); } }

/* item 2 — signature draws itself */
.smock__sign path{ stroke-dasharray:152; stroke-dashoffset:152; animation:signdraw 4.4s var(--ease) infinite; }
@keyframes signdraw{ 0%{ stroke-dashoffset:152; opacity:1; } 36%{ stroke-dashoffset:0; opacity:1; } 86%{ stroke-dashoffset:0; opacity:1; } 100%{ stroke-dashoffset:0; opacity:0; } }

/* item 3 — installments light up one by one */
.smock__inst i{ animation:instfill 3.8s var(--ease) infinite; }
.smock__inst i:nth-child(1){ animation-delay:.2s; }
.smock__inst i:nth-child(2){ animation-delay:.45s; }
.smock__inst i:nth-child(3){ animation-delay:.7s; }
.smock__inst i:nth-child(4){ animation-delay:.95s; }
.smock__inst i:nth-child(5){ animation-delay:1.2s; }
@keyframes instfill{ 0%{ opacity:.3; } 14%{ opacity:1; } 72%{ opacity:1; } 88%,100%{ opacity:.3; } }

/* all cards — confirmation dot heartbeat */
.smock__ok::before{ animation:okpulse 3s ease-in-out infinite; }
@keyframes okpulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(55,166,106,0); } 50%{ box-shadow:0 0 0 4px rgba(55,166,106,.18); } }

@media (prefers-reduced-motion:reduce){
  .smock__faceid .smock__scan{ animation:none; opacity:.7; }
  .smock__line::after,.smock__inst i,.smock__ok::before{ animation:none; }
  .smock__sign path{ animation:none; stroke-dashoffset:0; }
}

/* operational layer (the rest) */
.oplayer{ margin-top:clamp(44px,6vw,64px); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; }
.oplayer__label{ font-size:13px; font-weight:600; color:rgba(255,255,255,.5); margin-right:4px; }
.opchip{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:9px 16px; border-radius:999px; transition:border-color .2s, background .2s; }
.opchip::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.opchip:hover{ background:rgba(243,166,60,.1); border-color:rgba(243,166,60,.4); }

.journey.reveal .stage{ opacity:0; transform:translateY(20px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.journey.reveal.in .stage{ opacity:1; transform:none; }
.journey.reveal.in .stage:nth-child(3){ transition-delay:.08s; }
.journey.reveal.in .stage:nth-child(4){ transition-delay:.16s; }
.journey.reveal.in .stage:nth-child(5){ transition-delay:.24s; }
.journey.reveal.in .stage:nth-child(6){ transition-delay:.32s; }

@media (max-width:920px){
  .journey{ grid-template-columns:1fr; gap:0; max-width:440px; margin-inline:auto; padding-left:46px; }
  .journey::before{ left:15px; right:auto; top:0; bottom:0; width:2px; height:auto;
    background:linear-gradient(180deg, rgba(243,166,60,0), var(--accent) 8%, var(--accent) 92%, rgba(243,166,60,0)); animation:none; }
  .stage{ flex-direction:row; align-items:flex-start; text-align:left; gap:16px; padding-bottom:30px; }
  .stage__mock{ order:3; margin-bottom:0; max-width:200px; }
  .stage__node{ position:absolute; left:-46px; top:2px; }
  .stage__t{ align-items:flex-start; margin-top:0; }
  .stage__d{ max-width:none; }
  .stage__body{ flex:1; }
}
@media (prefers-reduced-motion:reduce){
  .journey::before{ animation:none !important; }
  .journey.reveal .stage{ opacity:1 !important; transform:none !important; }
}
