:root{
  --bg:#f6f3ea;
  --bg-2:#ece8db;
  --bg-3:#e0e5ed;
  --surface:#ffffff;
  --surface-2:#f9f6ec;
  --surface-3:#ede9dc;
  --border:#ddd7c5;
  --border-lum:#c2bca6;
  --ink:#1a1c20;
  --ink-muted:#56564b;
  --ink-dim:#8c8a7a;
  --accent:#b88416;
  --accent-dim:#7e5a08;
  --accent-soft:rgba(184,132,22,0.12);
  --positive:#5d8f47;
  --danger:#c54545;
  --warn:#a86e23;
  --display:'Fraunces', Georgia, serif;
  --sans:'Plus Jakarta Sans', system-ui, sans-serif;
  --mono:'JetBrains Mono', monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{
  background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.65;font-size:17px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    radial-gradient(ellipse 80% 50% at 85% -5%, rgba(184,132,22,0.10), transparent 55%),
    radial-gradient(ellipse 60% 40% at 5% 110%, rgba(184,132,22,0.06), transparent 55%);
  min-height:100vh;
}
::selection{background:var(--accent);color:var(--bg)}
img{max-width:100%;display:block}

/* ---------- ANNOUNCE BAR ---------- */
.announce{
  background:linear-gradient(90deg,#e6ebf2,#f0ece1);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:55;
}
.announce-inner{
  max-width:1200px;margin:0 auto;padding:11px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);
}
.announce-inner em{font-style:italic;color:var(--accent);font-weight:500;letter-spacing:0.04em;text-transform:none;font-family:var(--display);font-size:14.5px}
.announce-inner .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);margin-right:8px;vertical-align:middle;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.announce-inner a.cta{
  color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:1px;
  transition:color .2s,border-color .2s;
}
.announce-inner a.cta:hover{color:#f3c45a;border-color:#f3c45a}
@media (max-width:760px){
  .announce-inner > .right{display:none}
  .announce-inner{justify-content:center;padding:10px 20px}
}

/* ---------- TOP NAV ---------- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(246,243,234,0.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.topnav-inner{
  max-width:1200px;margin:0 auto;padding:12px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.brand{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink);display:flex;align-items:center;gap:10px;text-decoration:none;
  white-space:nowrap;flex-shrink:0;
}
.brand::before{content:"";width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink-muted);text-decoration:none;transition:color .2s;
  position:relative;padding:4px 0;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--accent)}
.nav-links a.active::after{
  content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--accent);
}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-btn{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;
  padding:8px 14px;text-decoration:none;border-radius:1px;transition:all .2s;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.nav-btn.ghost{
  color:var(--ink);background:transparent;border:1px solid var(--border-lum);
}
.nav-btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.nav-btn.ghost .soon{
  font-size:9px;letter-spacing:0.12em;color:var(--accent);
  border:1px solid rgba(233,181,71,0.3);padding:1px 5px;border-radius:1px;
}
.nav-btn.solid{color:var(--bg);background:var(--accent)}
.nav-btn.solid:hover{background:#f3c45a}

/* ---------- LAYOUT ---------- */
.page{max-width:1200px;margin:0 auto;padding:0 32px}

/* ---------- HERO ---------- */
.hero{
  padding:96px 0 80px;border-bottom:1px solid var(--border-lum);margin-bottom:96px;
  position:relative;
}
.hero::before{
  content:"";position:absolute;top:0;left:0;width:120px;height:3px;background:var(--accent);
}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
.eyebrow{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:28px;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}
h1.title{
  font-family:var(--display);font-weight:300;font-size:clamp(46px,7vw,92px);
  line-height:0.98;letter-spacing:-0.035em;color:var(--ink);margin-bottom:28px;
}
h1.title em{font-style:italic;color:var(--accent);font-weight:300}
.hero-lead{
  font-size:21px;color:var(--ink-muted);max-width:560px;line-height:1.6;font-weight:300;margin-bottom:36px;
}
.hero-typing{
  font-family:var(--mono);font-size:14.5px;letter-spacing:0.05em;color:var(--ink-muted);
  margin-bottom:36px;display:flex;align-items:center;gap:10px;min-height:26px;
}
.hero-typing::before{content:"›";color:var(--accent);font-family:var(--display);font-size:20px;font-weight:400}
.hero-typing #typewriter{color:var(--ink)}
.hero-typing .caret{color:var(--accent);animation:blink 1s steps(1) infinite;margin-left:2px}
@keyframes blink{50%{opacity:0}}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-cta{
  display:inline-flex;align-items:center;gap:12px;padding:20px 32px;
  background:var(--accent);color:var(--bg);text-decoration:none;
  font-family:var(--mono);font-size:13.5px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;
  border-radius:1px;transition:all .25s;
}
.hero-cta:hover{background:#f3c45a;transform:translateY(-1px)}
.hero-cta::after{content:"→";transition:transform .25s}
.hero-cta:hover::after{transform:translateX(4px)}
.hero-cta.outline{background:transparent;color:var(--ink);border:1px solid var(--border-lum)}
.hero-cta.outline:hover{border-color:var(--accent);color:var(--accent);background:transparent}

.hero-photo{position:relative;width:100%;max-width:440px;margin-left:auto}
.hero-photo .photo-wrap{
  position:relative;border:1px solid var(--border-lum);overflow:hidden;
  background:var(--surface);border-radius:2px;
}
.hero-photo .photo-wrap::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(26,28,32,0.18));
  z-index:1;pointer-events:none;
}
.hero-photo img.profile{width:100%;height:auto;display:block;filter:contrast(1.05)}
.hero-photo .badge-float{
  position:absolute;bottom:-22px;left:-22px;z-index:3;
  background:#fff;padding:10px 14px;border-radius:2px;
  box-shadow:0 20px 40px rgba(0,0,0,0.5);
  border:1px solid rgba(0,0,0,0.06);
}
.hero-photo .badge-float img{height:48px;width:auto}
.hero-photo .metric-float{
  position:absolute;top:24px;right:-24px;z-index:3;
  background:var(--surface);border:1px solid var(--border-lum);
  padding:14px 18px;display:flex;align-items:center;gap:12px;
  box-shadow:0 18px 40px rgba(0,0,0,0.45);border-radius:2px;
}
.metric-float .ico{
  width:36px;height:36px;border-radius:50%;
  background:rgba(142,192,124,0.12);color:var(--positive);
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.metric-float .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-dim)}
.metric-float .val{font-family:var(--display);font-size:14px;color:var(--ink);font-weight:500;letter-spacing:-0.01em}

.meta-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:72px;padding-top:36px;border-top:1px solid var(--border)}
.meta-label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:10px}
.meta-value{font-family:var(--display);font-size:22px;font-weight:400;color:var(--ink);letter-spacing:-0.01em}
.meta-value.small{font-size:15px;font-family:var(--sans);font-weight:500}

/* ---------- HERO V2 (chatfunnel-style) ---------- */
.hero.hero-v2{
  padding:80px 0 80px;border-bottom:none;margin-bottom:48px;
}
.hero.hero-v2 .hero-grid{
  grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;
}
.hero.hero-v2 .eyebrow{margin-bottom:22px}
.hero-headline{
  font-family:var(--display);font-weight:300;
  font-size:clamp(48px,7.4vw,96px);
  line-height:0.96;letter-spacing:-0.035em;color:var(--ink);
  margin-bottom:28px;text-wrap:balance;
}
.hero-headline .grad{
  background-image:linear-gradient(90deg,#b88416,#d8a727 45%,#e9b547);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:400;
}
.hero.hero-v2 .hero-lead{
  font-size:19px;color:var(--ink-muted);max-width:540px;
  line-height:1.65;font-weight:300;margin-bottom:32px;
}
.hero.hero-v2 .hero-lead strong{color:var(--ink);font-weight:600}

.hero-meta-badge{
  display:inline-flex;align-items:center;gap:10px;margin-top:24px;
  padding:8px 14px;background:rgba(184,132,22,0.06);
  border:1px solid var(--border);border-radius:99px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-muted);font-weight:500;
}
.hero-meta-badge img{height:18px;width:auto;opacity:1}

/* ---------- NOTIFICATION STACK (hero right) ---------- */
.hero-stack{position:relative}
.hero-stack-caption{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}
.notif-stack{
  position:relative;height:340px;width:100%;max-width:420px;margin-left:auto;
  overflow:hidden;
  mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 78%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 78%,transparent 100%);
}
.notif{
  position:absolute;left:0;right:0;
  display:flex;align-items:center;gap:14px;
  background:var(--surface);border:1px solid var(--border-lum);border-radius:14px;
  padding:14px 16px;
  box-shadow:0 14px 28px rgba(0,0,0,0.06), 0 1px 0 rgba(0,0,0,0.02);
  animation:notif-flow 10s ease-in-out infinite;
  will-change:transform,opacity;
  opacity:0;
}
.notif:nth-child(1){animation-delay:0s}
.notif:nth-child(2){animation-delay:2s}
.notif:nth-child(3){animation-delay:4s}
.notif:nth-child(4){animation-delay:6s}
.notif:nth-child(5){animation-delay:8s}

.notif-ico{
  flex-shrink:0;width:40px;height:40px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;
}
.notif-ico.ok{background:rgba(93,143,71,0.14);color:var(--positive)}
.notif-ico.cyan{background:rgba(184,132,22,0.14);color:var(--accent)}
.notif-ico.mute{background:rgba(140,138,122,0.14);color:var(--ink-muted)}
.notif-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.notif-body strong{
  font-family:var(--sans);font-weight:600;font-size:14.5px;color:var(--ink);
  line-height:1.2;
}
.notif-body em{
  font-style:normal;font-family:var(--mono);font-size:11px;
  letter-spacing:0.04em;color:var(--ink-muted);
}
.notif-bar{
  flex-shrink:0;width:4px;height:36px;border-radius:99px;
}
.notif-bar.ok{background:var(--positive)}
.notif-bar.cyan{background:var(--accent)}
.notif-bar.mute{background:var(--ink-muted)}
.notif-bar.pulse{animation:notif-pulse 1.6s ease-in-out infinite}
@keyframes notif-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(184,132,22,0.4)}
  50%{box-shadow:0 0 0 6px rgba(184,132,22,0)}
}
@keyframes notif-flow{
  0%   {transform:translateY(-90px);opacity:0}
  8%   {transform:translateY(0);opacity:1}
  30%  {transform:translateY(70px);opacity:1}
  50%  {transform:translateY(150px);opacity:1}
  72%  {transform:translateY(230px);opacity:0.6}
  88%  {transform:translateY(320px);opacity:0}
  100% {transform:translateY(360px);opacity:0}
}

/* ---------- PROFILE FRAME (Daniel — second block) ---------- */
.profile-frame{
  max-width:1200px;margin:0 auto 96px;padding:0 32px;
}
.profile-frame-inner{
  display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;
  padding:48px;
  background:var(--surface);border:1px solid var(--border);border-radius:4px;
  position:relative;overflow:hidden;
}
.profile-frame-inner::before{
  content:"";position:absolute;top:0;left:0;width:120px;height:3px;background:var(--accent);
}
.profile-frame .hero-photo{margin:0;max-width:none}
.profile-frame .photo-wrap{border-radius:3px}
.profile-bio .eyebrow{margin-bottom:14px}
.profile-name{
  font-family:var(--display);font-weight:300;font-size:clamp(36px,4.5vw,54px);
  letter-spacing:-0.025em;color:var(--ink);line-height:1.05;margin-bottom:14px;
}
.profile-role{
  font-size:16px;color:var(--ink-muted);line-height:1.55;margin-bottom:18px;
}
.profile-role strong{color:var(--accent);font-weight:600}
.profile-text{
  font-size:16px;color:var(--ink-muted);line-height:1.65;margin-bottom:24px;
  font-weight:300;
}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px}
.ptag{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;background:var(--bg-2);border:1px solid var(--border);
  border-radius:99px;
  font-family:var(--mono);font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--ink-muted);
}
.ptag i{color:var(--accent);font-size:10px}

/* ---------- PARTNER BAND ---------- */
.partner-band{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--bg-2);padding:56px 0;margin-bottom:96px;
}
.partner-inner{
  max-width:1200px;margin:0 auto;padding:0 32px;
  display:flex;flex-direction:column;align-items:center;gap:32px;
}
.partner-label{
  display:flex;align-items:center;justify-content:center;gap:18px;width:100%;
  font-family:var(--mono);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-muted);
}
.partner-label::before, .partner-label::after{
  content:"";flex:0 0 56px;height:1px;background:var(--border-lum);max-width:120px;
}
.partner-label span{flex-shrink:0}

/* Marquee wrapper para os logos */
.partner-marquee{
  width:100%;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.partner-logos{
  display:inline-flex;align-items:center;gap:48px;
  width:max-content;
  animation:partner-marquee 22s linear infinite;
  will-change:transform;
}
.partner-marquee:hover .partner-logos{animation-play-state:paused}
@keyframes partner-marquee{
  0%   {transform:translateX(0)}
  100% {transform:translateX(-50%)}
}
.plogo{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  padding:16px 28px;border-radius:10px;flex-shrink:0;
  background:transparent;border:1px solid transparent;outline:none;
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  cursor:default;
}
.plogo img{
  height:60px;width:auto;
  filter:none;mix-blend-mode:normal;opacity:1;
  transition:transform .3s ease;
}
.plogo.featured img{height:68px}
.plogo .ptext{
  font-family:var(--display);font-size:32px;font-weight:500;color:var(--ink);letter-spacing:-0.02em;
  line-height:1;
  transition:transform .3s ease, color .3s ease;
}
.plogo:hover, .plogo:focus-visible{
  background:rgba(184,132,22,0.10);
  border-color:rgba(184,132,22,0.25);
  box-shadow:0 14px 36px rgba(184,132,22,0.12);
}
.plogo:hover img, .plogo:focus-visible img,
.plogo:hover .ptext, .plogo:focus-visible .ptext{transform:scale(1.08)}
.plogo:hover .ptext, .plogo:focus-visible .ptext{color:var(--accent)}

@media (max-width:760px){
  .partner-band{padding:40px 0;margin-bottom:64px}
  .partner-logos{gap:28px}
  .plogo{padding:12px 18px}
  .plogo img{height:44px}
  .plogo.featured img{height:50px}
  .plogo .ptext{font-size:24px}
}

/* ---------- SECTIONS ---------- */
section{margin-bottom:120px;scroll-margin-top:140px}
.section-kicker{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.section-kicker span{color:var(--ink-dim)}
h2.section-title{
  font-family:var(--display);font-weight:300;font-size:clamp(38px,5.5vw,68px);
  line-height:1.05;letter-spacing:-0.025em;margin-bottom:18px;max-width:18ch;
}
h2.section-title em{font-style:italic;color:var(--accent);font-weight:300}
.section-intro{color:var(--ink-muted);max-width:680px;font-size:18.5px;line-height:1.65;margin-bottom:48px;font-weight:300}

/* ---------- DORES ---------- */
.dores{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:2px;overflow:hidden;
}
.dor{
  background:var(--surface);padding:36px 28px;
  display:flex;flex-direction:column;gap:14px;min-height:240px;
  transition:background .25s, transform .35s;
}
.dor:hover{background:var(--surface-2);transform:translateY(-2px)}
.dor .num{font-family:var(--mono);font-size:12px;letter-spacing:0.15em;color:var(--ink-dim)}
.dor .ico{font-size:24px;color:var(--danger);width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-lum);border-radius:1px}
.dor.warn .ico{color:var(--warn)}
.dor.gold .ico{color:var(--accent)}
.dor h4{font-family:var(--display);font-weight:400;font-size:25px;letter-spacing:-0.015em;color:var(--ink);margin-top:auto}
.dor p{color:var(--ink-muted);font-size:16px;line-height:1.65}

/* ---------- ENTREGA (com badges G4-style) ---------- */
.entrega-chain{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:2px;overflow:hidden;
}
.entrega-node{
  background:var(--surface);padding:32px 26px;position:relative;
  display:flex;flex-direction:column;gap:14px;min-height:260px;
  transition:all .35s ease;
}
.entrega-node:hover{background:var(--surface-2);transform:translateY(-2px)}
.entrega-node.hl{background:linear-gradient(135deg,var(--surface-2),var(--surface));border-top:2px solid var(--accent)}
.entrega-node .num{font-family:var(--mono);font-size:12px;letter-spacing:0.15em;color:var(--ink-dim)}
.entrega-node .ico{font-size:24px;color:var(--accent);width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-lum);border-radius:1px}
.entrega-node h4{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:-0.01em;color:var(--ink);margin-top:8px}
.entrega-node p{color:var(--ink-muted);font-size:15.5px;line-height:1.65}
.entrega-node .row-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px;flex-wrap:wrap}
.entrega-node .tag{
  display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;
  padding:3px 8px;border:1px solid var(--border-lum);color:var(--ink-dim);border-radius:1px;
}
.entrega-node .badge{
  font-family:var(--mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;
  padding:4px 8px;border-radius:1px;
}
.entrega-node .badge.hot{background:rgba(224,112,112,0.12);color:var(--danger);border:1px solid rgba(224,112,112,0.25)}
.entrega-node .badge.rec{background:rgba(233,181,71,0.12);color:var(--accent);border:1px solid rgba(233,181,71,0.25)}

/* ---------- PROCESSO ---------- */
/* ---------- PROCESSO MAP ---------- */
.proc-map{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:56px;
}
.proc-map-connectors{
  position:absolute;top:0;left:0;width:100%;height:100%;
  pointer-events:none;overflow:visible;
}
.proc-node{
  position:relative;
  display:flex;flex-direction:column;
  padding:32px 28px 28px;
  border:1px solid var(--border);
  transition:border-color .3s,box-shadow .3s;
  background:var(--bg);
  cursor:default;
}
.proc-node:not(:first-child){border-left:none}
.proc-node:hover{
  border-color:rgba(233,181,71,0.4);
  box-shadow:0 0 32px rgba(233,181,71,0.07);
  z-index:1;
}
.proc-node-num{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:56px;line-height:1;color:rgba(233,181,71,0.18);
  margin-bottom:20px;
  transition:color .3s;
}
.proc-node:hover .proc-node-num{color:rgba(233,181,71,0.45)}
.proc-node-badge{
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--accent);border:1px solid rgba(233,181,71,0.25);
  padding:4px 10px;border-radius:1px;align-self:flex-start;margin-bottom:14px;
}
.proc-node-title{
  font-family:var(--display);font-weight:500;font-size:23px;
  color:var(--ink);letter-spacing:-0.02em;margin-bottom:12px;line-height:1.2;
}
.proc-node-body{
  font-size:15.5px;line-height:1.7;color:var(--ink-muted);flex:1;
}
.proc-node-tags{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:20px;
}
.chip{
  display:inline-block;padding:3px 9px;border-radius:1px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.03em;
  background:rgba(233,181,71,0.08);color:var(--accent);border:1px solid rgba(233,181,71,0.2);
}
/* Arrow connector between nodes */
.proc-node-arrow{
  position:absolute;right:-18px;top:50%;transform:translateY(-50%);
  width:36px;height:24px;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.proc-node-arrow svg{width:36px;height:24px}
/* Mobile: vertical stack */
@media (max-width:900px){
  .proc-map{grid-template-columns:1fr}
  .proc-node:not(:first-child){border-left:1px solid var(--border);border-top:none}
  .proc-node-arrow{
    right:auto;bottom:-19px;top:auto;left:50%;
    transform:translateX(-50%) rotate(90deg);
  }
}
@media (max-width:600px){
  .proc-node{padding:24px 18px 22px}
  .proc-node-num{font-size:36px}
  .proc-node-title{font-size:17px}
}

/* ---------- NÚMEROS / STATS ---------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:2px;overflow:hidden;
}
.stat{
  background:var(--surface);padding:40px 28px;
  display:flex;flex-direction:column;gap:14px;
  transition:background .3s;
}
.stat:hover{background:var(--surface-2)}
.stat .lbl-top{font-family:var(--mono);font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-dim)}
.stat .num{
  font-family:var(--display);font-weight:300;font-size:clamp(46px,5.5vw,72px);
  line-height:1;letter-spacing:-0.03em;color:var(--accent);
}
.stat .num em{font-style:italic;font-weight:400}
.stat .num .suffix{font-size:0.5em;color:var(--ink);font-weight:300;margin-left:6px}
.stat .desc{color:var(--ink-muted);font-size:15.5px;line-height:1.55;margin-top:auto}

/* ---------- CASES ---------- */
.cases-wrap{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:2px;background:var(--bg-2);padding:48px 0}
.cases-wrap::before, .cases-wrap::after{
  content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.cases-wrap::before{left:0;background:linear-gradient(90deg,var(--bg-2),transparent)}
.cases-wrap::after{right:0;background:linear-gradient(-90deg,var(--bg-2),transparent)}
.cases-track{
  display:flex;width:max-content;gap:24px;padding:0 32px;
  animation:cases-scroll 36s linear infinite;
}
.cases-track:hover{animation-play-state:paused}
@keyframes cases-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.case-card{
  width:300px;height:420px;flex-shrink:0;cursor:pointer;
  border:1px solid var(--border-lum);background:var(--surface);
  border-radius:2px;overflow:hidden;
  transition:transform .3s, border-color .3s, box-shadow .3s;
}
.case-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 32px rgba(0,0,0,0.08)}
.case-card img{
  width:100%;height:100%;display:block;background:#000;
  object-fit:cover;object-position:center top;
}
@media (max-width:760px){
  .case-card{width:260px;height:380px}
}
.cases-hint{
  text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-dim);margin-top:24px;
}
.cases-hint i{color:var(--accent);margin-right:6px}

/* ---------- BÔNUS ---------- */
.bonus-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border:1px solid var(--border-lum);border-radius:2px;overflow:hidden;
  background:var(--surface);position:relative;
}
.bonus-grid::before{
  content:"";position:absolute;top:0;left:0;width:80px;height:2px;background:var(--accent);z-index:2;
}
.bonus-card{
  padding:48px 44px;display:flex;flex-direction:column;gap:14px;
  position:relative;
}
.bonus-card + .bonus-card{border-left:1px solid var(--border)}
.bonus-card .ico{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:64px;line-height:1;color:var(--accent);margin-bottom:8px;
}
.bonus-card .tag{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--accent);border:1px solid rgba(233,181,71,0.25);
  padding:4px 10px;border-radius:1px;align-self:flex-start;
}
.bonus-card h3{
  font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:-0.02em;color:var(--ink);line-height:1.15;
}
.bonus-card h3 em{font-style:italic;color:var(--accent);font-weight:500}
.bonus-card p{color:var(--ink-muted);font-size:16px;line-height:1.7}
.bonus-note{
  margin-top:24px;padding:20px 24px;border:1px solid var(--border);border-left:2px solid var(--accent);
  background:var(--bg-2);font-size:15px;line-height:1.65;color:var(--ink-muted);
}
.bonus-note strong{color:var(--ink);font-weight:500}
@media (max-width:760px){
  .bonus-grid{grid-template-columns:1fr}
  .bonus-card + .bonus-card{border-left:none;border-top:1px solid var(--border)}
  .bonus-card{padding:36px 28px}
  .bonus-card .ico{font-size:52px}
  .bonus-card h3{font-size:25px}
}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--border)}
.faq details{
  border-bottom:1px solid var(--border);
  padding:0;
  transition:background .25s;
}
.faq details[open]{background:var(--surface)}
.faq summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:26px 8px;
  font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:-0.01em;color:var(--ink);
  transition:color .2s;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq details[open] summary{color:var(--accent)}
.faq summary .icon{
  flex-shrink:0;width:28px;height:28px;border:1px solid var(--border-lum);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:14px;color:var(--accent);
  transition:transform .3s, border-color .3s;
}
.faq details[open] summary .icon{transform:rotate(45deg);border-color:var(--accent)}
.faq .answer{
  padding:0 8px 30px;color:var(--ink-muted);font-size:16.5px;line-height:1.7;max-width:80ch;
}
.faq .answer p + p{margin-top:12px}
.faq .answer a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(233,181,71,0.4)}
.faq .answer a:hover{color:#f3c45a;border-color:#f3c45a}

/* ---------- FORMULÁRIO ---------- */
.form-wrap{
  background:var(--surface);border:1px solid var(--border-lum);border-radius:2px;
  padding:48px 40px;position:relative;
}
.form-wrap::before{content:"";position:absolute;top:0;left:0;width:80px;height:2px;background:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1 / -1}
.form-field label{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-dim);
}
.form-field input, .form-field select, .form-field textarea{
  background:var(--bg-2);border:1px solid var(--border-lum);border-radius:1px;
  padding:16px 18px;color:var(--ink);font-family:var(--sans);font-size:16px;
  transition:border-color .2s, background .2s;outline:none;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  border-color:var(--accent);background:var(--surface-2);
}
.form-field input::placeholder, .form-field textarea::placeholder{color:var(--ink-dim)}
.form-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23e9b547' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.form-field textarea{resize:vertical;min-height:90px;font-family:var(--sans)}
.form-submit{
  margin-top:8px;padding:20px 32px;background:var(--accent);color:var(--bg);
  border:none;border-radius:1px;cursor:pointer;
  font-family:var(--mono);font-size:13.5px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;
  transition:background .2s, transform .2s;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
}
.form-submit:hover{background:#f3c45a;transform:translateY(-1px)}
.form-submit:disabled{opacity:0.6;cursor:not-allowed;transform:none}

.form-success{
  display:none;background:var(--surface);border:1px solid var(--border-lum);
  border-top:2px solid var(--positive);border-radius:2px;padding:40px;text-align:center;
}
.form-success.show{display:block}
.form-success .ico{
  width:56px;height:56px;border-radius:50%;background:rgba(142,192,124,0.12);color:var(--positive);
  display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 18px;
}
.form-success h3{font-family:var(--display);font-weight:400;font-size:32px;letter-spacing:-0.015em;color:var(--ink);margin-bottom:10px}
.form-success p{color:var(--ink-muted);font-size:16.5px;max-width:600px;margin:0 auto 24px;line-height:1.65}
.form-success p strong{color:var(--accent);display:block;margin-top:8px}
.calendly-inline-widget{border-radius:2px;overflow:hidden;border:1px solid var(--border-lum);background:#fff}

/* ---------- CTA FINAL ---------- */
.cta-final{
  position:relative;border:1px solid var(--border-lum);border-radius:2px;
  background:linear-gradient(135deg,var(--surface-2),var(--surface));
  padding:64px 48px;text-align:center;overflow:hidden;
}
.cta-final::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:120px;height:3px;background:var(--accent);
}
.cta-final h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.8vw,56px);line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:20px}
.cta-final h2 em{font-style:italic;color:var(--accent);font-weight:300}
.cta-final blockquote{
  font-family:var(--display);font-style:italic;font-weight:300;font-size:22px;line-height:1.55;color:var(--ink-muted);
  max-width:640px;margin:0 auto 36px;
}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta-btn{
  display:inline-flex;align-items:center;gap:12px;padding:18px 32px;text-decoration:none;
  font-family:var(--mono);font-size:13px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;
  border-radius:1px;transition:all .25s;
}
.cta-btn.primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}
.cta-btn.primary:hover{background:#f3c45a;border-color:#f3c45a;transform:translateY(-2px)}
.cta-btn.yt{background:transparent;border:1px solid var(--border-lum);color:var(--ink)}
.cta-btn.yt:hover{border-color:var(--accent);color:var(--accent)}
.cta-btn i{font-size:18px}

/* ---------- FOOTER ---------- */
.footer-wrap{
  border-top:1px solid var(--border-lum);background:var(--bg-2);
  margin-top:80px;padding:64px 0 32px;
}
.footer-grid{
  max-width:1200px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;
}
.footer-col h5{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;font-weight:600;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{
  color:var(--ink-muted);text-decoration:none;font-size:15px;
  transition:color .2s;
}
.footer-col a:hover{color:var(--ink)}
.footer-brand{font-family:var(--mono);font-size:12.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.footer-brand::before{content:"";width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}
.footer-about{color:var(--ink-muted);font-size:15px;line-height:1.7;max-width:38ch;margin-bottom:20px}
.footer-social{display:flex;gap:12px}
.footer-social a{
  width:36px;height:36px;border:1px solid var(--border-lum);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--ink-muted);
  transition:all .2s;
}
.footer-social a:hover{border-color:var(--accent);color:var(--accent)}
.footer-bottom{
  max-width:1200px;margin:48px auto 0;padding:24px 32px 0;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:12px;letter-spacing:0.15em;color:var(--ink-dim);text-transform:uppercase;
}
.footer-bottom .partner-mark{display:flex;align-items:center;gap:8px}
.footer-bottom .partner-mark img{height:20px;width:auto;filter:none;mix-blend-mode:normal;opacity:1}

/* ---------- LIGHTBOX ---------- */
#lightbox{
  position:fixed;inset:0;z-index:200;background:rgba(20,22,26,0.88);
  display:none;align-items:center;justify-content:center;padding:24px;
  opacity:0;transition:opacity .25s;
}
#lightbox.show{display:flex;opacity:1}
#lightbox img{
  max-width:100%;max-height:90vh;border-radius:2px;
  box-shadow:0 30px 80px rgba(0,0,0,0.6);
  border:1px solid var(--border-lum);
}
#lightbox-close{
  position:absolute;top:24px;right:32px;background:none;border:none;
  color:var(--ink);font-size:32px;cursor:pointer;font-family:var(--sans);font-weight:300;
}
#lightbox-close:hover{color:var(--accent)}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* ---------- FEATURE BLOCKS (mockups) ---------- */
.feat-block{
  display:grid;grid-template-columns:1fr 1.05fr;gap:64px;
  align-items:center;margin-bottom:96px;
}
.feat-block.reverse{grid-template-columns:1.05fr 1fr}
.feat-block.reverse .feat-text{order:2}
.feat-block.reverse .mock{order:1}
.feat-block:last-child{margin-bottom:0}
.feat-eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-dim);margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.feat-eyebrow span{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border:1px solid var(--accent);color:var(--accent);
  font-family:var(--display);font-style:italic;font-size:14px;border-radius:1px;
}
.feat-title{
  font-family:var(--display);font-weight:300;font-size:clamp(30px,3.5vw,46px);
  line-height:1.08;letter-spacing:-0.022em;color:var(--ink);margin-bottom:18px;
}
.feat-title em{font-style:italic;color:var(--accent);font-weight:300}
.feat-body{color:var(--ink-muted);font-size:17px;line-height:1.7;margin-bottom:22px;font-weight:300}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.feat-list li{
  display:flex;align-items:flex-start;gap:12px;color:var(--ink);font-size:15.5px;line-height:1.5;
}
.feat-list li i{
  flex-shrink:0;margin-top:5px;color:var(--accent);font-size:11px;
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(233,181,71,0.4);border-radius:50%;
}

/* ---------- MOCKUP SHELL ---------- */
.mock{
  background:var(--bg-2);border:1px solid var(--border-lum);border-radius:6px;
  overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.4), 0 0 0 1px rgba(233,181,71,0.04);
  position:relative;
}
.mock::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 100% 80% at 50% 0%, rgba(233,181,71,0.04), transparent 60%);
}
.mock-bar{
  display:flex;align-items:center;gap:16px;
  padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);
}
.mock-dots{display:inline-flex;gap:6px}
.mock-dots i{width:10px;height:10px;border-radius:50%;background:#2c2f29;display:block}
.mock-dots i:nth-child(1){background:#e07070}
.mock-dots i:nth-child(2){background:#e6a050}
.mock-dots i:nth-child(3){background:#8ec07c}
.mock-title{
  flex:1;font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink);display:flex;align-items:center;gap:8px;
}
.mock-actions{display:flex;gap:14px;color:var(--ink-dim);font-size:13px}
.mock-actions i:hover{color:var(--accent);cursor:pointer}

/* ---------- KANBAN MOCKUP ---------- */
.mock-kanban .kanban-cols{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);padding:1px;
}
.kcol{background:var(--bg);padding:14px 12px;display:flex;flex-direction:column;gap:10px;min-height:280px}
.khead{
  font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-muted);display:flex;align-items:center;gap:7px;padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.khead em{margin-left:auto;color:var(--ink-dim);font-style:normal;font-weight:500}
.kdot{width:7px;height:7px;border-radius:50%;display:inline-block}
.kdot.s1{background:#6a8aa4}
.kdot.s2{background:var(--accent)}
.kdot.s3{background:#e6a050}
.kdot.s4{background:var(--positive)}
.kcard{
  background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--border-lum);
  border-radius:2px;padding:10px 11px;display:flex;flex-direction:column;gap:7px;
  transition:transform .2s, border-left-color .2s;
}
.kcard:hover{transform:translateY(-1px);border-left-color:var(--accent)}
.kcard.hl{border-left-color:var(--accent);background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.kcard.won{border-left-color:var(--positive);background:linear-gradient(180deg,rgba(142,192,124,0.06),var(--surface))}
.kcard.ghost{background:transparent;border:1px dashed var(--border);height:38px;opacity:0.35}
.ktop{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);font-weight:500}
.kavatar{
  width:22px;height:22px;border-radius:50%;
  background:var(--accent-soft);border:1px solid rgba(233,181,71,0.3);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:9px;color:var(--accent);font-weight:600;letter-spacing:0.04em;
}
.kmeta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ktag{
  font-family:var(--mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;
  padding:2px 6px;border-radius:1px;color:var(--ink-muted);
  background:var(--bg-2);border:1px solid var(--border);
}
.ktag.inbound{color:#8aaed1;border-color:rgba(138,174,209,0.3);background:rgba(138,174,209,0.06)}
.ktag.ref{color:#c298d6;border-color:rgba(194,152,214,0.3);background:rgba(194,152,214,0.06)}
.ktag.vip{color:var(--accent);border-color:rgba(233,181,71,0.3);background:rgba(233,181,71,0.08)}
.ktag.ok{color:var(--positive);border-color:rgba(142,192,124,0.3);background:rgba(142,192,124,0.08)}
.ktag.ok i{font-size:7px;margin-right:3px}
.kval{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:500;letter-spacing:0.02em}
.ktime{font-family:var(--mono);font-size:9.5px;color:var(--ink-dim);letter-spacing:0.06em}

/* ---------- CONTACT CARD MOCKUP ---------- */
.mock-contact .contact-body{padding:24px 24px 22px;display:flex;flex-direction:column;gap:18px}
.contact-head{display:flex;gap:16px;align-items:flex-start}
.contact-avatar{
  width:60px;height:60px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--accent-dim));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:24px;font-weight:500;color:var(--bg);letter-spacing:-0.01em;
}
.contact-name{
  font-family:var(--display);font-size:22px;font-weight:500;color:var(--ink);
  letter-spacing:-0.015em;line-height:1.15;margin-bottom:6px;
}
.contact-sub{
  font-size:13px;color:var(--ink-muted);display:flex;align-items:center;gap:8px;
  font-family:var(--mono);letter-spacing:0.02em;line-height:1.6;
}
.contact-sub i{color:var(--ink-dim);font-size:11px;width:14px;text-align:center}
.contact-tags{display:flex;flex-wrap:wrap;gap:6px}
.ctag{
  font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:1px;font-weight:500;
}
.ctag.a{color:#8aaed1;border:1px solid rgba(138,174,209,0.3);background:rgba(138,174,209,0.06)}
.ctag.b{color:var(--accent);border:1px solid rgba(233,181,71,0.3);background:rgba(233,181,71,0.08)}
.ctag.c{color:var(--positive);border:1px solid rgba(142,192,124,0.3);background:rgba(142,192,124,0.08)}
.contact-section-lbl{
  font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-dim);padding-top:8px;border-top:1px dashed var(--border);
}
.contact-timeline{list-style:none;display:flex;flex-direction:column;gap:10px}
.contact-timeline li{
  display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:center;
  font-size:13.5px;color:var(--ink);
}
.contact-timeline li strong{font-weight:500}
.contact-timeline li em{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:0.06em;color:var(--ink-dim)}
.contact-timeline .dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.contact-timeline .dot.ok{background:var(--positive);box-shadow:0 0 0 3px rgba(142,192,124,0.12)}
.contact-timeline .dot.info{background:#8aaed1;box-shadow:0 0 0 3px rgba(138,174,209,0.12)}
.contact-timeline .dot.next{background:var(--accent);box-shadow:0 0 0 3px rgba(233,181,71,0.15);animation:nextpulse 2.4s ease-in-out infinite}
@keyframes nextpulse{0%,100%{box-shadow:0 0 0 3px rgba(233,181,71,0.15)}50%{box-shadow:0 0 0 6px rgba(233,181,71,0.05)}}
.contact-foot{
  display:flex;gap:18px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border);
  font-family:var(--mono);font-size:11px;color:var(--ink-muted);letter-spacing:0.04em;
}
.contact-foot i{color:var(--accent);margin-right:6px;font-size:11px}

/* ---------- CHAT MOCKUP ---------- */
.mock-chat .chat-avatar{font-size:14px}
.mock-chat .online{
  display:inline-flex;align-items:center;gap:5px;
  color:var(--positive);font-family:var(--mono);font-size:10px;letter-spacing:0.1em;
  text-transform:lowercase;
}
.mock-chat .odot{width:7px;height:7px;border-radius:50%;background:var(--positive);box-shadow:0 0 8px var(--positive)}
.chat-body{
  padding:20px 22px;display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(180deg,var(--bg-2),var(--bg-3));
  min-height:340px;
}
.bub{
  max-width:78%;padding:11px 14px;border-radius:14px;font-size:14.5px;line-height:1.5;
  position:relative;color:var(--ink);
}
.bub-time{
  display:block;font-family:var(--mono);font-size:9px;letter-spacing:0.06em;
  color:var(--ink-dim);margin-top:5px;text-align:right;
}
.bub.bot{
  align-self:flex-start;background:var(--surface);border:1px solid var(--border-lum);
  border-bottom-left-radius:3px;
}
.bub.user{
  align-self:flex-end;background:rgba(233,181,71,0.14);
  border:1px solid rgba(233,181,71,0.3);color:var(--ink);
  border-bottom-right-radius:3px;
}
.bub.user .bub-time{color:rgba(233,181,71,0.55)}
.chat-events{
  margin-top:14px;padding:14px 14px 12px;
  background:var(--bg);border:1px dashed rgba(233,181,71,0.3);border-radius:6px;
  display:flex;flex-direction:column;gap:7px;
}
.chat-events .evt{
  display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--ink-muted);
}
.chat-events .evt strong{color:var(--accent);font-weight:600}
.chat-events .evt i{
  flex-shrink:0;width:18px;height:18px;border-radius:50%;
  background:rgba(233,181,71,0.12);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:9px;
}

/* ---------- ROI CALCULATOR ---------- */
.roi-wrap{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;
  border:1px solid var(--border-lum);border-radius:2px;overflow:hidden;
  background:var(--surface);position:relative;
}
.roi-wrap::before{
  content:"";position:absolute;top:0;left:0;width:80px;height:2px;background:var(--accent);z-index:2;
}
.roi-inputs{padding:48px 40px;display:flex;flex-direction:column;gap:32px;border-right:1px solid var(--border)}
.roi-field{display:flex;flex-direction:column;gap:10px}
.roi-field-head{display:flex;justify-content:space-between;align-items:baseline}
.roi-field-head label{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-muted);
}
.roi-field-head output{
  font-family:var(--display);font-size:28px;font-weight:500;color:var(--accent);
  letter-spacing:-0.01em;
}
.roi-field input[type=range]{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;background:var(--bg-2);
  border:1px solid var(--border);border-radius:99px;outline:none;
  cursor:pointer;
}
.roi-field input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:var(--accent);
  border:3px solid var(--bg);
  box-shadow:0 0 0 1px var(--accent), 0 4px 12px rgba(233,181,71,0.4);
  cursor:grab;transition:transform .15s;
}
.roi-field input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}
.roi-field input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}
.roi-field input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:var(--accent);border:3px solid var(--bg);
  box-shadow:0 0 0 1px var(--accent), 0 4px 12px rgba(233,181,71,0.4);
  cursor:grab;
}
.roi-scale{
  display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;
  letter-spacing:0.1em;color:var(--ink-dim);
}
.roi-note{
  display:flex;align-items:flex-start;gap:10px;
  padding:14px 16px;background:var(--bg-2);border:1px solid var(--border);
  border-left:2px solid var(--accent);border-radius:1px;
  font-size:13.5px;line-height:1.6;color:var(--ink-muted);
}
.roi-note i{color:var(--accent);margin-top:3px}
.roi-note strong{color:var(--accent);font-weight:600}

.roi-output{
  padding:48px 40px;display:flex;flex-direction:column;gap:14px;
  background:var(--bg-2);
}
.roi-card{
  padding:18px 22px;background:var(--surface);border:1px solid var(--border-lum);
  border-radius:2px;display:flex;flex-direction:column;gap:4px;position:relative;
  transition:transform .2s;
}
.roi-card.hl{
  border-color:rgba(233,181,71,0.4);
  background:linear-gradient(135deg,rgba(233,181,71,0.06),var(--surface));
  padding-bottom:14px;
}
.roi-card.gain{border-left:3px solid var(--positive)}
.roi-card.year{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--surface-2),var(--surface))}
.roi-card-lbl{
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-dim);
}
.roi-card-val{
  font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:-0.02em;color:var(--ink);
  line-height:1.1;
}
.roi-card.hl .roi-card-val,
.roi-card.year .roi-card-val{color:var(--accent)}
.roi-card.gain .roi-card-val{color:var(--positive)}
.roi-suf{font-size:0.45em;color:var(--ink-muted);margin-left:6px;letter-spacing:0.04em;font-family:var(--mono)}
.roi-card-bar{
  margin-top:8px;height:5px;background:var(--bg);border-radius:99px;overflow:hidden;
}
.roi-card-bar span{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--accent),#f3c45a);
  width:0;transition:width .4s ease;
  box-shadow:0 0 12px rgba(233,181,71,0.4);
}
.roi-cta{
  margin-top:10px;padding:18px 24px;
  background:var(--accent);color:var(--bg);
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;
  text-decoration:none;border-radius:1px;text-align:center;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  transition:background .2s,transform .2s;
}
.roi-cta:hover{background:#f3c45a;transform:translateY(-1px)}

/* ---------- COMPARISON TABLE ---------- */
.compare-table-wrap{
  border:1px solid var(--border-lum);border-radius:2px;overflow:hidden;background:var(--surface);
  position:relative;
}
.compare-table-wrap::before{
  content:"";position:absolute;top:0;left:0;width:80px;height:2px;background:var(--accent);z-index:2;
}
.compare-table{width:100%;border-collapse:collapse;font-size:14.5px}
.compare-table thead th{
  padding:22px 16px;text-align:center;vertical-align:bottom;
  font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);letter-spacing:-0.01em;
  border-bottom:1px solid var(--border-lum);background:var(--bg-2);
  line-height:1.25;
}
.compare-table thead th.crit-col{
  text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-dim);font-weight:500;
}
.compare-table thead th.featured{
  background:linear-gradient(180deg,rgba(233,181,71,0.12),rgba(233,181,71,0.05));
  color:var(--accent);border-bottom:2px solid var(--accent);
  position:relative;
}
.compare-table thead th.featured::before{
  content:"Especialista";position:absolute;top:8px;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--bg);background:var(--accent);padding:3px 8px;border-radius:1px;
}
.compare-table thead .th-sub{
  display:block;margin-top:4px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--ink-dim);font-weight:400;
}
.compare-table thead th.featured .th-sub{color:rgba(233,181,71,0.7)}
.compare-table tbody td{
  padding:18px 16px;text-align:center;vertical-align:middle;
  border-bottom:1px solid var(--border);color:var(--ink-muted);font-size:14px;
}
.compare-table tbody tr:last-child td{border-bottom:none}
.compare-table tbody td.crit{
  text-align:left;color:var(--ink);font-weight:500;font-size:15px;line-height:1.4;
  background:var(--bg-2);font-family:var(--sans);
}
.compare-table tbody td.ok{color:var(--positive);font-weight:500}
.compare-table tbody td.ok i{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:rgba(142,192,124,0.14);color:var(--positive);font-size:11px;
}
.compare-table tbody td.x{color:var(--ink-dim);font-size:13.5px}
.compare-table tbody td.x i{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:rgba(105,103,89,0.16);color:var(--ink-dim);font-size:11px;
}
.compare-table tbody td.partial{color:var(--warn);font-family:var(--mono);font-size:12.5px;letter-spacing:0.04em}
.compare-table tbody td.featured{
  background:linear-gradient(180deg,rgba(233,181,71,0.04),rgba(233,181,71,0.02));
  color:var(--accent);font-weight:500;font-size:14px;
  border-left:1px solid rgba(233,181,71,0.18);border-right:1px solid rgba(233,181,71,0.18);
}
.compare-table tbody td.featured.ok i{
  background:rgba(233,181,71,0.18);color:var(--accent);
  box-shadow:0 0 0 1px rgba(233,181,71,0.25);
}
.compare-table tbody tr:hover td:not(.crit){background:rgba(233,181,71,0.02)}
.compare-table tbody tr:hover td.featured{background:linear-gradient(180deg,rgba(233,181,71,0.1),rgba(233,181,71,0.05))}
.compare-foot{
  margin-top:24px;padding:18px 24px;border:1px solid var(--border);border-left:2px solid var(--accent);
  background:var(--bg-2);display:flex;gap:14px;align-items:center;
  font-size:15px;line-height:1.55;color:var(--ink-muted);
}
.compare-foot i{color:var(--accent);font-size:18px;flex-shrink:0}

/* ---------- DARK SECTION MODIFIER (scroll rhythm) ---------- */
/* Aplicado em sections alternadas para criar troca de bg L→D→L
   conforme a pessoa rola. Full-bleed via ::before com 100vw. */
section.section-dark{
  --ink:#ece9df;
  --ink-muted:#9a978a;
  --ink-dim:#6b6a5c;
  --border:#353a38;
  --border-lum:#4a4f4d;
  --accent:#e9b547;
  --accent-dim:#b88930;
  --accent-soft:rgba(233,181,71,0.12);
  color:var(--ink);
  position:relative;
  isolation:isolate;
  padding:80px 0;margin-bottom:0;
}
section.section-dark::before{
  content:"";position:absolute;
  left:50%;top:0;bottom:0;
  width:100vw;transform:translateX(-50%);
  z-index:-1;
  background-color:#16191a;
  background-image:
    radial-gradient(ellipse 70vw 60vh at 85% 15%, rgba(233,181,71,0.10), transparent 60%),
    radial-gradient(ellipse 60vw 50vh at 10% 90%, rgba(233,181,71,0.06), transparent 60%),
    radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:100% 100%, 100% 100%, 28px 28px;
  background-repeat:no-repeat, no-repeat, repeat;
  background-position:0 0, 0 0, 0 0;
}

/* Cartões brancos dentro de seções dark — resetam as vars de tinta
   para texto escuro voltar a ser legível dentro do cartão. */
section.section-dark .mock,
section.section-dark .proc-node,
section.section-dark .compare-table-wrap,
section.section-dark .roi-wrap,
section.section-dark .bonus-grid,
section.section-dark .bonus-note,
section.section-dark .cases-wrap,
section.section-dark .form-wrap{
  --ink:#1a1c20;
  --ink-muted:#56564b;
  --ink-dim:#8c8a7a;
  --border:#ddd7c5;
  --border-lum:#c2bca6;
  --accent:#b88416;
  --accent-soft:rgba(184,132,22,0.10);
  color:var(--ink);
}

/* CTA-final em seção dark: transparente, deixa o bg da seção passar */
section.section-dark .cta-final{
  background:linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border-color:rgba(233,181,71,0.35);
}

/* ---------- FOOTER DARK ---------- */
.footer-wrap{
  background:#16191a;color:#ece9df;
  border-top:1px solid #353a38;
  position:relative;isolation:isolate;
}
.footer-wrap::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    radial-gradient(ellipse 70vw 80vh at 85% -10%, rgba(233,181,71,0.08), transparent 60%),
    radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:100% 100%, 28px 28px;
  background-repeat:no-repeat, repeat;
}
.footer-col h5{color:#e9b547}
.footer-col a{color:#9a978a}
.footer-col a:hover{color:#ece9df}
.footer-brand{color:#ece9df}
.footer-about{color:#9a978a}
.footer-social a{color:#9a978a;border-color:#353a38}
.footer-social a:hover{color:#e9b547;border-color:#e9b547}
.footer-bottom{border-top:1px solid #353a38;color:#6b6a5c}
.footer-bottom .partner-mark img{
  /* logo navy escuro fica invisível em footer dark — inverter aqui */
  filter:brightness(0) invert(1);opacity:0.85;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-photo{margin:0 auto;max-width:380px}
  .entrega-chain{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .dores{grid-template-columns:1fr}
  .meta-row{grid-template-columns:repeat(2,1fr);gap:24px}
  .nav-links{display:none}
  .nav-btn.ghost .soon{display:none}
  .hero{padding:64px 0 56px;margin-bottom:64px}

  /* dark sections — padding menor em mobile */
  section.section-dark{padding:56px 0}

  /* hero v2 mobile — força stack apesar da especificidade do .hero.hero-v2 .hero-grid */
  .hero.hero-v2{padding:48px 0 56px;margin-bottom:32px}
  .hero.hero-v2 .hero-grid{grid-template-columns:1fr;gap:40px;align-items:start}
  .hero-headline{font-size:clamp(40px,9vw,72px);line-height:1.0}
  .hero.hero-v2 .hero-lead{font-size:17px;margin-bottom:24px}
  .hero-cta{padding:16px 24px;font-size:12.5px;letter-spacing:0.14em}
  .hero-meta-badge{margin-top:18px;padding:7px 12px;font-size:10px}
  .hero-meta-badge img{height:16px}
  .notif-stack{height:300px;max-width:100%;margin:0 auto}

  /* profile-frame stacks */
  .profile-frame{margin:0 auto 64px;padding:0 32px}
  .profile-frame-inner{grid-template-columns:1fr;gap:32px;padding:32px;text-align:left}
  .profile-frame .hero-photo{margin:0 auto;max-width:300px}
  .profile-name{font-size:clamp(30px,6vw,42px)}
  .profile-role,.profile-text{font-size:15px}

  section{margin-bottom:80px}
  .form-grid{grid-template-columns:1fr}
  .form-wrap{padding:32px 24px}
  .cta-final{padding:48px 28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}

  /* feature blocks stack */
  .feat-block, .feat-block.reverse{grid-template-columns:1fr;gap:36px;margin-bottom:72px}
  .feat-block.reverse .feat-text{order:1}
  .feat-block.reverse .mock{order:2}

  /* roi calculator stacks */
  .roi-wrap{grid-template-columns:1fr}
  .roi-inputs{border-right:none;border-bottom:1px solid var(--border);padding:36px 28px}
  .roi-output{padding:36px 28px}

  /* comparison table — hide partial columns on tablet for readability */
  .compare-table{font-size:13.5px}
  .compare-table thead th, .compare-table tbody td{padding:14px 10px}

  /* kanban columns */
  .mock-kanban .kanban-cols{grid-template-columns:repeat(2,1fr)}
  .kcol:nth-child(3), .kcol:nth-child(4){border-top:1px solid var(--border)}
}
@media (max-width:600px){
  .page,.topnav-inner,.partner-inner,.footer-grid,.footer-bottom,.profile-frame{padding-left:20px;padding-right:20px}
  .meta-row{grid-template-columns:1fr}
  .entrega-chain{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .hero-photo .badge-float{left:-8px;bottom:-16px}
  .hero-photo .badge-float img{height:36px}
  .hero-photo .metric-float{right:-8px;top:16px;padding:10px 12px}
  .nav-btn.ghost{display:none}

  /* hero v2 ainda menor em smartphone */
  .hero.hero-v2{padding:32px 0 40px}
  .hero-headline{font-size:clamp(38px,9.5vw,60px)}
  .hero.hero-v2 .eyebrow{font-size:11px;letter-spacing:0.18em}
  .hero-ctas{gap:10px}
  .hero-cta{padding:14px 20px;font-size:11.5px;letter-spacing:0.12em;width:100%;justify-content:center}
  .notif-stack{height:280px}

  /* profile-frame compacto */
  .profile-frame-inner{padding:24px 20px;gap:24px;border-radius:3px}
  .profile-frame .hero-photo{max-width:260px}
  .profile-frame .hero-photo .badge-float{left:-6px;bottom:-12px}
  .profile-frame .hero-photo .badge-float img{height:32px}
  .profile-frame .hero-photo .metric-float{right:-6px;top:12px;padding:8px 10px}
  .profile-name{font-size:32px}
  .profile-text{font-size:14.5px}
  .profile-tags{gap:6px}
  .ptag{font-size:10px;padding:6px 10px}

  /* topnav mais magra */
  .topnav-inner{padding:10px 20px;gap:12px}
  .brand{font-size:10.5px;letter-spacing:0.14em}
  .nav-btn.solid{padding:7px 12px;font-size:10.5px}

  /* mockups smaller */
  .mock-kanban .kanban-cols{grid-template-columns:1fr}
  .kcol{min-height:auto}
  .feat-title{font-size:26px}

  /* comparison table — horizontal scroll */
  .compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .compare-table{min-width:680px}
  .compare-table tbody td.crit{font-size:13.5px;min-width:180px}
  .compare-foot{font-size:13.5px;padding:14px 18px}

  /* roi outputs */
  .roi-card-val{font-size:24px}
  .roi-field-head output{font-size:22px}
}

/* ====================================================
   LOGIN PAGE (area/index.html)
   ==================================================== */
.login-body{overflow-x:hidden;background:var(--bg)}
.login-shell{
  display:grid;grid-template-columns:1fr 1.05fr;min-height:100vh;
}

/* ---------- Left: dark brand panel ---------- */
.login-side{
  background:#16191a;color:#ece9df;
  padding:56px 48px;
  display:flex;flex-direction:column;justify-content:space-between;gap:32px;
  position:relative;isolation:isolate;
}
.login-side::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    radial-gradient(ellipse 70vw 60vh at 85% 15%, rgba(233,181,71,0.12), transparent 60%),
    radial-gradient(ellipse 60vw 50vh at 10% 90%, rgba(233,181,71,0.08), transparent 60%),
    radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:100% 100%, 100% 100%, 28px 28px;
  background-repeat:no-repeat, no-repeat, repeat;
}
.login-brand{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:#ece9df;text-decoration:none;display:inline-flex;align-items:center;gap:10px;
  align-self:flex-start;transition:opacity .2s;
}
.login-brand:hover{opacity:0.8}
.login-brand .brand-dot{
  width:8px;height:8px;background:#e9b547;border-radius:50%;
  box-shadow:0 0 12px #e9b547;
}
.login-side-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:#e9b547;margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.login-side-eyebrow::before{content:"";width:24px;height:1px;background:#e9b547}
.login-side-title{
  font-family:var(--display);font-weight:300;
  font-size:clamp(40px,5vw,64px);
  line-height:1.05;letter-spacing:-0.025em;color:#ece9df;
  margin-bottom:20px;
}
.login-side-title .grad{
  background-image:linear-gradient(90deg,#e9b547,#f3c45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:400;
}
.login-side-text{
  color:#9a978a;font-size:16px;line-height:1.65;font-weight:300;
  max-width:46ch;margin-bottom:28px;
}
.login-perks{
  list-style:none;display:flex;flex-direction:column;gap:11px;
}
.login-perks li{
  display:flex;align-items:center;gap:12px;
  color:#ece9df;font-size:14.5px;
}
.login-perks li i{
  color:#e9b547;font-size:13px;width:18px;text-align:center;
}
.login-side-footer{
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding-top:24px;border-top:1px solid #353a38;
  font-family:var(--mono);font-size:10px;letter-spacing:0.18em;
  text-transform:uppercase;color:#6b6a5c;
}

/* ---------- Right: light form panel ---------- */
.login-form-wrap{
  display:flex;align-items:center;justify-content:center;
  padding:56px 48px;background:var(--bg);position:relative;
}
.login-back{
  position:absolute;top:32px;right:32px;
  font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-muted);text-decoration:none;transition:color .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.login-back i{font-size:10px}
.login-back:hover{color:var(--accent)}

.login-form-inner{
  width:100%;max-width:420px;
}
.login-eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.login-eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}
.login-form-title{
  font-family:var(--display);font-weight:300;font-size:clamp(30px,3.6vw,42px);
  letter-spacing:-0.02em;color:var(--ink);margin-bottom:10px;line-height:1.1;
}
.login-form-sub{
  font-size:15px;color:var(--ink-muted);line-height:1.6;margin-bottom:32px;
}
.login-form .form-field{margin-bottom:16px}
.pass-wrap{position:relative}
.pass-wrap input{padding-right:48px;width:100%}
.pass-toggle{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--ink-dim);cursor:pointer;
  font-size:14px;padding:8px;line-height:1;
  border-radius:1px;transition:color .2s;
}
.pass-toggle:hover{color:var(--accent)}
.pass-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:2px}
.login-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-bottom:24px;flex-wrap:wrap;
}
.remember{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;color:var(--ink-muted);cursor:pointer;user-select:none;
}
.remember input{accent-color:var(--accent);width:14px;height:14px}
.forgot{
  font-size:13.5px;color:var(--accent);text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .2s;
}
.forgot:hover{border-bottom-color:var(--accent)}
.login-form .form-submit{width:100%}
.login-message{
  margin-top:16px;padding:12px 14px;border-radius:2px;
  display:flex;align-items:center;gap:10px;
  font-size:13.5px;line-height:1.45;
}
.login-message[data-kind="error"]{
  background:rgba(197,69,69,0.08);border:1px solid rgba(197,69,69,0.25);color:var(--danger);
}
.login-message[data-kind="info"]{
  background:rgba(184,132,22,0.08);border:1px solid rgba(184,132,22,0.25);color:var(--accent);
}
.login-message i{font-size:14px;flex-shrink:0}
.login-divider{
  margin:32px 0 20px;
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-dim);
}
.login-divider::before, .login-divider::after{
  content:"";flex:1;height:1px;background:var(--border);
}
.login-cta-secondary{
  display:block;padding:14px 18px;
  background:var(--bg-2);border:1px solid var(--border);border-radius:2px;
  text-align:center;text-decoration:none;color:var(--ink-muted);font-size:14px;
  transition:border-color .2s,color .2s,background .2s;
}
.login-cta-secondary strong{color:var(--accent);font-weight:600}
.login-cta-secondary:hover{border-color:var(--accent);color:var(--ink);background:var(--surface)}

/* ---------- Login responsive ---------- */
@media (max-width:860px){
  .login-shell{grid-template-columns:1fr;min-height:auto}
  .login-side{padding:40px 32px;gap:28px}
  .login-side-title{font-size:36px}
  .login-side-footer{display:none}
  .login-form-wrap{padding:48px 32px}
  .login-back{position:static;display:inline-flex;margin-bottom:24px}
}
@media (max-width:480px){
  .login-side, .login-form-wrap{padding:32px 20px}
  .login-side-title{font-size:32px}
  .login-form-title{font-size:26px}
  .login-perks li{font-size:13.5px}
}

/* ====================================================
   DASHBOARD (area/dashboard/index.html) — MemberKit style
   Tema dark exclusivo para a Área do Cliente.
   ==================================================== */
.dash-body{
  background:#0f1113;color:#ece9df;min-height:100vh;
  background-image:
    radial-gradient(ellipse 80vw 60vh at 85% -10%, rgba(233,181,71,0.08), transparent 60%),
    radial-gradient(ellipse 60vw 50vh at 10% 110%, rgba(233,181,71,0.05), transparent 60%);
}

.dash-topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(15,17,19,0.85);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.dash-topnav .brand{
  color:#ece9df;
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  white-space:nowrap;flex-shrink:0;
}
.dash-topnav .brand .brand-dot{
  width:8px;height:8px;background:#e9b547;border-radius:50%;
  box-shadow:0 0 12px #e9b547;display:inline-block;
}
.dash-topnav-inner{
  max-width:1280px;margin:0 auto;padding:14px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.dash-user{
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:#9a978a;
}
.dash-user-name{color:#ece9df;font-weight:600;letter-spacing:0.06em}
.dash-user-role{
  padding:3px 9px;border:1px solid rgba(233,181,71,0.3);border-radius:99px;
  font-size:10px;letter-spacing:0.14em;color:#e9b547;background:rgba(233,181,71,0.08);
}
.dash-logout{
  background:transparent;border:1px solid rgba(255,255,255,0.12);
  padding:7px 12px;border-radius:1px;color:#ece9df;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;
  transition:border-color .2s,color .2s,background .2s;
}
.dash-logout:hover{border-color:#e9b547;color:#e9b547;background:rgba(233,181,71,0.06)}
.dash-logout i{font-size:11px}

.dash-main{max-width:1280px;margin:0 auto;padding:56px 32px 96px}

/* Banner de preview-mode (visível só quando PREVIEW_MODE=true) */
.preview-banner{
  display:flex;align-items:center;gap:12px;
  padding:12px 18px;margin-bottom:32px;
  background:rgba(233,181,71,0.10);border:1px solid rgba(233,181,71,0.30);
  border-radius:10px;
  font-size:13.5px;color:#ece9df;line-height:1.5;
}
.preview-banner i{color:#e9b547;font-size:14px;flex-shrink:0}
.preview-banner strong{color:#e9b547;font-weight:600;letter-spacing:0.02em}
.preview-banner code{
  font-family:var(--mono);font-size:11.5px;
  padding:1px 6px;background:rgba(0,0,0,0.25);border-radius:3px;color:#e9b547;
}

.dash-header{margin-bottom:40px}
.dash-eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:#e9b547;margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.dash-eyebrow::before{content:"";width:24px;height:1px;background:#e9b547}
.dash-title{
  font-family:var(--display);font-weight:300;
  font-size:clamp(40px,5.5vw,68px);
  line-height:1.05;letter-spacing:-0.025em;color:#ece9df;
  margin-bottom:14px;
}
.dash-title #dash-greeting{
  background-image:linear-gradient(90deg,#e9b547,#f3c45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:400;
}
.dash-sub{
  font-size:17px;color:#9a978a;line-height:1.65;
  max-width:64ch;font-weight:300;
}

/* ---------- Tabs (Início ativo) ---------- */
.mk-tabs{
  display:flex;gap:8px;margin-bottom:36px;flex-wrap:wrap;
}
.mk-tab{
  padding:8px 18px;border-radius:99px;border:1px solid transparent;
  background:rgba(233,181,71,0.16);color:#e9b547;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  font-weight:600;transition:background .2s,border-color .2s;
}
.mk-tab:hover{background:rgba(233,181,71,0.22)}
.mk-tab.active{
  background:rgba(233,181,71,0.20);
  border-color:rgba(233,181,71,0.35);
  box-shadow:0 0 0 1px rgba(233,181,71,0.1);
}

/* ---------- Categoria + grid ---------- */
.mk-category{margin-bottom:48px}
.mk-category-title{
  font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:0.22em;
  text-transform:uppercase;color:#9a978a;margin-bottom:24px;
}

.mk-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}

.mk-card{
  background:#1b1e21;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;overflow:hidden;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.mk-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 56px rgba(0,0,0,0.45);
  border-color:rgba(233,181,71,0.3);
}
.mk-card-shake{animation:mk-shake .5s ease-in-out}
@keyframes mk-shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  75%{transform:translateX(4px)}
}

.mk-card-cover{
  position:relative;aspect-ratio:3 / 4;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:#1a1d22;
}
.mk-card-bg{
  position:absolute;inset:0;z-index:0;
  background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:18px 18px;
}
.mk-card-cover::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:55%;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,0.55));
  pointer-events:none;
}
/* Per-kind gradient hues */
.mk-card[data-kind="playbooks"] .mk-card-cover{
  background:linear-gradient(135deg,#2a1f12 0%,#1a1410 70%);
}
.mk-card[data-kind="videos"] .mk-card-cover{
  background:linear-gradient(135deg,#1c2538 0%,#141821 70%);
}
.mk-card[data-kind="meetings"] .mk-card-cover{
  background:linear-gradient(135deg,#2b2516 0%,#1a1610 70%);
}
.mk-card[data-kind="automations"] .mk-card-cover{
  background:linear-gradient(135deg,#162827 0%,#101a1a 70%);
}
.mk-card-icon{
  position:relative;z-index:1;font-size:80px;
  color:rgba(233,181,71,0.32);
  filter:drop-shadow(0 8px 24px rgba(233,181,71,0.15));
  transition:transform .35s ease,color .35s ease;
}
.mk-card:hover .mk-card-icon{
  transform:scale(1.08);color:rgba(233,181,71,0.55);
}
.mk-card-soon{
  position:absolute;top:14px;right:14px;z-index:2;
  font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;
  font-weight:600;padding:5px 9px;border-radius:99px;
  background:rgba(233,181,71,0.18);color:#e9b547;
  border:1px solid rgba(233,181,71,0.3);
}

.mk-card-body{
  padding:20px 22px 22px;
  background:linear-gradient(180deg,#171a1c,#13161a);
  display:flex;flex-direction:column;gap:10px;
}
.mk-badge{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:#9a978a;font-weight:500;
}
.mk-badge i{color:#e9b547;font-size:10px}
.mk-card-title{
  font-family:'Plus Jakarta Sans',var(--sans);font-weight:800;
  font-size:30px;letter-spacing:-0.028em;color:#ece9df;
  line-height:1.0;margin-top:2px;
}
.mk-card-line{
  display:block;height:2px;width:100%;
  background:linear-gradient(90deg,rgba(233,181,71,0.5) 0%,rgba(233,181,71,0.1) 60%,transparent 100%);
  margin-top:14px;border-radius:99px;
}

/* ---------- Debug box ---------- */
.dash-debug{
  margin-top:64px;padding:18px 22px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  border-left:2px solid #e9b547;border-radius:1px;
}
.dash-debug pre{
  font-family:var(--mono);font-size:12px;color:#9a978a;
  margin-top:8px;white-space:pre-wrap;word-break:break-all;
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .mk-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .dash-main{padding:44px 32px 72px}
  .mk-card-title{font-size:26px}
}
@media (max-width:600px){
  .dash-topnav-inner{padding:12px 20px;gap:12px;flex-wrap:wrap}
  .dash-user{gap:8px;flex-wrap:wrap;font-size:10.5px}
  .dash-user-role{display:none}
  .dash-main{padding:32px 20px 56px}
  .dash-title{font-size:34px}
  .dash-sub{font-size:15px}
  .mk-grid{grid-template-columns:1fr;gap:14px}
  .mk-card-cover{aspect-ratio:16/10}
  .mk-card-icon{font-size:60px}
  .mk-card-title{font-size:24px}
}
