/* Radar Fintech LATAM · estilos compartidos del micrositio
   Identidad Boomit: navy #24284D, coral #FF3E46, azul #3D4EE4, lima #E8FB8C, verde #36EAA9, violeta #A084F1 */

:root {
  --color-page-background: #1B1E3B;
  --color-surface: #24284D;
  --color-surface-raised: #2C3160;
  --color-surface-hover: #343A70;
  --color-border-subtle: rgba(255, 255, 255, 0.10);
  --color-border-strong: rgba(255, 255, 255, 0.22);
  --color-text-primary: #FFFFFF;
  --color-text-secondary: #C9CBE0;
  --color-text-muted: #8F93B8;
  --color-brand-coral: #FF3E46;
  --color-brand-blue: #3D4EE4;
  --color-brand-lime: #E8FB8C;
  --color-brand-cyan: #56D8EE;
  --color-brand-violet: #A084F1;
  --color-signal-positive: #36EAA9;
  --color-signal-negative: #FF5C63;
  --color-signal-neutral: #FFFFFF;
  --radius-card: 20px;
  --radius-pill: 999px;
  --shadow-card: 0 12px 40px rgba(6, 8, 30, 0.35);
  --font-headline: "Poppins", system-ui, sans-serif;
  --font-body: "Roboto", system-ui, sans-serif;
  --content-max-width: 1180px;
  --page-side-padding: clamp(16px, 4vw, 40px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--color-page-background); color: var(--color-text-primary);
  font: 400 17px/1.6 var(--font-body); overflow-x: hidden;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3, h4 { font-family: var(--font-headline); margin: 0; letter-spacing: -0.01em; }
p { margin: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- layout ---------- */
.page-container { max-width: var(--content-max-width); margin: 0 auto; padding: 0 var(--page-side-padding); }
.page-section { padding: clamp(48px, 7vw, 88px) 0; }
.page-section + .page-section { border-top: 1px solid var(--color-border-subtle); }
.section-eyebrow {
  font: 700 13px var(--font-headline); letter-spacing: 0.22em; text-transform: uppercase; color: var(--color-brand-coral);
}
.section-title { font-size: clamp(28px, 4vw, 42px); line-height: 1.12; font-weight: 800; margin-top: 10px; }
.section-title em { font-style: normal; color: var(--color-brand-lime); }
.section-lead { color: var(--color-text-secondary); font-size: 18px; margin-top: 14px; max-width: 760px; }
.section-note { color: var(--color-text-muted); font-size: 14px; margin-top: 12px; max-width: 820px; }

/* ---------- top bar ---------- */
.site-top-bar {
  position: sticky; top: 0; z-index: 40; background: rgba(27, 30, 59, 0.86); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border-subtle);
}
.site-top-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 68px; }
.site-top-bar-logo img { height: 30px; width: auto; }
.site-top-bar-series { font: 600 13px var(--font-headline); color: var(--color-text-secondary); letter-spacing: 0.08em; text-transform: uppercase; }
@media (max-width: 720px) { .site-top-bar-series { display: none; } }

/* ---------- buttons ---------- */
.button-primary, .button-secondary {
  display: inline-flex; align-items: center; gap: 10px; border-radius: var(--radius-pill); text-decoration: none;
  font: 600 15px var(--font-headline); padding: 12px 22px; transition: transform .15s ease, background .15s ease; cursor: pointer; border: 0;
}
.button-primary { background: var(--color-brand-lime); color: #1B1E3B; }
.button-primary:hover { transform: translateY(-1px); background: #F1FFB0; }
.button-secondary { background: transparent; color: var(--color-text-primary); border: 1.5px solid var(--color-border-strong); }
.button-secondary:hover { background: var(--color-surface-raised); }
.button-compact { padding: 9px 16px; font-size: 14px; }

/* ---------- hero ---------- */
.study-hero { position: relative; padding: clamp(56px, 9vw, 110px) 0 clamp(40px, 6vw, 70px); overflow: hidden; }
.study-hero-ribbon { position: absolute; top: 0; left: 0; width: 100%; height: auto; pointer-events: none; z-index: 0; } /* cinta de marca: fondo, solo en el borde superior */
.study-hero > .page-container { position: relative; z-index: 1; }
.study-hero-title { font-size: clamp(36px, 6.2vw, 72px); line-height: 1.02; font-weight: 800; margin-top: 16px; max-width: 900px; }
.study-hero-title em { font-style: normal; color: var(--color-brand-lime); }
.study-hero-subtitle { font-size: clamp(17px, 2vw, 21px); color: var(--color-text-secondary); margin-top: 20px; max-width: 760px; }
.study-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.study-hero-meta { margin-top: 18px; font-size: 14px; color: var(--color-text-muted); }

.key-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 44px; }
.key-stat-tile { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 16px; padding: 18px 20px; }
.key-stat-value { font: 800 32px/1 var(--font-headline); color: var(--color-brand-lime); }
.key-stat-label { font-size: 14px; color: var(--color-text-secondary); margin-top: 8px; }

/* ---------- cards ---------- */
.card-grid { display: grid; gap: 16px; margin-top: 32px; }
.card-grid-three { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.card-grid-two { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
.content-card {
  background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card);
  padding: 24px; transition: border-color .2s ease, transform .2s ease;
}
.content-card:hover { border-color: var(--color-border-strong); }
.finding-card-header { display: flex; align-items: center; gap: 12px; }
.finding-card-icon, .app-icon { width: 44px; height: 44px; border-radius: 11px; flex: none; background: #fff; }
.app-icon-small { width: 30px; height: 30px; border-radius: 8px; flex: none; background: #fff; }
.finding-card-title { font: 700 20px var(--font-headline); }
.finding-card-metric { font: 800 48px/1 var(--font-headline); color: var(--color-brand-lime); margin-top: 22px; }
.finding-card-metric-label { color: var(--color-text-secondary); font-size: 15px; margin-top: 6px; }
.finding-card-text { margin-top: 14px; color: var(--color-text-secondary); font-size: 15.5px; }

/* ---------- lead form (landing) ---------- */
.lead-form-section { background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-page-background) 100%); }
.lead-form-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: start; }
@media (max-width: 880px) { .lead-form-layout { grid-template-columns: 1fr; } }
.report-contents-list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.report-contents-list li { display: flex; gap: 12px; color: var(--color-text-secondary); }
.report-contents-list li::before { content: "→"; color: var(--color-brand-lime); font-weight: 700; }
.lead-form-card { background: var(--color-surface-raised); border-radius: var(--radius-card); padding: 28px; box-shadow: var(--shadow-card); }
.lead-form-title { font: 700 22px var(--font-headline); }
.lead-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
.lead-form-field-full { grid-column: 1 / -1; }
@media (max-width: 520px) { .lead-form-grid { grid-template-columns: 1fr; } }
.lead-form-label { display: block; font: 600 13px var(--font-headline); color: var(--color-text-secondary); margin-bottom: 6px; }
.lead-form-input {
  width: 100%; padding: 12px 14px; border-radius: 12px; border: 1.5px solid var(--color-border-strong);
  background: var(--color-page-background); color: var(--color-text-primary); font: 400 16px var(--font-body);
}
.lead-form-input:focus { outline: none; border-color: var(--color-brand-lime); }
.lead-form-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--color-text-muted); }
.lead-form-consent input { margin-top: 3px; accent-color: var(--color-brand-lime); }
.lead-form-error { color: var(--color-signal-negative); font-size: 14px; min-height: 20px; }
.lead-form-submit { width: 100%; justify-content: center; margin-top: 6px; }
.lead-form-submit[disabled] { opacity: .6; cursor: progress; }
.lead-form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; } /* campo trampa: solo lo completan bots */
.lead-form-turnstile:empty { display: none; }

/* ---------- preview (landing) ---------- */
.locked-preview { position: relative; margin-top: 28px; border-radius: var(--radius-card); overflow: hidden; }
.locked-preview-fade {
  position: absolute; inset: auto 0 0 0; height: 70%;
  background: linear-gradient(180deg, rgba(27, 30, 59, 0) 0%, var(--color-page-background) 85%);
  display: flex; align-items: flex-end; justify-content: center; padding-bottom: 28px;
}

/* ---------- report navigation ---------- */
.report-section-nav {
  position: sticky; top: 68px; z-index: 30; background: rgba(27, 30, 59, 0.92); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border-subtle);
}
.report-section-nav-list { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 10px 0; margin: 0; list-style: none; }
.report-section-nav-list::-webkit-scrollbar { display: none; }
.report-section-nav-link {
  display: block; white-space: nowrap; text-decoration: none; padding: 8px 14px; border-radius: var(--radius-pill);
  font: 600 14px var(--font-headline); color: var(--color-text-secondary);
}
.report-section-nav-link:hover { color: var(--color-text-primary); background: var(--color-surface-raised); }
.report-section-nav-link.is-active { background: var(--color-brand-lime); color: #1B1E3B; }
.report-section { scroll-margin-top: 140px; }

/* ---------- segmented control ---------- */
.segmented-control { display: inline-flex; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-pill); padding: 4px; margin-top: 24px; flex-wrap: wrap; }
.segmented-control-option {
  border: 0; background: transparent; color: var(--color-text-secondary); padding: 8px 16px; border-radius: var(--radius-pill);
  font: 600 14px var(--font-headline); cursor: pointer;
}
.segmented-control-option.is-selected { background: var(--color-surface-raised); color: var(--color-text-primary); box-shadow: inset 0 0 0 1.5px var(--color-brand-lime); }

/* ---------- sortable data tables ---------- */
.data-table-scroll { margin-top: 24px; overflow-x: auto; border-radius: var(--radius-card); border: 1px solid var(--color-border-subtle); background: var(--color-surface); }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; font-variant-numeric: tabular-nums; }
.data-table th {
  position: sticky; top: 0; background: var(--color-surface); text-align: right; padding: 14px 9px 12px;
  font: 600 11.5px/1.25 var(--font-headline); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em;
  border-bottom: 1px solid var(--color-border-strong); white-space: nowrap; user-select: none;
}
.data-table th:first-child, .data-table td:first-child { text-align: left; }
.data-table th[data-sort-key] { cursor: pointer; }
.data-table th[data-sort-key]:hover { color: var(--color-text-primary); }
.data-table th .sort-direction-indicator { display: inline-block; width: 12px; margin-left: 4px; color: var(--color-brand-lime); }
.data-table th .column-help-icon { margin-left: 5px; opacity: .55; font-size: 11px; }
.data-table td { padding: 11px 9px; text-align: right; border-bottom: 1px solid var(--color-border-subtle); font-size: 15px; white-space: nowrap; }
.data-table th:first-child, .data-table td:first-child { padding-left: 14px; }
.data-table tbody tr { transition: background .15s ease; }
.data-table tbody tr:hover { background: var(--color-surface-hover); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tr.is-featured-row td:first-child { box-shadow: inset 3px 0 0 var(--color-brand-lime); }
.app-name-cell { display: flex; align-items: center; gap: 10px; font: 600 15px var(--font-headline); }
.featured-badge { font: 700 10.5px var(--font-headline); color: #1B1E3B; background: var(--color-brand-lime); border-radius: 6px; padding: 2px 6px; letter-spacing: .04em; }
.rank-value-top { font-weight: 700; color: var(--color-text-primary); }
.rank-value-outside { color: var(--color-text-muted); }
.value-positive { color: var(--color-signal-positive); font-weight: 600; }
.value-negative { color: var(--color-signal-negative); font-weight: 600; }
.value-neutral { color: var(--color-signal-neutral); }
.value-missing { color: var(--color-text-muted); }
.has-tooltip { cursor: help; text-decoration: underline dotted rgba(255, 255, 255, .25); text-underline-offset: 4px; }

/* ---------- tooltip ---------- */
.floating-tooltip {
  position: fixed; z-index: 100; pointer-events: none; max-width: 320px; background: #0F1230; color: var(--color-text-primary);
  border: 1px solid var(--color-border-strong); border-radius: 12px; padding: 12px 14px; font-size: 14px; line-height: 1.45;
  box-shadow: var(--shadow-card); opacity: 0; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease;
}
.floating-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.floating-tooltip strong { font-family: var(--font-headline); }
.floating-tooltip .tooltip-muted { color: var(--color-text-muted); font-size: 12.5px; }

/* ---------- charts ---------- */
.chart-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); padding: 22px 22px 14px; margin-top: 24px; overflow-x: auto; }
.chart-card svg { min-width: 720px; } /* en celular el gráfico se desplaza en vez de achicarse hasta ser ilegible */
.chart-card-title { font: 700 18px var(--font-headline); display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.chart-card-title small { font: 500 14px var(--font-body); color: var(--color-brand-lime); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13.5px; color: var(--color-text-secondary); margin-top: 12px; }
.chart-legend-swatch { display: inline-block; width: 11px; height: 11px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
svg text { font-family: var(--font-body); }
.chart-hit-area { cursor: pointer; }
.chart-hit-area:hover + .chart-mark, .chart-hit-area:hover { opacity: 1; }

/* ---------- stories ---------- */
.story-card-signal-list { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; }
.story-card-signal { font-size: 15px; color: var(--color-text-secondary); display: grid; grid-template-columns: 96px 1fr; gap: 10px; }
.story-card-signal-tag { font: 700 11px/1.9 var(--font-headline); letter-spacing: .08em; text-transform: uppercase; }
.story-card-signal-tag-data { color: var(--color-text-muted); }
.story-card-signal-tag-evidence { color: var(--color-brand-cyan); }
.label-legend { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.label-chip { font-size: 13px; border-radius: var(--radius-pill); padding: 5px 12px; border: 1px solid var(--color-border-strong); color: var(--color-text-secondary); }

/* ---------- reviews ---------- */
.review-app-card { display: grid; gap: 14px; }
.theme-bar-row { display: grid; grid-template-columns: 150px 1fr 42px; gap: 10px; align-items: center; font-size: 14px; color: var(--color-text-secondary); }
.theme-bar-track { height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.theme-bar-fill { height: 100%; border-radius: 4px; }
.review-quote { font-style: italic; color: var(--color-text-secondary); font-size: 14.5px; border-left: 3px solid var(--color-border-strong); padding-left: 12px; }
.review-quote-negative { border-color: var(--color-signal-negative); }
.review-quote-positive { border-color: var(--color-signal-positive); }

/* ---------- ads ---------- */
.ads-brand-card-grid { display: grid; grid-template-columns: 1.1fr 1.3fr 1.3fr 1fr; gap: 20px; align-items: center; }
@media (max-width: 900px) { .ads-brand-card-grid { grid-template-columns: 1fr 1fr; } }
.ads-channel-label { font: 700 11.5px var(--font-headline); letter-spacing: .12em; text-transform: uppercase; color: var(--color-text-muted); }
.ads-big-number { font: 800 30px/1.1 var(--font-headline); margin-top: 4px; }
.ads-small-text { font-size: 13.5px; color: var(--color-text-secondary); margin-top: 4px; }
.mini-bar-chart { display: flex; align-items: flex-end; gap: 4px; height: 44px; margin-top: 8px; }
.mini-bar { flex: 1; border-radius: 3px 3px 0 0; background: rgba(255, 255, 255, .22); min-height: 3px; }
.mini-bar.is-latest { background: var(--color-brand-blue); }
.mini-bar.is-burst { background: var(--color-brand-coral); }
.share-meter { height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; margin-top: 8px; }
.share-meter-fill { height: 100%; border-radius: 4px; background: var(--color-brand-blue); }
.share-meter-fill.is-burst { background: var(--color-brand-coral); }
.cta-pill { display: inline-block; margin-top: 8px; padding: 4px 11px; border-radius: var(--radius-pill); border: 1.5px solid var(--color-brand-blue); font: 600 13px var(--font-headline); }

/* ---------- boomit CTA ---------- */
.boomit-cta-band {
  margin-top: 8px; border-radius: 28px; padding: clamp(28px, 5vw, 52px); position: relative; overflow: hidden;
  background: var(--color-surface); border: 1.5px solid transparent;
  background-image: linear-gradient(var(--color-surface), var(--color-surface)), linear-gradient(90deg, #FF3E46, #A084F1, #3D4EE4);
  background-origin: border-box; background-clip: padding-box, border-box;
}
.boomit-cta-band-title { font: 800 clamp(24px, 3.4vw, 36px)/1.15 var(--font-headline); max-width: 760px; }
.boomit-cta-band-text { color: var(--color-text-secondary); margin-top: 12px; max-width: 700px; }
.floating-boomit-cta { position: fixed; right: 20px; bottom: 20px; z-index: 50; box-shadow: var(--shadow-card); }
@media (max-width: 600px) { .floating-boomit-cta { left: 16px; right: 16px; justify-content: center; } }

/* ---------- venta del servicio (Competitor Intelligence) ---------- */
.service-cta-band { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(20px, 4vw, 48px); align-items: center; margin-top: 40px;
  padding: clamp(24px, 4vw, 40px); border-radius: 24px; background: var(--color-surface-raised); border: 1.5px solid rgba(232, 251, 140, .35); }
@media (max-width: 820px) { .service-cta-band { grid-template-columns: 1fr; } }
.service-cta-band-title { font: 800 clamp(22px, 2.8vw, 30px)/1.2 var(--font-headline); margin-top: 10px; }
.service-cta-band-title em { font-style: normal; color: var(--color-brand-lime); }
.service-cta-band-text { color: var(--color-text-secondary); margin: 12px 0 22px; }
.service-cta-band-benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.service-cta-band-benefits li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--color-text-secondary); font-size: 16px; }
.service-cta-band-benefits li::before { content: "✓"; color: var(--color-signal-positive); font-weight: 700; }

/* ---------- methodology ---------- */
.methodology-list { display: grid; gap: 14px; margin-top: 24px; }
.methodology-item { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border-subtle); font-size: 15.5px; }
.methodology-item dt { font: 700 15px var(--font-headline); }
.methodology-item dd { margin: 0; color: var(--color-text-secondary); }
@media (max-width: 640px) { .methodology-item { grid-template-columns: 1fr; gap: 4px; } }
.caveat-banner { margin-top: 20px; background: rgba(252, 187, 23, .1); border: 1px solid rgba(252, 187, 23, .35); color: #FFD97A; border-radius: 14px; padding: 12px 16px; font-size: 14.5px; }

/* ---------- index ---------- */
.study-index-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 32px; }
.study-index-card { display: grid; gap: 10px; text-decoration: none; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); padding: 24px; transition: transform .2s ease, border-color .2s ease; }
.study-index-card:hover { transform: translateY(-2px); border-color: var(--color-brand-lime); }
.study-index-card-flag { font-size: 32px; }
.study-index-card-eyebrow { font: 600 13px var(--font-headline); color: var(--color-brand-coral); letter-spacing: .06em; text-transform: uppercase; }
.study-index-card-title { font: 700 21px/1.25 var(--font-headline); }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid var(--color-border-subtle); padding: 36px 0 110px; color: var(--color-text-muted); font-size: 14px; }
.site-footer-inner { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center; }
.site-footer img { height: 28px; width: auto; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- exportación a PDF (Chrome imprime /<estudio>/informe/?formato=pdf) ---------- */
.pdf-only-note { display: none; }
.pdf-store-block + .pdf-store-block { margin-top: 40px; }
.pdf-store-block-title { font: 700 22px var(--font-headline); color: var(--color-brand-lime); margin-top: 28px; }
@page { size: 1240px 1754px; margin: 0; }
@media print {
  html, body { background: var(--color-page-background) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .site-top-bar { position: static; backdrop-filter: none; }
  .report-section-nav, .floating-boomit-cta, #report-pdf-download-link, .segmented-control, .column-help-icon { display: none !important; }
  .pdf-only-note { display: block; margin-top: 18px; font-size: 14px; color: var(--color-text-muted); }
  /* el contenido fluye de corrido; las secciones largas empiezan en página nueva para no dejar títulos sueltos */
  #experiencia, #resenas, #publicidad, #metodologia { break-before: page; }
  .section-lead, .section-note { break-inside: avoid; }
  .content-card, .chart-card, .data-table tr, .boomit-cta-band, .service-cta-band, .methodology-item, .key-stat-tile { break-inside: avoid; }
  .section-eyebrow, .section-title, .section-lead, .pdf-store-block-title, .chart-legend { break-after: avoid; }
  .data-table thead { display: table-header-group; }
  .data-table-scroll, .chart-card { overflow: visible; }
  .data-table { min-width: 0; }
  .chart-card svg { min-width: 0; }
  .page-section { padding: 56px 0; }
  .has-tooltip { text-decoration: none; }
  .content-card:hover, .data-table tbody tr:hover { background: inherit; }
  .site-footer { padding-bottom: 40px; }
  .card-grid-two { grid-template-columns: 1fr 1fr; }
  .ads-brand-card-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.3fr) minmax(0, 1fr) !important; }
}

/* Marca personal del autor: firma en el hero y en las invitaciones al servicio */
.author-byline { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.author-byline img, .author-signature img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 3px var(--color-brand-lime); flex: none; }
.author-byline b, .author-signature b { display: block; font: 600 16px/1.3 Poppins, sans-serif; }
.author-byline span, .author-signature span { display: block; font-size: 14px; opacity: .75; }
.author-signature { display: flex; align-items: center; gap: 12px; margin: 18px 0 22px; }

/* Confirmación del formulario: el informe llega por email */
.lead-confirmation { text-align: center; padding: 40px 28px; }
.lead-confirmation-icon { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center;
  background: var(--color-brand-lime); color: var(--color-surface); font-size: 30px; }
.lead-confirmation-text { margin-top: 12px; font-size: 17px; line-height: 1.5; }
.lead-confirmation-text b { color: var(--color-brand-lime); word-break: break-all; }
.lead-confirmation-hint { margin-top: 14px; font-size: 14px; line-height: 1.5; color: var(--color-text-muted); }
