/* Shared editorial system for internal pages. Load after style.css and home.css. */
.inner-page {
  --page-ink: var(--ink, #16333c);
  --page-paper: var(--paper, #f7faf8);
  --page-soft: #edf4ef;
  --page-line: var(--line, #dce7e1);
  --page-muted: #536c65;
  --page-navy: var(--navy, #0e262e);
  --page-green: var(--green, #32be49);
  --font-corpo: Aerodome, system-ui, sans-serif;
  --font-titulo: Aerodome, system-ui, sans-serif;
  --font-label: Aerodome, system-ui, sans-serif;
  color: var(--page-ink);
  background: var(--page-paper);
  font-family: var(--fonte-texto);
}

.page-shell { width: min(100% - 48px, 1280px); margin-inline: auto; }
.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(84px, 12vw, 160px) 0 clamp(76px, 10vw, 132px);
  color: #f7faf8;
  background: var(--page-navy);
}
.page-hero > .page-shell { position: relative; z-index: 1; }
.page-hero h1 {
  max-width: 15ch;
  margin: 0;
  color: inherit;
  font: 400 clamp(3rem, 6vw, 5rem)/1 Aerodome, var(--font-titulo, system-ui), sans-serif;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.page-kicker {
  margin: 0 0 22px;
  color: #287b42;
  font: 600 .75rem/1.3 var(--fonte-texto);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.inner-page .page-section:not(.page-section--dark):not(.ai-section) .page-kicker { color: #287b42; }
.page-lede { max-width: 42em; margin: 24px 0 0; color: var(--page-muted); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.55; }
.page-hero .page-kicker, .page-section--dark .page-kicker { color: #82c89a; }
.page-hero .page-lede { color: #c0d0c7; }
.page-wave { position: absolute; z-index: 0; inset: auto 0 0; width: 100%; height: clamp(100px, 21vw, 250px); pointer-events: none; opacity: .7; }
.page-wave svg { display: block; width: 100%; height: 100%; overflow: visible; }
.page-wave path { fill: none; stroke: #32be49; stroke-width: 2; vector-effect: non-scaling-stroke; }
.page-wave path:nth-child(2) { stroke: #82c89a; stroke-width: 1.5; opacity: .65; }
.page-wave path:nth-child(3) { stroke: #e9f7ea; stroke-width: 1; opacity: .35; }
.page-wave[data-page-motion].is-visible path { animation: page-wave-drift 28s linear infinite alternate; }
.page-wave[data-page-motion].is-visible path:nth-child(2) { animation-duration: 40s; }
.page-wave[data-page-motion].is-visible path:nth-child(3) { animation-duration: 52s; }
@keyframes page-wave-drift { to { transform: translateX(-3%); } }

.page-section { padding-block: clamp(76px, 9vw, 120px); }
.page-section--soft { background: var(--page-soft); }
.page-section--dark { color: #f7faf8; background: var(--page-navy); }
.page-section h2 { max-width: 20ch; margin: 0; font: 400 clamp(2.1rem, 4.2vw, 3.375rem)/1.04 Aerodome, var(--font-titulo, system-ui), sans-serif; letter-spacing: -.035em; text-wrap: balance; }
.page-section p { max-width: 44em; }
.page-section--dark p { color: #c0d0c7; }
.editorial-row { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(36px, 8vw, 120px); align-items: start; }
.editorial-row > :first-child { position: sticky; top: 112px; }
.feature-lines { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--page-line); }
.feature-lines li { padding: 20px 0 22px; border-bottom: 1px solid var(--page-line); }
.feature-lines h3 { margin: 0 0 7px; font: 600 1.12rem/1.3 var(--fonte-texto); }
.feature-lines p { margin: 0; color: var(--page-muted); line-height: 1.6; }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 28px; }
.page-actions a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.page-subnav { position: sticky; z-index: 5; top: 0; display: flex; gap: 8px 26px; overflow-x: auto; padding: 14px max(24px, calc((100% - 1280px)/2)); color: var(--page-ink); background: color-mix(in srgb, var(--page-paper) 94%, transparent); border-bottom: 1px solid var(--page-line); backdrop-filter: blur(14px); }
.page-subnav a { flex: 0 0 auto; padding-block: 8px; font-size: .9rem; }
.product-contact { padding: clamp(40px, 7vw, 76px); background: var(--page-soft); }
.inner-page #contato h2 { max-width: 20ch; font-size: clamp(30px, 3.5vw, 48px); }
.inner-page #contato .page-lede { margin-top: 16px; }
.inner-page .product-contact { color: #f7faf8; background: #0e262e; }
.inner-page .product-contact .formulario,
.inner-page .contato-grade .formulario,
.inner-page #contato .formulario {
  max-width: 860px;
  margin-inline: auto;
  padding: 0;
  color: #f7faf8;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--fonte-texto);
}
.inner-page .contato-grade { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.inner-page .contato-grade .formulario { width: 100%; }
.product-contact .campo { margin: 0; }
.product-contact .campo label { color: var(--page-ink); }
.inner-page .formulario .campo { margin-bottom: 18px; }
.inner-page .formulario .campo label { color: var(--page-ink); font: 500 .9rem/1.4 var(--fonte-texto); }
.inner-page .product-contact .formulario .campo label,
.inner-page .page-section--dark .formulario .campo label,
.inner-page .secao.escuro .formulario .campo label { color: #f7faf8; }
.inner-page .formulario .campo input,
.inner-page .formulario .campo select,
.inner-page .formulario .campo textarea {
  color: var(--page-ink);
  background-color: var(--page-paper);
  border: 1px solid var(--page-line);
  border-radius: 0;
  padding: 12px 2px;
  font: 400 1rem/1.45 var(--fonte-texto);
  box-shadow: none;
}
.inner-page .formulario .campo textarea { min-height: 120px; border-radius: 2px; padding: 12px; }
.inner-page .formulario .campo input:focus,
.inner-page .formulario .campo select:focus,
.inner-page .formulario .campo textarea:focus { border-color: var(--page-green); outline: 2px solid color-mix(in srgb, var(--page-green) 24%, transparent); outline-offset: 2px; }
.inner-page .formulario .botao,
.inner-page .formulario button[type="submit"] { width: 100%; grid-column: 1 / -1; border-radius: 2px; font-family: var(--fonte-texto); color: #0e262e; background: #b9f5c4; }
.inner-page .formulario .form-nota,
.inner-page .formulario .form-sucesso { color: var(--page-muted); font-family: var(--fonte-texto); }
.inner-page .page-section--dark .form-nota,
.inner-page .secao.escuro .form-nota,
.inner-page #contato .form-nota { color: #b3c4bd; }
.inner-page .product-contact .faq,
.inner-page .product-contact .planos,
.inner-page .product-contact .comparativo,
.inner-page .faq,
.inner-page .planos,
.inner-page .comparativo { color: var(--page-ink); font-family: var(--fonte-texto); }
.inner-page .faq, .inner-page .plano, .inner-page .comparativo { border-radius: 2px; box-shadow: none; }
.inner-page .planos { gap: clamp(24px, 4vw, 48px); }
.inner-page .planos .plano {
  padding: 22px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--page-line);
  border-radius: 0;
  box-shadow: none;
}
.inner-page .planos .plano.plano-destaque { border-top: 3px solid var(--page-green); }
.inner-page .faq {
  padding: 0;
  background: transparent;
  border-block: 1px solid var(--page-line);
  border-radius: 0;
  box-shadow: none;
}
.inner-page .faq { max-width: 900px; }
/* FAQ: pergunta no estilo do Fluctus (Aerodome) e resposta em paragrafos legiveis, iguais nas tres paginas */
.inner-page .faq-item > summary { gap: 22px; padding: 19px 0; color: var(--page-ink); font: 600 18px/1.35 var(--fonte-texto); }
.inner-page .faq-resposta { max-width: none; padding: 0 40px 22px 0; color: var(--page-muted); font: 400 1rem/1.65 var(--fonte-texto); }
.inner-page .faq-resposta p { max-width: 68ch; margin: 0; }
.inner-page .faq-resposta p + p { margin-top: .8em; }
@media (max-width: 600px) {
  .inner-page .faq-item > summary { font-size: 16px; }
  .inner-page .faq-resposta { padding-right: 0; }
}
.inner-page .tabela-comparativa-wrap { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.inner-page .product-contact .form-nota,
.inner-page .product-contact .form-sucesso,
.inner-page .product-contact .faq,
.inner-page .product-contact .planos,
.inner-page .product-contact .comparativo { color: #c0d0c7; }
.product-contact .faq, .product-contact .planos, .product-contact .comparativo { color: var(--page-ink); }
.inner-page .revela { opacity: 1; transform: none; }
.inner-page [data-page-motion] { opacity: 1; transform: none; }
.inner-page .site-footer { color: #e9f7ea; background: var(--page-navy); }
.inner-page .site-footer a { color: inherit; }

/* Press kit retains its existing downloads, copy controls, modal and IDs. */
.inner-page .secao { padding-block: clamp(72px, 8vw, 112px); }
.inner-page .secao { color: var(--page-ink); background: var(--page-paper); }
.inner-page .secao.escuro { color: #f7faf8; background: var(--page-navy); }
.inner-page .secao.escuro .eyebrow { color: #82c89a; }
.inner-page .secao.escuro .lead { color: #c0d0c7; }
.inner-page .btn-primario { color: #0e262e; background: #b9f5c4; border: 1px solid #b9f5c4; border-radius: 2px; }
.inner-page .btn-primario:hover { color: #0e262e; background: #d2f6d8; }
.inner-page .btn-contorno { color: inherit; border-radius: 2px; }
.inner-page .secao .wrap > .eyebrow,
.inner-page .secao .wrap > h2,
.inner-page .secao .wrap > .lead { text-align: left; margin-left: 0; margin-right: 0; }
.inner-page .secao .wrap > h2 { max-width: 24ch; }
.inner-page .pk-indice { position: sticky; z-index: 5; top: 0; background: color-mix(in srgb, var(--page-paper) 94%, transparent); backdrop-filter: blur(14px); }
.inner-page .pk-indice .wrap { display: flex; gap: 8px 24px; overflow-x: auto; }
.inner-page .pk-grade, .inner-page .pk-downloads { align-items: stretch; }
.inner-page .pk-modal { color: var(--page-ink); background: var(--page-paper); }
.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.about-hero-grid .page-lede { max-width: 38em; }
.page-hero.about-hero { padding-bottom: clamp(150px, 15vw, 210px); }
.about-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px clamp(24px, 3.4vw, 56px); margin-top: 48px; border-top: 1px solid var(--page-line); }
.about-stat { display: grid; gap: 8px; padding-top: 18px; }
.about-stat strong { font: 400 clamp(2rem, 3.3vw, 3.2rem)/1 Aerodome, system-ui, sans-serif; letter-spacing: -.04em; white-space: nowrap; }
.about-stat span { color: var(--page-muted); font-size: .9rem; }
.about-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, auto); gap: clamp(16px, 2.5vw, 34px); align-items: end; margin-top: 42px; }
.about-gallery figure { min-width: 0; margin: 0; }
.about-gallery img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; background: #dce7e1; }
.about-gallery figcaption { margin-top: 9px; color: var(--page-muted); font-size: .78rem; line-height: 1.4; }
.about-photo-team { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.about-photo-team img { aspect-ratio: 1.12 / 1; }
.about-photo-partners { grid-column: 8 / span 5; grid-row: 1; }
.about-photo-work { grid-column: 8 / span 5; grid-row: 2; width: 78%; }
.about-photo-event { grid-column: 1 / span 5; grid-row: 3; }
.about-photo-city { grid-column: 6 / span 7; grid-row: 3; width: 84%; justify-self: end; }
.about-values { display: grid; grid-template-columns: repeat(auto-fill, minmax(156px, 1fr)); gap: 14px 0; margin: 24px 0 0; padding: 0; list-style: none; }
.about-values li { padding: 2px 14px; border-left: 1px solid var(--page-line); font-size: .95rem; white-space: nowrap; }

@media (max-width: 760px) {
  .page-shell { width: min(100% - 40px, 1280px); }
  .page-hero { padding-block: 78px 104px; }
  .editorial-row { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .editorial-row > * { min-width: 0; }
  .editorial-row > :first-child { position: static; }
  .page-section { padding-block: 72px; }
  .product-contact { padding: 36px 20px; }
  .inner-page .contato-grade { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .inner-page .contato-grade .formulario { min-width: 0; }
  .inner-page .secao { padding-block: 72px; }
  .inner-page .pk-fatos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inner-page .pk-fato { min-width: 0; }
  .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
  .about-gallery { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .about-gallery figure:nth-child(even) { width: 84%; align-self: end; }
  .about-gallery figure:nth-child(odd) { width: 100%; }
}

@media (max-width: 390px) {
  .inner-page #contato h2 {
    max-width: 100%;
    font-size: clamp(26px, 7.2vw, 28px);
    line-height: 1.08;
    word-break: normal;
    overflow-wrap: normal;
  }
}

@media (max-width: 360px) {
  .page-about #trajetoria h2 {
    max-width: 100%;
    font-size: clamp(26px, 8vw, 29px);
    line-height: 1.08;
    word-break: normal;
    overflow-wrap: normal;
  }
}

.page-press .hero-ondas { height: 90px; z-index: 0; }

@media (prefers-color-scheme: dark) {
  .inner-page {
    color-scheme: dark;
    --page-ink: #edf5f0;
    --page-paper: #101d20;
    --page-soft: #17282b;
    --page-line: #34484a;
    --page-muted: #b3c4bd;
    --page-green: #82c89a;
    --ink: var(--page-ink);
    --paper: var(--page-paper);
    --line: var(--page-line);
  }
  .inner-page .page-kicker { color: #82c89a; }
  .inner-page .page-section:not(.page-section--dark):not(.ai-section) .page-kicker { color: #82c89a; }
  .inner-page .page-section--dark { background: #0b171b; }
  .inner-page .product-contact { background: #0b171b; }
  .inner-page .page-hero { background: #0b171b; }
  .inner-page .pk-fundo-claro { background: #f7faf8; }
  .inner-page .pk-fundo-azul { background: #0e262e; }
  .inner-page .pk-modal { color: #edf5f0; background: #17282b; }
}

@media (prefers-reduced-motion: reduce) {
  .page-wave[data-page-motion].is-visible path { animation: none; }
  .page-subnav { scroll-behavior: auto; }
}

/* Cabecalho principal sempre ao alcance (04/10/2026): sticky, some ao rolar para baixo e volta ao rolar para cima.
   --topo-header (0px ou a altura do cabecalho) e escrita por js/pages.js e anima; a subnavegacao e as cenas
   sticky (via --altura-topo, recomposta em pages.js) acompanham. */
@property --topo-header { syntax: "<length>"; inherits: true; initial-value: 0px; }
body.inner-page { transition: --topo-header 240ms cubic-bezier(.4, 0, .2, 1); }
body.inner-page .site-header { position: sticky; top: 0; z-index: 30; transition: transform 240ms cubic-bezier(.4, 0, .2, 1); }
body.inner-page .site-header.is-oculto { transform: translateY(-100%); }
body.inner-page .page-subnav { top: var(--topo-header, 0px); }
@media (prefers-reduced-motion: reduce) {
  body.inner-page, body.inner-page .site-header { transition: none; }
}

/* Tipografia: Inter em leitura e interface; Aerodome so em h1, h2, numeros grandes e nomes.
   Os tokens --font-* acima seguem em Aerodome porque as vinhetas de produto dependem deles. */
.inner-page .btn, .inner-page .pk-copiar, .inner-page .pk-baixar a, .inner-page .pk-logo-nome,
.inner-page .pk-cor-nome, .inner-page .pk-cor-acao, .inner-page .pk-regra-nao, .inner-page .pk-fecho,
.inner-page .pk-fato-largo strong, .inner-page .rodape h4, .inner-page .rodape { font-family: var(--fonte-texto); }
.inner-page .eyebrow { font-family: var(--fonte-texto); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.inner-page .pk-fato-largo strong { font-weight: 600; font-size: 1.35rem; letter-spacing: -.01em; }
.inner-page .rodape h4 { font-weight: 600; }
/* Vinhetas de produto seguem na fonte que ja usavam (system-ui herdado); so as legendas passam a Inter. */
.inner-page :is(.cena-slot, .cena-palco, .fone-tela, .rc-fone, .rc-chat, .voice-hero-visual, .sms-pulse-visual, .sms-vig, .vinheta, .whatsapp-mark) { font-family: system-ui, sans-serif; }
.inner-page :is(.cena-slot, .cena-palco, .voice-hero-visual, .sms-pulse-visual, .ia-demo) :is(figcaption, .vig-leg) { font-family: var(--fonte-texto); }
