/* Shared public container keeps header, content and footer on one alignment. */
.public-app{--pub-ink:#243a53;--pub-muted:#596579;--pub-red:#a63f36;--pub-line:#dfdfd5;--pub-paper:#faf8f2;background:var(--pub-paper);color:var(--pub-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.7}
.public-app *{box-sizing:border-box}.public-app [hidden]{display:none!important}.public-app a{color:inherit;text-decoration:none}.public-app img{max-width:100%;display:block}.public-app button,.public-app input,.public-app select,.public-app textarea{font:inherit}.public-app :focus-visible{outline:3px solid #bd6a27;outline-offset:4px}.public-app section[id]{scroll-margin-top:110px}.public-app h1,.public-app h2,.public-app h3{color:var(--pub-ink);line-height:1.2;letter-spacing:-.04em}.public-app h1{font-size:clamp(38px,4.7vw,62px);margin:20px 0 25px}.public-app h2{font-size:clamp(28px,3vw,40px);margin:16px 0 22px}.public-app h3{font-size:22px;margin:15px 0}.public-app p{margin:0 0 20px}.public-app em{font-style:normal;color:var(--pub-red)}.public-app figure{margin:0;position:relative}.public-app figcaption{font-size:10px;color:var(--pub-muted);padding-top:9px;letter-spacing:.15px}.public-app address{font-style:normal;overflow-wrap:anywhere}.public-app .pub-container{width:calc(100% - 80px);max-width:1200px;margin-inline:auto}.public-app .public-main{padding:0;min-height:50vh;max-width:1200px}.public-app .pub-skip{position:fixed;top:-100px;left:20px;padding:12px 18px;background:white;z-index:100}.public-app .pub-skip:focus{top:12px}.pub-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.public-app .pub-header{position:sticky;top:0;z-index:30;background:#faf8f2f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--pub-line)}.public-app .pub-header-inner{display:flex;justify-content:space-between;align-items:center;min-height:94px;gap:26px}.public-app .pub-brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.8px;font-size:16px;white-space:nowrap}.public-app .pub-brand img{width:46px;height:46px;flex-shrink:0}.public-app .pub-brand small{display:block;letter-spacing:1.25px;font-size:8px;font-weight:500;margin-top:2px}.public-app .pub-navigation{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:600}.public-app .pub-navigation>a{padding:12px 0}.public-app .pub-navigation>a:hover,.public-app .pub-navigation>a[aria-current]{color:var(--pub-red)}.public-app .pub-navigation>a[aria-current]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}.public-app .pub-navigation .pub-login{padding:11px 16px;border:1px solid #aeb8c0;border-radius:6px;white-space:nowrap}.public-app .pub-menu-button{background:none;border:1px solid #aeb8c0;color:var(--pub-ink);padding:10px 14px;font-size:13px;min-height:44px;border-radius:6px}
.public-app .pub-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#92443b;font-size:10px;font-weight:750;letter-spacing:1.5px}.public-app .pub-sun{width:9px;height:9px;display:inline-block;background:#bd4a3d;border-radius:50%}.public-app .pub-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding:64px 0 58px}.public-app .pub-hero-copy>p{max-width:45ch;color:var(--pub-muted);font-size:16px;line-height:1.85}.public-app .pub-hero-photo{padding-top:8px}.public-app .pub-hero-photo>img{width:100%;height:515px;object-fit:cover;object-position:48% center;border-radius:4px 64px 4px 4px}.public-app .pub-photo-label{position:absolute;left:-22px;bottom:48px;background:#fffdf6;box-shadow:0 8px 30px #243a5312;display:flex;gap:17px;align-items:center;padding:20px 24px;border-left:3px solid #b54b3f;font-size:12px;line-height:1.7}.public-app .pub-photo-label>span{font-size:34px;color:#ad493e}.public-app .pub-photo-label b{font-weight:500;color:var(--pub-muted)}.public-app .pub-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:28px 0}.public-app .pub-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 22px;border:1px solid var(--pub-red);border-radius:5px;background:var(--pub-red);color:white;font-size:13px;font-weight:650;gap:14px;text-align:center}.public-app .pub-button:hover{background:#88352e;border-color:#88352e}.public-app .pub-button-outline{background:transparent;color:var(--pub-ink);border-color:#b3bcc4}.public-app .pub-button-outline:hover{background:#edece5;color:var(--pub-ink)}.public-app .pub-button-light{background:#fff9ec;color:#243a53;border-color:#fff9ec}.public-app .pub-button-light:hover{background:#f2e8d6;color:#243a53}.public-app .pub-text-link{font-size:13px;font-weight:650;display:inline-block;padding:7px 0;color:#914037;text-underline-offset:4px}.public-app .pub-text-link:hover{text-decoration:underline}.public-app .pub-hero-tags{display:flex;gap:8px 17px;flex-wrap:wrap;font-size:10px;color:var(--pub-muted);padding-top:12px}.public-app .pub-hero-tags span:before{content:'•';color:#ae493e;margin-right:6px}.public-app .pub-intro-strip{border-block:1px solid var(--pub-line);display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0;font-size:11px;color:#a3493f;gap:20px}.public-app .pub-intro-strip span{display:flex;gap:15px;justify-content:center}.public-app .pub-intro-strip b{color:#42556b;font-size:13px;font-weight:550}
.public-app .pub-section{margin:0;padding:80px 0}.public-app .pub-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.public-app .pub-photo img{width:100%;height:380px;object-fit:cover;border-radius:4px}.public-app .pub-prose p{color:var(--pub-muted);font-size:14px;line-height:1.9;overflow-wrap:anywhere}.public-app .pub-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:32px}.public-app .pub-section-heading h2{margin-bottom:0}.public-app .pub-section-heading>p{max-width:34ch;font-size:13px;color:var(--pub-muted);margin-bottom:0}.public-app #program{border-top:1px solid var(--pub-line)}.public-app .pub-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-app .pub-program{background:#f1efe6;padding:30px;display:flex;flex-direction:column;min-width:0;border-top:3px solid #324a62}.public-app .pub-program-number{font-size:11px;color:#9b4b40;letter-spacing:2px}.public-app .pub-program p{color:var(--pub-muted);font-size:13px;overflow-wrap:anywhere}.public-app .pub-program h3{font-size:23px;line-height:1.3}.public-app .pub-program .pub-text-link{margin-top:auto}
.public-app .pub-online{background:#243a53;border-radius:6px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin:15px 0 0}.public-app .pub-online h2{color:#fffbf2}.public-app .pub-online .pub-eyebrow{color:#f1b8a5}.public-app .pub-online>div>p{color:#d4dde7;font-size:14px}.public-app .pub-online>div>small{display:block;color:#cbd6e2;font-size:10px;margin-top:14px}.public-app .pub-checklist{padding:0;margin:22px 0 30px;list-style:none;font-size:13px;color:#eff3f7}.public-app .pub-checklist li{margin:10px 0;padding-left:21px;position:relative}.public-app .pub-checklist li:before{content:'✓';position:absolute;left:0;color:#ecb098}.public-app .pub-learning-preview{background:#f8f6ef;transform:rotate(2deg);border-radius:10px;box-shadow:12px 16px 0 #12283d66;color:#243a53;overflow:hidden}.public-app .pub-preview-top{padding:17px 22px;border-bottom:1px solid #dfdfd5;font-size:10px;font-weight:700;display:flex;align-items:center;gap:8px}.public-app .pub-preview-top small{margin-left:auto;font-size:8px;color:var(--pub-muted);font-weight:400}.public-app .pub-preview-dot{display:inline-block;width:7px;height:7px;background:#bb5144;border-radius:50%}.public-app .pub-preview-body{padding:28px}.public-app .pub-online .pub-preview-body .pub-eyebrow{color:#92443b}.public-app .pub-preview-body>p{font-size:12px;color:var(--pub-muted)}.public-app .pub-preview-body h3{font-size:27px;letter-spacing:0}.public-app .pub-lesson{display:flex;gap:15px;align-items:center;background:#fff;padding:15px;margin:12px 0;border:1px solid #e4e6e5;border-radius:6px}.public-app .pub-lesson>span:first-child{font-size:22px;background:#efeee7;padding:4px 11px;border-radius:5px}.public-app .pub-lesson>span:last-child{margin-left:auto}.public-app .pub-lesson b{font-size:12px;display:block}.public-app .pub-lesson small{font-size:10px;color:var(--pub-muted);display:block}.public-app .pub-preview-note{font-size:10px;color:var(--pub-muted);margin-top:20px}
.public-app .pub-life-photo img{width:100%;height:430px;object-fit:cover;object-position:center 38%;border-radius:5px}.public-app .pub-life-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:35px 0 15px}.public-app .pub-life-topics span{font-size:10px;letter-spacing:1px;color:#9b4b40}.public-app .pub-life-topics h3{font-size:20px}.public-app .pub-life-topics p{font-size:13px;color:var(--pub-muted)}.public-app .pub-small{font-size:11px;color:var(--pub-muted)}.public-app .pub-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.public-app .pub-news-card{min-width:0;border-bottom:1px solid #cfd4d7;display:flex;flex-direction:column}.public-app .pub-news-picture{display:block;overflow:hidden;border-radius:4px}.public-app .pub-news-picture img{width:100%;height:225px;object-fit:cover;transition:transform .2s}.public-app .pub-news-card:hover .pub-news-picture img{transform:scale(1.025)}.public-app .pub-news-copy{padding:22px 0;display:flex;flex-direction:column;flex:1}.public-app .pub-meta{font-size:10px;letter-spacing:.5px;color:#9b493e}.public-app .pub-news-copy h3{font-size:23px;line-height:1.3;overflow-wrap:anywhere}.public-app .pub-news-copy p{font-size:13px;color:var(--pub-muted)}.public-app .pub-news-copy .pub-text-link{margin-top:auto}.public-app .pub-news-copy h3 a:hover{color:var(--pub-red)}
.public-app .pub-journey{border-top:1px solid var(--pub-line)}.public-app .pub-journey ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:12px 0 0;margin:0}.public-app .pub-journey li{border-top:1px solid #c5cdd2;padding-top:20px}.public-app .pub-journey li>span{font-size:12px;color:#9b493e}.public-app .pub-journey h3{font-size:18px}.public-app .pub-journey p{font-size:12px;color:var(--pub-muted)}.public-app .pub-cta{margin:0 0 80px;padding:40px 0;border-block:1px solid var(--pub-line);display:flex;justify-content:space-between;gap:30px;align-items:center}.public-app .pub-cta h2{font-size:36px}.public-app .pub-cta p{font-size:13px;color:var(--pub-muted);margin-bottom:0}.public-app .pub-cta-actions{display:flex;flex-direction:column;align-items:center;gap:14px}
.public-app .pub-footer{padding:60px 0 24px;background:#20354d;color:#d5dee8;margin:0;font-size:12px;text-align:left}.public-app .pub-footer-grid{display:grid;grid-template-columns:1.45fr .9fr .95fr 1.25fr;gap:40px}.public-app .pub-footer .pub-brand{color:#fff9ed;font-size:14px;margin-bottom:22px}.public-app .pub-footer .pub-brand small{font-size:7px}.public-app .pub-footer-grid>section>p{font-size:12px;max-width:35ch;margin:12px 0 18px}.public-app .pub-footer-grid h2{font-size:13px;letter-spacing:0;color:#fff8ed;margin:0 0 22px}.public-app .pub-footer-grid>section>a:not(.pub-brand){display:block;margin:9px 0}.public-app .pub-footer-grid>section>span:not(.pub-footer-kicker){display:block}.public-app .pub-footer a:hover{text-decoration:underline;text-underline-offset:4px}.public-app .pub-footer-kicker{font-size:9px;letter-spacing:1px;color:#c8ac94}.public-app .pub-footer address{font-size:12px;line-height:1.8}.public-app .pub-footer-bottom{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #ffffff26;margin-top:40px;padding-top:24px;font-size:10px}.public-app .pub-social{display:flex;gap:16px;flex-wrap:wrap}.public-app .pub-social small{font-size:9px}.public-app .pub-footer-note{font-size:9px;color:#b7c5d5;margin:17px 0 0}.public-app .pub-demo{font-size:11px;display:inline-block;padding:7px 10px;background:#f0e7d5;color:#744628;border-radius:4px;margin:10px 0 18px}
.public-app .pub-page-title{padding:64px 0 32px;border-bottom:1px solid var(--pub-line);max-width:none}.public-app .pub-page-title h1{font-size:clamp(38px,5vw,60px)}.public-app .pub-page-title>p{max-width:58ch;color:var(--pub-muted)}.public-app .pub-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.public-app .pub-faq details{border-bottom:1px solid var(--pub-line);padding:17px 0}.public-app .pub-faq summary{font-size:15px;font-weight:650;cursor:pointer;min-height:30px}.public-app .pub-faq details p{font-size:14px;color:var(--pub-muted);margin:15px 0 0}.public-app .pub-news-list{padding-top:40px}.public-app .pub-pagination{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;padding:40px 0 0;font-size:12px}.public-app .pub-article{max-width:880px;margin:0 auto;padding:55px 0 75px}.public-app .pub-article header{max-width:760px;margin:35px auto}.public-app .pub-article h1{font-size:clamp(32px,4vw,48px);overflow-wrap:anywhere}.public-app .pub-article-intro{font-size:17px;color:var(--pub-muted)}.public-app .pub-article figure img{width:100%;height:auto;border-radius:5px}.public-app .pub-article-body{max-width:700px;margin:40px auto;font-size:16px;line-height:1.95;overflow-wrap:anywhere}.public-app .pub-article-end{border-top:1px solid var(--pub-line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.public-app .pub-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.public-app .pub-contact-grid dl{margin:30px 0}.public-app .pub-contact-grid dt{font-size:10px;letter-spacing:1px;color:var(--pub-muted);text-transform:uppercase;margin-top:24px}.public-app .pub-contact-grid dd{margin:5px 0;font-size:15px;overflow-wrap:anywhere}.public-app .pub-contact-help{background:#eeede4;padding:35px;border-radius:6px}.public-app .pub-contact-help h2{font-size:29px}.public-app .pub-contact-help>p{font-size:14px;color:var(--pub-muted)}.public-app .pub-contact-help>.pub-text-link{display:block;margin-top:15px}.public-app .pub-contact-help hr{border:0;border-top:1px solid #cdd1ce;margin:28px 0}
/* Existing login and admissions use the same public framing. */
.public-app .auth{max-width:540px;padding:44px 32px;margin:55px auto;background:white;border:1px solid var(--pub-line);border-radius:10px}.public-app .auth h1{font-size:34px}.public-app .auth .form-grid{grid-template-columns:1fr}.public-app .register-layout{padding:55px 0;gap:45px}.public-app .register-layout h1{font-size:42px}.public-app .card{border-color:var(--pub-line);box-shadow:none}.public-app .button,.public-app button{gap:10px;white-space:normal;min-height:44px}.public-app .button{color:white}.public-app input[type=checkbox]{width:18px;height:18px;min-height:18px;flex-shrink:0}.public-app .check{display:flex;flex-direction:row;align-items:flex-start}.public-app .alert{margin-top:20px}.public-app .muted{color:var(--pub-muted)}
@media(max-width:1150px){.public-app .pub-header-inner{gap:20px}.public-app .pub-navigation{gap:14px;font-size:11px}.public-app .pub-brand{font-size:13px}.public-app .pub-brand small{font-size:7px}.public-app .pub-hero{gap:35px}.public-app .pub-hero-photo>img{height:480px}.public-app .pub-online{padding:40px;gap:35px}.public-app .pub-footer-grid{gap:25px}.public-app .pub-footer .pub-brand{font-size:12px}}
@media(max-width:950px){.public-app .pub-container{width:calc(100% - 48px)}.public-app .pub-header-inner{flex-wrap:wrap;min-height:82px;padding-block:16px}.public-app .pub-navigation{flex:1 0 100%;flex-wrap:wrap;gap:10px 22px;font-size:13px;padding:10px 0}.public-app .pub-nav-ready .pub-navigation{display:none}.public-app .pub-nav-ready .pub-navigation.is-open{display:flex}.public-app .pub-hero{gap:28px}.public-app .pub-hero-photo>img{height:430px}.public-app .pub-photo-label{left:-12px;padding:15px;gap:10px;font-size:10px}.public-app .pub-split{gap:35px}.public-app .pub-online{padding:32px;gap:30px}.public-app .pub-preview-body{padding:20px}.public-app .pub-lesson{gap:9px;padding:10px}.public-app .pub-program-grid{gap:14px}.public-app .pub-program{padding:22px}.public-app .pub-news-grid{gap:20px}.public-app .pub-news-copy h3{font-size:20px}.public-app .pub-footer-grid{grid-template-columns:1.2fr 1fr;gap:35px}.public-app .pub-footer .pub-brand{font-size:15px}.public-app .pub-journey ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-app{font-size:14px}.public-app .pub-container{width:calc(100% - 36px)}.public-app .pub-header-inner{min-height:76px;padding-block:14px;gap:10px}.public-app .pub-brand{font-size:13px;gap:9px}.public-app .pub-brand img{width:39px;height:39px}.public-app .pub-brand small{font-size:6px;letter-spacing:.8px}.public-app .pub-navigation{display:grid;grid-template-columns:1fr 1fr;gap:6px 15px}.public-app .pub-nav-ready .pub-navigation.is-open{display:grid}.public-app .pub-navigation>a{padding:12px 5px;min-height:44px}.public-app .pub-menu-button{font-size:12px;padding:9px 12px}.public-app .pub-hero{grid-template-columns:1fr;padding:38px 0 30px;gap:25px}.public-app h1{font-size:43px;letter-spacing:-1.6px}.public-app .pub-hero-copy>p{font-size:14px}.public-app .pub-hero-photo>img{height:340px;border-radius:4px 45px 4px 4px;object-position:center}.public-app .pub-photo-label{left:12px;bottom:40px;max-width:90%}.public-app .pub-photo-label>span{font-size:28px}.public-app .pub-eyebrow{font-size:9px;letter-spacing:1.1px}.public-app .pub-hero-tags{font-size:9px;gap:12px}.public-app .pub-intro-strip{gap:10px;padding:19px 0}.public-app .pub-intro-strip span{flex-direction:column;align-items:center;gap:2px;font-size:9px}.public-app .pub-intro-strip b{font-size:10px}.public-app .pub-section{padding:48px 0}.public-app .pub-split{grid-template-columns:1fr;gap:27px}.public-app .pub-photo img{height:280px}.public-app .pub-section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:25px}.public-app .pub-section-heading>p{max-width:none}.public-app .pub-program-grid{grid-template-columns:1fr;gap:15px}.public-app .pub-program{padding:25px}.public-app .pub-online{grid-template-columns:1fr;padding:30px 22px;margin:0;gap:30px}.public-app .pub-learning-preview{transform:none;box-shadow:7px 8px 0 #12283d66}.public-app .pub-online h2{font-size:34px}.public-app .pub-life-photo img{height:300px}.public-app .pub-life-topics{grid-template-columns:1fr;gap:16px;margin-top:25px}.public-app .pub-life-topics>div{border-bottom:1px solid var(--pub-line)}.public-app .pub-life-topics h3{margin:8px 0 12px}.public-app .pub-news-grid{grid-template-columns:1fr;gap:28px}.public-app .pub-news-picture img{height:auto;aspect-ratio:16/10}.public-app .pub-news-copy{padding:18px 0}.public-app .pub-news-copy h3{font-size:24px}.public-app .pub-journey ol{gap:20px}.public-app .pub-journey h3{font-size:16px}.public-app .pub-cta{flex-direction:column;align-items:flex-start;margin-bottom:48px;padding:28px 0;gap:20px}.public-app .pub-cta h2{font-size:30px}.public-app .pub-cta-actions{flex-direction:row;flex-wrap:wrap;gap:20px}.public-app .pub-footer{padding:40px 0 24px}.public-app .pub-footer-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.public-app .pub-footer-grid>section:first-child,.public-app .pub-footer-grid>section:last-child{grid-column:1/-1}.public-app .pub-footer-grid>section>p{max-width:none}.public-app .pub-footer-grid h2{margin-bottom:15px}.public-app .pub-footer-bottom{gap:15px;margin-top:26px}.public-app .pub-page-title{padding:40px 0 25px}.public-app .pub-faq,.public-app .pub-contact-grid{grid-template-columns:1fr;gap:26px}.public-app .pub-contact-help{padding:26px}.public-app .pub-article{padding:35px 0 45px}.public-app .pub-article header{margin:25px 0}.public-app .pub-article h1{font-size:34px}.public-app .pub-article-intro{font-size:15px}.public-app .pub-article-body{font-size:15px;margin:25px 0}.public-app .pub-article-end{flex-wrap:wrap}.public-app .auth{padding:28px 22px;margin:35px 0}.public-app .auth h1{font-size:30px}.public-app .register-layout{padding:35px 0;grid-template-columns:1fr;gap:25px}.public-app .register-layout h1{font-size:35px}.public-app input,.public-app select,.public-app textarea{font-size:16px;max-width:100%}.public-app .pub-actions{gap:18px}.public-app .pub-pagination{gap:14px}}
@media(prefers-reduced-motion:reduce){.public-app *{transition:none!important;scroll-behavior:auto!important}}
@media print{.public-app .pub-header,.public-app .pub-footer,.public-app .pub-skip{display:none}.public-app .pub-container{width:100%;max-width:none}.public-app{background:white}.public-app .pub-article{padding:0}.public-app .pub-learning-preview{transform:none}}
.public-app .pub-footer-grid>section>p{color:#d5dee8}.public-app .pub-footer .pub-brand small{color:#c4d0df}.public-app .pub-footer .pub-social small{display:inline;color:#c4d0df}.public-app .pub-footer-grid>section>span.pub-demo{display:inline-block;color:#744628}.public-app .pub-footer a,.public-app .pub-footer span,.public-app .pub-footer address{overflow-wrap:anywhere}.public-app .pub-prose,.public-app .pub-hero-copy,.public-app .pub-contact-grid>div{min-width:0;overflow-wrap:anywhere}
