/* Escala de leitura compartilhada pelas duas páginas, inclusive no celular. */
body{font-size:16px;line-height:1.75}
nav,.menu-toggle,.button,.text-link,.floating-contact{font-size:15px}
nav{gap:24px}
.menu-toggle,.class-options button,.catalog-filters button,.consent-actions button{min-height:44px}
.eyebrow,.hero .eyebrow,.class-explorer>.eyebrow{font-size:12px;letter-spacing:1.3px;line-height:1.7}
.hero-description,.intro-columns,.intro-columns p,.section-heading>p,
.service p,.about-copy>p:not(.eyebrow),.steps p,.concepts p,
.classes p,.class-explorer p,.brands-heading>p:last-child,
.faq-grid>div>p:last-child,summary,details>p,.contact p,
.footer-main p,dialog p:not(.eyebrow){font-size:16px;line-height:1.8}
.hero-description{max-width:560px}
.hero-note,.hero-note p,.hero-note strong{font-size:14px;line-height:1.8}
.hero-bottom{font-size:14px;line-height:1.7;gap:25px}
.hero-bottom>span,.hero-bottom a{max-width:none}
.hero-bottom a{flex-shrink:0}
.portrait-caption{font-size:14px;right:25px;line-height:1.7}
.portrait-caption strong{font-size:23px;line-height:1.3;margin-top:5px}
.portrait-side{font-size:12px;letter-spacing:1.4px}
.service-number,.service-tag,.signature span,.concepts small,
.classes .small,.class-explorer small,.process-footnote{font-size:14px;line-height:1.75}
.service-tag{letter-spacing:0}
.concepts small{letter-spacing:.5px}
.steps h3,.concepts h3{font-size:19px;line-height:1.4}
.steps p{max-width:none}
.photo-label{position:relative;display:block;right:auto;bottom:auto;text-align:center;font-size:13px;line-height:1.7;letter-spacing:.7px;padding:12px 8px 0}
.about-photo{padding-bottom:0}
.signature span{letter-spacing:1px}
.class-options button{font-size:14px;padding:9px 13px}
.brand-list li>span{font-size:12px;line-height:1.7;letter-spacing:1px}
.brand-alma span{letter-spacing:1px!important}
.brand-list .brand-om{font-size:35px;font-style:italic;flex-direction:row;gap:8px}
.brand-om span{font-size:20px!important;letter-spacing:0!important;font-family:var(--serif)!important}
.contact-professional span,.contact label,.contact .form-privacy,
#copy-status,.contact-links small,#email-contact{font-size:14px;line-height:1.7}
.contact-links{font-size:17px}
.contact .form-privacy{margin-bottom:25px}
input,select,textarea{font-size:16px;line-height:1.6;padding:13px 0}
.contact label{margin-bottom:25px}
.form-row{gap:30px}
.footer-main>a:last-child,.footer-bottom,.footer-bottom button,.legal{font-size:14px;line-height:1.8}
.footer-bottom{color:#53604f}
.legal{max-width:1000px}
footer{padding-bottom:85px}
.footer-main{flex-wrap:wrap;gap:25px}
.analytics-consent{width:min(760px,calc(100% - 48px));gap:25px}
.analytics-consent p,.consent-privacy,.consent-actions button{font-size:14px;line-height:1.6}
.consent-actions{flex-basis:155px}
.back-link,.class-stats{font-size:15px;line-height:1.7}
.catalog-intro>div>p:not(.eyebrow),.class-card ul,.empty-search p,.classification-note p{font-size:16px;line-height:1.8}
.catalog-controls>label,.catalog-controls legend,.catalog-filters button,#clear-search,.result-count{font-size:14px;line-height:1.7}
.catalog-controls input{font-size:16px;line-height:1.6}
.class-card-top>span{font-size:12px;letter-spacing:.5px}
.classification-note .text-link{font-size:15px}
.catalog-controls{gap:25px 20px}
.catalog-filters button{padding:9px 12px}
@media(min-width:801px) and (max-width:1100px){
  .header{height:100px}
  .menu-toggle{display:flex;align-items:center;border:1px solid #b6bfae;background:transparent;padding:8px 12px;color:var(--ink)}
  nav{display:none;position:absolute;left:0;right:0;top:100px;background:var(--paper);padding:25px;box-shadow:0 15px 20px #172c321a;align-items:stretch}
  nav.is-open{display:flex;flex-direction:column;gap:18px}
}
@media(max-width:800px){
  .section-heading>p{max-width:300px}
  .hero-bottom{align-items:flex-start;flex-wrap:wrap}
  .steps{gap:35px}
  .hero .eyebrow{max-width:420px}
  .analytics-consent{align-items:flex-start}
}
@media(max-width:560px){
  .hero-note{gap:12px}
  .hero-bottom{display:block}
  .hero-bottom>span{display:block;margin-bottom:12px}
  .hero-bottom a{display:inline-block;text-align:left}
  .portrait-caption{left:22px;right:22px;bottom:25px}
  .portrait-caption strong{font-size:22px}
  .portrait-side{font-size:12px;letter-spacing:1px}
  .concepts{grid-template-columns:1fr;gap:32px}
  .concepts h3{min-height:0;margin-bottom:12px}
  .concept-icon{height:48px}
  .concepts small{margin-top:12px}
  .steps{grid-template-columns:1fr;gap:30px}
  .steps h3{margin-top:15px}
  .form-row{gap:0}
  .photo-label{font-size:13px}
  .brand-list li{padding:12px 8px}
  .brand-list li>span{font-size:12px;letter-spacing:.5px}
  .brand-list .brand-om{font-size:32px}
  .brand-om span{font-size:19px!important}
  .contact-links{gap:24px}
  .footer-bottom button{margin-right:0}
  .analytics-consent{width:calc(100% - 28px)}
  .consent-actions{gap:10px}
  .consent-actions button{padding:12px 10px}
  .class-stats{gap:22px;font-size:14px}
  .class-stats>span{flex:1}
  .catalog-controls input{font-size:16px}
  .catalog-filters button{font-size:14px;padding:9px 10px}
}
.class-hero>.wrap>p:not(.eyebrow){font-size:16px;line-height:1.8}
