/* CSS encapsulado para Elementor: sem regras globais para body/html */
.mochila-pilot{display:block;position:relative;width:100%;font-family:Inter,Arial,Helvetica,sans-serif;color:#0b1822}
.mochila-pilot,.mochila-pilot *{box-sizing:border-box}
.mochila-pilot .mochila-experience,.mochila-pilot .mochila-next{width:100%;max-width:none;margin:0}
.mochila-pilot .mochila-loader small{display:block;font-size:12px;max-width:340px;text-align:center;line-height:1.5;letter-spacing:normal}


.mochila-experience{position:relative;height:640vh;height:640svh;background:#0c2538;isolation:isolate}
.mochila-stage{position:sticky;top:0;width:100%;height:100vh;height:100svh;min-height:480px;overflow:hidden;background:#142a3a;isolation:isolate}
.mochila-canvas{display:block;width:100%;height:100%;background:#132a3b}
.mochila-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,24,36,.64) 0%,rgba(5,24,36,.3) 32%,transparent 62%),linear-gradient(0deg,rgba(6,19,29,.5),transparent 20%);transition:opacity .2s linear}
.mochila-header{position:absolute;z-index:3;top:0;left:0;right:0;padding:clamp(18px,3.3vw,42px) clamp(22px,5vw,78px);display:flex;justify-content:space-between;align-items:center;color:#fff;gap:20px}
.mochila-logo{font-weight:900;font-size:clamp(24px,2.6vw,37px);letter-spacing:-.085em;line-height:1}
.mochila-logo span{color:#ffcb4c}
.mochila-edition{font-size:10px;font-weight:700;letter-spacing:.18em;text-align:right;line-height:1.7}
.mochila-intro{position:absolute;z-index:2;left:clamp(24px,6vw,100px);top:50%;transform:translateY(-38%);color:#fff;max-width:min(35vw,570px);pointer-events:none}
.mochila-kicker{font-weight:800;font-size:clamp(11px,.85vw,14px);letter-spacing:.21em;margin:0 0 20px;color:#ffd872}
.mochila-headline{font-weight:900;font-size:clamp(54px,6.25vw,105px);letter-spacing:-.075em;line-height:.89;margin:0 0 24px;text-wrap:balance}
.mochila-headline em{font-family:Georgia,serif;color:#ffd153;font-weight:700;font-style:italic}
.mochila-desc{font-size:clamp(15px,1.35vw,19px);line-height:1.5;max-width:340px;margin:0;opacity:.95}
.mochila-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:0 clamp(22px,5vw,78px) clamp(22px,3vw,40px);color:#fff;display:flex;gap:clamp(20px,3vw,50px);align-items:flex-end;justify-content:space-between}
.mochila-bottom-left{display:flex;flex-direction:column;gap:10px;min-width:170px}
.mochila-scroll-label{font-weight:700;font-size:11px;letter-spacing:.16em;white-space:nowrap}
.mochila-phase{font-size:clamp(12px,1.18vw,16px);font-weight:750;letter-spacing:.02em}
.mochila-progress-container{width:min(34vw,390px);display:flex;flex-direction:column;gap:10px;align-self:flex-end}
.mochila-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:750;letter-spacing:.11em}
.mochila-progress-track{height:3px;background:rgba(255,255,255,.37);overflow:hidden}
.mochila-progress-fill{height:100%;width:0;background:#ffd253;transform-origin:left center;transform:scaleX(0)}
.mochila-notice{font-size:10px;line-height:1.45;opacity:.78;letter-spacing:.05em;max-width:160px;text-align:right}
.mochila-loader{position:absolute;z-index:4;inset:0;background:#142b3a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#fff;font-size:12px;letter-spacing:.16em;font-weight:700;transition:opacity .45s ease,visibility .45s ease}
.mochila-loader.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.mochila-spinner{width:34px;height:34px;border:2px solid #ffffff50;border-top-color:#ffce51;border-radius:50%;animation:mspin .9s linear infinite}
@keyframes mspin{to{transform:rotate(360deg)}}
.mochila-next{min-height:85vh;background:#faf8f3;padding:clamp(70px,9vw,140px) clamp(24px,8vw,130px);display:grid;grid-template-columns:minmax(200px,.9fr) minmax(200px,1.1fr);align-items:center;gap:7vw}
.mochila-next-number{font-size:12px;font-weight:800;color:#357081;letter-spacing:.23em;margin-bottom:24px}
.mochila-next h2{font-size:clamp(54px,8vw,130px);line-height:.92;letter-spacing:-.077em;margin:0;max-width:730px}
.mochila-next h2 em{color:#ea6381;font-family:Georgia,serif;font-weight:600}
.mochila-next-copy{font-size:clamp(18px,1.6vw,23px);line-height:1.6;color:#546772;max-width:520px}
.mochila-next-note{font-size:13px;line-height:1.65;color:#61747c;max-width:500px;margin-top:30px}
.mochila-next-chip{display:inline-flex;border:1px solid #d5e3e5;border-radius:50px;padding:12px 17px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#2e6e78;background:#edf7f7;margin-top:18px}
@media(max-width:800px){
 .mochila-experience{height:535vh;height:535svh}
 .mochila-shade{background:linear-gradient(0deg,rgba(5,24,36,.62),transparent 23%),linear-gradient(180deg,rgba(5,24,36,.36),transparent 25%)}
 .mochila-header{padding:22px 24px}
 .mochila-intro{left:24px;right:24px;top:17%;transform:none;max-width:460px}
 .mochila-headline{font-size:clamp(42px,9vw,75px);margin-bottom:18px}
 .mochila-desc{font-size:14px;max-width:250px}
 .mochila-kicker{margin-bottom:12px;font-size:10px}
 .mochila-bottom{padding:0 24px 25px;gap:13px}
 .mochila-progress-container{width:34vw}
 .mochila-bottom-left{min-width:130px}
 .mochila-scroll-label{font-size:9px}
 .mochila-phase{font-size:12px}
 .mochila-notice{display:none}
 .mochila-next{min-height:75vh;grid-template-columns:1fr;gap:10px;padding:72px 26px}
}
@media(max-width:440px){.mochila-edition{font-size:8px}.mochila-logo{font-size:27px}.mochila-intro{top:19%}.mochila-headline{font-size:49px}.mochila-progress-container{width:36vw}.mochila-progress-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){.mochila-experience{height:100svh;min-height:520px}.mochila-spinner{animation:none}.mochila-loader{transition:none}}


/* === v1.1.0: TIPOGRAFIA ISOLADA DO ELEMENTOR ===
   Elementor pode impor font-size para h1/h2 com seletor mais específico.
   Estas regras sobrescrevem apenas o shortcode Mochila Scroll. */
.mochila-pilot .mochila-stage .mochila-intro .mochila-headline {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  font-size: clamp(65px, 6.1vw, 100px) !important;
  font-weight: 900 !important;
  line-height: .91 !important;
  letter-spacing: -.067em !important;
  text-transform: none !important;
  color: #fff !important;
  margin: 0 0 25px !important;
  max-width: 100%;
  overflow-wrap: normal;
}
.mochila-pilot .mochila-intro .mochila-headline em {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  font-style: italic !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: #ffd153 !important;
}
.mochila-pilot .mochila-intro .mochila-kicker {
  font-size: clamp(13px, 1.05vw, 16px) !important;
  line-height: 1.35 !important;
  margin: 0 0 20px !important;
  letter-spacing: .16em !important;
  color: #ffd872 !important;
}
.mochila-pilot .mochila-intro .mochila-desc {
  font-size: clamp(17px, 1.4vw, 21px) !important;
  line-height: 1.47 !important;
  color: #fff !important;
  max-width: 370px;
  margin: 0 !important;
}
.mochila-pilot .mochila-next {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  column-gap: clamp(36px, 5vw, 84px);
}
.mochila-pilot .mochila-next h2 {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  font-size: clamp(64px, 5.25vw, 88px) !important;
  line-height: .99 !important;
  font-weight: 900 !important;
  letter-spacing: -.067em !important;
  text-transform: none !important;
  color: #0b1822 !important;
  margin: 0 !important;
  max-width: 750px;
}
.mochila-pilot .mochila-next h2 em {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-style: italic !important;
  color: #ea6381 !important;
}
.mochila-pilot .mochila-next-number {
  font-size: clamp(13px, 1vw, 16px) !important;
  line-height: 1.4 !important;
  margin-bottom: 26px !important;
}
.mochila-pilot .mochila-next-copy {
  font-size: clamp(21px, 1.7vw, 26px) !important;
  line-height: 1.48 !important;
  color: #445d6d !important;
  margin: 0 0 24px !important;
}
.mochila-pilot .mochila-next-chip {
  font-size: clamp(13px, .93vw, 15px) !important;
  line-height: 1.35 !important;
}
.mochila-pilot .mochila-next-note {
  font-size: clamp(15px, 1.03vw, 17px) !important;
  line-height: 1.65 !important;
  margin-top: 32px !important;
}
@media (max-width: 1100px) and (min-width: 801px) {
  .mochila-pilot .mochila-intro {max-width: 43vw;}
  .mochila-pilot .mochila-stage .mochila-intro .mochila-headline {font-size: clamp(61px, 6.2vw, 75px) !important;}
  .mochila-pilot .mochila-next h2 {font-size: clamp(52px, 5.2vw, 70px) !important;}
  .mochila-pilot .mochila-next {column-gap: 34px;}
}
@media (max-width: 800px) {
  .mochila-pilot .mochila-intro {max-width: min(500px, 80%);top: 17%;}
  .mochila-pilot .mochila-stage .mochila-intro .mochila-headline {
    font-size: clamp(46px, 9.2vw, 72px) !important;
    line-height: .94 !important;
    margin-bottom: 17px !important;
  }
  .mochila-pilot .mochila-intro .mochila-kicker {
    font-size: 11px !important;line-height: 1.4 !important;margin-bottom: 13px !important;
  }
  .mochila-pilot .mochila-intro .mochila-desc {font-size: 15px !important;line-height: 1.5 !important;max-width: 300px;}
  .mochila-pilot .mochila-next {
    grid-template-columns: minmax(0,1fr);
    gap: 35px;
    padding: clamp(70px, 12vw, 100px) 26px;
  }
  .mochila-pilot .mochila-next h2 {font-size: clamp(52px, 8.5vw, 75px) !important;}
  .mochila-pilot .mochila-next-copy {font-size: clamp(19px, 3.1vw, 23px) !important;}
}
@media (max-width: 480px) {
  .mochila-pilot .mochila-intro {top: 16%;left: 22px;right: 22px;max-width: calc(100% - 44px);}
  .mochila-pilot .mochila-stage .mochila-intro .mochila-headline {
    font-size: clamp(40px, 10.8vw, 53px) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }
  .mochila-pilot .mochila-intro .mochila-desc {font-size: 15px !important;max-width: 275px;}
  .mochila-pilot .mochila-next {padding: 76px 23px;gap: 28px;}
  .mochila-pilot .mochila-next h2 {
    font-size: clamp(43px, 11.3vw, 58px) !important;
    line-height: 1.03 !important;
    overflow-wrap: anywhere;
  }
  .mochila-pilot .mochila-next-copy {font-size: 19px !important;line-height: 1.5 !important;}
  .mochila-pilot .mochila-next-note {font-size: 15px !important;}
  .mochila-pilot .mochila-next-number {font-size: 12px !important;margin-bottom: 18px !important;}
}


/* V2.0 · Estilos apenas para o novo widget (não alteram shortcode V1.1) */
.mochila-pilot--editable .mochila-intro {
  left: var(--lume-hero-left, clamp(24px,6vw,100px));
}
.mochila-pilot--editable .mochila-stage .mochila-intro .mochila-headline {
  font-family: var(--lume-title-font, Inter, Arial, Helvetica, sans-serif) !important;
  font-size: var(--lume-title-size, clamp(65px,6.1vw,100px)) !important;
  color: var(--lume-title-color,#fff) !important;
  margin-bottom: var(--lume-title-gap,25px) !important;
}
.mochila-pilot--editable .mochila-stage .mochila-intro .mochila-headline em {
  font-family: var(--lume-accent-font, Georgia, serif) !important;
  color: var(--lume-accent,#ffd153) !important;
}
.mochila-pilot--editable .mochila-intro .mochila-desc {
  font-size: var(--lume-desc-size,20px) !important;
}
.mochila-pilot--editable .mochila-next {
  background: var(--lume-next-bg,#faf8f3);
  padding-left: var(--lume-next-padding,clamp(24px,8vw,130px));
  padding-right: var(--lume-next-padding,clamp(24px,8vw,130px));
}
.mochila-pilot--editable .mochila-next h2 {
  font-family: var(--lume-next-font, Inter, Arial, Helvetica, sans-serif) !important;
  font-size: var(--lume-next-size,clamp(64px,5.25vw,88px)) !important;
  color: var(--lume-next-title-color,#0b1822) !important;
}
.mochila-pilot--editable .mochila-next h2 em {
  color: var(--lume-next-accent,#ea6381) !important;
}
.mochila-pilot--editable .mochila-next .mochila-next-copy {
  font-size: var(--lume-next-desc-size,clamp(21px,1.7vw,26px)) !important;
}
@media (max-width: 800px) {
 .mochila-pilot--editable .mochila-intro {left: var(--lume-hero-left,24px);}
 .mochila-pilot--editable .mochila-stage .mochila-intro .mochila-headline {
  font-size: var(--lume-title-size,clamp(46px,9.2vw,72px)) !important;
 }
 .mochila-pilot--editable .mochila-next h2 {
  font-size: var(--lume-next-size,clamp(52px,8.5vw,75px)) !important;
 }
 .mochila-pilot--editable .mochila-next {padding-left:var(--lume-next-padding,26px);padding-right:var(--lume-next-padding,26px);}
}
@media (max-width: 480px) {
 .mochila-pilot--editable .mochila-intro {left:var(--lume-hero-left,22px);}
 .mochila-pilot--editable .mochila-stage .mochila-intro .mochila-headline {
  font-size:var(--lume-title-size,clamp(40px,10.8vw,53px)) !important;
 }
 .mochila-pilot--editable .mochila-next h2 {
  font-size: var(--lume-next-size,clamp(43px,11.3vw,58px)) !important;
 }
 .mochila-pilot--editable .mochila-next {padding-left:var(--lume-next-padding,23px);padding-right:var(--lume-next-padding,23px);}
}

/* Motion Engine V3: rolagem responsiva por instância, controlada no painel Elementor */
.mochila-pilot--editable .mochila-experience { height: var(--lume-scroll-height,640vh); }
