:root{--display:Jakarta,'Segoe UI',sans-serif;--type-family:Jakarta,'Segoe UI',sans-serif;--type-title:2rem;--type-section:1.25rem;--type-body:1rem;--type-ui:.875rem}
body,body *,button,input,select,textarea{font-family:var(--type-family)!important}
body{font-size:var(--type-body);line-height:1.6;font-weight:400}
h1,.page-heading h1,.pastor-heading h1,.team-welcome h1,.hero-copy h1,.login-panel h2,.login-message h1,.wizard-success h2,.program-picker h2{font-size:var(--type-title)!important;font-weight:800!important;line-height:1.25!important;letter-spacing:-.025em!important;text-shadow:none!important}
h2,.panel-header h2,.team-form h2,.quick-new h2,.report-summary h2,.admin-form h2,.admin-help h2,.wizard-top h2,.profile-banner h2{font-size:var(--type-section)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.015em!important}
h3,.record-section h3,.teacher-card h3,.service-cards h3,.admin-row h3{font-size:var(--type-body)!important;font-weight:700!important;line-height:1.5!important}
p,.page-heading p,.pastor-heading p,.report-heading p,.login-panel>p,.admin-intro,.team-form>p,.team-welcome>p,.hero-copy>p,.shared-brand-copy p{font-size:var(--type-body)!important;line-height:1.65!important;font-weight:400}
.button,.text-link,.nav-link,.field,.login-field,.pastor-period label,.filter-tab,.admin-tabs button,.admin-row button,.pastor-access{font-size:var(--type-ui)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important}
input,select,textarea{font-size:var(--type-body)!important;font-weight:400!important;line-height:1.5!important}
.eyebrow,.login-eyebrow,.shared-brand-eyebrow{font-size:var(--type-ui)!important;font-weight:700!important;letter-spacing:.06em!important;line-height:1.5!important}
.header-motto{font-size:var(--type-section)!important;font-weight:700!important;line-height:1.5!important;letter-spacing:0!important}
.shared-brand-copy strong{font-size:var(--type-section)!important;font-weight:700!important;line-height:1.4!important}
small,.pill,.metric-note,.child-meta,.teacher-card dt,.teacher-card dd,.report-card-details dt,.report-card-details dd,.panel-header p,.page-footer,.session-bar,.search-caption,.draft-status,.service-hint,.chart-note,.coordinator-comment>span,.pastor-footnote,.directory-count,.teacher-directory-note,.program-pill{font-size:var(--type-ui)!important;line-height:1.6!important;letter-spacing:0!important}
.stat-number,.pastor-stats .stat-number,.profile-stat strong{font-size:var(--type-title)!important;font-weight:800!important;line-height:1.2!important}
.champions-seal>span{font-size:var(--type-ui)!important;font-weight:700!important;letter-spacing:.04em!important}
.champions-seal b{letter-spacing:.04em!important}.login-panel .login-motto,.encouragement-text,.entry-steps strong,.workflow-steps strong{font-size:var(--type-body)!important;line-height:1.65!important}.workflow-steps small,.entry-steps p{font-size:var(--type-ui)!important;line-height:1.6!important}
@media(max-width:740px){:root{--type-title:1.625rem;--type-section:1.125rem}.site-header nav .nav-link{font-size:var(--type-ui)!important;padding:10px 8px}.header-inner nav{flex-wrap:wrap}.pastor-actions{flex-wrap:wrap}.eyebrow,.shared-brand-eyebrow{letter-spacing:.035em!important}.shared-brand-banner{gap:12px}.shared-brand-copy{min-width:0}.hero-sticker{font-size:var(--type-ui)!important;white-space:normal}.teacher-card dt{font-weight:600}.profile-footer .button{font-size:var(--type-ui)!important}}
