html{font-size:var(--sx-base)}
.wrap{width:min(var(--sx-container),calc(100% - 40px))!important}
.btn{font-size:var(--sx-cta-font)!important;min-height:var(--sx-cta-height)!important;border-radius:var(--sx-cta-radius)!important}
.hero{padding-top:var(--sx-hero-padding)!important;padding-bottom:var(--sx-hero-padding)!important}
.hero-grid{gap:var(--sx-hero-gap)!important}
.hero-copy h1{font-size:clamp(38px,var(--sx-hero-title),78px)!important}
.hero-copy .lead{font-size:var(--sx-hero-body)!important}
.hero-actions{gap:var(--sx-cta-gap)!important}
.trust-row{font-size:var(--sx-trust-font)!important}

#services{padding-top:var(--sx-services-space)!important;padding-bottom:var(--sx-services-space)!important}
#services .section-head h2{font-size:var(--sx-services-heading)!important}
#services .section-head p{font-size:var(--sx-services-body)!important}
#services .service{min-height:var(--sx-services-card-height)!important}
#services .service h3{font-size:var(--sx-services-card-title)!important}
#services .service p{font-size:var(--sx-services-card-body)!important}

#books{padding-top:var(--sx-books-space)!important;padding-bottom:var(--sx-books-space)!important}
#books .section-head h2{font-size:var(--sx-books-heading)!important}
.book-card{min-height:var(--sx-book-card-height)!important}
.book-card h3{font-size:var(--sx-book-title)!important}
.book-card p,.book-card small,.book-isbn{font-size:var(--sx-book-body)!important}

#chapter{padding-top:var(--sx-chapter-space)!important;padding-bottom:var(--sx-chapter-space)!important}
#chapter .section-head h2{font-size:var(--sx-chapter-heading)!important}
.program{min-height:var(--sx-chapter-card-height)!important}
.program h3{font-size:var(--sx-chapter-card-title)!important}
.program p,.program-meta{font-size:var(--sx-chapter-card-body)!important}

#workflow{padding-top:var(--sx-workflow-space)!important;padding-bottom:var(--sx-workflow-space)!important}
#workflow .flow{min-height:var(--sx-workflow-card-height)!important}
#workflow .flow h3{font-size:var(--sx-workflow-title)!important}
#workflow .flow p{font-size:var(--sx-workflow-step-body)!important}

#booking{padding-top:var(--sx-booking-space)!important;padding-bottom:var(--sx-booking-space)!important}
#booking .booking-copy h2{font-size:var(--sx-booking-heading)!important}
#booking .booking-copy p{font-size:var(--sx-booking-body)!important}
#booking input,#booking select,#booking textarea,#booking label{font-size:var(--sx-form-font)!important}

.page-hero h1,.track-card>h1{font-size:clamp(34px,var(--sx-internal-heading),64px)!important}
.page-hero p,.track-card>p{font-size:var(--sx-internal-body)!important}

@media(max-width:760px){
  .wrap{width:min(var(--sx-container),calc(100% - 28px))!important}
  .hero-copy h1{font-size:min(var(--sx-hero-title),48px)!important}
  .hero-copy .lead{font-size:min(var(--sx-hero-body),17px)!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .hero-actions .btn{width:100%!important;justify-content:center!important}
}

/* SAINSTERRA V3.2 — STABLE FOOTER */
html,body{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
body>.footer{flex:0 0 auto;margin-top:auto!important}
