@import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@400;500;600&family=Lora:wght@400;500;600&display=swap');
/* Fonte única por função. Escala responsiva centralizada. */
:root{--font-heading:'Lora';--font-body:'Epilogue',sans-serif;--text-h1:64px;--text-h2:44px;--text-h3:28px;--text-h4:24px;--text-h5:20px;--text-h6:18px;--text-p:16px;--text-small:14px;--text-label:12px}
body{font-family:var(--font-body);font-size:var(--text-p);line-height:1.75;font-weight:400}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;font-style:normal;letter-spacing:-.02em;overflow-wrap:break-word}
h1{font-size:var(--text-h1);line-height:1.15}h2{font-size:var(--text-h2);line-height:1.2}h3{font-size:var(--text-h3);line-height:1.3}h4{font-size:var(--text-h4);line-height:1.35}h5{font-size:var(--text-h5);line-height:1.4}h6{font-size:var(--text-h6);line-height:1.4}
p{font-family:var(--font-body);font-size:var(--text-p);font-weight:400;line-height:1.75;letter-spacing:normal}span{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}em{font-family:inherit;font-style:normal}strong{font-weight:600}button,input,textarea,select{font-family:var(--font-body);font-size:var(--text-small);line-height:1.5}
.brand{font-family:var(--font-heading);font-size:28px;line-height:1.2}.brand span{font-family:var(--font-body);font-size:10px;line-height:2.2;letter-spacing:.32em}
.eyebrow{font-size:var(--text-label);font-weight:500;line-height:1.6;letter-spacing:.16em}.button,.text-link,nav,summary{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;line-height:1.6}.button span{font-size:20px}.intro{font-size:18px;line-height:1.7}.half-message,.large{font-family:var(--font-heading);font-size:var(--text-h4);line-height:1.5}
.credential,.tag,.number,.note,.phone,figcaption,.ribbon,.footer-end,.portrait-signature span,.office-address p,.office-online p,.orbit-note{font-size:var(--text-small);line-height:1.7}.portrait-signature .signature-name{font-family:var(--font-heading);font-size:var(--text-h5);line-height:1.4}.step-grid span{font-size:var(--text-label)}footer p{font-size:var(--text-small)}
/* Subtítulos compactos usam o mesmo token H6; a hierarquia HTML é preservada. */
.half-orbit .orbit-item h3{font-size:var(--text-h6);line-height:1.4}.half-orbit .orbit-item p{font-size:var(--text-small);line-height:1.6}.orbit-icon{font-family:var(--font-body);font-size:25px;line-height:1}.gallery-controls button{font-size:20px}
@media(min-width:851px){.half-orbit-section .half-orbit{height:690px}.half-orbit-section .half-orbit:before{height:560px}.half-orbit .orbit-item{height:100px}.half-orbit .item-1{top:20px}.half-orbit .item-2{top:132px}.half-orbit .item-3{top:244px}.half-orbit .item-4{top:356px}.half-orbit .item-5{top:468px}.half-orbit .item-6{top:580px}}
@media(max-width:850px){:root{--text-h1:48px;--text-h2:36px;--text-h3:26px;--text-h4:22px}}
@media(max-width:650px){:root{--text-h1:38px;--text-h2:30px;--text-h3:24px;--text-h4:21px;--text-h5:19px;--text-h6:18px}.intro{font-size:var(--text-p)}.brand{font-size:24px}.button{white-space:normal}.full-banner .hero-content{min-width:0}}

.reasons-grid .reason h3{font-family:var(--font-heading);font-size:var(--text-h5);font-weight:400;line-height:1.4}.reasons-grid .reason p,.reasons-message span{font-family:var(--font-body);font-size:var(--text-small);line-height:1.7}.reason-number{font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1}.reasons-message p{font-family:var(--font-heading);font-size:var(--text-h4);line-height:1.5}

.approach-label{font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1.6;letter-spacing:.12em}

.button,.button.small,.about-button,.full-banner .button{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;line-height:1.5}

.adolescent-overlay .adolescent-heading{font-size:var(--text-h4);line-height:1.4}

/* Menus com peso regular. */
header nav a,.site-footer .footer-nav a{font-weight:400}


/* Navegação mais discreta. */
header nav a,.site-footer .footer-nav a{font-size:13px}


/* Texto do banner em um único padrão tipográfico. */
.full-banner .hero-content p.intro{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.75;letter-spacing:normal;max-width:660px}


:root{--font-heading:'Lora',Georgia,serif}

/* Hierarquia e ritmo de leitura consistentes. */
h1,h2,h3{text-wrap:balance}
p{overflow-wrap:break-word}
.blog-topics h3{font-family:var(--font-heading);font-weight:400;line-height:1.35}
.steps .step-grid span{font-family:var(--font-body);font-size:12px;line-height:1;font-variant-numeric:tabular-nums}
