/* Página Pública · estilo Tribuna
   Fundo escuro fixo, uma cor da identidade do cliente e tipografia estreita em caixa alta.
   As cores derivadas (--tb-brand-text, --tb-brand-ink...) são calculadas em public-page-view.js.
   O layout responde à largura do próprio site (container queries), então funciona igual
   na página publicada e na prévia estreita do editor. */

@font-face {
  font-family: "Archivo MO";
  src: url("/fonts/archivo-latin-var.woff2") format("woff2");
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.tb-site {
  --tb-bg: #0a1120;
  --tb-bg-2: #0e1729;
  --tb-surface: #131e33;
  --tb-line: rgba(255, 255, 255, .09);
  --tb-line-strong: rgba(255, 255, 255, .22);
  --tb-text: #eef2f8;
  --tb-muted: #a9b6ca;
  --tb-body: #c8d2e0;
  --tb-brand: #0b65eb;
  --tb-brand-ink: #ffffff;
  --tb-brand-text: #6ea8ff;
  --tb-brand-soft: #0e1f3d;
  --tb-brand-line: #0b3a7e;
  --tb-whatsapp: #1faf5a;
  --tb-font: "Archivo MO", "Archivo", "Arial Narrow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  position: relative;
  min-height: 100%;
  background: var(--tb-bg);
  color: var(--tb-text);
  font-family: var(--tb-font);
  font-size: 17px;
  line-height: 1.6;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.tb-site *, .tb-site *::before, .tb-site *::after { box-sizing: border-box; }
.tb-frame { container: tb / inline-size; }
.tb-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding-inline: clamp(18px, 4cqi, 40px); }
.tb-site a { color: inherit; }
.tb-site img { display: block; max-width: 100%; }
.tb-site svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tb-site .mps-contact-icon-fill { fill: currentColor; stroke: none; }
.tb-site :focus-visible { outline: 3px solid var(--tb-brand-text); outline-offset: 3px; border-radius: 6px; }
.tb-site h1, .tb-site h2, .tb-site h3 { color: inherit; font-family: inherit; letter-spacing: normal; }

/* Topo */
.tb-nav { position: sticky; top: 0; z-index: 20; background: rgba(10, 17, 32, .94); border-bottom: 1px solid var(--tb-line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tb-nav-inner { display: flex; align-items: center; gap: 20px; min-height: 66px; }
.tb-identity { display: flex; flex: 0 0 auto; align-items: center; gap: 11px; max-width: 100%; min-width: 0; margin-right: auto; text-decoration: none; }
.tb-badge { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; background: var(--tb-brand); color: var(--tb-brand-ink); font-weight: 850; font-size: 14px; }
.tb-logo { position: relative; display: block; flex: 0 0 auto; height: 42px; }
.tb-logo img { width: auto; height: 100%; max-width: 150px; object-fit: contain; }
.tb-identity-name { overflow: hidden; font-weight: 850; font-stretch: 75%; font-size: 17px; line-height: 1.1; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; text-overflow: ellipsis; }
.tb-links { display: none; flex: 0 1 auto; gap: 22px; min-width: 0; overflow: hidden; }
.tb-links a { color: var(--tb-muted); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.tb-links a:hover { color: var(--tb-text); }
.tb-nav-whatsapp { display: none; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: var(--tb-whatsapp); color: #fff !important; font-weight: 750; font-size: 14px; text-decoration: none; white-space: nowrap; }
.tb-nav-whatsapp .tb-contact-icon, .tb-whatsapp-float .tb-contact-icon { width: auto; height: auto; background: none; color: inherit; }
.tb-nav-whatsapp svg { width: 18px; height: 18px; }
@container tb (max-width: 639px) { .tb-logo + .tb-identity-name { display: none; } }
@container tb (min-width: 640px) { .tb-nav-whatsapp { display: inline-flex; } }
@container tb (min-width: 1000px) { .tb-links { display: flex; } }

/* WhatsApp flutuante: só em telas estreitas, quando o botão do topo some */
.tb-whatsapp-float { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); z-index: 40; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px; background: var(--tb-whatsapp); color: #fff !important; font-weight: 750; font-size: 15px; text-decoration: none; box-shadow: 0 10px 26px rgba(0, 0, 0, .35); }
.tb-whatsapp-float svg { width: 20px; height: 20px; }
@media (min-width: 640px) { .tb-whatsapp-float { display: none; } }
.tb-compact .tb-whatsapp-float { display: none; }
.pp-mobile .tb-compact .tb-whatsapp-float { position: sticky; bottom: 16px; display: flex; width: max-content; margin: -64px 16px 16px auto; }

/* Capa */
.tb-hero { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(32px, 7cqi, 96px) clamp(44px, 7cqi, 104px); }
.tb-hero::before { content: ""; position: absolute; z-index: -1; top: -30%; right: -15%; width: 75%; height: 140%; background: radial-gradient(closest-side, var(--tb-brand-line), transparent 72%); opacity: .55; pointer-events: none; }
.tb-hero-bg { position: absolute; inset: 0; z-index: -2; }
.tb-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .32; filter: grayscale(.25); }
.tb-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--tb-bg) 25%, rgba(10, 17, 32, .55) 100%), linear-gradient(0deg, var(--tb-bg), transparent 45%); }
.tb-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: center; }
.tb-hero-copy { display: grid; gap: 18px; min-width: 0; order: 2; }
.tb-portrait { order: 1; }
@container tb (min-width: 900px) {
  .tb-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 56px; }
  .tb-hero-copy { order: 1; }
  .tb-portrait { order: 2; }
}
.tb-eyebrow, .tb-kicker { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--tb-brand-text); font-weight: 800; font-stretch: 85%; font-size: 13px; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; }
.tb-eyebrow::before, .tb-kicker::before { content: ""; flex: 0 0 auto; width: 28px; height: 3px; border-radius: 2px; background: var(--tb-brand); }
.tb-name { margin: 0; font-weight: 900; font-stretch: 66%; font-size: clamp(48px, 12cqi, 124px); line-height: .9; text-transform: uppercase; text-wrap: balance; overflow-wrap: anywhere; }
.tb-long-name .tb-name { font-size: clamp(40px, 9cqi, 96px); }
.tb-headline { max-width: 30ch; margin: 0; font-weight: 600; font-size: clamp(20px, 2.6cqi, 26px); line-height: 1.3; text-wrap: balance; }
.tb-summary { max-width: 58ch; color: var(--tb-muted); }
.tb-summary p { margin: 0 0 .6em; }
.tb-summary p:last-child { margin-bottom: 0; }
.tb-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.tb-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border: 1.5px solid transparent; border-radius: 12px; background: var(--tb-brand); color: var(--tb-brand-ink) !important; font-weight: 800; font-stretch: 90%; font-size: 16px; text-decoration: none; transition: transform .15s ease, filter .15s ease, border-color .15s ease; }
.tb-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.tb-button-ghost { border-color: var(--tb-line-strong); background: transparent; color: var(--tb-text) !important; }
.tb-button-ghost:hover { border-color: var(--tb-brand-text); filter: none; }
.tb-portrait { position: relative; justify-self: center; width: 100%; max-width: 460px; margin: 0; overflow: hidden; border-radius: 20px; aspect-ratio: 4 / 5; background: var(--tb-surface); }
.tb-portrait::after { content: ""; position: absolute; inset: 0; border: 2px solid var(--tb-brand); border-radius: inherit; pointer-events: none; }
.tb-portrait-img { width: 100%; height: 100%; object-fit: cover; object-position: var(--tb-portrait-x, 50%) var(--tb-portrait-y, 30%); }
.tb-portrait-empty { display: grid; place-items: center; background: radial-gradient(circle at 30% 20%, var(--tb-brand-line), var(--tb-surface) 70%); }
.tb-monogram { color: var(--tb-brand-text); font-weight: 900; font-stretch: 66%; font-size: clamp(80px, 18cqi, 170px); line-height: 1; }
@container tb (max-width: 899px) {
  .tb-portrait { max-width: 100%; aspect-ratio: 5 / 4; }
  .tb-portrait-empty { display: none; }
}

/* Seções */
.tb-section { position: relative; padding-block: clamp(56px, 8cqi, 104px); }
.tb-content > .tb-section:nth-child(even) { background: var(--tb-bg-2); }
.tb-heading { display: grid; gap: 12px; margin-bottom: clamp(24px, 4cqi, 40px); }
.tb-title { margin: 0; font-weight: 880; font-stretch: 70%; font-size: clamp(34px, 6.4cqi, 64px); line-height: .95; text-transform: uppercase; text-wrap: balance; overflow-wrap: anywhere; }
.tb-prose { color: var(--tb-muted); }
.tb-prose p { margin: 0 0 .8em; }
.tb-prose p:last-child { margin-bottom: 0; }
.tb-lead { max-width: 46ch; margin: 0; color: var(--tb-muted); font-size: 18px; }

/* Trajetória */
.tb-story { display: grid; gap: 32px; align-items: center; }
@container tb (min-width: 900px) { .tb-has-photo .tb-story { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; } }
.tb-story-photo { position: relative; margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 4 / 3; background: var(--tb-surface); }
.tb-story-photo img { width: 100%; height: 100%; object-fit: cover; }
.tb-story-photo::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 6px; background: var(--tb-brand); }
.tb-story-copy .tb-prose { max-width: 62ch; color: var(--tb-body); font-size: 18px; }

/* Compromissos: lista com ritmo diferente dos cartões */
.tb-priorities { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--tb-line); list-style: none; }
@container tb (min-width: 760px) { .tb-priorities { grid-template-columns: 1fr 1fr; column-gap: 48px; } }
.tb-priority { position: relative; padding: 22px 0 22px 24px; border-bottom: 1px solid var(--tb-line); }
.tb-priority::before { content: ""; position: absolute; top: 27px; left: 0; width: 4px; height: 22px; border-radius: 2px; background: var(--tb-brand); }
.tb-priority h3 { margin: 0 0 6px; font-weight: 800; font-stretch: 85%; font-size: 22px; line-height: 1.15; }

/* Projetos e resultados em cartões */
.tb-cards { display: grid; gap: 16px; }
@container tb (min-width: 640px) { .tb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container tb (min-width: 1000px) { .tb-cards:not(.tb-cards-even) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tb-card { display: grid; align-content: start; gap: 8px; padding: 22px; border: 1px solid var(--tb-line); border-top: 3px solid var(--tb-brand); border-radius: 14px; background: var(--tb-surface); }
.tb-card h3 { margin: 0; font-weight: 800; font-stretch: 88%; font-size: 20px; line-height: 1.2; }
.tb-card-result h3::before { content: "✓"; margin-right: 8px; color: var(--tb-brand-text); }

/* Resultados com números: faixa na cor da identidade */
.tb-content > .tb-section.tb-stats-band, .tb-stats-band { background: var(--tb-brand); color: var(--tb-brand-ink); }
.tb-heading-on-brand .tb-kicker { color: inherit; }
.tb-heading-on-brand .tb-kicker::before { background: currentColor; }
.tb-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 28px 24px; }
@container tb (min-width: 900px) { .tb-stats { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); } }
.tb-stat { display: grid; align-content: start; gap: 6px; padding-top: 14px; border-top: 2px solid currentColor; }
.tb-stat strong { font-weight: 900; font-stretch: 66%; font-size: clamp(48px, 8cqi, 84px); line-height: .95; font-variant-numeric: tabular-nums; }
.tb-stat span { font-weight: 780; font-stretch: 85%; font-size: 17px; line-height: 1.25; letter-spacing: .04em; text-transform: uppercase; }
.tb-stat small { font-size: 14px; line-height: 1.45; opacity: .88; }

/* Território */
.tb-areas { display: grid; gap: 8px; }
@container tb (min-width: 900px) { .tb-areas { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 48px; } }
.tb-area-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tb-area { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid var(--tb-line); border-radius: 12px; background: var(--tb-surface); font-weight: 650; }
.tb-pin { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: var(--tb-brand); box-shadow: 0 0 0 4px var(--tb-brand-soft); }

/* Galeria */
.tb-gallery-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 46%); gap: 16px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tb-gallery-track::-webkit-scrollbar { display: none; }
@container tb (max-width: 639px) { .tb-gallery-track { grid-auto-columns: 86%; } }
.tb-gallery-slide { display: grid; align-content: start; gap: 10px; margin: 0; scroll-snap-align: start; }
.tb-gallery-frame { position: relative; overflow: hidden; border-radius: 14px; aspect-ratio: 4 / 3; background: var(--tb-surface); }
.tb-gallery-img { width: 100%; height: 100%; object-fit: cover; }
.tb-gallery-slide figcaption { display: grid; gap: 2px; }
.tb-gallery-slide figcaption strong { font-weight: 750; font-size: 17px; line-height: 1.3; }
.tb-gallery-slide figcaption span { color: var(--tb-muted); font-size: 15px; }
.tb-gallery-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.tb-gallery-controls { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.tb-round { width: 40px; height: 40px; border: 1px solid var(--tb-line-strong); border-radius: 50%; background: transparent; color: var(--tb-text); font: inherit; font-size: 15px; cursor: pointer; }
.tb-round:disabled { opacity: .35; cursor: default; }
.tb-gallery-counter { min-width: 44px; color: var(--tb-muted); font-size: 14px; text-align: center; font-variant-numeric: tabular-nums; }
.tb-link-button { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border: 1px solid var(--tb-line-strong); border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; }

/* Contato */
.tb-content > .tb-section.tb-contact { background: linear-gradient(180deg, var(--tb-bg-2), var(--tb-bg)); }
.tb-contact-inner { position: relative; display: grid; gap: 28px; overflow: hidden; padding: clamp(26px, 5cqi, 56px); border: 1px solid var(--tb-line); border-radius: 24px; background: var(--tb-surface); }
.tb-contact-inner::before { content: ""; position: absolute; top: -90px; right: -90px; width: 280px; height: 280px; border-radius: 50%; background: var(--tb-brand-line); opacity: .45; filter: blur(46px); pointer-events: none; }
@container tb (min-width: 900px) { .tb-contact-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; } }
.tb-contact .tb-heading { margin-bottom: 12px; }
.tb-contact-links { position: relative; display: grid; gap: 12px; }
.tb-contact-link { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--tb-line); border-radius: 14px; background: var(--tb-bg); text-decoration: none; transition: border-color .15s ease; }
.tb-contact-link:hover { border-color: var(--tb-brand-text); }
.tb-contact-link strong { display: block; font-weight: 800; font-size: 17px; line-height: 1.2; }
.tb-contact-link small { color: var(--tb-muted); font-size: 14px; }
.tb-contact-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: var(--tb-brand-soft); color: var(--tb-brand-text); }
.tb-contact-icon svg { width: 22px; height: 22px; }
.tb-contact-whatsapp .tb-contact-icon { background: var(--tb-whatsapp); color: #fff; }

/* Rodapé */
.tb-footer { padding-block: 40px 32px; border-top: 1px solid var(--tb-line); background: #070c17; color: var(--tb-muted); font-size: 14px; }
.tb-footer-inner { display: grid; gap: 24px; }
.tb-footer-links { padding-top: 20px; border-top: 1px solid var(--tb-line); }
@container tb (min-width: 760px) {
  .tb-footer-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px 40px; }
  .tb-footer-links { grid-column: 1 / -1; grid-row: 2; }
}
.tb-footer-owner { display: flex; align-items: center; gap: 14px; min-width: 0; }
.tb-footer-owner strong { display: block; color: var(--tb-text); font-weight: 850; font-stretch: 80%; font-size: 18px; text-transform: uppercase; }
.tb-footer-owner span, .tb-footer-owner small { display: block; }
.tb-footer-owner small a { color: var(--tb-text); }
.tb-footer-logo img { width: auto; height: 44px; max-width: 120px; object-fit: contain; }
.tb-footer-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tb-footer-links a { text-decoration: none; }
.tb-footer-links a:hover { color: var(--tb-text); }
.tb-credit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tb-credit-frame { display: inline-flex; padding: 6px 10px; border-radius: 8px; background: #fff; }
.tb-credit-frame img { width: auto; height: 22px; }
.tb-credit em { font-style: normal; font-size: 12px; }
@media (max-width: 639px) { .tb-site:not(.tb-compact) .tb-footer { padding-bottom: 96px; } }

@media (prefers-reduced-motion: reduce) {
  .tb-button, .tb-contact-link { transition: none; }
  .tb-button:hover { transform: none; }
}

/* ==========================================================================
   Estilo Retrato: foto de capa editorial, nome em serifa, base clara
   ========================================================================== */
@font-face {
  font-family: "Fraunces MO";
  src: url("/fonts/fraunces-latin-var.woff2") format("woff2");
  font-weight: 600 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.st-retrato {
  --tb-bg: #f7f5f1;
  --tb-bg-2: #efebe4;
  --tb-surface: #ffffff;
  --tb-ink: #17181c;
  --tb-line: rgba(23, 24, 28, .12);
  --tb-line-strong: rgba(23, 24, 28, .28);
  --tb-text: #17181c;
  --tb-muted: #5f5b55;
  --tb-body: #3a3833;
  --tb-serif: "Fraunces MO", "Fraunces", Georgia, "Times New Roman", serif;
}
.st-retrato .tb-nav { background: rgba(247, 245, 241, .93); }
.st-retrato .tb-identity-name { font-family: var(--tb-serif); font-weight: 700; font-stretch: normal; font-size: 20px; letter-spacing: -.01em; text-transform: none; }
.st-retrato .tb-hero { padding: 0; background: var(--tb-ink); color: #fff; }
.st-retrato .tb-hero::before { display: none; }
.st-retrato .tb-with-portrait .tb-hero-bg { display: none; }
.st-retrato .tb-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: none; padding: 0; }
.st-retrato .tb-portrait { position: relative; order: 1; justify-self: stretch; width: 100%; max-width: none; max-height: 78vh; border-radius: 0; aspect-ratio: 4 / 5; background: var(--tb-ink); }
.st-retrato .tb-portrait::after { border: 0; border-radius: 0; background: linear-gradient(0deg, var(--tb-ink) 0%, rgba(23, 24, 28, .55) 30%, rgba(23, 24, 28, 0) 60%); }
.st-retrato .tb-portrait-empty { display: none; }
.st-retrato .tb-hero-copy { position: relative; z-index: 2; order: 2; width: 100%; max-width: 1180px; margin: -34% auto 0; padding: 0 clamp(18px, 4cqi, 40px) clamp(44px, 7cqi, 96px); }
.st-retrato .tb-hero:not(.tb-with-portrait) .tb-hero-copy { margin-top: 0; padding-top: clamp(56px, 9cqi, 120px); }
.st-retrato .tb-eyebrow { width: fit-content; max-width: 100%; padding: 6px 10px; border-radius: 6px; background: var(--tb-brand); color: var(--tb-brand-ink); letter-spacing: .1em; }
.st-retrato .tb-eyebrow::before { display: none; }
.st-retrato .tb-name { font-family: var(--tb-serif); font-weight: 800; font-stretch: normal; font-size: clamp(52px, 13cqi, 128px); line-height: .92; letter-spacing: -.025em; text-transform: none; }
.st-retrato .tb-long-name .tb-name, .st-retrato.tb-long-name .tb-name { font-size: clamp(42px, 9.5cqi, 100px); }
.st-retrato .tb-headline { max-width: 26ch; color: #f3efe8; font-family: var(--tb-serif); font-weight: 600; font-size: clamp(22px, 2.8cqi, 30px); line-height: 1.2; }
.st-retrato .tb-summary { color: rgba(255, 255, 255, .78); }
.st-retrato .tb-button-ghost { border-color: rgba(255, 255, 255, .4); color: #fff !important; }
@container tb (min-width: 900px) {
  .st-retrato .tb-hero-grid { display: block; min-height: clamp(560px, 62cqi, 780px); }
  .st-retrato .tb-portrait { position: absolute; inset: 0 0 0 36%; width: auto; height: 100%; max-height: none; aspect-ratio: auto; }
  .st-retrato .tb-portrait::after { background: linear-gradient(90deg, var(--tb-ink) 0%, rgba(23, 24, 28, .6) 16%, rgba(23, 24, 28, 0) 42%), linear-gradient(0deg, rgba(23, 24, 28, .5), rgba(23, 24, 28, 0) 35%); }
  .st-retrato .tb-hero-copy { display: grid; align-content: end; min-height: inherit; margin-top: 0; padding-top: clamp(56px, 8cqi, 110px); }
  .st-retrato .tb-hero-copy > * { max-width: 34rem; }
  .st-retrato .tb-hero-copy > .tb-name { max-width: 6.4em; }
}
.st-retrato .tb-kicker::before { background: var(--tb-brand); }
.st-retrato .tb-title { font-family: var(--tb-serif); font-weight: 700; font-stretch: normal; font-size: clamp(34px, 5.6cqi, 60px); line-height: 1.04; letter-spacing: -.02em; text-transform: none; }
.st-retrato .tb-priority h3, .st-retrato .tb-card h3 { font-family: var(--tb-serif); font-weight: 700; font-stretch: normal; letter-spacing: -.01em; }
.st-retrato .tb-story-photo::after { height: 4px; }
.st-retrato .tb-card { background: var(--tb-surface); box-shadow: 0 1px 2px rgba(23, 24, 28, .04); }
.st-retrato .tb-area { background: var(--tb-surface); }
.st-retrato .tb-content > .tb-section.tb-stats-band { background: var(--tb-ink); color: #f3efe8; }
.st-retrato .tb-stats-band .tb-heading-on-brand .tb-kicker { color: var(--tb-brand-on-dark); }
.st-retrato .tb-stats-band .tb-heading-on-brand .tb-kicker::before { background: var(--tb-brand-on-dark); }
.st-retrato .tb-stats-band .tb-title { color: #fff; }
.st-retrato .tb-stat { border-top: 1px solid rgba(255, 255, 255, .25); }
.st-retrato .tb-stat strong { font-family: var(--tb-serif); font-weight: 800; font-stretch: normal; letter-spacing: -.02em; }
.st-retrato .tb-stat span { color: var(--tb-brand-on-dark); }
.st-retrato .tb-content > .tb-section.tb-contact { background: var(--tb-bg); }
.st-retrato .tb-contact-inner { border: 0; background: var(--tb-ink); color: #f3efe8; }
.st-retrato .tb-contact .tb-title { color: #fff; }
.st-retrato .tb-contact .tb-lead { color: rgba(255, 255, 255, .72); }
.st-retrato .tb-contact .tb-kicker { color: var(--tb-brand-on-dark); }
.st-retrato .tb-contact-link { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); color: #fff; }
.st-retrato .tb-contact-link small { color: rgba(255, 255, 255, .7); }
.st-retrato .tb-contact-link .tb-contact-icon { background: rgba(255, 255, 255, .1); color: var(--tb-brand-on-dark); }
.st-retrato .tb-contact-link.tb-contact-whatsapp .tb-contact-icon { background: var(--tb-whatsapp); color: #fff; }
.st-retrato .tb-footer { background: var(--tb-ink); color: rgba(255, 255, 255, .7); }
.st-retrato .tb-footer-owner strong { color: #fff; font-family: var(--tb-serif); font-weight: 700; font-stretch: normal; text-transform: none; }
.st-retrato .tb-footer-owner small a, .st-retrato .tb-footer-links a:hover { color: #fff; }
.st-retrato .tb-footer-links { border-top-color: rgba(255, 255, 255, .14); }

/* ==========================================================================
   Estilo Praça: base clara quente, faixas azul-marinho, etiquetas e sombras sólidas
   ========================================================================== */
.st-praca {
  --tb-bg: #fbf6ee;
  --tb-bg-2: #f4ecdf;
  --tb-surface: #ffffff;
  --tb-navy: #13213a;
  --tb-line: rgba(19, 33, 58, .14);
  --tb-line-strong: rgba(19, 33, 58, .35);
  --tb-text: #13213a;
  --tb-muted: #4d5a70;
  --tb-body: #2a3850;
}
.st-praca .tb-nav { border-bottom: 0; background: var(--tb-navy); color: #fff; }
.st-praca .tb-links a { color: rgba(255, 255, 255, .75); }
.st-praca .tb-links a:hover { color: #fff; }
.st-praca .tb-identity-name { font-weight: 900; font-stretch: 66%; font-size: 20px; }
.st-praca .tb-hero::before, .st-praca .tb-hero-bg { display: none; }
.st-praca .tb-eyebrow { width: fit-content; max-width: 100%; padding: 5px 10px; background: var(--tb-brand); color: var(--tb-brand-ink); letter-spacing: .1em; }
.st-praca .tb-eyebrow::before { display: none; }
.st-praca .tb-name { color: var(--tb-navy); font-stretch: 62%; font-size: clamp(56px, 12.5cqi, 132px); line-height: .88; }
.st-praca .tb-headline { color: var(--tb-body); font-weight: 650; }
.st-praca .tb-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 0; padding: 0; list-style: none; }
.st-praca .tb-facts li { padding: 6px 10px; border: 2px solid var(--tb-navy); background: #fff; color: var(--tb-navy); font-weight: 800; font-stretch: 85%; font-size: 15px; line-height: 1.2; letter-spacing: .03em; text-transform: uppercase; }
.st-praca .tb-facts li b { color: var(--tb-brand-text); }
.st-praca .tb-facts li:nth-child(2) { border-color: var(--tb-navy); background: var(--tb-navy); color: #fff; }
.st-praca .tb-facts li:nth-child(2) b { color: var(--tb-brand-on-dark); }
.st-praca .tb-button { border-radius: 8px; box-shadow: 4px 4px 0 var(--tb-navy); }
.st-praca .tb-button:hover { filter: none; transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--tb-navy); }
.st-praca .tb-button-ghost { border: 2px solid var(--tb-navy); box-shadow: none; color: var(--tb-navy) !important; }
.st-praca .tb-button-ghost:hover { box-shadow: none; }
.st-praca .tb-portrait { width: calc(100% - 12px); border-radius: 18px; box-shadow: 12px 12px 0 var(--tb-brand); }
.st-praca .tb-portrait::after { border: 3px solid var(--tb-navy); }
.st-praca .tb-portrait-empty { background: var(--tb-brand); }
.st-praca .tb-monogram { color: var(--tb-brand-ink); }
.st-praca .tb-title { font-weight: 900; font-stretch: 62%; font-size: clamp(38px, 7cqi, 72px); line-height: .92; }
.st-praca .tb-priority h3, .st-praca .tb-card h3 { font-weight: 900; font-stretch: 70%; font-size: 24px; text-transform: uppercase; }
.st-praca .tb-card { border: 2px solid var(--tb-navy); border-radius: 10px; background: #fff; box-shadow: 6px 6px 0 var(--tb-brand); color: var(--tb-navy); }
.st-praca .tb-card .tb-prose { color: var(--tb-muted); }
.st-praca .tb-area { border: 2px solid var(--tb-navy); border-radius: 999px; background: #fff; color: var(--tb-navy); font-weight: 750; }
.st-praca .tb-pin { box-shadow: none; }
/* Faixas azul-marinho alternadas */
.st-praca .tb-content > .tb-section:nth-child(even) { background: var(--tb-navy); color: #fff; }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-kicker { color: var(--tb-brand-on-dark); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-kicker::before { background: var(--tb-brand-on-dark); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-prose { color: rgba(255, 255, 255, .8); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-story-copy .tb-prose { color: rgba(255, 255, 255, .9); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-priorities,
.st-praca .tb-content > .tb-section:nth-child(even) .tb-priority { border-color: rgba(255, 255, 255, .18); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-card .tb-prose { color: var(--tb-muted); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-card { box-shadow: 6px 6px 0 var(--tb-brand); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-gallery-slide figcaption span,
.st-praca .tb-content > .tb-section:nth-child(even) .tb-gallery-counter { color: rgba(255, 255, 255, .75); }
.st-praca .tb-content > .tb-section:nth-child(even) .tb-round,
.st-praca .tb-content > .tb-section:nth-child(even) .tb-link-button { border-color: rgba(255, 255, 255, .4); color: #fff; }
/* Resultados e contato mantêm o próprio fundo, mesmo em posição par */
.st-praca .tb-content > .tb-section.tb-stats-band { background: var(--tb-brand); color: var(--tb-brand-ink); }
.st-praca .tb-content > .tb-section.tb-stats-band .tb-kicker { color: inherit; }
.st-praca .tb-content > .tb-section.tb-stats-band .tb-kicker::before { background: currentColor; }
.st-praca .tb-stat strong { font-stretch: 62%; }
.st-praca .tb-content > .tb-section.tb-contact { background: var(--tb-bg); color: var(--tb-navy); }
.st-praca .tb-contact-inner { border: 2px solid var(--tb-navy); border-radius: 18px; background: var(--tb-brand); color: var(--tb-brand-ink); box-shadow: 8px 8px 0 var(--tb-navy); }
.st-praca .tb-contact-inner::before { display: none; }
.st-praca .tb-content > .tb-section.tb-contact .tb-kicker { color: inherit; }
.st-praca .tb-content > .tb-section.tb-contact .tb-kicker::before { background: currentColor; }
.st-praca .tb-contact .tb-lead { color: inherit; opacity: .88; }
.st-praca .tb-contact-link { border: 2px solid var(--tb-navy); background: #fff; color: var(--tb-navy); }
.st-praca .tb-contact-link small { color: var(--tb-muted); }
.st-praca .tb-contact-link .tb-contact-icon { background: var(--tb-brand-soft); color: var(--tb-brand-text); }
.st-praca .tb-contact-link.tb-contact-whatsapp .tb-contact-icon { background: var(--tb-whatsapp); color: #fff; }
.st-praca .tb-footer { border-top: 0; background: var(--tb-navy); color: rgba(255, 255, 255, .72); }
.st-praca .tb-footer-owner strong { color: #fff; }
.st-praca .tb-footer-owner small a, .st-praca .tb-footer-links a:hover { color: #fff; }
.st-praca .tb-footer-links { border-top-color: rgba(255, 255, 255, .16); }
@container tb (max-width: 899px) { .st-praca .tb-portrait { box-shadow: 8px 8px 0 var(--tb-brand); width: calc(100% - 8px); } }
@media (prefers-reduced-motion: reduce) { .st-praca .tb-button:hover { transform: none; } }
.st-praca.tb-long-name .tb-name { font-size: clamp(44px, 9.5cqi, 100px); }
