/* ==========================================================================
   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; }

  /* Gate de espaco vazio (REGRA 08 do caderno de arte, detector 2D): na tela
     o .wrap de 1240px faz sentido (coluna de leitura confortavel, scroll
     vertical). No canvas fixo 1920x1080 do PDF, essa mesma largura sobra
     margem lateral grande demais em cada pagina — reduz pra 1600px so em
     print, sem mexer na largura de leitura da tela. */
  .wrap{ max-width:1600px; }

  /* 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; }

  /* Fundo editorial (fotos reais atras de secoes de texto) — a imagem +
     overlay sao position:absolute/cover, print-safe por natureza (nao
     dependem do grid que tem o bug do Chromium comentado abaixo). O PDF e
     digital (1920x1080, visualizado em tela), entao mantem o mesmo filtro/
     overlay do site para ficar identico — nao e impressao em papel. */

  .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; justify-content:space-between; }
  .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; }
  /* "Curadoria imobiliária." numa linha so (ver nota na regra de tela) —
     877px uteis na coluna (1.3/2.3 de 1920px menos padding), medido a 82px. */
  .capa__headline{ font-size:82px; white-space:nowrap; max-width:none; }
  .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; }
  /* BUG achado na auditoria de 06/11/2026: a regra de tela do .diagrama__link
     tem width:100% (pensada pro grid-column da tela, onde o width:100% vale
     so a largura da propria celula). Em print, sem reset, o width:100% passa
     a valer 100% do container flex inteiro (1240px) para CADA um dos 2 links
     — com flex-shrink:0 eles nao cedem espaco, a linha inteira estoura bem
     alem dos 1920px e o 3o no (CORRETORES PARCEIROS) sai da pagina. Reset
     explicito do width aqui corrige. */
  .diagrama__link{ flex:0 0 auto; width:60px; min-width:0; }
  .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:80px 120px; }
  .slide--equipe .wrap{ width:1520px; max-width:1520px; } /* mais estreito que o 1600px geral do
     print (senao a foto, aspect-ratio 4/5 width:100%, ficava alta demais e
     estourava os 1080px por cima — achado na auditoria de 06/11/2026). Ainda
     mais largo que a 1a correcao (1360px), que deixou margem lateral grande
     demais e reprovou no detector de espaco vazio por outro motivo. */
  .equipe__headline{ font-size:50px; margin-top:10px; max-width:24ch; }
  /* 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:30px; gap:28px; align-items:flex-start; }
  .corretor{ flex:1 1 0; min-width:0; padding:0 0 20px; }
  /* altura fixa (em vez de aspect-ratio) — nao escala com a largura da coluna,
     garante que o cartao inteiro cabe nos 1080px independente do max-width do wrap */
  .corretor__foto{ width:100%; height:270px; margin-bottom:16px; }
  .corretor__funcao,.corretor__nome,.corretor__creci,.corretor__contato{ padding-inline:26px; }
  .corretor__nome{ font-size:28px; }
  .corretor__creci{ font-size:17px; }
  .corretor__contato{ font-size:16px; }
  .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; padding:40px 36px; }
  .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; }

  /* ---- Rede de parceiros (slide 7 PPT, 5 afirmacoes hero) ----
     Secao tem mais conteudo que as demais (kicker + 2 numeros + 5 itens):
     reduz o numero-hero so aqui para caber tudo sem cortar nada em 1080px. */
  .slide--numeros{ padding-top:56px; justify-content:flex-start !important; }
  .slide--numeros .wrap:first-child{ margin-bottom:8px; }
  .slide--numeros .numero__valor{ font-size:140px; }
  .slide--numeros .numero__legenda{ font-size:20px; }
  .slide--numeros .numeros__grid{ margin-top:28px; }
  .slide--numeros .numero__divisor{ min-height:140px !important; }
  .rede{
    display:flex !important; flex-wrap:wrap !important;
    margin-top:40px; padding-top:24px; gap:28px 28px;
  }
  .rede__item{ flex:1 1 17%; min-width:260px; }
  .rede__titulo{ font-size:26px; }
  .rede__texto{ font-size:16px; }

  /* ---- 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; max-width:none; }
  /* 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 */
}
