/* ========================================================================== 
   Design System V2 — 2026-08-20
   Consolidacao visual: preserva paleta, tipografia e identidade existentes.
   A landing de albuns/figurinhas possui direcao propria e fica fora desta camada.
   ========================================================================== */

body:not(.page-albuns-figurinhas) {
  --v2-paper: #f8f8f8;
  --v2-paper-warm: #eeeCE0;
  --v2-ink: #262421;
  --v2-ink-soft: #3b3833;
  --v2-muted: #6d675f;
  --v2-gold: #c19d44;
  --v2-gold-deep: #8f6f27;
  --v2-line: rgba(38,36,33,.14);
  --v2-line-soft: rgba(38,36,33,.08);
  --v2-section: clamp(4rem, 7vw, 6.8rem);
  --v2-reading: 67ch;
  --v2-fast: 160ms cubic-bezier(.2,.7,.2,1);
  --v2-medium: 220ms cubic-bezier(.2,.7,.2,1);
  --radius-lg: 0;
  --radius-md: 0;
  --radius-sm: 0;
  background: var(--v2-paper);
  color: var(--v2-ink);
  font-size: 16px;
  line-height: 1.68;
}

body:not(.page-albuns-figurinhas) main { overflow: clip; }
body:not(.page-albuns-figurinhas) p { text-wrap: pretty; }
body:not(.page-albuns-figurinhas) h1,
body:not(.page-albuns-figurinhas) h2,
body:not(.page-albuns-figurinhas) h3 { text-wrap: balance; }

/* Elimina animacao global de entrada/saida: movimento passa a comunicar estado. */
html.has-js body:not(.page-albuns-figurinhas),
html.has-js body:not(.page-albuns-figurinhas).page-ready,
html.has-js body:not(.page-albuns-figurinhas).page-leaving {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

body:not(.page-albuns-figurinhas) .section { padding: var(--v2-section) 0; }
body:not(.page-albuns-figurinhas) .container { width: min(1180px, calc(100% - 48px)); }
body:not(.page-albuns-figurinhas) .measure-copy { max-width: var(--v2-reading); }

/* Escala tipografica consolidada */
body:not(.page-albuns-figurinhas) h1 {
  font-size: clamp(2.55rem, 4.4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  font-weight: 500;
}
body:not(.page-albuns-figurinhas) h2 {
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  font-weight: 500;
}
body:not(.page-albuns-figurinhas) h3 {
  font-size: clamp(1.18rem, 1.7vw, 1.55rem);
  line-height: 1.18;
  letter-spacing: -.012em;
}
body:not(.page-albuns-figurinhas) .lead {
  max-width: 62ch;
  font-size: clamp(1rem, 1.15vw, 1.1rem);
  line-height: 1.68;
}
body:not(.page-albuns-figurinhas) .page-hero h1,
body:not(.page-albuns-figurinhas) .editorial-page-hero h1 { max-width: 18ch; }
body:not(.page-albuns-figurinhas) .page-hero,
body:not(.page-albuns-figurinhas) .editorial-page-hero {
  padding-top: clamp(3rem, 5vw, 4.8rem);
  padding-bottom: clamp(3rem, 5vw, 4.8rem);
}

/* Eyebrows: mantidos somente quando realmente classificam. */
body:not(.page-albuns-figurinhas) .kicker,
body:not(.page-albuns-figurinhas) .section-eyebrow,
body:not(.page-albuns-figurinhas) .grf-section-label {
  font-size: .68rem;
  letter-spacing: .14em;
  margin-bottom: .9rem;
}
body:not(.page-albuns-figurinhas) .section-eyebrow::before,
body:not(.page-albuns-figurinhas) .kicker::before { width: 24px; }
body:not(.page-albuns-figurinhas) .v2-no-eyebrow .section-eyebrow,
body:not(.page-albuns-figurinhas) .v2-no-eyebrow .grf-section-label { display: none; }

/* Header
   O cabeçalho utiliza integralmente o padrão global definido em styles.css/editorial.css,
   igual ao da Home. Este arquivo não deve sobrescrever suas dimensões ou tipografia. */

/* Interacoes: tactile, curtas, sem animar layout */
body:not(.page-albuns-figurinhas) .btn,
body:not(.page-albuns-figurinhas) .btn-text,
body:not(.page-albuns-figurinhas) .footer-prelude-link {
  transition: color var(--v2-fast), background var(--v2-fast), border-color var(--v2-fast), transform var(--v2-fast), opacity var(--v2-fast);
}
body:not(.page-albuns-figurinhas) .btn:active { transform: scale(.98); }
body:not(.page-albuns-figurinhas) .btn { border-radius: 0; }

/* HOME — institucional editorial */
.page-home .editorial-hero { padding: clamp(3.7rem, 6vw, 6rem) 0 clamp(3.5rem, 6vw, 5.6rem); }
.page-home .editorial-hero-grid { grid-template-columns: minmax(0,1.06fr) minmax(310px,.78fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.page-home .hero-copy h1 { max-width: 12ch; font-size: clamp(3rem, 5vw, 4.6rem); }
.page-home .hero-copy .lead { max-width: 54ch; }
.page-home .editorial-portrait { margin: 0; }
.page-home .portrait-frame { border: 0; border-left: 1px solid rgba(193,157,68,.58); padding-left: 18px; background: transparent; box-shadow: none; }
.page-home .portrait-frame img { display:block; width:100%; aspect-ratio: .79; object-fit: cover; object-position: 50% 23%; }
.page-home .editorial-portrait figcaption { position: static; margin: .95rem 0 0 18px; padding: 0; background: transparent; color: var(--v2-ink); border: 0; }
.page-home .editorial-portrait figcaption span { color: var(--v2-ink); }
.page-home .editorial-portrait figcaption small { color: var(--v2-muted); }

.page-home .home-principles { padding: 0; background: var(--v2-ink); color: #f8f8f8; }
.page-home .home-principles-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:0; }
.page-home .home-principle { min-height: 150px; padding: 1.8rem 1.5rem; border:0; border-right:1px solid rgba(248,248,248,.13); background:transparent; display:block; }
.page-home .home-principle:last-child { border-right:0; }
.page-home .home-principle-icon { display:none; }
.page-home .home-principle::before { content: counter(method-step, decimal-leading-zero); counter-increment: method-step; display:block; margin-bottom:1.15rem; color:var(--v2-gold); font: 600 .67rem/1 var(--font-body); letter-spacing:.12em; }
.page-home .home-principles-grid { counter-reset: method-step; }
.page-home .home-principle strong { font-family:var(--font-display); font-weight:500; font-size:1.12rem; }
.page-home .home-principle p { color:rgba(248,248,248,.7); font-size:.9rem; line-height:1.55; margin:.55rem 0 0; text-align:left; }

.page-home .home-profile-heading { max-width: 720px; margin-bottom: 2.8rem; }
.page-home .home-profile-heading .section-eyebrow { display:none; }
.page-home .home-profile-grid { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap:0; align-items:stretch; border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); }
.page-home .home-profile-panel { border:0 !important; box-shadow:none !important; background:transparent !important; padding:2.4rem 2.8rem 2.4rem 0; }
.page-home .home-profile-panel + .home-profile-panel { border-left:1px solid var(--v2-line) !important; padding-left:3rem; padding-right:0; }
.page-home .home-profile-label { font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v2-gold-deep); }
.page-home .home-profile-panel h3 { margin-top:.65rem; }
.page-home .home-profile-tabs { gap:0; border-top:1px solid var(--v2-line-soft); margin-top:1.4rem; }
.page-home .home-profile-tab { border-radius:0; border:0; border-bottom:1px solid var(--v2-line-soft); background:transparent; padding:.9rem 0; text-align:left; justify-content:flex-start; }
.page-home .home-profile-tab.is-active { color:var(--v2-gold-deep); background:transparent; }
.page-home .home-profile-tab::after { content:'↗'; margin-left:auto; opacity:0; transform:translateX(-5px); transition:opacity var(--v2-fast),transform var(--v2-fast); }
.page-home .home-profile-tab.is-active::after { opacity:1; transform:none; }
.page-home .home-profile-tabpanels { min-height:110px; }

.page-home .home-editorial-feed { background:#fff; }
.page-home .home-feed-head { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.page-home .home-feed-head h2 { max-width:15ch; margin:0; }
.page-home .home-feed-head p { max-width:48ch; color:var(--v2-muted); margin:0; }
.page-home .home-articles-v2 { border-top:1px solid var(--v2-line); }
.page-home .home-article-item { display:grid; grid-template-columns:54px minmax(0,1fr) 44px; gap:1.2rem; padding:1.65rem 0; border-bottom:1px solid var(--v2-line); background:transparent; }
.page-home .home-article-number { color:var(--v2-gold-deep); font-size:.7rem; letter-spacing:.08em; }
.page-home .home-article-meta { display:flex; flex-wrap:wrap; gap:.65rem 1rem; color:var(--v2-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
.page-home .home-article-copy h3 { margin:.5rem 0 .45rem; max-width:30ch; }
.page-home .home-article-copy p { margin:0; max-width:66ch; color:var(--v2-muted); }
.page-home .home-article-link { align-self:center; display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--v2-line); }
.page-home .home-article-link:hover { border-color:var(--v2-gold); color:var(--v2-gold-deep); }
.page-home .home-regularity-bridge { padding:clamp(3.6rem,6vw,5.8rem) 0; background:var(--v2-ink); color:#f8f8f8; }
.page-home .home-regularity-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr); gap:clamp(3rem,7vw,7rem); align-items:end; }
.page-home .home-regularity-grid h2 { color:#f8f8f8; max-width:15ch; margin:0; }
.page-home .home-regularity-grid p { color:rgba(248,248,248,.7); max-width:52ch; margin:1.2rem 0 0; }
.page-home .home-regularity-actions { display:flex; justify-content:flex-end; align-items:center; }

/* SOBRE */
.page-about .about-hero-editorial { padding-top:clamp(3.5rem,6vw,6rem); }
.page-about .about-hero-grid { grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(3rem,7vw,7rem); }
.page-about .about-main-portrait { border:0; padding:0 0 0 16px; border-left:1px solid rgba(193,157,68,.58); }
.page-about .about-main-portrait img { display:block; box-shadow:none; }
.page-about .about-main-copy h1 { max-width:15ch; }
.page-about .about-credentials-strip { border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding:.8rem 0; gap:.7rem 1.2rem; }
.page-about .execution-section-v2 { background:#fff; }
.page-about .execution-v2-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.page-about .execution-v2-intro h2 { max-width:13ch; margin:0; }
.page-about .execution-v2-intro p { max-width:46ch; color:var(--v2-muted); margin:1.25rem 0 0; }
.page-about .execution-v2-list { border-top:1px solid var(--v2-line); counter-reset:conduct; }
.page-about .execution-v2-item { counter-increment:conduct; display:grid; grid-template-columns:52px minmax(0,1fr); gap:1rem; padding:1.45rem 0; border-bottom:1px solid var(--v2-line); }
.page-about .execution-v2-item::before { content:counter(conduct,decimal-leading-zero); color:var(--v2-gold-deep); font-size:.7rem; letter-spacing:.08em; padding-top:.3rem; }
.page-about .execution-v2-item h3 { margin:0 0 .45rem; }
.page-about .execution-v2-item p { margin:0; color:var(--v2-muted); max-width:58ch; }
.page-about .purpose-section-v2 { background:var(--v2-ink); color:#f8f8f8; }
.page-about .purpose-v2-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.page-about .purpose-v2-main h2 { color:#f8f8f8; max-width:14ch; margin:0; }
.page-about .purpose-v2-main p { color:rgba(248,248,248,.72); max-width:54ch; margin:1.25rem 0 0; }
.page-about .purpose-v2-notes { border-top:1px solid rgba(248,248,248,.16); }
.page-about .purpose-v2-note { padding:1.4rem 0; border-bottom:1px solid rgba(248,248,248,.16); }
.page-about .purpose-v2-note span { color:var(--v2-gold); font-size:.67rem; letter-spacing:.11em; text-transform:uppercase; }
.page-about .purpose-v2-note h3 { color:#f8f8f8; margin:.55rem 0 .45rem; }
.page-about .purpose-v2-note p { color:rgba(248,248,248,.66); margin:0; }
.page-about .ibmj-section { background:var(--v2-paper-warm); }
.page-about .ibmj-shell { border-top:1px solid var(--v2-line); padding-top:0; }
.page-about .ibmj-heading { padding-top:2rem; }
.page-about .ibmj-heading .section-eyebrow { display:none; }
.page-about .ibmj-overview { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(3rem,6vw,6rem); }
.page-about .ibmj-pillars { border-top:1px solid var(--v2-line); }
.page-about .ibmj-pillar { border:0; border-bottom:1px solid var(--v2-line); background:transparent; padding:1.2rem 0; }

/* ATUACAO — mapa da pratica */
.page-practice .practice-catalog { padding-top:clamp(3.2rem,5vw,5rem); }
.page-practice .practice-catalog-header { display:block; max-width:760px; margin-bottom:3rem; }
.page-practice .practice-catalog-header .section-eyebrow { display:none; }
.page-practice .practice-catalog-header h1 { max-width:12ch; margin-bottom:1rem; }
.page-practice .practice-catalog-header p { max-width:58ch; color:var(--v2-muted); }
.page-practice .atuacao-feature-card { border:0 !important; box-shadow:none !important; background:var(--v2-ink) !important; color:#f8f8f8; padding:clamp(2rem,4vw,3.6rem); display:grid; grid-template-columns:80px minmax(0,1fr); column-gap:2rem; }
.page-practice .atuacao-feature-card .card-number { grid-row:1 / span 4; color:var(--v2-gold); font-size:.72rem; letter-spacing:.1em; }
.page-practice .atuacao-feature-card h2 { color:#f8f8f8; max-width:18ch; margin-top:0; }
.page-practice .atuacao-feature-card p { color:rgba(248,248,248,.72); max-width:66ch; }
.page-practice .atuacao-feature-card .atuacao-trigger-list { color:rgba(248,248,248,.82); }
.page-practice .atuacao-feature-card .btn-text { color:var(--v2-gold); }
.page-practice .practice-products-intro { margin:4.5rem 0 1.6rem; }
.page-practice .practice-products-intro .section-eyebrow { display:none; }
.page-practice .practice-products-intro h2 { max-width:16ch; }
.page-practice .practice-family-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 4rem; }
.page-practice .practice-family { min-width:0; }
.page-practice .practice-family-head { min-height:90px; border-top:2px solid var(--v2-ink); padding-top:1rem; margin-bottom:.25rem; }
.page-practice .practice-family-head span { color:var(--v2-gold-deep); font-size:.67rem; letter-spacing:.11em; text-transform:uppercase; }
.page-practice .practice-family-head h3 { margin:.45rem 0 0; font-size:1.35rem; }
.page-practice .practice-family .atuacao-product-card { border:0; border-top:1px solid var(--v2-line); background:transparent; border-radius:0; }
.page-practice .practice-family .atuacao-product-card:last-child { border-bottom:1px solid var(--v2-line); }
.page-practice .atuacao-product-toggle { padding:1.3rem 0; }
.page-practice .atuacao-product-head { grid-template-columns:40px minmax(0,1fr); }
.page-practice .atuacao-product-summary { grid-column:2; color:var(--v2-muted); }
.page-practice .atuacao-product-content { padding:0 0 1.5rem 40px; }

/* GESTAO DE REGULARIDADE — produto juridico */
.page-regularity .grf-hero { min-height:auto; padding:clamp(3.2rem,5vw,4.8rem) 0; }
.page-regularity .grf-hero h1 { font-size:clamp(2.8rem,4.6vw,4.25rem); max-width:14ch; }
.page-regularity .grf-hero-video,
.page-regularity .grf-video-card,
.page-regularity [class*="video-placeholder"] { display:none !important; }
.page-regularity .grf-section { padding:clamp(4.2rem,7vw,7rem) 0; }
.page-regularity .grf-section-head { max-width:800px; }
.page-regularity .grf-section-head h2 { max-width:18ch; }
.page-regularity #relatorio .grf-section-label,
.page-regularity #exemplos .grf-section-label,
.page-regularity #funcionamento .grf-section-label,
.page-regularity #perguntas .grf-section-label { display:none; }
.page-regularity .grf-window { border-radius:0; box-shadow:none; border:1px solid rgba(248,248,248,.18); }
.page-regularity .grf-example-card,
.page-regularity .grf-organize-card,
.page-regularity .grf-scope-box { border-radius:0; box-shadow:none; }
.page-regularity .grf-example-columns { gap:0; border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); }
.page-regularity .grf-example-card { border:0; border-right:1px solid var(--v2-line); background:transparent; }
.page-regularity .grf-example-card:last-child { border-right:0; }
.page-regularity .grf-organize-grid { gap:0; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--v2-line); border-left:1px solid var(--v2-line); }
.page-regularity .grf-organize-card { border:0; border-right:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); background:transparent; }
.page-regularity .grf-continuity-frame { border-radius:0; box-shadow:none; }
.page-regularity .grf-scope-grid { gap:1px; background:var(--v2-line); }
.page-regularity .grf-scope-box { border:0; background:#fff; }
.page-regularity #publico .grf-audience-grid { gap:0; border-top:1px solid var(--v2-line); }
.page-regularity #publico .grf-audience-card { border:0; border-bottom:1px solid var(--v2-line); background:transparent; box-shadow:none; }
.page-regularity .grf-final { padding:clamp(4rem,7vw,6.5rem) 0; }

/* CONTEUDOS — revista juridica */
.page-content .page-hero { padding-bottom:3.2rem; }
.page-content .page-hero .kicker { display:none; }
.page-content .page-hero h1 { max-width:16ch; }
.page-content .section > .container > .section-heading .section-eyebrow { display:none; }
.page-content [data-recentes-grid] { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); grid-auto-flow:row; gap:0 3rem; border-top:1px solid var(--v2-line); }
.page-content .recente-list-item { border:0; border-bottom:1px solid var(--v2-line); padding:1.4rem 0; background:transparent; box-shadow:none; }
.page-content .recente-list-item-featured { grid-row:span 4; display:block; padding:2.2rem 2.2rem 2.2rem 0; border-right:1px solid var(--v2-line); }
.page-content .recente-list-item-featured .acervo-item-info h3 { font-size:clamp(1.9rem,3vw,2.7rem); max-width:15ch; margin:.9rem 0 1rem; }
.page-content .recente-list-item-featured .acervo-item-info p { font-size:1.03rem; max-width:52ch; }
.page-content .recente-list-item:not(.recente-list-item-featured) { grid-column:2; }
.page-content .acervo-controles { border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding:1rem 0; }
.page-content .filtro-chip { border-radius:0; background:transparent; }
.page-content .filtro-chip.active { background:var(--v2-ink); color:#fff; }
.page-content .acervo-item { border-radius:0; box-shadow:none; background:transparent; border:0; border-bottom:1px solid var(--v2-line); }

/* ARTIGOS — leitura juridica */
.page-article .page-hero { padding-bottom:3.2rem; }
.page-article .page-hero .kicker { display:none; }
.page-article .article-content,
.page-article .artigo-content,
.page-article [data-artigo-conteudo] { max-width:72ch; }
.page-article .article-content h2,
.page-article .artigo-content h2,
.page-article [data-artigo-conteudo] h2 { font-size:clamp(1.45rem,2vw,1.8rem); margin-top:2.7rem; }
.page-article .article-content h3,
.page-article .artigo-content h3,
.page-article [data-artigo-conteudo] h3 { font-size:1.2rem; margin-top:2rem; }
.page-article blockquote { margin:2rem 0; padding:1.2rem 0 1.2rem 1.5rem; border-left:2px solid var(--v2-gold); background:transparent; color:var(--v2-ink-soft); }
.page-article .article-content a,
.page-article .artigo-content a,
.page-article [data-artigo-conteudo] a { text-decoration-thickness:1px; text-underline-offset:3px; }

/* CONTATO — formulario operacional */
.page-contact .page-hero .kicker { display:none; }
.page-contact .editorial-contact-grid { grid-template-columns:minmax(270px,.68fr) minmax(0,1.32fr); gap:clamp(3rem,6vw,6rem); }
.page-contact .editorial-contact-card { background:transparent; border:0; box-shadow:none; padding:0; }
.page-contact .editorial-contact-card .section-eyebrow { display:none; }
.page-contact .form-card { border-radius:0; box-shadow:none; border:1px solid var(--v2-line); background:#fff; }
.page-contact .form-progress { display:none; }
.page-contact .form-progress-steps { display:grid; grid-template-columns:repeat(4,1fr); margin:0 0 1.4rem; border-top:1px solid var(--v2-line); }
.page-contact .form-progress-step { padding:.65rem .3rem .4rem 0; border-top:2px solid transparent; margin-top:-1px; color:var(--v2-muted); font-size:.69rem; letter-spacing:.04em; }
.page-contact .form-progress-step.is-active { border-top-color:var(--v2-gold-deep); color:var(--v2-ink); }
.page-contact .form-step-label { font-size:.72rem; color:var(--v2-muted); }
.page-contact input,
.page-contact select,
.page-contact textarea { border-radius:0; background:#fff; }
.page-contact input:focus,
.page-contact select:focus,
.page-contact textarea:focus { box-shadow:0 0 0 2px rgba(193,157,68,.18); }

/* FAQ */
.page-faq .page-hero .kicker { display:none; }
.page-faq .page-hero h1 { max-width:18ch; }
.page-faq .faq-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 5rem; align-items:start; }
.page-faq .faq-group-title { margin:0 0 1rem; padding-top:.9rem; border-top:2px solid var(--v2-ink); font-size:1.35rem; }
.page-faq .faq-item { border-radius:0; box-shadow:none; background:transparent; border:0; border-top:1px solid var(--v2-line); }
.page-faq .faq-group .faq-item:last-child { border-bottom:1px solid var(--v2-line); }
.page-faq .faq-question { padding:1.15rem 0; }
.page-faq .faq-answer { padding-left:0; padding-right:0; }

/* CALCULADORA — ferramenta */
.page-pgfn-calculator .calc-hero { min-height:auto; padding:clamp(3.6rem,6vw,5.6rem) 0; }
.page-pgfn-calculator .calc-hero h1 { max-width:12ch; font-size:clamp(2.6rem,4vw,3.8rem); }
.page-pgfn-calculator .calc-section { padding:clamp(4rem,6vw,6.4rem) 0; }
.page-pgfn-calculator .calc-section-head { max-width:760px; }
.page-pgfn-calculator .calc-form-card,
.page-pgfn-calculator .calc-results,
.page-pgfn-calculator .calc-card { border-radius:0; box-shadow:none; }
.page-pgfn-calculator input,
.page-pgfn-calculator select { border-radius:0; font-variant-numeric:tabular-nums; }
.page-pgfn-calculator .calc-results,
.page-pgfn-calculator [data-calc-results] { font-variant-numeric:tabular-nums; }
.page-pgfn-calculator .calc-context-section .section-eyebrow,
.page-pgfn-calculator .calc-faq-section .section-eyebrow,
.page-pgfn-calculator .calc-closing .section-eyebrow { display:none; }

/* PAGINAS AUXILIARES */
.page-404 .page-hero,
.page-thankyou .page-hero,
.page-privacy .page-hero { min-height:auto; padding:clamp(4rem,8vw,7rem) 0; }
.page-404 .page-hero h1,
.page-thankyou .page-hero h1,
.page-privacy .page-hero h1 { max-width:15ch; }

/* Footer mais silencioso */
body:not(.page-albuns-figurinhas) .footer-prelude { padding-top:3.2rem; padding-bottom:2.7rem; }
body:not(.page-albuns-figurinhas) .footer-prelude .section-eyebrow { display:none; }
body:not(.page-albuns-figurinhas) .footer-prelude h2 { font-size:clamp(1.65rem,2.5vw,2.3rem); max-width:20ch; }
body:not(.page-albuns-figurinhas) .footer-editorial-grid { padding-top:2.7rem; }

@media (max-width: 980px) {
  body:not(.page-albuns-figurinhas) .container { width:min(100% - 36px, 1180px); }
  .page-home .editorial-hero-grid,
  .page-about .about-hero-grid,
  .page-about .execution-v2-grid,
  .page-about .purpose-v2-grid,
  .page-home .home-regularity-grid { grid-template-columns:1fr; gap:2.6rem; }
  .page-home .hero-copy h1 { max-width:14ch; }
  .page-home .editorial-portrait { max-width:620px; }
  .page-home .home-profile-grid { grid-template-columns:1fr; }
  .page-home .home-profile-panel { padding-right:0; }
  .page-home .home-profile-panel + .home-profile-panel { border-left:0 !important; border-top:1px solid var(--v2-line) !important; padding-left:0; }
  .page-home .home-regularity-actions { justify-content:flex-start; }
  .page-practice .practice-family-grid { grid-template-columns:1fr; gap:2.5rem; }
  .page-content [data-recentes-grid] { grid-template-columns:1fr; }
  .page-content .recente-list-item-featured { grid-row:auto; border-right:0; padding-right:0; }
  .page-content .recente-list-item:not(.recente-list-item-featured) { grid-column:auto; }
  .page-contact .editorial-contact-grid { grid-template-columns:1fr; }
  .page-faq .faq-groups { grid-template-columns:1fr; gap:3rem; }
  .page-regularity .grf-organize-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 720px) {
  body:not(.page-albuns-figurinhas) { --v2-section: 3.5rem; }
  body:not(.page-albuns-figurinhas) .container { width:min(100% - 28px, 1180px); }
  body:not(.page-albuns-figurinhas) h1 { font-size:clamp(2.15rem,10vw,2.85rem); }
  body:not(.page-albuns-figurinhas) h2 { font-size:clamp(1.65rem,7vw,2.15rem); }
  .page-home .editorial-hero { padding-top:2.8rem; }
  .page-home .hero-copy h1 { font-size:clamp(2.55rem,11.8vw,3.45rem); max-width:11ch; }
  .page-home .home-principles-grid { grid-template-columns:1fr 1fr; }
  .page-home .home-principle { min-height:130px; border-bottom:1px solid rgba(248,248,248,.13); }
  .page-home .home-principle:nth-child(2n) { border-right:0; }
  .page-home .home-feed-head { display:block; }
  .page-home .home-feed-head p { margin-top:1rem; }
  .page-home .home-article-item { grid-template-columns:38px minmax(0,1fr); }
  .page-home .home-article-link { display:none; }
  .page-about .about-main-portrait { max-width:420px; }
  .page-about .execution-v2-item { grid-template-columns:38px minmax(0,1fr); }
  .page-practice .atuacao-feature-card { grid-template-columns:1fr; }
  .page-practice .atuacao-feature-card .card-number { grid-row:auto; margin-bottom:1rem; }
  .page-practice .atuacao-product-head { grid-template-columns:32px minmax(0,1fr); }
  .page-practice .atuacao-product-content { padding-left:32px; }
  .page-regularity .grf-organize-grid { grid-template-columns:1fr; }
  .page-regularity .grf-example-columns { display:block; }
  .page-regularity .grf-example-card { border-right:0; border-bottom:1px solid var(--v2-line); }
  .page-contact .form-progress-steps { grid-template-columns:repeat(2,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.page-albuns-figurinhas) *,
  body:not(.page-albuns-figurinhas) *::before,
  body:not(.page-albuns-figurinhas) *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Ajustes estruturais complementares */
.page-regularity .grf-hero-grid-v2 { grid-template-columns:minmax(0,1fr) !important; max-width:900px; }
.page-regularity .grf-hero-grid-v2 > .grf-reveal { max-width:820px; }
.page-content .section-header.single { max-width:720px; margin-bottom:2rem; }
.page-content .acervo-toolbar { border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding:1rem 0; }
.page-contact .footer-prelude { display:none; }
.page-faq main > .section:last-of-type .section-eyebrow { display:none; }
.page-faq main > .section:last-of-type .split { align-items:start; }
.page-faq main > .section:last-of-type h2 { max-width:16ch; }
.page-pgfn-calculator .calc-context-section .calc-context-grid,
.page-pgfn-calculator .calc-faq-section .faq-list { border-radius:0; }

@media (max-width:720px){
}

/* Artigos: documento juridico, com barra lateral silenciosa */
.page-article .artigo-layout { grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr); gap:clamp(2.6rem,6vw,6rem); align-items:start; }
.page-article .artigo-sticky-card { border:0; border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); border-radius:0; background:transparent; box-shadow:none; padding:1.35rem 0; }
.page-article .artigo-sticky-card > h2 { font-size:1.15rem; line-height:1.25; margin:.55rem 0 1rem; }
.page-article .artigo-sticky-label { color:var(--v2-gold-deep); font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; }
.page-article .artigo-author-card-sticky { display:grid; grid-template-columns:54px minmax(0,1fr); gap:.9rem; border-top:1px solid var(--v2-line-soft); padding-top:1.2rem; margin-top:1.2rem; }
.page-article .artigo-author-photo { width:54px; height:54px; border-radius:0; overflow:hidden; }
.page-article .artigo-author-photo img { width:100%; height:100%; object-fit:cover; }
.page-article .artigo-author-copy > span { font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--v2-muted); }
.page-article .artigo-author-copy h3 { font-size:1rem; margin:.2rem 0 .35rem; }
.page-article .artigo-author-copy p { font-size:.84rem; line-height:1.5; color:var(--v2-muted); margin:.2rem 0 .55rem; }
.page-article .artigo-documento { min-width:0; }
.page-article .artigo-corpo { max-width:70ch; font-size:1.02rem; line-height:1.78; }
.page-article .artigo-corpo > p { margin:0 0 1.25rem; }
.page-article .artigo-corpo h2 { font-size:clamp(1.45rem,2vw,1.82rem); margin:2.8rem 0 1rem; }
.page-article .artigo-corpo h3 { font-size:1.2rem; margin:2.1rem 0 .85rem; }
.page-article .editorial-related-links { margin-top:3rem; border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding:1.4rem 0; background:transparent; }
.page-article .editorial-related-links h2 { font-size:1.2rem; margin:0 0 .8rem; }
.page-article .editorial-related-links ul { margin:0; padding:0; list-style:none; }
.page-article .editorial-related-links li + li { border-top:1px solid var(--v2-line-soft); }
.page-article .editorial-related-links a { display:block; padding:.75rem 0; }

/* Calculadora: dado -> premissa -> resultado */
.page-pgfn-calculator .calc-shell { grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(2.5rem,5vw,5rem); align-items:start; }
.page-pgfn-calculator .calc-form-panel { border:1px solid var(--v2-line); border-radius:0; box-shadow:none; background:#fff; }
.page-pgfn-calculator .calc-fieldset { border:0; border-top:1px solid var(--v2-line); border-radius:0; padding:1.4rem 0 0; margin-top:1.6rem; }
.page-pgfn-calculator .calc-fieldset legend { padding:0; font-family:var(--font-display); font-size:1.1rem; }
.page-pgfn-calculator .calc-field-label { font-weight:600; color:var(--v2-ink); }
.page-pgfn-calculator .calc-help,
.page-pgfn-calculator .calc-form-note,
.page-pgfn-calculator .calc-legal-note { color:var(--v2-muted); }
.page-pgfn-calculator .calc-result-panel { border-radius:0; box-shadow:none; background:var(--v2-ink); color:#f8f8f8; border:0; }
.page-pgfn-calculator .calc-result-panel h2,
.page-pgfn-calculator .calc-result-panel h3,
.page-pgfn-calculator .calc-result-panel strong { color:#f8f8f8; }
.page-pgfn-calculator .calc-result-panel .calc-result-kicker,
.page-pgfn-calculator .calc-result-panel .calc-result-badge { color:var(--v2-gold); }
.page-pgfn-calculator .calc-summary-grid { gap:0; border-top:1px solid rgba(248,248,248,.15); border-left:1px solid rgba(248,248,248,.15); }
.page-pgfn-calculator .calc-summary-item { border-radius:0; border:0; border-right:1px solid rgba(248,248,248,.15); border-bottom:1px solid rgba(248,248,248,.15); background:transparent; }
.page-pgfn-calculator .calc-breakdown-card { border-radius:0; box-shadow:none; }
.page-pgfn-calculator .calc-context-grid { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,5vw,5rem); }
.page-pgfn-calculator .calc-context-items { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--v2-line); }
.page-pgfn-calculator .calc-context-item { border:0; border-bottom:1px solid var(--v2-line); border-right:1px solid var(--v2-line); border-radius:0; background:transparent; }
.page-pgfn-calculator .calc-context-item:nth-child(2n) { border-right:0; }
.page-pgfn-calculator .calc-faq-list { border-top:1px solid var(--v2-line); }
.page-pgfn-calculator .calc-faq-list > * { border-radius:0; box-shadow:none; }

/* Privacy / thanks / 404: sistema simples */
.page-privacy main .section,
.page-thankyou main .section,
.page-404 main .section { padding-top:3.5rem; padding-bottom:3.5rem; }

@media (max-width: 900px) {
  .page-article .artigo-layout { grid-template-columns:1fr; }
  .page-article .artigo-sticky-panel { position:static; }
  .page-article .artigo-sticky-card { display:none; }
  .page-pgfn-calculator .calc-shell,
  .page-pgfn-calculator .calc-context-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .page-pgfn-calculator .calc-context-items { grid-template-columns:1fr; }
  .page-pgfn-calculator .calc-context-item { border-right:0; }
}

/* GRF: remove aparicoes decorativas em scroll; interacoes permanecem nos tabs e no relatorio. */
.page-regularity .grf-reveal,
.page-regularity .grf-reveal.visible { opacity:1 !important; transform:none !important; transition:none !important; }
