:root{
  --carbon:#0D0D0D;
  --silver:#C0C0C0;
  --silver-light:#E8E8E8;
  --silver-dark:#8A8A8A;
  --graphite:#333333;
  --mist:#F2F2F2;
  --amber:#F5B301;
  --amber-2:#FFCB3D;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--carbon);color:var(--mist)}
body{
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  max-width:480px;
  margin:0 auto;
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}

h1,h2,h3,.brand-name{
  font-family:'Cinzel',serif;
  letter-spacing:0.06em;
}

/* ── HERO / HEADER ── */
.hero{
  position:relative;
  padding:48px 28px 32px;
  text-align:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 30%;
  opacity:0.28;
  z-index:0;
  animation:kenburns 24s ease-in-out infinite alternate;
}
.hero-grad{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(13,13,13,0.55) 0%,rgba(13,13,13,0.92) 75%,var(--carbon) 100%);
  z-index:1;
}
.hero-content{position:relative;z-index:2}

.monogram{
  width:76px;height:76px;
  margin:0 auto 18px;
}
.monogram img{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}
.brand-name{
  font-size:15px;
  font-weight:600;
  color:var(--mist);
  margin-bottom:6px;
}
.brand-sub{
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  font-weight:400;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--silver-dark);
  margin-bottom:20px;
}
.tagline{
  font-family:'Cinzel',serif;
  font-size:clamp(12px,3.6vw,15px);
  font-weight:400;
  letter-spacing:0.03em;
  color:var(--silver);
  line-height:1.6;
  margin-top:16px;
  white-space:nowrap;
}

/* ── JOURNEY LIST (hub) — opcoes clicaveis, com relevo ── */
.journeys{
  position:relative;
  z-index:2;
  padding:8px 24px 40px;
}
.journeys-prompt{
  font-family:'Cinzel',serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:0.03em;
  color:var(--mist);
  text-align:center;
  margin:0 auto 20px;
  max-width:280px;
  line-height:1.4;
  animation:rise .7s cubic-bezier(.16,1,.3,1) backwards;
  animation-delay:.1s;
}
.journey{
  position:relative;
  display:flex;
  align-items:center;
  gap:15px;
  padding:17px 18px;
  margin-bottom:12px;
  border:1px solid var(--graphite);
  border-radius:14px;
  background:linear-gradient(180deg,#161616 0%,#101010 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 22px rgba(0,0,0,.35);
  text-decoration:none;
  color:var(--mist);
  transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .35s, box-shadow .35s, background .35s;
  animation:rise .7s cubic-bezier(.16,1,.3,1) backwards;
}
.journey:last-child{margin-bottom:0}
.journey:nth-child(2){animation-delay:.20s}
.journey:nth-child(3){animation-delay:.30s}
.journey:nth-child(4){animation-delay:.40s}
.journey:nth-child(5){animation-delay:.50s}
.journey:hover{
  transform:translateY(-3px);
  border-color:var(--silver-dark);
  background:linear-gradient(180deg,#1c1c1c 0%,#131313 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 34px rgba(0,0,0,.55);
}
.journey:active{transform:translateY(-1px) scale(.994)}

/* bolinha de check — a jornada vira "opcao de formulario" */
.journey-check{
  width:24px;height:24px;
  flex-shrink:0;
  border-radius:50%;
  border:1.5px solid var(--silver-dark);
  position:relative;
  transition:border-color .3s, background .3s;
}
.journey-check::after{
  content:"";
  position:absolute;
  left:8px;top:4.5px;
  width:5px;height:10px;
  border:solid var(--carbon);
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.journey:hover .journey-check{background:var(--silver);border-color:var(--silver)}
.journey:hover .journey-check::after{transform:rotate(45deg) scale(1)}

.journey-text{flex:1}
.journey-title{
  font-family:'Cinzel',serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.01em;
  color:var(--mist);
  margin-bottom:4px;
  display:flex;
  align-items:center;
  gap:8px;
}
.journey-desc{
  font-size:11.5px;
  font-weight:300;
  color:var(--silver-dark);
  line-height:1.4;
}
.journey-arrow{
  color:var(--silver-dark);
  font-size:16px;
  transition:transform .35s cubic-bezier(.16,1,.3,1), color .35s;
}
.journey:hover .journey-arrow{transform:translateX(4px);color:var(--silver)}

/* jornada MOTORISTA — acento ambar (o produto novo/inovacao) */
.journey-moto{border-color:rgba(245,179,1,.34)}
.journey-moto .journey-check{border-color:var(--amber);animation:motoPulse 2.6s ease-in-out infinite}
.journey-moto:hover{
  border-color:var(--amber);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 16px 34px rgba(0,0,0,.55), 0 0 0 1px rgba(245,179,1,.28);
}
.journey-moto:hover .journey-check{background:var(--amber);border-color:var(--amber);animation:none}
.journey-tag{
  font-family:'Montserrat',sans-serif;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--carbon);
  background:var(--amber);
  padding:2px 7px;
  border-radius:20px;
}
@keyframes motoPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(245,179,1,0)}
  50%{box-shadow:0 0 0 5px rgba(245,179,1,.13)}
}

/* ── LANDING PAGES (executivo / empresa / sobre) ── */
.landing-body{padding:0 0 100px}
.landing-hero{
  position:relative;
  padding:44px 28px 28px;
}
.landing-hero-bg{
  position:absolute;top:0;left:0;right:0;height:340px;
  background-size:cover;background-position:center 38%;
  opacity:0.35;
}
.landing-hero-grad{
  position:absolute;top:0;left:0;right:0;height:340px;
  background:linear-gradient(180deg,rgba(13,13,13,0.4) 0%,var(--carbon) 95%);
}
.hero-media{display:none}
.eyebrow{
  font-size:9.5px;
  font-weight:500;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--silver-dark);
  margin-bottom:14px;
  position:relative;
  z-index:2;
}
.headline{
  font-family:'Cinzel',serif;
  font-size:27px;
  font-weight:600;
  line-height:1.28;
  color:var(--mist);
  margin-bottom:16px;
  position:relative;
  z-index:2;
}
.headline em{
  font-style:normal;
  color:var(--silver);
}
.sub{
  font-size:13.5px;
  font-weight:300;
  line-height:1.6;
  color:#C7C7C7;
  position:relative;
  z-index:2;
  max-width:340px;
}

.rule{
  width:36px;
  height:1px;
  background:var(--silver-dark);
  margin:26px 28px 22px;
}

.values{
  padding:0 28px;
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:8px;
}
.value-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.value-mark{
  width:5px;height:5px;
  margin-top:7px;
  border-radius:50%;
  background:var(--silver);
  flex-shrink:0;
}
.value-title{
  font-size:13.5px;
  font-weight:600;
  color:var(--mist);
  margin-bottom:3px;
}
.value-desc{
  font-size:12px;
  font-weight:300;
  color:var(--silver-dark);
  line-height:1.5;
}

/* ── CTA ── */
.cta-fixed{
  position:fixed;
  bottom:0;left:0;right:0;
  max-width:480px;
  margin:0 auto;
  padding:14px 20px 20px;
  background:linear-gradient(180deg,rgba(13,13,13,0) 0%,var(--carbon) 30%);
  z-index:10;
}
.cta-btn{
  display:block;
  width:100%;
  text-align:center;
  background:var(--silver);
  color:var(--carbon);
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:14px;
  letter-spacing:0.02em;
  padding:16px;
  border-radius:12px;
  text-decoration:none;
}
.cta-note{
  text-align:center;
  font-size:10px;
  color:var(--silver-dark);
  margin-top:9px;
  letter-spacing:0.05em;
}

.back-link{
  display:inline-block;
  margin:20px 28px 0;
  font-size:11px;
  color:var(--silver-dark);
  text-decoration:none;
  letter-spacing:0.05em;
}

footer.page-footer{
  text-align:center;
  padding:34px 20px 10px;
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--graphite);
}

/* ── WIZARD SDR (Jornada Empresa) ── */
.wizard{
  padding:36px 28px 120px;
}
.wizard-progress{
  display:flex;
  gap:8px;
  justify-content:center;
  margin-bottom:32px;
}
.w-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--graphite);
}
.w-dot.on{background:var(--silver)}
.w-step{max-width:400px;margin:0 auto}
.w-label{
  font-family:'Cinzel',serif;
  font-size:18px;
  font-weight:600;
  color:var(--mist);
  text-align:center;
  margin-bottom:22px;
  line-height:1.4;
}
.w-options{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:20px;
}
.w-options button{
  background:#141414;
  border:1px solid var(--graphite);
  color:var(--mist);
  font-family:'Montserrat',sans-serif;
  font-size:13.5px;
  font-weight:500;
  padding:15px 16px;
  border-radius:10px;
  text-align:left;
  cursor:pointer;
}
.w-options button:active{border-color:var(--silver)}
.w-options button.w-indisponivel{color:var(--silver-dark);font-style:italic}
.w-suggestion{
  font-size:12px;
  color:var(--silver);
  text-align:center;
  margin-bottom:16px;
  line-height:1.5;
}
.w-next, .w-back{
  width:100%;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:14px;
  padding:15px;
  border-radius:12px;
  cursor:pointer;
  margin-top:6px;
}
.w-next{background:var(--silver);color:var(--carbon);border:0}
.w-back{background:transparent;color:var(--silver-dark);border:1px solid var(--graphite)}
.w-resumo{
  background:#141414;
  border:1px solid var(--graphite);
  border-radius:12px;
  padding:16px 18px;
}
.w-resumo-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  font-size:12.5px;
}
.w-resumo-row:last-child{border-bottom:0}
.w-resumo-row span{color:var(--silver-dark)}
.w-resumo-row b{color:var(--mist);font-weight:600;text-align:right}

/* ── entrada coreografada — ritmo lento, cinematografico ── */
.reveal{animation:rise .8s cubic-bezier(.16,1,.3,1) both}
.reveal:nth-child(1){animation-delay:.05s}
.reveal:nth-child(2){animation-delay:.15s}
.reveal:nth-child(3){animation-delay:.25s}
.reveal:nth-child(4){animation-delay:.35s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.14)}}

@media (prefers-reduced-motion: reduce){
  .monogram:before, .reveal, .journey, .journeys-prompt{animation:none}
  .reveal, .journey, .journeys-prompt{opacity:1;transform:none}
  .hero-bg{animation:none}
  .journey-moto .journey-check{animation:none}
}

/* ══════════════════════════════════════════════════════════
   DESKTOP — editorial de 2 colunas, mesma identidade,
   foto grande de um lado, conteudo do outro.
   ══════════════════════════════════════════════════════════ */
@media (min-width: 900px){

  html,body{max-width:none}
  body{
    max-width:1180px;
    margin:0 auto;
    min-height:100vh;
    display:grid;
    grid-template-columns:44% 1fr;
  }

  /* ── HUB (index.html) ── */
  .hero{
    grid-column:1;
    grid-row:1 / span 2;
    min-height:100vh;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .hero-content{padding:0 48px}
  .monogram{width:96px;height:96px;margin-bottom:24px}
  .brand-name{font-size:19px}
  .tagline{font-size:17px}

  .journeys{
    grid-column:2;
    align-self:center;
    padding:40px 72px;
  }
  .journey{padding:20px 22px}
  .journey-title{font-size:16px}
  .journey-desc{font-size:12.5px}

  footer.page-footer{grid-column:2;text-align:left;padding:0 72px 48px}

  /* ── LANDING PAGES (executivo / empresa / sobre) ── */
  .landing-body{
    grid-column:2;
    padding:0 72px 64px;
    align-self:center;
  }
  .landing-hero{padding:0 0 8px}
  .landing-hero-bg,.landing-hero-grad{display:none}

  /* foto ocupa a coluna inteira, fixa, atras de tudo */
  .hero-media{
    display:block;
    grid-column:1;
    grid-row:1 / -1;
    min-height:100vh;
    background-size:cover;
    background-position:center 35%;
    position:relative;
  }
  .hero-media:after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(13,13,13,.15) 0%,rgba(13,13,13,.55) 100%);
  }

  .back-link{margin:40px 0 0 !important;position:relative;z-index:2}
  .headline{font-size:38px;max-width:460px}
  .sub{font-size:15px;max-width:420px}
  .values{padding:0;max-width:440px}
  .rule{margin:34px 0 26px}

  .cta-fixed{
    position:static;
    background:none;
    padding:32px 0 0;
    max-width:440px;
  }
  .cta-btn{display:inline-block;width:auto;padding:16px 40px}

  /* ── WIZARD SDR — mantem centralizado, nao estica ── */
  .wizard{grid-column:2;align-self:center;padding:40px 72px}
}

/* ══════════════════════════════════════════════════════════
   HUB (index) no desktop — coluna central sobre foto full-bleed.
   Escopo body.hub: NAO afeta executivo/empresa/sobre.
   ══════════════════════════════════════════════════════════ */
@media (min-width: 900px){
  body.hub{
    max-width:none;
    display:block;
    min-height:100vh;
    padding:0;
  }
  body.hub::before{
    content:"";
    position:fixed;inset:0;
    background:url('assets/hero-hub.jpg') center/cover no-repeat;
    opacity:.20;
    z-index:0;
  }
  body.hub::after{
    content:"";
    position:fixed;inset:0;
    background:radial-gradient(ellipse at 50% 36%, rgba(13,13,13,.42) 0%, rgba(13,13,13,.93) 78%);
    z-index:0;
  }
  body.hub .hero{
    grid-column:auto;grid-row:auto;
    min-height:0;
    display:block;
    max-width:520px;
    margin:0 auto;
    padding:64px 28px 6px;
    position:relative;z-index:2;
  }
  body.hub .hero-bg, body.hub .hero-grad{display:none}
  body.hub .hero-content{padding:0}
  body.hub .monogram{width:88px;height:88px;margin-bottom:22px}
  body.hub .journeys{
    grid-column:auto;
    align-self:auto;
    max-width:520px;
    margin:0 auto;
    padding:14px 28px 36px;
    position:relative;z-index:2;
  }
  body.hub .journeys-prompt{font-size:17px;margin-bottom:24px}
  body.hub footer.page-footer{
    grid-column:auto;
    text-align:center;
    max-width:520px;
    margin:0 auto;
    padding:12px 28px 48px;
    position:relative;z-index:2;
  }
}

/* ══════════════════════════════════════════════════════════
   WIZARD (empresa) — campos fluidos + transicao entre etapas
   ══════════════════════════════════════════════════════════ */
.w-fields{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:22px;
}
.w-field label{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--silver-dark);
  margin-bottom:8px;
}
.w-field input{
  width:100%;
  background:#141414;
  border:1px solid var(--graphite);
  border-radius:11px;
  color:var(--mist);
  font-family:'Montserrat',sans-serif;
  font-size:15px;
  font-weight:400;
  padding:15px 16px;
  outline:none;
  color-scheme:dark;
  transition:border-color .25s, background .25s, box-shadow .25s;
}
.w-field input::placeholder{color:var(--silver-dark)}
.w-field input:focus{
  border-color:var(--silver);
  background:#181818;
  box-shadow:0 0 0 3px rgba(192,192,192,.08);
}
.w-field input[type=date]::-webkit-calendar-picker-indicator,
.w-field input[type=time]::-webkit-calendar-picker-indicator{
  filter:invert(.65);
  cursor:pointer;
}

/* transicao fluida ao trocar de etapa */
.w-step:not([hidden]){animation:wStepIn .42s cubic-bezier(.16,1,.3,1)}
@keyframes wStepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* progresso — pontos com transicao */
.w-dot{transition:background .3s, transform .3s}
.w-dot.on{transform:scale(1.18)}

/* mensagem de erro */
.wizard .gate-erro{
  color:#E5675E;
  font-size:12.5px;
  text-align:center;
  margin:2px 0 12px;
}

@media (prefers-reduced-motion: reduce){
  .w-step:not([hidden]){animation:none}
}
