/* Ostad Pro — site-wide readability and wide footer system */
:root{--readable-ink:#20372b;--readable-muted:#4c6053;--readable-line:#dce7dd;--readable-panel:#eef5ee}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:17px!important;line-height:1.85!important;color:var(--readable-ink)!important}
body p,body li,body label,body legend,body summary,body blockquote,body dt,body dd,body .muted,body .source-hint,body .hint,body .support-hint{font-size:16.5px!important;line-height:1.9!important;color:var(--readable-muted)}
body h1{font-size:clamp(30px,3.2vw,40px)!important;line-height:1.45!important}
body h2{font-size:clamp(24px,2.4vw,30px)!important;line-height:1.5!important}
body h3{font-size:21px!important;line-height:1.55!important}
body h4{font-size:18px!important;line-height:1.6!important}
body small,body .tiny,body .fine-print,body .source-hint,body .legal-meta,body .document-meta,body .paper-date,body .paper-brand small,body .popular-badge,body .pill,body .eyebrow,body .lp-kicker{font-size:14px!important;line-height:1.75!important}
body button,body .btn,body .primary-btn,body .outline-btn,body input,body select,body textarea{font-size:16.5px!important;line-height:1.7!important}
body input,body select,body textarea{min-height:48px;padding:12px 14px!important}
body textarea{min-height:120px}
body input::placeholder,body textarea::placeholder{font-size:15.5px!important;color:#53665a!important;opacity:1}
body a{ text-underline-offset:3px }
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:3px solid #7cac8d!important;outline-offset:3px!important}
body .app-footer{display:grid!important;grid-template-columns:auto auto minmax(0,1fr)!important;align-items:center!important;gap:16px!important;width:100%!important;margin:26px 0 16px!important;padding:24px!important;border:1px solid #aebfd3!important;border-top:4px solid #263f5c!important;border-radius:16px!important;background:#c8d5e4!important;color:#26384c!important;font-size:15px!important;line-height:1.8!important}
body .app-footer a{color:#1b3553!important;font-weight:750!important;font-size:15px!important;text-decoration:underline;text-decoration-color:#879db8;text-underline-offset:4px}
body .app-footer-links{min-width:0;justify-content:flex-end;gap:12px 18px!important}
body .app-footer-links a{white-space:normal;overflow-wrap:anywhere}
body .lp-footer{width:100%!important;max-width:none!important;margin:34px 0 0!important;padding:36px max(24px,calc((100vw - 1220px)/2)) 22px!important;border:1px solid #aebfd3!important;border-right:0!important;border-left:0!important;border-radius:0!important;background:#c8d5e4!important;color:#26384c!important;font-size:16px!important;line-height:1.9!important}
body .lp-footer-main{max-width:1220px;margin:0 auto!important;grid-template-columns:minmax(0,1.5fr) minmax(170px,.8fr) minmax(210px,.9fr)!important;gap:38px!important}
body .lp-footer-identity>p{font-size:15.5px!important;line-height:1.9!important;color:#435a73!important}
body .lp-footer-group h3{font-size:17px!important;line-height:1.65!important;color:#243a55!important}
body .lp-footer-group a{color:#1b3553!important;text-decoration-color:#879db8!important}
body .lp-footer-group a:hover{color:#102b49!important}
body .lp-studio-link{border:1px solid #b8c9dc!important;background:#e4ebf3!important;border-radius:12px!important}
body .lp-studio-link b{color:#233a57!important}
body .lp-studio-link small{color:#4c6078!important}
body .lp-footer-group a{font-size:15.5px!important;line-height:1.85!important}
body .lp-studio-link{min-width:220px;padding:12px 15px!important}
body .lp-studio-link b{font-size:16px!important}
body .lp-studio-link small{font-size:14px!important;line-height:1.7!important}
body .lp-footer-bottom{max-width:1220px;margin:0 auto!important;padding-top:18px!important;font-size:14px!important;line-height:1.8!important;color:#435a73!important}
body #marketingLanding{font-size:16px!important;line-height:1.85!important}
body .lp-links{font-size:15px!important}
body .lp-links a{font-size:15px!important}
body .lp-brand strong{font-size:20px!important}
body .lp-brand small{font-size:13px!important}
body .lp-copy h1{font-size:clamp(40px,4.5vw,60px)!important;line-height:1.35!important}
body .lp-copy>p{font-size:18px!important;line-height:2!important}
body .lp-assurance{font-size:14px!important;line-height:1.8!important}
body .lp-proof-row>div{font-size:15px!important;line-height:1.8!important}
body .lp-section-heading>p{font-size:16px!important;line-height:1.9!important}
body .lp-feature h3{font-size:20px!important;line-height:1.55!important}
body .lp-feature p{font-size:16px!important;line-height:1.95!important}
body .lp-feature-cta{font-size:14.5px!important}
body .lp-how-intro>p,body .lp-steps p{font-size:15.5px!important;line-height:1.95!important}
body .lp-steps h3{font-size:17px!important}
body .lp-bottom-cta p{font-size:16px!important;line-height:1.9!important}
body .lp-login{font-size:14.5px!important}
body .legal-head p,body .legal-body p,body .legal-body li{font-size:17px!important;line-height:2!important}
body .legal-body h2{font-size:24px!important;line-height:1.6!important}
body .legal-body h3{font-size:20px!important;line-height:1.7!important}
body .support-head>p,body .support-card>p,body .support-contacts .contact b,body .support-contacts .contact p{font-size:17px!important;line-height:1.9!important}
body .support-form label{font-size:17px!important;line-height:1.8!important}
body .support-form input,body .support-form select,body .support-form textarea{font-size:17px!important;min-height:52px!important}
body .support-form button{font-size:17px!important;min-height:52px!important}
body .subscription,body .card,body .card p{line-height:1.9}
body .card p,body .hint,body .hint p,body .contact,body .contact p{font-size:16.5px!important;line-height:1.9!important}
body .card h3{font-size:25px!important;line-height:1.5!important}
body .card h4{font-size:19px!important;line-height:1.6!important}
body .question,body .option,body .feedback,body main p{font-size:16.5px!important;line-height:1.9!important}
body .option{padding:13px!important}
@media(max-width:900px){
 body .lp-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:28px!important}
 body .lp-footer-identity{grid-column:1/-1;max-width:none!important}
 body .app-footer{grid-template-columns:1fr!important;gap:11px!important}
 body .app-footer-links{justify-content:flex-start}
}
@media(max-width:600px){
 body{font-size:16px!important;line-height:1.85!important}
 body p,body li,body label,body legend,body summary,body blockquote,body dt,body dd,body .muted,body .support-hint{font-size:16px!important;line-height:1.9!important}
 body small,body .tiny,body .fine-print,body .source-hint,body .legal-meta,body .document-meta,body .paper-date,body .paper-brand small{font-size:14px!important;line-height:1.75!important}
 body button,body .btn,body .primary-btn,body .outline-btn,body input,body select,body textarea{font-size:16px!important}
 body .app-footer{padding:20px!important;border-radius:13px!important}
 body .app-footer-links{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:9px!important}
 body .lp-footer{padding:28px 20px 20px!important}
 body .lp-footer-main{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 body .lp-footer-identity{grid-column:auto}
 body .lp-footer-group{gap:10px!important}
 body .lp-footer-bottom{align-items:flex-start!important;flex-direction:column!important;gap:7px!important}
 body .lp-copy h1{font-size:clamp(35px,9vw,44px)!important;line-height:1.4!important}
 body .lp-copy>p{font-size:17px!important;line-height:1.95!important}
 body .lp-proof-row>div{font-size:15px!important}
 body .lp-feature h3{font-size:19px!important}
 body .lp-feature p{font-size:16px!important}
 body .lp-how-intro>p,body .lp-steps p{font-size:15.5px!important}
 body .lp-bottom-cta p{font-size:15.5px!important}
}
/* Persistent pedagogy reminder in lesson editor. */
.pedagogy-reminder{display:grid;gap:8px;margin:0 0 20px;padding:18px 20px;border:1px solid #d6a54a;border-inline-start:5px solid #c58b24;border-radius:14px;background:linear-gradient(135deg,#fff9e8,#fffdf6);color:#3e3524;box-shadow:0 4px 14px rgba(114,82,24,.06)}
.pedagogy-reminder-title{font-size:17px;font-weight:850;line-height:1.6;color:#654515}
.pedagogy-reminder p{margin:0;font-size:15.5px;line-height:1.9;color:#5f513a}
@media(max-width:600px){.pedagogy-reminder{padding:14px 15px;margin-bottom:15px}.pedagogy-reminder p{font-size:15px}}
/* Consistent, readable secondary-page footers: structured links rather than cramped text. */
body footer:not(.lp-footer){box-sizing:border-box!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;align-content:center!important;justify-content:center!important;gap:14px 18px!important;width:100vw!important;max-width:none!important;min-height:320px!important;margin:34px calc(50% - 50vw) 0!important;padding:40px max(24px,calc((100vw - 1220px)/2)) 30px!important;border:1px solid #aebfd3!important;border-right:0!important;border-left:0!important;border-top:4px solid #263f5c!important;border-radius:0!important;background:#c8d5e4!important;color:#26384c!important;font-size:15.5px!important;line-height:1.9!important;box-shadow:0 -8px 28px rgba(29,48,70,.08)!important;text-align:center!important}
body footer:not(.lp-footer)>br{display:none!important}
body footer:not(.lp-footer) a{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;padding:8px 12px!important;border:1px solid #b8c9dc!important;border-radius:9px!important;background:#e4ebf3!important;color:#1b3553!important;font-size:15.5px!important;font-weight:750!important;text-decoration:none!important;overflow-wrap:anywhere!important}
body footer:not(.lp-footer) a:hover{background:#f3f6fa!important;border-color:#8ea7c2!important}
body footer.app-footer{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,.9fr) minmax(0,1.8fr)!important;grid-template-areas:"brand studio links"!important;grid-auto-flow:row!important;align-content:center!important;align-items:center!important;justify-content:stretch!important;gap:24px!important;min-height:320px!important;margin:34px calc(50% - 50vw) 0!important;padding:40px max(24px,calc((100vw - 1220px)/2)) 30px!important;border-radius:0!important;text-align:start!important}
body footer.app-footer>span.app-footer-parent{grid-area:brand!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;font-size:18px!important;font-weight:850!important;color:#233a57!important}
body footer.app-footer>span.app-footer-parent>a{align-self:flex-start!important}
body footer.app-footer>span.app-footer-parent>small{font-size:14px!important;font-weight:600!important;color:#435a73!important}
body footer.app-footer>span.app-footer-product{grid-area:studio!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;line-height:2!important;color:#435a73!important}
body footer.app-footer>span.app-footer-product strong{font-size:17px!important;color:#233a57!important}
body footer.app-footer>span.app-footer-product small{font-size:14px!important;color:#435a73!important}
body footer.app-footer>span.app-footer-links{grid-area:links!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:center!important;align-items:stretch!important;gap:12px!important;min-width:0!important}
body footer.app-footer>span.app-footer-links a{width:auto!important;min-width:0!important;text-align:center!important}
body footer:not(.lp-footer) .footer-branding{flex:1 1 100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;text-align:center!important}
body footer:not(.lp-footer) .footer-branding>a{font-size:20px!important;font-weight:850!important}
body footer:not(.lp-footer) .footer-branding>span{font-size:14px!important;font-weight:600!important;color:#435a73!important}

/* Site-wide readability pass: larger body copy and near-black supporting text. */
:root{--readable-ink:#17231b;--readable-muted:#26352b}
body{font-size:18px!important;line-height:1.9!important;color:#17231b!important}
body p,body li,body label,body legend,body summary,body blockquote,body dt,body dd,
body .muted,body .source-hint,body .hint,body .support-hint,body .description,body .secondary-text{
 font-size:17.5px!important;line-height:1.9!important;color:#26352b!important;opacity:1!important
}
body small,body .tiny,body .fine-print,body .legal-meta,body .document-meta,body .paper-date,
body .paper-brand small,body .popular-badge,body .pill,body .eyebrow,body .lp-kicker,
body .nav-label,body .optional,body .draft-label,body .status-row,body .role-badge{
 font-size:15.5px!important;line-height:1.8!important;color:#344238!important;opacity:1!important
}
body th,body td{font-size:16.5px!important;line-height:1.85!important;color:#202d24!important}
body button,body .btn,body .primary-btn,body .outline-btn,body input,body select,body textarea{
 font-size:17px!important;line-height:1.75!important
}
body #saveTransfer{font-size:16px!important;line-height:1.6!important}
body input::placeholder,body textarea::placeholder{font-size:16px!important;color:#435047!important;opacity:1!important}
body .card p,body .panel p,body .hint p,body .notice p{font-size:17.5px!important;color:#26352b!important}
body .pricing-note,body .pricing-section-title,body .pricing-table th,body .pricing-table td{font-size:16.5px!important}
body .usage-card-copy small{font-size:15.5px!important;color:#26352b!important}
body .usage-card-copy strong{font-size:17px!important}
body .usage-card-copy em{font-size:15.5px!important;color:#26352b!important}
@media(max-width:600px){
 body{font-size:17px!important}
 body p,body li,body label,body legend,body summary,body blockquote,body dt,body dd,
 body .muted,body .source-hint,body .hint,body .support-hint,body .description,body .secondary-text{
  font-size:16.5px!important;line-height:1.9!important
 }
 body small,body .tiny,body .fine-print,body .legal-meta,body .document-meta,body .paper-date,
 body .popular-badge,body .pill,body .eyebrow,body .lp-kicker,body .nav-label,body .optional{
  font-size:15px!important;line-height:1.8!important
 }
 body th,body td{font-size:15.5px!important}
 body button,body .btn,body .primary-btn,body .outline-btn,body input,body select,body textarea{font-size:16px!important}
}

/* Footer typography: force all footer writing to pure black, not grey. */
body .app-footer,body .app-footer *,body .lp-footer,body .lp-footer *,body footer:not(.lp-footer),body footer:not(.lp-footer) *{color:#000000!important}
body .app-footer a,body .lp-footer a,body footer:not(.lp-footer) a{text-decoration-color:#000000!important;color:#000000!important}
body footer:not(.lp-footer) .footer-branding>strong{font-size:16px!important;color:#26384c!important}
body footer:not(.lp-footer) .footer-nav{flex:1 1 100%!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:12px!important}
body footer.legal-footer{min-height:320px!important}
body footer.legal-footer>span{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:10px 14px!important}
body footer.support-site-footer{display:none!important}
@media(max-width:900px){body footer.app-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"brand studio" "links links"!important}body footer.app-footer>span.app-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){body footer:not(.lp-footer){min-height:280px!important;padding:30px 20px 24px!important;gap:12px!important;flex-direction:row!important;align-items:center!important;justify-content:center!important}body footer.app-footer{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"brand" "studio" "links"!important;gap:18px!important;padding:30px 20px 24px!important;text-align:center!important}body footer.app-footer>span.app-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}body footer.legal-footer>span{justify-content:center!important}}
@media print{
 body{font-size:12pt!important;line-height:1.6!important}
 body .app-footer,body .lp-footer{display:none!important}
}