*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: #FAFAF9;
  color: #0E1621;
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

:root {
  --blue:       #2563EB;
  --blue-hover: #3B82F6;
  --blue-dim:   rgba(37,99,235,0.07);
  --ink:        #0E1621;
  --ink-soft:   #141E2B;
  --ink-mid:    #1A2634;
  --ink-muted:  #2D3A4A;
  --paper:      #FAFAF9;
  --paper-warm: #F5F4F0;
  --white:      #FFFFFF;
  --stone:      #64748B;
  --stone-light:#94A3B8;
  --border-l:   rgba(14,22,33,0.07);
  --border-d:   rgba(255,255,255,0.05);
  --green:      #10B981;
  --amber:      #F59E0B;
  --red:        #EF4444;
  --ease:       cubic-bezier(0.16,1,0.3,1);
  --font-display:'Plus Jakarta Sans', sans-serif;
  --font-body:   'DM Sans', sans-serif;
  --font-mono:   'DM Mono', monospace;
}

/* ─── ACESSIBILIDADE / SEO ───────────────────────── */
/* Texto lido por leitor de tela e por crawler, invisível na tela.
   Use para dar contexto onde o design não comporta palavra-chave. */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ─── NOISE TEXTURE ──────────────────────────────── */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:.025;
}

/* ─── ANIMATIONS ─────────────────────────────────── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@keyframes slideIn  { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:none} }
@keyframes blink    { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes pulse    { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

.fade-up   { animation: fadeUp .75s var(--ease) both; }
.fade-up-1 { animation-delay:.08s }
.fade-up-2 { animation-delay:.22s }
.fade-up-3 { animation-delay:.38s }
.fade-up-4 { animation-delay:.54s }

/* Respeita quem desligou animação no sistema */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ─── LAYOUT UTILS ───────────────────────────────── */
.container { max-width:1200px; margin:0 auto; padding:0 32px; }
.section    { padding: clamp(80px,10vw,140px) 32px; }
.label {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue);
  margin-bottom:16px; display:block;
}
.section-title {
  font-family:var(--font-display); font-size:clamp(28px,3.2vw,46px);
  font-weight:700; line-height:1.05; letter-spacing:-.03em; color:var(--ink);
}
.section-title.light { color:#FAFAF9; }
.section-desc {
  font-family:var(--font-body); font-size:17px; line-height:1.75; color:var(--stone);
  align-self:flex-end;
}
.section-desc.light { color:var(--stone-light); }
.section-header {
  display:grid; grid-template-columns:1fr 1fr;
  gap:40px; align-items:flex-end; margin-bottom:64px;
}

/* ─── BUTTONS ────────────────────────────────────── */
.btn-primary {
  font-family:var(--font-body); font-size:14px; font-weight:600;
  background:var(--blue); color:#fff; padding:14px 28px; border-radius:8px;
  border:none; cursor:pointer; transition:all .25s var(--ease); display:inline-block;
  text-decoration:none; line-height:1;
}
.btn-primary:hover {
  background:var(--blue-hover); box-shadow:0 8px 32px rgba(37,99,235,.3);
  transform:translateY(-2px);
}
.btn-ghost {
  font-family:var(--font-body); font-size:14px; font-weight:500;
  background:transparent; color:var(--ink); padding:14px 28px; border-radius:8px;
  border:1px solid rgba(14,22,33,.12); cursor:pointer; transition:all .25s;
  text-decoration:none; display:inline-block; line-height:1;
}
.btn-ghost:hover { background:rgba(14,22,33,.04); border-color:rgba(14,22,33,.2); }

/* ═══════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════ */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000; height:60px;
  display:flex; align-items:center; padding:0 32px; gap:28px;
  background:rgba(250,250,249,.8); backdrop-filter:blur(20px) saturate(1.4);
  border-bottom:1px solid rgba(14,22,33,.05); transition:all .3s;
}
#navbar.scrolled { background:rgba(250,250,249,.95); border-color:rgba(14,22,33,.08); }
.nav-wordmark {
  font-family:var(--font-display); font-weight:800; font-size:17px;
  letter-spacing:.12em; color:var(--ink); text-transform:uppercase; cursor:pointer;
  text-decoration:none;
}
.nav-links { display:flex; gap:28px; margin-left:auto; align-items:center; }
.nav-link {
  font-family:var(--font-body); font-size:13px; font-weight:500; color:var(--stone);
  text-decoration:none; transition:color .2s; cursor:pointer; background:none; border:none;
}
.nav-link:hover { color:var(--ink); }
.nav-cta {
  font-family:var(--font-body); font-size:13px; font-weight:600;
  background:var(--blue); color:#fff; padding:8px 20px; border-radius:8px;
  border:none; cursor:pointer; transition:all .25s var(--ease);
  text-decoration:none; display:inline-block; line-height:1.4;
}
.nav-cta:hover { background:var(--blue-hover); transform:translateY(-1px); box-shadow:0 8px 32px rgba(37,99,235,.25); }

.footer-legal {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 12px;
}
.footer-legal a {
  color: var(--stone);
  text-decoration: none;
  transition: color .2s;
}
.footer-legal a:hover { color: var(--stone-light); }
.footer-legal .sep { color: var(--ink-muted); }

/* Mobile: empilha junto com copy/version */
@media (max-width: 720px) {
  .footer-bottom { gap: 6px; }
  .footer-legal { order: 2; }
}

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
#hero {
  min-height:100vh; display:flex; align-items:center;
  padding:0 32px; padding-top:60px;
  background:var(--paper); position:relative; overflow:hidden;
}
#hero::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 80% 20%, rgba(37,99,235,.04) 0%, transparent 60%);
}
.hero-grid {
  max-width:1200px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 520px; gap:72px; align-items:center;
}
.hero-eyebrow {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:28px;
}
.hero-h1 {
  font-family:var(--font-display); font-size:clamp(36px,4.2vw,68px);
  font-weight:800; line-height:.97; letter-spacing:-.04em; color:var(--ink); margin-bottom:32px;
}
.hero-h1 span { color:var(--blue); }
.hero-p1 { font-size:17px; line-height:1.7; color:var(--stone); max-width:460px; margin-bottom:14px; }
.hero-p2 { font-size:14px; line-height:1.6; color:var(--stone-light); max-width:440px; margin-bottom:40px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.hero-fine {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--stone-light);
}

/* ── Dashboard ── */
.dash-wrap { position:relative; }
.dash-window {
  background:#fff; border:1px solid rgba(14,22,33,.08); border-radius:16px;
  box-shadow:0 24px 64px rgba(14,22,33,.1), 0 2px 8px rgba(14,22,33,.06);
  overflow:hidden;
}
.dash-chrome {
  padding:12px 16px; border-bottom:1px solid var(--border-l); display:flex;
  align-items:center; gap:8px; background:#FAFAF9;
}
.dash-dot { width:10px; height:10px; border-radius:50%; opacity:.75; }
.dash-chrome-label {
  font-family:var(--font-mono); font-size:10px; color:var(--stone-light);
  margin-left:auto; letter-spacing:.06em;
}
.dash-kpis {
  display:grid; grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--border-l); background:#FAFAF9;
}
.dash-kpi {
  padding:14px 16px;
  border-right:1px solid var(--border-l);
}
.dash-kpi:last-child { border-right:none; }
.dash-kpi-val {
  font-family:var(--font-display); font-size:22px; font-weight:700;
  letter-spacing:-.03em; color:var(--ink); line-height:1;
}
.dash-kpi-row { display:flex; justify-content:space-between; align-items:center; margin-top:4px; }
.dash-kpi-label { font-family:var(--font-body); font-size:11px; color:var(--stone-light); }
.dash-kpi-trend { font-family:var(--font-mono); font-size:10px; color:var(--green); letter-spacing:.04em; }
.dash-board {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; padding:12px; background:#F8F9FA; min-height:200px;
}
.dash-col { padding:0 6px; }
.dash-col-header {
  display:flex; align-items:center; gap:6px; margin-bottom:10px;
}
.dash-col-dot { width:6px; height:6px; border-radius:50%; }
.dash-col-name {
  font-family:var(--font-mono); font-size:9px; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; color:var(--stone-light);
}
.dash-col-count {
  font-family:var(--font-mono); font-size:9px; color:#CBD5E1; margin-left:auto;
}
.dash-cards { display:flex; flex-direction:column; gap:6px; }
.dash-card {
  background:#fff; border:1px solid rgba(14,22,33,.07); border-radius:8px;
  padding:10px; transition:all .2s; cursor:default;
}
.dash-card:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(14,22,33,.08); }
.dash-card-name {
  font-family:var(--font-body); font-size:11px; font-weight:600;
  color:var(--ink); margin-bottom:4px; line-height:1.3;
}
.dash-card-meta { display:flex; justify-content:space-between; }
.dash-card-src { font-family:var(--font-mono); font-size:9px; color:var(--stone-light); }
.dash-card-time { font-family:var(--font-mono); font-size:9px; color:#CBD5E1; }

/* Notification badge */
.dash-notif {
  position:absolute; top:-16px; right:-16px;
  background:var(--ink); border:1px solid rgba(255,255,255,.08); border-radius:12px;
  padding:12px 16px; box-shadow:0 8px 32px rgba(14,22,33,.2);
  display:flex; gap:10px; align-items:flex-start; max-width:220px;
  animation:slideIn .4s var(--ease) .6s both;
}
.dash-notif-dot { width:8px; height:8px; border-radius:50%; background:var(--green); margin-top:3px; flex-shrink:0; }
.dash-notif-title { font-family:var(--font-body); font-size:12px; font-weight:600; color:#FAFAF9; margin-bottom:2px; }
.dash-notif-sub { font-family:var(--font-body); font-size:11px; color:var(--stone-light); line-height:1.4; }
.dash-badge {
  position:absolute; bottom:-18px; left:-18px;
  background:var(--blue); border-radius:12px; padding:10px 16px;
  box-shadow:0 8px 32px rgba(37,99,235,.35);
  display:flex; gap:10px; align-items:center;
  animation:slideIn .4s var(--ease) .9s both;
}
.dash-badge-val {
  font-family:var(--font-display); font-size:20px; font-weight:700;
  letter-spacing:-.03em; color:#fff;
}
.dash-badge-label {
  font-family:var(--font-mono); font-size:9px; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6);
}
.dash-badge-tag {
  font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,.8);
}

/* ═══════════════════════════════════════════════════
   PAIN
═══════════════════════════════════════════════════ */
#pain { background:var(--paper-warm); border-top:1px solid var(--border-l); }
.pain-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.pain-h2 {
  font-family:var(--font-display); font-size:clamp(26px,3vw,42px);
  font-weight:700; line-height:1.05; letter-spacing:-.03em; color:var(--ink); margin-bottom:28px;
}
.pain-h2 span { color:var(--blue); }
.pain-sub { font-size:17px; line-height:1.75; color:var(--stone); margin-bottom:14px; }
.pain-strong { font-size:17px; line-height:1.75; color:var(--ink); font-weight:600; }
.pain-list {
  background:#fff; border-radius:16px; border:1px solid var(--border-l);
  overflow:hidden; box-shadow:0 4px 24px rgba(14,22,33,.05);
}
.pain-item {
  display:flex; align-items:center; gap:16px;
  padding:18px 24px; border-bottom:1px solid rgba(14,22,33,.05);
  transition:all .2s var(--ease); cursor:default;
}
.pain-item:last-child { border-bottom:none; }
.pain-item:hover { background:rgba(37,99,235,.02); padding-left:32px; }
.pain-item.last { background:rgba(239,68,68,.03); }
.pain-item.last:hover { background:rgba(239,68,68,.05); padding-left:32px; }
.pain-num {
  font-family:var(--font-mono); font-size:11px; color:#CBD5E1; min-width:28px; flex-shrink:0;
}
.pain-item.last .pain-num { color:var(--red); }
.pain-text { font-family:var(--font-body); font-size:14px; line-height:1.5; color:var(--stone); transition:color .2s; }
.pain-item:hover .pain-text { color:var(--ink); }
.pain-item.last .pain-text { color:var(--red); font-style:italic; font-weight:500; }

/* ═══════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════ */
#servicos { background:var(--paper); }
.services-list { border-top:1px solid var(--border-l); }
.service-row {
  display:grid; grid-template-columns:72px 1fr 1.4fr; gap:40px; align-items:start;
  padding:32px 0; border-bottom:1px solid var(--border-l);
  transition:padding-left .3s var(--ease); cursor:default;
}
.service-row:hover { padding-left:16px; }
.service-num {
  font-family:var(--font-mono); font-size:13px; font-weight:500;
  color:var(--stone-light); padding-top:4px; transition:color .25s;
}
.service-row:hover .service-num { color:var(--blue); }
.service-tag {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--stone-light); margin-bottom:10px;
}
.service-headline {
  font-family:var(--font-display); font-size:clamp(17px,1.8vw,21px);
  font-weight:600; line-height:1.25; letter-spacing:-.02em; color:var(--ink);
}
.service-desc { font-family:var(--font-body); font-size:15px; line-height:1.75; color:var(--stone); padding-top:4px; }

/* Link "saiba mais" dentro da linha de serviço (para as páginas internas) */
.service-more {
  font-family:var(--font-body); font-size:13px; font-weight:600;
  color:var(--blue); text-decoration:none; display:inline-block; margin-top:12px;
  transition:opacity .2s;
}
.service-more:hover { opacity:.75; }

/* ═══════════════════════════════════════════════════
   CASES
═══════════════════════════════════════════════════ */
#casos { background:var(--ink); position:relative; overflow:hidden; }
#casos::before {
  content:''; position:absolute; bottom:10%; right:5%; width:500px; height:500px;
  background:radial-gradient(circle, rgba(37,99,235,.05) 0%, transparent 70%); pointer-events:none;
}
.cases-tabs {
  display:flex; gap:4px; margin-bottom:40px;
  background:#141E2B; padding:4px; border-radius:12px; width:fit-content;
  border:1px solid rgba(255,255,255,.05);
}
.cases-tab {
  font-family:var(--font-body); font-size:13px; font-weight:600;
  padding:10px 20px; border-radius:9px; border:none; cursor:pointer;
  background:transparent; color:var(--stone); transition:all .2s;
}
.cases-tab.active {
  background:#1A2634; color:#FAFAF9;
  box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.case-panel { display:none; }
.case-panel.active { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; }
.case-card {
  background:#141E2B; border:1px solid rgba(255,255,255,.05); border-radius:16px;
  padding:48px; display:flex; flex-direction:column; gap:0;
}
.case-tag {
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.06em; color:var(--blue); background:rgba(37,99,235,.07);
  padding:5px 12px; border-radius:100px; display:inline-block; margin-bottom:28px; width:fit-content;
}
.case-name {
  font-family:var(--font-display); font-size:clamp(22px,2.8vw,34px);
  font-weight:700; line-height:1.1; letter-spacing:-.03em; color:#FAFAF9; margin-bottom:32px;
}
.case-micro {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:10px;
}
.case-problem { font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--stone-light); margin-bottom:20px; }
.case-action { font-family:var(--font-body); font-size:15px; line-height:1.7; color:#FAFAF9; margin-bottom:36px; }
.case-quote-bar {
  border-left:2px solid var(--blue); padding-left:20px; margin-top:auto;
}
.case-quote {
  font-family:var(--font-body); font-size:16px; line-height:1.6; color:#FAFAF9;
  font-style:italic; margin-bottom:8px;
}
.case-quote-src {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; color:var(--stone);
}
.case-metrics { display:flex; flex-direction:column; gap:16px; }
.case-metric {
  background:#141E2B; border:1px solid rgba(255,255,255,.05); border-radius:16px;
  padding:28px 32px; flex:1;
}
.case-metric-val {
  font-family:var(--font-display); font-size:clamp(28px,3.5vw,44px);
  font-weight:700; line-height:1; letter-spacing:-.04em; color:#FAFAF9; margin-bottom:8px;
}
.case-metric-label {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; color:var(--stone);
}
.cases-bottom { margin-top:48px; text-align:center; }
.cases-bottom p { font-family:var(--font-body); font-size:16px; color:var(--stone); margin-bottom:20px; }

/* ═══════════════════════════════════════════════════
   METHOD
═══════════════════════════════════════════════════ */
#metodo { background:var(--paper); }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.method-card {
  background:#fff; border:1px solid var(--border-l); border-radius:16px; padding:40px;
  transition:all .3s var(--ease); cursor:default;
}
.method-card:hover {
  border-color:rgba(37,99,235,.15); transform:translateY(-4px);
  box-shadow:0 8px 32px rgba(14,22,33,.08);
}
.method-num {
  font-family:var(--font-mono); font-size:13px; font-weight:500;
  color:var(--blue); margin-bottom:32px; letter-spacing:.06em;
}
.method-title {
  font-family:var(--font-display); font-size:clamp(17px,2vw,21px);
  font-weight:600; line-height:1.25; letter-spacing:-.02em; color:var(--ink); margin-bottom:16px;
}
.method-desc { font-family:var(--font-body); font-size:15px; line-height:1.75; color:var(--stone); }

/* ═══════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════ */
#faq { background:#fff; }
.faq-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.4fr; gap:80px;
}
.faq-left { position:sticky; top:80px; align-self:start; }
.faq-list { border-top:1px solid var(--border-l); }
.faq-item { border-bottom:1px solid var(--border-l); cursor:pointer; }
.faq-q {
  width:100%; background:none; border:none; text-align:left; cursor:pointer; font:inherit;
  display:flex; justify-content:space-between; align-items:center;
  padding:24px 0; gap:20px;
}
.faq-q-text {
  font-family:var(--font-display); font-size:clamp(16px,1.8vw,20px);
  font-weight:600; line-height:1.25; letter-spacing:-.01em; color:var(--ink);
}
.faq-icon {
  font-family:var(--font-mono); font-size:18px; color:var(--blue);
  transition:transform .25s var(--ease); flex-shrink:0; line-height:1; user-select:none;
}
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a {
  overflow:hidden; max-height:0; transition:max-height .4s var(--ease);
}
.faq-item.open .faq-a { max-height:300px; }
.faq-a p {
  font-family:var(--font-body); font-size:16px; line-height:1.75;
  color:var(--stone); padding-bottom:24px;
}

/* ═══════════════════════════════════════════════════
   CTA
═══════════════════════════════════════════════════ */
#cta {
  background:#080C14; padding:clamp(80px,10vw,140px) 32px;
  position:relative; overflow:hidden; border-top:1px solid rgba(255,255,255,.04);
}
#cta::before {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:900px; height:900px;
  background:radial-gradient(circle, rgba(37,99,235,.06) 0%, transparent 65%);
  pointer-events:none;
}
.cta-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; position:relative;
}
.cta-h2 {
  font-family:var(--font-display); font-size:clamp(30px,4.5vw,60px);
  font-weight:800; line-height:1; letter-spacing:-.04em; color:#FAFAF9; margin-bottom:0;
}
.cta-h2 span { color:var(--blue); }
.cta-box {
  background:#141E2B; border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:48px;
}
.cta-box-p1 {
  font-family:var(--font-body); font-size:17px; line-height:1.75;
  color:var(--stone-light); margin-bottom:28px;
}
.cta-box-p2 {
  font-family:var(--font-body); font-size:16px; line-height:1.75;
  color:#FAFAF9; margin-bottom:36px;
}
.btn-primary-lg {
  width:100%; font-family:var(--font-body); font-size:15px; font-weight:600;
  background:var(--blue); color:#fff; padding:16px 32px; border-radius:8px;
  border:none; cursor:pointer; transition:all .25s var(--ease); margin-bottom:14px;
  display:block; text-align:center; text-decoration:none;
}
.btn-primary-lg:hover { background:var(--blue-hover); box-shadow:0 8px 32px rgba(37,99,235,.3); transform:translateY(-2px); }
.cta-fine {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.04em;
  color:var(--ink-muted); text-align:center; display:block;
}
.cta-eyebrow { color:var(--blue); font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px; display:block; }

/* ═══════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════ */
#footer {
  background:#080C14; border-top:1px solid rgba(255,255,255,.04);
  padding:72px 32px 32px;
}
.footer-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px;
}
.footer-wordmark {
  font-family:var(--font-display); font-weight:800; font-size:17px;
  letter-spacing:.12em; color:#FAFAF9; text-transform:uppercase; margin-bottom:12px;
}
.footer-tagline { font-size:14px; color:var(--stone-light); line-height:1.7; margin-bottom:8px; }
.footer-sub { font-size:13px; color:var(--stone); line-height:1.6; }
.footer-col-title {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:20px;
}
.footer-link {
  font-family:var(--font-body); font-size:13px; color:var(--stone);
  margin-bottom:10px; cursor:pointer; transition:color .2s; display:block; text-decoration:none;
}
.footer-link:hover { color:var(--stone-light); }
.footer-bottom {
  max-width:1200px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,.04); padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
}
.footer-copy { font-family:var(--font-body); font-size:12px; color:var(--ink-muted); }
.footer-version { font-family:var(--font-mono); font-size:10px; color:var(--ink-muted); letter-spacing:.06em; text-transform:uppercase; }

/* ─── CTA mini in footer ─ */
.footer-cta-p { font-size:13px; color:var(--stone); line-height:1.7; margin-bottom:16px; }
.footer-cta-link {
  font-family:var(--font-body); font-size:12px; font-weight:600;
  color:var(--blue); background:none; border:none; cursor:pointer;
  display:flex; align-items:center; gap:6px; transition:gap .2s;
  text-decoration:none;
}
.footer-cta-link:hover { gap:10px; }

/* ═══════════════════════════════════════════════════
   MOBILE NAV — HAMBURGER + OVERLAY
═══════════════════════════════════════════════════ */
.nav-toggle {
  display:none; position:relative; width:44px; height:44px;
  background:transparent; border:1px solid rgba(14,22,33,.10); border-radius:10px;
  cursor:pointer; margin-left:auto; padding:0;
  transition:all .25s var(--ease);
}
.nav-toggle:hover { border-color:rgba(14,22,33,.20); background:rgba(14,22,33,.03); }
.nav-toggle span {
  position:absolute; left:11px; right:11px; height:1.5px;
  background:var(--ink); border-radius:2px;
  transition:transform .3s var(--ease), opacity .2s var(--ease), top .3s var(--ease);
}
.nav-toggle span:nth-child(1) { top:15px; }
.nav-toggle span:nth-child(2) { top:21px; }
.nav-toggle span:nth-child(3) { top:27px; }
.nav-toggle.open span:nth-child(1) { top:21px; transform:rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { top:21px; transform:rotate(-45deg); }

.mobile-menu {
  position:fixed; inset:0; z-index:999;
  background:var(--ink);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .35s var(--ease), visibility .35s;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.mobile-menu.open { opacity:1; visibility:visible; pointer-events:auto; }
.mobile-menu::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 80% 15%, rgba(37,99,235,.10) 0%, transparent 55%);
}
.mobile-menu-inner {
  position:relative; z-index:1;
  min-height:100%; min-height:100dvh;
  padding:80px 24px 32px;
  display:flex; flex-direction:column;
  max-width:560px; margin:0 auto;
}
.mobile-menu-head { margin-bottom:36px; }
.mobile-menu-label {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue);
}
.mobile-menu-links {
  display:flex; flex-direction:column;
  border-top:1px solid rgba(255,255,255,.06);
}
.mobile-menu-link {
  display:flex; align-items:center; gap:20px;
  padding:24px 4px; border:none; background:transparent;
  border-bottom:1px solid rgba(255,255,255,.06);
  cursor:pointer; text-align:left; width:100%;
  transition:padding-left .3s var(--ease), background .2s;
  text-decoration:none;
}
.mobile-menu-link:hover, .mobile-menu-link:active { padding-left:12px; background:rgba(255,255,255,.02); }
.mobile-menu-link:active .mobile-menu-text { color:var(--blue); }
.mobile-menu-num {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.08em; color:var(--ink-muted); min-width:24px;
}
.mobile-menu-text {
  font-family:var(--font-display); font-size:30px; font-weight:700;
  letter-spacing:-.03em; color:#FAFAF9; flex:1; line-height:1;
}
.mobile-menu-arrow {
  font-family:var(--font-mono); font-size:18px; color:var(--ink-muted);
  transition:transform .25s var(--ease), color .25s;
}
.mobile-menu-link:hover .mobile-menu-arrow,
.mobile-menu-link:active .mobile-menu-arrow {
  color:var(--blue); transform:translateX(4px);
}
.mobile-menu-foot {
  margin-top:auto; padding-top:40px;
  display:flex; flex-direction:column; align-items:flex-start;
}
.mobile-menu-eyebrow {
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:16px;
}
.mobile-menu-cta {
  font-family:var(--font-body); font-size:15px; font-weight:600;
  background:var(--blue); color:#fff; padding:18px 28px; border-radius:10px;
  border:none; cursor:pointer; width:100%; margin-bottom:14px;
  transition:all .25s var(--ease);
  text-decoration:none; display:block; text-align:center;
}
.mobile-menu-cta:active { background:var(--blue-hover); transform:translateY(1px); }
.mobile-menu-fine {
  font-family:var(--font-body); font-size:12px; color:var(--stone);
  line-height:1.5; padding:0 4px;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — TABLET ≤ 960px
═══════════════════════════════════════════════════ */
@media (max-width: 960px) {
  .section { padding: clamp(64px,9vw,100px) 24px; }
  #cta { padding: clamp(64px,9vw,100px) 24px; }
  .container { padding: 0 24px; }
  #navbar { padding: 0 24px; }

  /* Hero — stack */
  #hero { padding: 0 24px; padding-top: 92px; min-height: auto; padding-bottom: 80px; }
  .hero-grid { grid-template-columns: 1fr; gap: 56px; }
  .hero-h1 { font-size: clamp(38px, 7vw, 56px); }

  /* Pain */
  .pain-grid { grid-template-columns: 1fr; gap: 48px; }

  /* Services rows */
  .service-row { grid-template-columns: 56px 1fr; gap: 20px 24px; padding: 28px 0; }
  .service-row .service-desc { grid-column: 1 / -1; padding-top: 0; }

  /* Cases */
  .case-panel.active { grid-template-columns: 1fr; gap: 16px; }
  .case-card { padding: 36px 28px; }
  .case-metrics { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
  .case-metric { padding: 24px 24px; }

  /* Method */
  .method-grid { grid-template-columns: 1fr; gap: 14px; }
  .method-card { padding: 32px 28px; }
  .method-num { margin-bottom: 20px; }

  /* FAQ */
  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-left { position: static; }

  /* CTA */
  .cta-grid { grid-template-columns: 1fr; gap: 40px; }
  .cta-box { padding: 36px 28px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE ≤ 720px
═══════════════════════════════════════════════════ */
@media (max-width: 720px) {
  /* Show hamburger, hide desktop links */
  .nav-toggle { display:block; }
  .nav-links { display:none; }
  #navbar { padding: 0 20px; gap: 16px; }
  .nav-wordmark { font-size: 16px; }

  .section { padding: 72px 20px; }
  #cta { padding: 72px 20px; }
  .container { padding: 0 20px; }
  #hero { padding: 0 20px; padding-top: 92px; padding-bottom: 64px; }

  /* Section header — kill the asymmetric 2-col */
  .section-header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 44px; }
  .section-desc { align-self: stretch; }
  .section-title { font-size: clamp(26px, 7.5vw, 38px); }

  /* Hero typography */
  .hero-eyebrow { margin-bottom: 20px; font-size: 10.5px; }
  .hero-h1 {
    font-size: clamp(34px, 8.5vw, 48px);
    line-height: 1.02; margin-bottom: 24px;
    /* Let the natural <br> behavior breathe a bit on narrow screens */
    letter-spacing: -.03em;
  }
  .hero-p1 { font-size: 16px; max-width:none; }
  .hero-p2 { font-size: 14px; max-width:none; margin-bottom: 32px; }
  .hero-btns { gap: 10px; margin-bottom: 18px; }
  .hero-btns .btn-primary, .hero-btns .btn-ghost { width: 100%; padding: 16px 24px; font-size: 14px; }

  /* ── Dashboard mobile — compact, vertical pipeline (no horizontal scroll surprise) ── */
  .dash-wrap { margin-top: 8px; }
  .dash-window { border-radius: 14px; }
  .dash-chrome { padding: 11px 14px; }
  .dash-chrome-label { font-size: 9px; }
  .dash-kpis { grid-template-columns: repeat(3,1fr); }
  .dash-kpi { padding: 12px 12px; }
  .dash-kpi-val { font-size: 18px; }
  .dash-kpi-label { font-size: 10px; }
  .dash-kpi-trend { font-size: 9px; }

  .dash-board {
    grid-template-columns: 1fr 1fr;
    gap: 12px 12px;
    padding: 14px;
    min-height: 0;
  }
  .dash-col { padding: 0; }
  .dash-card { padding: 10px 11px; }
  .dash-card-name { font-size: 12px; }

  /* Floating chips on mobile — badge peeks above top-right; notif sits below dashboard */
  .dash-wrap { padding-top: 12px; }
  .dash-notif {
    position: static;
    margin-top: 12px;
    padding: 12px 14px; max-width: none;
    border-radius: 12px;
    animation-delay: .3s;
  }
  .dash-notif-title { font-size: 12px; }
  .dash-notif-sub { font-size: 11px; }
  .dash-badge {
    top: -6px; right: 0; bottom: auto; left: auto;
    padding: 8px 14px; border-radius: 10px;
    box-shadow: 0 6px 20px rgba(37,99,235,.4);
    animation-delay: .5s;
  }
  .dash-badge-val { font-size: 16px; }
  .dash-badge-label { font-size: 8px; }
  .dash-badge-tag { font-size: 10px; }

  /* Pain */
  .pain-h2 { font-size: clamp(24px, 7vw, 34px); margin-bottom: 20px; }
  .pain-sub, .pain-strong { font-size: 16px; }
  .pain-item { padding: 16px 18px; gap: 14px; }
  .pain-item:hover, .pain-item.last:hover { padding-left: 18px; } /* no creep on touch */
  .pain-text { font-size: 13.5px; }

  /* Services */
  .service-row { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
  .service-row:hover { padding-left: 0; } /* no creep on touch */
  .service-num { padding-top: 0; font-size: 11px; }
  .service-tag { margin-bottom: 8px; }
  .service-headline { font-size: 18px; }
  .service-desc { font-size: 14.5px; padding-top: 0; }

  /* Cases */
  .cases-tabs {
    width: auto; max-width: 100%;
    overflow-x: auto; flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-bottom: 28px;
  }
  .cases-tabs::-webkit-scrollbar { display:none; }
  .cases-tab { font-size: 12.5px; padding: 10px 16px; white-space: nowrap; flex-shrink: 0; }

  .case-card { padding: 28px 24px; border-radius: 14px; }
  .case-name { font-size: clamp(22px, 6vw, 28px); margin-bottom: 24px; }
  .case-problem, .case-action { font-size: 14px; }
  .case-action { margin-bottom: 28px; }
  .case-quote { font-size: 15px; }
  .case-quote-bar { padding-left: 16px; }

  .case-metrics { grid-template-columns: 1fr 1fr; gap: 10px; }
  .case-metric { padding: 20px 18px; border-radius: 12px; }
  .case-metric-val { font-size: clamp(26px, 8vw, 36px); margin-bottom: 6px; }
  .case-metric-label { font-size: 9px; }

  .cases-bottom { margin-top: 36px; }
  .cases-bottom .btn-primary { width: 100%; max-width: 320px; padding: 16px 24px; }

  /* Method */
  .method-grid { gap: 12px; }
  .method-card { padding: 28px 24px; border-radius: 14px; }
  .method-card:hover { transform: none; } /* no lift on touch */
  .method-num { margin-bottom: 18px; }
  .method-title { font-size: 18px; margin-bottom: 12px; }
  .method-desc { font-size: 14.5px; }

  /* FAQ */
  #faq .section-title { font-size: clamp(26px, 7vw, 36px); }
  .faq-q { padding: 20px 0; gap: 14px; }
  .faq-q-text { font-size: 16px; }
  .faq-icon { font-size: 22px; min-width: 22px; text-align: center; }
  .faq-a p { font-size: 15px; padding-bottom: 20px; }
  .faq-item.open .faq-a { max-height: 600px; }

  /* CTA */
  .cta-grid { gap: 36px; }
  .cta-h2 { font-size: clamp(28px, 8vw, 44px); }
  .cta-box { padding: 28px 24px; border-radius: 14px; }
  .cta-box-p1 { font-size: 15px; margin-bottom: 20px; }
  .cta-box-p2 { font-size: 14.5px; margin-bottom: 28px; }
  .btn-primary-lg { padding: 17px 24px; font-size: 14.5px; }

  /* Footer */
  #footer { padding: 56px 20px 28px; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; margin-bottom: 40px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom {
    flex-direction: column; align-items: flex-start; gap: 10px;
    padding-top: 20px;
  }
  .footer-copy, .footer-version { font-size: 11px; }

}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — SMALL ≤ 400px
═══════════════════════════════════════════════════ */
@media (max-width: 400px) {
  #navbar { padding: 0 16px; }
  .section, #cta, #footer, #hero { padding-left: 16px; padding-right: 16px; }
  .container { padding: 0 16px; }

  .hero-h1 { font-size: 32px; }
  .section-title { font-size: 26px; }
  .pain-h2 { font-size: 24px; }
  .case-name { font-size: 22px; }
  .cta-h2 { font-size: 28px; }

  /* Tighten dashboard pipeline further on phones */
  .dash-board { grid-template-columns: 1fr; gap: 10px; }
  .dash-kpi-val { font-size: 16px; }
  .dash-kpi-label { font-size: 9.5px; }

  .mobile-menu-text { font-size: 26px; }
  .mobile-menu-inner { padding: 76px 20px 28px; }
}

/* Touch device — kill hover transforms so taps don't get stuck */
@media (hover: none) {
  .pain-item:hover, .pain-item.last:hover { padding-left: 24px; background: transparent; }
  .service-row:hover { padding-left: 0; }
  .service-row:hover .service-num { color: var(--stone-light); }
  .method-card:hover { transform: none; box-shadow: none; border-color: var(--border-l); }
  .dash-card:hover { transform: none; box-shadow: none; }
  .btn-primary:hover, .btn-primary-lg:hover, .nav-cta:hover, .mobile-menu-cta:hover { transform: none; box-shadow: none; }
}

/* ═══════════════════════════════════════════════════
   BLOG / PÁGINAS INTERNAS
═══════════════════════════════════════════════════ */
.container-narrow { max-width: 760px; }
.page-head { padding: 140px 32px 40px; background: var(--paper); }
.page-head .section-title { margin-top: 4px; }
.page-lead { font-size: 18px; line-height: 1.7; color: var(--stone); max-width: 640px; margin-top: 20px; }
.section-tight { padding-top: 40px; }
.breadcrumb { font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--stone-light); margin-bottom: 28px; }
.breadcrumb a { color: inherit; text-decoration: none; }
.breadcrumb a:hover { color: var(--ink); }

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.post-grid-list { grid-template-columns: 1fr; gap: 16px; }
.post-grid-more { margin-top: 40px; }
.post-card { background: var(--white); border: 1px solid var(--border-l); border-radius: 14px; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s; }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(14,22,33,.07); border-color: rgba(37,99,235,.25); }
.post-card-link { display: flex; flex-direction: column; gap: 12px; padding: 28px; height: 100%; text-decoration: none; color: inherit; }
.post-card-meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--stone-light); }
.post-card-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; color: var(--ink); }
.post-card-desc { font-size: 15px; line-height: 1.65; color: var(--stone); flex: 1; }
.post-card-arrow { font-size: 13px; font-weight: 600; color: var(--blue); }

.blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
.blog-side { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 20px; }
.side-box { background: var(--white); border: 1px solid var(--border-l); border-radius: 14px; padding: 24px; }
.side-cta { background: var(--ink); color: var(--paper); border-color: transparent; }
.side-cta p { font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1.3; margin: 4px 0 18px; letter-spacing: -.02em; }
.tag-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.tag-list a { display: inline-block; font-size: 13px; padding: 6px 12px; border-radius: 999px; background: var(--paper-warm); color: var(--ink-muted); text-decoration: none; border: 1px solid var(--border-l); }
.tag-list a:hover { border-color: var(--blue); color: var(--blue); }
.tag-list small { color: var(--stone-light); margin-left: 4px; }

.post-head { padding-bottom: 32px; }
.post-title { font-family: var(--font-display); font-size: clamp(30px, 4vw, 50px); font-weight: 800; line-height: 1.05; letter-spacing: -.03em; color: var(--ink); margin-top: 6px; }
.post-desc { font-size: 19px; line-height: 1.65; color: var(--stone); margin-top: 20px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 24px; font-family: var(--font-mono); font-size: 12px; color: var(--stone-light); }
.post-meta a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--border-l); }
.post-body-wrap { padding-bottom: 40px; }

.resposta-direta { background: var(--blue-dim); border-left: 3px solid var(--blue); border-radius: 0 12px 12px 0; padding: 22px 26px; margin: 8px 0 36px; }
.resposta-direta .label { margin-bottom: 8px; }
.resposta-direta p { font-size: 17px; line-height: 1.65; color: var(--ink); }

.toc { border: 1px solid var(--border-l); border-radius: 12px; padding: 20px 24px; margin-bottom: 40px; background: var(--white); }
.toc ol { margin: 0; padding-left: 20px; }
.toc li { font-size: 14.5px; line-height: 1.9; }
.toc a { color: var(--ink-muted); text-decoration: none; }
.toc a:hover { color: var(--blue); }

.post-body { font-size: 17.5px; line-height: 1.78; color: var(--ink-soft); }
.post-body > * + * { margin-top: 1.15em; }
.post-body h2 { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; letter-spacing: -.025em; line-height: 1.15; margin-top: 2.2em; color: var(--ink); scroll-margin-top: 80px; }
.post-body h3 { font-family: var(--font-display); font-size: 21px; font-weight: 700; letter-spacing: -.015em; margin-top: 1.8em; color: var(--ink); scroll-margin-top: 80px; }
.post-body h4 { font-size: 17px; font-weight: 700; margin-top: 1.5em; }
.post-body a { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.post-body ul, .post-body ol { padding-left: 1.4em; }
.post-body li { margin-top: .4em; }
.post-body li::marker { color: var(--blue); }
.post-body blockquote { border-left: 3px solid var(--ink); padding: 4px 0 4px 22px; color: var(--ink-muted); font-style: italic; }
.post-body blockquote p + p { margin-top: .6em; }
.post-body code { font-family: var(--font-mono); font-size: .9em; background: var(--paper-warm); padding: 2px 6px; border-radius: 5px; }
.post-body pre { background: var(--ink); color: var(--paper); padding: 20px 24px; border-radius: 12px; overflow-x: auto; font-size: 14px; line-height: 1.6; }
.post-body pre code { background: none; padding: 0; color: inherit; }
.post-body img { max-width: 100%; height: auto; border-radius: 12px; }
.post-body hr { border: 0; border-top: 1px solid var(--border-l); margin: 2.5em 0; }
.post-body strong { color: var(--ink); font-weight: 600; }
.tabela { overflow-x: auto; border: 1px solid var(--border-l); border-radius: 12px; }
.tabela table { width: 100%; border-collapse: collapse; font-size: 15px; }
.tabela th, .tabela td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--border-l); vertical-align: top; }
.tabela th { font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--stone); background: var(--paper-warm); }
.tabela tr:last-child td { border-bottom: 0; }

.callout { border-radius: 12px; padding: 18px 22px; font-size: 15.5px; line-height: 1.65; margin: 1.6em 0; }
.callout-nota { background: var(--paper-warm); border: 1px solid var(--border-l); }
.callout-aviso { background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.35); }
.callout p + p { margin-top: .6em; }

.cta-box { background: var(--ink); color: var(--paper); border-radius: 16px; padding: 36px 40px; margin: 2.6em 0; }
.cta-box .label { color: #93C5FD; }
.cta-box-title { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 28px); font-weight: 700; letter-spacing: -.025em; line-height: 1.2; margin-bottom: 12px; }
.cta-box p { color: var(--stone-light); font-size: 16px; line-height: 1.65; }
.cta-box .btn-primary { margin-top: 22px; }
.cta-box-end { margin-top: 3.5em; }

.post-faq { margin-top: 3em; }
.post-faq h2, .post-sources h2 { font-family: var(--font-display); font-size: 26px; font-weight: 700; letter-spacing: -.025em; margin-bottom: 16px; }
.faq-d { border-bottom: 1px solid var(--border-l); padding: 6px 0; }
.faq-d summary { cursor: pointer; font-family: var(--font-display); font-weight: 600; font-size: 17px; padding: 14px 0; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq-d summary::after { content: '+'; color: var(--blue); font-weight: 400; }
.faq-d[open] summary::after { content: '–'; }
.faq-d p { padding-bottom: 16px; color: var(--ink-muted); line-height: 1.7; font-size: 16px; }
.post-sources { margin-top: 3em; }
.post-sources ol { padding-left: 1.3em; font-size: 14.5px; color: var(--stone); line-height: 1.8; }
.post-sources a { color: var(--blue); }

.post-footer { margin-top: 48px; border-top: 1px solid var(--border-l); padding-top: 32px; }
.author-box { display: flex; gap: 18px; align-items: flex-start; }
.author-avatar { width: 52px; height: 52px; border-radius: 14px; background: var(--blue); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 20px; flex-shrink: 0; }
.author-name { font-weight: 600; color: var(--ink); font-size: 15px; }
.author-bio { color: var(--stone); font-size: 14.5px; line-height: 1.65; margin-top: 4px; }
.author-bio a { color: var(--blue); text-decoration: none; }
.post-tags { margin-top: 24px; font-size: 14px; color: var(--stone-light); }
.post-tags a { color: var(--ink-muted); text-decoration: none; border: 1px solid var(--border-l); border-radius: 999px; padding: 3px 10px; margin-right: 4px; font-size: 13px; }
.related { background: var(--paper-warm); }
.related .label { margin-bottom: 24px; }

@media (max-width: 900px) {
  .post-grid { grid-template-columns: 1fr 1fr; }
  .blog-layout { grid-template-columns: 1fr; }
  .blog-side { position: static; }
}
@media (max-width: 640px) {
  .page-head { padding: 110px 24px 28px; }
  .post-grid { grid-template-columns: 1fr; }
  .post-body { font-size: 16.5px; }
  .cta-box { padding: 28px 24px; }
  .post-card-link { padding: 22px; }
}
.post-body .cta-box .btn-primary { color: #fff; text-decoration: none; }
.post-body .cta-box p { color: var(--stone-light); }
