/* NARUA  (ajustes conforme o mockup do Lauro) */
:root{
  --yellow:#ffd600;
  --dark:#3b3b3b;
  --dark2:#2f2f2f;
  --black:#1a1a1a;
  --gray:#8b8b8b;
  --soft:#f3f3f3;
  --shadow: 0 18px 40px rgba(0,0,0,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#111;
  background:#fff;
}


.container{width:min(1240px, 92%);margin-inline:auto}
.section{padding:110px 0}
.two-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:84px;align-items:start}


.header{
  position:sticky;top:0;z-index:50;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{
display:flex;
align-items:center;
}

.logo img{
height:92px;
width:auto;
display:block;
}

.header--light .logo img{
filter:none;
}

.header--dark .logo img{
filter:brightness(0) invert(1);
}


.logo span{color:var(--yellow)}
.nav{display:flex;gap:18px;align-items:center}
.nav a{
  text-decoration:none;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  opacity:.9;
  position:relative;
}
.nav a:hover{opacity:1}
.nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:2px;
  bottom:-10px;
  background:transparent;
}
.nav a.active::after{background:var(--yellow)}

.cta{
  text-decoration:none;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11px;
  padding:12px 18px;
  border-radius:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
}


.header--light{background:#fff;color:#111;box-shadow:none}
.header--light .nav a{color:#111}
.header--light .cta{background:#2f2f2f;color:#fff}


.header--dark{background:var(--dark2);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.header--dark .nav a{color:#d9d9d9}
.header--dark .cta{background:var(--yellow);color:#111}


.hero{padding:150px 0 90px}
.hero-grid{max-width:980px}
.eyebrow{
  text-transform:uppercase;
  font-weight:800;
  font-size:11px;
  color:#9a9a9a;
}
.eyebrow--spaced{letter-spacing:.55em}
.eyebrow--yellow{color:var(--yellow)}
.display{
  margin:26px 0 0;
  font-weight:900;
  text-transform:uppercase;
  font-style:italic;
  letter-spacing:-.04em;
  line-height:.95;
  font-size:92px;
}
.display--sm{font-size:82px}
.display--xs{font-size:64px}
.display--white{color:#fff}
.display__line{display:block}
.highlight-block{
  display:inline-block;
  background:var(--dark2);
  color:var(--yellow);
  padding:10px 22px 14px;
}
.lead{
  margin:38px 0 0;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.02em;
  font-size:22px;
  line-height:1.25;
}
.lead--muted{color:#bdbdbd}
.strong{color:#2b2b2b}
.hero-actions{margin-top:46px;display:flex;gap:18px;flex-wrap:wrap}
.btn{
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  padding:16px 26px;
  border-radius:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
}
.btn--dark{background:var(--dark2);color:#fff}
.btn--outline{border:3px solid var(--dark2);color:var(--dark2);background:transparent}


.shadow-rgb{
  text-shadow: 1px 0 rgba(0,255,255,.25), -1px 0 rgba(255,0,0,.18);
}


.section--dark{background:var(--dark);color:#fff}
.section--light{background:#fff;color:#111}


.grid-2{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feature{
  border:1px solid rgba(255,255,255,.10);
  padding:26px 24px;
  display:flex;gap:16px;align-items:flex-start;
  background:rgba(0,0,0,.08);
  min-height:110px;
}
.feature .dot{
  width:22px;height:22px;border-radius:999px;
  display:grid;place-items:center;
  color:var(--yellow);
  border:1px solid rgba(255,214,0,.55);
  font-weight:900;
  margin-top:3px;
  flex:0 0 auto;
}
.feature h3{
  margin:0;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.02em;
  font-size:14px;
}
.feature p{
  margin:6px 0 0;
  color:#bfbfbf;
  font-weight:700;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}


.tool{
  position:relative;
  background:rgba(0,0,0,.16);
  padding:34px 32px;
  box-shadow: var(--shadow);
}
.tool__bar{
  position:absolute;
  left:0;top:0;bottom:0;
  width:8px;
  background:var(--yellow);
}
.tool__head{
  display:flex;gap:14px;align-items:center;
  margin-bottom:18px;
}
.tool__icon{color:var(--yellow);font-weight:900}
.tool__title{
  font-weight:900;
  text-transform:uppercase;
  font-style:italic;
  letter-spacing:-.02em;
}
.spark{opacity:.9}
.tool textarea, .tool input{
  width:100%;
  padding:16px 16px;
  border:none;
  outline:none;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11px;
}
.tool textarea::placeholder, .tool input::placeholder{color:rgba(255,255,255,.55)}
.btn--yellow{background:var(--yellow);color:#111}
.btn--full{width:100%}
.tool--light{
  background:#fff;
  padding:28px 28px;
}
.tool--light .tool__head{margin:0 0 16px}
.tool__head--light .tool__title{color:#111}
.tool--light input{
  background:#f3f3f3;color:#111;
}
.tool--light input::placeholder{color:#9b9b9b}


/* =====================
   SECTION: PLANEJAMENTO ESTRATÉGICO
   ===================== */

.manifesto{
  background: var(--yellow);
  padding: 120px 0;
}
.manifesto__wrap{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 54px;
  align-items:start;
}
.manifesto__eyebrow{
  margin:0 0 12px;
  font-weight:900;
  letter-spacing:.35em;
  text-transform:uppercase;
  font-size:10px;
  color: rgba(0,0,0,.55);
}
.manifesto__title{
  margin:0;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.04em;
  line-height:.95;
  font-size: clamp(52px, 6vw, 92px);
  color:#2b2b2b;
}
.manifesto__title span{color:#2b2b2b}
.manifesto__desc{
  margin:34px 0 0;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  line-height:1.5;
  color:#2b2b2b;
  max-width: 560px;
}
.manifesto__cards{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.m-card{
  background:#fffdf2;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  padding: 22px 22px;
  display:grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items:start;
  border: 1px solid rgba(0,0,0,.08);
}
.m-card__icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  font-size:22px;
  color:#2b2b2b;
}
.m-card h3{
  margin:0;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  color:#2b2b2b;
  letter-spacing:-.02em;
  font-size:18px;
}
.m-card p{
  margin:8px 0 0;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  line-height:1.55;
  color: rgba(0,0,0,.60);
}

/* Cards */
.planning__right {
  display: grid;
  gap: 22px;
}

.p-card {
  position: relative;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 14px;
  align-items: start;

  background: #fffdf2;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 14px 30px rgba(0,0,0,0.12);
  padding: 18px 20px;
  overflow: hidden;

  transform: translateX(0);
}

.p-card__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  font-size: 18px;
  color: #2a2a2a;
}

.p-card__body h3 {
  margin: 0 0 6px;
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  color: #2a2a2a;
  letter-spacing: 0.02em;
  font-size: 14px;
}

.p-card__body p {
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(0,0,0,0.55);
  line-height: 1.45;
}

.p-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-left: 0px solid #2a2a2a;
  opacity: 0;
  transform: translateX(0);
  transition: transform .25s ease, opacity .25s ease;
}

.p-card:hover::after {
  opacity: 1;
  transform: translateX(10px);
}

/* animação de entrada (scroll) */
.reveal-x {
  opacity: 0;
  transform: translateX(14px); /* todos iguais => alinhamento visual consistente */
  transition: opacity .5s ease, transform .5s ease;
  transition-delay: var(--d, 0ms);
}

.reveal-x.is-in {
  opacity: 1;
  transform: translateX(0);
}

/* Responsivo */
@media (max-width: 980px) {
  .planning__wrap {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* =====================
   CONSULTORIA ELITE (layout novo)
   ===================== */
.elite{padding-top:100px}
.elite__main{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items:start;
}
.elite__left{min-width:0}
.elite__head{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 42px;
  align-items:end;
}
.elite__subtitle{
  margin: 0 0 10px;
  color:#bdbdbd;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.6;
  font-size:12px;
}
.elite__cards{
  margin-top:46px;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border: 1px solid rgba(255,255,255,.12);
}
.elite-card{
  padding: 28px 26px 24px;
  background: rgba(0,0,0,.10);
  border-right: 1px solid rgba(255,255,255,.10);
  border-bottom: 1px solid rgba(255,255,255,.10);
  display:flex;
  gap: 14px;
  align-items:flex-start;
  min-height: 124px;
}
.elite-card:nth-child(2n){border-right:none}
.elite-card:nth-last-child(-n+2){border-bottom:none}
.elite-card__icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  color: var(--yellow);
  font-size:20px;
  margin-top:2px;
}
.elite-card p{
  margin:10px 0 0;
  color:#bdbdbd;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  line-height:1.55;
}
.elite__bottom{
  margin-top:46px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items:start;
}

.elite__cta{margin-top:46px;max-width:560px}
.elite__ctaTitle{margin:0;font-size:18px}
.elite__ctaText{
  margin:14px 0 22px;
  color:#bdbdbd;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  line-height:1.7;
  max-width: 520px;
}


/* =====================
   CHAT LIGHT (para eventos)
   ===================== */
.chat--light{
  border: 1px solid rgba(0,0,0,.10);
  background:#fff;
}
.chat--light .chat__log{background:#fff}
.chat--light .msg--bot{background:#f3f3f3;color:#111;border-color:rgba(0,0,0,.10)}
.chat--light .msg--user{background:#111;color:#fff;border-color:#111}
.chat__composer--light input{background:#f3f3f3;color:#111}
.chat__composer--light input::placeholder{color:#8b8b8b}
.typing--light{color:#6e6e6e}
.tool__pre--light{background:#f3f3f3;color:#111}


/* =====================
   MODAL (Elite diagnóstico)
   ===================== */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
/* Faz o atributo HTML [hidden] realmente esconder o modal.
   Sem isso, o display:grid acima sobrescreve o padrão do navegador.
*/
.modal[hidden]{display:none !important;}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.modal__panel{
  position:relative;
  width:min(780px, 92vw);
  max-height: 86vh;
  overflow:auto;
  background: var(--dark2);
  color:#fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.modal__head{
  padding:18px 18px 10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.modal__title{font-size:16px;margin:0 0 4px}
.modal__subtitle{color:#bdbdbd;font-weight:800;text-transform:uppercase;letter-spacing:.10em;font-size:10px;line-height:1.5}
.modal__close{
  border:none;
  background:rgba(255,255,255,.10);
  color:#fff;
  width:38px;height:38px;
  font-weight:900;
  cursor:pointer;
}
.chat--modal{margin:18px}


/* Responsive */
@media (max-width: 980px){
  .elite__main{grid-template-columns:1fr;gap:28px}
  .elite__head{grid-template-columns:1fr;align-items:start}
  .elite__cards{grid-template-columns:1fr}
  .elite-card{border-right:none}
  .elite-card{border-bottom:1px solid rgba(255,255,255,.10)}
  .elite-card:last-child{border-bottom:none}

  .nav{display:none}
  .display{font-size:64px}
  .display--sm{font-size:58px}
  .two-cols{grid-template-columns:1fr;gap:42px}
  .grid-2{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
  .events{grid-template-columns:1fr}
  .panel-dark__grid{grid-template-columns:1fr}
  .btn{min-width:unset;width:auto}
  .whats{min-width:unset;width:100%}

  .manifesto{padding:90px 0}
  .manifesto__wrap{grid-template-columns:1fr;gap:34px}
  .manifesto__cards{grid-template-columns:1fr}

  .elite__head{grid-template-columns:1fr;gap:18px}
  .elite__cards{grid-template-columns:1fr 1fr;gap:0}
  .elite-card{border-right:1px solid rgba(255,255,255,.10)}
  .elite-card:nth-child(2){border-right:none}
  .elite-card:nth-child(4){border-right:none}
  .elite__bottom{grid-template-columns:1fr;gap:28px}
}

@media (max-width: 560px){
  .header-inner{height:66px}
  .hero{padding:120px 0 70px}
  .display{font-size:52px}
  .display--sm{font-size:46px}
  .display--xs{font-size:40px}
  .lead{font-size:18px}
  .hero-actions{gap:12px}
  .btn{width:100%}

  .manifesto__title{font-size:48px}
  .manifesto__desc{font-size:12px}

  .elite__cards{grid-template-columns:1fr}
  .elite-card{border-right:none;border-bottom:1px solid rgba(255,255,255,.10)}
  .elite-card:last-child{border-bottom:none}
  .modal__panel{max-height:92vh}
}



/* Governança */
.mark{
  background:var(--dark2);
  color:var(--yellow);
  padding:2px 10px;
  font-style:italic;
}
.bullets{margin-top:34px;display:grid;gap:24px}
.bullet{display:flex;gap:22px;align-items:flex-start}
.bullet__line{width:4px;height:42px;background:#efefef;margin-top:6px}
.bullet h3{margin:0 0 6px;font-size:22px}
.bullet p{margin:0;color:#8c8c8c;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.it{font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.02em}

/* Compliance */
.compliance{
  background:#f6f6f6;
  box-shadow: var(--shadow);
  display:grid;
  grid-template-columns:10px 1fr;
  overflow:hidden;
}
.compliance__bar{background:var(--dark2)}
.compliance__body{padding:44px 46px}
.shield{font-size:56px;color:var(--yellow);margin-bottom:18px}
.divider{height:1px;background:#dedede;margin:18px 0 20px}
.quote{margin:0;color:#707070;font-style:italic;font-weight:800;letter-spacing:.02em;line-height:1.5}

/* HUB*/
.hub-cards{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:820px}
.hub-card{
  background:#f6f6f6;
  box-shadow: var(--shadow);
  padding:28px 30px;
  display:flex;gap:16px;align-items:flex-start;
  border-bottom:10px solid #2f2f2f;
}
.hub-card__icon{font-size:26px;color:#333}

/* Cases */
.cases{margin-top:48px;display:grid;grid-template-columns:repeat(3, 1fr);gap:30px}
.case{
  background:#efefef;
  box-shadow: var(--shadow);
  padding:34px 34px 0;
  position:relative;
  min-height:420px;
}
.case--dark{background:#000;color:#fff}
.case__top{display:flex;justify-content:space-between;align-items:flex-start}
.case__icon{font-size:30px;color:var(--yellow)}
.case__tag{font-size:11px;font-weight:900;letter-spacing:.18em;color:#9a9a9a;text-transform:uppercase}
.case--dark .case__tag{color:#bdbdbd}
.case__title{
  margin:26px 0 0;
  font-size:34px;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.03em;
  line-height:1.05;
}
.case__desc{
  margin:18px 0 0;
  color:#a0a0a0;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:10px;
  line-height:1.6;
  max-width:92%;
}
.case--dark .case__desc{color:#bdbdbd}
.case__link{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:36px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  color:#111;
}
.case--dark .case__link{color:var(--yellow)}
.case__link span{font-size:16px}
.case__bar{
  margin-top:38px;
  height:8px;
  background:#2f2f2f;
  width:100%;
}
.case__bar--yellow{background:var(--yellow)}

/* Eventos */
.panel-dark{
  background:var(--dark);
  border-radius:26px;
  padding:66px 62px 54px;
  color:#fff;
  box-shadow: var(--shadow);
}
.panel-dark__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.events{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event{
  background:#fff;
  color:#111;
  box-shadow: var(--shadow);
  padding:26px 26px 0;
  position:relative;
  min-height:240px;
}
.event__pill{
  position:absolute;top:-10px;right:18px;
  background:#2f2f2f;color:#fff;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:9px;
  padding:8px 10px;
}
.event__cat{
  margin:2px 0 16px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.35em;
  color:#9a9a9a;
  text-transform:uppercase;
}
.event__title{margin:0;font-size:18px;line-height:1.2}
.event__meta{
  margin-top:28px;
  display:grid;gap:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#6e6e6e;
  font-size:10px;
}
.event__bar{margin-top:18px;height:8px;background:#2f2f2f}

/* Linha */
.timeline{margin-top:34px;position:relative;padding-left:26px}
.timeline::before{
  content:"";
  position:absolute;
  left:6px;top:0;bottom:0;
  width:1px;background:#efefef;
}
.t-item{display:flex;gap:18px;align-items:flex-start;margin:24px 0}
.t-dot{
  width:14px;height:14px;border-radius:999px;
  background:var(--yellow);
  margin-top:6px;
  box-shadow:0 0 0 6px rgba(255,214,0,.16);
  flex:0 0 auto;
}
.t-year{
  color:var(--yellow);
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.2em;
}
.t-title{margin-top:6px;font-size:20px}
.t-desc{
  margin-top:8px;
  color:#7f7f7f;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:10px;
  line-height:1.6;
  max-width:520px;
}

/* Impacto*/
.impact-card{
  background:var(--dark);
  color:#fff;
  padding:56px 54px;
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.impact-quote{
  margin-top:22px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  color:#bdbdbd;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:10px;
  line-height:2;
}
.impact-quote__bar{
  width:10px;height:52px;background:var(--yellow);flex:0 0 auto;margin-top:6px;
}
.impact-divider{height:1px;background:rgba(255,255,255,.12);margin:22px 0 28px}
.impact-metric{margin-top:14px}
.impact-num{
  color:var(--yellow);
  font-style:italic;
  font-weight:900;
  font-size:76px;
  letter-spacing:-.04em;
}
.impact-label{
  margin-top:6px;
  font-weight:900;
  letter-spacing:.35em;
  text-transform:uppercase;
  font-size:11px;
}


.cta-band{
  background:var(--dark2);
  color:#fff;
  border-top:6px solid var(--yellow);
  padding:70px 0;
}
.cta-band__inner{display:flex;justify-content:space-between;gap:40px;align-items:center;flex-wrap:wrap}
.logo--invert{color:#fff}
.cta-band__text{
  margin:12px 0 0;
  color:#c7c7c7;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  max-width:520px;
  line-height:1.7;
}
.social{margin-top:18px;display:flex;gap:14px}
.social a{
  width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.15);
  text-decoration:none;color:#fff;font-weight:900;
  opacity:.9;
}
.social a:hover{opacity:1}
.whats{
  background:var(--yellow);
  color:#111;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  padding:22px 44px;
  min-width:360px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}


.sr-only{position:absolute;left:-9999px}


@media (max-width: 980px){
  .nav{display:none}
  .display{font-size:64px}
  .display--sm{font-size:58px}
  .two-cols{grid-template-columns:1fr;gap:42px}
  .grid-2{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
  .events{grid-template-columns:1fr}
  .panel-dark__grid{grid-template-columns:1fr}
  .btn{min-width:unset;width:auto}
  .whats{min-width:unset;width:100%}
}

/* =====================
   RESPONSIVO (Tablet e Mobile)
   ===================== */

@media (max-width: 1024px){
  .section{padding:90px 0}
  .two-cols{gap:54px}
  .hero{padding:120px 0 70px}
  .display{font-size:72px}
  .display--sm{font-size:64px}
  .display--xs{font-size:54px}
  .lead{font-size:20px}

  .container{width:min(1100px, 92%)}
  .hub-cards{max-width:unset}
  .cases{gap:22px}
  .events{gap:18px}
  .panel-dark{padding:54px 46px 44px}

  .compliance__body{padding:38px 34px}
  .tool{padding:30px 28px}
}

@media (max-width: 768px){
  /* Layout geral */
  .section{padding:70px 0}
  .two-cols{grid-template-columns:1fr;gap:34px}

  /* Header */
  .header-inner{height:auto;padding:14px 0;gap:12px}
  .cta{min-width:unset;padding:12px 14px}

  /* Hero */
  .hero{padding:92px 0 54px}
  .hero-grid{max-width:unset}
  .eyebrow{font-size:10px}
  .display{font-size:52px;line-height:1}
  .display--sm{font-size:48px}
  .display--xs{font-size:40px}
  .highlight-block{padding:8px 14px 10px}
  .lead{margin-top:22px;font-size:16px;line-height:1.35}
  .hero-actions{margin-top:26px;gap:12px}
  .btn{width:100%;min-width:unset;padding:14px 16px}

  /* Grids */
  .grid-2{grid-template-columns:1fr}
  .feature{padding:20px 18px;min-height:unset}
  .feature p{letter-spacing:.08em}

  /* Tool (Impact Architect / boxes) */
  .tool{padding:22px 18px}
  .tool__head{gap:10px}
  .tool textarea, .tool input{padding:14px 14px}

  /* Planejamento (amarelo) */
  .planning{padding:70px 0}
  .planning__wrap{grid-template-columns:1fr;gap:22px}
  .planning__title{font-size:44px;margin-bottom:18px}
  .planning__quote{max-width:unset}
  .planning__quote p{font-size:12px}
  .p-card{grid-template-columns:28px 1fr;padding:16px 16px}
  .p-card__icon{width:28px;height:28px;font-size:16px}

  /* Governança / bullets */
  .bullets{gap:18px}
  .bullet{gap:14px}
  .bullet h3{font-size:18px}
  .bullet__line{height:34px}
  .bullet p{letter-spacing:.06em}

  /* Compliance */
  .compliance{grid-template-columns:8px 1fr}
  .compliance__body{padding:26px 20px}
  .shield{font-size:44px}

  /* HUB */
  .hub-cards{grid-template-columns:1fr;gap:16px;margin-top:26px}
  .hub-card{padding:22px 18px;border-bottom-width:8px}

  /* Cases */
  .cases{grid-template-columns:1fr;gap:18px;margin-top:28px}
  .case{padding:24px 22px 0;min-height:unset}
  .case__title{font-size:26px}
  .case__desc{max-width:100%}

  /* Eventos */
  .panel-dark{padding:28px 18px;border-radius:18px}
  .panel-dark__grid{grid-template-columns:1fr;gap:22px}
  .events{grid-template-columns:1fr;gap:16px;margin-top:24px}
  .event{padding:22px 18px 0;min-height:unset}
  .event__pill{right:12px}
  .event__title{font-size:16px}

  /* Linha / legado */
  .timeline{padding-left:18px}
  .t-title{font-size:18px}
  .t-desc{max-width:unset}

  /* Card de impacto */
  .impact-card{padding:30px 22px}
  .impact-num{font-size:52px}
  .impact-label{letter-spacing:.22em}

  /* Rodapé / CTA band */
  .cta-band{padding:46px 0}
  .cta-band__inner{gap:18px}
  .whats{width:100%;min-width:unset;padding:18px 18px}
}

@media (max-width: 520px){


  html, body { overflow-x: hidden; }
  .container { width: min(1240px, 92%); }

  /* header mais estável */
  .header-inner { flex-wrap: wrap; gap: 10px; height: auto; padding: 12px 0; }
  .cta { min-width: unset; padding: 10px 14px; }

  /* HERO */
  .hero { padding: 90px 0 50px; }
  .hero-grid { max-width: unset; }
  .display__line { font-size: 32px; }

  .eyebrow { font-size: 10px; }

  .display{
    font-size: clamp(38px, 11.6vw, 54px);
    line-height: 1.02;
    letter-spacing: -0.02em;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .display--sm{ font-size: clamp(34px, 10.8vw, 50px); }
  .display--xs{ font-size: clamp(30px, 9.8vw, 44px); }

  .highlight-block{
    padding: 6px 12px 8px; /* menor no mobile */
    max-width: 100%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }

  .lead{
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin-top: 18px;
  }

  .hero-actions{ margin-top: 18px; gap: 10px; }
  .btn{ width: 100%; min-width: unset; padding: 14px 14px; }

  
  .section{ padding: 70px 0; }
}

@media (max-width: 420px){
  .container{width:92%}
  .section{padding:60px 0}
  .hero{padding:82px 0 46px}

  .display{font-size:44px}
  .display--sm{font-size:40px}
  .display--xs{font-size:34px}
  .lead{font-size:15px}

  .planning__title{font-size:38px}
  .case__title{font-size:24px}
  .impact-num{font-size:46px}

  .btn{font-size:10px}
  .cta{font-size:10px}
  .nav{display:none} 
}


/* =====================
   IMPACT ARCHITECT (CHAT)
   ===================== */
.chat{margin-top:6px}
.chat__log{
  max-height: 380px;
  overflow:auto;
  padding: 6px 2px 4px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.bubble{
  max-width: 92%;
  padding: 12px 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-weight: 750;
  letter-spacing: .02em;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}
.bubble--bot{
  align-self:flex-start;
  border-left: 6px solid rgba(255,214,0,.90);
}
.bubble--user{
  align-self:flex-end;
  background: rgba(255,214,0,.12);
  border-color: rgba(255,214,0,.25);
  color: rgba(255,255,255,.95);
}
.bubble__meta{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:6px;
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity:.75;
  font-weight:900;
}
.bubble__meta .tag{
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.14);
}
.bubble--user .bubble__meta .tag{
  border-color: rgba(255,214,0,.22);
  background: rgba(255,214,0,.10);
}
.chat__composer{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1fr 120px;
  gap: 10px;
}
.chat__composer input{
  width:100%;
  padding: 16px 14px;
  border:none;
  outline:none;
  background: rgba(255,255,255,.12);
  color:#fff;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 11px;
}
.chat__composer input::placeholder{color:rgba(255,255,255,.55)}
.chat__send{
  border:none;
  background: var(--yellow);
  color:#111;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  cursor:pointer;
}
.chat__send:hover{ background:#fff; }
.typing{
  display:flex;
  align-items:center;
  gap: 10px;
  margin: 10px 0 0;
  color: rgba(255,255,255,.72);
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 10px;
}
.typing span{
  width: 8px; height: 8px; border-radius: 999px;
  background: rgba(255,214,0,.90);
  display:inline-block;
  animation: bounce 1s infinite ease-in-out;
}
.typing span:nth-child(2){animation-delay:.15s}
.typing span:nth-child(3){animation-delay:.30s}
@keyframes bounce{
  0%, 80%, 100% { transform: translateY(0); opacity:.55 }
  40% { transform: translateY(-6px); opacity:1 }
}
.chat__footer{
  margin-top: 14px;
  display:grid;
  gap: 12px;
}


/* =====================
   HOVERS de animação
   ===================== */
.btn, .cta, .whats, .feature, .hub-card, .case, .event, .social a, .bullet{
  transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}


.btn--outline:hover{
  background: var(--dark2);
  color: #fff;
}


.feature:hover{
  border-color: rgba(255,214,0,.95);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}


.btn--yellow:hover{
  background: #ffffff;
  color: #111;
}


.bullet:hover .bullet__line{
  background: var(--yellow);
}


.case:not(.case--dark):hover{
  background: #111;
  color: #fff;
}
.case:not(.case--dark):hover .case__tag{ color: rgba(255,255,255,.70); }
.case:not(.case--dark):hover .case__desc{ color: rgba(255,255,255,.70); }
.case:not(.case--dark):hover .case__bar{ background: rgba(255,255,255,.18); }
.case:not(.case--dark):hover .case__icon{ color: var(--yellow); }
.case:not(.case--dark):hover .case__link{ color: var(--yellow); }


.t-dot{
  background: #d9d9d9;
  box-shadow: none;
}
.t-item:hover .t-dot{
  background: var(--yellow);
  box-shadow: 0 0 0 6px rgba(255,214,0,.16);
}


.whats:hover{
  background:#fff;
  color:#111;
}


.btn:hover, .cta:hover, .whats:hover{ transform: translateY(-1px); }

