/* Approved home design. Scoped to avoid changing the student and admin tools. */
body.home-page { --blue:#4260f5;--ink:#13151a;--muted:#696d78;--line:#e2e4e9;--paper:#f4f5f8;--max:1180px;--radius:16px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;font-synthesis:none }
body.home-page * { box-sizing:border-box }
body.home-page { margin:0 }
body.home-page button,
body.home-page input,
body.home-page select { font:inherit }
body.home-page button,
body.home-page a { -webkit-tap-highlight-color:transparent }
body.home-page button { cursor:pointer }
body.home-page a { color:inherit;text-decoration:none }
body.home-page button:disabled { cursor:default }
body.home-page button:focus-visible,
body.home-page a:focus-visible,
body.home-page input:focus-visible,
body.home-page select:focus-visible,
body.home-page summary:focus-visible { outline:3px solid #6684ff;outline-offset:4px }
body.home-page [hidden] { display:none!important }
html { scroll-behavior:smooth;scroll-padding-top:130px }
body.home-page button { border:0 }
body.home-page h1,
body.home-page h2,
body.home-page h3,
body.home-page p { margin:0 }
body.home-page svg { display:block;max-width:100% }
body.home-page .wrap { max-width:var(--max);margin:auto;padding:0 36px }
body.home-page .eyebrow { font-size:12px;font-weight:700;letter-spacing:.7px; }
body.home-page .muted { color:var(--muted) }
body.home-page .arrow { font-size:21px;line-height:1 }
body.home-page .btn { display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:17px 23px;border-radius:9px;background:var(--blue);color:#fff;font-size:15px;font-weight:650;min-height:52px;transition:background .18s,transform .18s }
body.home-page .btn:hover { background:#3049d7;transform:translateY(-2px) }
body.home-page .btn.light { background:#fff;color:var(--ink) }
body.home-page .btn.outline { border:1px solid #ffffff40;background:transparent;color:#fff }
body.home-page .link { display:inline-flex;align-items:center;gap:14px;font-weight:650;font-size:14px }
body.home-page .site-header { background:#101115;color:white;border-bottom:1px solid #ffffff15 }
body.home-page .header-inner { height:85px;display:flex;align-items:center;justify-content:space-between }
body.home-page .wordmark { display:flex;align-items:baseline;gap:7px;font-size:25px;font-weight:850;letter-spacing:-1.2px;white-space:nowrap }
body.home-page .wordmark .brand-subject { color:#8d9fff;font:inherit;letter-spacing:inherit; }
body.home-page .wordmark i { font-style:normal;color:#6d87ff }
body.home-page .wordmark small { font-size:10px;letter-spacing:2px;font-weight:500;color:#a2a5af }
body.home-page .mainnav { display:flex;align-items:center;gap:31px;font-size:13px;color:#c7c9d1 }
body.home-page .mainnav a:hover { color:#fff }
body.home-page .mainnav .nav-cta { color:white;border:1px solid #ffffff35;border-radius:7px;padding:11px 16px }
body.home-page .mobile-nav { display:none }
body.home-page .hero { background:#101115;color:white;overflow:hidden;position:relative }
body.home-page .hero-main { display:grid;grid-template-columns:1.25fr 1fr;align-items:center;min-height:606px;position:relative }
body.home-page .hero-copy { position:relative;z-index:2;padding:58px 0 65px }
body.home-page .hero .eyebrow { color:#a3b0fa;margin-bottom:24px }
body.home-page .hero h1 { font-size:clamp(45px,5.1vw,70px);font-weight:780;line-height:1.16;letter-spacing:-3.4px;white-space:nowrap }
body.home-page .hero h1 em { font-style:normal;color:#8d9fff }
body.home-page .hero-lead { font-size:16px;line-height:1.85;color:#afb2bd;margin-top:29px;word-break:keep-all }
body.home-page .hero-lead strong { font-weight:500;color:#f0f1f5 }
body.home-page .hero-actions { display:flex;gap:10px;margin-top:33px }
body.home-page .hero-art { position:relative;height:550px;align-self:end;isolation:isolate }
body.home-page .hero-art:before { content:'';position:absolute;inset:8% -35% -20% -30%;background:radial-gradient(ellipse at 65% 44%,#3d57e842,transparent 61%);z-index:-1 }
body.home-page .hero-art svg { width:620px;max-width:none;position:absolute;left:-40px;top:3px;height:500px }
body.home-page .art-label { position:absolute;bottom:40px;left:48px;right:0;border-top:1px solid #ffffff28;padding-top:15px;display:flex;justify-content:space-between;gap:10px;color:#9198ab;font-size:10px;letter-spacing:2px }
body.home-page .art-label b { font-weight:500;color:#b8c5ff }
body.home-page .hero-foot { border-top:1px solid #ffffff24;padding:21px 0 24px;display:flex;justify-content:space-between;gap:24px;color:#979da9;font-size:12px }
body.home-page .hero-foot strong { font-weight:500;color:#e4e7f0 }
body.home-page .hero-foot span { display:flex;gap:15px;align-items:center }
body.home-page .hero-foot i { width:4px;height:4px;border-radius:50%;background:#6481ff }
body.home-page .quick-strip { background:#f1f3f8 }
body.home-page .quick-row { display:grid;grid-template-columns:1fr 1fr;gap:0 }
body.home-page .quick-item { display:flex;align-items:center;justify-content:space-between;padding:28px 4px;gap:20px }
body.home-page .quick-item:first-child { border-right:1px solid #dce0e9;padding-right:45px }
body.home-page .quick-item:last-child { padding-left:45px }
body.home-page .quick-item small { font-size:11px;font-weight:600;color:#7c8291;letter-spacing:1px }
body.home-page .quick-item p { margin-top:6px;font-size:18px;font-weight:650;letter-spacing:-.4px }
body.home-page .quick-icon { display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid #d4d9e4;border-radius:50%;color:#405de5;font-size:21px }
body.home-page .section { padding:94px 0 }
body.home-page .section-top { display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:20px }
body.home-page .section-top h2 { font-size:35px;line-height:1.3;letter-spacing:-1.5px;margin-top:13px }
body.home-page .section-top .eyebrow { color:#5668b7 }
body.home-page .course-grid { display:grid;grid-template-columns:1.15fr 1fr;gap:24px }
body.home-page .course { padding:39px;border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden;min-height:296px;display:flex;flex-direction:column;align-items:start }
body.home-page .course.dark { background:#17191f;color:white;border-color:#17191f }
body.home-page .course h3 { font-size:27px;letter-spacing:-1.1px;line-height:1.4;margin:20px 0 18px }
body.home-page .course p { font-size:15px;line-height:1.8;color:#696d78;position:relative;z-index:1 }
body.home-page .course.dark p { color:#a4a9b5 }
body.home-page .course-number { position:absolute;right:25px;top:20px;font-size:100px;font-weight:780;letter-spacing:-7px;color:#f0f1f5;line-height:1 }
body.home-page .course.dark .course-number { color:#272b37 }
body.home-page .course .eyebrow,
body.home-page .course h3 { position:relative;z-index:1 }
body.home-page .course .eyebrow { color:#6b81f3 }
body.home-page .course.dark .eyebrow { color:#9daeff }
body.home-page .teacher-section { background:#f5f6f9 }
body.home-page .teacher-grid { display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center }
body.home-page .portrait { background:#dce1ed;border-radius:18px;overflow:hidden;aspect-ratio:4/4.5;position:relative }
body.home-page .portrait img { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:none;mix-blend-mode:normal }
body.home-page .portrait-name { position:absolute;left:28px;bottom:29px;color:#fff;z-index:2;font-size:12px;letter-spacing:.7px }
body.home-page .teacher-copy .eyebrow { color:#6173bf }
body.home-page .teacher-copy h2 { font-size:37px;line-height:1.35;letter-spacing:-1.7px;margin:16px 0 25px }
body.home-page .teacher-copy h2 em { font-style:normal;color:var(--blue) }
body.home-page .credentials { list-style:none;padding:0;margin:0 0 26px;color:#686e7c;font-size:14px;line-height:2 }
body.home-page .credentials strong { color:#1d2b60;font-weight:700 }
body.home-page .teacher-points { border-top:1px solid #d9dee8 }
body.home-page .teacher-points div { padding:19px 0;border-bottom:1px solid #d9dee8;display:flex;gap:25px;font-size:14px;line-height:1.7;color:#6b7180 }
body.home-page .teacher-points b { color:#232939;white-space:nowrap }
body.home-page .columns { max-width:880px }
body.home-page .column-row { border-top:1px solid var(--line) }
body.home-page .column-row:last-child { border-bottom:1px solid var(--line) }
body.home-page .column-row summary { list-style:none;display:flex;align-items:center;gap:22px;min-height:95px;cursor:pointer;padding:22px 6px }
body.home-page .column-row summary::-webkit-details-marker { display:none }
body.home-page .column-row summary:after { content:'↗';margin-left:auto;color:#727986;font-size:24px }
body.home-page .column-row[open] summary:after { content:'−' }
body.home-page .column-row .num { font-size:13px;color:#7584b3;font-variant-numeric:tabular-nums }
body.home-page .column-row h3 { font-size:20px;letter-spacing:-.5px;font-weight:600 }
body.home-page .article-body { padding:5px 48px 32px;font-size:17px;line-height:1.95;color:#4d5360;word-break:keep-all;max-width:780px }
body.home-page .article-body p+p { margin-top:22px }
body.home-page .article-body b { color:#20293d;font-weight:650 }
body.home-page .column-intro { color:#6b7180;font-size:15px;line-height:1.8;margin:-14px 0 35px;max-width:620px }
body.home-page .contact { background:#3555e8;color:white;padding:58px 0 }
body.home-page .contact-inner { display:flex;align-items:center;justify-content:space-between;gap:30px }
body.home-page .contact .eyebrow { color:#b5c2ff }
body.home-page .contact h2 { font-size:35px;letter-spacing:-1.2px;margin:13px 0 10px }
body.home-page .contact p { font-size:14px;color:#d4ddff }
body.home-page .site-footer { padding:30px 0;background:#101115;color:#9c9fab;font-size:12px }
body.home-page .footer-inner { display:flex;justify-content:space-between;align-items:center;gap:25px }
body.home-page .footer-inner .wordmark { font-size:20px;color:#eee }
@media(min-width:1500px) {
body.home-page .hero h1 { font-size:76px }
body.home-page .hero-main { min-height:650px }
}
@media(max-width:1000px) {
body.home-page .hero h1 { font-size:55px }
body.home-page .hero-main { grid-template-columns:1.3fr 1fr }
body.home-page .hero-art svg { left:-100px;width:540px }
body.home-page .hero-art { height:500px }
body.home-page .hero-lead { font-size:14px }
body.home-page .teacher-grid { gap:50px }
body.home-page .teacher-copy h2 { font-size:31px }
body.home-page .mainnav { gap:22px }
body.home-page .course { padding:30px }
}
@media(max-width:760px) {
body.home-page .wrap { padding:0 24px }
body.home-page .header-inner { height:73px }
body.home-page .wordmark { font-size:23px }
body.home-page .wordmark small { font-size:9px }
body.home-page .mainnav { gap:18px;font-size:12px }
body.home-page .mainnav .secondary { display:none }
body.home-page .mainnav .nav-cta { padding:10px 12px }
body.home-page .hero-main { display:block;min-height:0 }
body.home-page .hero-copy { padding:49px 0 0 }
body.home-page .hero h1 { font-size:53px;letter-spacing:-2.6px;line-height:1.19 }
body.home-page .hero .eyebrow { font-size:10px;margin-bottom:20px }
body.home-page .hero-lead { font-size:14px;line-height:1.9;margin-top:23px }
body.home-page .hero-actions { margin-top:26px }
body.home-page .hero-actions .btn { padding:15px 18px;font-size:13px;gap:19px;min-height:48px }
body.home-page .hero-art { height:327px;max-width:500px;margin:0 auto }
body.home-page .hero-art svg { left:0;top:-55px;width:100%;height:385px }
body.home-page .art-label { left:0;bottom:15px;font-size:8px;letter-spacing:1.4px }
body.home-page .hero-art:before { inset:-40% -20% -5%;background:radial-gradient(ellipse at 60% 50%,#3d57e837,transparent 60%) }
body.home-page .hero-foot { font-size:10px;padding:17px 0;gap:15px;flex-wrap:wrap }
body.home-page .hero-foot span { gap:9px }
body.home-page .quick-row { grid-template-columns:1fr }
body.home-page .quick-item { padding:23px 0!important }
body.home-page .quick-item:first-child { border-right:0;border-bottom:1px solid #dce0e9 }
body.home-page .quick-item p { font-size:17px }
body.home-page .section { padding:64px 0 }
body.home-page .section-top { margin-bottom:28px }
body.home-page .section-top h2 { font-size:29px;letter-spacing:-1px }
body.home-page .section-top .link { font-size:12px;gap:5px }
body.home-page .section-top .eyebrow { font-size:10px }
body.home-page .course-grid { grid-template-columns:1fr;gap:15px }
body.home-page .course { min-height:252px;padding:28px }
body.home-page .course h3 { font-size:26px }
body.home-page .course-number { font-size:83px }
body.home-page .course p { font-size:14px }
body.home-page .teacher-grid { grid-template-columns:1fr;gap:34px }
body.home-page .portrait { aspect-ratio:1.25;max-height:385px }
body.home-page .portrait img { object-position:50% 30% }
body.home-page .teacher-copy h2 { font-size:30px }
body.home-page .credentials { font-size:13px }
body.home-page .teacher-points div { font-size:13px }
body.home-page .column-row summary { min-height:85px;gap:16px }
body.home-page .column-row h3 { font-size:17px;line-height:1.5 }
body.home-page .column-row .num { font-size:11px }
body.home-page .article-body { padding:4px 3px 28px;font-size:16px;line-height:1.95;word-break:normal;overflow-wrap:anywhere }
body.home-page .column-intro { font-size:14px;margin-top:0 }
body.home-page .contact-inner { align-items:start;flex-direction:column;gap:25px }
body.home-page .contact h2 { font-size:29px }
body.home-page .contact { padding:45px 0 }
body.home-page .footer-inner { align-items:start;flex-direction:column;gap:14px }
}
@media(max-width:380px) {
body.home-page .hero h1 { font-size:47px }
body.home-page .hero-lead { font-size:13px }
body.home-page .wordmark small { display:none }
body.home-page .hero-actions .btn { gap:14px }
}
@media(max-width:760px) {
body.home-page .mobile-nav { display:flex;gap:24px;justify-content:center;background:#101115;color:#aeb4c4;border-top:1px solid #ffffff12;padding:13px 20px;font-size:11px }
body.home-page .mobile-nav a { padding:3px 0 }
}
@media(prefers-reduced-motion:reduce) {
html { scroll-behavior:auto }
body.home-page *,
body.home-page *:before,
body.home-page *:after { transition:none!important;animation:none!important }
}

/* Clear layout rules belonging to the previous home without affecting other pages. */
body.home-page { line-height:normal; }
body.home-page .hero { padding:0; }
body.home-page .hero > .wrap { display:block;max-width:var(--max); }
body.home-page .hero .wrap > div:first-of-type { padding-right:0; }
body.home-page .hero h1 { font-family:var(--sans);white-space:normal;overflow-wrap:anywhere;text-wrap:initial;margin:0; }
body.home-page .hero h1 b,body.home-page .course h3 b { font-weight:inherit; }
body.home-page .hero-main > * { min-width:0; }
body.home-page .hero-art { pointer-events:none; }
body.home-page .btn { border:0;line-height:1.2; }
body.home-page .btn.outline { border:1px solid #ffffff40; }
body.home-page .btn.light:hover { background:#f0f3ff;color:#2b43b9; }
body.home-page .btn.outline:hover { background:#ffffff12;border-color:#ffffff80; }
body.home-page .contact { border:0;border-radius:0;text-align:left; }
body.home-page .contact p { margin-bottom:0; }
body.home-page .contact .eyebrow { color:#b5c2ff; }
body.home-page .site-footer { border-top:0; }
body.home-page .teacher-copy h2 b { color:var(--blue);font-weight:inherit; }
body.home-page .course-grid.single-course { grid-template-columns:1fr; }
body.home-page .course h3 { overflow-wrap:anywhere; }
body.home-page .course p b { font-weight:500;color:inherit; }
body.home-page .credentials { line-height:2; }
body.home-page .hero-foot #heroUniversity { display:inline; }
body.home-page .portrait-name { text-shadow:0 1px 8px #172947; }
body.home-page .mainnav a,body.home-page .mobile-nav a { min-height:40px;display:flex;align-items:center; }
body.home-page .wordmark { min-height:40px;align-items:center; }
body.home-page .wordmark small { align-self:center; }
body.home-page .skip-link { position:fixed;top:10px;left:16px;z-index:100;padding:13px 18px;background:white;color:#2441bc;border-radius:8px;transform:translateY(-150%); }
body.home-page .skip-link:focus { transform:translateY(0); }
body.home-page #home:focus { outline:none; }
body.home-page .all-columns { margin-top:30px; }
body.home-page .all-columns > summary { list-style:none;display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;padding:10px 0;cursor:pointer;font-size:14px;font-weight:650;color:#4260f5; }
body.home-page .all-columns > summary::-webkit-details-marker { display:none; }
body.home-page .all-columns > summary > span:last-child { margin-left:4px;transition:transform .15s; }
body.home-page .all-columns[open] > summary > span:last-child { transform:rotate(180deg); }
body.home-page .column-count { display:inline-flex;align-items:center;justify-content:center;min-width:25px;min-height:23px;background:#eef1fc;border-radius:5px;font-size:11px; }
body.home-page .all-column-list { margin-top:26px;padding-top:26px;border-top:1px solid var(--line); }
body.home-page .column-intro p+p { margin-top:14px; }
body.home-page .all-column-list > p { font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:17px; }
body.home-page .column-category { margin-top:44px; }
body.home-page .all-column-list > .column-category:first-child { margin-top:0; }
body.home-page .column-category-title { font-size:15px;color:#617092;font-weight:650;margin:0 0 18px;line-height:1.6; }
body.home-page .all-column-list .column-row .num { display:none; }
body.home-page .all-column-list .column-row h3 { font-size:18px; }
body.home-page .all-column-list .article-body { padding-left:6px; }
body.home-page .article-body { overflow-wrap:anywhere; }
body.home-page .article-body p { margin:0; }
body.home-page .article-body p+p { margin-top:22px; }
body.home-page .article-body b { font-family:inherit; }
body.home-page .lessons-section { background:#fff; }
body.home-page .lessons-section .wrap { max-width:880px; }
body.home-page .lessons-section .eyebrow { color:#6173bf; }
body.home-page .lessons-section h2 { margin:14px 0 28px;font-size:32px;letter-spacing:-1px; }
body.home-page .lessons-body { font-size:16px;line-height:1.9;color:var(--muted); }
body.home-page .lessons-body h3 { font-size:21px;color:var(--ink);margin:30px 0 15px; }
body.home-page .lessons-body p+p { margin-top:22px; }
body.home-page .lessons-body hr { border:0;border-top:1px solid var(--line);margin:28px 0; }
body.home-page #install { padding:0 0 54px; }
body.home-page #install .wrap { max-width:880px; }
body.home-page .install-fold > summary { color:#748095;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;line-height:1.65;font-size:13px; }
body.home-page .install-card { padding:25px;border-radius:12px; }
body.home-page .install-lead { margin-bottom:18px;line-height:1.8; }
body.home-page .install-tab { border:1px solid var(--line);border-radius:7px;min-height:42px;font-size:13px;padding:10px 17px;background:white; }
body.home-page .install-tab.on { background:var(--blue);color:white;border-color:var(--blue); }
body.home-page .install-steps { padding:0; }
body.home-page .install-note { margin-top:18px;line-height:1.8; }
@media(max-width:1000px) {
 body.home-page .mainnav { gap:18px; }
 body.home-page .mainnav #navLessons { display:none; }
}
@media(max-width:760px) {
 body.home-page .mobile-nav { padding:7px 20px; }
 body.home-page .hero-copy { padding-top:49px; }
 body.home-page .contact { padding:45px 0; }
 body.home-page .column-category { margin-top:32px; }
 body.home-page .all-column-list .column-row h3 { font-size:16px; }
 body.home-page .lessons-section h2 { font-size:28px; }
 body.home-page .install-card { padding:19px; }
 body.home-page .install-steps li { font-size:13px; }
 body.home-page .install-lead { font-size:13px; }
}
@media(max-width:380px) {
 body.home-page .header-inner { gap:14px; }
 body.home-page .wordmark { font-size:21px;gap:6px; }
 body.home-page .mainnav { gap:13px; }
 body.home-page .hero h1 { font-size:47px; }
}
@media(max-width:340px) {
 body.home-page .hero h1 { font-size:41px; }
 body.home-page .hero-actions { gap:8px; }
 body.home-page .hero-actions .btn { padding:14px;gap:10px; }
 body.home-page .teacher-copy h2 { font-size:28px; }
 body.home-page .wordmark small { display:none; }
 body.home-page .mobile-nav { gap:18px; }
}
