@charset "utf-8";
/* site.css: sistema comum de todas as páginas (tokens, capítulos, barra,
   sumário, botões, fechamento e rodapé). */

  /* ------------------------------------------------------------ tokens --
     Fundo escuro: azul-marinho quase preto da VP. Acento: âmbar de sol,
     um tom só, em duas luminosidades (uma por família de fundo). */
  :root {
    --sc-canvas:     #071526;
    --sc-surface:    #0D2138;
    --sc-ink:        #F2EEE6;
    --sc-ink-soft:   #AEBBCA;
    --sc-accent:     #E9A93B;
    --sc-accent-ink: #071526;
    --sc-font-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --sc-font-text:    "Jost", "Helvetica Neue", Arial, sans-serif;
    --sc-font-mono:    "Jost", "Helvetica Neue", Arial, sans-serif;
    --sc-shadow-color: 212 70% 4%;
    --sc-r-sm: 6px; --sc-r-md: 12px; --sc-r-lg: 12px;

    --paper:      #FBFAF7;
    --paper-tint: #E9EEF3;
    --navy:       #01447C;
    --navy-deep:  #0B2D4E;
    --deep:       #050F1C;
    --graphite:   #14191F;
    --bar-h: 78px;
  }

  /* Capítulo escuro / capítulo de papel. Reescrever o token não basta:
     color é herdado como valor computado, então a cor é declarada de novo. */
  .cap-dark  { background: var(--sc-canvas); color: var(--sc-ink); }
  .cap-deep  { --sc-canvas: var(--deep); background: var(--deep); color: var(--sc-ink); }
  .cap-paper, .cap-tint {
    --sc-ink: #0B2D4E; --sc-ink-soft: #3B5166; --sc-accent: #8A5A0B; --sc-accent-ink: #FBFAF7;
    --sc-hairline: color-mix(in oklab, #0B2D4E 14%, transparent);
    --sc-hairline-strong: color-mix(in oklab, #0B2D4E 26%, transparent);
    --sc-shadow-color: 212 40% 30%;
    color: var(--sc-ink);
  }
  .cap-paper { background: var(--paper); }
  .cap-tint  { background: var(--paper-tint); }
  .cap-graphite { --sc-canvas: var(--graphite); --sc-ink-soft: #B3B9C0; background: var(--graphite); color: var(--sc-ink); }

  h1, h2, h3 { font-family: var(--sc-font-display); font-weight: 500; margin: 0; text-wrap: balance; }
  .kicker {
    font-family: var(--sc-font-text); font-size: var(--sc-t-xs); font-weight: 500;
    letter-spacing: 0.22em; text-transform: uppercase; color: var(--sc-ink-soft);
  }
  .meta {
    font-size: var(--sc-t-xs); font-weight: 500; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--sc-ink-soft);
  }

  /* ----------------------------------------------------------- botões -- */
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.6em;
    min-height: 48px; padding: 0 1.4rem; border-radius: var(--sc-r-sm);
    font-family: var(--sc-font-text); font-size: var(--sc-t-sm); font-weight: 500;
    letter-spacing: 0.06em; text-decoration: none; white-space: nowrap;
    border: 1px solid transparent; cursor: pointer;
    transition: background-color 160ms var(--sc-ease-out), color 160ms var(--sc-ease-out),
                border-color 160ms var(--sc-ease-out), transform 120ms var(--sc-ease-out);
  }
  .btn:active { transform: translateY(1px); }
  .btn--solid { background: var(--sc-accent); color: var(--sc-accent-ink); box-shadow: var(--sc-e1); }
  .btn--ghost { color: var(--sc-ink); border-color: var(--sc-hairline-strong); }
  @media (hover: hover) and (pointer: fine) {
    .btn--solid:hover { background: color-mix(in oklab, var(--sc-accent) 86%, white); }
    .btn--ghost:hover { border-color: var(--sc-ink); }
  }
  .link-arrow {
    font-weight: 500; font-size: var(--sc-t-sm); letter-spacing: 0.04em;
    color: var(--sc-accent); text-decoration: none; border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
  }

  /* ------------------------------------------------------------ barra -- */
  .bar {
    position: fixed; inset: 0 0 auto 0; z-index: var(--sc-z-chrome);
    height: var(--bar-h); display: flex; align-items: center; gap: var(--sc-6);
    padding-inline: var(--sc-gutter);
    background: color-mix(in oklab, #071526 96%, transparent);
    border-bottom: 1px solid color-mix(in oklab, #F2EEE6 10%, transparent);
    color: #F2EEE6;
  }
  .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; margin-right: auto; }
  .brand img { width: 46px; height: 46px; }
  .brand b { font-family: var(--sc-font-display); font-weight: 600; font-size: 1.05rem; letter-spacing: 0; display: block; line-height: 1.1; font-size: 1.28rem; }
  .brand small { display: block; font-size: 0.72rem; letter-spacing: 0.26em; text-transform: uppercase; color: #AEBBCA; }
  .bar nav { display: flex; gap: var(--sc-6); }
  .bar nav a { font-size: var(--sc-t-base); text-decoration: none; color: #D6DDE6; padding-block: 6px; }
  @media (hover: hover) and (pointer: fine) { .bar nav a:hover { color: #FFFFFF; } }
  .bar .btn { min-height: 46px; padding-inline: 1.3rem; font-size: var(--sc-t-base); --sc-accent: #E9A93B; --sc-accent-ink: #071526; }
  .menu-btn { display: none; background: none; border: 1px solid color-mix(in oklab, #F2EEE6 24%, transparent); border-radius: var(--sc-r-sm); color: inherit; width: 44px; height: 44px; cursor: pointer; }
  .menu-btn svg { margin: auto; }
  .drawer { display: none; }
  @media (max-width: 1180px) {
    .bar nav, .bar > .btn { display: none; }
    .menu-btn { display: block; }
    .drawer {
      position: fixed; inset: var(--bar-h) 0 auto 0; z-index: var(--sc-z-chrome);
      background: #071526; color: #F2EEE6; padding: var(--sc-5) var(--sc-gutter) var(--sc-6);
      border-bottom: 1px solid color-mix(in oklab, #F2EEE6 12%, transparent);
    }
    .drawer[data-open="true"] { display: block; }
    .drawer a:not(.btn) { display: block; padding: 14px 0; font-size: 1.05rem; text-decoration: none; border-bottom: 1px solid color-mix(in oklab, #F2EEE6 8%, transparent); }
    .drawer .btn { margin-top: var(--sc-5); width: 100%; --sc-accent: #E9A93B; --sc-accent-ink: #071526; }
  }

  /* ---------------------------------------------- sumário (assinatura de
     navegação do dossiê): só desktop largo. */
  .folio {
    position: fixed; z-index: calc(var(--sc-z-chrome) - 1); left: 18px; top: 50%; translate: 0 -50%;
    display: none; flex-direction: column; gap: 4px; padding: 8px 6px;
    background: color-mix(in oklab, #071526 88%, transparent); border-radius: var(--sc-r-md);
    box-shadow: var(--sc-e2);
  }
  @media (min-width: 1280px) { .folio { display: flex; } }
  .folio a {
    position: relative; display: grid; place-items: center; width: 34px; height: 30px;
    font-size: 0.72rem; font-weight: 500; letter-spacing: 0.04em; color: #8FA0B3;
    text-decoration: none; border-radius: var(--sc-r-sm); font-variant-numeric: tabular-nums;
  }
  .folio a[aria-current="true"] { color: #071526; background: #E9A93B; }
  .folio a span {
    position: absolute; left: calc(100% + 10px); top: 50%; translate: 0 -50%;
    white-space: nowrap; padding: 6px 10px; border-radius: var(--sc-r-sm);
    background: #071526; color: #F2EEE6; font-size: 0.78rem; letter-spacing: 0.02em;
    opacity: 0; pointer-events: none; transition: opacity 140ms var(--sc-ease-out);
  }
  .folio a:hover span, .folio a:focus-visible span { opacity: 1; }

  /* ============================================ 8 CONTATO (assinatura) */
  .close { position: relative; min-height: 100svh; display: flex; flex-direction: column; overflow: clip; isolation: isolate; }
  .close__sky { position: absolute; inset: 0; z-index: -1; }
  .close__sky img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; max-width: none; }
  .close__sky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,21,38,0.55) 0%, rgba(7,21,38,0.72) 45%, #071526 82%); }
  .close__main { flex: 1; padding-top: calc(var(--bar-h) + var(--sc-section) * 0.6); padding-bottom: var(--sc-8); }
  .close h2 { font-size: var(--sc-t-3xl); line-height: 1.02; letter-spacing: -0.02em; max-width: 12ch; }
  .close .sc-lede { margin-top: var(--sc-5); color: #D9E1EA; font-weight: 300; max-width: 40ch; }
  .channels { display: grid; grid-template-columns: repeat(2, minmax(0, 22rem)); gap: var(--sc-6); margin-top: var(--sc-7); }
  .channel { padding-top: var(--sc-4); border-top: 1px solid var(--sc-hairline-strong); }
  .channel .meta { color: #E9A93B; }
  .channel h3 { font-family: var(--sc-font-text); font-weight: 500; font-size: 1.3rem; margin-top: var(--sc-2); letter-spacing: 0; overflow-wrap: anywhere; }
  .channel p { margin: var(--sc-2) 0 var(--sc-5); color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
  .signoff { display: flex; gap: var(--sc-5); align-items: center; margin-top: var(--sc-8); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline); max-width: 46rem; }
  .signoff img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
  .signoff b { display: block; font-family: var(--sc-font-display); font-weight: 500; font-size: 1.25rem; }
  .signoff span { display: block; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
  .foot { border-top: 1px solid var(--sc-hairline); padding-block: var(--sc-6); font-size: var(--sc-t-sm); color: #9FB0C2; }
  .foot__row { display: flex; flex-wrap: wrap; gap: var(--sc-5) var(--sc-7); align-items: center; justify-content: space-between; }
  .foot nav { display: flex; flex-wrap: wrap; gap: var(--sc-3) var(--sc-5); }
  .foot a { color: #CFD8E2; text-decoration: none; }
  .foot a:hover { color: #FFFFFF; }
  .foot .brand img { width: 32px; height: 32px; }
  @media (max-width: 760px) { .channels { grid-template-columns: 1fr; } .close h2 { font-size: var(--sc-t-2xl); } }


  /* ===================================================== páginas internas */
  .bar nav a[aria-current="page"] { color: #FFFFFF; box-shadow: inset 0 -2px 0 #E9A93B; }

  /* Capa de página: foto em parallax suave, sombra só onde o texto fica */
  .page-hero { position: relative; min-height: min(86svh, 54rem); display: flex; align-items: flex-end; overflow: clip; isolation: isolate; }
  .page-hero--short { min-height: min(62svh, 40rem); }
  .page-hero__bg { position: absolute; inset: -8% 0; z-index: -2; }
  .page-hero__bg img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
  .page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(90deg, rgba(5,15,28,0.92) 0%, rgba(5,15,28,0.74) 36%, rgba(5,15,28,0.18) 64%, transparent 78%),
                linear-gradient(0deg, rgba(5,15,28,0.85) 0%, transparent 38%); }
  .page-hero--plain::before { background: radial-gradient(70% 90% at 85% 0%, rgba(233,169,59,0.10), transparent 60%); }
  .page-hero__inner { width: 100%; padding-top: calc(var(--bar-h) + var(--sc-8)); padding-bottom: clamp(3rem, 8vh, 6rem); }
  .page-hero h1 { font-size: clamp(2.5rem, 1.3rem + 3.3vw, 4.5rem); line-height: 1.03; letter-spacing: -0.02em; max-width: 21ch; margin-top: var(--sc-4); }
  .page-hero h1 em { font-style: italic; color: #F5D9A6; }
  .page-hero .lede { font-size: var(--sc-t-lg); line-height: 1.5; font-weight: 300; color: #D9E1EA; max-width: 46ch; margin: var(--sc-5) 0 0; }
  .page-hero .actions { display: flex; flex-wrap: wrap; gap: var(--sc-3); margin-top: var(--sc-6); }
  .page-hero .kicker { color: #E6ECF2; }
  .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--sc-5) var(--sc-6); margin: var(--sc-8) 0 0; padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline-strong); max-width: 64rem; }
  .facts dt { font-family: var(--sc-font-display); font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.8rem); line-height: 1; color: #F5D9A6; }
  .cap-paper .facts dt, .cap-tint .facts dt { color: var(--navy-deep); }
  .facts dd { margin: var(--sc-2) 0 0; font-size: var(--sc-t-base); color: var(--sc-ink-soft); max-width: 28ch; }
  @media (max-width: 760px) {
    .page-hero::before { background: linear-gradient(0deg, rgba(5,15,28,0.94) 0%, rgba(5,15,28,0.78) 46%, rgba(5,15,28,0.35) 72%, rgba(5,15,28,0.55) 100%); }
    .page-hero h1 { font-size: clamp(2.1rem, 1.2rem + 5vw, 2.9rem); }
    .page-hero .lede { font-size: 1.05rem; }
  }

  /* Capítulo: cabeçalho à esquerda, conteúdo à direita */
  .chap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sc-8); align-items: start; }
  .chap--stack { grid-template-columns: 1fr; gap: var(--sc-7); }
  .chap__head h2 { font-size: var(--sc-t-2xl); line-height: 1.07; letter-spacing: -0.015em; max-width: 16ch; margin-top: var(--sc-3); }
  .chap--stack .chap__head h2 { max-width: 22ch; }
  .chap__head .sc-body { margin-top: var(--sc-5); font-size: clamp(1.08rem, 0.98rem + 0.35vw, 1.28rem); line-height: 1.6; max-width: 58ch; }
  .chap__head .proof { margin-top: var(--sc-5); font-size: var(--sc-t-sm); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sc-ink-soft); }
  .chap__head .btn { margin-top: var(--sc-6); }
  @media (max-width: 900px) { .chap { grid-template-columns: 1fr; gap: var(--sc-6); } }

  /* Lista de escopo: título do bloco e itens em linha fina, sem cartão */
  .scope { display: grid; gap: var(--sc-7); }
  .scope h3 { font-size: clamp(1.4rem, 1.1rem + 0.8vw, 1.9rem); }
  .scope ul { list-style: none; margin: var(--sc-4) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sc-6); }
  .scope li { padding: var(--sc-4) 0; border-top: 1px solid var(--sc-hairline); font-size: var(--sc-t-base); line-height: 1.5; color: var(--sc-ink-soft); }
  .scope li b { display: block; font-weight: 600; color: var(--sc-ink); font-size: clamp(1.08rem, 1rem + 0.3vw, 1.25rem); margin-bottom: 2px; }
  @media (max-width: 640px) { .scope ul { grid-template-columns: 1fr; } }

  /* Etapas numeradas (cadência, método, metodologia de diligência) */
  .steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: var(--sc-6) var(--sc-5); counter-reset: st; }
  .steps li { position: relative; padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline-strong); counter-increment: st; }
  .steps li::before { content: counter(st, decimal-leading-zero); display: block; font-family: var(--sc-font-display); font-style: italic; font-size: 2.2rem; line-height: 1; color: var(--sc-accent); margin-bottom: var(--sc-4); }
  .steps h3 { font-size: clamp(1.3rem, 1.1rem + 0.5vw, 1.6rem); line-height: 1.2; }
  .steps p { margin: var(--sc-3) 0 0; font-size: var(--sc-t-base); line-height: 1.55; color: var(--sc-ink-soft); }
  @media (max-width: 1100px) { .steps { grid-template-columns: repeat(min(var(--n, 5), 3), minmax(0, 1fr)); } }
  @media (max-width: 640px) { .steps { grid-template-columns: 1fr; } }

  /* Entregáveis / itens de lista com título */
  .items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sc-6) var(--sc-7); }
  .items li { padding-top: var(--sc-4); border-top: 1px solid var(--sc-hairline-strong); }
  .items h3 { font-size: clamp(1.4rem, 1.15rem + 0.6vw, 1.75rem); }
  .items p { margin: var(--sc-2) 0 0; color: var(--sc-ink-soft); font-size: var(--sc-t-base); }
  @media (max-width: 760px) { .items { grid-template-columns: 1fr; gap: var(--sc-5); } }

  /* Dados com fonte, em registro */
  .ledger-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sc-6); border-top: 1px solid var(--sc-hairline-strong); }
  .ledger-row > div { padding-top: var(--sc-5); }
  .ledger-row b { display: block; font-family: var(--sc-font-display); font-weight: 500; font-size: clamp(2.2rem, 1.5rem + 2vw, 3.4rem); line-height: 1; color: var(--navy-deep); }
  .cap-dark .ledger-row b, .cap-deep .ledger-row b { color: #F5D9A6; }
  .ledger-row span { display: block; margin-top: var(--sc-3); font-size: var(--sc-t-base); color: var(--sc-ink-soft); max-width: 32ch; }
  @media (max-width: 760px) { .ledger-row { grid-template-columns: 1fr; gap: 0; } .ledger-row > div { padding-block: var(--sc-4); border-bottom: 1px solid var(--sc-hairline); } }

  /* Dois públicos lado a lado */
  .duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sc-6); }
  .duo article { background: var(--sc-surface); border-radius: var(--sc-r-md); padding: var(--sc-6); box-shadow: var(--sc-e2), var(--sc-edge); }
  .cap-paper .duo article, .cap-tint .duo article { background: #FFFFFF; box-shadow: var(--sc-e1); }
  .duo .meta { color: var(--sc-accent); }
  .duo h3 { font-size: clamp(1.5rem, 1.1rem + 1vw, 2.1rem); margin-top: var(--sc-3); }
  .duo p { margin: var(--sc-3) 0 0; color: var(--sc-ink-soft); font-size: var(--sc-t-base); }
  .duo ul { margin: var(--sc-5) 0 0; padding: 0; list-style: none; }
  .duo li { padding: var(--sc-3) 0; border-top: 1px solid var(--sc-hairline); }
  @media (max-width: 860px) { .duo { grid-template-columns: 1fr; } }

  /* Faixa de chamada */
  .callout { display: flex; flex-wrap: wrap; gap: var(--sc-5) var(--sc-7); align-items: center; justify-content: space-between; padding: var(--sc-6) var(--sc-7); border-radius: var(--sc-r-md); background: var(--navy-deep); color: #F2EEE6; box-shadow: var(--sc-e2); }
  .callout h3 { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); }
  .callout p { margin: var(--sc-2) 0 0; color: #C9D4DF; max-width: 52ch; font-size: var(--sc-t-base); }
  .callout .btn { --sc-accent: #E9A93B; --sc-accent-ink: #071526; }

  /* Perguntas frequentes */
  .faq { border-top: 1px solid var(--sc-hairline-strong); }
  .faq details { border-bottom: 1px solid var(--sc-hairline); }
  .faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--sc-5); padding: var(--sc-5) 0; font-family: var(--sc-font-display); font-size: clamp(1.15rem, 1rem + 0.5vw, 1.45rem); }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; font-family: var(--sc-font-text); font-weight: 300; font-size: 1.6rem; line-height: 1; color: var(--sc-accent); transition: transform 160ms var(--sc-ease-out); }
  .faq details[open] summary::after { transform: rotate(45deg); }
  .faq details p { margin: 0 0 var(--sc-5); color: var(--sc-ink-soft); max-width: 62ch; }

  /* Preço */
  .price { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--sc-7); align-items: start; }
  .price__panel { background: #FFFFFF; border-radius: var(--sc-r-md); padding: var(--sc-7); box-shadow: var(--sc-e2); }
  .price__panel .meta { color: var(--sc-accent); }
  .price__value { font-family: var(--sc-font-display); font-size: clamp(2.8rem, 2rem + 2.6vw, 4.2rem); line-height: 1; margin-top: var(--sc-4); color: var(--navy-deep); }
  .price__value small { display: block; margin-top: var(--sc-3); font-family: var(--sc-font-text); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
  .price__panel ul { list-style: none; margin: var(--sc-6) 0; padding: 0; }
  .price__panel li { padding: var(--sc-3) 0; border-top: 1px solid var(--sc-hairline); }
  .price__panel .btn { width: 100%; }
  .price__panel .fine { margin: var(--sc-4) 0 0; font-size: var(--sc-t-xs); color: var(--sc-ink-soft); text-align: center; }
  .guarantee { border-top: 1px solid var(--sc-hairline-strong); padding-top: var(--sc-5); }
  .guarantee h3 { font-size: 1.5rem; }
  .guarantee p { margin: var(--sc-3) 0 0; color: var(--sc-ink-soft); }
  @media (max-width: 860px) { .price { grid-template-columns: 1fr; } .price__panel { padding: var(--sc-6); } }

  /* Linha do tempo */
  .timeline { list-style: none; margin: var(--sc-6) 0 0; padding: 0; }
  .timeline li { display: grid; grid-template-columns: 9rem 1fr; gap: var(--sc-5); padding: var(--sc-5) 0; border-top: 1px solid var(--sc-hairline); }
  .timeline .yr { font-size: var(--sc-t-sm); font-weight: 500; letter-spacing: 0.08em; color: var(--sc-accent); font-variant-numeric: tabular-nums; }
  .timeline h3 { font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem); }
  .timeline p { margin: var(--sc-2) 0 0; color: var(--sc-ink-soft); font-size: var(--sc-t-base); }
  @media (max-width: 560px) { .timeline li { grid-template-columns: 1fr; gap: var(--sc-2); } }

  /* Página de texto curto (blog em branco, 404) */
  .notice { max-width: 46rem; }
  .notice p { color: var(--sc-ink-soft); font-size: var(--sc-t-lg); font-weight: 300; margin: var(--sc-5) 0 0; }
  .notice .actions { display: flex; flex-wrap: wrap; gap: var(--sc-3); margin-top: var(--sc-6); }

  .names { display: flex; flex-wrap: wrap; gap: var(--sc-4) var(--sc-7); margin-top: var(--sc-5); font-family: var(--sc-font-display); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.6rem); color: var(--navy-deep); }

  /* ============================================================ celular
     Só telas pequenas. Toque de 44px, textos mínimos de 13px e o botão
     principal sempre ao alcance do polegar. */
  .mcta { display: none; }
  @media (max-width: 760px) {
    :root { --sc-t-xs: 0.8125rem; }

    /* botão principal fixo no rodapé da tela */
    .mcta {
      display: flex; position: fixed; z-index: var(--sc-z-chrome);
      left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom));
      min-height: 52px; font-size: 1rem;
      --sc-accent: #E9A93B; --sc-accent-ink: #071526;
      box-shadow: 0 6px 20px rgba(5,15,28,0.45), 0 2px 6px rgba(5,15,28,0.3);
      transform: translateY(calc(100% + 24px)); transition: transform 220ms var(--sc-ease-out);
    }
    .mcta[data-show="true"] { transform: none; }

    /* toque: links do rodapé em grade, cada um com 44px */
    .foot nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sc-5); width: 100%; }
    .foot nav a { display: flex; align-items: center; min-height: 44px; border-bottom: 1px solid var(--sc-hairline); }
    .foot__row { gap: var(--sc-5); }

    /* toque: links com seta e links de contato no meio do texto */
    .link-arrow { display: inline-flex; align-items: center; min-height: 44px; border-bottom: 0; padding-bottom: 0;
                  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }
    .channel p a { display: inline-flex; align-items: center; min-height: 44px; }

    /* capas: botões na largura toda */
    .hero .actions .btn, .page-hero .actions .btn { flex: 1 1 100%; }

    /* proporções */
    .page-hero.page-hero--long h1 { font-size: clamp(1.9rem, 1.2rem + 3.4vw, 2.4rem); }
    .about-split .facts dt { font-size: 1.5rem; }
    .facts dt { font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2rem); }
    .sc-wrap.bio figure { max-width: 15rem; }
    .duo article { padding: var(--sc-5); }
    .callout { padding: var(--sc-5); }
    .price__panel { padding: var(--sc-5); }
  }
