/* Fontes originais do Instituto. Inter contém pesos variáveis reais. */
@font-face{font-family:Aluvion;src:url('/assets/fonts/AluvionDisplay.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Inter;src:url('/assets/fonts/Inter-latin-400.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:100 900}

/* Escala única por função: títulos, leitura, controles e informações auxiliares. */
:root{--font-display:Aluvion,Georgia,serif;--font-text:Inter,Arial,sans-serif;--type-h1:48px;--type-h2:40px;--type-h3:24px;--type-body:17px;--type-card:16px;--type-control:14px;--type-label:12px}
html{font-synthesis:style}
body{font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.7;letter-spacing:normal}
strong,b{font-weight:600}
h1,h2,h3,h1 em,h2 em,h3 em{font-family:var(--font-display);font-weight:400;font-style:normal;text-transform:none;letter-spacing:-.02em;text-wrap:balance}
h1,.subhero h1{font-size:var(--type-h1);line-height:1.16}
.home-hero h1{font-size:60px;line-height:1.08;letter-spacing:-.02em}
.article-header h1{font-size:44px;line-height:1.18}
h2,.contact-band h2,.quote-band h2,.newsletter h2,.journal-section h2,.books-section h2,.agenda-section h2{font-size:var(--type-h2);line-height:1.22;font-weight:400;font-style:normal}
h3,.way h3,.book-item h3,.journal-card h3,.journal-section .journal-card h3,.value h3,.journey h3,.contact-option h3{font-size:var(--type-h3);line-height:1.25;font-weight:400;letter-spacing:-.015em}
.article-body h2,.text-page h2{font-size:32px;line-height:1.25}
.article-body h3{font-size:25px;line-height:1.3}

p,.hero-copy>p,.intro-grid p,.editorial p,.section-heading p,.newsletter p,.contact-band p,.subhero p,.long-copy p,.book-description p,.text-page p,.journey-grid>div>p,.faq-grid>div>p,.books-section .books-heading p,.agenda-heading p{font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.7;letter-spacing:normal}
.way p,.journal-card p,.journal-section .journal-card p,.value p,.journey p,.contact-option p,.faq details p,.agenda-body p{font-family:var(--font-text);font-size:var(--type-card);font-weight:400;line-height:1.7;letter-spacing:normal}
.article-body{font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.75}
.article-body p{font-size:var(--type-body);line-height:1.75}

.btn,.header .btn{font-family:var(--font-text);font-size:var(--type-control);font-weight:500;line-height:1.4;letter-spacing:normal;min-height:50px;padding:12px 24px}
.btn span{font-family:var(--font-text);font-size:17px;font-weight:400;line-height:1}
.nav{font-family:var(--font-text);font-size:var(--type-control);font-weight:500;line-height:1.5;letter-spacing:normal;gap:24px}
.text-link,.book-item .text-link,.journal-card .text-link,.journal-section .text-link,.agenda-contact{font-family:var(--font-text);font-size:var(--type-control);font-weight:500;line-height:1.6;letter-spacing:normal}
.menu-button{font-family:var(--font-text);font-size:var(--type-control);font-weight:500;line-height:1.4}
.hero-actions{align-items:center;gap:20px 24px}

.eyebrow,.subhero .eyebrow,.way .eyebrow,.book-item .eyebrow,.journal-section .eyebrow{font-family:var(--font-text);font-size:var(--type-label);font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.hero-caption,.principle-list,.gallery-note,.note{font-family:var(--font-text);font-size:13px;font-weight:400;line-height:1.65;letter-spacing:normal;text-transform:none}
.page-nav{font-family:var(--font-text);font-size:14px;font-weight:400;line-height:1.6;letter-spacing:normal}
.journal-meta,.journal-section .journal-meta,.breadcrumb,.newsletter-action small,.article-source,.article-header p{font-family:var(--font-text);font-size:13px;font-weight:400;line-height:1.65;letter-spacing:normal;text-transform:none}

.faq summary{font-family:var(--font-text);font-size:16px;font-weight:500;line-height:1.5;letter-spacing:normal}
.faq-number{font-family:var(--font-text);font-size:13px;font-weight:400;line-height:1.5}
.faq summary:after{font-family:var(--font-text);font-size:22px;font-weight:400;line-height:1}
.agenda-card h3{font-family:var(--font-text);font-size:17px;font-weight:500;line-height:1.5;letter-spacing:normal;text-wrap:pretty}
.agenda-contact{font-weight:500}

.footer p,.footer nav{font-family:var(--font-text);font-size:14px;font-weight:400;line-height:1.65}
.footer h2{font-family:var(--font-text);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
.footer-bottom,.footer-bottom p{font-family:var(--font-text);font-size:12px;font-weight:400;line-height:1.6}
.value .number,.journey .number{font-family:var(--font-display);font-size:24px;font-weight:400;font-style:normal;line-height:1.25;letter-spacing:-.02em}

/* Ênfase editorial e cores aprovadas permanecem locais a cada seção. */
.journal-section h2 em{font-style:italic;color:#782d19}
.journal-section .eyebrow{color:#a36b25}
.books-section h2,.agenda-section h2{color:#fff}
.home-hero .wrap{grid-template-columns:1.18fr .82fr;gap:40px}

@media(max-width:1024px){
 :root{--type-h1:42px;--type-h2:36px;--type-h3:23px}
 .home-hero h1{font-size:54px}
 .article-header h1{font-size:40px}
 .nav{gap:18px}
 .home-hero .wrap{grid-template-columns:1fr}
 .hero-copy{padding:60px 0 20px}
 .hero-symbol{height:420px}
}
@media(max-width:767px){
 :root{--type-h1:34px;--type-h2:30px;--type-h3:22px;--type-body:16px;--type-label:11px}
 .home-hero h1{font-size:42px;line-height:1.12}
 .home-hero h1 br{display:none}
 .subhero h1{line-height:1.2}
 .article-header h1{font-size:34px;line-height:1.2}
 .article-body h2,.text-page h2{font-size:27px;line-height:1.3}
 .article-body h3{font-size:22px;line-height:1.3}
 .btn,.header .btn{font-size:14px;line-height:1.4;min-height:48px;padding:12px 22px}
 .hero-copy{padding:50px 0 20px}
 .hero-symbol{height:390px}
 .breadcrumb,.newsletter-action small,.article-source,.article-header p,.journal-meta,.journal-section .journal-meta{font-size:12px}
 .footer-bottom,.footer-bottom p{font-size:11px}
}
.guide-content .guide-role{font-family:var(--font-text);font-size:16px;font-weight:400;line-height:1.65}
.guide-training-label{font-family:var(--font-text);font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.guide-training p{font-family:var(--font-text);font-size:16px;font-weight:400;line-height:1.7}

.newsletter-label{font-family:var(--font-text);font-size:14px;font-weight:500;line-height:1.5}
.newsletter-controls input{font-family:var(--font-text);font-size:16px;font-weight:400;line-height:1.5}
.newsletter-form .newsletter-status{font-family:var(--font-text);font-size:14px;font-weight:400;line-height:1.6}
