:root{--navy:#0b3c5d;--teal:#007f82;--bright:#00a8a8;--ink:#1f2933;--muted:#576a77;--line:#d9e3e9;--paper:#f4f6f8;--soft:#eaf7f7;--white:#fff;--header:82px;--shadow:0 8px 22px #0b3c5d0b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 var(--cp-font-body)}h1,h2,h3,h4{color:var(--navy);line-height:1.2;font-family:var(--cp-font-heading)}h1{font-size:clamp(2rem,3.9vw,3.4rem);letter-spacing:-.045em;margin:12px 0 18px}h2{font-size:1.6rem;letter-spacing:-.025em}h3{font-size:1.15rem}a{color:var(--teal);text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--bright);outline-offset:3px}button.primary,a.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:10px 19px;border-radius:7px;text-decoration:none;font-weight:700;font-size:.94rem;box-shadow:0 3px 0 #06283d}button.primary:hover,a.primary:hover{background:#154d70}button.secondary,a.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #aabecb;background:#fff;color:var(--navy);padding:9px 15px;border-radius:7px;text-decoration:none;font-weight:650;font-size:.94rem}.secondary:hover{background:var(--paper)}.text-button{border:0;background:none;color:var(--teal);font-weight:650;padding:4px 0}.skip{position:absolute;left:12px;top:-60px;background:#fff;z-index:100;padding:10px}.skip:focus{top:8px}.topbar{position:sticky;top:0;z-index:30;height:var(--header);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 30px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none}.brand img{width:230px;max-height:53px}.brand span{border-left:1px solid var(--line);padding-left:20px;color:var(--navy);font-size:.9rem;font-weight:750;white-space:nowrap}.global-nav{display:flex;align-items:center;gap:10px}.global-nav a{padding:8px 13px;border:1px solid #b3c3ce;border-radius:6px;box-shadow:0 2px 0 #0b3c5d25;color:var(--navy);text-decoration:none;font-size:.9rem;font-weight:700}.workspace{display:grid;grid-template-columns:278px minmax(0,1fr);min-height:calc(100vh - var(--header))}.sidebar{background:var(--paper);border-right:1px solid var(--line);position:sticky;top:var(--header);height:calc(100vh - var(--header));overflow:auto;padding:24px 18px 36px;scrollbar-width:thin}.sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:800;color:var(--navy)}.search-label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:5px}.search{width:100%;padding:10px 11px;border:1px solid #bccdd8;border-radius:6px;background:#fff;min-width:0}.level-picker a{display:flex;align-items:center;flex:1;text-decoration:none;font-weight:700;color:var(--navy)}.level-picker a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}.sidebar-progress{font-size:.875rem;color:var(--muted);margin-bottom:20px}.progress-track{height:5px;background:#d8e3e9;border-radius:5px;margin-top:7px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--bright);transition:width .2s}.nav-group{margin-top:23px}.nav-group h3{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 9px 9px;line-height:1.4}.lesson-link{display:flex;gap:10px;align-items:baseline;text-decoration:none;color:#304958;font-size:.925rem;line-height:1.4;padding:10px 9px;border:1px solid transparent;border-radius:6px;margin:2px 0}.lesson-link:hover{background:#e3edef}.lesson-link[aria-current]{background:#fff;color:var(--navy);border-color:#bfd9df;box-shadow:inset 3px 0 var(--bright),var(--shadow);font-weight:750}.lesson-number{font-size:.75rem;min-width:17px;color:var(--muted);font-variant-numeric:tabular-nums}.lesson-link.done .lesson-number{color:var(--teal);font-weight:800}.sidebar-foot{border-top:1px solid var(--line);margin-top:26px;padding-top:16px;font-size:.8125rem;color:var(--muted)}.sidebar-close,.browse-button,.scrim{display:none}.content-wrap{min-width:0;max-width:1390px;width:100%;margin:auto;padding:32px clamp(24px,4vw,64px) 0}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.875rem;color:var(--muted);margin:0 0 25px;flex-wrap:wrap}.breadcrumbs a{text-decoration:none}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:800;text-transform:uppercase;color:var(--teal);margin:0 0 8px}.lesson-layout{display:grid;grid-template-columns:minmax(0,850px) 180px;gap:38px;align-items:start}.lesson-body{min-width:0}.lesson-intro{max-width:740px;font-size:1.15rem;line-height:1.6;color:#405968;margin-bottom:22px}.lesson-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:25px}.lesson-meta .completed{color:var(--teal);font-weight:750}.jump-links{position:sticky;top:115px;border-left:1px solid var(--line);padding-left:20px;font-size:.875rem}.jump-links h2{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.jump-links a{display:block;margin:12px 0;text-decoration:none;color:var(--muted);line-height:1.4}.jump-links a:hover{color:var(--teal)}.lesson-section{padding:26px 0 2px;scroll-margin-top:110px}.lesson-section h2{font-size:1.42rem;margin:0 0 14px}.lesson-section p{margin:0;color:#344f5e}.pitfall{margin:30px 0;padding:18px 20px;background:#f2f7fa;border-radius:10px}.pitfall strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:5px}.pitfall p{margin:0}.code-block{border:1px solid #244f69;background:#0c2639;border-radius:9px;overflow:hidden;margin:24px 0;color:#e7f6ff}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#143b53;padding:12px 17px;font-size:.8rem;letter-spacing:.03em;color:#bdd8e9}.code-head button{border:1px solid #41627a;color:white;background:none;border-radius:4px;font-size:.8125rem;padding:4px 10px}.code-block pre{padding:22px;margin:0;font: .925rem/1.65 var(--cp-font-code);overflow:auto;tab-size:2}.code-block .code-actions{padding:0 20px 18px}.code-actions .secondary{background:#dbf5f3;border:0;color:#074951}.dialect-note{font-size:.875rem;background:var(--soft);padding:12px 16px;border-radius:6px;color:#225961;margin:15px 0}.practice{border:1px solid var(--line);border-radius:10px;margin:35px 0;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:100px}.practice-heading{padding:22px 24px;background:var(--soft);border-bottom:1px solid #cde6e6}.practice-heading h2{margin:0;font-size:1.5rem}.practice-heading p{margin:8px 0 0}.practice-tabs{display:flex;border-bottom:1px solid var(--line);gap:0}.practice-tabs button{background:#fff;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:13px 19px;font-size:.925rem;font-weight:750}.practice-tabs button[aria-selected=true]{border-color:var(--bright);color:var(--navy)}.editor-label{padding:16px 22px 0;display:block;font-size:.875rem;font-weight:700}.editor{display:block;width:calc(100% - 44px);margin:8px 22px 14px;min-height:190px;resize:vertical;border:1px solid #bbcedb;border-radius:6px;background:#f9fbfc;padding:17px;color:#13394e;font: .94rem/1.7 var(--cp-font-code);tab-size:2}.editor-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 22px 12px}.run-status{font-size:.875rem;color:var(--muted)}.practice-note{font-size:.8125rem;color:var(--muted);margin:0 22px 15px}.practice .result{border-top:1px solid var(--line);padding:18px 22px;overflow:auto}.result p{margin:0;color:var(--muted)}.result.error p,.feedback.error{color:#9b3541}.feedback{padding:12px 22px;margin:0;border-top:1px solid var(--line);font-weight:650;font-size:.925rem}.feedback.good{color:#09664e;background:#edf9f3}.feedback.info{color:var(--navy);background:var(--paper)}.table-scroll{overflow:auto;max-height:330px;border:1px solid var(--line);border-radius:6px;outline-offset:2px}table{border-collapse:collapse;width:100%;font-size:.875rem;white-space:nowrap}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line)}th{background:#edf3f6;color:var(--navy);position:sticky;top:0;font-weight:750}tr:last-child td{border-bottom:0}td.null{font-style:italic;color:#526673}.row-count{font-size:.8125rem;color:var(--muted);padding-top:9px}.practice-support{border-top:1px solid var(--line);padding:16px 22px;display:grid;gap:12px}.practice-support details summary{color:var(--teal);font-weight:650;cursor:pointer;font-size:.925rem}.practice-support details p{margin:10px 0 0;font-size:.925rem}.practice-support pre{font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:15px;border-radius:6px;margin-bottom:0}.quiz{padding:23px}.quiz label{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--line);border-radius:6px;margin:10px 0;cursor:pointer}.quiz input{margin-top:6px;accent-color:var(--teal)}.quiz button{margin-top:12px}.lesson-nav{display:flex;justify-content:space-between;gap:20px;padding:23px 0 32px;border-top:1px solid var(--line);margin-top:35px}.lesson-nav a{max-width:48%;font-size:.925rem;text-decoration:none;line-height:1.4}.lesson-nav small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}.lesson-nav .next{text-align:right}.overview-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:40px;align-items:center;padding:14px 0 37px;border-bottom:1px solid var(--line)}.overview-hero h1{max-width:650px}.overview-hero p{max-width:620px;color:#45606f;font-size:1.05rem}.hero-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.overview-stat{padding:25px;border:1px solid #c5dfe0;border-radius:12px;background:var(--soft)}.overview-stat .big{font-size:3.5rem;letter-spacing:-.06em;font-weight:800;color:var(--navy);line-height:1}.overview-stat p{font-size:.925rem;margin:10px 0 16px}.overview-stat .meta{display:flex;gap:15px;font-size:.8125rem;color:var(--muted)}.overview-section{padding:30px 0 12px}.overview-section>h2{margin:0 0 8px}.overview-section>p{color:var(--muted);margin:0 0 23px}.curriculum-group{margin:25px 0}.curriculum-group h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:12px}.lesson-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.lesson-card{border:1px solid var(--line);padding:19px;border-radius:8px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;transition:transform .15s,border-color .15s}.lesson-card:hover{transform:translateY(-3px);border-color:#6cbfc2}.lesson-card .card-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--teal);font-weight:750}.lesson-card h4{font-size:1.12rem;margin:15px 0 11px}.lesson-card p{font-size:.875rem;color:var(--muted);line-height:1.55;margin:0 0 15px}.lesson-card .card-bottom{margin-top:auto;font-size:.8125rem;color:var(--navy)}.resources-grid,.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.resource-card,.project-card{border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:var(--shadow)}.resource-card{text-decoration:none;color:var(--ink)}.resource-card .type{font-size:.75rem;color:var(--teal);font-weight:800;text-transform:uppercase}.resource-card h3,.project-card h3{margin:11px 0}.resource-card p,.project-card p{font-size:.925rem;color:var(--muted);margin:0}.project-card small{display:block;margin:14px 0;font-size:.8125rem}.project-card a{font-size:.875rem;font-weight:700}.readiness ul{padding-left:22px;margin-bottom:0}.readiness li+li{margin-top:8px}.lab-dataset{margin:22px 0;border:1px solid var(--line);border-radius:8px;padding:15px 18px}.lab-dataset>summary{cursor:pointer;font-weight:700;color:var(--navy)}.lab-dataset p{font-size:.875rem;color:var(--muted)}.schema-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schema-table{border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.schema-table h3{margin:0;padding:10px 13px;background:var(--paper);font-size:.925rem}.schema-table ul{list-style:none;margin:0;padding:8px 13px;font:.8125rem/1.8 var(--cp-font-code);overflow-wrap:anywhere}.schema-table button{margin:0 13px 12px;font-size:.8125rem}.empty-nav{padding:15px 9px;color:var(--muted);font-size:.925rem}.loading{padding:50px;color:var(--muted)}.page-error{border:1px solid var(--line);padding:30px;border-radius:10px}.platform-footer{border-top:1px solid var(--line);margin-top:42px;padding:27px 0;font-size:.8125rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.platform-footer nav{display:flex;gap:20px}.platform-footer a{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(min-width:1450px){.lesson-layout{gap:52px}.content-wrap{padding-left:65px}}@media(max-width:1250px){.lesson-layout{grid-template-columns:1fr}.jump-links{position:static;display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;border-left:0;border-bottom:1px solid var(--line);grid-row:1}.jump-links h2{align-self:center;margin:0;font-size:.75rem}.jump-links a{margin:0;font-size:.8125rem}.lesson-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-hero{gap:22px}}@media(max-width:980px){:root{--header:72px}.brand span{display:none}.workspace{display:block}.sidebar{position:fixed;top:0;left:0;width:min(330px,87vw);height:100dvh;z-index:60;transform:translateX(-100%);transition:transform .2s;padding-top:20px;box-shadow:10px 0 35px #06283d25}.sidebar.is-open{transform:translateX(0)}.sidebar-close{display:block;border:1px solid var(--line);background:#fff;border-radius:4px;padding:2px 9px;color:var(--navy)}.scrim.is-open{display:block;position:fixed;inset:0;background:#09263888;z-index:50;border:0;width:100%;height:100%}.browse-button{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--navy);padding:8px 13px;font-weight:700;margin-bottom:20px;font-size:.9rem}.content-wrap{padding-top:22px}.topbar{padding:12px 22px}.brand img{width:215px}.overview-stat .big{font-size:3rem}}@media(max-width:640px){:root{--header:67px}.topbar{padding:10px 15px;gap:12px}.brand img{width:165px}.global-nav{gap:6px}.global-nav a{padding:7px 9px;font-size:.8125rem}.global-nav a:last-child{display:none}.content-wrap{padding:20px 19px 0}.overview-hero{display:block;padding-top:0}.overview-hero h1{font-size:2.5rem}.overview-stat{margin-top:26px;padding:20px;display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center}.overview-stat p{margin:0}.overview-stat .meta{grid-column:1/-1}.lesson-cards,.resources-grid,.projects-grid{grid-template-columns:1fr}.lesson-card{min-height:0}.lesson-card h4{margin-top:10px}.lesson-layout{gap:23px}.lesson-intro{font-size:1.05rem}.lesson-section{padding-top:24px}.lesson-section h2{font-size:1.3rem}.jump-links{gap:9px 14px}.jump-links h2{width:100%}.practice-heading{padding:20px 18px}.practice-heading p{font-size:.925rem}.editor{margin-left:15px;margin-right:15px;width:calc(100% - 30px);font-size:.875rem;min-height:210px}.editor-label{padding-left:15px}.editor-tools{margin-left:15px;margin-right:15px}.practice .result,.practice-support{padding-left:15px;padding-right:15px}.practice-note{margin-left:15px;margin-right:15px}.feedback{padding:12px 15px}.schema-tables{grid-template-columns:1fr}.code-block pre{padding:17px;font-size:.875rem}.lesson-nav{gap:15px}.quiz{padding:17px}.platform-footer{display:block}.platform-footer nav{margin-top:12px;flex-wrap:wrap}h1{font-size:2.3rem}.breadcrumbs{font-size:.8125rem;margin-bottom:20px}.lesson-meta{gap:9px;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}@media print{.topbar,.sidebar,.browse-button,.jump-links,.editor-tools,.global-nav,.scrim{display:none!important}.workspace,.lesson-layout{display:block}.content-wrap{padding:0;max-width:none}.code-block{color:#111;background:#fff}.code-head{background:#eee;color:#111}.practice{box-shadow:none}body{font-size:12pt}}

.cps-footer{margin-top:38px;border-radius:8px 8px 0 0}.sidebar-close{min-width:40px;min-height:40px}@media(max-width:640px){.cps-footer{border-radius:0;margin-left:-19px;width:calc(100% + 38px)}}
.concept-visual{margin:28px 0 32px;border:1px solid #bcd9de;border-radius:12px;padding:24px;background:var(--white);box-shadow:0 8px 24px #0b3c5d09;scroll-margin-top:105px}.visual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.visual-heading h2{font-size:1.55rem;margin:4px 0 0}.visual-heading .eyebrow{margin:0}.visual-badge{font-size:.75rem;font-weight:700;color:#17616a;background:#e0f1f1;padding:5px 10px;border-radius:20px;white-space:nowrap}.visual-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:20px 0 15px}.visual-controls button{background:#fff;border:1px solid #b6cbd8;border-radius:7px;padding:9px 15px;color:var(--navy);font-size:.9rem;font-weight:700;min-height:44px}.visual-controls button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white;box-shadow:0 2px 0 #06283d}.visual-caption{font-size:1rem;color:#294f63;margin:10px 0 16px;line-height:1.5}.visual-connector{color:var(--teal);font-size:1.3rem}.table-explorer-scroll,.visual-data-scroll{overflow:auto;border:1px solid #ccdae2;border-radius:9px;background:#fff;scrollbar-width:thin}.table-explorer{position:relative;min-width:560px}.table-explorer table{table-layout:fixed;width:100%;border-collapse:collapse}.table-explorer caption{height:30px;line-height:30px;text-align:left;font-size:.75rem;font-weight:700;color:#526c7b;padding:0 12px;background:#fff}.table-explorer th,.table-explorer td{padding:0;height:50px;position:static;overflow:hidden;white-space:nowrap}.table-explorer th{background:#eaf1f5}.table-explorer th button{font:.8125rem/1.3 var(--cp-font-code);font-weight:700;color:var(--navy)}.table-explorer button{display:block;border:0;border-radius:0;background:transparent;width:100%;height:49px;padding:0 12px;text-align:left;font-size:.925rem;color:#2d4d60;white-space:nowrap}.table-explorer button:hover{background:#dff3f3}.table-explorer button:focus-visible{outline-offset:-5px;border-radius:6px}.table-outline{position:absolute;pointer-events:none;border:3px solid var(--bright);border-radius:11px;background:#00a8a80b;transition:top .18s,left .18s,width .18s,height .18s}.table-outline.row{top:calc(30px + 50px * (var(--picked-row) + 1) + 3px);left:3px;width:calc(100% - 6px);height:44px}.table-outline.column{left:calc(25% * var(--picked-column) + 3px);top:33px;width:calc(25% - 6px);height:calc(100% - 36px);border-color:var(--navy);background:#0b3c5d09}.visual-cue{font-size:.8125rem;line-height:1.5;color:var(--muted);margin:13px 0 0}.projection-query{padding:15px 17px;background:#0c2639;color:#dcf6ff;border-radius:7px;font:.925rem/1.6 var(--cp-font-code);white-space:pre-wrap;overflow-wrap:anywhere}.column-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.column-choices label{display:flex;align-items:center;gap:8px;border:1px solid #bdced8;background:#fff;border-radius:6px;padding:9px 11px;font:.8125rem var(--cp-font-code);cursor:pointer;min-height:44px}.column-choices input{accent-color:var(--teal);width:16px;height:16px}.column-choices label:has(input:checked){border-color:var(--teal);background:#e5f6f4}#projection-builder{margin-top:22px}#projection-builder fieldset{padding:0;border:0}#projection-builder legend{font-weight:700;font-size:.925rem;color:var(--navy)}.visual-query{margin-top:15px}.visual-query summary,.read-more summary{cursor:pointer;color:var(--teal);font-size:.875rem;font-weight:650}.visual-query pre{background:#0c2639;color:#e7f6ff;border-radius:7px;padding:17px;overflow:auto;font:.875rem/1.6 var(--cp-font-code)}.read-more{margin-top:12px}.read-more p{margin-top:12px;padding:14px 17px;background:#f5fafb;border-radius:10px;font-size:.95rem}.visual-empty{font-size:.925rem;color:var(--muted);padding:12px}.visual-data-scroll table{font-size:.875rem}.visual-data-scroll td,.visual-data-scroll th{padding:10px 13px}@media(max-width:640px){.concept-visual{padding:18px 14px;margin-top:23px}.visual-heading{align-items:flex-start;flex-direction:column;gap:10px}.visual-heading h2{font-size:1.35rem}.visual-controls{gap:6px}.visual-controls button{padding:8px 11px;font-size:.8125rem}.visual-caption{font-size:.95rem}.visual-badge{font-size:.75rem}.column-choices{display:grid;grid-template-columns:1fr 1fr}.column-choices label{padding:8px;font-size:.75rem}.projection-query{font-size:.875rem;padding:14px}}
/* An open learning path, with a distinct course entrance. */
body[data-page=landing] .workspace{display:block}body[data-page=landing] .sidebar,body[data-page=landing] .browse-button,body[data-page=landing] .scrim{display:none!important}body[data-page=landing] .content-wrap{max-width:1180px}.school-hero>div>p:not(.eyebrow){font-size:1.13rem;color:#476171;max-width:500px}.school-hero .landing-note{font-size:.875rem!important;margin-top:25px!important}.learning-demo{padding:7px 0 7px 24px}.demo-label{font-size:.8125rem;font-weight:750;color:var(--teal);margin:13px 0 8px}.learning-demo table{border:1px solid var(--line);background:white}.learning-demo caption{text-align:left;font:.875rem/1.8 var(--cp-font-code);color:var(--navy)}.learning-demo pre{background:#0c2639;color:#e2faff;padding:18px;font:.875rem/1.65 var(--cp-font-code);overflow:auto;border-radius:4px;margin:0}.demo-result{display:grid;border-bottom:1px solid #add4d6;padding:16px 0}.demo-result>span{font-size:.8125rem;color:var(--teal);font-weight:750}.demo-result strong{font-size:2.6rem;color:var(--navy);line-height:1.2;padding:7px 0}.demo-result small{font-size:.875rem;color:var(--muted)}.choose-level{padding:30px 0 50px;border-top:1px solid var(--line)}.section-heading h2{margin:8px 0 26px;font-size:1.95rem}.level-route{display:grid;grid-template-columns:60px 1fr 125px;align-items:center;gap:25px;border-top:1px solid var(--line);padding:28px 10px;color:var(--ink);text-decoration:none;transition:background .15s}.level-route:last-child{border-bottom:1px solid var(--line)}.level-route:hover{background:#f0f9f9}.route-copy .eyebrow{font-size:.75rem}.route-copy h3{font-size:1.55rem;margin:7px 0}.route-copy p{margin:0;color:var(--muted);font-size:1rem}.route-action{font-size:.875rem;font-weight:750;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.route-symbol{height:54px;display:flex;align-items:flex-end;gap:5px;padding:9px}.route-symbol span{display:block;width:10px;height:15px;background:var(--bright);box-shadow:15px -9px 0 var(--navy),30px -20px 0 var(--navy)}.level-route:nth-of-type(1) .route-symbol span{box-shadow:none}.level-route:nth-of-type(2) .route-symbol span{box-shadow:15px -9px 0 var(--navy)}.learning-rhythm{padding:30px 0 35px}.learning-rhythm h2{max-width:650px}.learning-rhythm ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:25px 0;gap:35px}.learning-rhythm li{padding-top:17px}.learning-rhythm li>span{font-size:.8125rem;color:var(--teal);display:block;font-weight:750}.learning-rhythm strong{display:block;font-size:1.17rem;color:var(--navy);margin-top:5px}.learning-rhythm p{margin:8px 0;color:var(--muted)}.level-intro{padding:0 0 30px;border-bottom:1px solid var(--line)}.level-intro h1{margin:8px 0 14px}.level-intro>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.08rem}.level-count{font-size:.875rem;color:var(--muted);align-self:center}.path-group{margin:35px 0 42px}.path-heading{display:flex;align-items:center;gap:13px;padding:0 0 12px}.path-heading>span{color:var(--teal);font-size:.875rem;font-weight:800}.path-heading h3{font-size:1.05rem;margin:0}.lesson-list{list-style:none;padding:0;margin:0}.lesson-row{display:grid;grid-template-columns:35px 1fr 105px;gap:17px;align-items:center;text-decoration:none;padding:21px 12px;border-bottom:1px solid var(--line);color:var(--ink);transition:background .15s}.lesson-row:hover{background:#edf8f8}.row-number{font-size:.875rem;font-weight:750;color:var(--teal);font-variant-numeric:tabular-nums}.row-copy{min-width:0}.row-copy strong{display:block;font-size:1.12rem;line-height:1.4;color:var(--navy)}.row-copy>span{display:block;color:var(--muted);font-size:.925rem;line-height:1.55;margin-top:4px}.row-meta{text-align:right;font-size:.8125rem;color:var(--teal);font-weight:700}.row-meta small{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:4px}.readiness{border:0;border-top:1px solid var(--line);border-radius:0;padding:25px 0}.level-picker{display:grid;grid-template-columns:1fr;gap:0;margin:18px 0 23px}.level-picker a{justify-content:flex-start;gap:11px;min-height:44px;padding:9px 13px;font-size:.875rem;border:0;border-bottom:1px solid #d9e3e9;border-radius:0;background:transparent}.level-picker a:before{content:'01';font-size:.75rem;opacity:.75;font-variant-numeric:tabular-nums}.level-picker a:nth-child(2):before{content:'02'}.level-picker a:nth-child(3):before{content:'03'}.level-picker a[aria-current]{border-radius:4px}.sidebar-head{position:sticky;z-index:3;background:var(--paper);padding:14px 0;margin-top:-14px}.sidebar-close{align-items:center;gap:5px;flex:none;font-size:.8125rem;font-weight:700}.learning-menu-open{overflow:hidden}@media(max-width:980px){.sidebar-head{top:-20px}.sidebar-close{display:inline-flex!important;min-width:80px;min-height:44px;justify-content:center}.sidebar{overscroll-behavior:contain}.school-hero{gap:35px}.school-hero h1{font-size:3.2rem}body[data-page=landing] .content-wrap{padding-top:35px}}@media(max-width:640px){.school-hero{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.school-hero h1{font-size:2.9rem}.school-hero>div>p:not(.eyebrow){font-size:1rem}.learning-demo{margin-top:5px;padding-left:17px}.level-route{grid-template-columns:40px 1fr;gap:15px;padding:24px 0}.route-action{grid-column:2}.route-copy h3{font-size:1.4rem}.route-copy p{font-size:.925rem}.route-symbol{padding-left:0}.learning-rhythm ol{grid-template-columns:1fr;gap:18px}.learning-rhythm li{display:grid;grid-template-columns:30px 1fr;gap:0 12px}.learning-rhythm li>span{grid-row:1/3;padding-top:7px}.learning-rhythm li p{grid-column:2}.lesson-row{grid-template-columns:25px 1fr;gap:11px;padding:18px 3px}.row-meta{grid-column:2;text-align:left}.row-meta small{display:inline;margin-left:12px}.row-copy strong{font-size:1.05rem}.row-copy>span{font-size:.875rem}.section-heading h2{font-size:1.65rem}.level-intro h1{font-size:2.3rem}.hero-actions{gap:13px}.level-count{width:100%;margin-top:6px}}

.sidebar-head{top:0}
.school-hero{padding-bottom:38px}.school-hero h1{max-width:900px}.roadmap-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr);gap:42px;align-items:start}.roadmap-layout .learning-demo{margin-top:5px}.roadmap-layout .level-route{grid-template-columns:42px 1fr;gap:16px;padding:24px 5px}.roadmap-layout .route-action{grid-column:2}.roadmap-layout .route-copy h3{font-size:1.4rem}.roadmap-layout .route-symbol{padding-left:0}.choose-level .section-heading h2{max-width:820px;line-height:1.3}@media(max-width:760px){.roadmap-layout{grid-template-columns:1fr;gap:30px}.roadmap-layout .learning-demo{margin-top:0}.school-hero{padding-bottom:30px}}
.how-it-works{min-width:0}.how-it-works>h2{font-size:1.5rem;margin:0 0 18px}.demo-note{font-size:.875rem;color:var(--muted);margin:0 0 10px}.how-it-works .learning-demo{margin-top:0}.choose-level{padding-bottom:25px}
/* Restore the original navy roadmap banner and its quiet SQL backdrop. */
body[data-page=landing] .content-wrap{padding-top:32px}.school-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr);align-items:center;gap:28px;background:var(--navy);border-radius:24px;padding:clamp(25px,4vw,52px);margin-bottom:36px;min-height:360px;box-shadow:0 15px 40px #0b3c5d14}.school-hero-copy,.sql-hero-image{position:relative;z-index:1;min-width:0}.school-hero h1{color:white;font-size:clamp(2.6rem,4.8vw,4.25rem);line-height:1.08;margin:0 0 24px;letter-spacing:-.05em}.school-hero h1 span{color:#74e0da}.school-hero .landing-note{color:#c8dce8!important;margin-bottom:0}.school-hero a.primary{background:#c7f4f0;border-color:#c7f4f0;color:#083349;box-shadow:0 3px 0 #04283c}.school-hero a.primary:hover{background:#e1fffc}.school-hero a.secondary{background:transparent;border-color:#8eb3c4;color:white}.school-hero a.secondary:hover{background:#ffffff15}.sql-hero-image{display:block;width:100%;max-width:350px;height:auto;justify-self:center}.hero-keywords{position:absolute;z-index:0;bottom:-15px;right:-28px;white-space:nowrap;font-size:clamp(3.3rem,7.7vw,6.8rem);font-weight:900;letter-spacing:-.055em;color:#ffffff0e;line-height:1.15;pointer-events:none;user-select:none}.school-hero .hero-actions{margin-top:0}.school-hero+ .choose-level{border-top:0;padding-top:6px}@media(max-width:760px){.school-hero{grid-template-columns:minmax(0,1fr) minmax(170px,.65fr);padding:28px;gap:10px;min-height:0}.school-hero h1{font-size:2.75rem}.school-hero .hero-actions{gap:10px}.school-hero a.primary,.school-hero a.secondary{padding:9px 12px;font-size:.875rem}}@media(max-width:600px){.school-hero{grid-template-columns:1fr;gap:5px;border-radius:18px;padding:29px 24px 30px;margin-bottom:28px}.school-hero h1{font-size:2.65rem}.sql-hero-image{max-width:245px;margin-top:2px}.school-hero .landing-note{font-size:.8125rem!important}.hero-keywords{font-size:4rem;bottom:-8px}.school-hero .hero-actions{margin-top:19px}body[data-page=landing] .content-wrap{padding-top:22px}}

.relationship-map{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.relationship-map>div{border:1px solid #528591;padding:12px;flex:1;min-width:150px;background:#fff}.relationship-map ul{padding-left:18px;font-size:14px}.relationship-map figcaption{flex-basis:100%;font-size:14px}.stage-picker{display:block;margin-top:18px}.stage-picker select{max-width:100%;padding:10px;font:inherit}.topic-checks{margin:32px 0}.topic-checks details{border-bottom:1px solid #b7c9ce;padding:16px 0}.topic-checks fieldset{border:0;padding:12px 0}.topic-checks label{display:block;margin:10px 0}.lesson-section p{line-height:1.8}.sidebar-foot input{max-width:100%;font-size:12px}

.how-it-works .demo-label{display:block;font-size:1.4rem;line-height:1.3;font-weight:750;letter-spacing:0;color:var(--navy);background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:24px 0 14px}.how-it-works .demo-label>span{color:var(--teal);font-size:1rem;margin-right:5px}.how-it-works .demo-result{border:0;padding:16px 0 0;gap:6px}.how-it-works .demo-result>span{font-size:.875rem;font-weight:600;color:var(--muted)}.how-it-works .demo-result td{font-size:1rem;font-weight:400;color:var(--ink)}
