/* Pre homepage: marketing typography, compact campus controls, bilingual learning examples. */
.pre-home{--pre-blue:#0058fc;--pre-ink:#173453;--pre-muted:#75869d;--pre-orange:#fc851a;color:var(--pre-ink);font-family:inherit}
#app:has(>.pre-home){background:#fff}
#app>.pre-home{width:100%;max-width:none;min-width:0;margin:0;padding:0;flex:1 0 auto;background:#fff}
.pre-home *{box-sizing:border-box}
.pre-home h1,.pre-home h2,.pre-home h3,.pre-home p{margin:0}
.pre-home h2{font-size:32px;line-height:1.5;font-weight:700;letter-spacing:-.4px;color:var(--pre-ink)}
.pre-home h3{font-weight:650;color:var(--pre-ink)}
.pre-container{width:100%;max-width:1280px;padding:0 40px;margin:0 auto}
.pre-home .pre-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:9px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.5;white-space:nowrap;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .15s,border-color .15s}
.pre-button>.ux-icon{width:18px;height:18px;flex-shrink:0;filter:brightness(0) invert(1)}
.pre-home .pre-button-blue{background:var(--pre-blue);color:#fff}
.pre-home .pre-button-blue:hover{background:#0047d6}
.pre-home .pre-button-orange{background:var(--pre-orange);color:#fff}
.pre-home .pre-button-orange:hover{background:#eb7410}
.pre-home .pre-text-button{display:inline-flex;align-items:center;gap:7px;padding:8px 0;border:0;background:transparent;box-shadow:none;font-family:inherit;font-size:15px;font-weight:550;line-height:1.6;color:var(--pre-blue);cursor:pointer}
.pre-text-button .ux-icon{width:16px;height:16px}
.pre-down-icon{display:flex;transform:rotate(90deg)}
.pre-home a:focus-visible,.pre-home button:focus-visible{outline:3px solid #a6c6ff;outline-offset:4px}
.pre-home [tabindex="-1"]:focus{outline:none}
.pre-home .pre-eyebrow{font-size:15px;line-height:1.7;font-weight:600;color:var(--pre-blue)}
.pre-home .pre-eyebrow-orange{color:#dc7d21}
.pre-home-hero{background:linear-gradient(115deg,#f5f9ff,#eff6ff)}
.pre-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding-top:48px;padding-bottom:48px}
.pre-hero-copy{min-width:0}
.pre-hero-copy h1{font-size:50px;line-height:1.4;letter-spacing:-1.1px;color:#113354;margin-top:14px;font-weight:750}
.pre-home .pre-hero-description{font-size:18px;line-height:1.85;color:#627893;margin-top:20px;max-width:490px}
.pre-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.pre-home .pre-micro-note{display:flex;align-items:center;gap:5px;font-size:14px;line-height:1.7;color:#73859e;margin-top:18px}
.pre-micro-note .ux-icon{width:16px;height:16px;margin-right:2px}
.pre-micro-note strong{font-weight:600;color:#597ba5}
.pre-course-features{margin-top:28px}
.pre-feature-label{display:block;font-size:13px;font-weight:600;line-height:1.6;color:#6d819b;margin-bottom:10px}
.pre-method-keywords{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none;font-size:14px;line-height:1.6;color:#3b6fae}
.pre-method-keywords li{padding:5px 11px;border:1px solid #d4e4fa;border-radius:6px;background:#ffffffb8}
.pre-learning-preview{min-width:0;overflow:visible;padding:22px 24px 20px;background:#fff;border:1px solid #d9e5f5;border-radius:14px;box-shadow:0 8px 24px #285f9d05}
.pre-preview-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:17px;border-bottom:1px solid #edf1f7}
.pre-preview-top>span{display:flex;align-items:center;gap:9px;min-width:0}
.pre-course-name{display:flex;flex-direction:column;gap:4px;min-width:0}
.pre-course-name strong{font-size:19px;font-weight:650;color:#294765;line-height:1.5}
.pre-course-name small{color:#69809d;font-size:14px;line-height:1.4}
.pre-preview-top>.pre-course-code{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.pre-course-code strong{font-size:15px;font-weight:650;line-height:1.5;color:#3d648f;letter-spacing:.2px}
.pre-course-code small{font-size:12px;line-height:1.5;color:#7c8fa7}
.pre-learning-preview .pre-bilingual-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;font-size:25px;line-height:1.5;margin:18px 0 14px;letter-spacing:0}
.pre-bilingual-title>small{font-size:15px;font-weight:500;color:#6480a1;letter-spacing:.1px}
.pre-preview-question{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:9px;background:#edf5ff;color:#1768d8;font-size:17px;font-weight:600;line-height:1.6}
.pre-preview-question>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#2678ee;color:white;font-size:13px;flex:0 0 21px;margin-top:1px}
.pre-preview-question small{display:block;font-size:14px;line-height:1.6;font-weight:400;color:#698bb6;margin-top:3px}
.pre-preview-situation{position:relative;margin:12px 0 16px;padding:14px 15px;border-radius:9px;background:#f7f9fc;font-size:15px;line-height:1.8;color:#6c7f99}
.pre-home .pre-preview-prompt{margin-top:9px}
.pre-preview-prompt strong{color:#5277a6;font-weight:550}
.pre-preview-prompt strong span{font-size:14px;white-space:nowrap}
.pre-annotation{position:absolute;z-index:1;width:128px;height:80px;right:-64px;top:-54px;overflow:visible;color:#f58b1b;pointer-events:none}
@media(min-width:1000px) and (max-width:1199px){.pre-annotation{width:112px;height:70px;right:-48px;top:-48px}}
.pre-preview-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.pre-preview-choices>div{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;min-width:0;border:1px solid #e2eaf6;border-radius:9px;background:#fdfefe}
.pre-preview-choices>div>.c-icon{width:27px!important;height:27px!important;flex:0 0 27px;margin-top:2px}
.pre-preview-choices strong{font-size:17px;line-height:1.5;color:#385776;font-weight:600}
.pre-preview-choices small{display:block;font-size:13px;line-height:1.5;color:#738aa7;margin-top:3px}
.pre-preview-choices p{font-size:14px;line-height:1.7;color:#7b8da5;margin-top:7px}
.pre-preview-choices>div>.ux-icon{width:27px;height:27px;flex:0 0 27px;margin-top:2px}
.pre-preview-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;padding:0;margin:18px 0 0}
.pre-preview-stages li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;line-height:1.5;color:#7589a4}
.pre-preview-stages li.is-active{color:#3d83e2}
.pre-home-philosophy{background:#fff;padding:44px 0 46px}
.pre-philosophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:26px}
.pre-philosophy-item{position:relative;display:flex;align-items:center;gap:14px;min-width:0}
.pre-philosophy-item+.pre-philosophy-item:before{content:"";position:absolute;left:-16px;top:7px;bottom:5px;width:1px;background:#edf1f7}
.pre-philosophy-icon{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#f1f7ff}
.pre-philosophy-icon>.c-icon{width:30px!important;height:30px!important}
.pre-philosophy-item h3{font-size:19px;line-height:1.6}
.pre-home-method{background:#f2f7fe;padding:44px 0;scroll-margin-top:18px}
.pre-home-method h2{margin-top:8px}
.pre-method-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;padding:0;margin:25px 0 0;list-style:none}
.pre-method-grid>li{position:relative;min-width:0}
.pre-method-card{height:100%;min-height:176px;border-radius:11px;padding:20px 18px;background:#fff}
.pre-method-card-title{display:flex;align-items:flex-start;gap:11px}
.pre-method-card-title>.c-icon{flex-shrink:0;margin-top:7px}
.pre-method-card-title span{font-size:13px;line-height:1.5;font-weight:550;color:#7a8fa9}
.pre-method-card-title h3{font-size:18px;line-height:1.5}
.pre-method-card>p{font-size:15px;line-height:1.8;color:#7085a0;margin-top:17px}
.pre-method-connector{position:absolute;right:-21px;top:calc(50% - 8px);display:flex}
.pre-method-connector .ux-icon{width:16px;height:16px}
.pre-home-outcomes{background:#fff;padding:44px 0}
.pre-outcomes-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:42px}
.pre-outcome-list{display:grid;gap:12px;padding:0;margin:23px 0 0;list-style:none;font-size:17px;line-height:1.8;color:#5c7593}
.pre-outcome-list li{display:flex;align-items:flex-start;gap:11px}
.pre-outcome-list li>span{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;background:#2e7cf0;border-radius:50%;margin-top:3px}
.pre-outcome-list .ux-icon{width:15px;height:15px;filter:brightness(0) invert(1)}
.pre-outcome-example{position:relative;isolation:isolate;min-height:276px;overflow:hidden;padding:24px;border-radius:12px;background:#fff9ef}
.pre-outcome-copy{position:relative;z-index:2;max-width:calc(100% - 140px)}
.pre-example-label{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:7px;padding:4px 9px;border-radius:15px;background:#fff0d8;font-size:14px;font-weight:550;line-height:1.7;color:#b87222}
.pre-example-label span{font-size:12px;white-space:nowrap}
.pre-outcome-example h3{font-size:22px;line-height:1.6;letter-spacing:0;margin-top:14px}
.pre-outcome-example p{font-size:15px;line-height:1.85;color:#7c7c7d;margin-top:10px}
.pre-signpost{position:absolute;right:0;bottom:-5px;width:160px;aspect-ratio:480/577;z-index:1;pointer-events:none}
.pre-signpost img{display:block;width:100%;height:auto}
.pre-signpost>span{position:absolute;transform:translate(-50%,-50%);color:#fff;text-align:center;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}
.pre-signpost-internship{left:53%;top:28%}
.pre-signpost-workshop{left:49%;top:51%}
.pre-home-trial{position:relative;isolation:isolate;overflow:hidden;background:#1260f4;color:#fff;padding:40px 0;scroll-margin-top:18px}
.pre-home-trial:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#2e83ff33,transparent 65%)}
.pre-trial-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}
.pre-trial-copy h2{font-size:31px;line-height:1.6;color:#fff;max-width:490px}
.pre-trial-copy .pre-button{margin-top:23px}
.pre-trial-card{min-width:0;padding:19px 20px 20px;border:1px solid #e5edfc;border-radius:13px;background:#fff;color:#405c7e}
.pre-trial-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px;font-size:13px;color:#7d8fa8}
.pre-trial-card-top>span{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:#3b7fdf}
.pre-trial-card-top .ux-icon{width:16px;height:16px}
.pre-trial-card fieldset{display:block;min-width:0;padding:0;margin:0;border:0}
.pre-trial-card legend{padding:0;font-size:18px;font-weight:600;line-height:1.7;color:#365576;margin-bottom:12px}
.pre-trial-card legend small{display:block;font-size:14px;line-height:1.6;color:#748eaf;font-weight:400;margin-top:5px}
.pre-home .pre-trial-answer{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;margin-top:8px;text-align:left;border:1px solid #e0e7f2;border-radius:8px;background:#f8faff;font-family:inherit;font-size:15px;font-weight:400;line-height:1.8;color:#687f9d;box-shadow:none;cursor:pointer;white-space:normal}
.pre-trial-answer>span{font-size:16px;font-weight:500;line-height:1.3;color:#6f86a4;align-self:flex-start;margin-top:1px}
.pre-home .pre-trial-answer:hover{border-color:#b6d0f8;background:#f1f6ff}
.pre-home .pre-trial-answer.is-reconsider{border-color:#eac892;background:#fff8eb;color:#a08051}
.pre-home .pre-trial-answer.is-correct{border-color:#87b3f4;background:#eef5ff;color:#5d82b3}
.pre-trial-feedback{padding:12px;margin-top:13px;border-radius:8px;background:#fff7e9;font-size:14px;line-height:1.85;color:#8c7048}
.pre-trial-feedback[hidden]{display:none}
.pre-trial-feedback.is-correct{background:#eff6ff;color:#658bbd}
.pre-trial-feedback strong{font-size:14px;font-weight:600}
.pre-trial-feedback p{margin-top:5px}
.pre-trial-feedback [lang=en]{font-size:13px}
.pre-home-coverage{background:#f5f8fd;padding:44px 0 36px}
.pre-logo-marquee{width:100%;overflow:hidden;margin-top:26px;border-top:1px solid #e4ebf5;border-bottom:1px solid #e4ebf5;background:#fff}
.pre-logo-marquee:focus-visible{outline:3px solid #a6c6ff;outline-offset:4px}
.pre-logo-track{display:flex;width:max-content;animation:pre-logo-scroll var(--pre-logo-duration) linear infinite}
.pre-logo-marquee:hover .pre-logo-track,.pre-logo-marquee:focus-within .pre-logo-track{animation-play-state:paused}
.pre-university-wall{display:flex;flex:none;list-style:none;padding:0;margin:0}
.pre-university-wall li{display:flex;flex:0 0 224px;flex-direction:column;align-items:center;justify-content:center;gap:13px;width:224px;min-width:0;padding:22px 14px 18px;border-right:1px solid #edf1f7;background:#fff}
.pre-university-wall img{display:block;max-width:100%;width:176px;height:64px;object-fit:contain}
.pre-university-wall span{font-size:14px;line-height:1.6;color:#637c99}
@keyframes pre-logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.app-footer.pre-home-footer{width:100%;max-width:1280px;padding:0 40px 24px;margin:0 auto;background:#fff}
.pre-home-footer .welcome-footer-links button{font-family:inherit;font-size:12px;font-weight:400;line-height:1.8;color:inherit;padding:0;min-height:0;border:0;background:transparent;box-shadow:none;cursor:pointer}
.pre-home-footer .welcome-footer-links button:hover{color:var(--blue)}
@media(min-width:1000px) and (max-width:1199px){
 .pre-container,.app-footer.pre-home-footer{padding-left:32px;padding-right:32px}.pre-hero-grid{gap:30px;padding-top:38px;padding-bottom:40px}.pre-hero-copy h1{font-size:42px}.pre-home .pre-hero-description{font-size:17px}.pre-learning-preview{padding:18px}.pre-preview-top{gap:12px}.pre-course-name strong{font-size:18px}.pre-course-name small{font-size:13px}.pre-course-code strong{font-size:14px}.pre-course-code small{font-size:11px}.pre-preview-question{font-size:16px}.pre-preview-question small{font-size:13px}.pre-preview-choices>div{padding:12px 10px;gap:8px}.pre-preview-choices strong{font-size:16px}.pre-method-grid{gap:20px}.pre-method-card{padding:18px 13px}.pre-method-card-title{gap:8px}.pre-method-card-title>.c-icon{width:24px!important;height:24px!important}.pre-method-card-title h3{font-size:17px}.pre-method-card>p{font-size:15px}.pre-method-connector{right:-18px}.pre-method-connector .ux-icon{width:15px;height:15px}.pre-home h2{font-size:29px}.pre-philosophy-grid{gap:24px}.pre-philosophy-item{gap:11px}.pre-philosophy-icon{width:48px;height:48px;flex-basis:48px}.pre-philosophy-item h3{font-size:18px}.pre-outcomes-grid{gap:28px}.pre-outcome-list{font-size:16px}.pre-outcome-copy{max-width:calc(100% - 105px)}.pre-signpost{width:125px}.pre-outcome-example{padding:20px}.pre-outcome-example h3{font-size:20px}.pre-trial-grid{gap:32px}.pre-trial-copy h2{font-size:28px}.pre-university-wall img{width:170px}
}
@media(width < 1000px){
 .pre-container,.app-footer.pre-home-footer{padding-left:24px;padding-right:24px}.pre-hero-grid{grid-template-columns:1fr;gap:30px;padding-top:34px;padding-bottom:34px}.pre-learning-preview{max-width:590px;width:100%;margin:auto}.pre-hero-copy h1{font-size:38px}.pre-home .pre-hero-description{font-size:15px;max-width:650px}.pre-home h2{font-size:25px}.pre-home-philosophy,.pre-home-method,.pre-home-outcomes{padding:32px 0}.pre-philosophy-grid{grid-template-columns:1fr;gap:22px}.pre-philosophy-item+.pre-philosophy-item:before{display:none}.pre-method-grid{grid-template-columns:1fr;gap:18px}.pre-method-card{min-height:0;display:grid;grid-template-columns:170px 1fr;align-items:center;gap:18px}.pre-method-card>p{margin:0}.pre-method-connector{top:auto;bottom:-18px;right:25px;transform:rotate(90deg)}.pre-outcomes-grid,.pre-trial-grid{grid-template-columns:1fr;gap:26px}.pre-outcome-example{max-width:650px;width:100%;min-height:240px}.pre-coverage-heading{align-items:flex-start;flex-wrap:wrap;gap:20px}.pre-trial-card{max-width:650px;width:100%}.pre-annotation{right:-9px;width:40px}.pre-home-trial{padding:30px 0}
}
@media(max-width:599px){
 .pre-container,.app-footer.pre-home-footer{padding-left:20px;padding-right:20px}.pre-hero-copy h1{font-size:31px}.pre-home .pre-eyebrow{font-size:12px}.pre-home .pre-hero-description{font-size:14px}.pre-hero-actions{gap:20px}.pre-home .pre-button{font-size:13px;padding:10px 15px;min-height:42px}.pre-home .pre-text-button{font-size:13px}.pre-learning-preview{padding:17px}.pre-preview-top{gap:8px}.pre-preview-top>small{font-size:8px}.pre-preview-top strong{font-size:12px}.pre-course-name small{font-size:9px}.pre-preview-top .c-icon{width:22px!important;height:22px!important}.pre-learning-preview .pre-bilingual-title{font-size:18px}.pre-preview-question{font-size:12px}.pre-preview-question small{font-size:9px}.pre-preview-situation{font-size:11px}.pre-preview-choices>div{padding:12px 10px;gap:8px}.pre-preview-choices strong{font-size:12px}.pre-preview-choices small{font-size:9px}.pre-preview-choices p{font-size:10px}.pre-preview-stages li{font-size:10px}.pre-preview-stages li small{font-size:8px}.pre-method-keywords{gap:20px;font-size:11px}.pre-home h2{font-size:23px}.pre-home .pre-section-description{font-size:14px}.pre-method-card{grid-template-columns:130px 1fr;gap:12px;padding:16px}.pre-method-card-title{gap:9px}.pre-method-card-title>.c-icon{width:24px!important;height:24px!important}.pre-method-card-title h3{font-size:14px}.pre-method-card>p{font-size:12px}.pre-outcome-list{font-size:13px}.pre-outcome-example{padding:20px;min-height:280px}.pre-outcome-copy{max-width:calc(100% - 70px)}.pre-signpost{width:105px;right:-5px}.pre-signpost>span{font-size:10px}.pre-example-label{font-size:11px}.pre-example-label span{font-size:9px}.pre-outcome-example h3{font-size:16px}.pre-outcome-example p{font-size:12px}.pre-term-hint{font-size:9px}.pre-trial-copy h2{font-size:23px}.pre-trial-copy p{font-size:14px}.pre-trial-card{padding:17px}.pre-trial-card legend{font-size:14px}.pre-trial-card legend small{font-size:10px}.pre-trial-card-top>span small{display:none}.pre-home .pre-trial-answer{font-size:12px}.pre-coverage-heading h2{font-size:22px}
}
@media(width < 1000px){.pre-annotation{width:92px;height:58px;right:-32px;top:-38px}}
@media(prefers-reduced-motion:reduce){.pre-home .pre-button{transition:none}.pre-logo-marquee{overflow-x:auto}.pre-logo-track{animation:none}.pre-university-wall[aria-hidden=true]{display:none}}
