/* Imaginie design system v1 · componentes compartilhados (todas as páginas) */
/* layout */
.container{max-width:var(--container);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.section{padding-block:var(--section-y)}
.section--white{background:var(--white)}
.section--alt{background:var(--bg)}
.section--ink{background:var(--ink);color:var(--text-on-dark)}
.section--primary{background:var(--primary);color:var(--text-on-dark)}
.section--gradient{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--text-on-dark)}
.section--ink p,.section--primary p,.section--gradient p{color:var(--text-on-dark-muted)}
.section--ink h2,.section--primary h2,.section--gradient h2{color:var(--text-on-dark)}
.section-head{display:grid;gap:var(--sp-2);max-width:760px;margin-bottom:var(--sp-6)}
.section-head--center{margin-inline:auto;text-align:center;justify-items:center}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--text-muted)}
.on-dark .lead{color:var(--text-on-dark-muted)}
.eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-dark)}
.on-dark .eyebrow{color:var(--cta-green)}
.section--primary .eyebrow{color:var(--accent)}
.hl-pink{color:var(--cta-pink)} .hl-green{color:var(--cta-green)} .hl-primary{color:var(--primary)}
.grid{display:grid;gap:var(--sp-3)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr)}}
.stack{display:grid;gap:var(--sp-2)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:48px;padding:0 var(--sp-3);border-radius:var(--r-pill);font:inherit;font-size:var(--fs-body);font-weight:600;line-height:1;cursor:pointer;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-decoration:none!important;text-align:center;line-height:1.2;padding-block:10px}
.btn:hover{transform:translateY(-1px)}
.btn--lg{min-height:56px;padding-inline:var(--sp-4)}
.btn--sm{min-height:44px;padding-inline:var(--sp-2);font-size:var(--fs-small);white-space:nowrap}
.btn--pink{background:var(--cta-pink);color:var(--white);box-shadow:var(--shadow-cta)}
.btn--pink:hover{background:#a12a5c}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:rgba(31,31,96,.06)}
.on-dark .btn--outline,.hero--collage .btn--outline{color:var(--white);border-color:rgba(255,255,255,.7)}
.on-dark .btn--outline:hover{background:rgba(255,255,255,.1)}
.btn--ghost{background:rgba(255,255,255,.14);color:var(--white)}
.btn--ghost:hover{background:rgba(255,255,255,.22)}
.btn--full{width:100%}
.btn svg{width:18px;height:18px;flex-shrink:0}

/* chips e badges */
.badge{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:32px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.02em;line-height:1}
.badge--green{background:var(--cta-green);color:var(--ink)}
.badge--pink{background:var(--cta-pink);color:var(--white)}
.badge--primary{background:var(--primary);color:var(--white)}
.badge--soft{background:rgba(180,232,57,.22);color:var(--primary-dark);border:1px solid rgba(74,33,180,.18)}
.badge--outline{background:var(--white);color:var(--ink);border:1px solid var(--border)}

/* cards */
.card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-1);display:grid;gap:var(--sp-2);align-content:start;position:relative;min-width:0}
.on-dark .card p{color:var(--text)}
@media (max-width:768px){.card{padding:var(--sp-3)}}
.card--hover:hover{box-shadow:var(--shadow-2)}
.card__tag{position:absolute;top:-14px;right:var(--sp-3)}
.card--dark{background:var(--ink);color:var(--text-on-dark);border-color:transparent}

/* ── header ───────────────────────────────── */
.promo{background:var(--primary-dark);color:var(--text-on-dark)}
.promo__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:48px;flex-wrap:wrap;padding-block:6px;font-size:var(--fs-small)}
.promo__actions{display:flex;align-items:center;gap:var(--sp-2)}
.promo__timer{white-space:nowrap;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.14);padding:6px 12px;border-radius:var(--r-sm);font-weight:700}
.util{background:var(--ink);color:var(--text-on-dark)}
.util__in{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:var(--sp-2)}
.seg{display:inline-flex;background:rgba(255,255,255,.1);border-radius:var(--r-pill);padding:2px}
.seg a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--sp-2);white-space:nowrap;border-radius:var(--r-pill);font-size:var(--fs-small);font-weight:600;color:rgba(255,255,255,.9)}
.seg a[aria-current="page"]{background:var(--white);color:var(--ink)}
.util__login{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font-size:var(--fs-small);font-weight:600}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--white)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:var(--nav-h)}
.brand{display:inline-flex;align-items:center;min-height:44px}
.brand img{height:32px;width:auto}
.nav__links{display:flex;align-items:center;gap:var(--sp-1);list-style:none}
.nav__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;white-space:nowrap;border-radius:var(--r-pill);font-size:var(--fs-small);font-weight:600;color:var(--ink)}
.nav__links a:hover{background:var(--bg);text-decoration:none}
.nav__cta{margin-left:var(--sp-1)}
.nav__links a.btn--pink{color:var(--white)}
.nav__links a.btn--pink:hover{background:#a12a5c}
.nav__links a{min-width:44px;white-space:nowrap}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--white);align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
@media (max-width:1180px){
  .nav__links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;padding:var(--sp-2) var(--gutter) var(--sp-3);gap:4px;box-shadow:var(--shadow-2)}
  .nav__links.is-open{display:flex}
  .nav__links a{min-height:48px}
  .nav__cta{margin:var(--sp-1) 0 0}
  .menu-btn{display:inline-flex}
}
.strip{background:rgba(180,232,57,.18);border-bottom:1px solid var(--border)}
.strip a{display:block;text-align:center;min-height:44px;line-height:1.4;font-size:var(--fs-small);font-weight:600;color:var(--primary-dark);padding-block:12px}

/* ── hero ─────────────────────────────────── */
.hero{padding-block:var(--sp-10) var(--sp-12);position:relative;overflow:hidden;background:var(--bg)}
.hero__glow{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(40px);pointer-events:none;opacity:.5}
.hero__glow--r{right:-140px;top:-120px;background:radial-gradient(closest-side,rgba(103,53,234,.28),transparent 70%)}
.hero__glow--l{left:-200px;bottom:-200px;background:radial-gradient(closest-side,rgba(180,232,57,.35),transparent 70%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--sp-6);align-items:center;position:relative}
@media (max-width:1024px){.hero__grid{grid-template-columns:minmax(0,1fr)}}
.hero__copy{display:grid;gap:var(--sp-3)}
.hero__h1 .scribble{background:linear-gradient(var(--cta-pink),var(--cta-pink)) no-repeat 0 90%/100% .16em;padding-bottom:.02em}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border);max-width:560px}
.stat__val{font-size:32px;font-weight:700;color:var(--primary);line-height:1;font-variant-numeric:tabular-nums}
.stat__lbl{font-size:var(--fs-small);color:var(--text-muted);margin-top:6px}
@media (max-width:768px){.hero{padding-block:var(--sp-6) var(--sp-8)} .stat__val{font-size:28px} .hero__stats{gap:var(--sp-2)} .promo__validity{display:none} .seg a{padding:0 12px;font-size:13px} .util__login{font-size:13px}}

/* mockup do celular (decorativo) */
.phone-wrap{position:relative;width:min(100%,340px);margin-inline:auto}
.phone{background:var(--ink);border-radius:40px;padding:12px;box-shadow:var(--shadow-2)}
.phone__screen{background:var(--bg);border-radius:30px;overflow:hidden;padding:var(--sp-2);display:grid;gap:12px;font-size:12px}
.m-row{display:flex;justify-content:space-between;align-items:center}
.m-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.m-title{font-size:14px;font-weight:700}
.m-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:grid;gap:8px}
.m-line{height:6px;border-radius:3px;background:rgba(31,31,96,.14)}
.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-note{border-radius:var(--r-sm);padding:10px;font-size:12px;font-weight:600;line-height:1.35}
.m-note--good{background:rgba(160,234,230,.4)}
.m-note--dev{background:rgba(182,47,104,.1)}
.m-note b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.m-note--good b{color:var(--primary-dark)} .m-note--dev b{color:var(--cta-pink)}
.m-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end;height:72px}
.m-bar{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:100%}
.m-bar i{display:block;width:34%;border-radius:4px 4px 0 0;background:rgba(31,31,96,.16)}
.m-bar i+i{background:var(--primary)}
.m-axis{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;font-size:12px;font-weight:600;color:var(--text-muted)}
.float{position:absolute;background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:12px}
.float--toast{left:-24px;top:-28px;transform:rotate(-4deg)}
.float--corr{right:-20px;top:72px;transform:rotate(3deg)}
.float--pts{right:-12px;bottom:40px;background:var(--cta-green);color:var(--ink);border-color:transparent;flex-direction:column;gap:2px;text-align:center;transform:rotate(-6deg);padding:12px 16px}
.float--pts strong{font-size:24px;line-height:1}
.float .dot{width:28px;height:28px;border-radius:50%;background:var(--cta-green);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-dark)}
.float .av{width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
@media (max-width:1024px){.phone-wrap{margin-top:var(--sp-4)} .float--toast{left:0} .float--corr{right:0}}

/* ── preço ─────────────────────────────────── */
.price-box{max-width:560px;margin-inline:auto;background:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:var(--sp-4);display:grid;gap:var(--sp-3);box-shadow:var(--shadow-2)}
@media (max-width:768px){.price-box{padding:var(--sp-3)}}
.coupon{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);background:var(--primary);border-radius:var(--r-md);padding:12px 12px 12px 20px;color:var(--white);font-size:var(--fs-small)}
.coupon code{font-family:inherit;font-weight:700;font-size:var(--fs-body)}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(255,255,255,.08);border-radius:var(--r-pill);padding:4px}
.tab{min-height:44px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text-on-dark-muted);font:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer;padding:0 var(--sp-2)}
.tab[aria-selected="true"]{background:var(--cta-green);color:var(--ink)}
.panel{display:grid;gap:var(--sp-2)}
.panel[hidden]{display:none}
.price-box h3{color:var(--white)}
.price-sub{font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.price-val{font-size:32px;font-weight:700;color:var(--cta-green);line-height:1.1}
.price-val small{display:block;font-size:var(--fs-small);font-weight:400;color:var(--text-on-dark-muted);margin-top:4px}
.checks{list-style:none;display:grid;gap:10px;font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks svg{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:var(--cta-green)}
.price-foot{text-align:center;font-size:var(--fs-small);color:var(--text-muted);margin:var(--sp-3) auto 0;max-width:none}

/* ── prova social ──────────────────────────── */
.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--sp-6);align-items:center}
@media (max-width:1024px){.proof{grid-template-columns:minmax(0,1fr)}}
.logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-2)}
@media (max-width:768px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.logo-slot{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-1);display:grid;gap:var(--sp-1);justify-items:center;text-align:center}
.logo-slot img{height:56px;width:100%;object-fit:contain;background:var(--white);border-radius:var(--r-sm);padding:6px}
.logo-slot span{font-size:var(--fs-eyebrow);font-weight:700}

/* ── método ────────────────────────────────── */
.fv{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2);height:160px;display:grid;align-content:center;gap:8px;font-size:12px}
.fv .m-card{padding:10px}
.fv-num{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cta-pink)}
.fv-steps{display:flex;align-items:center;gap:8px}
.fv-chip{background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px;font-weight:700;text-align:center;flex:1;position:relative}
.fv-chip .one{position:absolute;top:-10px;right:-6px}
.ring{width:80px;height:80px;border-radius:50%;background:var(--cta-green);color:var(--primary-dark);display:grid;place-items:center;text-align:center;font-weight:700;line-height:1;flex-shrink:0}
.ring strong{font-size:24px}
.ring small{font-size:12px;letter-spacing:.06em;text-transform:uppercase}

/* ── como funciona ─────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);position:relative}
@media (max-width:1024px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{display:grid;gap:var(--sp-2);align-content:start;min-width:0}
.step__num{width:48px;height:48px;border-radius:50%;background:var(--cta-green);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:var(--fs-body)}
.step h3{color:var(--white);font-size:var(--fs-h4)}
.step p{font-size:var(--fs-small)}
.steps-close{margin-top:var(--sp-6);text-align:center;max-width:none;font-size:var(--fs-lead)}

/* ── depoimentos ───────────────────────────── */
.testi-head{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap}
.testi-nav{display:flex;gap:var(--sp-1);align-items:center}
.testi-nav button{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer}
.testi-nav button:hover{background:rgba(255,255,255,.12)}
.testi-counter{font-size:var(--fs-small);font-weight:600;min-width:56px;text-align:center;font-variant-numeric:tabular-nums}
.testi{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--sp-1);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.testi::-webkit-scrollbar{display:none}
.testi .card{flex:0 0 min(100%,360px);scroll-snap-align:start;gap:var(--sp-3);padding:var(--sp-4)}
.testi .card--dark{flex-basis:min(100%,460px)}
.quote{font-size:var(--fs-body);line-height:1.6}
.card--dark .quote{font-size:var(--fs-lead)}
.quote::before{content:"\201C";color:var(--cta-pink);font-weight:700;font-size:1.4em;line-height:0;margin-right:4px}
.on-dark .card--dark p,.card--dark p{color:var(--text-on-dark)}
.author{display:flex;align-items:center;gap:12px;margin-top:auto}
.author .av{width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:var(--fs-small);flex-shrink:0}
.card--dark .av{background:var(--cta-pink)}
.author b{display:block;font-size:var(--fs-small)}
.author span{font-size:var(--fs-eyebrow);color:var(--text-muted)}
.card--dark .author span{color:var(--text-on-dark-muted)}
.dots{display:flex;justify-content:center;gap:4px;margin-top:var(--sp-3)}
.dots button{width:44px;height:44px;background:transparent;border:0;display:grid;place-items:center;cursor:pointer}
.dots button i{display:block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);transition:width .2s}
.dots button[aria-current="true"] i{width:28px;border-radius:var(--r-pill);background:var(--cta-green)}

/* ── perfis ────────────────────────────────── */
.icon-box{width:56px;height:56px;border-radius:var(--r-md);display:grid;place-items:center}
.icon-box--green{background:rgba(180,232,57,.25);color:var(--primary-dark)}
.icon-box--pink{background:rgba(182,47,104,.12);color:var(--cta-pink)}
.icon-box--primary{background:rgba(103,53,234,.12);color:var(--primary)}
.card .more{font-size:var(--fs-small);font-weight:600;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:auto}

/* ── cta final ─────────────────────────────── */
.final{text-align:center}
.final h2{font-size:var(--fs-display);max-width:20ch;margin-inline:auto}
.final .lead{margin-inline:auto;margin-top:var(--sp-3)}
.final__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}
.underline-green{position:relative;display:inline-block}
.underline-green::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.16em;background:var(--cta-green);opacity:.9;z-index:-1;border-radius:var(--r-pill)}

/* ── faq ───────────────────────────────────── */
.faq{max-width:760px;margin-inline:auto;display:grid;gap:var(--sp-2)}
.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3);font-size:var(--fs-h4);font-weight:600;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{width:32px;height:32px;border-radius:50%;background:var(--bg);display:grid;place-items:center;flex-shrink:0;transition:transform .2s;color:var(--primary)}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq details p{padding:0 var(--sp-3) var(--sp-3);color:var(--text-muted);max-width:none}

/* ── footer ────────────────────────────────── */
.footer{background:var(--ink);color:var(--text-on-dark);padding-block:var(--sp-10) var(--sp-6)}
.footer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5)}
@media (max-width:768px){.footer__grid{grid-template-columns:minmax(0,1fr)}}
.footer h3{color:var(--white);font-size:var(--fs-h4);margin-bottom:var(--sp-2)}
.footer ul{list-style:none;display:grid}
.footer li a,.footer li span{display:inline-flex;align-items:center;min-height:44px;color:var(--cta-green);font-size:var(--fs-small)}
.footer li span{color:var(--text-on-dark-muted)}
.footer__legal{border-top:1px solid rgba(255,255,255,.14);margin-top:var(--sp-6);padding-top:var(--sp-5);display:grid;gap:var(--sp-2);font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.footer__legal img{height:28px;width:auto}
.seals{display:flex;flex-wrap:wrap;gap:var(--sp-1)}
.seals span{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-pill);font-size:var(--fs-eyebrow);font-weight:600;color:var(--white)}

/* ── whatsapp float ────────────────────────── */
.wa{position:fixed;right:calc(var(--sp-2) + env(safe-area-inset-right,0px));bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--r-pill);background:var(--wa);color:var(--white);font-weight:700;font-size:var(--fs-small);box-shadow:var(--shadow-2);text-decoration:none!important}
.wa svg{width:20px;height:20px}
@media (max-width:768px){.wa span{display:none} .wa{padding:0 14px}}


/* ── hero v2: colagem moderada (B2C) ── */
.hero--collage{background:var(--ink);color:var(--text-on-dark)}
.hero--collage .hero__glow--r{background:radial-gradient(closest-side,rgba(103,53,234,.55),transparent 70%);opacity:.9}
.hero--collage .hero__glow--l{background:radial-gradient(closest-side,rgba(180,232,57,.18),transparent 70%)}
.hero--collage .badge--outline{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.2)}
.hero--collage .hero__h1{color:var(--white)}
.hero--collage .lead{color:var(--text-on-dark-muted)}
.hero--collage .lead strong{color:var(--cta-green)}
.hero--collage .hero__stats{border-top-color:rgba(255,255,255,.18)}
.hero--collage .stat__val{color:var(--cta-green)}
.hero--collage .stat__lbl{color:var(--text-on-dark-muted)}
.mark{background:var(--cta-green);color:var(--ink);padding:0 .12em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.circle-mark{position:relative;display:inline-block;white-space:nowrap;padding:0 .08em}
.circle-mark svg{position:absolute;left:-6%;top:-14%;width:112%;height:128%;pointer-events:none;overflow:visible}
.circle-mark svg path{fill:none;stroke:var(--cta-green);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.collage{position:relative;width:min(100%,500px);aspect-ratio:500/540;margin-inline:auto;cursor:default}
.collage__blob{position:absolute;inset:6% 0 8% 6%;background:var(--cta-green);border-radius:46% 54% 42% 58% / 54% 42% 58% 46%}
.collage__fig{position:absolute;left:2%;bottom:0;width:96%;height:auto;filter:grayscale(1) contrast(1.05);max-height:100%;object-fit:contain;object-position:bottom}
.collage__paper{position:absolute;left:-6%;bottom:10%;width:44%;background:var(--white);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-2);transform:rotate(-4deg);display:grid;gap:8px;color:var(--text)}
.collage__paper .m-label{font-size:12px}
.collage__paper .lines{position:relative;display:grid;gap:7px}
.collage__paper .m-line{background:rgba(31,31,96,.16)}
.collage__paper svg.marks{position:absolute;inset:-6px -4px;width:calc(100% + 8px);height:calc(100% + 12px);overflow:visible}
.collage__paper svg.marks path,.collage__paper svg.marks ellipse{fill:none;stroke:var(--cta-pink);stroke-width:2;stroke-linecap:round}
.collage__pts{position:absolute;right:0;top:5%;background:var(--white);color:var(--ink);border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--shadow-2);transform:rotate(4deg);text-align:center;line-height:1}
.collage__pts strong{display:block;font-size:28px;color:var(--primary)}
.collage__pts span{font-size:12px;font-weight:600;color:var(--text-muted)}
.collage__toast{position:absolute;right:-2%;bottom:30%;background:var(--ink);color:var(--white);border:2px solid var(--cta-green);border-radius:var(--r-pill);padding:8px 14px 8px 8px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;transform:rotate(-4deg);box-shadow:var(--shadow-2)}
.collage__toast .dot{width:24px;height:24px;border-radius:50%;background:var(--cta-green);color:var(--ink);display:grid;place-items:center}
.collage__scribble{position:absolute;left:-8%;top:4%;width:22%;overflow:visible}
.collage__scribble path{fill:none;stroke:var(--cta-green);stroke-width:3;stroke-linecap:round}
@media (max-width:1024px){.collage{margin-top:var(--sp-3);width:min(100%,400px)}}
/* marcador de texto nas seções escuras */
.marker{background:linear-gradient(var(--cta-green),var(--cta-green)) no-repeat 0 78%/100% .42em;color:var(--white);padding:0 .1em}
.section--ink .marker,.section--primary .marker{color:var(--white)}
/* ── barra do protótipo (só para validação) ── */
.proto{position:fixed;left:calc(var(--sp-2) + env(safe-area-inset-left,0px));bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px));z-index:40;display:flex;gap:6px}
.proto button{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white);color:var(--ink);font:inherit;font-size:var(--fs-eyebrow);font-weight:700;cursor:pointer;box-shadow:var(--shadow-1)}
.proto button[aria-pressed="true"]{background:var(--ink);color:var(--white)}
body.show-grid::after{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;background-image:linear-gradient(rgba(182,47,104,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(182,47,104,.18) 1px,transparent 1px);background-size:8px 8px}

/* ── componentes B2B (para-escolas, imaginie-hub e demais páginas institucionais) ── */
/* ── componentes B2B (para-escolas, imaginie-hub) ── */
.hero--dark{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--text-on-dark)}
.hero--dark h1{color:var(--white)}
.hero--dark .lead{color:var(--text-on-dark-muted)}
.hero--dark .eyebrow{color:var(--cta-green)}
.hero__grid--b2b{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
@media (max-width:1024px){.hero__grid--b2b{grid-template-columns:minmax(0,1fr)}}
.hero__photo{max-width:380px;position:relative;margin-top:var(--sp-2)}
.hero__photo img{position:relative;width:100%;height:auto;filter:grayscale(1) contrast(1.05)}
.hero__photo-blob{position:absolute;inset:14% 4% 0 8%;background:rgba(255,255,255,.12);border-radius:46% 54% 42% 58% / 54% 42% 58% 46%}
.split__media--cut{position:relative;padding-top:var(--sp-4)}
.split__media--cut .hero__photo-blob{inset:10% 6% 0 10%;background:rgba(103,53,234,.14)}
.split__media--cut img{position:relative;border-radius:0;box-shadow:none}
.hero__stats--dark{border-top-color:rgba(255,255,255,.2);max-width:none}
.hero__stats--dark .stat__val{color:var(--cta-green)}
.hero__stats--dark .stat__lbl{color:var(--text-on-dark-muted)}
.card--form{box-shadow:var(--shadow-2);position:sticky;top:calc(var(--nav-h) + var(--sp-3))}
@media (max-width:1024px){.card--form{position:relative;top:auto}}
.card--form h3{font-size:var(--fs-h4)}
.card--form>p{font-size:var(--fs-small);color:var(--text-muted)}
.form{display:grid;gap:var(--sp-2)}
.field{display:grid;gap:6px}
.field label{font-size:var(--fs-small);font-weight:600}
.field input{font:inherit;font-size:var(--fs-body);min-height:48px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--white);color:var(--text);width:100%}
.field input::placeholder{color:var(--text-muted)}
.field input:focus-visible{outline:3px solid var(--cta-green);outline-offset:2px;border-color:var(--primary)}
.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-small);font-weight:600;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--primary)}
.card--outline-green{border:2px solid var(--cta-green);box-shadow:var(--shadow-2)}
.card--outline-green h3{color:var(--white)}
.card--outline-green .checks{color:var(--text-on-dark)}
.card--highlight{border-color:var(--cta-pink)}
.section-close{text-align:center;max-width:640px;margin:var(--sp-6) auto 0;font-size:var(--fs-lead)}
.on-dark .card h3{color:var(--text)}
.on-dark .card--dark h3,.on-dark .card--outline-green h3,.card--dark h3{color:var(--white)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);text-align:center}
@media (max-width:768px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.metrics .stat__lbl{max-width:22ch;margin-inline:auto}
.pull-quote{max-width:720px;margin:var(--sp-6) auto 0;text-align:center;display:grid;gap:var(--sp-2);justify-items:center}
.pull-quote .quote{font-size:var(--fs-lead);color:var(--text)}
.pull-quote figcaption{font-size:var(--fs-small);font-weight:600;color:var(--text-muted)}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--sp-6);align-items:center}
@media (max-width:1024px){.split{grid-template-columns:minmax(0,1fr)}}
.split__media img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-2);filter:grayscale(1) contrast(1.05)}
.split--promo{align-items:center}
.stack--lg{gap:var(--sp-3)}
.bullet-block{display:grid;gap:var(--sp-1);padding-left:var(--sp-3);border-left:3px solid var(--cta-green)}
.bullet-block h3{font-size:var(--fs-h4)}
.bullet-block p{font-size:var(--fs-small);color:var(--text-muted)}
.checks--lg{font-size:var(--fs-body);color:var(--text-on-dark);gap:12px}
.checks--lg svg{width:22px;height:22px;margin-top:1px}
.proof-strip{background:var(--ink);color:var(--text-on-dark);text-align:center;font-size:var(--fs-small);padding-block:var(--sp-2)}
.proof-strip strong{color:var(--cta-green)}
.steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:768px){.steps--3{grid-template-columns:minmax(0,1fr)}}
.pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);max-width:900px;margin-inline:auto}
.badge--lg{min-height:48px;padding:0 var(--sp-3);font-size:var(--fs-small);font-weight:600}
.final .lead{color:var(--text-on-dark-muted)}

/* menu B2B tem 8 itens + CTA longo: colapsa abaixo de 1500px */
@media (max-width:1500px){
  .nav__links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;padding:var(--sp-2) var(--gutter) var(--sp-3);gap:4px;box-shadow:var(--shadow-2)}
  .nav__links.is-open{display:flex}
  .nav__links a{min-height:48px;white-space:normal}
  .nav__cta{margin:var(--sp-1) 0 0}
  .menu-btn{display:inline-flex}
}

/* ── barra fixa de compra, só mobile (exceção de campanha: Black Friday) ── */
/* Única exceção à regra "só a nav fica fixa", aprovada só durante a campanha. */
.mbar{display:none}
@media (max-width:720px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--night,var(--ink));border-top:1px solid rgba(255,255,255,.14);padding:10px max(var(--gutter),env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(var(--gutter),env(safe-area-inset-left,0px));align-items:center;justify-content:space-between;gap:12px;color:var(--white)}
  .mbar div{line-height:1.2}
  .mbar s{font-size:12px;color:var(--text-on-dark-muted)}
  .mbar b{display:block;font-size:20px}
  .mbar .btn{min-height:48px;padding:10px 18px;font-size:15px}
}
