:root{
  --bg:#edf2fb;
  --surface:#ffffff;
  --surface-2:rgba(255,255,255,.78);
  --surface-3:rgba(255,255,255,.62);

  --ink:#15213c;
  --ink-soft:#243250;
  --muted:#64728a;
  --muted-strong:#4c5b75;

  --line:rgba(21,33,60,.08);
  --line-strong:rgba(21,33,60,.14);

  --blue:#4f6dff;
  --blue-2:#6c84ff;
  --blue-dark:#22376d;
  --blue-deep:#162445;
  --blue-soft:#edf2ff;
  --blue-glow:rgba(79,109,255,.22);

  --green:#5aa35d;
  --green-soft:#eff8f0;

  --shadow-xs:0 6px 16px rgba(21,33,60,.05);
  --shadow-sm:0 14px 34px rgba(21,33,60,.07);
  --shadow-md:0 28px 70px rgba(21,33,60,.11);
  --shadow-lg:0 36px 90px rgba(21,33,60,.14);

  --radius-sm:18px;
  --radius:28px;
  --radius-lg:36px;

  --container:1240px;
  --header:90px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:"Manrope",system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.13), transparent 24%),
    radial-gradient(circle at top right, rgba(34,55,109,.09), transparent 22%),
    linear-gradient(180deg,#f8fafe 0%,#edf2fb 52%,#f3f6fc 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(var(--container), calc(100% - 40px)); margin:0 auto}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(22px);
  background:rgba(248,250,254,.76);
  border-bottom:1px solid rgba(21,33,60,.06);
  box-shadow:0 8px 24px rgba(21,33,60,.03);
}

.header-inner{
  min-height:var(--header);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.brand-mark{
  width:54px;
  height:54px;
  border-radius:999px;
  display:block;
  object-fit:contain;
}

.brand-copy{
  display:grid;
  gap:3px;
}

.brand-copy strong{
  font-size:18px;
  color:var(--ink);
}

.brand-copy span{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:800;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:14px;
}

.main-nav>a:not(.btn){
  font-weight:700;
  font-size:15px;
  color:var(--muted-strong);
  transition:color .18s ease, opacity .18s ease;
}

.site-header .btn{
  min-height:50px;
  padding:0 20px;
}

.main-nav>a:hover{
  color:var(--blue-dark);
}

@media (max-width: 1180px){
  .main-nav{
    gap:10px;
  }

  .main-nav>a:not(.btn){
    font-size:14px;
  }

  .site-header .btn{
    padding:0 18px;
  }
}

.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-xs);
}

.menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  background:#23365f;
  margin:4px auto;
  border-radius:999px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:800;
  letter-spacing:-.01em;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease,
    color .18s ease;
}

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

.btn-primary{
  color:#fff;
  background:
    linear-gradient(135deg, var(--blue) 0%, var(--blue-2) 100%);
  box-shadow:
    0 18px 34px rgba(79,109,255,.22),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.btn-primary:hover{
  box-shadow:
    0 22px 40px rgba(79,109,255,.26),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.cta .btn-primary{
  background:linear-gradient(135deg, #6f86ff 0%, #8fa2ff 100%);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.btn-secondary{
  background:rgba(255,255,255,.84);
  border-color:rgba(21,33,60,.1);
  color:var(--ink);
  box-shadow:
    0 10px 24px rgba(21,33,60,.05),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.cta .btn-secondary{
  background:rgba(255,255,255,.92);
  border:none;
  color:#1c2a4d;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.cta .btn-secondary:hover{
  background:#ffffff;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.btn-secondary:hover{
  background:rgba(255,255,255,.96);
  border-color:rgba(21,33,60,.14);
}

/* Hero */
.hero{
  padding:54px 0 28px;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(560px, 1.08fr);
  gap:24px;
  align-items:center;
}

.hero-copy{
  max-width:610px;
}

.hero-copy h1,
.section-head h2,
.feature-copy h2,
.cta h2{
  margin:18px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1.01;
  color:#172347;
}

.hero-copy h1{
  font-size:clamp(46px, 5.2vw, 78px);
}

.section-head h2,
.feature-copy h2,
.cta h2{
  font-size:clamp(34px,4vw,58px);
}

.hero-copy p,
.section-head p,
.feature-copy p,
.showcase-copy p,
.value-card p,
.info-card p,
.cta p,
.mini-stats span{
  color:var(--muted);
  font-size:18px;
  line-height:1.74;
}

.lead{
  font-size:21px;
  color:var(--ink-soft);
  margin-top:18px;
  max-width:39ch;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(79,109,255,.14);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--blue);
  box-shadow:var(--shadow-xs);
}

.eyebrow::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),#9db0ff);
  box-shadow:0 0 0 7px rgba(79,109,255,.11);
}

.eyebrow-dark{
  background:rgba(255,255,255,.08);
  color:#dfe8ff;
  border-color:rgba(255,255,255,.15);
  box-shadow:none;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.hero-points span{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 15px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(21,33,60,.08);
  box-shadow:var(--shadow-xs);
  font-size:14px;
  font-weight:700;
  color:#44536d;
}

.hero-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:16px;
  align-items:stretch;
}

.hero-stage__main{
  grid-row:1 / span 2;
}

.hero-stage__main img{
  min-height:100%;
  object-fit:contain;
}

.hero-stage__stack{
  display:grid;
  gap:16px;
}

.hero-stat-card{
  display:grid;
  gap:10px;
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.8);
  box-shadow:var(--shadow-xs);
}

.hero-stat-card small{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  width:max-content;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hero-stat-card strong{
  color:#182346;
  font-family:"Fraunces", Georgia, serif;
  font-size:28px;
  line-height:1.06;
  letter-spacing:-.04em;
}

.hero-stat-card p{
  margin:0;
  color:#586780;
  font-size:15px;
  line-height:1.62;
}

.hero-stage__badge{
  display:flex;
  align-items:center;
  min-height:54px;
  padding:0 18px;
  border-radius:24px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.84);
  box-shadow:var(--shadow-xs);
  color:#2f436c;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
}

/* Sections */
.section{
  padding:72px 0;
}

.section-soft{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.12)),
    radial-gradient(circle at top, rgba(79,109,255,.075), transparent 30%);
}

.section-dark{
  background:
    radial-gradient(circle at top right, rgba(127,167,255,.12), transparent 24%),
    radial-gradient(circle at bottom left, rgba(127,167,255,.1), transparent 22%),
    linear-gradient(180deg,#14223f 0%, #1b2c55 100%);
}

.section-dark .feature-copy h2,
.section-dark .section-head h2,
.section-dark .feature-copy p,
.section-dark .section-head p,
.section-dark .feature-list,
.section-dark .mini-stats strong,
.section-dark .mini-stats span{
  color:#fff;
}

.section-head{
  max-width:860px;
  margin:0 0 30px;
}

.section-head.center{
  text-align:center;
  margin:0 auto 36px;
}

/* Layout blocks */
.split{
  display:grid;
  grid-template-columns:minmax(460px,.96fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.split-wide{
  grid-template-columns:minmax(540px,1.04fr) minmax(0,.9fr);
}

.stack{
  display:grid;
  gap:16px;
}

.info-card,
.showcase-card,
.value-card{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(21,33,60,.08);
  border-radius:var(--radius);
  box-shadow:
    0 18px 40px rgba(21,33,60,.06),
    inset 0 1px 0 rgba(255,255,255,.6);
  backdrop-filter:blur(8px);
}

.info-card{
  padding:26px;
}

.info-card small,
.tag{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-dark);
  font-weight:800;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.info-card h3,
.showcase-copy h3,
.value-card h3{
  margin:14px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-size:31px;
  line-height:1.08;
  letter-spacing:-.04em;
  color:#182346;
}

/* Media */
.media-frame{
  padding:20px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(21,33,60,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.93), rgba(245,248,255,.84));
  box-shadow:
    0 28px 70px rgba(21,33,60,.1),
    inset 0 1px 0 rgba(255,255,255,.75);
  overflow:hidden;
}

.media-frame img{
  width:100%;
  height:auto;
  border-radius:24px;
  box-shadow:0 24px 50px rgba(21,33,60,.08);
}

.media-frame--hero img{
  border-radius:28px;
}

.media-frame--compact{
  padding:16px;
}

.media-frame-dark{
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.1);
  box-shadow:
    0 28px 70px rgba(5,12,30,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.showcase-grid{
  display:grid;
  gap:24px;
}

.showcase-card{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);
  gap:22px;
  padding:22px;
  align-items:center;
}

.showcase-copy{
  padding:8px 6px 8px 10px;
}

.feature-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.98fr);
  gap:36px;
  align-items:center;
}

.feature-row + .feature-row{
  margin-top:44px;
}

.feature-row--reverse{
  grid-template-columns:minmax(520px,.98fr) minmax(0,1fr);
}

.feature-row--reverse .feature-copy{
  order:2;
}

.feature-row--reverse .media-frame{
  order:1;
}

.feature-list{
  margin:18px 0 0;
  padding-left:18px;
  color:#40506d;
}

.feature-list li + li{
  margin-top:10px;
}

.mini-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}

.mini-stats div{
  background:rgba(255,255,255,.8);
  border:1px solid rgba(21,33,60,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:var(--shadow-xs);
}

.mini-stats strong{
  display:block;
  font-size:17px;
  margin-bottom:6px;
  color:#182346;
}

.mini-stats--dark div{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  box-shadow:none;
}

.cards-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.cards-3--vision .value-card{
  min-height:100%;
}

.value-card{
  padding:28px;
}

.overview-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:28px;
  align-items:start;
}

.overview-copy{
  display:grid;
  gap:18px;
  max-width:560px;
}

.overview-copy p{
  margin:0;
}

.overview-points{
  display:grid;
  gap:12px;
}

.overview-points div{
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-xs);
}

.overview-points strong{
  display:block;
  color:#182346;
  font-size:17px;
  margin-bottom:6px;
}

.overview-points span{
  display:block;
  color:#586780;
  font-size:15px;
  line-height:1.66;
}

.overview-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.overview-cards .value-card:last-child{
  grid-column:1 / -1;
}

.home-proof__grid{
  display:grid;
  grid-template-columns:minmax(500px,1.02fr) minmax(0,.98fr);
  gap:24px;
  align-items:start;
}

.home-proof__cards{
  display:grid;
  gap:16px;
}

.teaser-panel{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  gap:28px;
  align-items:center;
  padding:36px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,249,255,.82));
  box-shadow:var(--shadow-md);
}

.teaser-panel__copy{
  max-width:560px;
}

.teaser-panel__visual{
  display:grid;
  gap:18px;
}

.teaser-list{
  margin:20px 0 0;
}

.teaser-list li + li{
  margin-top:10px;
}

/* CTA */
.cta{
  border-radius:var(--radius-lg);
  padding:38px;
  color:#fff;
  background:
  radial-gradient(circle at top right, rgba(127,167,255,.25), transparent 35%),
  radial-gradient(circle at bottom left, rgba(127,167,255,.18), transparent 35%),
  linear-gradient(135deg,#3c4f8f 0%, #5a6fd6 100%);
  box-shadow:var(--shadow-lg);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}

.cta p{
  color:rgba(255,255,255,.92);
}

.cta-actions{
  display:grid;
  gap:12px;
}

/* Footer */
.site-footer{
  padding:28px 0 38px;
  border-top:1px solid rgba(21,33,60,.06);
  background:rgba(255,255,255,.42);
}

.footer-inner{
  display:flex;
  flex-wrap:wrap;
  gap:16px 22px;
  justify-content:space-between;
  align-items:center;
}

.footer-inner strong{
  display:block;
}

.footer-inner span{
  color:var(--muted);
}

.footer-links{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.footer-links a{
  color:#46536b;
  font-weight:700;
}

/* Secondary pages */
.page-hero{
  padding:58px 0 24px;
}

.page-shell{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.page-nav{
  position:sticky;
  top:calc(var(--header) + 20px);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(21,33,60,.08);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(10px);
}

.page-nav a{
  display:block;
  font-weight:700;
  color:#42506a;
  padding:8px 0;
}

.page-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(21,33,60,.08);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:36px;
  backdrop-filter:blur(10px);
}

.page-card h1{
  margin:16px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(36px,5vw,72px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.page-card h2{
  margin:24px 0 12px;
  font-family:"Fraunces", Georgia, serif;
  font-size:40px;
  line-height:1.06;
}

.page-card h3{
  margin:20px 0 10px;
  font-size:28px;
  font-family:"Fraunces", Georgia, serif;
}

.page-card p,
.page-card li{
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}

.plan-card{
  background:rgba(255,255,255,.74);
  border:1px solid rgba(21,33,60,.08);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow-sm);
}

.plan-price{
  font-size:42px;
  font-weight:800;
  color:var(--ink);
  margin:12px 0;
}

.plan-note{
  font-size:14px;
  color:var(--muted);
}

.plan-card ul{
  padding-left:18px;
}

.badge-inline{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.helper-box{
  margin-top:20px;
  padding:20px;
  border-radius:22px;
  background:#f7f9fe;
  border:1px solid rgba(21,33,60,.08);
}

/* Responsive */
@media (max-width: 1120px){
  .hero-grid,
  .hero-stage,
  .overview-grid,
  .home-proof__grid,
  .teaser-panel,
  .split,
  .split-wide,
  .feature-row,
  .feature-row--reverse,
  .showcase-card,
  .cta,
  .page-shell{
    grid-template-columns:1fr;
  }

  .feature-row--reverse .feature-copy,
  .feature-row--reverse .media-frame{
    order:initial;
  }

  .cards-3,
  .overview-cards,
  .plan-grid,
  .mini-stats{
    grid-template-columns:1fr 1fr;
  }

  .hero-copy{
    max-width:none;
  }

  .overview-copy,
  .teaser-panel__copy{
    max-width:none;
  }

  .hero-stage__main{
    grid-row:auto;
  }

  .hero-stage__main img{
    min-height:auto;
  }
}

@media (max-width: 880px){
  :root{
    --header:76px;
  }

  .container{
    width:min(var(--container), calc(100% - 28px));
  }

  .menu-toggle{
    display:block;
  }

  .main-nav{
    position:fixed;
    top:calc(var(--header) + 10px);
    left:14px;
    right:14px;
    display:grid;
    gap:12px;
    padding:16px;
    background:rgba(255,255,255,.97);
    border-radius:24px;
    box-shadow:var(--shadow-md);
    border:1px solid rgba(21,33,60,.08);
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:.18s ease;
  }

  body.menu-open .main-nav{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  .cards-3,
  .overview-cards,
  .plan-grid,
  .mini-stats{
    grid-template-columns:1fr;
  }

  .page-nav{
    position:static;
  }
}

@media (max-width: 640px){
  .hero-copy p,
  .section-head p,
  .feature-copy p,
  .showcase-copy p,
  .value-card p,
  .info-card p,
  .cta p,
  .page-card p,
  .page-card li{
    font-size:16px;
  }

  .section{
    padding:60px 0;
  }

  .hero{
    padding:38px 0 24px;
  }

  .media-frame,
  .page-card,
  .page-nav,
  .value-card,
  .info-card,
  .plan-card,
  .showcase-card{
    padding:18px;
  }

  .hero-copy h1{
    font-size:clamp(40px, 11vw, 58px);
  }

  .hero-stage__badge,
  .hero-stat-card,
  .overview-points div,
  .teaser-panel{
    padding:18px;
  }

  .hero-stat-card strong{
    font-size:24px;
  }

  .section-head h2,
  .feature-copy h2{
    color:#172347;
    font-weight:700;
    letter-spacing:-.05em;
    line-height:1.04;
    text-shadow:none;
  }

  .section-dark .section-head h2,
  .section-dark .feature-copy h2,
  .cta h2{
    color:#ffffff;
    font-weight:600;
    letter-spacing:-0.5px;
    line-height:1.2;
    text-shadow:0 6px 24px rgba(0,0,0,.25);
  }
/* BOTÃO PRINCIPAL DO HEADER */
}
.btn-system{
  min-height:48px;
  padding:0 26px;
  font-size:15px;
  border-radius:999px;
  color:#fff;

  background:linear-gradient(135deg, #5d76ff 0%, #7f92ff 100%);

  box-shadow:
    0 10px 24px rgba(79,109,255,.22),
    inset 0 1px 0 rgba(255,255,255,.25);

  transition:all .2s ease;
}

.btn-system:hover{
  transform:translateY(-1px);

  background:linear-gradient(135deg, #6c83ff 0%, #95a6ff 100%);

  box-shadow:
    0 16px 32px rgba(79,109,255,.28),
    inset 0 1px 0 rgba(255,255,255,.3);
}

/* Home Rebuild */
.home-hero{
  padding:44px 0 18px;
}

.home-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  gap:34px;
  align-items:center;
}

.home-hero__copy{
  max-width:690px;
}

.home-hero__copy h1{
  margin:18px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(38px, 3.8vw, 58px);
  line-height:.98;
  letter-spacing:-.055em;
  max-width:15.5ch;
  color:#172347;
}

.home-hero__copy .lead{
  max-width:36ch;
}

.home-hero__visual{
  display:grid;
  gap:10px;
}

.home-hero__actions-wrap{
  display:grid;
  gap:14px;
}

.home-hero__visual .media-frame img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

.home-hero__caption{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border-radius:24px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-xs);
  color:#31466e;
  font-size:13px;
  font-weight:800;
}

.home-hero__signals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.home-signal-card{
  display:grid;
  gap:10px;
  min-height:100%;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadow-xs);
}

.home-signal-card small,
.home-solution-card small{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  width:max-content;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-signal-card h3{
  margin:0;
  color:#182346;
  font-family:"Fraunces", Georgia, serif;
  font-size:22px;
  line-height:1.08;
  letter-spacing:-.04em;
}

.home-signal-card p{
  margin:0;
  color:#586780;
  font-size:15px;
  line-height:1.56;
}

.home-solution-grid,
.home-audience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.home-solution-card{
  display:grid;
  gap:12px;
}

.home-solution-card h3{
  margin:0;
}

.home-solution-card p{
  margin:0;
}

.home-outcomes__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(560px,1.06fr);
  gap:30px;
  align-items:center;
}

.home-outcomes__copy{
  max-width:600px;
}

.home-outcomes__copy h2{
  margin:18px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(38px, 3.8vw, 58px);
  line-height:1.03;
  letter-spacing:-.05em;
  color:#172347;
  max-width:12ch;
}

.home-outcomes__visual img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

.home-outcomes__list{
  margin-top:18px;
}

.home-outcomes__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.home-deepdive{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(540px,1.02fr);
  gap:30px;
  align-items:center;
  padding:38px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(247,249,255,.84));
  box-shadow:var(--shadow-md);
}

.home-deepdive__copy{
  max-width:560px;
}

.home-deepdive__copy h2{
  margin:18px 0 0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(34px, 3.5vw, 54px);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#172347;
  max-width:13ch;
}

.home-deepdive__visual{
  display:grid;
  gap:18px;
}

.home-architecture-board{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:
    "plan crm"
    "core core"
    "ops ops";
  gap:14px;
  padding:22px;
  border-radius:30px;
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.14), transparent 30%),
    linear-gradient(180deg, rgba(248,251,255,.96), rgba(239,244,255,.9));
  box-shadow:var(--shadow-sm);
}

.home-architecture-board::before{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:24px;
  border:1px solid rgba(79,109,255,.08);
  pointer-events:none;
}

.home-architecture-card{
  display:grid;
  gap:8px;
  padding:18px;
  min-height:0;
  border-radius:24px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow-xs);
  transition:transform .25s ease, box-shadow .25s ease;
}

.home-architecture-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(21,33,60,.1);
}

.home-architecture-card small{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  width:max-content;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-architecture-card h3{
  margin:0;
  color:#182346;
  font-size:clamp(16px, 1.5vw, 24px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.home-architecture-card p{
  margin:0;
  color:#5a6881;
  font-size:14px;
  line-height:1.55;
}

.home-architecture-card span{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  width:max-content;
  padding:0 12px;
  border-radius:999px;
  background:#f4f7ff;
  color:#2f4b99;
  font-size:12px;
  font-weight:700;
}

.home-architecture-card--plan{
  grid-area:plan;
}

.home-architecture-card--crm{
  grid-area:crm;
}

.home-architecture-card--ops{
  grid-area:ops;
  max-width:none;
}

.home-architecture-core{
  position:relative;
  grid-area:core;
  width:138px;
  height:138px;
  align-self:center;
  justify-self:center;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:999px;
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top, rgba(122,146,255,.28), rgba(122,146,255,.08) 45%, rgba(255,255,255,.96) 46%),
    linear-gradient(180deg, #243a78, #1d2f63);
  box-shadow:
    0 18px 34px rgba(21,33,60,.14),
    inset 0 1px 0 rgba(255,255,255,.14);
  color:#fff;
}

.home-architecture-core::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:999px;
  border:1px solid rgba(79,109,255,.18);
}

.home-architecture-core strong{
  display:block;
  font-size:20px;
  line-height:1;
  letter-spacing:-.04em;
}

.home-architecture-core span{
  display:block;
  max-width:11ch;
  margin-top:4px;
  color:rgba(255,255,255,.74);
  font-size:11px;
  line-height:1.36;
}

.home-deepdive__list{
  margin-top:18px;
}

.home-deepdive__tiles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.home-deepdive__tiles div{
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-xs);
}

.home-deepdive__tiles strong{
  display:block;
  color:#182346;
  font-size:16px;
  margin-bottom:6px;
}

.home-deepdive__tiles span{
  display:block;
  color:#586780;
  font-size:14px;
  line-height:1.6;
}

.home-clean-media{
  padding:14px;
}

.home-clean-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:top center;
  border-radius:22px;
}

.home-hub-crop{
  aspect-ratio:16/6.25;
}

.home-hub-crop img{
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center top;
  transform:scale(1.32);
  transform-origin:top center;
}

.home-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.home-module-card{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:30px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-sm);
}

.home-module-card__media{
  border-radius:22px;
  border:1px solid rgba(21,33,60,.08);
  background:linear-gradient(180deg,#f8fbff 0%, #f1f5ff 100%);
  overflow:hidden;
  aspect-ratio:16/9;
}

.home-module-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}

.home-module-card__media--contain{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
}

.home-module-card__media--contain img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
}

.home-module-card__body{
  display:grid;
  gap:8px;
  padding:2px 4px 4px;
}

.home-module-card__body h3{
  margin:0;
  font-family:"Fraunces", Georgia, serif;
  font-size:25px;
  line-height:1.08;
  letter-spacing:-.04em;
  color:#182346;
}

.home-module-card__body p{
  margin:0;
  color:#586780;
  font-size:15px;
  line-height:1.5;
}

.home-module-card__link{
  margin-top:2px;
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(21,33,60,.1);
  background:#ffffff;
  color:#233a74;
  font-size:14px;
  font-weight:800;
  transition:all .18s ease;
}

.home-module-card__link:hover{
  border-color:rgba(79,109,255,.35);
  background:#f4f7ff;
  color:#1f3264;
}

.home-journey-panel{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr);
  gap:18px;
  align-items:start;
  padding:18px;
  border-radius:34px;
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,250,255,.84));
  box-shadow:var(--shadow-md);
}

.home-journey-primary{
  display:grid;
  gap:14px;
  align-self:stretch;
}

.home-journey-feature,
.home-journey-step{
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow-xs);
}

.home-journey-feature{
  display:grid;
  grid-template-rows:auto auto;
  gap:16px;
  align-self:start;
  padding:16px;
  border-radius:28px;
}

.home-journey-feature__media{
  min-height:0;
  border-radius:22px;
  border:1px solid rgba(21,33,60,.08);
  overflow:hidden;
  background:#f4f7ff;
  aspect-ratio:16/10;
}

.home-journey-feature__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.home-journey-feature__copy{
  display:grid;
  gap:8px;
  padding:0 4px 4px;
  align-content:start;
  justify-items:start;
}

.home-journey-feature__copy small,
.home-journey-step small{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-journey-feature__copy h3,
.home-journey-step h3{
  margin:0;
  font-family:"Fraunces", Georgia, serif;
  color:#182346;
  letter-spacing:-.04em;
}

.home-journey-feature__copy h3{
  max-width:17ch;
  font-size:clamp(30px,2.8vw,42px);
  line-height:1.04;
}

.home-journey-feature__copy p,
.home-journey-step p{
  margin:0;
  color:#586780;
  line-height:1.58;
}

.home-journey-feature__copy p{
  max-width:62ch;
  font-size:16px;
}

.home-journey-rail{
  display:grid;
  gap:14px;
}

.home-journey-step{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border-radius:24px;
}

.home-journey-step__media{
  border-radius:16px;
  border:1px solid rgba(21,33,60,.08);
  overflow:hidden;
  background:linear-gradient(180deg,#f8fbff 0%, #eef3ff 100%);
  aspect-ratio:16/7.4;
}

.home-journey-step__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.home-journey-step > div:last-child{
  display:grid;
  gap:7px;
  padding:0 4px 2px;
  align-content:start;
  justify-items:start;
}

.home-journey-step h3{
  font-size:22px;
  line-height:1.1;
}

.home-journey-step p{
  font-size:14px;
}

.home-journey-summary{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(79,109,255,.16);
  background:
    radial-gradient(circle at top right, rgba(78,112,255,.13), transparent 36%),
    linear-gradient(180deg, rgba(248,251,255,.96), rgba(255,255,255,.9));
  box-shadow:var(--shadow-xs);
}

.home-journey-summary small{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-journey-summary h3{
  margin:0;
  max-width:20ch;
  font-family:"Fraunces", Georgia, serif;
  color:#182346;
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.035em;
}

.home-journey-summary ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.home-journey-summary li{
  position:relative;
  padding:10px 12px 10px 34px;
  border-radius:16px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.72);
  color:#586780;
  font-size:14px;
  line-height:1.45;
}

.home-journey-summary li::before{
  content:"";
  position:absolute;
  left:14px;
  top:17px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#6478ff;
  box-shadow:0 0 0 5px rgba(100,120,255,.12);
}

.home-journey-summary strong{
  color:#182346;
}

.home-journey-summary__flow{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
  margin-top:auto;
  padding-top:14px;
}

.home-journey-summary__flow span{
  min-height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(79,109,255,.18);
  background:rgba(255,255,255,.78);
  color:#314fa9;
  font-size:12px;
  font-weight:800;
}

.home-journey-summary__note{
  margin:0;
  padding:14px;
  border-radius:18px;
  background:#182346;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.5;
}

.home-journey-summary__note strong{
  display:block;
  color:#fff;
}

.home-flow-panel{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);
  gap:22px;
  align-items:start;
  padding:22px;
  border-radius:34px;
  border:1px solid rgba(21,33,60,.08);
  background:
    radial-gradient(circle at top left, rgba(79,109,255,.14), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(247,250,255,.84));
  box-shadow:var(--shadow-md);
}

.home-flow-panel__copy{
  display:grid;
  gap:14px;
  max-width:560px;
}

.home-flow-panel__copy h2{
  margin:0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(32px, 3.1vw, 46px);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#172347;
}

.home-flow-panel__copy p{
  margin:0;
  color:#5d6c84;
  font-size:17px;
  line-height:1.72;
}

.home-flow-steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.home-flow-steps li{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow-xs);
}

.home-flow-steps li strong{
  color:#1a2b4f;
  font-size:18px;
  line-height:1.2;
}

.home-flow-steps li span{
  color:#5d6d86;
  font-size:15px;
  line-height:1.62;
}

.home-outcomes__cards--tight{
  margin-top:8px;
}

.home-path-grid{
  grid-template-columns:repeat(2,minmax(0,380px));
  justify-content:center;
  max-width:860px;
  margin-inline:auto;
}

.home-proof-grid{
  margin-top:12px;
  display:grid;
  gap:18px;
  max-width:1240px;
  margin-inline:auto;
}

.home-proof-card{
  display:grid;
  grid-template-columns:minmax(620px,1fr) minmax(0,.82fr);
  gap:24px;
  align-items:center;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(21,33,60,.08);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-sm);
}

.home-proof-card__media{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(21,33,60,.08);
  background:#f5f8ff;
  aspect-ratio:16/8.2;
}

.home-proof-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 8%;
}

.home-proof-card__copy{
  display:grid;
  gap:6px;
  padding:0 2px 0 4px;
}

.home-proof-card__copy small{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  width:max-content;
  padding:0 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314fa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-proof-card__copy h3{
  margin:0;
  font-family:"Fraunces", Georgia, serif;
  font-size:24px;
  line-height:1.14;
  letter-spacing:-.04em;
  color:#182346;
}

.home-proof-card__copy p{
  margin:0;
  color:#5d6c84;
  font-size:15px;
  line-height:1.52;
}

.home-proof-card__list{
  margin:2px 0 0;
  padding-left:18px;
  color:#465673;
}

.home-proof-card__list li{
  font-size:13.5px;
  line-height:1.48;
}

.home-proof-card__list li + li{
  margin-top:6px;
}

#modulos.section{
  padding:52px 0 48px;
}

#fluxo.section{
  padding:46px 0;
}

#resultados.section{
  padding:50px 0 46px;
}

#publicos.section{
  padding:50px 0 46px;
}

#contato.section{
  padding:48px 0 56px;
}

#resultados .section-head{
  margin-bottom:20px;
}

#resultados .home-outcomes__cards{
  gap:14px;
}

#resultados .home-outcomes__cards .info-card{
  padding:20px;
}

#resultados .home-outcomes__cards .info-card h3{
  font-size:24px;
}

#resultados .home-outcomes__cards .info-card p{
  font-size:15px;
  line-height:1.55;
}

.hero-actions{
  margin-top:20px;
}

.hero-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.hero-points span{
  min-height:36px;
  padding:0 12px;
  font-size:12px;
  font-weight:700;
}

.cta .cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.home-final-cta{
  grid-template-columns:1fr;
  align-items:start;
  gap:18px;
  padding:34px;
  color:#1a2a4b;
  background:
    radial-gradient(circle at top right, rgba(103,129,240,.12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(79,109,255,.1), transparent 34%),
    linear-gradient(180deg, rgba(241,246,255,.96), rgba(233,240,255,.94));
  border:1px solid rgba(79,109,255,.18);
  box-shadow:0 20px 44px rgba(79,109,255,.12);
}

.home-final-cta .eyebrow-dark{
  background:#e6edff;
  color:#2b4488;
  border:1px solid rgba(79,109,255,.18);
  box-shadow:none;
}

.home-final-cta .eyebrow-dark::before{
  box-shadow:0 0 0 6px rgba(79,109,255,.12);
}

.home-final-cta h2{
  margin-top:14px;
  max-width:21ch;
  font-size:clamp(36px,3.4vw,52px);
  color:#1a2a4c;
}

.home-final-cta p{
  margin-top:10px;
  max-width:64ch;
  color:#435474;
}

.home-final-cta .cta-actions{
  justify-content:flex-start;
  gap:12px;
}

.home-final-cta .btn-secondary{
  border:1px solid rgba(21,33,60,.14);
  background:#ffffff;
  color:#18294b;
  box-shadow:0 8px 20px rgba(21,33,60,.08);
}

.home-final-cta .btn-primary{
  box-shadow:0 14px 28px rgba(79,109,255,.2);
}

.hero-points span:last-child{
  grid-column:1 / -1;
}

.home-hero__visual .hero-actions{
  margin-top:2px;
}

.home-hero__visual .hero-points{
  margin-top:0;
}

@media (max-width: 1120px){
  .home-hero__grid,
  .home-outcomes__grid,
  .home-deepdive,
  .home-flow-panel,
  .home-journey-panel,
  .home-proof-card{
    grid-template-columns:1fr;
  }

  .home-hero__copy,
  .home-outcomes__copy,
  .home-deepdive__copy{
    max-width:none;
  }

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

  .hero-points span:last-child{
    grid-column:auto;
  }
}

@media (max-width: 880px){
  .home-hero__signals,
  .home-solution-grid,
  .home-outcomes__cards,
  .home-audience-grid,
  .home-deepdive__tiles,
  .home-module-grid{
    grid-template-columns:1fr;
  }

  .home-deepdive{
    padding:24px;
  }

  .home-proof-card{
    padding:16px;
  }

  .home-journey-panel{
    padding:14px;
    border-radius:28px;
  }

  .home-journey-step{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .home-hero{
    padding:40px 0 24px;
  }

  .home-hero__copy h1{
    font-size:clamp(42px, 12vw, 60px);
    max-width:none;
  }

  .home-outcomes__copy h2,
  .home-deepdive__copy h2{
    max-width:none;
  }

  .home-architecture-board{
    grid-template-columns:1fr;
    grid-template-areas:
      "plan"
      "crm"
      "core"
      "ops";
    padding:18px;
  }

  .home-architecture-core{
    width:124px;
    height:124px;
  }

  .home-architecture-card{
    min-height:auto;
  }

  .home-signal-card,
  .home-deepdive__tiles div{
    padding:20px;
  }

  .home-journey-feature,
  .home-journey-step,
  .home-journey-summary{
    padding:12px;
    border-radius:22px;
  }

  .home-journey-step{
    grid-template-columns:1fr;
  }

  .home-journey-step__media{
    aspect-ratio:16/8.6;
  }

  .home-journey-feature__copy h3{
    font-size:30px;
  }

  .home-journey-summary h3{
    max-width:none;
    font-size:22px;
  }

  .home-journey-summary__flow{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

/* Compact rhythm for launch pages. Consultoria keeps its own spacing pass. */
.home-page .home-hero{
  padding:38px 0 24px;
}

.home-page .section{
  padding:42px 0;
}

.home-page .section-head.center{
  margin-bottom:22px;
}

.home-page #jornada.section{
  padding:40px 0 34px;
}

.home-page #modulos.section,
.home-page #resultados.section,
.home-page #publicos.section{
  padding:38px 0;
}

.home-page #fluxo.section{
  padding:34px 0;
}

.home-page #contato.section{
  padding:38px 0 44px;
}

.home-page .home-journey-panel,
.home-page .home-proof-grid{
  margin-top:0;
}

.planos-page .page-hero{
  padding:36px 0 18px;
}

.planos-page .page-card{
  padding:30px;
}

.planos-page .page-card > h3[style]{
  margin-top:34px !important;
}

.planos-page .page-card > p[style]{
  margin-bottom:20px !important;
}

.planos-page .plan-grid,
.planos-page .grid-2-cols{
  margin-top:20px;
}

.planos-page .grid-services{
  gap:22px;
}

@media (max-width: 880px){
  .home-page .home-hero{
    padding:32px 0 20px;
  }

  .home-page .section,
  .home-page #jornada.section,
  .home-page #modulos.section,
  .home-page #fluxo.section,
  .home-page #resultados.section,
  .home-page #publicos.section,
  .home-page #contato.section{
    padding:32px 0;
  }

  .planos-page .page-hero{
    padding:30px 0 14px;
  }

  .planos-page .page-card{
    padding:22px;
  }
}

@media (max-width: 640px){
  .home-page .home-hero{
    padding:28px 0 18px;
  }

  .home-page .section,
  .home-page #jornada.section,
  .home-page #modulos.section,
  .home-page #fluxo.section,
  .home-page #resultados.section,
  .home-page #publicos.section,
  .home-page #contato.section{
    padding:28px 0;
  }
}

/* Mobile hardening */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

.header-inner,
.brand,
.brand-copy,
.main-nav,
.page-shell,
.page-card,
.page-nav,
.plan-card{
  min-width:0;
}

@media (max-width: 880px){
  .site-header{
    z-index:80;
  }

  .header-inner{
    gap:10px;
  }

  .brand{
    flex:1 1 auto;
  }

  .brand-mark{
    flex:0 0 46px;
    width:46px;
    height:46px;
  }

  .brand-copy strong,
  .brand-copy span{
    max-width:min(260px, calc(100vw - 128px));
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .menu-toggle{
    flex:0 0 46px;
    min-width:46px;
    width:46px;
    min-height:46px;
  }

  .main-nav{
    max-width:calc(100vw - 28px);
  }

  .main-nav .btn,
  .main-nav > a{
    width:100%;
    min-width:0;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }

  body.menu-open{
    overflow:hidden;
  }
}

@media (max-width: 640px){
  .container{
    width:calc(100% - 28px);
  }

  .page-hero{
    padding:28px 0 18px;
  }

  .page-shell{
    gap:16px;
  }

  .page-card,
  .page-nav{
    width:100%;
    max-width:100%;
    border-radius:24px;
  }

  .page-card h1{
    font-size:clamp(34px, 12vw, 48px);
    letter-spacing:-.025em;
  }

  .page-card h2{
    font-size:clamp(28px, 9vw, 36px);
    letter-spacing:-.025em;
  }

  .page-card h3{
    font-size:clamp(23px, 7vw, 30px);
    letter-spacing:-.02em;
  }

  .plan-price{
    font-size:clamp(32px, 11vw, 40px);
  }

  .planos-page .page-card{
    padding:18px;
  }

  .planos-page .page-card > h3[style]{
    margin-top:30px !important;
  }

  .planos-page .grid-2-cols,
  .planos-page .grid-services,
  .planos-page .plan-grid{
    width:100%;
    max-width:100%;
    gap:16px;
  }

  .planos-page .grid-services .plan-card{
    padding:22px !important;
  }

  .planos-page .plan-card .btn,
  .planos-page .grid-services button{
    width:100%;
    min-width:0;
    padding-left:14px;
    padding-right:14px;
  }

  .termos-page .page-nav,
  .termos-page .page-card{
    padding:18px;
  }

  .footer-inner{
    gap:18px;
  }

  .footer-links{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .footer-links a,
  .page-nav a{
    min-height:44px;
    display:flex;
    align-items:center;
  }
}

@media (max-width: 380px){
  .brand-copy span{
    display:none;
  }

  .site-header .btn,
  .btn{
    min-height:50px;
    padding-left:16px;
    padding-right:16px;
  }

  .page-card,
  .page-nav,
  .media-frame,
  .plan-card{
    padding:16px;
  }
}
