/* ==========================================================================
   BEN DIGITAL — Design System v3
   Cores: Azul #0055F8 · Preto #000000 · Laranja #F83700
   Tipografia: Helvetica (títulos e corpo) · Playfair Display itálico (destaque)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital@1&display=swap');

:root{
  --blue:#0055F8;
  --blue-dark:#0040c4;
  --black:#0a0a0a;
  --orange:#F83700;
  --white:#f5f2ec;
  --off-white:#f5f6f8;
  --gray-100:#eceef2;
  --gray-300:#c2c0ba;
  --gray-500:#8f8d87;
  --gray-700:#4a4e59;
  --gray-900:#16171b;

  --font-display:Helvetica, 'Helvetica Neue', Arial, sans-serif;
  --font-body:Helvetica, 'Helvetica Neue', Arial, sans-serif;
  --font-accent:'Playfair Display', Georgia, serif;

  --container:1180px;
  --radius:2px;

  --ease:cubic-bezier(.16,1,.3,1);

  --rabisco-o1:url(../assets/img/rabiscos/rabisco_orange.png);
  --rabisco-o2:url(../assets/img/rabiscos/rabisco_orange2.png);
  --rabisco-b1:url(../assets/img/rabiscos/rabisco_black.png);
  --rabisco-b2:url(../assets/img/rabiscos/rabisco_black2.png);
  --rabisco-b3:url(../assets/img/rabiscos/rabisco_black3.png);

  --texture-black:url(../assets/img/textures/texture-black.jpg?v=2);
  --texture-white:url(../assets/img/textures/texture-white.jpg?v=2);
  --texture-blue:url(../assets/img/textures/texture-blue.jpg?v=3);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.01em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-weight:400;}
h1 em,h2 em,h3 em{
  font-family:var(--font-accent);
  font-style:italic;
  font-weight:400;
  color:var(--orange);
  text-transform:lowercase;
  letter-spacing:0;
}
h2,.h2-xl{font-size:clamp(1.8rem,4vw,3.1rem);font-weight:700;letter-spacing:-0.02em;}
.title-rabisco{display:block;width:200px;height:auto;margin-top:.6rem;}
.circle-highlight{position:relative;z-index:0;display:inline-block;white-space:nowrap;}
.circle-highlight::before{content:'';position:absolute;left:-8px;right:-8px;top:-8px;bottom:-8px;z-index:-1;background:url(../assets/img/rabiscos/rabisco_9_orange.png) no-repeat center/100% 100%;pointer-events:none;}
.underline-mark{position:relative;display:inline-block;}
.underline-mark::after{content:'';position:absolute;left:0;right:0;bottom:-.5rem;height:.9rem;background:url(../assets/img/rabiscos/rabisco_3_orange_trim.png) no-repeat center/100% 100%;pointer-events:none;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Utility type scale ---------- */
.eyebrow{
  font-family:var(--font-display);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--blue);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  margin-bottom:1.1em;
}
.section-white .eyebrow{color:var(--black);}
.lede{
  font-size:1.15rem;
  color:var(--gray-300);
  max-width:620px;
}
.italic-line{
  font-style:italic;
  color:var(--gray-300);
  font-weight:400;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  padding:1em 1.8em;
  border-radius:999px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--blue);color:var(--white);}
.btn-primary:hover{background:var(--blue-dark);}
.btn-ghost{border-color:rgba(255,255,255,.35);color:var(--white);background:transparent;}
.btn-ghost:hover{border-color:var(--white);}
.btn-snake{
  border-color:rgba(255,255,255,.35);
  color:var(--white);
  background:transparent;
  position:relative;
  overflow:visible;
  height:52px;
  box-sizing:border-box;
}
.btn-snake-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}
.btn-snake-svg rect{
  fill:none;
  stroke:url(#snakeGrad);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:26 74;
  filter:drop-shadow(0 0 5px rgba(0,85,248,.6)) drop-shadow(0 0 5px rgba(248,55,0,.4));
  animation:btn-snake-dash 5.5s linear infinite;
}
@keyframes btn-snake-dash{ to{ stroke-dashoffset:-100; } }
.btn-ghost-dark{border-color:rgba(0,0,0,.35);color:var(--black);background:transparent;}
.btn-ghost-dark:hover{border-color:var(--black);}
.btn-orange{background:var(--orange);color:var(--white);}
.btn-orange:hover{background:#d92e00;}
.btn-pale{background:var(--white);color:var(--black);}
.btn-pale:hover{background:#ffffff;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:2em;}
.link-arrow{
  font-family:var(--font-display);
  font-weight:700;
  display:inline-flex;
  gap:.5em;
  align-items:center;
  border-bottom:2px solid currentColor;
  padding-bottom:.15em;
  transition:opacity .2s;
}
.link-arrow:hover{opacity:.7;}

/* ---------- Nav ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(10,10,10,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;
  max-width:var(--container);
  margin:0 auto;
}
.logo{display:inline-flex;align-items:center;}
.logo img{height:26px;width:auto;display:block;}
.footer-top .logo img{height:30px;}
.nav-links{display:flex;gap:2rem;align-items:center;}
.nav-links a{
  font-size:.92rem;
  color:var(--gray-300);
  transition:color .2s;
  position:relative;
}
.nav-links a:hover,.nav-links a.active{color:var(--white);}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--blue);
}
.nav-cta{display:flex;align-items:center;gap:1rem;}
.nav-cta-link{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  color:var(--orange);
  display:inline-flex;
  align-items:center;
  gap:.4em;
  transition:opacity .2s;
}
.btn-text{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  color:var(--white);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  padding:1em 0;
  transition:opacity .2s;
}
.btn-text:hover{opacity:.75;}
.nav-cta-link:hover{opacity:.75;}
.nav-toggle{display:none;background:none;border:0;color:var(--white);font-size:1.6rem;cursor:pointer;}

@media (max-width:900px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,10,10,.96);}
  .nav{padding:14px 20px;}
  .nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;position:relative;z-index:130;line-height:1;}
  .nav-links{
    position:fixed;top:0;right:0;bottom:0;left:0;
    height:100vh;height:100dvh;
    background:var(--black);
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:80px 28px 40px;
    gap:1.5rem;
    overflow-y:auto;
    visibility:hidden;opacity:0;
    transform:translateY(-12px);
    transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s;
    z-index:120;
  }
  .nav-links a{font-size:1.5rem;font-weight:700;}
  .nav-links a.active::after{bottom:-6px;}
  .nav-links.open{visibility:visible;opacity:1;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s;}
  .logo{position:relative;z-index:130;}
  .nav-cta .nav-cta-link{display:none;}
}

/* ---------- Sections / layout ---------- */
section{padding:clamp(64px,9vw,120px) 0; position:relative; overflow:hidden;}
section > .container{position:relative; z-index:1;}

/* ---------- Rabisco decorative accents (min. 2 per section) ---------- */
section::before,
section::after{
  content:"";
  position:absolute;
  width:230px;
  height:170px;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.22;
  pointer-events:none;
  z-index:0;
}
section::before{
  display:none;
  top:-40px;
  left:-50px;
  background-position:left top;
  background-image:var(--rabisco-o1);
}
section::after{
  display:none;
  bottom:-40px;
  right:-50px;
  background-position:right bottom;
  background-image:var(--rabisco-o2);
  transform:rotate(180deg);
}
.section-white::before{ background-image:var(--rabisco-b1); opacity:.15; }
.section-white::after{ background-image:var(--rabisco-b3); opacity:.15; }
section:nth-of-type(odd)::before{ background-image:var(--rabisco-o2); transform:scaleX(-1); }
section:nth-of-type(odd)::after{ background-image:var(--rabisco-o1); transform:rotate(180deg) scaleX(-1); }
.section-white:nth-of-type(odd)::before{ background-image:var(--rabisco-b3); }
.section-white:nth-of-type(odd)::after{ background-image:var(--rabisco-b1); }
@media (max-width:700px){
  section::before,section::after{ width:140px; height:110px; opacity:.1; }
}
.section-black{
  background-color:var(--black);color:var(--white);
  background-image:var(--texture-black);
  background-size:1920px auto;
  background-repeat:repeat;
  background-attachment:fixed;
}
.section-white{
  background-color:var(--off-white);color:var(--black);
  background-image:var(--texture-white);
  background-size:1920px auto;
  background-repeat:repeat;
  background-attachment:fixed;
}
.section-white h1,.section-white h2,.section-white h3{color:var(--black);}
.section-blue{
  background-color:var(--blue);color:var(--white);
  background-image:var(--texture-blue);
  background-size:1920px auto;
  background-repeat:repeat;
  background-attachment:fixed;
}
.section-tight{padding:clamp(40px,6vw,72px) 0;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:860px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}

.header-block{max-width:760px;margin-bottom:3rem;}
.header-block.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:clamp(20px,3vw,36px) 0 clamp(24px,4vw,40px);
  overflow:hidden;
  text-align:left;
  min-height:calc(100svh - 74px);
  display:flex;
  align-items:center;
  background-color:var(--black);
  background-image:var(--texture-black);
  background-size:1920px auto;
  background-repeat:repeat;
  background-attachment:fixed;
}
.hero > .container{width:100%;}
.hero .container,
.page-hero .container{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.hero .btn-row{justify-content:flex-start;}
.hero-rabisco{
  position:absolute;
  top:-40px;right:-60px;
  width:380px;
  opacity:.4;
  pointer-events:none;
  filter:saturate(1);
  z-index:0;
}
.hero-megaphone{
  position:absolute;
  right:22%;
  top:9%;
  height:112%;
  max-height:780px;
  width:auto;
  opacity:.92;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(180deg, black 0%, black 58%, transparent 82%);
  mask-image:linear-gradient(180deg, black 0%, black 58%, transparent 82%);
}
.hero-megaphone-rabisco{
  position:absolute;
  right:16%;
  top:10%;
  width:130px;
  opacity:.85;
  pointer-events:none;
  z-index:0;
  transform:rotate(-8deg);
}
.hero-icon{
  width:26px;height:auto;
  margin:0 0 1.1rem;
  display:block;
  position:relative;
  z-index:1;
}
.hero h1{
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:700;
  letter-spacing:-0.02em;
  max-width:26ch;
  margin:0 0 .4em;
}
.hero h1 br{display:block;}
.hero-sub{font-size:1.15rem;color:var(--gray-300);margin-top:.6rem;max-width:44ch;}
.hero-copy{font-size:1.2rem;color:var(--gray-300);max-width:52ch;margin-top:.4rem;}
.hero-copy strong{color:var(--white);}
.hero .btn-row{margin-top:1.4em;}
.hero .eyebrow{margin-bottom:.7em;}

/* ---------- Glow / esfumaçado accents ---------- */
.glow{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  pointer-events:none;
  z-index:0;
  opacity:.4;
  mix-blend-mode:screen;
}
.glow-orange{
  width:520px;height:520px;
  top:-160px;right:-140px;
  background:radial-gradient(circle, var(--orange) 0%, transparent 68%);
}
.glow-orange.glow-soft{width:380px;height:380px;top:-210px;right:-110px;}
.glow-blue{
  width:560px;height:560px;
  bottom:-200px;left:-160px;
  background:radial-gradient(circle, var(--blue) 0%, transparent 68%);
}
.glow-continue{
  bottom:auto;
  top:-360px;
  left:-160px;
}
@media (max-width:700px){
  .glow{ filter:blur(60px); opacity:.3; }
  .glow-orange{ width:320px;height:320px; }
  .glow-blue{ width:340px;height:340px; }
}

/* ---------- Cards ---------- */
.card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  padding:2rem;
  transition:border-color .25s, transform .25s var(--ease);
}
.card:hover{border-color:rgba(255,255,255,.25);transform:translateY(-4px);}
.card h3{font-size:1.25rem;margin-bottom:.5rem;}
.card p{color:var(--gray-300);margin:0;}
.card .num{
  font-family:var(--font-display);
  color:var(--blue);
  font-weight:800;
  font-size:.9rem;
  margin-bottom:1rem;
  display:block;
}

.section-white .card{
  background:var(--white);
  border-color:var(--gray-100);
}
.section-white .card p{color:var(--gray-700);}
.section-white .card:hover{border-color:var(--blue);}
.section-white .card .num{color:var(--black);}

.section-white .card.card-outline{
  background:transparent;
  border-color:rgba(0,0,0,.15);
}
.section-white .card.card-outline:hover{border-color:var(--orange);}
.section-white .card.card-outline .num,
.section-white .card.card-outline h3{color:var(--orange);}

/* ---------- Stat blocks ---------- */
.stat{
  text-align:left;
  position:relative;
  padding:0;
}
.stat .value{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.2rem,4vw,3.2rem);
  color:var(--blue);
  line-height:1;
  margin-bottom:.6rem;
  display:flex;
  align-items:baseline;
  gap:.05em;
}
.stat .stat-prefix,.stat .stat-suffix{font-size:.55em;font-weight:800;}
.section-blue .stat .value{color:var(--white);}
.stat .label{color:var(--gray-300);font-size:.95rem;max-width:22ch;}
.section-white .stat .label{color:var(--gray-700);}

.case-block{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:2.6rem;margin-top:2.6rem;
}
.case-block:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.case-head{display:flex;align-items:center;gap:1.4rem;margin-bottom:1.6rem;}
.case-head .case-title{margin-bottom:0;}
.case-media{flex:none;width:96px;height:96px;border-radius:18px;border:1px solid rgba(255,255,255,.22);overflow:hidden;background:#0a0a0a;}
.case-media img{width:100%;height:100%;object-fit:cover;display:block;}
.case-media.logo{width:auto;padding:0 1.3rem;display:flex;align-items:center;}
.case-media.logo img{height:44px;width:auto;max-width:200px;object-fit:contain;}
.case-media.photo,.case-media.square{width:140px;height:140px;border:0;background:transparent;border-radius:0;overflow:visible;}
.case-media.photo img,.case-media.square img{object-fit:contain;transform:none;}
.case-media.square img{border-radius:14px;}
.case-title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.3rem;
  margin-bottom:1.6rem;
}
.case-title small{
  display:block;
  font-family:var(--font-body);
  font-weight:400;
  color:var(--gray-500);
  font-size:.85rem;
  margin-top:.3rem;
}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:1.2rem;}
@media (max-width:700px){.stat-row{grid-template-columns:1fr 1fr;}}

/* ---------- Checklist ---------- */
.checklist{display:grid;gap:1.4rem;margin-top:2rem;}
.checklist li{
  display:flex;gap:1rem;align-items:flex-start;
  font-weight:700;
  font-family:var(--font-display);
  font-size:1.02rem;
}
.checklist li::before{
  content:"→";
  color:var(--blue);
  flex:none;
  font-weight:900;
}
.section-white .checklist li::before{color:var(--black);}

/* ---------- Bordered list (o que ninguem te conta, etc.) ---------- */
.problem-list{margin-top:1.6rem;display:grid;gap:.85rem;}
.problem-list li{
  color:var(--gray-300);
  padding-left:1.3rem;
  position:relative;
}
.problem-list li::before{
  content:"";
  position:absolute;left:0;top:.55em;
  width:6px;height:6px;background:var(--blue);
}
.section-white .problem-list li::before{background:var(--black);}

/* ---------- Conceptual image treatment ---------- */
.concept-figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:280px;
}
.concept-figure img{
  max-width:78%;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.55));
}
.concept-figure::before{
  content:"";
  position:absolute;inset:8%;
  border:1px solid rgba(255,255,255,.12);border-radius:18px;
  z-index:-1;
}

/* ---------- Mockup card (product visual) ---------- */
.mockup-card{
  background:#111113;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.5);
}
.mockup-bar{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mockup-bar .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18);}
.mockup-bar .label{
  margin-left:8px;
  font-size:.82rem;
  color:var(--gray-500);
  font-family:var(--font-body);
}
.mockup-bar .status{
  margin-left:auto;
  display:inline-flex;align-items:center;gap:.4em;
  font-size:.75rem;color:var(--gray-300);
}
.mockup-bar .status::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);
}
.mockup-table{width:100%;border-collapse:collapse;}
.mockup-table th{
  text-align:left;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gray-500);
  font-weight:400;
  padding:10px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mockup-table td{
  padding:12px 18px;
  border-bottom:1px solid rgba(255,255,255,.05);
  font-size:.88rem;
  color:var(--white);
  vertical-align:middle;
}
.mockup-table tr:last-child td{border-bottom:0;}
.mockup-person{display:flex;align-items:center;gap:.7em;}
.mockup-avatar{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:700;font-family:var(--font-display);
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff;
  flex:none;
}
.mockup-person small{display:block;color:var(--gray-500);font-size:.76rem;margin-top:2px;}
.mockup-pill{
  display:inline-flex;align-items:center;gap:.4em;
  font-size:.75rem;
  padding:.35em .8em;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:var(--gray-300);
}
.mockup-pill::before{content:"";width:6px;height:6px;border-radius:50%;}
.mockup-pill.agendado{color:#8fd6a0;background:rgba(90,200,120,.12);}
.mockup-pill.agendado::before{background:#5ac878;}
.mockup-pill.conversa{color:#ffb27a;background:rgba(248,55,0,.12);}
.mockup-pill.conversa::before{background:var(--orange);}
.mockup-pill.aguardando{color:var(--gray-300);background:rgba(255,255,255,.06);}
.mockup-pill.aguardando::before{background:var(--gray-500);}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--black);
  border-top:1px solid rgba(255,255,255,.08);
  padding:64px 0 32px;
}
.footer-top{
  display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer-col h4{
  font-family:var(--font-display);
  font-size:.8rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gray-500);
  margin-bottom:1rem;
}
.footer-col a{
  display:block;color:var(--gray-300);margin-bottom:.65rem;font-size:.95rem;transition:color .2s;
}
.footer-col a:hover{color:var(--white);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  padding-top:28px;color:var(--gray-500);font-size:.85rem;
}

/* ---------- FAQ accordion ---------- */
.faq-item{
  border-bottom:1px solid rgba(255,255,255,.12);
}
.faq-q{
  width:100%;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  background:none;border:0;color:var(--white);
  text-align:left;
  padding:1.7rem 0;
  cursor:pointer;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.08rem;
}
.faq-q .plus{
  flex:none;
  width:26px;height:26px;
  border:1.5px solid var(--gray-500);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  transition:transform .3s var(--ease), border-color .3s;
}
.faq-q .plus::before,.faq-q .plus::after{
  content:"";position:absolute;background:var(--gray-300);transition:background .3s;
}
.faq-q .plus::before{width:10px;height:1.5px;}
.faq-q .plus::after{width:1.5px;height:10px;}
.faq-item.open .faq-q .plus{transform:rotate(135deg);border-color:var(--blue);}
.faq-item.open .faq-q .plus::before,.faq-item.open .faq-q .plus::after{background:var(--blue);}
.section-white .faq-item.open .faq-q .plus{border-color:var(--black);}
.section-white .faq-item.open .faq-q .plus::before,.section-white .faq-item.open .faq-q .plus::after{background:var(--black);}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .4s var(--ease);
}
.faq-a p{color:var(--gray-300);padding-bottom:1.8rem;margin:0;max-width:70ch;}

/* ---------- Glossary ---------- */
.gloss-item{
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:1.8rem 0;
}
.gloss-item dt{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--blue);
  font-size:1.15rem;
  margin-bottom:.5rem;
}
.section-white .gloss-item dt{color:var(--black);}
.gloss-item dd{margin:0;color:var(--gray-300);max-width:65ch;}

/* ---------- Form (Reunião) ---------- */
.form-card{
  background:transparent;
  color:var(--white);
  border:1.5px solid rgba(255,255,255,.35);
  padding:clamp(28px,4vw,48px);
  border-radius:20px;
}
.form-row{display:grid;gap:1.2rem;margin-bottom:1.2rem;}
.form-row.two{grid-template-columns:1fr 1fr;}
@media (max-width:600px){.form-row.two{grid-template-columns:1fr;}}
.field label{
  display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:.5rem;color:var(--white);
  font-family:var(--font-display);
}
.field input,.field select{
  width:100%;padding:.9em 1em;border:1.5px solid rgba(255,255,255,.35);border-radius:10px;
  font-family:var(--font-body);font-size:1rem;background:transparent;color:var(--white);
}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue);}
.field select option{color:var(--black);}
.form-note{font-size:.85rem;color:var(--white);margin-top:1rem;}
.form-note .highlight{color:var(--orange);}

/* ---------- CTA band ---------- */
.cta-band{
  background-color:#0046cc;
  background-image:var(--texture-blue);
  background-size:1920px auto;
  background-repeat:repeat;
  background-attachment:fixed;
  padding:clamp(56px,8vw,96px) 0;
  text-align:left;
  position:relative;
  overflow:hidden;
}
.cta-band h2{max-width:16ch;}
.cta-band h2 em{color:var(--black);font-weight:700;}
.cta-band .lede{color:rgba(255,255,255,.85);max-width:52ch;}
.cta-band .btn-row{justify-content:flex-start;}
.cta-band .rabisco{
  position:absolute;bottom:-30px;left:-40px;width:280px;opacity:.35;
}

/* ---------- Reveal on scroll ---------- */
[data-reveal]{opacity:1;transform:none;}

/* ---------- Revelação ao rolar ---------- */
@keyframes bd-rise{from{opacity:0;translate:0 28px;}to{opacity:1;translate:0 0;}}
@keyframes bd-fade{from{opacity:0;}to{opacity:1;}}
@keyframes bd-wipe{from{clip-path:inset(0 100% 0 0);opacity:1;}to{clip-path:inset(0 0 0 0);opacity:1;}}
.js-reveal [data-r]:not(.is-in){opacity:0;}
.js-reveal [data-r="rise"]:not(.is-in){translate:0 28px;}
.js-reveal [data-r="wipe"]:not(.is-in){clip-path:inset(0 100% 0 0);}
[data-r].is-in{animation:bd-rise .85s cubic-bezier(.22,.7,.2,1) both;animation-delay:var(--d,0ms);}
[data-r="fade"].is-in{animation-name:bd-fade;animation-duration:1.2s;}
[data-r="wipe"].is-in{animation-name:bd-wipe;animation-duration:1s;animation-timing-function:cubic-bezier(.65,0,.25,1);}
@media (prefers-reduced-motion:reduce){
  .js-reveal [data-r]:not(.is-in){opacity:1;translate:none;clip-path:none;}
  [data-r].is-in{animation:none;}
}

/* ---------- Breadcrumb / page hero (inner pages) ---------- */
.page-hero{
  padding:clamp(20px,3vw,36px) 0 clamp(28px,4vw,44px);
  text-align:left;
  position:relative;
  overflow:hidden;
}
.hero-files{
  position:absolute;
  right:6%;
  top:50%;
  transform:translateY(-50%) rotate(-6deg);
  width:min(38%, 420px);
  opacity:.9;
  pointer-events:none;
  z-index:0;
}
@media (max-width:1000px){
}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;letter-spacing:-0.02em;max-width:20ch;}
.page-hero .lede,
.page-hero .hero-copy{margin-top:.6rem;}
.page-hero .btn-row{justify-content:flex-start;margin-top:1.4em;}
.page-hero .eyebrow{margin-bottom:.7em;}

/* ---------- Misc ---------- */
.divider{height:1px;background:rgba(255,255,255,.1);border:0;margin:0;}
.tag{
  display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.72rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.6rem;
}

.grid-2:has(> .card),.grid-3:has(> .card),.grid-4:has(> .card){align-items:stretch;}
.cta-band .btn-orange,.section-blue .btn-orange{background:var(--white);color:var(--black);}
.cta-band .btn-orange:hover,.section-blue .btn-orange:hover{background:#fff;}
.narrow-left > *{max-width:860px;}
.partner-badge{width:170px;height:auto;display:block;}
.grid-center{align-items:center;}
.ceo-photo img{width:100%;max-width:520px;margin-left:auto;height:auto;-webkit-mask-image:linear-gradient(180deg,black 0%,black 78%,transparent 100%);mask-image:linear-gradient(180deg,black 0%,black 78%,transparent 100%);}
.hero-chair{position:absolute;right:9%;top:50%;transform:translateY(-50%);height:86%;max-height:520px;width:auto;opacity:.95;pointer-events:none;z-index:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));}
.hero-airplane{position:absolute;right:5%;top:50%;transform:translateY(-50%) rotate(-6deg);width:min(42%,560px);height:auto;pointer-events:none;z-index:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));}
.hero-check{position:absolute;right:30%;top:14%;width:110px;height:auto;transform:rotate(8deg);pointer-events:none;z-index:1;}
.hero-arrow{position:absolute;right:31%;top:46%;width:190px;height:auto;transform:rotate(14deg);pointer-events:none;z-index:1;}
.hero-walking{position:absolute;right:7%;top:50%;transform:translateY(-50%);height:88%;max-height:560px;width:auto;border-radius:18px;border:1px solid rgba(255,255,255,.22);pointer-events:none;z-index:0;filter:opacity(.5);}
.hero-motion{position:absolute;right:calc(7% + 180px);top:12%;width:190px;height:auto;pointer-events:none;z-index:1;}
.hero-qmark{position:absolute;right:9%;top:50%;transform:translateY(-50%) rotate(8deg);height:70%;max-height:430px;width:auto;pointer-events:none;z-index:0;}
.hero-circle{position:absolute;left:calc(94% - 350px);top:50%;transform:translateY(-50%);width:min(22%,280px);height:auto;pointer-events:none;z-index:1;}

.ceo-photo{position:relative;}
.name-tag{position:absolute;left:2%;bottom:0;border:1.5px solid rgba(255,255,255,.22);border-radius:18px;padding:1.05rem 1.4rem 1.15rem;background:rgba(10,10,10,.72);backdrop-filter:blur(6px);overflow:hidden;}
.name-tag::before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--blue),var(--orange));}
.name-tag-name{display:block;font-family:var(--font-display);font-weight:900;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white);}
.name-tag-role{display:block;margin-top:.25rem;font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.badge-box{display:inline-block;position:relative;overflow:hidden;margin-top:1.4rem;padding:1.6rem 2rem 1.4rem;border:1.5px solid rgba(0,0,0,.14);border-radius:18px;background:rgba(255,255,255,.55);}
.badge-box::before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--blue),var(--orange));}

/* ---------- Heros no responsivo: imagens ficam ao fundo, atrás do texto ---------- */
@media (max-width:1000px){
  .page-hero,.hero{position:relative;overflow:hidden;}
  .hero .container,.page-hero .container{position:relative;z-index:2;}
  .hero-megaphone,.hero-chair,.hero-airplane,.hero-files,.hero-walking,.hero-qmark{
    top:auto;bottom:0;right:-10%;left:auto;
    width:auto;height:62%;max-height:none;max-width:70%;
    transform:none;filter:opacity(.38);z-index:0;
  }
  .hero-megaphone{right:-6%;height:78%;}
  .hero-airplane{width:64%;height:auto;right:-8%;bottom:6%;transform:rotate(-6deg);}
  .hero-files{width:56%;height:auto;right:-4%;bottom:6%;transform:rotate(-6deg);}
  .hero-walking{height:70%;right:4%;bottom:auto;top:15%;filter:opacity(.28);}
  .hero-qmark{height:60%;right:2%;top:20%;bottom:auto;filter:opacity(.5);transform:rotate(8deg);}
  .hero-megaphone-rabisco,.hero-rabisco,.hero-check,.hero-arrow,.hero-motion,.hero-circle{display:none;}
}

/* ---------- Anéis dos cases ---------- */
.stat .ring{position:relative;width:148px;height:148px;margin-bottom:1rem;}
.stat .ring svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible;}
.ring-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:7;}
.ring-fg{fill:none;stroke:url(#ringGrad);stroke-width:7;stroke-linecap:round;stroke-dasharray:0 100;}
.stat.in .ring-fg{stroke-dasharray:var(--fill) 100;transition:stroke-dasharray 1.8s cubic-bezier(.22,.7,.2,1) .15s;}
.stat .ring .value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:1.7rem;white-space:nowrap;text-align:center;}
.stat .ring .value .stat-prefix,.stat .ring .value .stat-suffix{font-size:.6em;}
.section-white .ring-track{stroke:rgba(0,0,0,.1);}
@media (prefers-reduced-motion:reduce){.stat .ring-fg{stroke-dasharray:var(--fill) 100;}}

.x-mark-line{display:flex;align-items:center;gap:.6rem;}
.x-mark-line .x-mark{width:1.5rem;height:auto;flex:none;}

.checklist-icons li::before{content:none;}
.checklist-icons li{gap:1.1rem;align-items:center;}
.checklist-icons .li-icon{width:2.1rem;height:auto;flex:none;}

/* ---------- Formulário de reunião ---------- */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-msg{border-radius:10px;padding:.85rem 1rem;margin-bottom:1.2rem;font-size:.92rem;font-weight:600;}
.form-msg.ok{background:rgba(90,200,120,.12);color:#8fd6a0;border:1px solid rgba(90,200,120,.3);}
.form-msg.erro{background:rgba(248,55,0,.12);color:#ffb27a;border:1px solid rgba(248,55,0,.3);}

/* ---------- Página de obrigado ---------- */
.thankyou-hero{min-height:56vh;display:flex;align-items:center;}
.thankyou-hero .container{width:100%;}
