/* ===== Fontes canônicas do site Baru, as mesmas da página Institucional e do TEMPLATE_LP_BARU.html =====
   Montserrat (500 a 800): títulos e subtítulos (h1 a h4, eyebrows, números de destaque).
   Maven Pro (400 a 900): corpo do texto, botões, formulários. WOFF2 em base64, sem link externo. */
@font-face {
  font-family: 'Montserrat';
  src: url(/assets/arquivos/a14f7ffbd7d9.woff2) format('woff2');
  font-weight: 500 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Maven Pro';
  src: url(/assets/arquivos/73ce22a9ec1f.woff2) format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

/* =====================================================================
   Design System Baru Financeira · Site (v4.0, 27/10/2026)
   CSS canônico das LPs de produto. Base: LP Náutico e Off-Road (padrão v3.2),
   FAQ e card em destaque da LP RPV e Precatórios.
   Ordem no <style> da página: fontes.css → baru-lp.css → blindagem.css.
   Mudança da v4: --c1-rgb, para trocar a cor de destaque sem recalcular rgba à mão.
   ===================================================================== */

:root{
  /* ---- paleta oficial Baru Financeira (fixa, não alterar) ---- */
  --brand-teal: #299d8f;      /* principal */
  --brand-dark: #04211d;      /* principal */
  --brand-teal-dark: #10544f; /* principal (cor institucional) */
  --white: #ffffff;           /* neutra */
  --gray: #b4b4b4;            /* neutra */
  --black: #000000;           /* neutra */
  --sage: #a8c4af;            /* apoio */
  --amber: #e7a77a;           /* apoio */
  --cyan: #0c8f9d;            /* apoio */
  --orange: #e26432;          /* apoio */

  /* ---- cor de destaque da página (escolher na tabela do DESIGN_SYSTEM.md) ---- */
  --c1: var(--cyan);
  --c1-rgb: 12,143,157;       /* o mesmo valor de --c1, em R,G,B */
  --c1-800: var(--brand-teal-dark);
  --c1-900: var(--brand-dark);
  --accent: var(--amber);
  --ink: var(--brand-dark);
  --ink-soft: rgba(4,33,29,0.72);
  --bg-alt: rgba(4,33,29,0.045);
  --bg-alt-2: rgba(4,33,29,0.02);

  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 10px;
  --shadow-soft: 0 24px 60px -20px rgba(4,33,29,0.35);
  --shadow-card: 0 16px 40px -18px rgba(4,33,29,0.18);

  --font-title: 'Montserrat', sans-serif;
  --font-body: 'Maven Pro', sans-serif;
  --fs-h1: clamp(2rem, 3.8vw, 3.1rem); /* tamanho único de todo título nível H1 */
  --fs-h2: clamp(1.6rem, 2.7vw, 2.3rem);

  --container: 1180px;
  --section-y: 96px;          /* respiro vertical padrão de seção */
  /* breakpoints (só referência; CSS não aceita var em @media): 980 tablet · 720 mobile · 560 · 480 */
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
/* fundo de ponta a ponta, mesmo dentro do container estreito do tema */
section{
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}
.container{ max-width: var(--container); margin: 0 auto; padding: 0 24px; }

h1,h2,h3,h4{ font-family: var(--font-title); font-weight:700; color: var(--ink); line-height:1.2; letter-spacing:-0.01em; }
h1, .h1-size{ font-size: var(--fs-h1); }
h2{ font-size: var(--fs-h2); }
h3{ font-size: 1.15rem; }
p{ font-size: 1.02rem; color: var(--ink-soft); }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-title); font-weight:700; font-size:0.75rem;
  letter-spacing:0.14em; text-transform:uppercase; color: var(--c1);
  margin-bottom: 14px;
}
.eyebrow::before{ content:''; width:8px; height:8px; border-radius:50%; background: var(--accent); display:inline-block; }

/* classe de contraste: obrigatória no contêiner de todo fundo escuro */
.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4{ color: var(--white); }
.on-dark p{ color: rgba(255,255,255,0.82); }
.on-dark .eyebrow{ color: var(--sage); }
.on-dark .eyebrow::before{ background: var(--accent); }

/* ===== glass ===== */
.glass{
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.24);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

/* ===== botões ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family: var(--font-body); font-weight:700; font-size:0.95rem;
  padding: 14px 28px; border-radius: 999px; border: none; cursor:pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space: nowrap; text-decoration: none !important;
}
.btn-primary{ background: var(--c1); color: var(--white); box-shadow: 0 14px 30px -10px rgba(var(--c1-rgb),0.55); }
.btn-primary:hover{ transform: translateY(-2px); filter: brightness(0.9); }
.btn-ghost{ background: rgba(255,255,255,0.14); color: var(--white); border:1px solid rgba(255,255,255,0.4); }
.btn-ghost:hover{ background: rgba(255,255,255,0.22); }
.btn-ghost-outline{
  display:inline-flex; align-items:center; justify-content:center;
  font-family: var(--font-body); font-weight:700; font-size:0.88rem;
  padding: 12px 22px; border-radius:999px; border: 1.5px solid var(--c1);
  color: var(--c1); background: transparent; white-space:nowrap;
  transition: background .18s ease, color .18s ease;
  text-decoration: none !important;
}
.btn-ghost-outline:hover{ background: var(--c1); color: var(--white); }
.btn:focus-visible, .btn-ghost-outline:focus-visible, .card-link:focus-visible{ outline: 3px solid var(--accent); outline-offset: 3px; }

/* ===== placeholder de imagem (enquanto a foto real não chega) ===== */
.img-placeholder{
  width:100%; aspect-ratio: 4/4.6; border-radius: var(--radius-lg);
  background: repeating-linear-gradient(45deg, rgba(var(--c1-rgb),0.06), rgba(var(--c1-rgb),0.06) 12px, rgba(var(--c1-rgb),0.12) 12px, rgba(var(--c1-rgb),0.12) 24px);
  border: 2px dashed var(--c1);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; color: var(--c1-800); text-align:center; padding: 24px;
  box-shadow: var(--shadow-soft);
}
.img-placeholder span{ font-family: var(--font-body); font-weight:700; font-size:0.82rem; letter-spacing:0.04em; text-transform:uppercase; }
.img-placeholder small{ font-size:0.74rem; color: var(--ink-soft); max-width: 220px; }
.img-placeholder svg{ width:36px; height:36px; opacity:0.6; }

/* foto retangular (Sobre) */
/* height:auto é obrigatório: com width/height na tag img, sem ele a foto fica com a altura fixa do atributo */
.section-photo{
  width:100%; height:auto; aspect-ratio: 4/4.6; object-fit: cover;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-soft);
  display:block;
}
@media (max-width: 720px){ .section-photo{ aspect-ratio: 4/3.4; } }

/* foto com o recorte da marca (o asset já vem recortado, fundo transparente) */
.brand-shape-photo{
  width:100%; height:auto; aspect-ratio: 0.916; object-fit: contain;
  display:block;
}
.brand-shape-photo.is-small{ width:auto; max-width: 150px; flex-shrink:0; }

/* botões menores no celular */
@media (max-width: 720px){ .btn{ font-size:0.82rem; padding: 11px 16px; } }
@media (max-width: 480px){ .btn{ font-size:0.72rem; padding: 9px 12px; } }

/* ===================== HERO ===================== */
.hero{
  padding: 64px 0 72px;
  background: linear-gradient(180deg, var(--bg-alt-2) 0%, var(--white) 100%);
  overflow:hidden;
}
.hero-grid{ display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items:center; }
.hero-copy p.lead{ font-size: 1.12rem; margin: 18px 0 28px; max-width: 480px; }
.hero-ctas{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom: 30px; }
.trust-badges{ display:flex; flex-wrap:wrap; gap: 22px; }
.trust-badge{ display:flex; align-items:center; gap:10px; font-size:0.86rem; font-weight:600; color: var(--ink-soft); }
.trust-badge svg{ width:20px; height:20px; color: var(--c1); flex-shrink:0; }

.hero-visual{ position:relative; }
.hero-stat-card{
  position:absolute; left:-18px; bottom: 26px; z-index:5;
  width: 240px; padding: 18px 20px; border-radius: var(--radius-md);
  background: rgba(4,33,29,0.72); box-shadow: var(--shadow-soft);
  transform: translateZ(0); /* camada própria: o blur do glass não é recalculado a cada rolagem */
}
.hero-stat-card .stat-value{ font-family: var(--font-title); font-size:1.5rem; color: var(--white); font-weight:800; }
.hero-stat-card .stat-label{ font-size:0.8rem; color: rgba(255,255,255,0.82); margin-top:4px; }

@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-visual{ max-width: 420px; margin: 0 auto; }
}
@media (max-width: 720px){
  .hero{ padding: 40px 0 48px; }
  .img-placeholder{ aspect-ratio: 4/3.4; }
  .hero-stat-card{ position:static; width:100%; margin-top:16px; }
}

/* ===================== SOBRE ===================== */
.about{ padding: 72px 0; background: var(--white); }
.about-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items:center; }
.about-copy p{ margin-bottom: 16px; }
.about-copy p.note{ font-size:0.8rem; margin-top:4px; }
@media (max-width: 980px){ .about-grid{ grid-template-columns: 1fr; } .about-grid .section-photo{ max-width: 380px; margin: 0 auto; } }

/* ===================== CABEÇALHO DE SEÇÃO E GRIDS ===================== */
.section-head{ max-width: 640px; margin: 0 auto 48px; text-align:center; }
.section-head.left{ margin: 0 0 48px; text-align:left; }
.cards-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cards-2x2{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 980px){ .cards-3, .cards-2x2{ grid-template-columns: 1fr; } }

/* ===================== PRODUTOS / PÚBLICO ===================== */
.publico{ padding: var(--section-y) 0; background: var(--bg-alt); }
.public-card{
  background: var(--white); border-radius: var(--radius-md); padding: 30px 26px;
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(var(--c1-rgb),0.12);
  display:flex; flex-direction:column;
}
.public-card.is-featured{ border: 2px solid var(--c1); box-shadow: 0 22px 48px -18px rgba(var(--c1-rgb),0.35); }
.public-card .card-link{
  margin-top:auto; padding-top:14px; display:inline-flex; align-items:center; gap:6px;
  font-size:0.9rem; font-weight:700; color: var(--c1); text-decoration:none !important;
  transition: gap .15s ease;
}
.public-card .card-link svg{ width:16px; height:16px; }
.public-card .card-link:hover{ gap:10px; }
.public-card .tag{
  display:inline-block; align-self:flex-start; font-size:0.72rem; font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; color: var(--c1); background: rgba(var(--c1-rgb),0.1);
  padding: 5px 12px; border-radius: 999px; margin-bottom: 16px;
}
.public-card .icon-wrap{
  width:48px; height:48px; border-radius: 14px; background: var(--c1);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.public-card .icon-wrap svg{ width:24px; height:24px; color:#fff; }
.public-card .icon-wrap img{ width:26px; height:26px; object-fit:contain; }
.public-card h3{ margin-bottom:8px; }
.public-card p{ font-size:0.95rem; }

/* ===================== BENEFÍCIOS ===================== */
.diferenciais{ padding: var(--section-y) 0; background: var(--white); }
.diff-card{
  display:flex; gap:18px; align-items:flex-start;
  background: var(--bg-alt-2); border-radius: var(--radius-md); padding: 28px;
}
.diff-card .icon-wrap{
  width:52px; height:52px; border-radius: 14px; background: var(--accent);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.diff-card .icon-wrap svg{ width:26px; height:26px; color: var(--ink); }
.diff-card h3{ margin-bottom:6px; }
.diff-card p{ font-size:0.95rem; margin:0; }

/* Como funciona: foto quadrada com cantos arredondados, sem o recorte da marca (pedido de 27/10/2026) */
.processo .section-photo{ aspect-ratio: 1/1; }
@media (max-width: 980px){ .processo .section-photo{ max-width: 420px; margin: 0 auto; } }

/* ===================== CTA BAND ===================== */
.cta-band{ padding: 64px 0; background: var(--c1); text-align:center; }
.cta-band h2{ margin-bottom: 10px; color: var(--white); }
.cta-band p{ margin-bottom: 26px; color: var(--white); opacity:0.88; }
.cta-band .btn-primary{ background: var(--accent); color: var(--ink); box-shadow: 0 14px 30px -10px rgba(0,0,0,0.35); }
.cta-band .btn-primary:hover{ filter: brightness(0.92); }

/* ===================== COMO FUNCIONA (fundo escuro) ===================== */
.processo{
  padding: 100px 0;
  background: linear-gradient(180deg, var(--c1-900) 0%, var(--c1-800) 100%);
}
.processo-grid{ display:grid; grid-template-columns: 1fr 0.9fr; gap: 56px; align-items:center; }
.steps{ margin-top: 32px; display:flex; flex-direction:column; gap: 22px; }
.step{ display:flex; gap:18px; align-items:flex-start; }
.step .num{
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background: var(--accent); color: var(--c1-900); font-family: var(--font-title);
  font-weight:800; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.step h4{ color:#fff; font-family: var(--font-title); font-weight:700; font-size:1.02rem; margin-bottom:4px; }
.step p{ color: rgba(255,255,255,0.78); font-size:0.94rem; margin:0; }
@media (max-width: 980px){ .processo-grid{ grid-template-columns: 1fr; } .processo .brand-shape-photo{ max-width:380px; margin:0 auto; } }

/* ===================== PARCEIROS (obrigatória em toda LP) ===================== */
.parceiros{ padding: 44px 0; background: var(--bg-alt); border-top: 1px solid rgba(4,33,29,0.08); border-bottom: 1px solid rgba(4,33,29,0.08); }
.parceiros-inner{ display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.parceiros-copy-group{ display:flex; align-items:center; gap:20px; }
.parceiros-copy-group .brand-shape-photo{ opacity:0.92; }
.parceiros h3{ font-size:1.15rem; margin-bottom:4px; }
.parceiros p{ font-size:0.92rem; margin:0; max-width: 520px; }
@media (max-width: 720px){ .parceiros-inner{ flex-direction:column; align-items:flex-start; } }
@media (max-width: 560px){ .parceiros-copy-group{ flex-direction:column; align-items:flex-start; gap:14px; } .parceiros-copy-group .brand-shape-photo.is-small{ max-width:110px; } }

/* ===================== PERGUNTAS FREQUENTES (opcional) ===================== */
.faq{ padding: var(--section-y) 0; background: var(--white); }
.faq-list{ max-width: 800px; margin: 0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{ background: var(--bg-alt-2); border: 1px solid rgba(4,33,29,0.08); border-radius: var(--radius-md); }
.faq-item summary{
  list-style:none; cursor:pointer; padding: 20px 56px 20px 24px; position:relative;
  font-family: var(--font-title); font-weight:700; font-size:1.02rem; color: var(--ink); line-height:1.35;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:'+'; position:absolute; right:22px; top:50%; transform:translateY(-50%);
  font-family: var(--font-body); font-weight:700; font-size:1.5rem; color: var(--c1); line-height:1;
}
.faq-item[open] summary::after{ content:'\2212'; }
.faq-item p{ padding: 0 24px 22px; font-size:0.98rem; }
.faq-item[open]{ background: var(--white); box-shadow: 0 16px 40px -22px rgba(4,33,29,0.22); }

/* ===================== FORMULÁRIO EM IFRAME (moldura) ===================== */
/* Só para iframe ou shortcode. O bloco .baru-form traz o próprio CSS. */
.formulario{ padding: var(--section-y) 0; background: var(--bg-alt-2); }
.form-shell{ max-width: 720px; margin:0 auto; }
.form-embed{ background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
/* !important vence o style="max-height:100vh" que alguns embeds trazem (rolagem dentro de rolagem no celular) */
.form-embed iframe{ display:block; width:100%; height: 820px; max-height: none !important; }
@media (max-width: 720px){ .formulario{ padding: 64px 0; } .form-embed iframe{ height: 900px; } }

/* placeholder visível enquanto o formulário da página não é definido (nunca vai ao ar) */
.form-placeholder{
  border: 2px dashed var(--c1); border-radius: var(--radius-lg);
  padding: 64px 32px; text-align:center; background: rgba(var(--c1-rgb),0.05);
}
.form-placeholder svg{ width:44px; height:44px; color: var(--c1); margin: 0 auto 16px; }
.form-placeholder h3{ margin-bottom:8px; }
.form-placeholder p{ max-width: 420px; margin: 0 auto; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .btn, .btn-ghost-outline, .card-link{ transition: none; }
}

/* cor de destaque desta página (DESIGN_SYSTEM.md, seção 2.3: hub) */
:root{ --c1: var(--brand-teal); --c1-rgb: 41,157,143; }
/* lista de produtos dentro de cada card do portfólio */
.public-card .produtos-links{ list-style:none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(4,33,29,0.08); display:flex; flex-direction:column; gap: 8px; margin-top:auto; }
.public-card .produtos-links a{ display:inline-flex; align-items:center; gap:6px; font-size:0.9rem; font-weight:700; color: var(--c1-800); text-decoration:none !important; transition: gap .15s ease; }
.public-card .produtos-links a:hover{ gap:10px; color: var(--c1); }
.public-card .produtos-links svg{ width:15px; height:15px; flex-shrink:0; }
.public-card p{ margin-bottom: 4px; }
.diferenciais .section-head{ max-width: 760px; }
.diferenciais .section-head p{ margin-top: 14px; }
.baru-lp .public-card .produtos-links a{ font-weight: 700 !important; text-decoration: none !important; color: var(--c1-800) !important; }

/* Quem somos: mesmo layout do bloco Institucional da Home (foto da equipe, detalhe no formato da marca, selo e 3 pilares) */
.inst-band{ padding: var(--section-y) 0; background: linear-gradient(180deg, var(--bg-alt) 0%, var(--white) 100%); overflow:hidden; }
.inst-grid{ display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 72px; align-items:center; }
.inst-visual{ position:relative; padding: 0 56px 56px 0; }
.inst-foto{ position:relative; z-index:1; width:100%; height:auto; aspect-ratio: 16/9; object-fit:cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); display:block; }
.inst-foto-detalhe{ position:absolute; z-index:2; right:-8px; bottom:-6px; width:40%; height:auto; aspect-ratio: 440/453; object-fit:contain; filter: drop-shadow(0 18px 30px rgba(4,33,29,0.28)); display:block; }
.inst-selo{ position:absolute; z-index:3; left:24px; bottom:20px; padding: 16px 20px; border-radius: var(--radius-md); background: rgba(4,33,29,0.82); box-shadow: var(--shadow-soft); }
.baru-lp .inst-selo strong, .baru-lp .inst-selo span{ display:block; font-family: var(--font-title) !important; font-weight:800 !important; font-size:1.05rem; line-height:1.25; color: var(--white); }
.baru-lp .inst-selo span{ color: var(--amber); }
.inst-copy h2{ margin-bottom: 16px; }
.inst-lead{ margin-bottom: 28px; max-width: 520px; }
.inst-pilares{ list-style:none; display:flex; flex-direction:column; gap: 14px; margin: 0 0 32px; padding:0; }
.inst-pilares li{ display:flex; gap: 16px; align-items:flex-start; background: var(--white); border-radius: var(--radius-md); padding: 16px 18px; box-shadow: 0 16px 40px -26px rgba(4,33,29,0.35); border: 1px solid rgba(var(--c1-rgb),0.14); }
.inst-ico{ width:44px; height:44px; border-radius: 12px; background: var(--c1); color: var(--white); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.inst-ico svg{ width:22px; height:22px; }
.baru-lp .inst-pilares strong{ display:block; font-family: var(--font-title) !important; font-weight:700 !important; font-size:1rem; color: var(--ink); margin-bottom:2px; }
.inst-pilares p{ font-size:0.9rem; margin:0; }
.inst-acoes{ display:flex; align-items:center; gap: 24px; flex-wrap:wrap; }
.baru-lp .inst-link{ display:inline-flex; align-items:center; gap:6px; font-weight:700 !important; font-size:0.94rem; color: var(--c1-800) !important; text-decoration:none !important; }
.inst-link svg{ width:16px; height:16px; transition: transform .15s ease; }
.inst-link:hover svg{ transform: translateX(3px); }
@media (max-width: 980px){ .inst-grid{ grid-template-columns: 1fr; gap: 48px; } .inst-visual{ max-width: 640px; margin: 0 auto; width:100%; } }
@media (max-width: 560px){
  .inst-visual{ padding: 0 0 40px 0; }
  .inst-foto-detalhe{ width:38%; right:-4px; }
  .inst-selo{ left:12px; bottom:12px; padding: 12px 14px; }
  .baru-lp .inst-selo strong, .baru-lp .inst-selo span{ font-size:0.92rem; }
}
/* ===================== BLINDAGEM TIPOGRÁFICA (WordPress / Elementor) =====================
   O tema do WordPress (Elementor, "Estilos globais" do kit) aplica fonte, peso, espaçamento e cor
   em h1 a h4, p e links com seletores mais fortes que os da LP. Sem este bloco, títulos e textos
   trocam de fonte quando o HTML é colado no WordPress. Todo o conteúdo da LP fica dentro de
   <div class="baru-lp">, e as regras abaixo usam !important só para tipografia e cor de botões.
   Não vale para o formulário em iframe (ele tem o estilo próprio). */
.baru-lp{ font-family: var(--font-body) !important; color: var(--ink); line-height: 1.55; }
.baru-lp p, .baru-lp li, .baru-lp a, .baru-lp span, .baru-lp small, .baru-lp strong,
.baru-lp em, .baru-lp label, .baru-lp button, .baru-lp div{
  font-family: var(--font-body) !important; letter-spacing: normal !important; text-transform: none;
}
.baru-lp p{ font-weight: 400 !important; line-height: 1.55 !important; letter-spacing: normal !important; text-transform: none !important; }
.baru-lp h1, .baru-lp h2, .baru-lp h3, .baru-lp h4,
.baru-lp .eyebrow, .baru-lp .stat-value, .baru-lp .step .num{
  font-family: var(--font-title) !important; font-style: normal !important;
}
.baru-lp h1, .baru-lp h2, .baru-lp h3, .baru-lp h4{
  font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -0.01em !important;
  text-transform: none !important; margin-top: 0;
}
.baru-lp h1, .baru-lp .h1-size{ font-size: var(--fs-h1) !important; }
.baru-lp h2{ font-size: clamp(1.6rem, 2.7vw, 2.3rem) !important; }
.baru-lp h3{ font-size: 1.15rem !important; }
.baru-lp .step h4{ font-size: 1.02rem !important; }
.baru-lp .eyebrow{ font-weight: 700 !important; font-size: 0.75rem !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; }
.baru-lp .stat-value, .baru-lp .step .num{ font-weight: 800 !important; }
.baru-lp .trust-badge{ font-weight: 600 !important; }
.baru-lp .public-card .tag{ font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; }
.baru-lp .btn, .baru-lp .btn-ghost-outline, .baru-lp .card-link{ font-weight: 700 !important; text-decoration: none !important; }
.baru-lp a.btn-primary, .baru-lp a.btn-primary:hover{ color: var(--white) !important; }
.baru-lp .cta-band a.btn-primary, .baru-lp .cta-band a.btn-primary:hover{ color: var(--ink) !important; }
.baru-lp a.btn-ghost-outline{ color: var(--c1) !important; }
.baru-lp a.btn-ghost-outline:hover{ color: var(--white) !important; }
.baru-lp a.card-link, .baru-lp a.card-link:hover{ color: var(--c1) !important; }