/* Codex Pessoas — herda do Codex (azul Medalius). Só específicos aqui.
   Phase 14 — vars consolidadas no topo (no design original elas vinham via cascade
   de styles.css + santos-styles.css; aqui o asset é auto-suficiente). */
:root {
    --sans: 'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --slate: #1B2440;
    --slate-2: #3A4665;
    --muted: #6B7A95;
    --blue: #3D5AFE;
    --blue-deep: #2540D6;
    --blue-soft: #ECF0FF;
    --gold-mid: #C99A33;
    --gold-deep: #B5851F;
    --line: #E4E8F0;
    --line-soft: #EEF1F7;
}
.cp-page { background: #fff; color: var(--slate); font-family: var(--sans); -webkit-font-smoothing: antialiased; }

/* Phase 14 — CTAs herdadas de lp-styles-v3.css (lp-btn) + santos-styles.css (st-btn-ghost).
   No design original carregavam via cascade; aqui consolidamos pra asset auto-suficiente. */
.lp-btn { padding: 14px 22px; border-radius: 10px; font-family: var(--sans); font-size: 15px; font-weight: 700; cursor: pointer; border: 0; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; transition: transform 0.15s ease, background 0.15s ease; }
.lp-btn-primary { background: var(--blue); color: #fff; box-shadow: 0 10px 24px -12px rgba(61,90,254,0.6); }
.lp-btn-primary:hover { background: var(--blue-deep); transform: translateY(-1px); }
.lp-btn-ghost { background: #fff; color: var(--slate); border: 1px solid var(--line); }
.lp-btn-ghost:hover { border-color: var(--blue); color: var(--blue-deep); }
.st-btn-primary { background: var(--gold-mid); color: #fff; padding: 13px 22px; border-radius: 10px; font-family: var(--sans); font-size: 14px; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.st-btn-primary:hover { background: var(--gold-deep); }
.st-btn-ghost { background: transparent; color: var(--gold-deep); padding: 13px 22px; border-radius: 10px; border: 1.5px solid var(--gold-line, #E8DCB8); font-family: var(--sans); font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.st-btn-ghost:hover { border-color: var(--gold-mid); }

/* Phase 14 — Obras no Codex (cards). Herdado de santos-styles.css; consolidado aqui. */
.st-obras-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 24px; }
@media (max-width: 720px) { .st-obras-grid { grid-template-columns: 1fr; } }
.st-obra-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px 22px; text-decoration: none; position: relative; display: block; color: inherit; }
.st-obra-card:hover { border-color: var(--blue); }
.st-obra-card::before { content: ''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; background: var(--blue); border-radius: 0 3px 3px 0; opacity: 0.6; }
.st-obra-codex-badge { position: absolute; top: 14px; right: 14px; background: var(--blue-soft); color: var(--blue-deep); font-family: 'Manrope', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; }
.st-obra-card h4 { font-family: 'Spectral', serif; font-weight: 500; font-size: 18px; color: var(--slate); margin: 18px 0 6px; }
.st-obra-card .a { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); letter-spacing: 0.04em; margin-bottom: 8px; }
.st-obra-card p { font-family: 'Spectral', serif; font-size: 13.5px; color: var(--slate-2); line-height: 1.5; margin: 0; }

/* Hero — visual da família Codex */
.cp-hero { background: linear-gradient(180deg, #fff 0%, #F5F7FB 100%), radial-gradient(at 75% 15%, rgba(61,90,254,0.10), transparent 50%); padding: 72px 32px; }
.cp-hero-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.cp-hero h1 { font-family: 'Spectral'; font-weight: 400; font-size: 48px; line-height: 1.04; letter-spacing: -0.022em; color: var(--slate); margin: 0 0 18px; }
.cp-hero h1 em { font-style: italic; color: var(--blue); }
.cp-hero .lede { font-family: 'Spectral'; font-style: italic; font-size: 17px; line-height: 1.55; color: var(--slate-2); max-width: 60ch; margin: 0 0 26px; }

/* Visual constelação retratos */
.cp-constellation { position: relative; height: 360px; }
.cp-orb { position: absolute; width: 84px; height: 84px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-family: 'Spectral'; font-style: italic; font-size: 32px; box-shadow: 0 12px 32px -8px rgba(27,36,64,0.25); }
.cp-orb.o1 { top: 30px; left: 40px; background: radial-gradient(circle at 30% 30%, #93A8FF, var(--blue)); }
.cp-orb.o2 { top: 50px; right: 60px; background: radial-gradient(circle at 30% 30%, #E8C879, var(--gold-mid)); }
.cp-orb.o3 { bottom: 60px; left: 30%; background: radial-gradient(circle at 30% 30%, #B85450, #6B2A28); }
.cp-orb.o4 { bottom: 30px; right: 30px; background: radial-gradient(circle at 30% 30%, #8B95A8, #4A5468); }
.cp-conn { position: absolute; height: 1.5px; background: linear-gradient(90deg, var(--line), transparent, var(--line)); transform-origin: left center; }

@media (max-width: 880px) { .cp-hero-inner { grid-template-columns: 1fr; } .cp-hero h1 { font-size: 36px; } .cp-constellation { display: none; } }

/* Eixos */
.cp-axes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 36px; }
@media (max-width: 880px) { .cp-axes-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cp-axes-grid { grid-template-columns: 1fr; } }
.cp-axis-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px; text-decoration: none; transition: all 0.2s; }
.cp-axis-card:hover { border-color: var(--blue); transform: translateY(-2px); box-shadow: 0 14px 32px -16px rgba(61,90,254,0.2); }
.cp-axis-ic { width: 48px; height: 48px; border-radius: 12px; background: var(--blue-soft); color: var(--blue-deep); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px; }
.cp-axis-card h4 { font-family: 'Spectral'; font-weight: 500; font-size: 22px; color: var(--slate); margin: 0 0 8px; }
.cp-axis-card p { font-family: 'Spectral'; font-size: 13.5px; color: var(--slate-2); margin: 0 0 14px; line-height: 1.5; }
.cp-axis-card .link { font-family: 'Manrope'; font-size: 12.5px; font-weight: 700; color: var(--blue); letter-spacing: 0.04em; }

/* Card personalidade (lista) */
.cp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 32px; }
@media (max-width: 980px) { .cp-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .cp-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .cp-grid { grid-template-columns: 1fr; } }
.cp-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px; text-decoration: none; display: flex; flex-direction: column; transition: all 0.2s; position: relative; }
.cp-card:hover { transform: translateY(-2px); border-color: var(--blue); }
.cp-card-portrait { width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #93A8FF, var(--blue) 70%); display: flex; align-items: center; justify-content: center; color: #fff; font-family: 'Spectral'; font-style: italic; font-size: 36px; margin: 12px 0; box-shadow: 0 8px 20px -8px rgba(61,90,254,0.3); }
.cp-card-portrait.gold { background: radial-gradient(circle at 30% 25%, #E8C879, var(--gold-mid) 70%); }
.cp-card-portrait.gray { background: radial-gradient(circle at 30% 25%, #B0B8C8, #6B7790 70%); }
.cp-card-portrait.red { background: radial-gradient(circle at 30% 25%, #D89090, #B85450 70%); }
.cp-card-era { font-family: 'JetBrains Mono'; font-size: 10.5px; color: var(--muted); letter-spacing: 0.06em; margin-bottom: 4px; }
.cp-card-name { font-family: 'Spectral'; font-weight: 500; font-size: 20px; color: var(--slate); margin: 0 0 4px; letter-spacing: -0.005em; }
.cp-card-epithet { font-family: 'Spectral'; font-style: italic; font-size: 13px; color: var(--slate-2); margin: 0 0 8px; }
.cp-card-bio { font-family: 'Spectral'; font-size: 13px; color: var(--muted); line-height: 1.45; margin: 0 0 14px; flex: 1; }
.cp-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.cp-pill { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 6px; font-family: 'Manrope'; font-size: 10.5px; font-weight: 700; text-decoration: none; letter-spacing: 0.04em; }
.cp-pill.codex { background: var(--blue-soft); color: var(--blue-deep); }
.cp-pill.santos { background: #FBF7EC; color: var(--gold-deep); }
.cp-pill.cont { background: #FDE9E5; color: #8B3030; }
.cp-card-link { font-family: 'Manrope'; font-size: 12px; font-weight: 700; color: var(--blue); letter-spacing: 0.04em; }

/* Listagem head */
.cp-list-head { display: flex; justify-content: space-between; align-items: baseline; margin: 24px 0; flex-wrap: wrap; gap: 12px; }
.cp-list-head .ct { font-family: 'JetBrains Mono'; font-size: 12px; color: var(--muted); }
.cp-list-head .ct b { color: var(--slate); font-family: 'Manrope'; font-weight: 800; }
.cp-list-head .tools { display: flex; gap: 8px; }
.cp-list-head select, .cp-list-head button { padding: 8px 14px; background: #fff; border: 1px solid var(--line); border-radius: 8px; font-family: 'Manrope'; font-size: 12.5px; font-weight: 600; color: var(--slate); cursor: pointer; }

/* ========== INDIVIDUAL CODEX-PESSOAS ========== */
.cp-bread { max-width: 1180px; margin: 0 auto; padding: 24px 32px 0; font-family: 'JetBrains Mono'; font-size: 11px; color: var(--muted); letter-spacing: 0.04em; }
.cp-bread a { color: var(--muted); text-decoration: none; }
.cp-bread .here { color: var(--slate); font-weight: 600; }

.cp-ind-hero { max-width: 1180px; margin: 0 auto; padding: 40px 32px 56px; display: grid; grid-template-columns: 340px 1fr; gap: 48px; }
@media (max-width: 880px) { .cp-ind-hero { grid-template-columns: 1fr; } }
.cp-ind-portrait { width: 100%; aspect-ratio: 1; border-radius: 18px; background: radial-gradient(circle at 30% 25%, #93A8FF, var(--blue) 60%, var(--blue-deep)); display: flex; align-items: center; justify-content: center; color: #fff; font-family: 'Spectral'; font-style: italic; font-size: 140px; box-shadow: 0 24px 48px -16px rgba(61,90,254,0.3); position: relative; }
.cp-ind-portrait::after { content: ''; position: absolute; inset: 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.2); }
.cp-ind-portrait.gray { background: radial-gradient(circle at 30% 25%, #B0B8C8, #6B7790 60%, #4A5468); }
.cp-ind-badge { margin-top: 16px; display: flex; justify-content: center; }

.cp-data-box { background: #F5F7FB; border-radius: 12px; padding: 20px; margin-top: 16px; }
.cp-data-box .row { padding: 8px 0; }
.cp-data-box .row + .row { border-top: 1px solid var(--line); }
.cp-data-box .k { font-family: 'Manrope'; font-size: 10.5px; color: var(--muted); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.cp-data-box .v { font-family: 'Spectral'; font-size: 15px; color: var(--slate); margin-top: 4px; }

.cp-ind-info h1 { font-family: 'Spectral'; font-weight: 400; font-size: 52px; line-height: 1.04; letter-spacing: -0.022em; color: var(--slate); margin: 8px 0 6px; }
.cp-ind-info .sub { font-family: 'Spectral'; font-style: italic; font-size: 22px; color: var(--slate-2); margin: 0 0 22px; }
.cp-known { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.cp-known-pill { padding: 5px 12px; background: var(--blue-soft); color: var(--blue-deep); border-radius: 999px; font-family: 'Manrope'; font-size: 11.5px; font-weight: 600; }
.cp-ind-lede { font-family: 'Spectral'; font-style: italic; font-size: 20px; font-weight: 300; line-height: 1.55; color: var(--slate); margin: 0 0 28px; max-width: 60ch; }
.cp-ind-ctas { display: flex; gap: 12px; flex-wrap: wrap; }

/* Tabs */
.cp-tabs { position: sticky; top: 64px; background: #fff; border-bottom: 1.5px solid var(--line); z-index: 20; padding: 14px 32px; overflow-x: auto; }
.cp-tabs-inner { max-width: 1180px; margin: 0 auto; display: flex; gap: 26px; }
.cp-tabs a { font-family: 'Manrope'; font-size: 13px; font-weight: 600; color: var(--slate-2); text-decoration: none; padding: 4px 0; white-space: nowrap; border-bottom: 2px solid transparent; }
.cp-tabs a.on { color: var(--blue-deep); border-bottom-color: var(--blue); }

/* Prose */
.cp-prose { max-width: 740px; margin: 0 auto; padding: 56px 24px; }
.cp-prose h2 { font-family: 'Spectral'; font-weight: 400; font-size: 36px; color: var(--slate); margin: 0 0 20px; letter-spacing: -0.015em; }
.cp-prose h2 em { font-style: italic; color: var(--blue); }
.cp-prose h3 { font-family: 'Spectral'; font-weight: 500; font-size: 19px; color: var(--blue-deep); margin: 28px 0 10px; }
.cp-prose p { font-family: 'Spectral'; font-size: 18px; line-height: 1.75; color: var(--slate); margin: 0 0 18px; }
.cp-prose blockquote { border-left: 3px solid var(--blue); padding-left: 24px; margin: 28px 0; font-family: 'Spectral'; font-style: italic; font-size: 21px; font-weight: 300; color: var(--slate); }
.cp-prose blockquote cite { display: block; margin-top: 12px; font-family: 'JetBrains Mono'; font-style: normal; font-size: 11.5px; letter-spacing: 0.08em; color: var(--blue-deep); text-transform: uppercase; font-weight: 700; }
/* Phase 14 — extensão pra conteúdo Quill (ol/ul/li/h4/h5/strong + esconde ql-ui spans). */
.cp-prose h4 { font-family: 'Spectral', serif; font-weight: 500; font-size: 17px; color: var(--slate); margin: 22px 0 8px; }
.cp-prose h5 { font-family: 'Spectral', serif; font-weight: 500; font-size: 15px; color: var(--slate); margin: 20px 0 6px; }
.cp-prose ol, .cp-prose ul { font-family: 'Spectral', serif; font-size: 18px; line-height: 1.75; color: var(--slate); margin: 0 0 18px; padding-left: 28px; }
.cp-prose li { font-family: 'Spectral', serif; font-size: 18px; line-height: 1.75; color: var(--slate); margin-bottom: 6px; }
/* strong/em/i herdam a cor do pai (não fixa slate — preserva azul em h3, ouro em h4 etc). */
.cp-prose strong, .cp-prose b { color: inherit; font-weight: 700; }
.cp-prose em, .cp-prose i { color: inherit; font-style: italic; }
.cp-prose a { color: var(--blue); text-decoration: underline; }
.cp-prose a:hover { color: var(--blue-deep); }
/* Quill insere <span class="ql-ui contenteditable=false"></span> dentro de listas — limpo p/ não criar gaps. */
.cp-prose .ql-ui { display: none; }
/* Quill emite bullets como <ol><li data-list="bullet"> (sim, dentro de ol). Força marker correto. */
.cp-prose ol > li[data-list="bullet"] { list-style-type: disc; }
.cp-prose ol > li[data-list="ordered"] { list-style-type: decimal; }
.cp-prose ol > li[data-list="checked"], .cp-prose ol > li[data-list="unchecked"] { list-style-type: none; }
.cp-prose ol > li[data-list="checked"]::before { content: '☑ '; color: var(--blue); }
.cp-prose ol > li[data-list="unchecked"]::before { content: '☐ '; color: var(--muted); }
/* Indentação do Quill: fora do .ql-editor o Quill não aplica recuo das classes ql-indent-N,
   então replicamos (3em por nível). Em blocos usamos padding-left; em <li> usamos margin-left
   para o marcador nativo (bullet/número) recuar junto com o texto. */
.cp-prose .ql-indent-1:not(li) { padding-left: 3em; }
.cp-prose .ql-indent-2:not(li) { padding-left: 6em; }
.cp-prose .ql-indent-3:not(li) { padding-left: 9em; }
.cp-prose .ql-indent-4:not(li) { padding-left: 12em; }
.cp-prose .ql-indent-5:not(li) { padding-left: 15em; }
.cp-prose .ql-indent-6:not(li) { padding-left: 18em; }
.cp-prose .ql-indent-7:not(li) { padding-left: 21em; }
.cp-prose .ql-indent-8:not(li) { padding-left: 24em; }
.cp-prose li.ql-indent-1 { margin-left: 3em; }
.cp-prose li.ql-indent-2 { margin-left: 6em; }
.cp-prose li.ql-indent-3 { margin-left: 9em; }
.cp-prose li.ql-indent-4 { margin-left: 12em; }
.cp-prose li.ql-indent-5 { margin-left: 15em; }
.cp-prose li.ql-indent-6 { margin-left: 18em; }
.cp-prose li.ql-indent-7 { margin-left: 21em; }
.cp-prose li.ql-indent-8 { margin-left: 24em; }
/* Tabelas (Quill: <table><tbody><tr><td data-row="N">). */
.cp-prose table { width: 100%; border-collapse: collapse; margin: 20px 0; font-family: 'Spectral', serif; font-size: 15.5px; line-height: 1.55; color: var(--slate); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.cp-prose thead th, .cp-prose tr:first-child td:not([data-row]) { background: var(--blue-soft); color: var(--blue-deep); font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.cp-prose td { padding: 12px 14px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.cp-prose tr:last-child td { border-bottom: 0; }
.cp-prose tr:nth-child(even) td { background: #FAFBFD; }
.cp-prose td:first-child { font-weight: 600; color: var(--slate); width: 30%; min-width: 140px; }
/* Quill às vezes salva <h3><br></h3> ou <p><br></p> como separadores — colapsa o espaço. */
.cp-prose h3:empty, .cp-prose h4:empty, .cp-prose p:empty { display: none; }

.cp-context-band { background: #F5F7FB; padding: 64px 24px; }
.cp-context-inner { max-width: 880px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr; gap: 36px; align-items: start; }
@media (max-width: 720px) { .cp-context-inner { grid-template-columns: 1fr; } }
.cp-fact-box { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 24px; }
.cp-fact-box h5 { font-family: 'Manrope'; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); margin: 0 0 14px; font-weight: 800; }
.cp-fact { padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.cp-fact:last-child { border-bottom: 0; }
.cp-fact .t { font-family: 'Spectral'; font-size: 14px; color: var(--slate); font-weight: 500; }
.cp-fact .d { font-family: 'Spectral'; font-style: italic; font-size: 13px; color: var(--muted); margin-top: 2px; line-height: 1.45; }

.cp-warn-box { background: #FDF6F4; border-left: 3px solid #B85450; border-radius: 0 14px 14px 0; padding: 20px 24px; margin: 0 auto 32px; max-width: 740px; display: grid; grid-template-columns: 32px 1fr; gap: 14px; }
.cp-warn-ic { width: 28px; height: 28px; border-radius: 50%; background: #B85450; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }
.cp-warn-box p { font-family: 'Spectral'; font-size: 14.5px; line-height: 1.55; color: var(--slate-2); margin: 0; }

.cp-influence { max-width: 880px; margin: 0 auto; padding: 56px 24px; }
.cp-inf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
@media (max-width: 720px) { .cp-inf-grid { grid-template-columns: 1fr; } }
.cp-inf-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; text-decoration: none; display: flex; gap: 12px; align-items: center; }
.cp-inf-card:hover { border-color: var(--blue); }
.cp-inf-card .av { width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(circle, #93A8FF, var(--blue)); display: flex; align-items: center; justify-content: center; color: #fff; font-family: 'Spectral'; font-style: italic; font-size: 18px; flex-shrink: 0; }
.cp-inf-card .n { font-family: 'Spectral'; font-size: 15px; color: var(--slate); font-weight: 500; }
.cp-inf-card .r { font-family: 'Spectral'; font-style: italic; font-size: 12px; color: var(--muted); }

.cp-fontes { max-width: 740px; margin: 0 auto; padding: 32px 24px 64px; }
.cp-fontes ul { list-style: none; padding: 0; margin: 16px 0; }
.cp-fontes li { padding: 10px 0; border-bottom: 1px solid var(--line-soft); font-family: 'Spectral'; font-size: 14.5px; color: var(--slate-2); line-height: 1.5; }
.cp-fontes li a { color: var(--blue); text-decoration: none; }
.cp-fontes-note { font-family: 'Spectral'; font-style: italic; font-size: 12.5px; color: var(--muted); margin-top: 16px; }

/* Minimal */
.cp-minimal-notice { background: #F5F7FB; border-radius: 14px; padding: 22px 26px; max-width: 740px; margin: 24px auto 0; display: grid; grid-template-columns: 28px 1fr; gap: 14px; }
.cp-minimal-notice .ic { width: 28px; height: 28px; border-radius: 50%; background: #8B95A8; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.cp-minimal-notice p { font-family: 'Spectral'; font-size: 14.5px; line-height: 1.55; color: var(--slate-2); margin: 0 0 8px; }
.cp-minimal-notice a { font-family: 'Manrope'; font-size: 12.5px; font-weight: 700; color: var(--blue); text-decoration: none; }

/* CTA final */
.cp-final { background: linear-gradient(135deg, var(--slate), #0E1429); color: #fff; padding: 80px 24px; text-align: center; }
.cp-final-inner { max-width: 640px; margin: 0 auto; }
.cp-final h2 { font-family: 'Spectral'; font-weight: 400; font-size: 38px; letter-spacing: -0.018em; margin: 0 0 14px; }
.cp-final h2 em { font-style: italic; color: #93A8FF; }
.cp-final p { font-family: 'Spectral'; font-style: italic; font-size: 16px; color: rgba(255,255,255,0.78); margin: 0 0 24px; }
.cp-final .ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cp-final .btn-w { background: #fff; color: var(--slate); padding: 14px 24px; border-radius: 10px; font-family: 'Manrope'; font-size: 14px; font-weight: 700; text-decoration: none; }

.cp-sec { max-width: 1180px; margin: 0 auto; padding: 80px 24px; }
.cp-sec h2 { font-family: 'Spectral'; font-weight: 400; font-size: 42px; letter-spacing: -0.018em; color: var(--slate); margin: 8px 0 12px; }
.cp-sec h2 em { font-style: italic; color: var(--blue); }
.cp-sec .lede { font-family: 'Spectral'; font-style: italic; font-size: 16px; color: var(--slate-2); margin: 0 0 18px; max-width: 60ch; }
.cp-eyebrow { font-family: 'Manrope'; font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--blue); margin-bottom: 14px; display: inline-flex; align-items: center; gap: 8px; }
.cp-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--blue); }
.cp-eyebrow.gold { color: var(--gold-deep); }
.cp-eyebrow.gold::before { background: var(--gold-deep); }

/* See also Santos */
.cp-see-band { background: #FBF7EC; padding: 64px 24px; }
.cp-see-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.cp-see-inner h2 { font-family: 'Spectral'; font-weight: 400; font-size: 30px; color: var(--slate); margin: 8px 0 14px; }
.cp-see-inner p { font-family: 'Spectral'; font-style: italic; font-size: 16px; color: var(--slate-2); margin: 0 0 22px; }
.cp-see-btn { background: var(--gold-mid); color: #fff; padding: 14px 26px; border-radius: 10px; font-family: 'Manrope'; font-size: 14px; font-weight: 700; text-decoration: none; }
