/* ==========================================================================
   Jamil Imoveis · Apresentacao Institucional · FOLHA DE IMPRESSAO (PDF)
   Carregado so em media=print. Reaproveita o mesmo HTML/conteudo do site
   (fonte unica), cada <section class="slide"> vira 1 pagina 1920x1080,
   full-bleed, sem scroll-scrub (estado final sempre visivel).
   ========================================================================== */
@page{
  size:1920px 1080px;
  margin:0;
}

@media print{
  html, body{
    margin:0; padding:0;
    width:1920px;
    background:var(--ameixa);
  }
  .skip-link, .site-mark{ display:none !important; }

  /* Reveal/scrub sempre no estado final em PDF · sem animacao, sem scroll */
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  [data-scrub]{ height:auto !important; position:relative !important; }
  [data-scrub-stage]{ position:static !important; height:auto !important; overflow:visible !important; padding-block:0 !important; }
  .scrub-fade, .scrub-line{ opacity:1 !important; transform:none !important; }

  .slide{
    width:1920px; height:1080px;
    margin:0; box-sizing:border-box;
    overflow:hidden;
    break-after:page; break-inside:avoid; page-break-after:always; page-break-inside:avoid;
    min-height:0;
    display:flex; flex-direction:column; justify-content:center;
    padding-block:0;
  }
  main > .slide:last-child{ break-after:auto; page-break-after:avoid; }

  /* ---- Capa ---- */
  .slide--capa{ min-height:0; height:1080px; }
  /* BUG Chromium/Skia print-to-pdf (confirmado 06/11/2026, bisseccao isolada em
     /tmp): display:grid numa coluna de altura EXATA igual a pagina (1080px)
     faz o motor de PDF nao pintar o item irmao (texto some da pagina 1, sem
     erro no console). display:flex com a mesma proporcao de largura nao tem
     o bug: troca so em print, tela continua grid. Mesmo bug afeta
     .exclusividade__grid mais abaixo. */
  .capa__grid{ display:flex !important; min-height:0; height:1080px; }
  .capa__text{ flex:1.3 1 0; min-width:0; padding:72px 104px; gap:28px; }
  .capa__galeria{ flex:1 1 0; min-width:0; }
  /* reset de margem padrão do navegador em <p>/<h1> (escala com font-size e, somada
     ao gap do flex, estourava a altura da coluna — causa raiz do corte do PONTO 1) */
  .capa__text > *{ margin:0; }
  .capa__logo{ width:220px; height:auto; }
  .capa__headline{ font-size:120px; }
  .capa__lede{ font-size:28px; max-width:34ch; }
  .credencial{ max-width:46ch; }
  .credencial__nome{ font-size:26px; }
  .credencial__linha{ font-size:18px; white-space:nowrap; }
  .capa__galeria{ min-height:0; height:1080px; }
  .capa__galeria-dots{ display:none; } /* indicador de scroll não faz sentido impresso */

  /* ---- Boutique ---- */
  .slide--boutique{ padding:88px 120px; }
  .boutique__headline{ font-size:64px; max-width:21ch; margin-top:16px; }
  .boutique__atuacao{ margin:20px auto 0; max-width:44ch; font-size:19px; }
  /* mesmo bug de grid comentado acima (ver Capa): forca flex em vez de
     repeat(3,1fr), evita risco do mesmo bug em renders futuros mesmo quando
     este especifico saiu certo numa rodada de teste (bug intermitente). */
  .pilares{ display:flex !important; margin-top:44px; gap:44px; }
  .pilar{ flex:1 1 0; min-width:0; }
  .pilar__num{ font-size:42px; }
  .pilar__titulo{ font-size:21px; }
  .pilar__texto{ font-size:17px; }
  .boutique__fecho{ margin-top:36px; font-size:32px; }

  /* ---- Curadoria ---- */
  .slide--curadoria{ padding:88px 120px; }
  .curadoria__headline{ font-size:62px; margin-top:16px; }
  [data-scrub-stage] .wrap{ padding-inline:0; margin-top:24px; }
  /* mesmo bug de grid do capa__grid (comentario la em cima): aqui o motor de
     print aplica o breakpoint mobile (max-width:980px) do .diagrama/.timeline
     mesmo a pagina sendo 1920px, empilhando os nos e esticando a altura total
     da secao (estoura os 1080px e corta o topo). Forca flex, ignora a media
     query, mantem 1 linha como no desktop. */
  .diagrama{ display:flex !important; align-items:center; margin-bottom:56px; }
  .diagrama__node{ flex:1 1 0; min-width:0; }
  .diagrama__link{ flex:0 0 auto; }
  .diagrama__tag{ font-size:16px; }
  .diagrama__tag--hub{ font-size:26px; }
  .diagrama__texto{ font-size:17px; }
  .timeline{ display:flex !important; padding-top:40px; }
  .timeline__item{ flex:1 1 0; min-width:0; }
  .timeline__num{ font-size:32px; }
  .timeline__titulo{ font-size:18px; }
  .timeline__texto{ font-size:15px; }

  /* ---- Equipe ---- */
  .slide--equipe{ padding:96px 120px; }
  .equipe__headline{ font-size:62px; margin-top:16px; max-width:22ch; }
  /* mesmo bug de grid comentado acima (capa/curadoria): forca flex em vez de
     repeat(3,1fr), senao os 3 cartoes empilham em coluna unica e estouram a
     pagina (corta o kicker e o h2 no topo). */
  .equipe__grid{ display:flex !important; margin-top:52px; gap:40px; }
  .corretor{ flex:1 1 0; min-width:0; padding:36px 28px; }
  .corretor__foto{ width:140px; height:140px; margin-bottom:18px; }
  .corretor__nome{ font-size:26px; }
  .equipe__fecho{ margin-top:40px; font-size:24px; }

  /* ---- Objetivo ---- */
  .slide--objetivo{ padding:96px 120px; }
  .objetivo__headline{ font-size:84px; margin-top:16px; }
  /* mesmo bug de grid comentado acima: forca flex em vez de repeat(3,1fr) */
  .metas{ display:flex !important; margin-top:64px; gap:56px; }
  .meta{ flex:1 1 0; min-width:0; }
  .meta__num{ font-size:68px; }
  .meta__texto{ font-size:32px; }
  .objetivo__legenda{ margin-top:56px; font-size:34px; }

  /* ---- Tabela ---- */
  .slide--tabela{ padding:96px 120px; }
  .tabela__headline{ font-size:68px; margin-top:16px; }
  /* mesmo bug de grid comentado acima: forca flex em vez de 1fr auto 1fr.
     flex-grow:1 com flex-basis:0 tambem falha neste motor (as 2 colunas
     colapsam pro min-content e o espaco sobra no meio) — usa basis fixo em
     % em vez de depender do calculo de grow. */
  .tabela{ display:flex !important; margin-top:56px; }
  .tabela__col{ flex:0 0 47%; min-width:0; }
  .tabela__eixo{ flex:0 0 1px; width:1px; margin-inline:var(--space-4); }
  .tabela__titulo{ font-size:22px; }
  .tabela__lista li{ font-size:20px; }

  /* ---- Marketing ---- */
  .slide--marketing{ padding:88px 120px; }
  .marketing__headline{ font-size:62px; margin-top:16px; }
  .marketing__roda{ margin-top:48px; }
  .marketing__selo{ width:160px; height:160px; margin-bottom:40px; }
  /* mesmo bug de grid comentado acima: forca flex em vez de repeat(4,1fr) */
  .marketing__blocos{ display:flex !important; }
  .marketing__bloco{ flex:1 1 0; min-width:0; }
  .marketing__bloco h3{ font-size:19px; }
  .marketing__bloco p{ font-size:16px; }
  .marketing__tags{ font-size:15px !important; }

  /* ---- Numeros / Custo ---- */
  .slide--numeros, .slide--custo{ padding:0 120px; }
  /* mesmo bug comentado acima (ver Capa/Tabela), variante nova: aqui o
     .numeros__grid ja era flex na tela (nunca foi grid), mas usava
     flex-wrap:wrap + gap/padding em clamp(...,vw,...) + o .numero__divisor
     tinha uma media query propria (max-width:760px) que vira vertical->
     horizontal. O motor de print as vezes avalia a largura errada nesses
     dois pontos (mesma causa-raiz da media query mobile falsa do
     diagrama/timeline/equipe) e os 2 numeros saem desalinhados, sem o
     divisor vertical, e a pagina 9 estoura por baixo. Forca nowrap +
     valores fixos em px (sem vw/clamp) + reforca o divisor vertical. */
  .numeros__grid{
    display:flex !important; flex-wrap:nowrap !important;
    align-items:center !important; justify-content:center !important;
    gap:140px !important; padding-inline:0 !important;
  }
  .numero{ flex:0 0 auto !important; }
  .numero__divisor{
    flex:0 0 1px !important; width:1px !important; height:auto !important;
    min-height:220px !important; align-self:stretch !important;
  }
  .numero__valor{ font-size:225px; }
  .numero__legenda{ font-size:24px; }
  .custo__detalhe{ font-size:24px; margin-top:56px; }

  /* ---- Exclusividade ---- */
  .slide--exclusividade{ min-height:0; height:1080px; }
  /* mesmo bug de grid do capa__grid acima: forca flex so em print */
  .exclusividade__grid{ display:flex !important; min-height:0; height:1080px; }
  .exclusividade__foto{ flex:1 1 0; min-width:0; }
  .exclusividade__text{ flex:1.35 1 0; min-width:0; padding:88px 104px; gap:28px; }
  .exclusividade__headline{ font-size:92px; }
  /* mesmo bug de grid comentado acima: forca flex-wrap em vez de 1fr 1fr */
  .exclusividade__lista{ display:flex !important; flex-wrap:wrap; gap:.6rem 1.5rem; }
  .exclusividade__lista li{ flex:0 0 calc(50% - .75rem); box-sizing:border-box; font-size:19px; }

  /* ---- Contato ---- */
  .slide--contato{ min-height:0; height:1080px; }
  .contato__logo{ width:340px; height:auto; }
  .credencial--central .credencial__nome{ font-size:48px; }
  .credencial--central .credencial__linha{ font-size:26px; }
  .contato__wrap .btn{ display:none; } /* CTA de link não serve em PDF impresso */
}
