:root{
  --blue:#f58220;
  --blue2:#d96a0d;
  --cyan:#ffb15c;
  --ink:#171717;
  --muted:#666666;
  --bg:#f7f7f7;
  --card:#ffffff;
  --line:#e8e8e8;
  --dark:#111111;
  --ok:#f58220;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:var(--ink);
  background:white;
  line-height:1.5;
}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{
  background:#111111;color:#f2f2f2;font-size:13px;padding:8px 0;
}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(230,237,245,.85);
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:24px;letter-spacing:-.8px}
.logo-mark{
  width:40px;height:40px;border-radius:11px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  display:grid;place-items:center;color:white;font-weight:900;box-shadow:0 8px 22px rgba(11,99,206,.28)
}
.logo .data{color:#101820}.logo .fitness{color:var(--blue)}
.menu{display:flex;gap:28px;align-items:center;font-weight:600;font-size:14px;color:#31415b}
.menu a:hover{color:var(--blue)}
.nav-actions{display:flex;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;padding:13px 18px;font-weight:800;font-size:14px;
  transition:.2s;border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--blue);color:white;box-shadow:0 10px 25px rgba(11,99,206,.22)}
.btn-primary:hover{transform:translateY(-1px);background:var(--blue2)}
.btn-ghost{background:white;border-color:#dbe5f0;color:var(--ink)}
.hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 20%, rgba(36,182,232,.18), transparent 28%),
    radial-gradient(circle at 66% 70%, rgba(11,99,206,.12), transparent 34%),
    linear-gradient(180deg,#f9fcff 0%,#fff 100%);
  padding:78px 0 54px;
}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border:1px solid #d9e8f8;border-radius:999px;
  background:white;color:var(--blue);font-weight:800;font-size:13px;
  box-shadow:0 4px 16px rgba(16,34,63,.05)
}
.kicker span{width:8px;height:8px;border-radius:50%;background:var(--ok)}
h1{font-size:58px;line-height:1.03;letter-spacing:-2.2px;margin:18px 0 20px;max-width:700px}
.hero p{font-size:19px;color:var(--muted);max-width:650px;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.micro{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;color:#506078;font-size:13px;font-weight:700}
.micro span:before{content:"✓";color:var(--ok);margin-right:7px}
.device-wrap{position:relative;min-height:500px}

.hero-real-image{position:relative}
.hero-real-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:28px;
  box-shadow:0 28px 65px rgba(20,20,20,.16);
}

.glow{position:absolute;inset:30px 0 0 30px;background:linear-gradient(135deg,#fff0e3,#f3f3f3);filter:blur(2px);border-radius:42px;transform:rotate(-3deg)}
.browser{
  position:absolute;right:0;top:42px;width:94%;height:390px;
  background:white;border:1px solid #dfe8f2;border-radius:20px;
  box-shadow:0 35px 70px rgba(20,45,86,.18);overflow:hidden
}
.browser-top{height:48px;background:#f5f8fc;border-bottom:1px solid #e6edf5;display:flex;align-items:center;padding:0 16px;gap:8px}
.dot{width:9px;height:9px;border-radius:50%;background:#cbd5e1}
.address{height:26px;flex:1;border-radius:7px;background:white;border:1px solid #e2e8f0;margin-left:8px}
.app-layout{display:grid;grid-template-columns:72px 1fr;height:342px}
.sidebar{background:linear-gradient(180deg,#161616,#2c2c2c);padding:16px 12px;display:flex;flex-direction:column;gap:14px}
.side-dot{height:32px;border-radius:8px;background:rgba(255,255,255,.17)}
.dashboard{padding:20px;background:#f8fbff}
.dash-title{height:20px;width:180px;border-radius:6px;background:#dfeaf7;margin-bottom:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{background:white;border:1px solid #e5edf6;border-radius:14px;padding:14px}
.stat b{display:block;font-size:21px;color:var(--ink)}
.stat small{color:#8291a7}
.chart{margin-top:14px;height:150px;background:white;border:1px solid #e5edf6;border-radius:14px;padding:16px;display:flex;align-items:end;gap:9px}
.bar{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--cyan),var(--blue))}
.phone{
  position:absolute;left:4px;bottom:4px;width:170px;height:340px;border:8px solid #0b1f39;border-radius:32px;background:white;
  box-shadow:0 26px 55px rgba(7,26,51,.28);overflow:hidden
}
.phone-notch{width:74px;height:18px;background:#0b1f39;border-radius:0 0 13px 13px;margin:auto}
.phone-screen{padding:16px;background:linear-gradient(180deg,#fff7f0,#fff);height:100%}
.phone-logo{font-size:12px;font-weight:900;color:var(--blue);margin-bottom:18px}
.phone-card{border-radius:14px;background:white;border:1px solid #e6eef6;padding:11px;margin-bottom:10px}
.phone-card strong{font-size:11px}.phone-card div{height:7px;background:#e6eef6;border-radius:5px;margin-top:7px}
.trust{padding:26px 0;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;background:white}
.trust-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:28px}
.trust-label{font-size:14px;color:var(--muted);font-weight:700}
.big-number{font-size:27px;font-weight:900;letter-spacing:-1px}
.big-number small{display:block;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:0}
.section{padding:86px 0}
.section.alt{background:var(--bg)}
.eyebrow{color:var(--blue);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:1.4px}
.section h2{font-size:42px;line-height:1.08;letter-spacing:-1.5px;margin:10px 0 14px}
.section-lead{color:var(--muted);font-size:18px;max-width:700px;margin:0}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.pillar{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 12px 28px rgba(20,45,86,.05)}
.icon{width:46px;height:46px;border-radius:13px;background:#fff1e6;color:var(--blue);display:grid;place-items:center;font-size:22px;margin-bottom:20px}
.pillar h3{margin:0 0 8px;font-size:19px}
.pillar p{margin:0;color:var(--muted);font-size:14px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:52px}
.feature.reverse .visual{order:-1}
.checklist{display:grid;gap:13px;margin-top:23px}
.check{display:flex;gap:10px;color:#44536a}
.check:before{content:"✓";width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#fff0e3;color:var(--ok);font-weight:900;flex:0 0 auto}
.visual{
  border-radius:26px;background:linear-gradient(145deg,#f58220,#d96a0d);padding:26px;min-height:360px;
  box-shadow:0 30px 60px rgba(11,99,206,.18);position:relative;overflow:hidden
}
.visual:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.08);right:-70px;top:-80px}
.ui{position:relative;background:white;border-radius:18px;padding:18px;height:310px;box-shadow:0 16px 30px rgba(4,23,48,.18)}
.ui-head{height:34px;border-bottom:1px solid #e7edf4;margin:-4px -4px 14px;display:flex;align-items:center;gap:8px}
.ui-row{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:10px;margin:10px 0}
.ui-cell{height:28px;background:#edf3f8;border-radius:7px}
.ui-cell.accent{background:#ffe1c4}
.ai-band{
  background:
   radial-gradient(circle at 15% 20%, rgba(36,182,232,.22), transparent 25%),
   linear-gradient(135deg,#111111,#262626);
  color:white;border-radius:30px;padding:52px;margin-top:30px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;overflow:hidden
}
.ai-band h2{margin:10px 0 15px}
.ai-band p{color:#d9d9d9;font-size:17px;max-width:650px}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px}
.ai-chip strong{display:block;margin-bottom:5px}
.ai-chip span{font-size:12px;color:#d8d8d8}
.showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.show{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}
.show-visual{height:160px;background:linear-gradient(145deg,#fff1e6,#f8fbff);padding:22px}
.mini-window{height:116px;background:white;border:1px solid #dce8f4;border-radius:13px;box-shadow:0 12px 24px rgba(20,45,86,.08)}
.show-body{padding:20px}
.show h3{margin:0 0 8px;font-size:18px}
.show p{margin:0;color:var(--muted);font-size:14px}
.cta{padding:78px 0}
.cta-box{
  background:linear-gradient(135deg,#f58220,#d96a0d);
  border-radius:30px;color:white;padding:58px;display:flex;justify-content:space-between;align-items:center;gap:30px;
  box-shadow:0 30px 60px rgba(11,99,206,.2)
}
.cta-box h2{margin:0 0 10px;font-size:38px;letter-spacing:-1px}
.cta-box p{margin:0;color:#fff2e7;max-width:650px}
.cta-box .btn{background:white;color:var(--blue);white-space:nowrap}
footer{background:#111111;color:#c7d5e6;padding:54px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
footer h4{color:white;margin:0 0 16px}
footer a{display:block;margin:8px 0;color:#aebfd2;font-size:14px}
.footer-logo{color:white;font-size:24px;font-weight:900;margin-bottom:12px}
.footer-note{color:#8fa2b8;font-size:13px;max-width:350px}
.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:12px;color:#8395ab}
.mobile-btn{display:none}
@media(max-width:950px){
 .menu,.nav-actions{display:none}.mobile-btn{display:inline-flex}
 h1{font-size:46px}.hero-grid,.feature,.ai-band{grid-template-columns:1fr}.device-wrap{min-height:470px}
 .pillars{grid-template-columns:1fr 1fr}.showcase{grid-template-columns:1fr 1fr}
 .trust-grid{grid-template-columns:1fr 1fr}
 .feature.reverse .visual{order:0}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .container{width:min(100% - 28px,1180px)}.topbar{display:none}.nav{height:68px}
 .hero{padding:48px 0 34px}.hero-grid{gap:28px}h1{font-size:39px;letter-spacing:-1.4px}
 .hero p{font-size:16px}.device-wrap{min-height:375px}.browser{height:300px}.app-layout{height:252px}
 .dashboard{padding:12px}.stats{gap:7px}.chart{height:105px}.phone{width:126px;height:252px;border-width:6px}
 .trust-grid,.pillars,.showcase,.footer-grid{grid-template-columns:1fr}
 .section{padding:64px 0}.section h2{font-size:33px}.feature{gap:30px;margin-top:36px}
 .visual{min-height:300px;padding:18px}.ui{height:264px}.ai-band{padding:30px 22px}.ai-grid{grid-template-columns:1fr}
 .cta-box{padding:36px 24px;display:block}.cta-box h2{font-size:31px}.cta-box .btn{margin-top:22px}
}

.trust-intro{max-width:760px;margin-bottom:28px}
.trust-intro h2{font-size:30px;line-height:1.12;letter-spacing:-1px;margin:8px 0 0}
.trust-grid-new{grid-template-columns:repeat(3,1fr);align-items:stretch}
.trust-stat{padding:22px 24px;border-left:1px solid var(--line)}
.trust-stat:first-child{border-left:0;padding-left:0}
.trust-stat p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
@media(max-width:760px){
 .trust-grid-new{grid-template-columns:1fr}
 .trust-stat,.trust-stat:first-child{border-left:0;border-top:1px solid var(--line);padding:20px 0}
 .trust-stat:first-child{border-top:0}
 .trust-intro h2{font-size:26px}
}


/* HERO V7 - layout real em HTML */
.hero{
  position:relative;
  background:
    radial-gradient(circle at 86% 18%, rgba(245,130,32,.20), transparent 26%),
    radial-gradient(circle at 72% 72%, rgba(245,130,32,.11), transparent 33%),
    linear-gradient(100deg,#ffffff 0%,#ffffff 42%,#fff8f2 68%,#fff1e5 100%);
}
.hero:after{
  content:"";
  position:absolute;
  right:-120px;
  top:60px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(245,130,32,.16);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:2;
  grid-template-columns:1.02fr .98fr;
  gap:48px;
}
.kicker{
  color:#f58220;
  border-color:#f6cfad;
  box-shadow:none;
}
.kicker span{background:#f58220}
.hero h1{color:#111}
.hero h1::first-line{color:#111}

.hero .micro{
  display:grid;
  grid-template-columns:repeat(4,minmax(115px,1fr));
  gap:0;
  margin-top:30px;
  max-width:660px;
}
.hero .micro span{
  position:relative;
  text-align:center;
  padding:48px 12px 0;
  min-height:78px;
  font-size:13px;
  line-height:1.2;
  color:#26303d;
}
.hero .micro span:before{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:38px;
  height:38px;
  border:2px solid #f58220;
  border-radius:11px;
  display:grid;
  place-items:center;
  margin:0;
  background:white;
  color:#f58220;
  font-size:0;
  font-weight:900;
}
.hero .micro span:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:8px;
  width:1px;
  height:55px;
  background:#e8e8e8;
}
.hero .micro span:nth-child(1):before{
  content:"▣";
  font-size:21px;
}
.hero .micro span:nth-child(2):before{
  content:"◇";
  font-size:23px;
}
.hero .micro span:nth-child(3):before{
  content:"◉";
  font-size:21px;
}
.hero .micro span:nth-child(4):before{
  content:"24h";
  font-size:12px;
  border-radius:50%;
}

.device-stage{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.device-stage:before{
  content:"";
  position:absolute;
  width:470px;
  height:350px;
  border-radius:48% 52% 58% 42%;
  background:linear-gradient(135deg,rgba(245,130,32,.13),rgba(245,130,32,.025));
  transform:rotate(-8deg);
  right:0;
  top:74px;
}
.device-orb{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(245,130,32,.15);
}
.orb-one{width:350px;height:350px;right:-55px;top:45px}
.orb-two{width:210px;height:210px;left:20px;bottom:16px}

.laptop-front{
  position:absolute;
  width:88%;
  max-width:590px;
  left:2%;
  top:68px;
  z-index:2;
  filter:drop-shadow(0 28px 34px rgba(23,23,23,.18));
}
.laptop-screen{
  background:#17191d;
  border:10px solid #15171a;
  border-bottom-width:15px;
  border-radius:18px 18px 9px 9px;
  overflow:hidden;
  aspect-ratio:16/10;
}
.laptop-screen img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.laptop-base{
  position:relative;
  width:108%;
  height:18px;
  left:-4%;
  background:linear-gradient(180deg,#c8cbd0,#9da2a9);
  border-radius:0 0 22px 22px;
  box-shadow:0 8px 16px rgba(0,0,0,.12);
}
.laptop-base:after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:-5px;
  height:5px;
  border-radius:0 0 30px 30px;
  background:#7e848b;
}
.laptop-notch{
  width:88px;
  height:5px;
  margin:auto;
  background:#8d9299;
  border-radius:0 0 8px 8px;
}

.phone-front{
  position:absolute;
  z-index:4;
  width:27%;
  min-width:145px;
  max-width:185px;
  right:0;
  top:150px;
  padding:8px;
  border-radius:30px;
  background:#15171a;
  box-shadow:0 26px 42px rgba(17,17,17,.24);
}
.phone-screen-real{
  overflow:hidden;
  border-radius:23px;
  background:white;
  aspect-ratio:738/1600;
}
.phone-screen-real img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.phone-speaker{
  position:absolute;
  z-index:5;
  width:58px;
  height:9px;
  border-radius:10px;
  background:#15171a;
  left:50%;
  top:4px;
  transform:translateX(-50%);
}

@media(max-width:950px){
  .hero .micro{grid-template-columns:repeat(2,1fr)}
  .hero .micro span:nth-child(2):after{display:none}
  .device-stage{min-height:460px}
}
@media(max-width:640px){
  .hero{
    background:
      radial-gradient(circle at 70% 62%, rgba(245,130,32,.15), transparent 35%),
      linear-gradient(180deg,#fff 0%,#fff 53%,#fff6ed 100%);
  }
  .hero .micro{grid-template-columns:repeat(2,1fr)}
  .hero .micro span{padding-left:6px;padding-right:6px}
  .device-stage{min-height:360px;margin-top:10px}
  .laptop-front{width:92%;left:0;top:48px}
  .phone-front{width:27%;min-width:105px;right:0;top:130px;padding:5px;border-radius:22px}
  .phone-screen-real{border-radius:17px}
}


/* BENEFICIOS HERO - SVGs */
.hero-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:30px;
  max-width:660px;
}
.hero-benefit{
  position:relative;
  text-align:center;
  padding:0 14px;
}
.hero-benefit + .hero-benefit:before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:1px;
  height:58px;
  background:#e8e8e8;
}
.benefit-icon{
  width:42px;
  height:42px;
  margin:0 auto 8px;
  color:#f58220;
}
.benefit-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-benefit span{
  display:block;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  color:#2b2b2b;
}
@media(max-width:640px){
  .hero-benefits{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .hero-benefit:nth-child(3):before{display:none}
}


/* AJUSTES V9 */
.hero{
  padding-top:28px !important;
}

.kicker{
  display:flex !important;
  width:100% !important;
  max-width:none !important;
  border-radius:16px !important;
  padding:11px 14px !important;
  margin-bottom:14px !important;
}

/* Mostra os prints completos dentro dos dispositivos */
.laptop-screen{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  aspect-ratio:1280/985 !important;
}

.laptop-screen img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
}

.phone-screen-real{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  aspect-ratio:738/1600 !important;
}

.phone-screen-real img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
}

@media(max-width:640px){
  .hero{padding-top:18px !important;}
  .kicker{padding:10px 12px !important;}
}


/* AJUSTES V10 - dispositivos mais realistas e prints sem corte */
.device-stage{
  min-height:520px !important;
}

/* NOTEBOOK */
.laptop-front{
  position:absolute !important;
  width:90% !important;
  max-width:610px !important;
  left:0 !important;
  top:58px !important;
  z-index:2 !important;
  filter:drop-shadow(0 30px 34px rgba(0,0,0,.18)) !important;
}

.laptop-screen{
  position:relative !important;
  width:100% !important;
  aspect-ratio:1280/985 !important;
  background:#101214 !important;
  border:12px solid #17191c !important;
  border-bottom-width:18px !important;
  border-radius:12px 12px 6px 6px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:
    inset 0 0 0 1px #2a2d31,
    0 2px 0 rgba(255,255,255,.18) !important;
}

.laptop-screen:before{
  content:"";
  position:absolute;
  top:-8px;
  left:50%;
  transform:translateX(-50%);
  width:5px;
  height:5px;
  border-radius:50%;
  background:#34383d;
  box-shadow:0 0 0 1px #0b0c0d;
}

.laptop-screen img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  background:#fff !important;
}

.laptop-base{
  position:relative !important;
  width:114% !important;
  height:24px !important;
  left:-7% !important;
  margin-top:0 !important;
  background:linear-gradient(180deg,#d9dce0 0%,#b5bac0 56%,#8e949b 100%) !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 8px 14px rgba(0,0,0,.14) !important;
  clip-path:polygon(4% 0,96% 0,100% 100%,0 100%) !important;
}

.laptop-base:before{
  content:"";
  position:absolute;
  top:0;
  left:42%;
  width:16%;
  height:5px;
  background:#8f959c;
  border-radius:0 0 7px 7px;
}

.laptop-base:after{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  bottom:-5px;
  height:5px;
  border-radius:0 0 18px 18px;
  background:#777d84;
}

.laptop-notch{display:none !important;}

/* CELULAR */
.phone-front{
  position:absolute !important;
  z-index:4 !important;
  width:29% !important;
  min-width:150px !important;
  max-width:190px !important;
  right:-1% !important;
  top:142px !important;
  padding:8px !important;
  background:linear-gradient(145deg,#30343a,#0f1114 55%,#30343a) !important;
  border:1px solid #555b63 !important;
  border-radius:28px !important;
  box-shadow:
    0 26px 42px rgba(0,0,0,.24),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.phone-front:before,
.phone-front:after{
  content:"";
  position:absolute;
  width:3px;
  background:#1a1d21;
  border-radius:3px;
  left:-4px;
}
.phone-front:before{height:42px;top:82px;}
.phone-front:after{height:28px;top:136px;}

.phone-screen-real{
  position:relative !important;
  width:100% !important;
  aspect-ratio:738/1600 !important;
  background:#fff !important;
  border-radius:18px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.phone-screen-real img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  background:#fff !important;
}

.phone-speaker{
  position:absolute !important;
  z-index:6 !important;
  width:46px !important;
  height:8px !important;
  top:7px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  background:#111316 !important;
  border-radius:8px !important;
}

/* pequeno brilho metálico para dar profundidade */
.phone-front .phone-screen-real:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
  border-radius:18px;
}

@media(max-width:640px){
  .device-stage{min-height:370px !important}
  .laptop-front{width:91% !important;top:42px !important}
  .phone-front{
    width:28% !important;
    min-width:108px !important;
    top:120px !important;
    border-radius:20px !important;
    padding:5px !important;
  }
  .phone-screen-real{border-radius:13px !important}
}


/* HERO V11 - prints puros + elemento tecnológico em movimento */
.tech-stage{
  position:relative !important;
  min-height:500px !important;
  display:block !important;
  overflow:visible !important;
}

.screen-card{
  position:absolute;
  background:#fff;
  border:1px solid rgba(20,20,20,.08);
  box-shadow:0 26px 55px rgba(20,20,20,.16);
  overflow:hidden;
  z-index:3;
}

.screen-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#fff;
}

.screen-card-pc{
  width:88%;
  left:0;
  top:102px;
  border-radius:10px;
  aspect-ratio:1280/985;
}

.screen-card-mobile{
  width:25%;
  min-width:138px;
  max-width:180px;
  right:0;
  top:180px;
  border-radius:14px;
  aspect-ratio:738/1600;
  box-shadow:0 24px 48px rgba(20,20,20,.22);
}

/* faixa tecnológica acima das telas */
.tech-orbit{
  position:absolute;
  z-index:2;
  width:88%;
  height:120px;
  left:4%;
  top:10px;
  pointer-events:none;
}

.tech-orbit:before,
.tech-orbit:after{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,130,32,.25),rgba(245,130,32,.8),rgba(245,130,32,.25),transparent);
  animation:techPulse 3.8s ease-in-out infinite;
}

.tech-orbit:before{top:46px;transform:rotate(-4deg)}
.tech-orbit:after{top:68px;transform:rotate(4deg);animation-delay:.9s}

.tech-dot{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f58220;
  box-shadow:0 0 0 7px rgba(245,130,32,.09),0 0 20px rgba(245,130,32,.5);
  animation:floatDot 3.2s ease-in-out infinite;
}
.dot-a{left:13%;top:36px}
.dot-b{left:50%;top:18px;animation-delay:.7s}
.dot-c{right:10%;top:54px;animation-delay:1.4s}

.tech-line{
  position:absolute;
  height:2px;
  border-radius:3px;
  background:linear-gradient(90deg,transparent,#f58220,transparent);
  opacity:.55;
  animation:scanLine 4s linear infinite;
}
.line-a{width:42%;left:4%;top:88px}
.line-b{width:34%;right:4%;top:28px;animation-delay:1.7s}

@keyframes floatDot{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.08)}
}
@keyframes techPulse{
  0%,100%{opacity:.25}
  50%{opacity:1}
}
@keyframes scanLine{
  0%{transform:translateX(-8%);opacity:.15}
  50%{transform:translateX(8%);opacity:.7}
  100%{transform:translateX(-8%);opacity:.15}
}

@media(max-width:950px){
  .tech-stage{min-height:450px !important}
  .screen-card-pc{width:86%;top:96px}
  .screen-card-mobile{width:24%;top:175px}
}
@media(max-width:640px){
  .tech-stage{min-height:350px !important;margin-top:6px}
  .screen-card-pc{width:88%;top:78px;border-radius:8px}
  .screen-card-mobile{width:26%;min-width:100px;top:138px;border-radius:10px}
  .tech-orbit{top:0;height:85px}
  .tech-orbit:before{top:32px}
  .tech-orbit:after{top:48px}
  .line-a{top:64px}
  .line-b{top:20px}
}


/* HERO V12 - fotografia integrada ao layout */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(245,130,32,.13), transparent 28%),
    linear-gradient(100deg,#ffffff 0%,#ffffff 43%,#fff8f2 63%,#fff1e6 100%) !important;
}

.hero-photo-stage{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-photo{
  position:relative;
  width:100%;
  height:455px;
  overflow:hidden;
  border-radius:0 28px 28px 0;
  box-shadow:0 24px 55px rgba(20,20,20,.14);
}

.hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      rgba(255,255,255,.95) 5%,
      rgba(255,255,255,.64) 13%,
      rgba(255,255,255,.18) 24%,
      rgba(255,255,255,0) 38%),
    linear-gradient(180deg,rgba(245,130,32,.04),rgba(245,130,32,.02));
}

.hero-photo:after{
  content:"";
  position:absolute;
  z-index:3;
  width:360px;
  height:360px;
  right:-140px;
  top:-150px;
  border:1px solid rgba(245,130,32,.20);
  border-radius:50%;
  pointer-events:none;
}

.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:56% center;
  display:block;
}

@media(max-width:950px){
  .hero-photo-stage{min-height:430px}
  .hero-photo{height:400px;border-radius:22px}
}

@media(max-width:640px){
  .hero-photo-stage{min-height:335px;margin-top:10px}
  .hero-photo{height:320px;border-radius:20px}
  .hero-photo:before{
    background:
      linear-gradient(90deg,#fff 0%,rgba(255,255,255,.55) 12%,rgba(255,255,255,0) 30%);
  }
}


/* AJUSTE V13 - imagem invade suavemente a área do texto */
.hero-grid{
  position:relative;
}

.hero-grid > div:first-child{
  position:relative;
  z-index:4;
}

.hero-photo-stage{
  position:relative !important;
  z-index:1 !important;
  margin-left:-170px !important;
  width:calc(100% + 170px) !important;
  min-height:500px !important;
}

.hero-photo{
  width:100% !important;
  height:470px !important;
  border-radius:0 28px 28px 0 !important;
  box-shadow:none !important;
}

/* degradê mais longo, começando por baixo da área textual */
.hero-photo:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      rgba(255,255,255,.99) 10%,
      rgba(255,255,255,.96) 18%,
      rgba(255,255,255,.84) 27%,
      rgba(255,255,255,.58) 37%,
      rgba(255,255,255,.26) 48%,
      rgba(255,255,255,.07) 58%,
      rgba(255,255,255,0) 68%),
    linear-gradient(180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,0) 68%,
      rgba(255,248,242,.18) 100%) !important;
}

/* deixa a própria foto começar mais à esquerda, sem parecer outro bloco */
.hero-photo img{
  object-position:58% center !important;
}

/* leve halo laranja para unir foto e fundo */
.hero-photo-stage:before{
  content:"";
  position:absolute;
  z-index:0;
  left:80px;
  top:60px;
  width:520px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,130,32,.12),rgba(245,130,32,0) 68%);
  pointer-events:none;
}

@media(max-width:950px){
  .hero-photo-stage{
    margin-left:-90px !important;
    width:calc(100% + 90px) !important;
  }
  .hero-photo{height:420px !important}
  .hero-photo:before{
    background:linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.95) 14%,
      rgba(255,255,255,.66) 30%,
      rgba(255,255,255,.22) 48%,
      rgba(255,255,255,0) 64%) !important;
  }
}

@media(max-width:640px){
  .hero-photo-stage{
    margin-left:0 !important;
    width:100% !important;
    min-height:320px !important;
  }
  .hero-photo{
    height:310px !important;
    border-radius:20px !important;
  }
  .hero-photo:before{
    background:
      linear-gradient(90deg,
        #fff 0%,
        rgba(255,255,255,.72) 12%,
        rgba(255,255,255,.28) 30%,
        rgba(255,255,255,0) 50%) !important;
  }
}


/* =========================================================
   HERO V14 - composição igual à referência aprovada
   ========================================================= */
.header{
  position:relative !important;
  top:auto !important;
  background:#fff !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.nav{
  height:76px !important;
}
.nav .logo img{
  height:38px !important;
}
.nav-actions .btn-primary{
  border-radius:999px !important;
  padding:13px 23px !important;
}
.hero-v14{
  position:relative !important;
  padding:0 !important;
  overflow:visible !important;
  background:#fff !important;
}
.hero-v14-inner{
  position:relative;
  width:min(1450px,calc(100% - 40px));
  min-height:620px;
  margin:0 auto;
  overflow:visible;
  background:#fff;
}
.hero-v14-content{
  position:relative;
  z-index:5;
  width:48%;
  padding:58px 0 150px 8px;
}
.hero-v14-eyebrow{
  margin-bottom:20px;
  color:#7d8794;
  font-size:12px;
  font-weight:800;
  letter-spacing:3px;
}
.hero-v14-content h1{
  margin:0 0 22px;
  max-width:670px;
  color:#102034;
  font-size:61px;
  line-height:1.01;
  letter-spacing:-2.3px;
  font-weight:900;
}
.hero-v14-content h1 span{
  color:#f45d0b;
}
.hero-v14-content p{
  max-width:585px;
  margin:0 0 27px;
  color:#4e5b69;
  font-size:17px;
  line-height:1.48;
}
.hero-v14-actions{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
}
.hero-v14-actions .btn{
  min-height:54px;
  border-radius:999px !important;
  padding:0 23px;
}
.hero-v14-actions .btn-primary{
  background:#ff5c08 !important;
  box-shadow:0 12px 30px rgba(255,92,8,.18) !important;
}
.hero-v14-actions .btn-primary strong{
  margin-left:12px;
  font-size:22px;
  line-height:1;
}
.hero-v14-actions .btn-ghost{
  border-color:#ff7a33 !important;
  color:#f45d0b !important;
  background:rgba(255,255,255,.92) !important;
}

/* Foto vira parte do fundo, não um card */
.hero-v14-photo{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:64%;
  height:535px;
  overflow:hidden;
}
.hero-v14-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:58% center;
}

/* Degradê comprido entre texto e foto */
.hero-v14-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.99) 5%,
      rgba(255,255,255,.96) 11%,
      rgba(255,255,255,.86) 19%,
      rgba(255,255,255,.62) 27%,
      rgba(255,255,255,.31) 36%,
      rgba(255,255,255,.09) 44%,
      rgba(255,255,255,0) 52%);
}

/* brilho quente semelhante à referência */
.hero-v14-photo:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,144,69,.08) 0%,
      rgba(255,144,69,.03) 34%,
      rgba(255,144,69,0) 62%);
}

/* Faixa flutuante dos quatro diferenciais */
.hero-v14-benefits{
  position:absolute;
  z-index:8;
  left:0;
  right:0;
  bottom:48px;
  width:96%;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  min-height:104px;
  padding:18px 22px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(20,30,45,.04);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(18,31,48,.10);
}
.hero-v14-benefit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:62px;
  padding:0 22px;
  color:#162536;
  font-size:15px;
  line-height:1.2;
}
.hero-v14-benefit + .hero-v14-benefit{
  border-left:1px solid #e0e4e8;
}
.hero-v14-benefit strong{
  font-size:16px;
}
.hero-v14-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  color:#ff5c08;
}
.hero-v14-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* aproxima a próxima seção da referência */
.trust{
  padding-top:12px !important;
  border-top:0 !important;
}

@media(max-width:1100px){
  .hero-v14-content h1{font-size:51px}
  .hero-v14-inner{min-height:610px}
  .hero-v14-photo{width:61%;height:515px}
  .hero-v14-content{width:52%}
  .hero-v14-benefit{padding:0 12px;font-size:14px}
}

@media(max-width:900px){
  .hero-v14-inner{
    width:min(100% - 28px,900px);
    min-height:auto;
    padding-bottom:20px;
  }
  .hero-v14-content{
    width:100%;
    padding:35px 0 28px;
  }
  .hero-v14-content h1{
    max-width:680px;
    font-size:47px;
  }
  .hero-v14-photo{
    position:relative;
    width:100%;
    height:420px;
    margin-top:4px;
    border-radius:22px;
  }
  .hero-v14-photo:before{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.82) 0%,
        rgba(255,255,255,.42) 15%,
        rgba(255,255,255,0) 35%);
  }
  .hero-v14-benefits{
    position:relative;
    bottom:auto;
    width:96%;
    margin:-38px auto 0;
  }
}

@media(max-width:650px){
  .nav{height:68px !important}
  .hero-v14-content{padding-top:24px}
  .hero-v14-eyebrow{
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:15px;
  }
  .hero-v14-content h1{
    font-size:39px;
    letter-spacing:-1.4px;
  }
  .hero-v14-content p{font-size:15px}
  .hero-v14-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-v14-photo{
    height:320px;
  }
  .hero-v14-benefits{
    grid-template-columns:1fr 1fr;
    padding:14px;
    border-radius:18px;
  }
  .hero-v14-benefit{
    justify-content:flex-start;
    padding:12px 10px;
  }
  .hero-v14-benefit + .hero-v14-benefit{
    border-left:0;
  }
  .hero-v14-benefit:nth-child(even){
    border-left:1px solid #e0e4e8;
  }
  .hero-v14-benefit:nth-child(n+3){
    border-top:1px solid #e0e4e8;
  }
}


/* =========================================================
   HERO V15 - foto sem degrau + benefícios em seção própria
   ========================================================= */

/* A foto passa a ocupar TODA a largura do hero.
   O degradê branco é que decide onde ela aparece. */
.hero-v14-inner{
  overflow:hidden !important;
  min-height:535px !important;
}

.hero-v14-photo{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  width:100% !important;
  height:535px !important;
  overflow:hidden !important;
  border-radius:0 !important;
}

/* Mantém as pessoas no lado direito */
.hero-v14-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:72% center !important;
  display:block !important;
}

/* Degradê comprido e contínuo: não existe mais "começo" visível da foto */
.hero-v14-photo:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      #ffffff 24%,
      rgba(255,255,255,.99) 31%,
      rgba(255,255,255,.96) 37%,
      rgba(255,255,255,.88) 43%,
      rgba(255,255,255,.72) 49%,
      rgba(255,255,255,.50) 55%,
      rgba(255,255,255,.28) 61%,
      rgba(255,255,255,.12) 67%,
      rgba(255,255,255,.03) 73%,
      rgba(255,255,255,0) 80%) !important;
}

/* leve calor laranja, sem criar borda ou quebra */
.hero-v14-photo:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 52% 45%,
      rgba(245,130,32,.10),
      rgba(245,130,32,.035) 28%,
      rgba(245,130,32,0) 56%) !important;
}

/* O conteúdo permanece por cima da foto */
.hero-v14-content{
  position:relative !important;
  z-index:5 !important;
  padding-bottom:64px !important;
}

/* Nova seção branca, reta, abaixo do hero */
.hero-benefits-section{
  position:relative;
  z-index:10;
  width:100%;
  background:#ffffff;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0;
}

.hero-benefits-section .container{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
}

/* Remove completamente o visual de card flutuante */
.hero-benefits-section .hero-v14-benefits{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  min-height:116px !important;
  margin:0 !important;
  padding:20px 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  align-items:center !important;
  background:#ffffff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* separadores retos e leves */
.hero-benefits-section .hero-v14-benefit{
  min-height:72px !important;
  padding:0 28px !important;
}

.hero-benefits-section .hero-v14-benefit:first-child{
  padding-left:0 !important;
}

.hero-benefits-section .hero-v14-benefit:last-child{
  padding-right:0 !important;
}

.hero-benefits-section .hero-v14-benefit + .hero-v14-benefit{
  border-left:1px solid #e6e6e6 !important;
}

/* A próxima seção começa naturalmente depois da faixa branca */
.trust{
  padding-top:34px !important;
}

@media(max-width:900px){
  .hero-v14-inner{
    overflow:visible !important;
    min-height:auto !important;
  }

  .hero-v14-photo{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:420px !important;
    margin-top:0 !important;
  }

  .hero-v14-photo:before{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.94) 0%,
        rgba(255,255,255,.74) 12%,
        rgba(255,255,255,.42) 24%,
        rgba(255,255,255,.14) 36%,
        rgba(255,255,255,0) 50%) !important;
  }

  .hero-benefits-section .hero-v14-benefits{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .hero-benefits-section .hero-v14-benefit{
    padding:18px 16px !important;
  }

  .hero-benefits-section .hero-v14-benefit:nth-child(odd){
    border-left:0 !important;
  }

  .hero-benefits-section .hero-v14-benefit:nth-child(n+3){
    border-top:1px solid #e6e6e6 !important;
  }
}

@media(max-width:650px){
  .hero-v14-photo{
    height:320px !important;
  }

  .hero-benefits-section .container{
    width:min(100% - 28px,1180px);
  }

  .hero-benefits-section .hero-v14-benefits{
    grid-template-columns:1fr 1fr !important;
    padding:8px 0 !important;
  }

  .hero-benefits-section .hero-v14-benefit{
    justify-content:flex-start !important;
    padding:14px 10px !important;
  }
}


/* =========================================================
   HERO V16 - enquadramento mais central + degradê contínuo
   ========================================================= */

/* A foto ainda cobre o hero inteiro, mas o conteúdo útil começa mais ao centro */
.hero-v14-photo img{
  object-position:66% center !important;
  transform:scale(1.01);
}

/* O fade passa a revelar o ambiente antes das pessoas,
   sem deixar um ponto visível de início da imagem */
.hero-v14-photo:before{
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      #ffffff 29%,
      rgba(255,255,255,.995) 34%,
      rgba(255,255,255,.98) 39%,
      rgba(255,255,255,.94) 44%,
      rgba(255,255,255,.84) 49%,
      rgba(255,255,255,.68) 54%,
      rgba(255,255,255,.48) 59%,
      rgba(255,255,255,.28) 64%,
      rgba(255,255,255,.14) 69%,
      rgba(255,255,255,.06) 74%,
      rgba(255,255,255,.015) 79%,
      rgba(255,255,255,0) 84%) !important;
}

/* Um segundo véu claro suaviza especialmente a área entre texto e cenário */
.hero-v14-photo:after{
  background:
    radial-gradient(ellipse at 48% 48%,
      rgba(255,255,255,.42) 0%,
      rgba(255,248,241,.22) 25%,
      rgba(245,130,32,.05) 48%,
      rgba(245,130,32,0) 72%) !important;
}

/* Evita que a foto "roube" leitura do texto na transição */
.hero-v14-content:after{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:-120px;
  bottom:0;
  width:250px;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,.96),
    rgba(255,255,255,.58) 45%,
    rgba(255,255,255,0));
}

@media(max-width:1100px){
  .hero-v14-photo img{
    object-position:69% center !important;
  }
  .hero-v14-photo:before{
    background:
      linear-gradient(90deg,
        #fff 0%,
        #fff 24%,
        rgba(255,255,255,.98) 32%,
        rgba(255,255,255,.88) 42%,
        rgba(255,255,255,.63) 53%,
        rgba(255,255,255,.34) 63%,
        rgba(255,255,255,.12) 72%,
        rgba(255,255,255,0) 82%) !important;
  }
}

@media(max-width:900px){
  .hero-v14-content:after{display:none}
  .hero-v14-photo img{
    object-position:67% center !important;
    transform:none;
  }
}


/* =========================================================
   HERO V17 - transição real por máscara, sem degrau
   ========================================================= */

/* O elemento fotográfico começa no meio da página, mas sua borda
   esquerda fica invisível graças à máscara gradual. */
.hero-v14-photo{
  position:absolute !important;
  z-index:1 !important;
  top:0 !important;
  right:0 !important;
  bottom:auto !important;
  left:auto !important;
  width:69% !important;
  height:535px !important;
  overflow:visible !important;
  border-radius:0 !important;
}

/* A máscara controla a OPACIDADE da foto, não apenas pinta branco por cima.
   Isso elimina qualquer linha vertical de início. */
.hero-v14-photo img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:54% center !important;
  transform:none !important;

  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.02) 4%,
    rgba(0,0,0,.06) 9%,
    rgba(0,0,0,.14) 15%,
    rgba(0,0,0,.26) 22%,
    rgba(0,0,0,.42) 30%,
    rgba(0,0,0,.60) 38%,
    rgba(0,0,0,.76) 46%,
    rgba(0,0,0,.88) 54%,
    rgba(0,0,0,.96) 61%,
    #000 69%,
    #000 100%
  ) !important;
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.02) 4%,
    rgba(0,0,0,.06) 9%,
    rgba(0,0,0,.14) 15%,
    rgba(0,0,0,.26) 22%,
    rgba(0,0,0,.42) 30%,
    rgba(0,0,0,.60) 38%,
    rgba(0,0,0,.76) 46%,
    rgba(0,0,0,.88) 54%,
    rgba(0,0,0,.96) 61%,
    #000 69%,
    #000 100%
  ) !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
}

/* Remove os antigos véus sobrepostos, que podiam criar faixas perceptíveis. */
.hero-v14-photo:before,
.hero-v14-photo:after{
  display:none !important;
}

/* Um halo extremamente suave integra a região transparente ao branco. */
.hero-v14-inner:after{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  top:0;
  bottom:0;
  left:36%;
  width:32%;
  background:radial-gradient(
    ellipse at center,
    rgba(245,130,32,.055) 0%,
    rgba(245,130,32,.025) 35%,
    rgba(245,130,32,0) 72%
  );
}

/* Remove também o véu anterior do conteúdo, para não existir borda vertical. */
.hero-v14-content:after{
  display:none !important;
}

@media(max-width:1100px){
  .hero-v14-photo{
    width:67% !important;
  }
  .hero-v14-photo img{
    object-position:57% center !important;
  }
}

@media(max-width:900px){
  .hero-v14-photo{
    position:relative !important;
    width:100% !important;
    height:420px !important;
    top:auto !important;
    right:auto !important;
  }
  .hero-v14-photo img{
    -webkit-mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,.28) 0%,
      rgba(0,0,0,.68) 14%,
      #000 30%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,.28) 0%,
      rgba(0,0,0,.68) 14%,
      #000 30%,
      #000 100%
    ) !important;
  }
  .hero-v14-inner:after{display:none !important;}
}


/* HERO V20 - imagem limpa, sem textos/botoes incorporados */
.hero-v14-photo img{
  object-position:58% center !important;
}


/* V23 - diferenciais alinhados em celulares */
@media(max-width:650px){
  .hero-benefits-section .hero-v14-benefits{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,1fr) !important;
    align-items:stretch !important;
    padding:0 !important;
  }

  .hero-benefits-section .hero-v14-benefit{
    min-height:128px !important;
    padding:18px 10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    text-align:center !important;
    border:0 !important;
  }

  .hero-benefits-section .hero-v14-benefit:nth-child(even){
    border-left:1px solid #e6e6e6 !important;
  }

  .hero-benefits-section .hero-v14-benefit:nth-child(n+3){
    border-top:1px solid #e6e6e6 !important;
  }

  .hero-benefits-section .hero-v14-icon{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    margin:0 auto !important;
  }

  .hero-benefits-section .hero-v14-benefit > div:last-child{
    width:100% !important;
    min-height:38px !important;
    display:block !important;
    text-align:center !important;
    font-size:13px !important;
    line-height:1.2 !important;
  }

  .hero-benefits-section .hero-v14-benefit strong{
    font-size:14px !important;
  }
}


/* V24 - correcoes mobile: logo, menu e foto do hero */
@media(max-width:650px){

  /* Cabeçalho */
  .header .container.nav{
    width:min(100% - 24px,1180px) !important;
    height:66px !important;
    padding:0 !important;
    gap:10px !important;
  }

  .nav .logo{
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 58px) !important;
    overflow:hidden !important;
  }

  .nav .logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-height:32px !important;
    max-width:100% !important;
    object-fit:contain !important;
  }

  /* Esconde o menu desktop e mostra claramente o botao mobile */
  .menu,
  .nav-actions{
    display:none !important;
  }

  .mobile-btn{
    display:inline-flex !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:24px !important;
    line-height:1 !important;
    border-radius:10px !important;
    color:#171717 !important;
    background:#fff !important;
    border:1px solid #e4e4e4 !important;
  }

  /* Foto dos professores no celular */
  .hero-v14-photo{
    width:100% !important;
    height:330px !important;
    margin-top:4px !important;
    overflow:hidden !important;
    position:relative !important;
    background:#fff !important;
  }

  .hero-v14-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:68% center !important;
    transform:scale(1.02) !important;

    /* No mobile, revela melhor a foto e esmaece as duas bordas */
    -webkit-mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.30) 5%,
        rgba(0,0,0,.80) 12%,
        #000 20%,
        #000 80%,
        rgba(0,0,0,.80) 88%,
        rgba(0,0,0,.30) 95%,
        transparent 100%) !important;
    mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.30) 5%,
        rgba(0,0,0,.80) 12%,
        #000 20%,
        #000 80%,
        rgba(0,0,0,.80) 88%,
        rgba(0,0,0,.30) 95%,
        transparent 100%) !important;
  }

  .hero-v14-photo:before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.10) 0%,
        rgba(255,255,255,0) 20%,
        rgba(255,255,255,0) 75%,
        rgba(255,255,255,.16) 100%) !important;
  }

  .hero-v14-photo:after{
    display:none !important;
  }
}


/* V25 - esmaecimento mobile mais amplo nas quatro bordas */
@media(max-width:650px){

  .hero-v14-photo{
    background:#fff !important;
    overflow:hidden !important;
  }

  .hero-v14-photo img{
    object-position:68% center !important;
    transform:scale(1.015) !important;

    /* Mascara em duas direcoes:
       esquerda/direita + superior/inferior */
    -webkit-mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.08) 5%,
        rgba(0,0,0,.28) 11%,
        rgba(0,0,0,.58) 18%,
        rgba(0,0,0,.82) 25%,
        #000 34%,
        #000 66%,
        rgba(0,0,0,.82) 75%,
        rgba(0,0,0,.58) 82%,
        rgba(0,0,0,.28) 89%,
        rgba(0,0,0,.08) 95%,
        transparent 100%),
      linear-gradient(180deg,
        transparent 0%,
        rgba(0,0,0,.12) 5%,
        rgba(0,0,0,.40) 11%,
        rgba(0,0,0,.72) 18%,
        #000 27%,
        #000 73%,
        rgba(0,0,0,.72) 82%,
        rgba(0,0,0,.40) 89%,
        rgba(0,0,0,.12) 95%,
        transparent 100%) !important;

    -webkit-mask-composite:source-in !important;

    mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.08) 5%,
        rgba(0,0,0,.28) 11%,
        rgba(0,0,0,.58) 18%,
        rgba(0,0,0,.82) 25%,
        #000 34%,
        #000 66%,
        rgba(0,0,0,.82) 75%,
        rgba(0,0,0,.58) 82%,
        rgba(0,0,0,.28) 89%,
        rgba(0,0,0,.08) 95%,
        transparent 100%),
      linear-gradient(180deg,
        transparent 0%,
        rgba(0,0,0,.12) 5%,
        rgba(0,0,0,.40) 11%,
        rgba(0,0,0,.72) 18%,
        #000 27%,
        #000 73%,
        rgba(0,0,0,.72) 82%,
        rgba(0,0,0,.40) 89%,
        rgba(0,0,0,.12) 95%,
        transparent 100%) !important;

    mask-composite:intersect !important;
  }

  /* Véu branco adicional nas quatro bordas para eliminar qualquer degrau */
  .hero-v14-photo:before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:-1px !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:
      linear-gradient(90deg,
        #fff 0%,
        rgba(255,255,255,.72) 5%,
        rgba(255,255,255,.30) 13%,
        rgba(255,255,255,0) 25%,
        rgba(255,255,255,0) 75%,
        rgba(255,255,255,.30) 87%,
        rgba(255,255,255,.72) 95%,
        #fff 100%),
      linear-gradient(180deg,
        #fff 0%,
        rgba(255,255,255,.62) 6%,
        rgba(255,255,255,.20) 14%,
        rgba(255,255,255,0) 25%,
        rgba(255,255,255,0) 75%,
        rgba(255,255,255,.20) 86%,
        rgba(255,255,255,.62) 94%,
        #fff 100%) !important;
  }
}


/* V26 - no celular, remove completamente a foto do hero */
@media(max-width:650px){
  .hero-v14-photo{
    display:none !important;
  }

  .hero-v14-inner{
    min-height:auto !important;
  }

  .hero-v14-content{
    width:100% !important;
    padding-bottom:34px !important;
  }
}


/* V27 - desktop/paisagem: foto desce quase até a faixa de benefícios */
@media(min-width:901px){
  .hero-v14-inner{
    min-height:610px !important;
  }

  .hero-v14-photo{
    height:590px !important;
    width:72% !important;
    top:0 !important;
    right:0 !important;
  }

  .hero-v14-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:58% center !important;

    /* esmaece também na parte inferior para desaparecer antes da faixa branca */
    -webkit-mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.03) 5%,
        rgba(0,0,0,.10) 10%,
        rgba(0,0,0,.22) 16%,
        rgba(0,0,0,.40) 23%,
        rgba(0,0,0,.62) 31%,
        rgba(0,0,0,.80) 40%,
        rgba(0,0,0,.93) 49%,
        #000 58%,
        #000 100%),
      linear-gradient(180deg,
        #000 0%,
        #000 74%,
        rgba(0,0,0,.94) 80%,
        rgba(0,0,0,.78) 85%,
        rgba(0,0,0,.54) 90%,
        rgba(0,0,0,.28) 95%,
        transparent 100%) !important;

    -webkit-mask-composite:source-in !important;

    mask-image:
      linear-gradient(90deg,
        transparent 0%,
        rgba(0,0,0,.03) 5%,
        rgba(0,0,0,.10) 10%,
        rgba(0,0,0,.22) 16%,
        rgba(0,0,0,.40) 23%,
        rgba(0,0,0,.62) 31%,
        rgba(0,0,0,.80) 40%,
        rgba(0,0,0,.93) 49%,
        #000 58%,
        #000 100%),
      linear-gradient(180deg,
        #000 0%,
        #000 74%,
        rgba(0,0,0,.94) 80%,
        rgba(0,0,0,.78) 85%,
        rgba(0,0,0,.54) 90%,
        rgba(0,0,0,.28) 95%,
        transparent 100%) !important;

    mask-composite:intersect !important;
  }

  /* evita qualquer "linha" de encontro com a seção abaixo */
  .hero-v14{
    background:linear-gradient(180deg,#fff 0%,#fff 88%,rgba(255,255,255,.98) 100%) !important;
  }

  .hero-benefits-section{
    margin-top:-8px !important;
    position:relative !important;
    z-index:6 !important;
    background:#fff !important;
  }
}


/* V28 - cabecalho fixo compacto + secao de prescricao */
.header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  background:rgba(255,255,255,.96) !important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(0,0,0,.07);
}
.header .nav{
  height:68px !important;
  transition:height .2s ease;
}
.header .logo img{
  max-height:34px !important;
  width:auto !important;
}
.training-prescription{
  padding:92px 0 100px;
  background:#fff;
}
.training-prescription-head{
  max-width:800px;
  margin:0 auto 50px;
  text-align:center;
}
.training-prescription .section-eyebrow{
  display:inline-block;
  margin-bottom:12px;
  color:#f05a22;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
}
.training-prescription-head h2{
  margin:0 0 16px;
  color:#111827;
  font-size:clamp(34px,4vw,54px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.training-prescription-head p{
  margin:0;
  color:#5b6472;
  font-size:18px;
  line-height:1.65;
}
.training-feature{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:center;
  gap:58px;
  margin-top:34px;
  padding:38px;
  border:1px solid #ececec;
  background:#fafafa;
}
.training-feature + .training-feature{
  margin-top:34px;
}
.training-feature-ai{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  background:linear-gradient(135deg,#111318 0%,#1b1d24 100%);
  border-color:#232630;
}
.training-feature-image{
  overflow:hidden;
  background:#fff;
}
.training-feature-image img{
  display:block;
  width:100%;
  height:auto;
}
.training-feature-copy{
  padding:12px 8px;
}
.training-feature-tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  margin-bottom:16px;
  border-radius:999px;
  background:#fff0e9;
  color:#e74b12;
  font-size:11px;
  font-weight:850;
  letter-spacing:.09em;
}
.training-feature-tag-ai{
  color:#fff;
  background:linear-gradient(90deg,#146cf6,#7047f6);
}
.training-feature-copy h3{
  margin:0 0 15px;
  color:#111827;
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.training-feature-copy > p{
  margin:0 0 24px;
  color:#606978;
  font-size:16px;
  line-height:1.65;
}
.training-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 18px;
}
.training-points div{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#2e3440;
  font-size:14px;
  line-height:1.35;
}
.training-points span{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#f05a22;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.training-feature-ai .training-feature-copy h3,
.training-feature-ai .training-points div{
  color:#fff;
}
.training-feature-ai .training-feature-copy > p{
  color:#c6cad3;
}
.training-feature-ai .training-points span{
  background:#5a54f5;
}
@media(max-width:900px){
  .training-prescription{padding:64px 0 72px}
  .training-prescription-head{margin-bottom:34px}
  .training-feature,
  .training-feature-ai{
    grid-template-columns:1fr !important;
    gap:28px;
    padding:24px;
  }
  .training-feature-anywhere .training-feature-copy{order:1}
  .training-feature-anywhere .training-feature-image{order:2}
  .training-feature-ai .training-feature-image{order:2}
  .training-feature-ai .training-feature-copy{order:1}
}
@media(max-width:650px){
  .header .container.nav{
    height:58px !important;
  }
  .header .logo img{
    max-height:28px !important;
  }
  .training-prescription{padding:52px 0 60px}
  .training-prescription-head{text-align:left}
  .training-prescription-head p{font-size:16px}
  .training-feature,
  .training-feature-ai{
    padding:18px;
    gap:22px;
  }
  .training-points{
    grid-template-columns:1fr;
  }
}


/* V29 - ilustracoes sem texto integradas a secao de prescricao */
.training-feature-image{
  position:relative !important;
  min-height:430px !important;
  overflow:hidden !important;
}
.training-feature-image .training-art{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.training-art-anywhere{
  object-position:24% center !important;
  width:200% !important;
  max-width:none !important;
}
.training-art-ai{
  object-position:82% center !important;
  width:200% !important;
  max-width:none !important;
  left:-100% !important;
}
@media(max-width:900px){
  .training-feature-image{
    min-height:0 !important;
    aspect-ratio:16/10 !important;
  }
}
@media(max-width:650px){
  .training-feature-image{
    aspect-ratio:4/3 !important;
  }
  .training-art-anywhere{
    object-position:21% center !important;
  }
  .training-art-ai{
    object-position:80% center !important;
  }
}


/* V30 - padrão visual das seções + fundos full width */
.training-prescription{
  padding:0 !important;
  background:#fff !important;
}

.training-section-head{
  padding-top:86px;
  padding-bottom:46px;
}

.training-section-head .eyebrow,
.training-copy .eyebrow{
  color:var(--blue) !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  letter-spacing:1.4px !important;
}

.training-section-head h2,
.training-copy h2{
  font-size:42px !important;
  line-height:1.08 !important;
  letter-spacing:-1.5px !important;
  margin:10px 0 14px !important;
  color:var(--ink) !important;
}

.training-section-head .section-lead,
.training-copy .section-lead{
  color:var(--muted) !important;
  font-size:18px !important;
  max-width:760px !important;
  margin:0 !important;
}

/* Cada bloco usa toda a largura da tela */
.training-band{
  width:100%;
  padding:72px 0;
}

.training-band-anywhere{
  background:#f7f7f7;
}

.training-band-ai{
  background:linear-gradient(135deg,#111318 0%,#1c1f27 100%);
}

.training-band-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:58px;
  align-items:center;
}

.training-band-grid-ai{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
}

.training-copy{
  padding:0 !important;
}

.training-copy-ai .eyebrow{
  color:#7c76ff !important;
}

.training-copy-ai h2{
  color:#fff !important;
}

.training-copy-ai .section-lead{
  color:#c7ccd5 !important;
}

.training-scene{
  position:relative;
  overflow:hidden;
  min-height:430px;
  background:transparent;
}

.training-scene img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.training-scene-anywhere img{
  object-position:44% center;
}

.training-scene-ai img{
  object-position:58% center;
}

.training-points{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:13px 18px !important;
  margin-top:24px !important;
}

.training-points div{
  display:flex !important;
  align-items:flex-start !important;
  gap:9px !important;
  color:#2e3440 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

.training-points span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 22px !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  background:#f58220 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.training-copy-ai .training-points div{
  color:#fff !important;
}

.training-copy-ai .training-points span{
  background:#625cf6 !important;
}

@media(max-width:900px){
  .training-section-head{
    padding-top:64px;
    padding-bottom:34px;
  }

  .training-band{
    padding:54px 0;
  }

  .training-band-grid,
  .training-band-grid-ai{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .training-band-anywhere .training-copy{order:1}
  .training-band-anywhere .training-scene{order:2}
  .training-band-ai .training-copy{order:1}
  .training-band-ai .training-scene{order:2}

  .training-scene{
    min-height:0;
    aspect-ratio:16/10;
  }
}

@media(max-width:650px){
  .training-section-head{
    padding-top:52px;
    padding-bottom:28px;
  }

  .training-section-head h2,
  .training-copy h2{
    font-size:33px !important;
  }

  .training-section-head .section-lead,
  .training-copy .section-lead{
    font-size:16px !important;
  }

  .training-band{
    padding:42px 0;
  }

  .training-points{
    grid-template-columns:1fr !important;
  }

  .training-scene{
    aspect-ratio:4/3;
  }

  .training-scene-anywhere img{
    object-position:40% center;
  }

  .training-scene-ai img{
    object-position:60% center;
  }
}


/* V32 - esmaecimento das imagens de treinos como no hero */
@media(min-width:651px){

  .training-scene{
    position:relative !important;
    overflow:hidden !important;
    background:transparent !important;
  }

  .training-scene img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;

    /* máscara suave nas bordas horizontais, no mesmo espírito do hero */
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
    -webkit-mask-repeat:no-repeat !important;
    mask-repeat:no-repeat !important;
  }

  /* No bloco "qualquer lugar", o fade vem da direita para a esquerda,
     pois a imagem está à direita do texto */
  .training-scene-anywhere img{
    -webkit-mask-image:linear-gradient(
      270deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      270deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
  }

  .training-scene-ai img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.04) 5%,
      rgba(0,0,0,.12) 10%,
      rgba(0,0,0,.28) 16%,
      rgba(0,0,0,.50) 23%,
      rgba(0,0,0,.72) 31%,
      rgba(0,0,0,.90) 40%,
      #000 49%,
      #000 100%
    ) !important;
  }
}

/* Em celulares, exibe as fotos limpas, sem esmaecimento */
@media(max-width:650px){
  .training-scene img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    opacity:1 !important;
  }

  .training-scene-anywhere img{
    object-position:center center !important;
  }

  .training-scene-ai img{
    object-position:center center !important;
  }
}


/* V33 - IA com fundo tecnológico animado */
.training-band-ai{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}

.training-band-ai .container{
  position:relative;
  z-index:3;
}

.ai-tech-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

/* grade tecnológica muito sutil */
.training-band-ai:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(91,108,255,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,108,255,.11) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 85%,transparent 100%);
}

/* halos azuis/roxos que se movimentam lentamente */
.training-band-ai:after{
  content:"";
  position:absolute;
  z-index:0;
  width:640px;
  height:640px;
  right:-180px;
  top:-190px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle,rgba(46,112,255,.22) 0%,rgba(95,66,246,.12) 30%,rgba(0,0,0,0) 68%);
  animation:aiGlow 7s ease-in-out infinite alternate;
}

.ai-node{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#4fb6ff;
  box-shadow:
    0 0 0 7px rgba(79,182,255,.05),
    0 0 18px rgba(79,182,255,.75);
  animation:aiNodePulse 2.8s ease-in-out infinite;
}
.ai-node-1{left:12%;top:24%}
.ai-node-2{left:48%;top:13%;animation-delay:.8s;background:#8e63ff}
.ai-node-3{right:14%;bottom:22%;animation-delay:1.4s}

.ai-line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg,transparent,#416dff,#9d5cff,transparent);
  transform-origin:left center;
  opacity:.6;
  animation:aiLineMove 5s ease-in-out infinite;
}
.ai-line-1{width:34%;left:8%;top:33%;transform:rotate(8deg)}
.ai-line-2{width:31%;right:5%;top:23%;transform:rotate(-11deg);animation-delay:1s}
.ai-line-3{width:40%;left:34%;bottom:20%;transform:rotate(3deg);animation-delay:1.8s}

.ai-orbit{
  position:absolute;
  border:1px solid rgba(90,102,255,.22);
  border-radius:50%;
  animation:aiOrbitFloat 6s ease-in-out infinite alternate;
}
.ai-orbit-1{
  width:300px;height:300px;
  right:4%;top:8%;
}
.ai-orbit-2{
  width:180px;height:180px;
  left:4%;bottom:-55px;
  border-color:rgba(40,171,255,.18);
  animation-delay:1.2s;
}

@keyframes aiGlow{
  from{transform:translate3d(-16px,8px,0) scale(.96);opacity:.75}
  to{transform:translate3d(20px,-10px,0) scale(1.06);opacity:1}
}
@keyframes aiNodePulse{
  0%,100%{transform:scale(.85);opacity:.45}
  50%{transform:scale(1.25);opacity:1}
}
@keyframes aiLineMove{
  0%,100%{opacity:.22;filter:blur(.1px)}
  50%{opacity:.8;filter:blur(0)}
}
@keyframes aiOrbitFloat{
  from{transform:translateY(0) rotate(0deg)}
  to{transform:translateY(-16px) rotate(8deg)}
}

/* reforça o enquadramento da IA e evita a área do antigo logo */
.training-scene-ai img{
  object-position:50% center !important;
}

/* reduz movimentos em mobile para priorizar desempenho */
@media(max-width:650px){
  .ai-line,
  .ai-orbit{
    animation:none !important;
  }
  .ai-tech-layer{
    opacity:.55;
  }
}
@media(prefers-reduced-motion:reduce){
  .ai-node,
  .ai-line,
  .ai-orbit,
  .training-band-ai:after{
    animation:none !important;
  }
}


/* V36 - alinhamento horizontal padronizado entre todas as seções */
:root{
  --site-max-width:1180px;
  --site-gutter:40px;
}

/* Container padrão do site */
.container,
.hero-benefits-section .container,
.training-band .container,
.training-section-head,
.trust .container,
.section .container,
.cta .container,
footer .container{
  width:min(var(--site-max-width), calc(100% - var(--site-gutter))) !important;
  max-width:var(--site-max-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hero segue exatamente o mesmo eixo das demais seções */
.hero-v14-inner{
  width:min(var(--site-max-width), calc(100% - var(--site-gutter))) !important;
  max-width:var(--site-max-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Evita recuos extras na seção de experiência/confiança */
.trust-intro,
.trust-grid,
.trust-grid-new{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.trust-stat:first-child{
  padding-left:0 !important;
}

/* Mantém a faixa de benefícios alinhada com o restante */
.hero-benefits-section .hero-v14-benefits{
  width:100% !important;
}

/* Em telas menores, usa o mesmo recuo lateral em tudo */
@media(max-width:650px){
  :root{
    --site-gutter:28px;
  }

  .header .container.nav,
  .container,
  .hero-v14-inner,
  .hero-benefits-section .container,
  .training-band .container,
  .training-section-head,
  .trust .container,
  .section .container,
  .cta .container,
  footer .container{
    width:calc(100% - var(--site-gutter)) !important;
  }
}


/* V37 - remove visualmente o logo DataFitness das costas na cena de IA */
.training-scene-ai{
  position:relative !important;
  overflow:hidden !important;
}

/* Máscara escura integrada à camisa e ao fundo, cobrindo a área do logo */
.training-scene-ai:after{
  content:"";
  position:absolute;
  z-index:4;
  right:-2%;
  bottom:-2%;
  width:34%;
  height:24%;
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at 72% 72%,
      rgba(18,20,26,.98) 0%,
      rgba(18,20,26,.96) 34%,
      rgba(18,20,26,.82) 58%,
      rgba(18,20,26,.42) 76%,
      rgba(18,20,26,0) 100%
    );
}

/* Em telas menores a área do logo muda de posição, então ampliamos a cobertura */
@media(max-width:900px){
  .training-scene-ai:after{
    right:-4%;
    bottom:-3%;
    width:42%;
    height:28%;
  }
}

@media(max-width:650px){
  .training-scene-ai:after{
    width:48%;
    height:30%;
  }
}


/* V38 - títulos alinhados pelo topo das imagens */
@media(min-width:901px){
  .training-band-grid,
  .training-band-grid-ai{
    align-items:start !important;
  }

  .training-copy,
  .training-copy-ai{
    padding-top:0 !important;
    margin-top:0 !important;
    align-self:start !important;
  }

  .training-copy .eyebrow,
  .training-copy-ai .eyebrow{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  .training-scene,
  .training-scene-ai,
  .training-scene-anywhere{
    align-self:start !important;
    margin-top:0 !important;
  }
}


/* V40 - seção de assinatura digital */
.digital-contracts{
  width:100%;
  background:#fff;
}

.digital-contracts-band{
  width:100%;
  padding:78px 0;
  background:#f7f7f7;
}

.digital-contracts-grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:58px;
  align-items:start;
}

.digital-contracts-copy{
  padding-top:0;
}

.digital-contracts-copy .eyebrow{
  margin:0 0 10px;
  color:var(--blue);
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.4px;
}

.digital-contracts-copy h2{
  margin:0 0 14px;
  color:var(--ink);
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.5px;
}

.digital-contracts-copy .section-lead{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:18px;
  line-height:1.62;
}

.digital-contracts-visual{
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:#0c1726;
}

.digital-contracts-visual img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  display:block;
  object-fit:cover;
  object-position:58% center;
}

/* mesmo conceito de esmaecimento usado no hero */
@media(min-width:651px){
  .digital-contracts-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.05) 5%,
      rgba(0,0,0,.15) 11%,
      rgba(0,0,0,.34) 18%,
      rgba(0,0,0,.58) 26%,
      rgba(0,0,0,.80) 35%,
      rgba(0,0,0,.94) 44%,
      #000 54%,
      #000 100%
    );
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.05) 5%,
      rgba(0,0,0,.15) 11%,
      rgba(0,0,0,.34) 18%,
      rgba(0,0,0,.58) 26%,
      rgba(0,0,0,.80) 35%,
      rgba(0,0,0,.94) 44%,
      #000 54%,
      #000 100%
    );
  }
}

.digital-tech-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.digital-orbit{
  position:absolute;
  border:1px solid rgba(44,133,255,.30);
  border-radius:50%;
  animation:digitalFloat 7s ease-in-out infinite alternate;
}
.digital-orbit-a{width:250px;height:250px;left:8%;top:7%}
.digital-orbit-b{width:160px;height:160px;right:4%;bottom:6%;animation-delay:1s}

.digital-node{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#45a7ff;
  box-shadow:0 0 0 7px rgba(69,167,255,.08),0 0 18px rgba(69,167,255,.65);
  animation:digitalPulse 3s ease-in-out infinite;
}
.digital-node-a{left:24%;top:25%}
.digital-node-b{right:15%;bottom:23%;animation-delay:1.2s}

.digital-line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg,transparent,#2d8eff,#7c61ff,transparent);
  opacity:.58;
  animation:digitalLine 5s ease-in-out infinite;
}
.digital-line-a{width:46%;left:5%;top:34%;transform:rotate(6deg)}
.digital-line-b{width:38%;right:4%;bottom:28%;transform:rotate(-8deg);animation-delay:1.4s}

.digital-contract-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 18px;
  margin-top:28px;
}

.digital-contract-points > div{
  display:flex;
  align-items:flex-start;
  gap:11px;
}

.digital-point-icon{
  flex:0 0 31px;
  width:31px;
  height:31px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#f58220,#ff9a3f);
  font-size:13px;
  font-weight:900;
}

.digital-contract-points strong{
  display:block;
  margin-bottom:3px;
  color:#222a35;
  font-size:14px;
  line-height:1.25;
}

.digital-contract-points small{
  display:block;
  color:#6b7280;
  font-size:13px;
  line-height:1.4;
}

@keyframes digitalFloat{
  from{transform:translateY(0) rotate(0deg)}
  to{transform:translateY(-12px) rotate(6deg)}
}
@keyframes digitalPulse{
  0%,100%{transform:scale(.9);opacity:.5}
  50%{transform:scale(1.2);opacity:1}
}
@keyframes digitalLine{
  0%,100%{opacity:.2}
  50%{opacity:.75}
}

@media(max-width:900px){
  .digital-contracts-band{
    padding:58px 0;
  }

  .digital-contracts-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .digital-contracts-copy{order:1}
  .digital-contracts-visual{
    order:2;
    min-height:0;
    aspect-ratio:16/10;
  }
}

@media(max-width:650px){
  .digital-contracts-band{
    padding:44px 0;
  }

  .digital-contracts-copy h2{
    font-size:33px;
  }

  .digital-contracts-copy .section-lead{
    font-size:16px;
  }

  .digital-contract-points{
    grid-template-columns:1fr;
  }

  .digital-contracts-visual{
    aspect-ratio:4/3;
  }

  .digital-contracts-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .digital-line,
  .digital-orbit{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .digital-node,
  .digital-line,
  .digital-orbit{
    animation:none !important;
  }
}


/* V41 - imagem da assinatura digital em formato retangular */
.digital-contracts-visual{
  clip-path:none !important;
  -webkit-clip-path:none !important;
  transform:none !important;
  border-radius:0 !important;
}

.digital-contracts-visual:before,
.digital-contracts-visual:after{
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* Mantém apenas o esmaecimento da foto, sem alterar sua geometria */
.digital-contracts-visual img{
  clip-path:none !important;
  -webkit-clip-path:none !important;
  transform:none !important;
}


/* V42 - fotografia de assinatura realmente retangular */
.digital-contracts-visual{
  background:#0c1726 !important;
}

.digital-contracts-visual img{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* O fade permanece somente como transparência, sem criar geometria diagonal */
@media(min-width:651px){
  .digital-contracts-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.12) 7%,
      rgba(0,0,0,.38) 15%,
      rgba(0,0,0,.72) 24%,
      rgba(0,0,0,.94) 33%,
      #000 42%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.12) 7%,
      rgba(0,0,0,.38) 15%,
      rgba(0,0,0,.72) 24%,
      rgba(0,0,0,.94) 33%,
      #000 42%,
      #000 100%
    ) !important;
  }
}


/* V43 - contrato com fundo branco + esmaecimento nas laterais */
.digital-contracts,
.digital-contracts-band{
  background:#ffffff !important;
}

.digital-contracts-visual{
  background:#ffffff !important;
}

/* Esmaecimento simétrico nas laterais da foto em desktop/tablet */
@media(min-width:651px){
  .digital-contracts-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.24) 9%,
      rgba(0,0,0,.50) 15%,
      rgba(0,0,0,.76) 22%,
      rgba(0,0,0,.93) 29%,
      #000 36%,
      #000 64%,
      rgba(0,0,0,.93) 71%,
      rgba(0,0,0,.76) 78%,
      rgba(0,0,0,.50) 85%,
      rgba(0,0,0,.24) 91%,
      rgba(0,0,0,.08) 96%,
      transparent 100%
    ) !important;

    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.24) 9%,
      rgba(0,0,0,.50) 15%,
      rgba(0,0,0,.76) 22%,
      rgba(0,0,0,.93) 29%,
      #000 36%,
      #000 64%,
      rgba(0,0,0,.93) 71%,
      rgba(0,0,0,.76) 78%,
      rgba(0,0,0,.50) 85%,
      rgba(0,0,0,.24) 91%,
      rgba(0,0,0,.08) 96%,
      transparent 100%
    ) !important;
  }
}

/* No celular, mantém a imagem limpa */
@media(max-width:650px){
  .digital-contracts-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* V44 - ajustes em "Uma plataforma" e assinatura digital */
.platform-single-line{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  white-space:nowrap !important;
}

/* Em telas onde realmente não cabe, permite quebra natural */
@media(max-width:900px){
  .platform-single-line{
    width:auto !important;
    white-space:normal !important;
  }
}

/* Ícones dos quatro pilares mais vibrantes */
.pillar .icon,
.pillar-icon,
.pillar-icon-wrap,
.pillar .ico{
  background:linear-gradient(135deg,#ff5a00 0%,#ff8a00 48%,#ffb000 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 8px 22px rgba(255,90,0,.22) !important;
}

.pillar .icon svg,
.pillar-icon svg,
.pillar-icon-wrap svg,
.pillar .ico svg{
  stroke:#fff !important;
  color:#fff !important;
}

/* Se os quatro itens usam cards genéricos da grade de pilares */
.pillars > div:nth-child(2) .icon,
.pillars > div:nth-child(2) .pillar-icon,
.pillars > div:nth-child(2) .ico{
  background:linear-gradient(135deg,#ff4d67,#ff7a2f) !important;
}
.pillars > div:nth-child(3) .icon,
.pillars > div:nth-child(3) .pillar-icon,
.pillars > div:nth-child(3) .ico{
  background:linear-gradient(135deg,#6b55ff,#9c4dff) !important;
}
.pillars > div:nth-child(4) .icon,
.pillars > div:nth-child(4) .pillar-icon,
.pillars > div:nth-child(4) .ico{
  background:linear-gradient(135deg,#00a8ff,#00d4b8) !important;
}


/* V45 - ícones dos pilares: visual clean, premium e tecnológico */
.pillar .icon,
.pillar-icon,
.pillar-icon-wrap,
.pillar .ico{
  background:#fff !important;
  color:#ff5a00 !important;
  border:1px solid #ececec !important;
  box-shadow:0 8px 24px rgba(20,24,32,.08) !important;
  position:relative !important;
  overflow:visible !important;
}

/* pequeno detalhe de marca, sem transformar o ícone em um bloco colorido */
.pillar .icon:after,
.pillar-icon:after,
.pillar-icon-wrap:after,
.pillar .ico:after{
  content:"" !important;
  position:absolute !important;
  right:-3px !important;
  bottom:-3px !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#ff5a00 !important;
  border:3px solid #fff !important;
  box-shadow:0 2px 7px rgba(255,90,0,.24) !important;
}

.pillar .icon svg,
.pillar-icon svg,
.pillar-icon-wrap svg,
.pillar .ico svg{
  stroke:#ff5a00 !important;
  color:#ff5a00 !important;
  fill:none !important;
}

/* remove as variações multicoloridas da versão anterior */
.pillars > div:nth-child(2) .icon,
.pillars > div:nth-child(2) .pillar-icon,
.pillars > div:nth-child(2) .ico,
.pillars > div:nth-child(3) .icon,
.pillars > div:nth-child(3) .pillar-icon,
.pillars > div:nth-child(3) .ico,
.pillars > div:nth-child(4) .icon,
.pillars > div:nth-child(4) .pillar-icon,
.pillars > div:nth-child(4) .ico{
  background:#fff !important;
}


/* V46 - "Uma plataforma, vários resultados" no estilo da antiga seção tecnológica */
.platform-results{
  width:100%;
  padding:78px 0;
  background:#fff;
}

.platform-results-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:46px;
  align-items:center;
  padding:54px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 14% 18%, rgba(36,182,232,.22), transparent 24%),
    radial-gradient(circle at 88% 78%, rgba(245,130,32,.15), transparent 26%),
    linear-gradient(135deg,#071a33,#0f2948 58%,#122f52);
  box-shadow:0 28px 60px rgba(7,26,51,.16);
}

.platform-results-panel:before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-120px;
  top:-130px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

.platform-results-panel:after{
  content:"";
  position:absolute;
  left:38%;
  bottom:-110px;
  width:420px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(36,182,232,.10),rgba(36,182,232,0) 70%);
  pointer-events:none;
}

.platform-results-copy,
.platform-results-grid{
  position:relative;
  z-index:2;
}

.platform-results-copy .eyebrow{
  color:#68d5ff !important;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.4px;
}

.platform-results-copy h2{
  margin:10px 0 15px;
  color:#fff;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.5px;
}

.platform-results-copy p{
  margin:0;
  max-width:690px;
  color:#c6d6e8;
  font-size:17px;
  line-height:1.65;
}

.platform-results-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.platform-result-item{
  min-height:126px;
  padding:20px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.07);
  border-radius:16px;
  backdrop-filter:blur(4px);
}

.platform-result-item strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}

.platform-result-item span{
  display:block;
  color:#b8cbe1;
  font-size:13px;
  line-height:1.45;
}

@media(max-width:900px){
  .platform-results{
    padding:58px 0;
  }
  .platform-results-panel{
    grid-template-columns:1fr;
    gap:32px;
    padding:34px;
  }
}

@media(max-width:650px){
  .platform-results{
    padding:44px 0;
  }
  .platform-results-panel{
    padding:26px 20px;
    border-radius:22px;
  }
  .platform-results-copy h2{
    font-size:33px;
  }
  .platform-results-copy p{
    font-size:16px;
  }
  .platform-results-grid{
    grid-template-columns:1fr;
  }
}


/* V48 - Integrações Wellhub e TotalPass */
.partner-integrations{
  width:100%;
  padding:82px 0 88px;
  background:#f3f6f8;
}

.partner-integrations-head{
  max-width:900px;
  margin-bottom:42px;
}

.partner-integrations-head .eyebrow{
  color:#f36b21;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.4px;
}

.partner-integrations-head h2{
  margin:9px 0 13px;
  color:#15191f;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.4px;
}

.partner-integrations-head p{
  margin:0;
  color:#626a73;
  font-size:17px;
  line-height:1.6;
}

.partner-integrations-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:62px;
  align-items:center;
}

.partner-kicker{
  margin-bottom:9px;
  color:#77808a;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
}

.partner-integration-copy h3{
  margin:0 0 14px;
  color:#171b20;
  font-size:29px;
  line-height:1.15;
  letter-spacing:-.7px;
}

.partner-integration-copy > p{
  margin:0 0 26px;
  color:#626a73;
  font-size:16px;
  line-height:1.65;
}

.partner-points{
  display:grid;
  gap:13px;
}

.partner-point{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:14px 0;
  border-top:1px solid #dce2e7;
}

.partner-check{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#f36b21;
  font-weight:900;
  box-shadow:0 5px 14px rgba(30,40,50,.08);
}

.partner-point strong{
  display:block;
  color:#1d2228;
  font-size:15px;
}

.partner-point small{
  display:block;
  margin-top:3px;
  color:#6f7881;
  font-size:13px;
  line-height:1.45;
}

.partner-integrations-visual{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 50%,rgba(243,107,33,.13),transparent 22%),
    radial-gradient(circle at 22% 28%,rgba(64,181,220,.16),transparent 25%),
    linear-gradient(145deg,#ffffff,#e9eef2);
  border:1px solid #e0e6ea;
  box-shadow:0 22px 50px rgba(33,45,55,.10);
}

.integration-core,
.integration-platform{
  position:absolute;
  z-index:3;
  background:#fff;
  box-shadow:0 16px 36px rgba(31,43,54,.13);
}

.integration-core{
  left:50%;
  top:50%;
  width:152px;
  height:152px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(243,107,33,.22);
}

.integration-core span{
  color:#15191f;
  font-size:20px;
  font-weight:900;
}

.integration-core small{
  margin-top:5px;
  color:#f36b21;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
}

.integration-platform{
  min-width:155px;
  padding:17px 20px;
  border-radius:16px;
}

.integration-platform strong{
  display:block;
  color:#171b20;
  font-size:18px;
}

.integration-platform span{
  display:block;
  margin-top:4px;
  color:#75808a;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.integration-wellhub{
  left:8%;
  top:20%;
}

.integration-totalpass{
  right:8%;
  bottom:18%;
}

.integration-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(50,72,92,.15);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.orbit-one{width:300px;height:300px;}
.orbit-two{width:410px;height:410px;border-style:dashed;}

.integration-node{
  position:absolute;
  z-index:2;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#f36b21;
  box-shadow:0 0 0 7px rgba(243,107,33,.09);
}
.node-a{left:29%;bottom:19%;}
.node-b{right:25%;top:17%;}
.node-c{right:13%;top:47%;}

@media(max-width:900px){
  .partner-integrations{
    padding:60px 0;
  }
  .partner-integrations-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .partner-integrations-visual{
    min-height:390px;
  }
}

@media(max-width:650px){
  .partner-integrations{
    padding:48px 0;
  }
  .partner-integrations-head h2{
    font-size:33px;
  }
  .partner-integrations-head{
    margin-bottom:30px;
  }
  .partner-integrations-visual{
    min-height:340px;
    border-radius:22px;
  }
  .integration-core{
    width:125px;
    height:125px;
  }
  .integration-core span{font-size:17px;}
  .integration-platform{
    min-width:128px;
    padding:13px 15px;
  }
  .integration-platform strong{font-size:15px;}
  .integration-wellhub{left:5%;top:15%;}
  .integration-totalpass{right:5%;bottom:14%;}
  .orbit-one{width:245px;height:245px;}
  .orbit-two{width:315px;height:315px;}
}


/* V49 - Integrações sem imagem, foco em texto e operação */
.partner-integrations{
  width:100%;
  padding:82px 0 88px;
  background:#f3f6f8;
}

.partner-integrations-head{
  max-width:980px;
  margin-bottom:42px;
}

.partner-integrations-head .eyebrow{
  color:#f36b21;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.4px;
}

.partner-integrations-head h2{
  margin:9px 0 13px;
  color:#15191f;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.4px;
}

.partner-integrations-head p{
  margin:0;
  color:#626a73;
  font-size:17px;
  line-height:1.6;
  max-width:920px;
}

.partner-integrations-content{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:64px;
  align-items:start;
}

.partner-kicker{
  margin-bottom:9px;
  color:#77808a;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
}

.partner-integrations-copy h3{
  margin:0 0 14px;
  color:#171b20;
  font-size:30px;
  line-height:1.14;
  letter-spacing:-.7px;
}

.partner-integrations-copy > p{
  margin:0;
  color:#626a73;
  font-size:16px;
  line-height:1.65;
}

.partner-points-wide{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 28px;
}

.partner-point{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:18px 0;
  border-top:1px solid #dce2e7;
}

.partner-points-wide .partner-point:nth-child(-n+2){
  border-top:0;
  padding-top:0;
}

.partner-check{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#f36b21;
  font-weight:900;
  box-shadow:0 5px 14px rgba(30,40,50,.08);
}

.partner-point strong{
  display:block;
  color:#1d2228;
  font-size:15px;
}

.partner-point small{
  display:block;
  margin-top:4px;
  color:#6f7881;
  font-size:13px;
  line-height:1.48;
}

@media(max-width:900px){
  .partner-integrations{
    padding:60px 0;
  }

  .partner-integrations-content{
    grid-template-columns:1fr;
    gap:30px;
  }

  .partner-points-wide{
    grid-template-columns:1fr;
  }

  .partner-points-wide .partner-point:nth-child(2){
    border-top:1px solid #dce2e7;
    padding-top:18px;
  }
}

@media(max-width:650px){
  .partner-integrations{
    padding:48px 0;
  }

  .partner-integrations-head h2{
    font-size:33px;
  }

  .partner-integrations-head p,
  .partner-integrations-copy > p{
    font-size:16px;
  }

  .partner-integrations-copy h3{
    font-size:27px;
  }
}


/* V50 - mais respiro lateral no responsivo */
@media(max-width:900px){
  :root{ --site-gutter:44px !important; }
}
@media(max-width:650px){
  :root{ --site-gutter:40px !important; }

  .container,
  .hero-inner,
  .benefits-inner,
  .trust-inner,
  .training-inner,
  .section-inner,
  .cta-inner,
  .footer-inner{
    width:calc(100% - var(--site-gutter)) !important;
  }
}
@media(max-width:380px){
  :root{ --site-gutter:32px !important; }
}

/* V50 - Notas Fiscais */
.fiscal-section{
  width:100%;
  padding:86px 0;
  background:#fff;
}

.fiscal-grid{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(430px,1.06fr);
  gap:66px;
  align-items:start;
}

.fiscal-copy .eyebrow{
  color:#f36b21;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.4px;
}

.fiscal-copy h2{
  margin:9px 0 16px;
  color:#161a1f;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.4px;
}

.fiscal-copy > p{
  margin:0 0 28px;
  color:#626a73;
  font-size:17px;
  line-height:1.65;
}

.fiscal-copy > p strong{
  color:#30363d;
  font-weight:750;
}

.fiscal-points{
  display:grid;
  gap:0;
  border-top:1px solid #e5e8eb;
}

.fiscal-point{
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid #e5e8eb;
}

.fiscal-point > span{
  flex:0 0 54px;
  padding:7px 5px;
  border-radius:8px;
  background:#f2f3f4;
  color:#30363d;
  font-size:12px;
  font-weight:900;
  text-align:center;
  letter-spacing:.4px;
}

.fiscal-point strong{
  display:block;
  color:#1c2126;
  font-size:15px;
}

.fiscal-point small{
  display:block;
  margin-top:3px;
  color:#747c84;
  font-size:13px;
  line-height:1.45;
}

.fiscal-free{
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:25px;
  padding:18px 20px;
  border-left:4px solid #f36b21;
  background:#fff6f0;
}

.fiscal-check{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f36b21;
  color:#fff;
  font-size:25px;
  font-weight:900;
}

.fiscal-free strong{
  display:block;
  color:#f36b21;
  font-size:20px;
  font-weight:900;
  text-transform:uppercase;
}

.fiscal-free small{
  display:block;
  margin-top:2px;
  color:#4f565d;
  font-size:14px;
  font-weight:700;
}

.fiscal-visual{
  position:relative;
  overflow:hidden;
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.fiscal-visual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}

@media(max-width:900px){
  .fiscal-section{padding:62px 0;}
  .fiscal-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .fiscal-visual{
    min-height:auto;
  }
}

@media(max-width:650px){
  .fiscal-section{padding:50px 0;}
  .fiscal-copy h2{font-size:33px;}
  .fiscal-copy > p{font-size:16px;}
  .fiscal-visual img{
    -webkit-mask-image:none;
    mask-image:none;
  }
  .fiscal-free{
    padding:16px;
  }
}


/* V51 - carregamento progressivo e efeitos de entrada */
.reveal-section{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1),
    transform .72s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}

.reveal-section.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Elementos internos podem entrar com pequeno atraso */
.reveal-section .eyebrow,
.reveal-section h2,
.reveal-section .section-lead,
.reveal-section .training-copy,
.reveal-section .digital-contracts-copy,
.reveal-section .partner-integrations-copy,
.reveal-section .fiscal-copy{
  transition:
    opacity .65s ease,
    transform .65s ease;
}

.reveal-section:not(.is-visible) .eyebrow,
.reveal-section:not(.is-visible) h2,
.reveal-section:not(.is-visible) .section-lead{
  opacity:.15;
  transform:translateY(10px);
}

.reveal-section.is-visible .eyebrow,
.reveal-section.is-visible h2,
.reveal-section.is-visible .section-lead{
  opacity:1;
  transform:translateY(0);
}

/* Evita animação se o usuário preferir menos movimento */
@media(prefers-reduced-motion:reduce){
  .reveal-section,
  .reveal-section *,
  .reveal-section:before,
  .reveal-section:after{
    transition:none !important;
    animation:none !important;
  }

  .reveal-section{
    opacity:1 !important;
    transform:none !important;
  }
}


/* V52 - nova ilustração fiscal, sem telas do sistema */
.fiscal-visual{
  background:#fff !important;
  min-height:470px !important;
}

.fiscal-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media(min-width:651px){
  .fiscal-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 5%,
      rgba(0,0,0,.34) 11%,
      rgba(0,0,0,.68) 18%,
      rgba(0,0,0,.90) 27%,
      #000 36%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 5%,
      rgba(0,0,0,.34) 11%,
      rgba(0,0,0,.68) 18%,
      rgba(0,0,0,.90) 27%,
      #000 36%,
      #000 100%
    ) !important;
  }
}

@media(max-width:650px){
  .fiscal-visual{
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }
  .fiscal-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* V53 - ajustes nas seções Fiscal e Assinatura Digital */

/* Fiscal: imagem com a mesma altura do bloco de texto */
.fiscal-grid{
  align-items:stretch !important;
}

.fiscal-copy,
.fiscal-visual{
  height:100% !important;
}

.fiscal-visual{
  min-height:0 !important;
  display:flex !important;
  align-items:stretch !important;
}

.fiscal-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Assinatura Digital: texto à esquerda e imagem à direita */
@media(min-width:901px){
  .digital-contracts-copy{
    order:1 !important;
  }

  .digital-contracts-visual{
    order:2 !important;
  }
}

@media(max-width:900px){
  .digital-contracts-copy{
    order:1 !important;
  }

  .digital-contracts-visual{
    order:2 !important;
  }

  .fiscal-copy,
  .fiscal-visual{
    height:auto !important;
  }

  .fiscal-visual{
    aspect-ratio:16/10 !important;
  }
}

@media(max-width:650px){
  .fiscal-visual{
    aspect-ratio:4/3 !important;
  }
}


/* V54 - nova arte fiscal + responsividade sem rolagem horizontal */

/* Segurança global contra estouro horizontal */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

*, *:before, *:after{
  box-sizing:border-box;
}

img, svg, video, canvas{
  max-width:100%;
}

section,
.container,
.hero-v14-inner,
.hero-benefits-section,
.training-band,
.training-band-grid,
.digital-contracts-grid,
.partner-integrations-content,
.fiscal-grid,
.platform-results-panel{
  min-width:0 !important;
  max-width:100%;
}

/* Margens laterais responsivas equilibradas */
@media(max-width:900px){
  :root{
    --site-gutter:32px !important; /* 16px de cada lado */
  }

  .container,
  .hero-v14-inner,
  .hero-benefits-section .container,
  .training-band .container,
  .trust .container,
  .section .container,
  .cta .container,
  footer .container{
    width:calc(100% - var(--site-gutter)) !important;
    max-width:calc(100% - var(--site-gutter)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(max-width:420px){
  :root{
    --site-gutter:28px !important; /* 14px de cada lado */
  }
}

/* Remove qualquer largura mínima que force scroll em grids */
@media(max-width:900px){
  .partner-integrations-grid,
  .partner-integrations-content,
  .fiscal-grid,
  .digital-contracts-grid,
  .training-band-grid,
  .training-band-grid-ai{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .partner-integrations-grid > *,
  .partner-integrations-content > *,
  .fiscal-grid > *,
  .digital-contracts-grid > *,
  .training-band-grid > *{
    min-width:0 !important;
    width:100% !important;
  }
}

/* Nova imagem fiscal */
.fiscal-grid{
  align-items:stretch !important;
}

.fiscal-copy{
  height:100% !important;
}

.fiscal-visual{
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  background:#fff !important;
  overflow:hidden !important;
}

.fiscal-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Integração suave no desktop */
@media(min-width:651px){
  .fiscal-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 5%,
      rgba(0,0,0,.36) 11%,
      rgba(0,0,0,.70) 18%,
      rgba(0,0,0,.92) 26%,
      #000 34%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 5%,
      rgba(0,0,0,.36) 11%,
      rgba(0,0,0,.70) 18%,
      rgba(0,0,0,.92) 26%,
      #000 34%,
      #000 100%
    ) !important;
  }
}

/* No mobile a foto fica inteira e sem máscara */
@media(max-width:650px){
  .fiscal-visual{
    height:auto !important;
    aspect-ratio:4/3 !important;
  }

  .fiscal-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    object-fit:cover !important;
  }
}


/* V55 - marcas Wellhub e TotalPass na seção Integrações */
.integration-brands{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:26px;
  flex-wrap:wrap;
}

.integration-brand{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 20px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e1e5e8;
  box-shadow:0 7px 20px rgba(25,35,45,.06);
  text-decoration:none !important;
}

.integration-brand strong{
  line-height:1;
  letter-spacing:-.6px;
}

.integration-brand-wellhub{
  color:#171717 !important;
}

.integration-brand-wellhub strong{
  font-size:25px;
  font-weight:800;
  text-transform:lowercase;
}

.wellhub-symbol{
  display:inline-grid;
  place-items:center;
  width:31px;
  height:31px;
  color:#ef426f;
  font-size:30px;
  line-height:1;
  transform:rotate(12deg);
}

.integration-brand-totalpass{
  color:#232323 !important;
}

.integration-brand-totalpass strong{
  font-size:23px;
  font-weight:800;
}

.integration-brand-separator{
  color:#a0a7ad;
  font-size:19px;
  font-weight:700;
}

@media(max-width:650px){
  .integration-brands{
    gap:10px;
    margin-top:22px;
  }

  .integration-brand{
    min-height:52px;
    padding:10px 15px;
  }

  .integration-brand-wellhub strong{
    font-size:21px;
  }

  .integration-brand-totalpass strong{
    font-size:20px;
  }

  .wellhub-symbol{
    width:27px;
    height:27px;
    font-size:26px;
  }
}


/* V56 - identidade visual dos títulos + cards fiscais com ícones */
.platform-results .eyebrow,
.training-prescription .eyebrow,
.digital-contracts .eyebrow,
.partner-integrations .eyebrow,
.fiscal-section .eyebrow,
.trust .eyebrow,
.section .eyebrow{
  position:relative;
  padding-top:18px !important;
}

.platform-results .eyebrow:before,
.training-prescription .eyebrow:before,
.digital-contracts .eyebrow:before,
.partner-integrations .eyebrow:before,
.fiscal-section .eyebrow:before,
.trust .eyebrow:before,
.section .eyebrow:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:66px;
  height:4px;
  border-radius:999px;
  background:#ff5a12;
}

/* Mantém a barrinha visível nas seções escuras */
.training-band-ai .eyebrow:before,
.platform-results .eyebrow:before{
  box-shadow:0 0 16px rgba(255,90,18,.20);
}

/* Cards fiscais inspirados na referência */
.fiscal-points{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  border:0 !important;
  margin-top:26px !important;
}

.fiscal-point{
  display:block !important;
  padding:18px 16px !important;
  border:1px solid #edf0f2 !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,#fafbfc,#f3f5f7) !important;
  min-width:0 !important;
}

.fiscal-point + .fiscal-point{
  border-top:1px solid #edf0f2 !important;
}

.fiscal-point-tag{
  display:none !important;
}

.fiscal-point-title{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 10px !important;
  font-size:18px !important;
  font-weight:800 !important;
  color:#171c22 !important;
}

.fiscal-point-title:before{
  content:"";
  flex:0 0 34px;
  width:34px;
  height:34px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

.fiscal-point:nth-child(1) .fiscal-point-title:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath fill='%23ff5a12' d='M7 2h18l8 8v28H7z'/%3E%3Cpath fill='%23fff' d='M25 2v9h8zM12 17h16v3H12zm0 6h16v3H12zm0 6h12v3H12z'/%3E%3C/svg%3E");
}

.fiscal-point:nth-child(2) .fiscal-point-title:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath fill='%23ff5a12' d='M4 5h5l3 19h20l4-13H12l-1-6H4z'/%3E%3Ccircle fill='%23ff5a12' cx='16' cy='32' r='4'/%3E%3Ccircle fill='%23ff5a12' cx='30' cy='32' r='4'/%3E%3C/svg%3E");
}

.fiscal-point:nth-child(3) .fiscal-point-title:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23ff5a12'%3E%3Crect x='4' y='5' width='4' height='30'/%3E%3Crect x='10' y='5' width='2' height='30'/%3E%3Crect x='14' y='5' width='5' height='30'/%3E%3Crect x='21' y='5' width='2' height='30'/%3E%3Crect x='25' y='5' width='4' height='30'/%3E%3Crect x='31' y='5' width='5' height='30'/%3E%3C/g%3E%3C/svg%3E");
}

.fiscal-point-text{
  padding-left:44px !important;
  color:#69727d !important;
  line-height:1.5 !important;
}

@media(max-width:1050px){
  .fiscal-points{
    grid-template-columns:1fr !important;
  }
  .fiscal-point-text{
    padding-left:44px !important;
  }
}

@media(max-width:650px){
  .platform-results .eyebrow,
  .training-prescription .eyebrow,
  .digital-contracts .eyebrow,
  .partner-integrations .eyebrow,
  .fiscal-section .eyebrow,
  .trust .eyebrow,
  .section .eyebrow{
    padding-top:15px !important;
  }

  .platform-results .eyebrow:before,
  .training-prescription .eyebrow:before,
  .digital-contracts .eyebrow:before,
  .partner-integrations .eyebrow:before,
  .fiscal-section .eyebrow:before,
  .trust .eyebrow:before,
  .section .eyebrow:before{
    width:54px;
    height:4px;
  }
}


/* V57 - Integrações sem logos + barra na cor do título */
.platform-results .eyebrow:before,
.training-prescription .eyebrow:before,
.digital-contracts .eyebrow:before,
.partner-integrations .eyebrow:before,
.fiscal-section .eyebrow:before,
.trust .eyebrow:before,
.section .eyebrow:before{
  background:currentColor !important;
  box-shadow:none !important;
}

/* Remove qualquer resíduo visual do bloco de marcas */
.integration-brands,
.integration-brand,
.integration-brand-separator{
  display:none !important;
}


/* V58 - Dúvidas frequentes */
.faq-section{
  width:100%;
  padding:88px 0;
  background:#f6f7f8;
}

.faq-inner{
  width:calc(100% - var(--site-gutter));
  max-width:var(--site-max-width);
  margin:0 auto;
}

.faq-heading{
  max-width:720px;
  margin-bottom:38px;
}

.faq-heading .eyebrow{
  position:relative;
  padding-top:18px;
  margin-bottom:13px;
  color:#ff5a12;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.faq-heading .eyebrow:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:66px;
  height:4px;
  border-radius:999px;
  background:currentColor;
}

.faq-heading h2{
  margin:0;
  font-size:clamp(32px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
  color:#171b20;
}

.faq-list{
  display:grid;
  gap:12px;
}

.faq-item{
  overflow:hidden;
  border:1px solid #e3e6e9;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(22,29,37,.035);
}

.faq-item summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:22px 66px 22px 24px;
  color:#20252b;
  font-size:17px;
  line-height:1.4;
  font-weight:750;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary:after{
  content:"+";
  position:absolute;
  right:23px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f3f4f5;
  color:#ff5a12;
  font-size:22px;
  font-weight:500;
  line-height:1;
}

.faq-item[open] summary:after{
  content:"−";
  background:#fff2eb;
}

.faq-answer{
  padding:0 24px 24px;
  color:#626b75;
  font-size:15px;
  line-height:1.72;
}

.faq-answer:before{
  content:"";
  display:block;
  height:1px;
  margin:0 0 20px;
  background:#edf0f2;
}

.faq-answer p{
  margin:0;
}

@media(max-width:650px){
  .faq-section{
    padding:64px 0;
  }

  .faq-heading{
    margin-bottom:28px;
  }

  .faq-heading .eyebrow{
    padding-top:15px;
  }

  .faq-heading .eyebrow:before{
    width:54px;
  }

  .faq-item summary{
    padding:19px 56px 19px 18px;
    font-size:16px;
  }

  .faq-item summary:after{
    right:16px;
  }

  .faq-answer{
    padding:0 18px 20px;
    font-size:14px;
  }
}


/* V59 - FAQ sem quebra quando houver largura + limpeza das seções antigas */
.faq-title-nowrap{
  width:max-content !important;
  max-width:100% !important;
  white-space:nowrap !important;
}

/* Quando a tela não comportar a frase inteira, a quebra volta a ser natural */
@media(max-width:760px){
  .faq-title-nowrap{
    width:auto !important;
    white-space:normal !important;
  }
}


/* V60 - link WhatsApp no FAQ */
.faq-answer a{
  color:#ff5a12;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.faq-answer a:hover{
  text-decoration:underline;
}

/* V61 - alternancia de cores entre secoes principais */
.hero-v14{background:#ffffff !important;}
.hero-benefits-section{background:#f6f7f8 !important;}
.trust{background:#ffffff !important;}
.training-prescription{background:#ffffff !important;}
.digital-contracts{background:#f6f7f8 !important;}
.partner-integrations{background:#ffffff !important;}
.fiscal-section{background:#f6f7f8 !important;}
.faq-section{background:#ffffff !important;}
.cta{background:#f6f7f8 !important;}
.hero-benefits-section{border-top:0 !important;border-bottom:0 !important;}
.digital-contracts-band{background:transparent !important;}
.partner-integrations{background:#ffffff !important;}
.fiscal-section{background:#f6f7f8 !important;}
.faq-section{background:#ffffff !important;}
.cta{background:#f6f7f8 !important;}
.training-prescription{background:#ffffff !important;}
.training-band-anywhere{background:#f6f7f8 !important;}
.training-band-ai{background:linear-gradient(135deg,#111318 0%,#1c1f27 100%) !important;}


/* V62 - CTA apos Integracoes + Notas Fiscais em branco */
.fiscal-section{
  background:#ffffff !important;
}

/* O CTA entre Integracoes e Notas Fiscais cria a separacao visual */
.cta{
  background:#f6f7f8 !important;
}


/* V64 - novo rodape de contatos, sem logo */
.footer{
  background:#15181c !important;
  padding:52px 0 !important;
  color:#fff;
}

.footer-contact-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:72px !important;
  align-items:start !important;
}

.footer-contact-column h3{
  margin:0 0 20px !important;
  color:#fff !important;
  font-size:19px !important;
  font-weight:800 !important;
}

.footer-contact-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:max-content;
  max-width:100%;
  margin:0 0 13px !important;
  color:#cfd4d9 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  text-decoration:none !important;
  transition:color .2s ease, transform .2s ease;
}

.footer-contact-item:hover{
  color:#fff !important;
  transform:translateX(2px);
}

.footer-contact-icon{
  flex:0 0 20px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  color:#ff5a12;
}

.footer-contact-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

@media(max-width:700px){
  .footer{
    padding:42px 0 !important;
  }

  .footer-contact-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .footer-contact-item{
    width:100%;
    overflow-wrap:anywhere;
  }
}


/* V65 - Integracoes em destaque + CTA branco abaixo da IA */

/* INTEGRACOES: fundo escuro tecnologico para diferenciar de branco/cinza */
.partner-integrations{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 15%, rgba(255,90,18,.16), transparent 30%),
    radial-gradient(circle at 8% 90%, rgba(95,105,255,.12), transparent 34%),
    linear-gradient(135deg,#171a20 0%,#20242c 52%,#15181d 100%) !important;
  color:#fff !important;
}

.partner-integrations:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:38px 38px;
}

.partner-integrations > *{
  position:relative;
  z-index:1;
}

.partner-integrations .eyebrow{
  color:#ff6a24 !important;
}

.partner-integrations h2,
.partner-integrations h3,
.partner-integrations strong{
  color:#fff !important;
}

.partner-integrations p,
.partner-integrations .partner-point-text,
.partner-integrations .integration-point-text{
  color:#c8cdd4 !important;
}

.partner-integrations .partner-point,
.partner-integrations .integration-point{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.10) !important;
}

/* CTA agora branco e imediatamente abaixo da area de IA */
.cta{
  background:#ffffff !important;
  color:#171b20 !important;
}

.cta h2{
  color:#171b20 !important;
}

.cta p{
  color:#69727d !important;
}


/* V66 - faixa de beneficios do topo totalmente branca */
.hero-benefits-section,
.hero-benefits-section .hero-benefits,
.hero-benefits-section .benefit-item,
.hero-benefits-section .benefit,
.hero-benefits-section .benefits-inner{
  background:#ffffff !important;
}


/* V68 - ajustes IA e Integracoes */

/* Reduz a altura visual da ilustracao de Inteligencia Artificial no desktop */
@media (min-width:901px){
  .training-scene-ai{
    min-height:0 !important;
    height:390px !important;
    align-self:start !important;
  }
  .training-scene-ai img{
    width:100% !important;
    height:390px !important;
    object-fit:cover !important;
  }
}

/* Integracoes: cinza intermediario, mais claro que antes e sem fundo nos quadros */
.partner-integrations{
  background:#e3e6e9 !important;
  color:#171b20 !important;
}

.partner-integrations:before{
  display:none !important;
}

.partner-integrations .eyebrow{
  color:#e95312 !important;
}

.partner-integrations h2,
.partner-integrations h3,
.partner-integrations strong{
  color:#171b20 !important;
}

.partner-integrations p,
.partner-integrations .partner-point-text,
.partner-integrations .integration-point-text{
  color:#59616b !important;
}

.partner-integrations .partner-point,
.partner-integrations .integration-point{
  background:transparent !important;
  box-shadow:none !important;
  border-color:rgba(23,27,32,.12) !important;
}

/* Remove tambem fundos de wrappers/cartoes internos usados em versoes anteriores */
.partner-integrations [class*="point"],
.partner-integrations [class*="card"],
.partner-integrations [class*="item"]{
  background-color:transparent !important;
  box-shadow:none !important;
}


/* V69 - enquadramento da ilustracao fiscal: mantem o quadro "900 municipios" inteiro */
@media (min-width:901px){
  .fiscal-section img,
  .fiscal-visual img,
  .fiscal-image img{
    object-fit:cover !important;
    object-position:center top !important;
  }
  .fiscal-visual,
  .fiscal-image{
    overflow:hidden !important;
  }
}

/* Em telas menores prioriza mostrar toda a largura da arte */
@media (max-width:900px){
  .fiscal-section img,
  .fiscal-visual img,
  .fiscal-image img{
    object-fit:contain !important;
    object-position:center top !important;
    height:auto !important;
  }
}


/* V70 - CTA com texto branco + divisorias entre secoes claras */

/* Mantem o fundo branco solicitado para a faixa, mas aplica o texto branco
   sobre o painel/area interna escura do CTA */
.cta h2,
.cta p,
.cta .cta-title,
.cta .cta-text{
  color:#ffffff !important;
}

/* Linha sutil no mesmo estilo visual usado na transicao para
   "Uma plataforma, varios resultados". Aplicada nas transicoes
   branco <-> cinza claro. */
.hero-benefits-section,
.digital-contracts,
.partner-integrations,
.fiscal-section,
.faq-section{
  border-top:1px solid rgba(17,24,39,.10) !important;
}

/* Evita que a divisoria altere o dimensionamento das secoes */
.hero-benefits-section,
.digital-contracts,
.partner-integrations,
.fiscal-section,
.faq-section{
  box-sizing:border-box !important;
}


/* V75 - linha de separacao antes do CTA */
.cta{
  border-top:1px solid rgba(17,24,39,.10) !important;
  box-sizing:border-box !important;
}


/* V76 - Notas Fiscais: sem qualquer recorte da ilustracao no computador */
@media (min-width:901px){
  .fiscal-visual{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:visible !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    background:transparent !important;
  }

  .fiscal-visual img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    clip-path:none !important;
    border-radius:0 !important;
    transform:none !important;
  }
}


/* V77 - Notas Fiscais mais compacta e imagem limpa */

/* Retira os quadros NFSe, NFe e NFCe da coluna de texto */
.fiscal-topics,
.fiscal-cards,
.fiscal-items{
  display:none !important;
}

/* Remove o antigo fade/máscara lateral que gerava os borrões à esquerda */
.fiscal-visual,
.fiscal-visual:before,
.fiscal-visual:after{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  filter:none !important;
}

.fiscal-visual:before,
.fiscal-visual:after{
  display:none !important;
  content:none !important;
}

.fiscal-visual{
  overflow:hidden !important;
  background:#ffffff !important;
}

/* Mantém a arte inteira e limpa no desktop, sem faixa desfocada lateral */
@media(min-width:901px){
  .fiscal-visual img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    filter:none !important;
    clip-path:none !important;
  }
}


/* V78 - corrige alinhamento do rodape */
.footer{
  width:100% !important;
  background:#15181c !important;
}

.footer .footer-inner,
.footer .footer-contact-grid{
  width:min(1180px, calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.footer-contact-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(280px,360px)) !important;
  justify-content:center !important;
  align-items:start !important;
  gap:110px !important;
}

.footer-contact-column{
  width:100% !important;
  max-width:360px !important;
  margin:0 auto !important;
}

@media(max-width:700px){
  .footer .footer-inner,
  .footer .footer-contact-grid{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }

  .footer-contact-grid{
    grid-template-columns:1fr !important;
    justify-content:stretch !important;
    gap:34px !important;
  }

  .footer-contact-column{
    max-width:none !important;
    margin:0 !important;
  }
}


/* V79 - remove as faixas brancas laterais da imagem de Assinatura Digital */
.digital-contracts .digital-contract-visual,
.digital-contracts .digital-contract-image,
.digital-contracts [class*="contract"][class*="visual"],
.digital-contracts [class*="contract"][class*="image"]{
  overflow:hidden !important;
  background:transparent !important;
}

.digital-contracts .digital-contract-visual img,
.digital-contracts .digital-contract-image img,
.digital-contracts [class*="contract"][class*="visual"] img,
.digital-contracts [class*="contract"][class*="image"] img{
  width:104% !important;
  max-width:none !important;
  height:100% !important;
  margin-left:-2% !important;
  object-fit:cover !important;
  object-position:center center !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Remove fades/pseudo-elementos que criavam branco nas laterais */
.digital-contracts .digital-contract-visual:before,
.digital-contracts .digital-contract-visual:after,
.digital-contracts .digital-contract-image:before,
.digital-contracts .digital-contract-image:after{
  display:none !important;
  content:none !important;
}

@media(max-width:900px){
  .digital-contracts .digital-contract-visual img,
  .digital-contracts .digital-contract-image img,
  .digital-contracts [class*="contract"][class*="visual"] img,
  .digital-contracts [class*="contract"][class*="image"] img{
    width:100% !important;
    height:auto !important;
    margin-left:0 !important;
    object-fit:cover !important;
  }
}


/* V80 - separacao entre beneficios do topo e Experiencia e confianca */
.hero-benefits-section{
  border-bottom:1px solid rgba(17,24,39,.12) !important;
  box-sizing:border-box !important;
}


/* V82 - preserva layout original da seção e adiciona apenas os 3 destaques textuais */
.platform-mini-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
}
.platform-mini-strip > div{
  padding:0 16px;
  border-left:1px solid rgba(255,255,255,.12);
}
.platform-mini-strip > div:first-child{
  padding-left:0;
  border-left:0;
}
.platform-mini-strip strong{
  display:block;
  color:#fff;
  font-size:14px;
  margin-bottom:5px;
}
.platform-mini-strip span{
  display:block;
  color:#b8cbe1;
  font-size:12px;
  line-height:1.4;
}
@media(max-width:650px){
  .platform-mini-strip{
    grid-template-columns:1fr;
    gap:14px;
  }
  .platform-mini-strip > div,
  .platform-mini-strip > div:first-child{
    padding:0 0 14px;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
}


/* V83 - ajustes de CTA, FAQ e novo menu */

/* CTA: menos espaço vazio antes e depois */
.cta{
  padding:38px 0 !important;
}
.cta-box{
  padding:38px 46px !important;
}
@media(max-width:650px){
  .cta{
    padding:28px 0 !important;
  }
  .cta-box{
    padding:28px 22px !important;
  }
}

/* FAQ: título menor e sempre contido na largura da tela */
.faq-heading{
  max-width:100% !important;
}
.faq-heading h2,
.faq-title-nowrap{
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  font-size:clamp(26px,3.1vw,40px) !important;
  line-height:1.10 !important;
}

/* Menu desktop */
.header{
  overflow:visible !important;
}
.nav{
  position:relative !important;
}
.menu{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  overflow:visible !important;
}
.menu > a,
.menu-dropdown-toggle{
  appearance:none;
  border:0;
  background:transparent;
  padding:22px 0;
  color:#4d4d4d;
  font:inherit;
  font-weight:500;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
.menu > a:hover,
.menu-dropdown-toggle:hover,
.menu-dropdown.open .menu-dropdown-toggle{
  color:#f58220;
}
.menu-dropdown{
  position:relative;
}
.menu-dropdown-toggle span{
  display:inline-block;
  margin-left:3px;
  font-size:13px;
  transition:transform .2s ease;
}
.menu-dropdown.open .menu-dropdown-toggle span{
  transform:rotate(180deg);
}
.menu-dropdown-panel{
  position:absolute;
  top:100%;
  left:-20px;
  z-index:1200;
  width:360px;
  padding:0;
  background:#fff;
  border:1px solid #e7e7e7;
  box-shadow:0 18px 38px rgba(16,24,40,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.menu-dropdown:hover .menu-dropdown-panel,
.menu-dropdown:focus-within .menu-dropdown-panel,
.menu-dropdown.open .menu-dropdown-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.menu-dropdown-panel a{
  display:block;
  padding:13px 20px;
  color:#606060;
  font-size:15px;
  line-height:1.35;
  text-decoration:none;
  border-top:1px solid #f3f3f3;
}
.menu-dropdown-panel a:first-child{
  border-top:0;
}
.menu-dropdown-panel a:hover{
  color:#f58220;
  background:#fafafa;
}

/* Mobile */
@media(max-width:650px){
  .menu{
    display:none !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:8px 16px 16px !important;
    background:#fff !important;
    border-top:1px solid #eee !important;
    box-shadow:0 16px 32px rgba(0,0,0,.10) !important;
  }
  .menu.mobile-open{
    display:flex !important;
  }
  .menu > a,
  .menu-dropdown-toggle{
    width:100% !important;
    padding:14px 2px !important;
    text-align:left !important;
    border-bottom:1px solid #f1f1f1 !important;
  }
  .menu-dropdown-panel{
    position:static !important;
    width:100% !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
    display:none;
    opacity:1 !important;
    visibility:visible !important;
    padding:4px 0 8px 14px !important;
  }
  .menu-dropdown.open .menu-dropdown-panel{
    display:block !important;
  }
  .menu-dropdown-panel a{
    padding:11px 6px !important;
    font-size:14px !important;
  }
}


/* V84 - menu mais moderno, leve e integrado ao visual do site */
.header .container.nav{
  gap:34px !important;
}

.menu{
  gap:8px !important;
  font-size:14px !important;
}

.menu > a,
.menu-dropdown-toggle{
  position:relative !important;
  padding:10px 14px !important;
  border-radius:9px !important;
  color:#4f5660 !important;
  font-weight:650 !important;
  transition:color .18s ease,background .18s ease !important;
}

.menu > a:hover,
.menu-dropdown-toggle:hover,
.menu-dropdown.open .menu-dropdown-toggle{
  color:#171b20 !important;
  background:#f5f6f7 !important;
}

/* pequeno indicador laranja apenas no item ativo/aberto */
.menu-dropdown.open .menu-dropdown-toggle:after{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:3px !important;
  height:2px !important;
  border-radius:2px !important;
  background:#f58220 !important;
}

.menu-dropdown-toggle span{
  margin-left:6px !important;
  color:#f58220 !important;
  font-size:12px !important;
}

/* submenu em formato de painel mais elegante */
.menu-dropdown-panel{
  top:calc(100% + 10px) !important;
  left:0 !important;
  width:370px !important;
  padding:10px !important;
  border:1px solid #e9ebee !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 18px 48px rgba(22,29,37,.14) !important;
}

.menu-dropdown-panel:before{
  content:"" !important;
  position:absolute !important;
  top:-6px !important;
  left:30px !important;
  width:12px !important;
  height:12px !important;
  background:#fff !important;
  border-left:1px solid #e9ebee !important;
  border-top:1px solid #e9ebee !important;
  transform:rotate(45deg) !important;
}

.menu-dropdown-panel a{
  position:relative !important;
  padding:11px 14px 11px 17px !important;
  border:0 !important;
  border-radius:9px !important;
  color:#5c626a !important;
  font-size:14px !important;
  line-height:1.35 !important;
  transition:background .16s ease,color .16s ease,padding-left .16s ease !important;
}

.menu-dropdown-panel a:hover{
  padding-left:21px !important;
  color:#e96d0b !important;
  background:#fff5ec !important;
}

.menu-dropdown-panel a:hover:before{
  content:"" !important;
  position:absolute !important;
  left:9px !important;
  top:50% !important;
  width:4px !important;
  height:4px !important;
  margin-top:-2px !important;
  border-radius:50% !important;
  background:#f58220 !important;
}

/* mobile mantém a mesma linguagem, mas sem painel flutuante */
@media(max-width:650px){
  .menu{
    gap:2px !important;
    padding:10px 14px 16px !important;
  }

  .menu > a,
  .menu-dropdown-toggle{
    padding:13px 12px !important;
    border:0 !important;
    border-radius:9px !important;
  }

  .menu-dropdown-panel{
    width:100% !important;
    margin:4px 0 8px !important;
    padding:6px !important;
    border-radius:10px !important;
    background:#f7f8f9 !important;
  }

  .menu-dropdown-panel:before{
    display:none !important;
  }

  .menu-dropdown-panel a{
    padding:11px 12px !important;
  }
}


/* V85 - menu simplificado e mais rápido */
.menu{
  gap:20px !important;
  font-size:14px !important;
}

.menu > a,
.menu-dropdown-toggle{
  padding:20px 0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#4f5660 !important;
  font-weight:600 !important;
  transition:none !important;
}

.menu > a:hover,
.menu-dropdown-toggle:hover,
.menu-dropdown.open .menu-dropdown-toggle{
  color:#f58220 !important;
  background:transparent !important;
}

/* remove indicadores extras e animações */
.menu-dropdown-toggle:after,
.menu-dropdown-toggle span,
.menu-dropdown.open .menu-dropdown-toggle:after{
  display:none !important;
  content:none !important;
}

.menu-dropdown-panel{
  top:100% !important;
  left:-18px !important;
  width:355px !important;
  padding:6px 0 !important;
  border:1px solid #e7e7e7 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:none !important;
  transition:none !important;
}

.menu-dropdown-panel:before{
  display:none !important;
}

.menu-dropdown:hover .menu-dropdown-panel,
.menu-dropdown:focus-within .menu-dropdown-panel,
.menu-dropdown.open .menu-dropdown-panel{
  opacity:1 !important;
  visibility:visible !important;
}

.menu-dropdown-panel a{
  padding:12px 18px !important;
  border:0 !important;
  border-radius:0 !important;
  color:#5b6168 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  background:#fff !important;
  transition:none !important;
}

.menu-dropdown-panel a:hover{
  padding-left:18px !important;
  color:#f58220 !important;
  background:#f7f7f7 !important;
}

.menu-dropdown-panel a:hover:before{
  display:none !important;
  content:none !important;
}

@media(max-width:650px){
  .menu{
    gap:0 !important;
  }

  .menu > a,
  .menu-dropdown-toggle{
    padding:13px 4px !important;
    border-bottom:1px solid #eeeeee !important;
  }

  .menu-dropdown-panel{
    position:static !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:#f7f7f7 !important;
  }

  .menu-dropdown-panel a{
    padding:11px 14px !important;
    background:#f7f7f7 !important;
  }
}


/* V86 - refinamentos CTA, FAQ e Notas Fiscais */

/* CTA: sombra menor e mais discreta */
.cta-box{
  box-shadow:0 10px 24px rgba(25,35,45,.10) !important;
}

/* FAQ: centraliza perfeitamente o + / - dentro do círculo */
.faq-item summary:after{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  font-family:Arial,sans-serif !important;
  font-size:20px !important;
  font-weight:400 !important;
  text-indent:0 !important;
}

/* Fiscal: compacta a coluna textual para alinhar Emissão Livre
   aproximadamente com o final da ilustração */
.fiscal-copy > p{
  margin-bottom:18px !important;
}

.fiscal-points{
  display:grid !important;
  gap:8px !important;
  margin:16px 0 !important;
}

.fiscal-point{
  padding:10px 12px !important;
  min-height:0 !important;
  gap:11px !important;
}

.fiscal-point > span{
  flex:0 0 auto !important;
}

.fiscal-point strong{
  line-height:1.2 !important;
}

.fiscal-point small{
  margin-top:2px !important;
  line-height:1.25 !important;
  font-size:11px !important;
}

.fiscal-free{
  margin-top:14px !important;
  padding:15px 18px !important;
}


/* V87 - itens fiscais apenas com titulo e subtitulo */
.fiscal-point{
  align-items:center !important;
  text-align:left !important;
}

.fiscal-point > span{
  display:block !important;
  min-width:58px !important;
  text-align:left !important;
  font-size:20px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}

.fiscal-point > div{
  text-align:left !important;
}

.fiscal-point > div strong{
  display:block !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
}

.fiscal-point > div small{
  display:none !important;
}


/* V88 - alinhamento fiscal + rodape mobile */

/* NOTAS FISCAIS: título e subtítulo empilhados e alinhados à esquerda */
.fiscal-point{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:4px !important;
  text-align:left !important;
}

.fiscal-point > span{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:20px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}

.fiscal-point > div{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}

.fiscal-point > div strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  color:#666f78 !important;
}

/* RODAPÉ: no celular, traz os blocos um pouco mais para o centro */
@media(max-width:700px){
  .footer .footer-inner,
  .footer .footer-contact-grid{
    width:calc(100% - 48px) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .footer-contact-column{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* V89 - nova seção Controle de Acesso */
.access-control-section{
  padding:82px 0;
  background:#f3f5f7;
  border-top:1px solid rgba(17,24,39,.10);
  border-bottom:1px solid rgba(17,24,39,.10);
}

.access-control-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:58px;
  align-items:start;
}

.access-control-copy .eyebrow{
  color:#e95c13;
  margin-bottom:15px;
}

.access-control-copy .eyebrow:before{
  background:currentColor !important;
}

.access-control-copy h2{
  margin:0 0 18px;
  max-width:650px;
  font-size:clamp(34px,4vw,54px);
  line-height:1.02;
  letter-spacing:-1.5px;
}

.access-control-copy > p{
  margin:0;
  max-width:690px;
  color:#626b75;
  font-size:16px;
  line-height:1.65;
}

.access-control-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 26px;
  margin-top:34px;
}

.access-control-point{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding-top:18px;
  border-top:1px solid rgba(17,24,39,.11);
}

.access-control-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(233,92,19,.32);
  color:#e95c13;
  font-size:10px;
  font-weight:800;
}

.access-control-point h3{
  margin:0 0 7px;
  color:#181c21;
  font-size:16px;
  line-height:1.25;
}

.access-control-point p{
  margin:0;
  color:#69727b;
  font-size:13px;
  line-height:1.55;
}

.access-control-visual{
  position:relative;
  overflow:hidden;
  min-height:610px;
  border-radius:0;
  background:#e8eaec;
}

.access-control-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:58% center;
}

@media(max-width:900px){
  .access-control-section{padding:62px 0}
  .access-control-grid{grid-template-columns:1fr;gap:38px}
  .access-control-visual{min-height:500px}
}

@media(max-width:650px){
  .access-control-section{padding:48px 0}
  .access-control-copy h2{font-size:34px;letter-spacing:-.8px}
  .access-control-points{grid-template-columns:1fr;gap:16px}
  .access-control-visual{min-height:430px}
}


/* V90 - ajustes solicitados em Controle de Acesso */

/* ícones lineares laranja substituem 01/02/03/04 */
.access-control-icon{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:0 !important;
  color:#f15a24 !important;
  background:transparent !important;
}

.access-control-icon svg{
  width:37px !important;
  height:37px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* imagem limpa, sem textos incorporados na composição */
.access-control-visual{
  min-height:560px !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* lista de funcionalidades passa para HTML, abaixo da cena principal */
.access-features{
  margin-top:42px !important;
  padding-top:28px !important;
  border-top:1px solid rgba(17,24,39,.11) !important;
}

.access-features-title{
  margin-bottom:22px !important;
  color:#e95c13 !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:1.2px !important;
}

.access-features-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
}

.access-feature-item{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:72px !important;
  padding:12px 18px !important;
  border-left:1px solid rgba(17,24,39,.10) !important;
  color:#3f4852 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.access-feature-item:nth-child(3n+1){
  border-left:0 !important;
}

.access-feature-icon{
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center !important;
  color:#f15a24 !important;
  font-size:24px !important;
}

@media(max-width:900px){
  .access-features-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .access-feature-item:nth-child(3n+1){
    border-left:1px solid rgba(17,24,39,.10) !important;
  }
  .access-feature-item:nth-child(2n+1){
    border-left:0 !important;
  }
}

@media(max-width:650px){
  .access-control-visual{
    min-height:420px !important;
  }
  .access-features{
    margin-top:30px !important;
  }
  .access-features-grid{
    grid-template-columns:1fr !important;
  }
  .access-feature-item{
    border-left:0 !important;
    border-top:1px solid rgba(17,24,39,.08) !important;
    padding:13px 0 !important;
  }
}


/* V91 - imagem limpa do Controle de Acesso */
.access-control-visual{
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  filter:none !important;
}

/* Remove pseudo-elementos/fades antigos que poderiam revelar texto residual */
.access-control-visual:before,
.access-control-visual:after{
  display:none !important;
  content:none !important;
}


/* V92 - links reais do menu + Controle de Acesso limpo */

/* Bloco "Principais funcionalidades" removido */
.access-features,
.access-features-title,
.access-features-grid{
  display:none !important;
}

/* Nova imagem limpa da seção Controle de Acesso */
.access-control-visual{
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  filter:none !important;
  transform:none !important;
}

.access-control-visual:before,
.access-control-visual:after{
  display:none !important;
  content:none !important;
}


/* V94 - nova ilustração limpa de Controle de Acesso */
.access-control-visual{
  min-height:560px !important;
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:62% center !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  filter:none !important;
  transform:none !important;
}

.access-control-visual:before,
.access-control-visual:after{
  display:none !important;
  content:none !important;
}

@media(max-width:900px){
  .access-control-visual{
    min-height:500px !important;
  }
  .access-control-visual img{
    object-position:58% center !important;
  }
}

@media(max-width:650px){
  .access-control-visual{
    min-height:420px !important;
  }
  .access-control-visual img{
    object-position:56% center !important;
  }
}


/* V95 - leitor facial com escala visual reduzida */
.access-control-visual img{
  object-position:64% center !important;
}


/* V96 - header sticky, esmaecimento das imagens e ajuste do leitor facial */

/* Cabeçalho sempre visível */
.header{
  position:sticky !important;
  top:0 !important;
  z-index:2000 !important;
  width:100% !important;
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  transition:none !important;
}

.header .container.nav{
  transition:height .15s linear !important;
}

.header .logo img{
  transition:max-height .15s linear,height .15s linear !important;
}

/* Ao rolar, o cabeçalho fica um pouco menor */
.header.header-scrolled .container.nav{
  height:54px !important;
}

.header.header-scrolled .logo img{
  max-height:26px !important;
  height:26px !important;
}

.header.header-scrolled .menu > a,
.header.header-scrolled .menu-dropdown-toggle{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

/* ---------------------------------------------------------
   Esmaecimento lateral nas imagens ilustrativas das seções
   --------------------------------------------------------- */
.training-scene img,
.digital-contracts-visual img,
.fiscal-visual img,
.access-control-visual img{
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.18) 5%,
    rgba(0,0,0,.55) 10%,
    rgba(0,0,0,.86) 16%,
    #000 23%,
    #000 77%,
    rgba(0,0,0,.86) 84%,
    rgba(0,0,0,.55) 90%,
    rgba(0,0,0,.18) 95%,
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.18) 5%,
    rgba(0,0,0,.55) 10%,
    rgba(0,0,0,.86) 16%,
    #000 23%,
    #000 77%,
    rgba(0,0,0,.86) 84%,
    rgba(0,0,0,.55) 90%,
    rgba(0,0,0,.18) 95%,
    transparent 100%
  ) !important;
}

/* Hero: esmaecimento também na parte superior e direita,
   mantendo o efeito já existente na esquerda e inferior. */
.hero-v14-photo img{
  -webkit-mask-image:radial-gradient(
    ellipse at center,
    #000 48%,
    rgba(0,0,0,.96) 60%,
    rgba(0,0,0,.82) 70%,
    rgba(0,0,0,.54) 80%,
    rgba(0,0,0,.20) 90%,
    transparent 100%
  ) !important;
  mask-image:radial-gradient(
    ellipse at center,
    #000 48%,
    rgba(0,0,0,.96) 60%,
    rgba(0,0,0,.82) 70%,
    rgba(0,0,0,.54) 80%,
    rgba(0,0,0,.20) 90%,
    transparent 100%
  ) !important;
}

/* Mantém o enquadramento da seção Controle de Acesso como antes */
.access-control-visual img{
  object-position:62% center !important;
  filter:none !important;
  transform:none !important;
}

/* No celular, preserva a leitura das fotos sem exagerar no fade */
@media(max-width:650px){
  .training-scene img,
  .digital-contracts-visual img,
  .fiscal-visual img,
  .access-control-visual img{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.55) 7%,
      #000 14%,
      #000 86%,
      rgba(0,0,0,.55) 93%,
      transparent 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.55) 7%,
      #000 14%,
      #000 86%,
      rgba(0,0,0,.55) 93%,
      transparent 100%
    ) !important;
  }
}


/* V97 - nova imagem limpa do Controle de Acesso */
.access-control-visual{
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:58% center !important;
  filter:none !important;
  transform:none !important;
}

/* Mantém apenas o fade lateral do próprio layout do site */
.access-control-visual:before,
.access-control-visual:after{
  display:none !important;
  content:none !important;
}


/* V98 - imagem original limpa, sem recortes de mockup */
.access-control-visual{
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;
}

/* Fade aplicado pelo HTML/CSS, não gravado como texto na imagem */
.access-control-visual{
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.45) 7%,
    #000 16%,
    #000 84%,
    rgba(0,0,0,.45) 93%,
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.45) 7%,
    #000 16%,
    #000 84%,
    rgba(0,0,0,.45) 93%,
    transparent 100%
  ) !important;
}

.access-control-visual:before,
.access-control-visual:after{
  display:none !important;
  content:none !important;
}


/* V99 - nova ilustração de Controle de Acesso + ícones maiores */
.access-control-icon{
  flex:0 0 58px !important;
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  color:#f15a24 !important;
  background:transparent !important;
  border:0 !important;
}

.access-control-icon svg{
  width:50px !important;
  height:50px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.access-control-point{
  gap:16px !important;
}

.access-control-visual{
  overflow:hidden !important;
  background:#eef0f2 !important;
}

.access-control-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:60% center !important;
  filter:none !important;
  transform:none !important;
}

@media(max-width:650px){
  .access-control-icon{
    flex-basis:50px !important;
    width:50px !important;
    height:50px !important;
  }
  .access-control-icon svg{
    width:44px !important;
    height:44px !important;
  }
}


/* V100A - correção isolada da ilustração de Inteligência Artificial */
.training-scene-ai{
  min-height:430px !important;
  height:430px !important;
  overflow:hidden !important;
  background:#111318 !important;
}

.training-scene-ai img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.28) 6%,
    #000 14%,
    #000 86%,
    rgba(0,0,0,.28) 94%,
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.28) 6%,
    #000 14%,
    #000 86%,
    rgba(0,0,0,.28) 94%,
    transparent 100%
  ) !important;
}

@media(max-width:650px){
  .training-scene-ai{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }

  .training-scene-ai img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* V100B - enquadramento corrigido da ilustração de IA */
.training-scene-ai{
  min-height:430px !important;
  height:430px !important;
  overflow:hidden !important;
  background:#111318 !important;
}

.training-scene-ai img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;

  /* fade mais curto para não consumir professor nem elementos tecnológicos */
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.60) 3%,
    #000 8%,
    #000 92%,
    rgba(0,0,0,.60) 97%,
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.60) 3%,
    #000 8%,
    #000 92%,
    rgba(0,0,0,.60) 97%,
    transparent 100%
  ) !important;
}

@media(max-width:650px){
  .training-scene-ai{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }

  .training-scene-ai img{
    object-position:center center !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* V100D - imagem IA ajustada sem cortes dos elementos tecnológicos */
.training-scene-ai{
  position:relative !important;
  min-height:430px !important;
  height:430px !important;
  overflow:hidden !important;
  background:#111318 !important;
}

.training-scene-ai img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Esmaecimento lateral contínuo, aplicado pelo HTML, sem degrau */
.training-scene-ai::before,
.training-scene-ai::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:8% !important;
  z-index:2 !important;
  pointer-events:none !important;
}

.training-scene-ai::before{
  left:0 !important;
  background:linear-gradient(
    90deg,
    #111318 0%,
    rgba(17,19,24,.78) 28%,
    rgba(17,19,24,0) 100%
  ) !important;
}

.training-scene-ai::after{
  right:0 !important;
  background:linear-gradient(
    270deg,
    #111318 0%,
    rgba(17,19,24,.78) 28%,
    rgba(17,19,24,0) 100%
  ) !important;
}

@media(max-width:650px){
  .training-scene-ai{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }

  .training-scene-ai::before,
  .training-scene-ai::after{
    display:none !important;
  }

  .training-scene-ai img{
    object-fit:cover !important;
    object-position:center center !important;
  }
}


/* V100E - reforço do esmaecimento direito da imagem de IA */
.training-scene-ai::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  z-index:5 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:15% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(17,19,24,0) 0%,
    rgba(17,19,24,.18) 30%,
    rgba(17,19,24,.55) 65%,
    #111318 100%
  ) !important;
}


/* V100F - fade direito real da imagem de IA */
.training-scene-ai{
  position:relative !important;
  overflow:hidden !important;
}

.training-scene-ai .ai-right-fade{
  display:block !important;
  position:absolute !important;
  z-index:20 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:24% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(17,19,24,0) 0%,
    rgba(17,19,24,.08) 18%,
    rgba(17,19,24,.28) 42%,
    rgba(17,19,24,.62) 70%,
    rgba(17,19,24,.92) 90%,
    #111318 100%
  ) !important;
}

/* evita que regras antigas concorram com o novo overlay */
.training-scene-ai::after{
  display:none !important;
  content:none !important;
}

@media(max-width:650px){
  .training-scene-ai .ai-right-fade{
    display:none !important;
  }
}


/* V100G - ajustes globais solicitados */

/* Cabeçalho realmente fixo e sempre visível */
.header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:9999 !important;
  background:rgba(255,255,255,.98) !important;
}
body{padding-top:78px !important;}
.header.header-scrolled .container.nav{height:54px !important;}
.header.header-scrolled .logo img{height:26px !important;max-height:26px !important;}
.header.header-scrolled .menu > a,
.header.header-scrolled .menu-dropdown-toggle{padding-top:14px !important;padding-bottom:14px !important;}

/* Em desktop/intermediário, aumenta as margens laterais */
@media (min-width:901px) and (max-width:1399px){
  .container{width:min(1180px,calc(100% - 80px)) !important;}
}

/* IA: esmaecimento também em cima e embaixo */
.training-scene-ai{position:relative !important;overflow:hidden !important;}
.training-scene-ai .ai-top-fade,
.training-scene-ai .ai-bottom-fade{
  display:block !important;
  position:absolute !important;
  z-index:21 !important;
  left:0 !important;
  right:0 !important;
  height:14% !important;
  pointer-events:none !important;
}
.training-scene-ai .ai-top-fade{
  top:0 !important;
  background:linear-gradient(180deg,#111318 0%,rgba(17,19,24,.78) 30%,rgba(17,19,24,0) 100%) !important;
}
.training-scene-ai .ai-bottom-fade{
  bottom:0 !important;
  background:linear-gradient(0deg,#111318 0%,rgba(17,19,24,.78) 30%,rgba(17,19,24,0) 100%) !important;
}

/* Assinatura Digital: fades laterais reais, sem depender de mask-image */
.digital-contracts-visual{position:relative !important;overflow:hidden !important;}
.digital-contracts-visual img{-webkit-mask-image:none !important;mask-image:none !important;}
.digital-contracts-visual .contract-fade-left,
.digital-contracts-visual .contract-fade-right{
  display:block !important;
  position:absolute !important;
  z-index:10 !important;
  top:0 !important;
  bottom:0 !important;
  width:18% !important;
  pointer-events:none !important;
}
.digital-contracts-visual .contract-fade-left{
  left:0 !important;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 24%,rgba(255,255,255,.36) 62%,rgba(255,255,255,0) 100%) !important;
}
.digital-contracts-visual .contract-fade-right{
  right:0 !important;
  background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,.82) 24%,rgba(255,255,255,.36) 62%,rgba(255,255,255,0) 100%) !important;
}

/* Controle de acesso: ícones mais fortes, maiores e com massa visual */
.access-control-icon{
  flex:0 0 52px !important;
  width:52px !important;
  height:52px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#f15a24 !important;
  color:#fff !important;
  box-shadow:0 7px 18px rgba(241,90,36,.18) !important;
  display:grid !important;
  place-items:center !important;
}
.access-control-icon svg{
  width:34px !important;
  height:34px !important;
  fill:#fff !important;
  stroke:none !important;
}
.access-control-point{gap:15px !important;}
.access-control-copy > p{max-width:650px !important;}
.access-control-point p{font-size:12.5px !important;line-height:1.48 !important;}

@media(max-width:650px){
  body{padding-top:64px !important;}
  .training-scene-ai .ai-top-fade,
  .training-scene-ai .ai-bottom-fade,
  .digital-contracts-visual .contract-fade-left,
  .digital-contracts-visual .contract-fade-right{display:none !important;}
}

\n/* V100H - hero encosta exatamente na linha da faixa de beneficios */\n@media(min-width:901px){\n  .hero-v14-inner{\n    min-height:590px !important;\n    height:590px !important;\n  }\n\n  .hero-v14-photo{\n    height:590px !important;\n    bottom:0 !important;\n  }\n\n  .hero-v14-photo img{\n    -webkit-mask-image:\n      linear-gradient(90deg,\n        transparent 0%, rgba(0,0,0,.03) 5%, rgba(0,0,0,.10) 10%,\n        rgba(0,0,0,.22) 16%, rgba(0,0,0,.40) 23%, rgba(0,0,0,.62) 31%,\n        rgba(0,0,0,.80) 40%, rgba(0,0,0,.93) 49%, #000 58%, #000 100%),\n      linear-gradient(180deg,\n        #000 0%, #000 72%, rgba(0,0,0,.96) 78%, rgba(0,0,0,.82) 84%,\n        rgba(0,0,0,.58) 90%, rgba(0,0,0,.30) 95%, transparent 100%) !important;\n    -webkit-mask-composite:source-in !important;\n    mask-image:\n      linear-gradient(90deg,\n        transparent 0%, rgba(0,0,0,.03) 5%, rgba(0,0,0,.10) 10%,\n        rgba(0,0,0,.22) 16%, rgba(0,0,0,.40) 23%, rgba(0,0,0,.62) 31%,\n        rgba(0,0,0,.80) 40%, rgba(0,0,0,.93) 49%, #000 58%, #000 100%),\n      linear-gradient(180deg,\n        #000 0%, #000 72%, rgba(0,0,0,.96) 78%, rgba(0,0,0,.82) 84%,\n        rgba(0,0,0,.58) 90%, rgba(0,0,0,.30) 95%, transparent 100%) !important;\n    mask-composite:intersect !important;\n  }\n\n  .hero-benefits-section{\n    margin-top:0 !important;\n  }\n}\n

/* V100I - Assinatura Digital com fundo branco e transição lateral suave */
.digital-contracts,
.digital-contracts-band{
  background:#fff !important;
}

.digital-contracts-visual{
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
}

.digital-contracts-visual img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Faz a transição da imagem para o branco da seção sem criar linhas visíveis */
.digital-contracts-visual::before,
.digital-contracts-visual::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:18% !important;
  z-index:2 !important;
  pointer-events:none !important;
}

.digital-contracts-visual::before{
  left:0 !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.96) 16%,
    rgba(255,255,255,.78) 38%,
    rgba(255,255,255,.42) 68%,
    rgba(255,255,255,0) 100%
  ) !important;
}

.digital-contracts-visual::after{
  right:0 !important;
  background:linear-gradient(
    270deg,
    #fff 0%,
    rgba(255,255,255,.96) 16%,
    rgba(255,255,255,.78) 38%,
    rgba(255,255,255,.42) 68%,
    rgba(255,255,255,0) 100%
  ) !important;
}

@media(max-width:650px){
  .digital-contracts-visual::before,
  .digital-contracts-visual::after{
    display:none !important;
  }
}


/* V100J - Assinatura Digital: preserva os tópicos da própria ilustração */
.digital-contracts-visual::before{
  width:8% !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.86) 22%,
    rgba(255,255,255,.46) 58%,
    rgba(255,255,255,0) 100%
  ) !important;
}

.digital-contracts-visual::after{
  width:15% !important;
  background:linear-gradient(
    270deg,
    #fff 0%,
    rgba(255,255,255,.94) 18%,
    rgba(255,255,255,.68) 42%,
    rgba(255,255,255,.32) 72%,
    rgba(255,255,255,0) 100%
  ) !important;
}


/* V100K - hero: imagem e esmaecimento inferior chegam ate a linha separadora */
@media(min-width:901px){
  .hero-v14{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .hero-v14-inner{
    height:590px !important;
    min-height:590px !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .hero-v14-photo{
    top:0 !important;
    bottom:0 !important;
    height:590px !important;
  }
  .hero-v14-photo img{
    -webkit-mask-image:
      linear-gradient(90deg,
        transparent 0%, rgba(0,0,0,.03) 5%, rgba(0,0,0,.10) 10%,
        rgba(0,0,0,.22) 16%, rgba(0,0,0,.40) 23%, rgba(0,0,0,.62) 31%,
        rgba(0,0,0,.80) 40%, rgba(0,0,0,.93) 49%, #000 58%, #000 100%),
      linear-gradient(180deg,
        #000 0%, #000 84%, rgba(0,0,0,.98) 89%, rgba(0,0,0,.90) 93%,
        rgba(0,0,0,.72) 96%, rgba(0,0,0,.42) 98%, rgba(0,0,0,.12) 99.5%, transparent 100%) !important;
    -webkit-mask-composite:source-in !important;
    mask-image:
      linear-gradient(90deg,
        transparent 0%, rgba(0,0,0,.03) 5%, rgba(0,0,0,.10) 10%,
        rgba(0,0,0,.22) 16%, rgba(0,0,0,.40) 23%, rgba(0,0,0,.62) 31%,
        rgba(0,0,0,.80) 40%, rgba(0,0,0,.93) 49%, #000 58%, #000 100%),
      linear-gradient(180deg,
        #000 0%, #000 84%, rgba(0,0,0,.98) 89%, rgba(0,0,0,.90) 93%,
        rgba(0,0,0,.72) 96%, rgba(0,0,0,.42) 98%, rgba(0,0,0,.12) 99.5%, transparent 100%) !important;
    mask-composite:intersect !important;
  }
  .hero-benefits-section{
    margin-top:0 !important;
    border-top:1px solid rgba(17,24,39,.10) !important;
  }
}


/* V100L - IA com esmaecimento mais amplo em toda a volta */
.training-scene-ai{
  position:relative !important;
  overflow:hidden !important;
  background:#111318 !important;
}

/* Esmaecimento superior e inferior */
.training-scene-ai > img{
  -webkit-mask-image:linear-gradient(
    180deg,
    transparent 0%,
    rgba(0,0,0,.35) 5%,
    rgba(0,0,0,.78) 11%,
    #000 19%,
    #000 81%,
    rgba(0,0,0,.78) 89%,
    rgba(0,0,0,.35) 95%,
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    180deg,
    transparent 0%,
    rgba(0,0,0,.35) 5%,
    rgba(0,0,0,.78) 11%,
    #000 19%,
    #000 81%,
    rgba(0,0,0,.78) 89%,
    rgba(0,0,0,.35) 95%,
    transparent 100%
  ) !important;
}

/* Esmaecimento esquerdo */
.training-scene-ai::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  z-index:20 !important;
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:18% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    #111318 0%,
    rgba(17,19,24,.90) 18%,
    rgba(17,19,24,.58) 48%,
    rgba(17,19,24,.18) 76%,
    rgba(17,19,24,0) 100%
  ) !important;
}

/* Esmaecimento direito */
.training-scene-ai .ai-right-fade{
  display:block !important;
  position:absolute !important;
  z-index:20 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:22% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(17,19,24,0) 0%,
    rgba(17,19,24,.18) 24%,
    rgba(17,19,24,.58) 52%,
    rgba(17,19,24,.90) 82%,
    #111318 100%
  ) !important;
}


/* V100M - Assinatura Digital: preservar completamente os textos da ilustração */
.digital-contracts-visual{
  overflow:hidden !important;
  background:#fff !important;
}

/* O fade esquerdo começa só na borda extrema, sem encobrir os cards/textos */
.digital-contracts-visual::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:4.5% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.72) 34%,
    rgba(255,255,255,.26) 72%,
    rgba(255,255,255,0) 100%
  ) !important;
}

/* Mantém o fade direito suave */
.digital-contracts-visual::after{
  width:14% !important;
  background:linear-gradient(
    270deg,
    #fff 0%,
    rgba(255,255,255,.94) 16%,
    rgba(255,255,255,.66) 42%,
    rgba(255,255,255,.28) 72%,
    rgba(255,255,255,0) 100%
  ) !important;
}

/* Garante que a imagem não seja deslocada nem ampliada */
.digital-contracts-visual img{
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}


/* V100N - Assinatura Digital: zoom out para preservar toda a ilustração */
.digital-contracts-visual{
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* Afasta a "câmera": imagem menor dentro da mesma área */
.digital-contracts-visual img{
  width:92% !important;
  height:92% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  position:absolute !important;
  left:4% !important;
  top:4% !important;
  transform:none !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Fade lateral começa fora do conteúdo importante */
.digital-contracts-visual::before{
  left:0 !important;
  width:7% !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.82) 28%,
    rgba(255,255,255,.34) 68%,
    rgba(255,255,255,0) 100%
  ) !important;
}

.digital-contracts-visual::after{
  right:0 !important;
  width:10% !important;
  background:linear-gradient(
    270deg,
    #fff 0%,
    rgba(255,255,255,.88) 25%,
    rgba(255,255,255,.38) 68%,
    rgba(255,255,255,0) 100%
  ) !important;
}


/* V100O - Assinatura Digital: zoom out mais evidente */
.digital-contracts-visual{
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
}

.digital-contracts-visual img{
  position:absolute !important;
  width:84% !important;
  height:84% !important;
  left:8% !important;
  top:8% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

.digital-contracts-visual::before{
  left:0 !important;
  width:8% !important;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.86) 30%,
    rgba(255,255,255,.34) 70%,
    rgba(255,255,255,0) 100%
  ) !important;
}

.digital-contracts-visual::after{
  right:0 !important;
  width:10% !important;
  background:linear-gradient(
    270deg,
    #fff 0%,
    rgba(255,255,255,.90) 28%,
    rgba(255,255,255,.36) 70%,
    rgba(255,255,255,0) 100%
  ) !important;
}


/* V100P - Controle de Acesso: zoom out SOMENTE via HTML/CSS */
.access-control-visual{
  position:relative !important;
  overflow:hidden !important;
  background:#f3f4f5 !important;
}

/* Afasta a imagem dentro do mesmo quadro, sem gerar ou alterar a ilustração */
.access-control-visual > img{
  position:absolute !important;
  width:86% !important;
  height:86% !important;
  left:7% !important;
  top:7% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}

/* Mantém o esmaecimento nas laterais do quadro */
.access-control-visual::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  z-index:4 !important;
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:10% !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    #f3f4f5 0%,
    rgba(243,244,245,.88) 28%,
    rgba(243,244,245,.38) 68%,
    rgba(243,244,245,0) 100%
  ) !important;
}

.access-control-visual::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  z-index:4 !important;
  top:0 !important;
  bottom:0 !important;
  right:0 !important;
  width:10% !important;
  pointer-events:none !important;
  background:linear-gradient(
    270deg,
    #f3f4f5 0%,
    rgba(243,244,245,.88) 28%,
    rgba(243,244,245,.38) 68%,
    rgba(243,244,245,0) 100%
  ) !important;
}


/* V100Q - Controle de Acesso com imagem em altura padrão e cena completa */
.access-control-visual{
  position:relative !important;
  height:610px !important;
  min-height:610px !important;
  overflow:hidden !important;
  background:#f3f4f5 !important;
}

/* Mostra a cena inteira sem cortar aluna, professor ou catraca */
.access-control-visual > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}

/* Fade lateral suave aplicado no HTML */
.access-control-visual::before,
.access-control-visual::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:10% !important;
  z-index:3 !important;
  pointer-events:none !important;
}

.access-control-visual::before{
  left:0 !important;
  background:linear-gradient(
    90deg,
    #f3f4f5 0%,
    rgba(243,244,245,.72) 28%,
    rgba(243,244,245,.26) 68%,
    rgba(243,244,245,0) 100%
  ) !important;
}

.access-control-visual::after{
  right:0 !important;
  background:linear-gradient(
    270deg,
    #f3f4f5 0%,
    rgba(243,244,245,.72) 28%,
    rgba(243,244,245,.26) 68%,
    rgba(243,244,245,0) 100%
  ) !important;
}

/* Balão em HTML, independente da fotografia */
.access-info-bubble{
  position:absolute !important;
  z-index:5 !important;
  top:52px !important;
  right:32px !important;
  width:205px !important;
  padding:15px 16px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 10px 26px rgba(17,24,39,.16) !important;
}

.access-info-bubble::after{
  content:"" !important;
  position:absolute !important;
  right:34px !important;
  bottom:-18px !important;
  width:0 !important;
  height:0 !important;
  border-left:18px solid transparent !important;
  border-top:20px solid rgba(255,255,255,.96) !important;
}

.access-bubble-top{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin-bottom:10px !important;
}

.access-bubble-avatar{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  background:linear-gradient(145deg,#d8dde2,#f4f6f7) !important;
  position:relative !important;
}
.access-bubble-avatar::before{
  content:"" !important;
  position:absolute !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#7c8791 !important;
  top:6px !important;
  left:12px !important;
}
.access-bubble-avatar::after{
  content:"" !important;
  position:absolute !important;
  width:18px !important;
  height:9px !important;
  border-radius:10px 10px 6px 6px !important;
  background:#7c8791 !important;
  left:8px !important;
  bottom:6px !important;
}

.access-bubble-ok{
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#22ad4b !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.access-bubble-lines{
  flex:1 !important;
  display:grid !important;
  gap:5px !important;
}
.access-bubble-lines i,
.access-bubble-row span{
  display:block !important;
  height:6px !important;
  border-radius:99px !important;
  background:#d8dde2 !important;
}
.access-bubble-lines i:last-child{width:68% !important;}

.access-bubble-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:8px !important;
}
.access-bubble-row b{
  color:#f15a24 !important;
  width:18px !important;
  text-align:center !important;
  font-size:12px !important;
}
.access-bubble-row span{width:72% !important;}

@media(max-width:900px){
  .access-control-visual{
    height:520px !important;
    min-height:520px !important;
  }
  .access-info-bubble{
    top:28px !important;
    right:22px !important;
    width:180px !important;
  }
}

@media(max-width:650px){
  .access-control-visual{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }
  .access-control-visual::before,
  .access-control-visual::after{
    display:none !important;
  }
  .access-info-bubble{
    top:15px !important;
    right:10px !important;
    width:150px !important;
    padding:10px 11px !important;
  }
}


/* V100R - imagem aprovada da seção Controle de Acesso */
.access-control-visual{
  position:relative !important;
  min-height:610px !important;
  height:610px !important;
  overflow:hidden !important;
  background:#f3f4f5 !important;
}

/* Mantém o formato em retrato dentro do quadro padrão da seção */
.access-control-visual > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}

/* O balão já está incorporado na imagem aprovada */
.access-info-bubble{
  display:none !important;
}

/* Esmaecimento lateral suave, sem encobrir os elementos principais */
.access-control-visual::before,
.access-control-visual::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:8% !important;
  z-index:3 !important;
  pointer-events:none !important;
}

.access-control-visual::before{
  left:0 !important;
  background:linear-gradient(
    90deg,
    #f3f4f5 0%,
    rgba(243,244,245,.72) 30%,
    rgba(243,244,245,.22) 72%,
    rgba(243,244,245,0) 100%
  ) !important;
}

.access-control-visual::after{
  right:0 !important;
  background:linear-gradient(
    270deg,
    #f3f4f5 0%,
    rgba(243,244,245,.72) 30%,
    rgba(243,244,245,.22) 72%,
    rgba(243,244,245,0) 100%
  ) !important;
}

@media(max-width:900px){
  .access-control-visual{
    height:520px !important;
    min-height:520px !important;
  }
}

@media(max-width:650px){
  .access-control-visual{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/5 !important;
  }

  .access-control-visual::before,
  .access-control-visual::after{
    display:none !important;
  }
}


/* V100S - Controle de Acesso: reposicionamento SOMENTE no HTML/CSS
   Desloca a foto para a esquerda para aproveitar a sobra ao lado da aluna
   e trazer mais do professor para dentro da área visível. */
.access-control-visual > img{
  object-fit:contain !important;
  object-position:58% center !important;
  transform:translateX(-4%) !important;
  width:100% !important;
  height:100% !important;
}



/* =========================================================
   V101 - ajustes gerais de responsividade e acabamento
   ========================================================= */

/* Hero: aproxima o identificador do topo e cria uma linha de segmentos
   com tipografia mais leve para reforçar que o DataFitness atende
   diferentes tipos de negócios do segmento fitness e esportivo. */
@media(min-width:901px){
  .hero-v14-content{
    padding-top:28px !important;
  }
}

.hero-v14-segments{
  max-width:640px;
  margin:-10px 0 24px;
  color:#7a838e;
  font-size:14px;
  line-height:1.45;
  font-weight:500;
  letter-spacing:.01em;
}

/* Hero: somente o canto superior direito da imagem fica arredondado. */
@media(min-width:901px){
  .hero-v14-photo,
  .hero-v14-photo img{
    border-radius:0 28px 0 0 !important;
  }
}

/* Assinatura Digital: elimina as camadas antigas que formavam uma borda
   perceptível e usa um fade mais comprido e progressivo no lado esquerdo. */
.digital-contracts-visual .contract-fade-left,
.digital-contracts-visual .contract-fade-right{
  display:none !important;
}

@media(min-width:901px){
  .digital-contracts-visual::before{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    z-index:12 !important;
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:30% !important;
    pointer-events:none !important;
    background:linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.995) 4%,
      rgba(255,255,255,.97) 11%,
      rgba(255,255,255,.88) 20%,
      rgba(255,255,255,.70) 31%,
      rgba(255,255,255,.46) 44%,
      rgba(255,255,255,.24) 58%,
      rgba(255,255,255,.10) 72%,
      rgba(255,255,255,.025) 86%,
      rgba(255,255,255,0) 100%
    ) !important;
  }

  .digital-contracts-visual::after{
    display:none !important;
  }
}

/* Mais margem lateral em telas intermediárias, antes do layout de celular. */
@media(min-width:651px) and (max-width:1100px){
  :root{
    --site-gutter:72px !important; /* 36px de cada lado */
  }

  .container,
  .header .container.nav,
  .hero-v14-inner,
  .hero-benefits-section .container,
  .training-band .container,
  .training-section-head,
  .trust .container,
  .section .container,
  .digital-contracts .container,
  .partner-integrations .container,
  .fiscal-section .container,
  .faq-inner,
  .cta .container,
  footer .container,
  .footer-inner{
    width:calc(100% - var(--site-gutter)) !important;
    max-width:var(--site-max-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Quando o layout quebra para uma coluna e a imagem passa para baixo do
   texto, ela fica limpa, proporcional e usa toda a largura disponível. */
@media(min-width:651px) and (max-width:900px){
  .hero-v14-photo,
  .training-scene,
  .training-scene-ai,
  .training-scene-anywhere,
  .digital-contracts-visual,
  .fiscal-visual,
  .access-control-visual{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:transparent !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    border-radius:0 !important;
  }

  .hero-v14-photo img,
  .training-scene img,
  .training-scene-ai img,
  .training-scene-anywhere img,
  .digital-contracts-visual img,
  .fiscal-visual img,
  .access-control-visual img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    filter:none !important;
    opacity:1 !important;
    border-radius:0 !important;
  }

  .training-scene::before,
  .training-scene::after,
  .training-scene-ai::before,
  .training-scene-ai::after,
  .digital-contracts-visual::before,
  .digital-contracts-visual::after,
  .fiscal-visual::before,
  .fiscal-visual::after,
  .access-control-visual::before,
  .access-control-visual::after,
  .hero-v14-photo::before,
  .hero-v14-photo::after,
  .training-scene-ai .ai-top-fade,
  .training-scene-ai .ai-bottom-fade,
  .digital-contracts-visual .contract-fade-left,
  .digital-contracts-visual .contract-fade-right{
    display:none !important;
  }
}

/* No celular vale a mesma regra para as imagens ilustrativas que aparecem
   abaixo do conteúdo: sem fade e sem recorte forçado. */
@media(max-width:650px){
  .training-scene,
  .training-scene-ai,
  .training-scene-anywhere,
  .digital-contracts-visual,
  .fiscal-visual,
  .access-control-visual{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .training-scene img,
  .training-scene-ai img,
  .training-scene-anywhere img,
  .digital-contracts-visual img,
  .fiscal-visual img,
  .access-control-visual img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    transform:none !important;
  }

  .training-scene::before,
  .training-scene::after,
  .training-scene-ai::before,
  .training-scene-ai::after,
  .digital-contracts-visual::before,
  .digital-contracts-visual::after,
  .fiscal-visual::before,
  .fiscal-visual::after,
  .access-control-visual::before,
  .access-control-visual::after,
  .training-scene-ai .ai-top-fade,
  .training-scene-ai .ai-bottom-fade,
  .digital-contracts-visual .contract-fade-left,
  .digital-contracts-visual .contract-fade-right{
    display:none !important;
  }
}



/* =========================================================
   V101 - AGENDAMENTOS E CHECK-IN
   ========================================================= */
.booking-checkin-section{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:88px 0;
  background:
    radial-gradient(circle at 12% 18%,rgba(0,132,190,.18),transparent 26%),
    radial-gradient(circle at 82% 78%,rgba(245,130,32,.09),transparent 24%),
    linear-gradient(135deg,#272b30 0%,#1f2327 52%,#171a1e 100%);
  color:#fff;
}
.booking-checkin-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(90deg,#000,transparent 88%);
}
.booking-checkin-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:68px;
  align-items:center;
}
.booking-checkin-visual{
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.booking-checkin-halo{
  position:absolute;
  width:470px;
  height:470px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,137,195,.21) 0%,rgba(0,137,195,.07) 42%,transparent 72%);
  filter:blur(2px);
}
.booking-checkin-phone{
  position:relative;
  z-index:3;
  width:min(300px,66%);
  padding:10px;
  border-radius:38px;
  background:linear-gradient(145deg,#454b52,#111418 52%,#353a40);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 75px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.06);
  transform:rotate(-4deg);
}
.booking-checkin-phone:before{
  content:"";
  position:absolute;
  top:8px;
  left:50%;
  width:78px;
  height:17px;
  transform:translateX(-50%);
  border-radius:0 0 12px 12px;
  background:#101317;
  z-index:5;
}
.booking-phone-screen{
  overflow:hidden;
  min-height:520px;
  border-radius:30px;
  background:#f7f8fa;
  color:#1f2933;
}
.booking-phone-top{
  padding:35px 20px 17px;
  background:linear-gradient(135deg,#087dab,#006c98);
  color:#fff;
}
.booking-phone-top small{
  display:block;
  margin-bottom:4px;
  opacity:.82;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.2px;
}
.booking-phone-top strong{
  display:block;
  font-size:23px;
  line-height:1.05;
}
.booking-phone-body{
  padding:17px;
}
.booking-date-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:5px;
  margin-bottom:14px;
}
.booking-date{
  padding:7px 2px;
  border-radius:9px;
  text-align:center;
  font-size:10px;
  color:#6d7781;
  background:#fff;
  border:1px solid #e6e9ec;
}
.booking-date.active{
  background:#f58220;
  border-color:#f58220;
  color:#fff;
  font-weight:800;
}
.booking-class-card{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:10px;
  align-items:center;
  margin-top:9px;
  padding:11px;
  background:#fff;
  border:1px solid #e7e9ec;
  border-radius:13px;
  box-shadow:0 7px 18px rgba(25,30,35,.06);
}
.booking-class-time{
  font-size:12px;
  font-weight:900;
  color:#087da9;
}
.booking-class-card strong{
  display:block;
  font-size:12px;
  color:#20262d;
}
.booking-class-card small{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:#80878e;
}
.booking-class-status{
  padding:6px 8px;
  border-radius:999px;
  background:#edf8f2;
  color:#27875b;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.booking-class-status.wait{
  background:#fff3e9;
  color:#e46b1e;
}
.booking-floating-card{
  position:absolute;
  z-index:5;
  width:220px;
  padding:16px 17px;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  color:#1c232a;
  box-shadow:0 24px 55px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
.booking-floating-card strong{
  display:block;
  margin-bottom:4px;
  font-size:14px;
}
.booking-floating-card span{
  display:block;
  color:#69727b;
  font-size:11px;
  line-height:1.45;
}
.booking-floating-card:before{
  content:"✓";
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  margin-bottom:10px;
  border-radius:50%;
  background:#edf8f2;
  color:#268758;
  font-size:17px;
  font-weight:900;
}
.booking-float-a{left:1%;top:15%;transform:rotate(2deg)}
.booking-float-b{right:-1%;bottom:15%;transform:rotate(-2deg)}
.booking-float-b:before{
  content:"3/12";
  width:auto;
  min-width:42px;
  padding:0 7px;
  border-radius:999px;
  background:#eaf6fb;
  color:#087da9;
  font-size:11px;
}
.booking-checkin-copy{
  position:relative;
  z-index:3;
}
.booking-checkin-brand{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:22px;
}
.booking-checkin-brand-icon{
  flex:0 0 90px;
  width:90px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 9px;
  border-radius:13px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.booking-checkin-brand-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.booking-checkin-brand-text{
  color:#9da8b3;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.booking-checkin-copy h2{
  margin:0 0 18px;
  max-width:560px;
  color:#fff;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.5px;
}
.booking-checkin-copy > p{
  margin:0;
  max-width:620px;
  color:#c5cbd1;
  font-size:17px;
  line-height:1.68;
}
.booking-checkin-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:28px;
}
.booking-checkin-point{
  padding:18px 17px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:rgba(255,255,255,.055);
}
.booking-checkin-point strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:14px;
}
.booking-checkin-point span{
  display:block;
  color:#aeb7c0;
  font-size:12px;
  line-height:1.45;
}
.booking-checkin-integration{
  margin-top:20px;
  padding:17px 18px;
  border-left:4px solid #f58220;
  background:rgba(245,130,32,.09);
  color:#dfe4e8;
  font-size:14px;
  line-height:1.55;
}
.booking-checkin-integration strong{color:#fff}

@media(max-width:900px){
  .booking-checkin-section{padding:62px 0}
  .booking-checkin-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .booking-checkin-visual{
    min-height:500px;
    order:1;
  }
  .booking-checkin-copy{order:2}
  .booking-checkin-copy h2{font-size:38px}
}
@media(max-width:650px){
  .booking-checkin-section{padding:48px 0}
  .booking-checkin-visual{min-height:430px}
  .booking-checkin-phone{width:min(250px,72%)}
  .booking-phone-screen{min-height:430px}
  .booking-floating-card{width:175px;padding:13px}
  .booking-float-a{left:-2%;top:11%}
  .booking-float-b{right:-3%;bottom:12%}
  .booking-checkin-brand-icon{width:78px;height:54px;flex-basis:78px}
  .booking-checkin-copy h2{font-size:33px}
  .booking-checkin-copy > p{font-size:16px}
  .booking-checkin-points{grid-template-columns:1fr}
}
@media(max-width:420px){
  .booking-checkin-visual{min-height:405px}
  .booking-checkin-phone{width:235px}
  .booking-floating-card{width:158px}
  .booking-float-a{left:-8px}
  .booking-float-b{right:-8px}
}



/* =========================================================
   V102 - CHECK-IN: FUNDO BRANCO + ACABAMENTO DO CELULAR
   ========================================================= */
.booking-checkin-section{
  background:#fff;
  color:#20262d;
}
.booking-checkin-section:before{
  display:none;
}
.booking-checkin-halo{
  background:radial-gradient(circle,rgba(0,137,195,.11) 0%,rgba(0,137,195,.035) 45%,transparent 72%);
}

/* Moldura contínua, sem diferença de cor entre a tela azul e a borda */
.booking-checkin-phone{
  padding:11px;
  background:#252b31;
  border:1px solid #4a525a;
  box-shadow:
    0 28px 60px rgba(22,31,39,.18),
    inset 0 0 0 1px rgba(255,255,255,.08);
}
.booking-phone-screen{
  position:relative;
  overflow:hidden;
  border-radius:27px;
  border:1px solid #11171c;
  background:#f7f8fa;
  box-shadow:0 0 0 1px rgba(255,255,255,.04);
}
.booking-phone-top{
  margin:-1px -1px 0;
  padding:36px 21px 17px;
  background:linear-gradient(135deg,#087dab 0%,#006c98 100%);
  border-radius:27px 27px 0 0;
}
.booking-checkin-phone:before{
  background:#151a1f;
}

.booking-checkin-brand-icon{
  border:1px solid #e8edf1;
  box-shadow:0 10px 26px rgba(28,42,54,.10);
}
.booking-checkin-brand-text{
  color:#75818c;
}
.booking-checkin-copy h2{
  color:#20262d;
}
.booking-checkin-copy > p{
  color:#5e6872;
}
.booking-checkin-point{
  border:1px solid #e5e9ed;
  background:#f7f9fa;
}
.booking-checkin-point strong{
  color:#20262d;
}
.booking-checkin-point span{
  color:#68737d;
}
.booking-checkin-integration{
  background:#fff6ee;
  color:#59636d;
}
.booking-checkin-integration strong{
  color:#20262d;
}
.booking-floating-card{
  box-shadow:0 18px 42px rgba(26,39,50,.16);
  border:1px solid #edf0f2;
}



/* =========================================================
   V103 - CHECK-IN: TELA RECORTADA + ORDEM RESPONSIVA
   ========================================================= */
/* A moldura funciona como o recorte real do aparelho. A cor azul passa a ser
   o fundo da tela, evitando qualquer filete claro nas curvas superiores. */
.booking-checkin-phone{
  padding:10px !important;
  background:#20262c !important;
  border:1px solid #3d454d !important;
  overflow:hidden !important;
}
.booking-phone-screen{
  position:relative !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:29px !important;
  background:#087dab !important;
  box-shadow:none !important;
  isolation:isolate !important;
}
.booking-phone-top{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  padding:36px 20px 17px !important;
  border-radius:0 !important;
  background:linear-gradient(135deg,#087dab 0%,#006c98 100%) !important;
}
.booking-phone-body{
  position:relative !important;
  z-index:2 !important;
  background:#f7f8fa !important;
  min-height:450px !important;
}
/* Um aro interno contínuo cobre o antialiasing da borda da tela. */
.booking-checkin-phone:after{
  content:"" !important;
  position:absolute !important;
  z-index:4 !important;
  inset:9px !important;
  border-radius:30px !important;
  pointer-events:none !important;
  box-shadow:inset 0 0 0 2px #161b20 !important;
}
.booking-checkin-phone:before{
  z-index:6 !important;
}

/* Quando a seção vira uma coluna, o conteúdo textual vem sempre primeiro
   e a ilustração fica abaixo. */
@media(max-width:900px){
  .booking-checkin-copy{
    order:1 !important;
  }
  .booking-checkin-visual{
    order:2 !important;
    width:100% !important;
  }
}

/* Em telas pequenas mantém a mesma regra e evita qualquer herança anterior. */
@media(max-width:650px){
  .booking-checkin-copy{order:1 !important;}
  .booking-checkin-visual{order:2 !important;}
}



/* =========================================================
   V104 - CHECK-IN: ICONE ACIMA DO TITULO DA SECAO
   ========================================================= */
.booking-checkin-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin-bottom:18px !important;
}

.booking-checkin-brand-icon{
  flex:none !important;
  width:112px !important;
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.booking-checkin-brand-icon img{
  display:block !important;
  width:112px !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.booking-checkin-brand-text{
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}

@media(max-width:650px){
  .booking-checkin-brand-icon,
  .booking-checkin-brand-icon img{
    width:100px !important;
  }
}


/* V100Q - ajustes finais: fade direito da Assinatura Digital + ordem do texto do hero */
@media(min-width:901px){
  .digital-contracts-visual::after{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    z-index:12 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:22% !important;
    pointer-events:none !important;
    background:linear-gradient(
      270deg,
      #fff 0%,
      rgba(255,255,255,.98) 16%,
      rgba(255,255,255,.86) 34%,
      rgba(255,255,255,.58) 56%,
      rgba(255,255,255,.28) 76%,
      rgba(255,255,255,0) 100%
    ) !important;
  }
}


/* =========================================================
   V102 - responsividade final: logo, hero e imagens sem fade
   ========================================================= */

/* Mantém sempre a proporção original do logotipo do cabeçalho. */
.header .logo{
  min-width:0 !important;
  overflow:visible !important;
}
.header .logo img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:34px !important;
  object-fit:contain !important;
  object-position:left center !important;
  aspect-ratio:auto !important;
}
.header.header-scrolled .logo img{
  width:auto !important;
  height:auto !important;
  max-height:26px !important;
}

@media(min-width:651px) and (max-width:1100px){
  .header .logo img{
    width:auto !important;
    height:auto !important;
    max-height:31px !important;
    max-width:min(300px,38vw) !important;
  }
  .header.header-scrolled .logo img{
    width:auto !important;
    height:auto !important;
    max-height:25px !important;
  }
}

/* Estrutura do título do hero: no desktop mantém o desenho original. */
.hero-title-phrase{
  display:block;
}
.hero-title-main{
  color:#102034 !important;
}
.hero-title-highlight{
  color:#f45d0b !important;
}

/* Quando a foto do hero deixaria a coluna lateral e iria para baixo,
   ela desaparece. Como o texto passa a usar toda a largura, as duas
   frases principais e o resumo de recursos permanecem em uma linha. */
@media(max-width:900px){
  .hero-v14-photo{
    display:none !important;
  }

  .hero-v14-inner{
    min-height:auto !important;
    height:auto !important;
  }

  .hero-v14-content{
    width:100% !important;
    max-width:none !important;
    padding:32px 0 38px !important;
  }

  .hero-v14-content h1{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(32px,5.2vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-1.6px !important;
  }

  .hero-title-phrase{
    white-space:nowrap !important;
  }

  .hero-title-break{
    display:none !important;
  }

  .hero-v14-content > p{
    width:100% !important;
    max-width:none !important;
    white-space:nowrap !important;
    font-size:clamp(9px,1.55vw,14px) !important;
    line-height:1.45 !important;
    letter-spacing:-.02em !important;
  }
}

/* Sempre que uma ilustração passa para baixo do texto (layout em uma
   coluna), remove completamente máscaras, fades e véus das bordas. */
@media(max-width:900px){
  .training-scene img,
  .training-scene-ai img,
  .training-scene-anywhere img,
  .digital-contracts-visual img,
  .fiscal-visual img,
  .access-control-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    -webkit-mask-composite:initial !important;
    mask-composite:initial !important;
    opacity:1 !important;
    filter:none !important;
  }

  .training-scene::before,
  .training-scene::after,
  .training-scene-ai::before,
  .training-scene-ai::after,
  .training-scene-anywhere::before,
  .training-scene-anywhere::after,
  .digital-contracts-visual::before,
  .digital-contracts-visual::after,
  .fiscal-visual::before,
  .fiscal-visual::after,
  .access-control-visual::before,
  .access-control-visual::after,
  .training-scene-ai .ai-top-fade,
  .training-scene-ai .ai-bottom-fade,
  .training-scene-ai .ai-right-fade,
  .digital-contracts-visual .contract-fade-left,
  .digital-contracts-visual .contract-fade-right{
    display:none !important;
    content:none !important;
    background:none !important;
  }

  .training-scene,
  .training-scene-ai,
  .training-scene-anywhere,
  .digital-contracts-visual,
  .fiscal-visual,
  .access-control-visual{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* =========================================================
   V106 - hero responsivo: textos usam toda a largura e quebram naturalmente
   ========================================================= */
@media(max-width:900px){
  /* A imagem do hero permanece oculta nessa faixa, liberando toda a largura. */
  .hero-v14-photo{
    display:none !important;
  }

  .hero-v14-content{
    width:100% !important;
    max-width:none !important;
  }

  /* O resumo usa toda a largura disponível, mas quebra normalmente
     caso o texto ultrapasse a largura da tela. */
  .hero-v14-content > p{
    width:100% !important;
    max-width:none !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    font-size:16px !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
  }

  /* Mesma regra para a frase que lista os segmentos atendidos. */
  .hero-v14-segments{
    width:100% !important;
    max-width:none !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }
}


/* VFINAL - correcoes mobile notas fiscais + espaco no hero */
@media(max-width:900px){
  .fiscal-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    opacity:1 !important;
  }
}

/* garante espacamento correto mesmo quando o titulo fica em uma linha */
.hero-v14-content h1 .hero-line-control,
.hero-v14-content h1 .hero-line-time{
  white-space:normal !important;
}


/* =========================================================
   V107 - BODYREPORT
   ========================================================= */
.bodyreport-section{
  width:100%;
  padding:82px 0 88px;
  background:linear-gradient(135deg,#555b60 0%,#484e53 55%,#3f454a 100%);
  color:#fff;
}
.bodyreport-inner{
  width:min(var(--site-max-width),calc(100% - var(--site-gutter)));
  max-width:var(--site-max-width);
  margin:0 auto;
}
.bodyreport-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.bodyreport-brand img{
  width:48px;
  height:48px;
  object-fit:contain;
  flex:0 0 48px;
  image-rendering:auto;
}
.bodyreport-word{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  font-size:29px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1.1px;
}
.bodyreport-word span:nth-child(1){color:#a9d36d}
.bodyreport-word span:nth-child(2){color:#93c95b}
.bodyreport-word span:nth-child(3){color:#7fba4c}
.bodyreport-word span:nth-child(4){color:#ffd21a}
.bodyreport-word span:nth-child(5){color:#ffb31a}
.bodyreport-word span:nth-child(6){color:#f58220}
.bodyreport-word span:nth-child(7){color:#a9d36d}
.bodyreport-word span:nth-child(8){color:#93c95b}
.bodyreport-word span:nth-child(9){color:#ffd21a}
.bodyreport-word span:nth-child(10){color:#f58220}
.bodyreport-section h2{
  margin:0 0 18px;
  max-width:900px;
  color:#fff;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.5px;
}
.bodyreport-lead{
  max-width:950px;
  margin:0;
  color:#e6e9eb;
  font-size:18px;
  line-height:1.65;
}
.bodyreport-points{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:34px;
}
.bodyreport-point{
  min-width:0;
  padding:22px 20px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(255,255,255,.065);
}
.bodyreport-point strong{
  display:block;
  margin-bottom:7px;
  color:#fff;
  font-size:15px;
  line-height:1.3;
}
.bodyreport-point span{
  display:block;
  color:#cfd5d9;
  font-size:13px;
  line-height:1.5;
}
.bodyreport-note{
  margin-top:22px;
  padding:17px 19px;
  border-left:4px solid #f58220;
  background:rgba(0,0,0,.10);
  color:#e7eaec;
  font-size:14px;
  line-height:1.55;
}
.bodyreport-note strong{color:#fff}
@media(max-width:900px){
  .bodyreport-section{padding:62px 0}
  .bodyreport-points{grid-template-columns:1fr 1fr}
  .bodyreport-section h2{font-size:38px}
}
@media(max-width:650px){
  .bodyreport-section{padding:48px 0}
  .bodyreport-brand{margin-bottom:18px}
  .bodyreport-brand img{width:42px;height:42px;flex-basis:42px}
  .bodyreport-word{font-size:25px}
  .bodyreport-section h2{font-size:33px}
  .bodyreport-lead{font-size:16px}
  .bodyreport-points{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .bodyreport-point{padding:18px 17px}
}



/* ===== bodyreport-text-flow-fix ===== */


/* BodyReport - textos ocupam toda a largura disponivel e quebram apenas quando necessario */
.bodyreport-section h2,
.bodyreport-section .bodyreport-copy > p,
.bodyreport-section .bodyreport-intro,
.bodyreport-section .bodyreport-description {
  width:100% !important;
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}


/* BodyReport - ajuste de espacamento do logotipo textual */
.bodyreport-wordmark span{
  display:inline-block;
  margin-right:2px;
}
.bodyreport-wordmark span:last-child{margin-right:0;}


/* ===== bodyreport-letter-spacing-v2 ===== */


/* BodyReport - maior separacao entre as letras coloridas */
.bodyreport-wordmark span{
  margin-right:3px !important;
}
.bodyreport-wordmark span:last-child{
  margin-right:0 !important;
}


/* ===== bodyreport-letter-spacing-v3 ===== */


/* BodyReport - espacamento real entre cada letra */
.bodyreport-word{gap:3px !important;letter-spacing:0 !important;}
.bodyreport-word > span{display:inline-block !important;margin:0 !important;}
@media(max-width:650px){.bodyreport-word{gap:2.5px !important;}}


/* ===== bodyreport-letter-spacing-v4 ===== */


/* Ajuste fino: letras próximas, sem encostar */
.bodyreport-word{gap:1px !important;letter-spacing:0 !important;}
.bodyreport-word > span{display:inline-block !important;margin:0 !important;}
@media(max-width:650px){.bodyreport-word{gap:.75px !important;}}


/* =========================================================
   V108 - CRM / Relacionamento com o cliente
   ========================================================= */
.crm-section{
  width:100%;
  padding:84px 0;
  background:#ffffff;
}
.crm-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:62px;
  align-items:center;
}
.crm-copy{
  min-width:0;
}
.crm-copy .eyebrow{
  position:relative;
  padding-top:18px;
  margin:0 0 12px;
  color:#f36b21;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.crm-copy .eyebrow:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:66px;
  height:4px;
  border-radius:999px;
  background:currentColor;
}
.crm-copy h2{
  margin:0 0 16px;
  color:#171b20;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.4px;
  max-width:none;
}
.crm-lead{
  margin:0;
  color:#626a73;
  font-size:17px;
  line-height:1.68;
  max-width:none;
}
.crm-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 22px;
  margin-top:28px;
}
.crm-point{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:15px 0;
  border-top:1px solid #eceff1;
}
.crm-point-icon{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff3eb;
  color:#f36b21;
  font-size:15px;
  font-weight:900;
}
.crm-point strong{
  display:block;
  margin-bottom:3px;
  color:#20252b;
  font-size:14px;
  line-height:1.3;
}
.crm-point span{
  display:block;
  color:#727a83;
  font-size:13px;
  line-height:1.45;
}
.crm-highlight{
  margin-top:26px;
  padding:18px 20px;
  border-left:4px solid #f36b21;
  background:#fff6f0;
  color:#4c535b;
  font-size:14px;
  line-height:1.55;
}
.crm-highlight strong{color:#f36b21;}
.crm-visual{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-radius:26px;
  background:#f6f7f8;
}
.crm-visual img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  display:block;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .crm-section{padding:60px 0;}
  .crm-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .crm-copy{order:1;}
  .crm-visual{
    order:2;
    min-height:0;
    aspect-ratio:16/10;
    width:100%;
  }
  .crm-visual img{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}
@media(max-width:650px){
  .crm-section{padding:48px 0;}
  .crm-copy h2{font-size:33px;}
  .crm-lead{font-size:16px;}
  .crm-points{grid-template-columns:1fr;}
  .crm-visual{aspect-ratio:4/3;}
}


/* V109 - CRM: imagem integral + esmaecimento lateral apenas no desktop */
@media(min-width:901px){
  .crm-visual{
    min-height:0 !important;
    overflow:visible !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .crm-visual img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%) !important;
    mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%) !important;
  }
}
@media(max-width:900px){
  .crm-visual{
    aspect-ratio:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .crm-visual img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* ===== crm-final-v110 ===== */


/* CRM - topicos apenas com titulo + icone geral */
.crm-point{align-items:center !important;}
.crm-point-icon{
  border-radius:9px !important;
  background:#f36b21 !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1 !important;
  box-shadow:0 5px 14px rgba(243,107,33,.16) !important;
}
.crm-point strong{margin-bottom:0 !important;}
.crm-point span{display:none !important;}
/* Desktop: integra a ilustração ao texto com fade lateral suave. */
@media(min-width:901px){
  .crm-visual img{
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 5%,rgba(0,0,0,.78) 12%,#000 20%,#000 82%,rgba(0,0,0,.82) 90%,rgba(0,0,0,.28) 96%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 5%,rgba(0,0,0,.78) 12%,#000 20%,#000 82%,rgba(0,0,0,.82) 90%,rgba(0,0,0,.28) 96%,transparent 100%) !important;
  }
}
/* Ao descer para baixo do texto, a imagem fica inteira e sem esmaecimento. */
@media(max-width:900px){
  .crm-visual img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
}


/* ===== crm-portrait-v111 ===== */


/* CRM - ilustracao em retrato: sem corte, com fade lateral apenas quando ao lado do texto */
@media(min-width:901px){
  .crm-grid{align-items:start !important;}
  .crm-visual{
    min-height:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
  }
  .crm-visual img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    max-height:680px !important;
    object-fit:contain !important;
    object-position:center top !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 5%,rgba(0,0,0,.82) 12%,#000 20%,#000 80%,rgba(0,0,0,.82) 88%,rgba(0,0,0,.28) 95%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 5%,rgba(0,0,0,.82) 12%,#000 20%,#000 80%,rgba(0,0,0,.82) 88%,rgba(0,0,0,.28) 95%,transparent 100%) !important;
  }
}
@media(max-width:900px){
  .crm-visual img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* ===== other-tools-v112 ===== */


/* V112 - Outras ferramentas disponíveis */
.other-tools{
  width:100%;
  padding:84px 0 90px;
  background:#f3f4f5;
}
.other-tools-head{
  max-width:900px;
  margin:0 0 38px;
}
.other-tools-head .eyebrow{
  position:relative;
  margin:0 0 11px;
  padding-top:18px;
  color:#f36b21;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.other-tools-head .eyebrow:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:66px;
  height:4px;
  border-radius:999px;
  background:currentColor;
}
.other-tools-head h2{
  margin:0 0 14px;
  color:#171b20;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.4px;
}
.other-tools-head p{
  margin:0;
  max-width:840px;
  color:#626a73;
  font-size:17px;
  line-height:1.62;
}
.other-tools-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.other-tool-card{
  min-width:0;
  padding:24px 22px;
  border:1px solid #e2e5e8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,35,45,.045);
}
.other-tool-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:17px;
  border-radius:13px;
  background:#fff3eb;
  color:#f36b21;
}
.other-tool-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.other-tool-card h3{
  margin:0 0 8px;
  color:#1c2126;
  font-size:18px;
  line-height:1.25;
}
.other-tool-card p{
  margin:0;
  color:#6c747d;
  font-size:14px;
  line-height:1.55;
}
.other-tool-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  color:#e85d16;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
}
.other-tool-link:hover{text-decoration:underline;}
.other-tool-link span{font-size:17px;line-height:1;}
@media(max-width:980px){
  .other-tools{padding:62px 0 68px;}
  .other-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  .other-tools{padding:50px 0 54px;}
  .other-tools-head{margin-bottom:28px;}
  .other-tools-head h2{font-size:33px;}
  .other-tools-head p{font-size:16px;}
  .other-tools-grid{grid-template-columns:1fr;}
  .other-tool-card{padding:21px 19px;}
}


/* ===== other-tools-v113-premium ===== */


/* V113 - acabamento visual premium da seção Outras ferramentas */
.other-tools{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(243,107,33,.09), transparent 24%),
    radial-gradient(circle at 92% 82%, rgba(34,116,165,.07), transparent 24%),
    linear-gradient(180deg,#f4f5f6 0%,#eef0f2 100%) !important;
}
.other-tools:before,
.other-tools:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.other-tools:before{
  width:430px;
  height:430px;
  right:-220px;
  top:-180px;
  border:1px solid rgba(243,107,33,.11);
}
.other-tools:after{
  width:280px;
  height:280px;
  left:-150px;
  bottom:-140px;
  border:1px solid rgba(42,83,118,.08);
}
.other-tools > .container{position:relative;z-index:2;}
.other-tools-head{
  width:100% !important;
  max-width:none !important;
  margin-bottom:42px !important;
}
.other-tools-head p{
  width:100% !important;
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.other-tools-grid{
  gap:20px !important;
}
.other-tool-card{
  position:relative;
  overflow:hidden;
  padding:27px 24px 25px !important;
  border:1px solid rgba(210,215,220,.82) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.93) !important;
  box-shadow:0 12px 32px rgba(20,30,40,.065) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.other-tool-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#f36b21,#ff9b45 58%,#ffc27a);
}
.other-tool-card:after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-58px;
  top:-62px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(243,107,33,.10),rgba(243,107,33,0) 68%);
  pointer-events:none;
}
.other-tool-card:hover{
  transform:translateY(-4px);
  border-color:rgba(243,107,33,.24) !important;
  box-shadow:0 20px 42px rgba(20,30,40,.10) !important;
}
.other-tool-icon{
  width:54px !important;
  height:54px !important;
  margin-bottom:15px !important;
  border-radius:16px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#f36b21,#ff8e37) !important;
  box-shadow:0 10px 22px rgba(243,107,33,.20);
}
.other-tool-icon svg{width:29px !important;height:29px !important;}
.other-tool-category{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin:0 0 9px;
  padding:4px 9px;
  border-radius:999px;
  background:#f3f5f7;
  color:#737c85;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.other-tool-card h3{
  margin-bottom:9px !important;
  font-size:19px !important;
  letter-spacing:-.25px;
}
.other-tool-card p{
  color:#626b75 !important;
  line-height:1.58 !important;
}
.other-tool-link{
  margin-top:17px !important;
  padding:9px 12px;
  border-radius:10px;
  background:#fff4ed;
  border:1px solid #ffd9c2;
  text-decoration:none !important;
  transition:background .2s ease,border-color .2s ease;
}
.other-tool-link:hover{
  background:#ffeadc;
  border-color:#ffc49e;
}
/* pequenas variações de tom para dar ritmo visual sem perder a identidade */
.other-tool-card:nth-child(3n+2) .other-tool-icon{
  background:linear-gradient(145deg,#2d668f,#4d8fb9) !important;
  box-shadow:0 10px 22px rgba(45,102,143,.17);
}
.other-tool-card:nth-child(3n+3) .other-tool-icon{
  background:linear-gradient(145deg,#424951,#69727b) !important;
  box-shadow:0 10px 22px rgba(66,73,81,.15);
}
.other-tool-card:nth-child(3n+2):before{background:linear-gradient(90deg,#2d668f,#79afd0);}
.other-tool-card:nth-child(3n+3):before{background:linear-gradient(90deg,#424951,#858e96);}
@media(max-width:980px){
  .other-tools-head{margin-bottom:34px !important;}
}
@media(max-width:650px){
  .other-tools-head{margin-bottom:28px !important;}
  .other-tool-card{padding:23px 20px 22px !important;}
  .other-tool-card:hover{transform:none;}
}


/* ===== other-tools-v114-dark-cards ===== */


/* V114 - cards retangulares escuros com destaque lateral */
.other-tools-grid{gap:16px !important;}
.other-tool-card{
  position:relative;
  overflow:hidden;
  padding:25px 23px 24px 27px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#2d3238 !important;
  box-shadow:0 10px 24px rgba(22,28,34,.10) !important;
  color:#fff !important;
}
.other-tool-card:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:5px !important;
  height:100% !important;
  background:#f36b21 !important;
}
.other-tool-card:after{display:none !important;}
.other-tool-card:hover{
  transform:translateY(-3px);
  border-color:transparent !important;
  background:#343a41 !important;
  box-shadow:0 16px 32px rgba(22,28,34,.16) !important;
}
.other-tool-card:nth-child(3n+2):before{background:#3c82ad !important;}
.other-tool-card:nth-child(3n+3):before{background:#f2a14a !important;}
.other-tool-icon,
.other-tool-card:nth-child(3n+2) .other-tool-icon,
.other-tool-card:nth-child(3n+3) .other-tool-icon{
  width:48px !important;
  height:48px !important;
  margin-bottom:15px !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.other-tool-icon svg{width:27px !important;height:27px !important;}
.other-tool-category{
  margin-bottom:9px !important;
  padding:0 !important;
  min-height:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#aeb7c0 !important;
}
.other-tool-card h3{color:#fff !important;}
.other-tool-card p{color:#d3d8dd !important;}
.other-tool-link{
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:0 !important;
}
.other-tool-link:hover{
  background:rgba(255,255,255,.13) !important;
  border-color:rgba(255,255,255,.24) !important;
}
@media(max-width:650px){
  .other-tool-card{padding:22px 19px 21px 23px !important;}
  .other-tool-card:hover{transform:none;}
}


/* ===== v115-other-tools-no-icons-header-responsive ===== */


/* V115 - Outras ferramentas sem icones + menu seguro em larguras intermediarias */
.other-tools .other-tool-icon{
  display:none !important;
}
.other-tools .other-tool-category{
  margin-top:0 !important;
}

/* O logotipo nunca perde proporcao nem disputa espaco com o menu. */
.header .container.nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-width:0 !important;
}
.header .logo{
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:42% !important;
}
.header .logo img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:34px !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
}
.header .menu{
  margin-left:auto !important;
  flex:0 0 auto !important;
}

/* Antes de o menu encostar no logo, passa para o menu mobile. */
@media(max-width:1050px){
  .header .container.nav{
    position:relative !important;
    gap:16px !important;
  }
  .header .logo{
    max-width:calc(100% - 62px) !important;
  }
  .header .logo img{
    max-height:31px !important;
    width:auto !important;
    height:auto !important;
  }
  .header .mobile-btn{
    display:inline-flex !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }
  .header .menu{
    display:none !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    z-index:1300 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    margin:0 !important;
    padding:10px 14px 16px !important;
    background:#fff !important;
    border-top:1px solid #eee !important;
    box-shadow:0 16px 32px rgba(0,0,0,.10) !important;
  }
  .header .menu.mobile-open{
    display:flex !important;
  }
  .header .menu > a,
  .header .menu-dropdown-toggle{
    width:100% !important;
    padding:13px 4px !important;
    text-align:left !important;
    border-bottom:1px solid #eeeeee !important;
  }
  .header .menu-dropdown{
    width:100% !important;
  }
  .header .menu-dropdown-panel{
    position:static !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:#f7f7f7 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    display:none !important;
  }
  .header .menu-dropdown.open .menu-dropdown-panel{
    display:block !important;
  }
  .header .menu-dropdown-panel a{
    padding:11px 14px !important;
    background:#f7f7f7 !important;
  }
}


/* ===== v116-other-tools-colored-cards ===== */


/* V116 - usa a antiga cor da borda lateral como fundo de cada card */
.other-tools .other-tool-card{
  background:#f36b21 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(22,28,34,.10) !important;
}
.other-tools .other-tool-card:before{display:none !important;}
.other-tools .other-tool-card:nth-child(3n+2){background:#3c82ad !important;}
.other-tools .other-tool-card:nth-child(3n+3){background:#f2a14a !important;color:#17191c !important;}
.other-tools .other-tool-card:hover{filter:brightness(.96);}
.other-tools .other-tool-card h3{color:#fff !important;}
.other-tools .other-tool-card p{color:rgba(255,255,255,.90) !important;}
.other-tools .other-tool-category{color:rgba(255,255,255,.78) !important;}
.other-tools .other-tool-card:nth-child(3n+3) h3{color:#17191c !important;}
.other-tools .other-tool-card:nth-child(3n+3) p{color:rgba(23,25,28,.82) !important;}
.other-tools .other-tool-card:nth-child(3n+3) .other-tool-category{color:rgba(23,25,28,.68) !important;}
.other-tools .other-tool-link{
  color:#fff !important;
  background:rgba(0,0,0,.12) !important;
  border-color:rgba(255,255,255,.30) !important;
}
.other-tools .other-tool-card:nth-child(3n+3) .other-tool-link{
  color:#17191c !important;
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(23,25,28,.20) !important;
}


/* ===== v117-other-tools-platform-inspired ===== */


/* V117 - Mais ferramentas no estilo de painel integrado, com paleta própria */
.other-tools{
  width:100% !important;
  padding:78px 0 84px !important;
  background:#fff !important;
  position:relative !important;
  overflow:visible !important;
}
.other-tools:before,
.other-tools:after{display:none !important;}

.other-tools-panel{
  position:relative !important;
  overflow:hidden !important;
  padding:52px !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,139,74,.18), transparent 25%),
    radial-gradient(circle at 92% 86%, rgba(186,128,92,.16), transparent 27%),
    linear-gradient(135deg,#221f1d 0%,#302823 54%,#3b2e27 100%) !important;
  box-shadow:0 28px 60px rgba(42,31,24,.16) !important;
}
.other-tools-panel:before{
  content:"";
  position:absolute;
  width:390px;
  height:390px;
  right:-150px;
  top:-165px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.075);
  pointer-events:none;
}
.other-tools-panel:after{
  content:"";
  position:absolute;
  left:30%;
  bottom:-140px;
  width:500px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,141,76,.09),rgba(255,141,76,0) 70%);
  pointer-events:none;
}

.other-tools-head,
.other-tools-grid{
  position:relative !important;
  z-index:2 !important;
}
.other-tools-head{
  width:100% !important;
  max-width:none !important;
  margin:0 0 34px !important;
}
.other-tools-head .eyebrow{
  color:#ff9a5a !important;
}
.other-tools-head .eyebrow:before{
  background:currentColor !important;
}
.other-tools-head h2{
  color:#fff !important;
  margin:9px 0 14px !important;
}
.other-tools-head p{
  width:100% !important;
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  color:#ded6d0 !important;
}

.other-tools-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
.other-tools .other-tool-card,
.other-tools .other-tool-card:nth-child(n){
  min-width:0 !important;
  min-height:158px !important;
  padding:22px 20px !important;
  border:1px solid rgba(255,255,255,.105) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  box-shadow:none !important;
  backdrop-filter:blur(4px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease !important;
}
.other-tools .other-tool-card:before,
.other-tools .other-tool-card:after{display:none !important;}
.other-tools .other-tool-card:hover{
  transform:translateY(-2px) !important;
  background:rgba(255,255,255,.105) !important;
  border-color:rgba(255,154,90,.34) !important;
  filter:none !important;
}
.other-tools .other-tool-category{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  min-height:0 !important;
  background:transparent !important;
  color:#f3b58f !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}
.other-tools .other-tool-card h3,
.other-tools .other-tool-card:nth-child(n) h3{
  margin:0 0 7px !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1.25 !important;
}
.other-tools .other-tool-card p,
.other-tools .other-tool-card:nth-child(n) p{
  margin:0 !important;
  color:#d6cec8 !important;
  font-size:13px !important;
  line-height:1.52 !important;
}
.other-tools .other-tool-link,
.other-tools .other-tool-card:nth-child(n) .other-tool-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:13px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#ffb27d !important;
  font-size:12px !important;
  font-weight:850 !important;
  text-decoration:none !important;
}
.other-tools .other-tool-link:hover{color:#ffd0af !important;text-decoration:underline !important;}

@media(max-width:980px){
  .other-tools{padding:60px 0 66px !important;}
  .other-tools-panel{padding:36px !important;border-radius:24px !important;}
  .other-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:650px){
  .other-tools{padding:48px 0 54px !important;}
  .other-tools-panel{padding:28px 20px !important;border-radius:20px !important;}
  .other-tools-head{margin-bottom:26px !important;}
  .other-tools-head h2{font-size:33px !important;}
  .other-tools-head p{font-size:16px !important;}
  .other-tools-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .other-tools .other-tool-card,
  .other-tools .other-tool-card:nth-child(n){min-height:0 !important;padding:20px 18px !important;}
  .other-tools .other-tool-card:hover{transform:none !important;}
}


/* ===== v118-other-tools-contrast-separator ===== */


/* V118 - contraste das categorias + separacao visual entre CRM e Mais Ferramentas */
.other-tools{
  border-top:1px solid #e2e4e7 !important;
}
.other-tools:before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  width:min(1180px,calc(100% - 48px)) !important;
  height:1px !important;
  transform:translateX(-50%) !important;
  background:#d9dde1 !important;
  pointer-events:none !important;
}
.other-tools .other-tool-category,
.other-tools .other-tool-card .other-tool-category,
.other-tools .other-tool-card:nth-child(n) .other-tool-category{
  color:#f3b58f !important;
  -webkit-text-fill-color:#f3b58f !important;
  opacity:1 !important;
}
.other-tools .other-tool-card h3,
.other-tools .other-tool-card p{
  -webkit-text-fill-color:currentColor !important;
}


/* ===== v119-standard-other-tools-separator ===== */


/* V119 - divisoria CRM / Outras ferramentas igual ao padrao das demais secoes */
.other-tools{
  border-top:1px solid rgba(17,24,39,.10) !important;
  box-sizing:border-box !important;
}
.other-tools:before{
  content:none !important;
  display:none !important;
}


/* ===== section-end-datafitness-cta-style ===== */


/* CTAs finais: mesmo visual do botao principal do hero e alinhados ao eixo das secoes */
.section-end-datafitness-cta{
  width:min(var(--site-max-width), calc(100% - var(--site-gutter))) !important;
  max-width:var(--site-max-width) !important;
  margin:38px auto 0 !important;
  padding:0 0 46px !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  background:transparent !important;
}
.section-end-datafitness-cta .btn{
  width:auto !important;
  max-width:100% !important;
  min-height:54px !important;
  border-radius:999px !important;
  padding:0 23px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#ff5c08 !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 30px rgba(255,92,8,.18) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.section-end-datafitness-cta .btn:hover{
  background:#e95007 !important;
  transform:translateY(-1px) !important;
}
.section-end-datafitness-cta .btn strong{
  margin-left:12px !important;
  font-size:22px !important;
  line-height:1 !important;
}
/* Assinatura Digital: CTA permanece em area branca, fora do bloco ilustrado */
.digital-contracts > .section-end-datafitness-cta{
  background:#fff !important;
}
@media(max-width:900px){
  .section-end-datafitness-cta{
    width:calc(100% - var(--site-gutter)) !important;
    max-width:calc(100% - var(--site-gutter)) !important;
    margin-top:32px !important;
    padding-bottom:40px !important;
  }
}
@media(max-width:650px){
  .section-end-datafitness-cta{
    margin-top:28px !important;
    padding-bottom:36px !important;
  }
  .section-end-datafitness-cta .btn{
    width:auto !important;
    min-height:52px !important;
    padding:0 21px !important;
    text-align:left !important;
  }
}


/* ===== v121-cta-final-adjustments ===== */


/* CTA final - fundo correto e menor distancia ate a divisoria */
.digital-contracts{background:#fff !important;}
.section-end-datafitness-cta{
  margin-top:30px !important;
  padding-bottom:18px !important;
  background:transparent !important;
}
.digital-contracts > .section-end-datafitness-cta{background:transparent !important;}
@media(max-width:900px){
  .section-end-datafitness-cta{margin-top:26px !important;padding-bottom:16px !important;}
}
@media(max-width:650px){
  .section-end-datafitness-cta{margin-top:24px !important;padding-bottom:14px !important;}
}


/* VFINAL2 - hero mobile com quebra natural + revelacao antecipada */
@media(max-width:650px){
  .hero-title-phrase{
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero-title-break{
    display:none !important;
  }

  .hero-v14-content h1{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(32px,10vw,42px) !important;
    line-height:1.06 !important;
  }
}
