@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/assets/dm-sans-latin.woff2') format('woff2')}@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url('/assets/sora-latin.woff2') format('woff2')}
:root{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#13203a;--muted:#52617a;--line:#dce4ef;--soft:#f6f8fc;--mint:#3ddc97;--green:#075e40;--indigo:#3547c3;--focus:#a96700}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3{font-family:'Sora',sans-serif;letter-spacing:-.04em;line-height:1.35;margin:0;overflow-wrap:anywhere}p{margin:0}button{cursor:pointer}main:focus{outline:none}.welcome-header,main,.welcome-footer{width:min(1120px,calc(100% - 56px));margin-inline:auto}.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:750 1.45rem/1.25 'Sora',sans-serif;letter-spacing:-.045em;min-width:0}.brand>img{display:block;flex-shrink:0;width:40px;height:40px}.brand>span{min-width:0}.brand>span>span{color:var(--green)}.welcome-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:25px;font-size:.875rem;font-weight:650}.welcome-header nav>a:not(.action){display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.welcome-header nav>a:not(.action):hover{text-decoration:underline}.welcome-header .header-login{margin-left:14px}.action{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;border-radius:11px;padding:12px 22px;font-weight:750;text-decoration:none;line-height:1.4;border:1px solid transparent;transition:transform .15s,background .15s}.action.primary{background:var(--mint);color:#102e24;border-color:#2fb783;box-shadow:0 4px 0 #209e6d}.action.primary:hover{background:#61e7ac}.action.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #209e6d}.welcome-header .action{min-height:44px;font-size:.875rem;padding:10px 16px;gap:8px}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:76px;align-items:center;padding-block:64px 68px}.hero-copy{min-width:0}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:800;color:var(--muted);margin-bottom:15px}.hero h1{font-size:clamp(2.35rem,4.2vw,3.45rem);line-height:1.22;letter-spacing:-.055em;font-weight:800}.hero-description{font-size:1.05rem;line-height:1.9;margin-top:24px;max-width:43ch;color:var(--muted)}.hero-actions{display:flex;align-items:flex-start;gap:18px;flex-direction:column;margin-top:30px}.hero-actions .action{min-width:220px}.existing-account{display:inline-flex;align-items:center;min-height:44px;font-weight:650;font-size:.9rem;color:var(--muted)}.hero-note{font-size:.875rem;color:var(--muted);margin-top:25px;line-height:1.8;max-width:37ch}.lesson-preview{background:var(--surface);border:1px solid #cdd8ee;border-radius:22px;box-shadow:0 6px 0 #e2e8f4;overflow:hidden;min-width:0}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 24px;background:var(--soft);border-bottom:1px solid var(--line);color:var(--muted);font-size:.875rem}.preview-label{font-size:.75rem;letter-spacing:.09em;font-weight:800;color:var(--indigo)}.preview-content{padding:24px}.preview-step{color:var(--muted);font-size:.75rem;font-weight:700;margin-bottom:11px}.lesson-preview h2{font-size:1.45rem;line-height:1.45;margin-bottom:13px}.preview-content>p:not(.preview-step):not(.preview-footnote){font-size:1rem;line-height:1.8;color:var(--muted)}.responsibility-diagram{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);gap:8px;align-items:center;margin:20px 0 23px}.responsibility-diagram>div{min-width:0;display:grid;gap:6px}.diagram-owner{font-size:.875rem;font-weight:700;text-align:center;margin-bottom:2px}.diagram-piece{display:flex;align-items:center;justify-content:center;text-align:center;min-height:35px;padding:6px 7px;border:1px solid #d4dcee;border-radius:7px;background:#edf1ff;color:#2c408f;font-size:.875rem;line-height:1.5}.diagram-piece.your-piece{background:#e8f8ef;border-color:#c0e3d0;color:#176548}.diagram-divider{text-align:center;color:var(--muted);font-size:1rem}.preview-content fieldset{margin:0;padding:0;border:0;min-width:0;display:grid;gap:8px}.preview-content legend{font-size:1rem;font-weight:750;padding:0 0 12px;max-width:100%}.preview-option{display:flex;align-items:center;gap:12px;min-height:53px;padding:9px 12px;border:1px solid #cdd7e8;border-bottom:3px solid #dce3f0;border-radius:9px;cursor:pointer;color:var(--ink);background:var(--surface);line-height:1.45}.preview-option:hover{background:var(--soft);border-color:#90a1d7}.preview-option:has(input:checked){background:#edf0ff;border-color:#8799e4;box-shadow:inset 3px 0 #4b60d1}.preview-option:focus-within{outline:3px solid var(--focus);outline-offset:2px}.preview-option input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:var(--indigo)}.preview-option>span{min-width:0}.preview-option strong{font-size:.875rem;font-weight:800;display:block}.preview-option small{display:block;color:var(--muted);font-size:.875rem;margin-top:2px}.preview-option:has(input:disabled){cursor:default}.preview-check{display:block;width:100%;min-height:46px;border:1px solid #3142b8;border-radius:10px;background:var(--indigo);color:#fff;font-weight:750;font-size:.875rem;margin-top:17px;box-shadow:0 3px 0 #22318e;transition:background .15s,transform .15s}.preview-check:hover:not(:disabled){background:#2636aa}.preview-check:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #22318e}.preview-check:disabled{color:#58647d;background:#eef1f8;border-color:#d0d9e9;box-shadow:0 3px 0 #dce3ef;cursor:default}.preview-feedback{padding:15px;border:1px solid #c5d2ed;border-radius:10px;margin-top:16px;background:#f0f4fd;color:#314c7a;font-size:1rem;line-height:1.75}.preview-feedback[data-correct=true]{background:#e9f9ef;border-color:#b6dec7;color:#145f40}.preview-feedback strong{font-weight:800;display:block;margin-bottom:6px}.preview-feedback p{margin:0}.preview-feedback a{display:inline-flex;align-items:center;min-height:44px;font-weight:750;margin-top:4px}.preview-footnote{font-size:.75rem!important;line-height:1.7!important;color:var(--muted);margin-top:17px;text-align:center}.how-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:1.65rem}.learning-steps{padding:0;margin:30px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.learning-steps li{display:flex;gap:14px;min-width:0}.step-number{display:grid;place-items:center;width:33px;height:35px;flex-shrink:0;border-radius:9px;background:#e8f8ef;color:#155e43;font:700 .75rem/1 'Sora',sans-serif}.learning-steps h3{font-size:.95rem;margin:3px 0 9px}.learning-steps p{font-size:1rem;color:var(--muted);line-height:1.8}.courses-section{padding:45px 0 56px}.courses-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px}.courses-heading>p{font-size:.875rem;line-height:1.8;color:var(--muted);max-width:28ch}.course-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.course-preview{display:flex;align-items:center;gap:16px;min-width:0;min-height:129px;padding:22px 4px;border-top:1px solid var(--line);text-decoration:none}.course-preview:hover .course-copy h3{text-decoration:underline;text-underline-offset:4px}.course-code{display:flex;flex-direction:column;justify-content:center;align-items:center;width:55px;height:58px;flex-shrink:0;font:750 1rem/1.35 'Sora',sans-serif;background:#edf0ff;color:#384da3;border:1px solid #d3dcf1;border-bottom:3px solid #c7d1ec;border-radius:12px;text-align:center}.course-code b{font-size:.75rem;font-weight:700}.support-code{background:#e9f6f1;color:#24684b;border-color:#cee5da}.network-code{background:#eaf3ff;color:#305c8b;border-color:#d1e0f3}.security-code{background:#f1edff;color:#655091;border-color:#ded5f4}.aws-code{background:#fff3df;color:#795c23;border-color:#ecdec3;font-size:.75rem}.course-copy{min-width:0;flex:1}.course-copy small{font-size:.75rem;color:var(--muted);display:block;margin-bottom:5px}.course-copy h3{font-size:.94rem;line-height:1.5}.course-copy p{font-size:.875rem;color:var(--muted);line-height:1.75;margin-top:5px}.welcome-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 36px}.footer-brand{font-size:1.03rem;gap:8px}.footer-brand>img{width:30px;height:30px}.welcome-footer p{font-size:.75rem;line-height:1.8;color:var(--muted)}.welcome-footer>a:last-child{font-size:.75rem;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:650}.skip-link{position:absolute;top:10px;left:16px;z-index:10;padding:12px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}[hidden]{display:none!important}
[data-theme=dark]{color-scheme:dark;--bg:#0e192c;--surface:#19273f;--ink:#eff4fc;--muted:#b8c7df;--line:#3e5171;--soft:#152239;--green:#83e8b5;--indigo:#c9d2ff;--focus:#f5c775}[data-theme=dark] .lesson-preview{border-color:#506384;box-shadow:0 6px 0 #0a1323}[data-theme=dark] .preview-check{background:#3547c3;color:#fff;border-color:#8290e9}[data-theme=dark] .preview-check:disabled{background:#253651;color:#bdc9de;border-color:#4e6182;box-shadow:0 3px 0 #0d172b}[data-theme=dark] .preview-option:has(input:checked){background:#293b64;border-color:#8da2ec}[data-theme=dark] .preview-feedback{background:#22385b;color:#d1e2ff;border-color:#526c96}[data-theme=dark] .preview-feedback[data-correct=true]{background:#1d4037;color:#b6f4d2;border-color:#4b836b}[data-theme=dark] .diagram-piece{background:#273959;color:#cbdcff;border-color:#5b7296}[data-theme=dark] .your-piece,[data-theme=dark] .step-number{background:#1b4034;color:#b8edcf;border-color:#497d63}[data-theme=dark] .course-code{background:#2b385d;color:#d2dcff;border-color:#53658c}[data-theme=dark] .support-code{background:#244036;color:#b8ead0;border-color:#507b65}[data-theme=dark] .network-code{background:#233d5c;color:#c0ddff;border-color:#536e96}[data-theme=dark] .security-code{background:#3a3155;color:#ded2fb;border-color:#6a5a8d}[data-theme=dark] .aws-code{background:#453922;color:#f0d79e;border-color:#8b7547}
[data-reading-size=large]{font-size:18px}[data-reading-size=extra]{font-size:20px}@media(max-width:1000px){.hero{gap:40px}.hero h1{font-size:2.8rem}.welcome-header nav{gap:18px}.welcome-header .header-login{margin-left:0}.welcome-header .brand{font-size:1.25rem}.courses-heading h2{max-width:22ch}}@media(max-width:800px){.welcome-header,main,.welcome-footer{width:calc(100% - 44px)}.nav-how,.header-start{display:none!important}.hero{grid-template-columns:minmax(0,1fr);gap:35px;padding:42px 0}.hero-copy{max-width:600px}.hero h1{font-size:2.65rem}.hero h1 br:nth-of-type(2){display:none}.hero-description{max-width:46ch;margin-top:18px}.hero-actions{flex-direction:row;flex-wrap:wrap;gap:12px 20px;margin-top:24px}.hero-actions .action{min-width:190px}.hero-note{margin-top:16px;max-width:none}.lesson-preview{max-width:480px;width:100%;justify-self:center}.learning-steps{grid-template-columns:minmax(0,1fr);gap:22px}.learning-steps p{max-width:56ch}.how-section{padding:32px 0}.courses-heading{display:block}.courses-heading>p{margin-top:12px;max-width:48ch}.course-previews{grid-template-columns:minmax(0,1fr)}.courses-section{padding:35px 0}.course-preview{min-height:113px}.welcome-footer{flex-wrap:wrap;gap:16px}.welcome-footer p{flex:1;min-width:200px}.welcome-footer>a:last-child{flex-basis:100%}}@media(max-width:420px){.welcome-header,main,.welcome-footer{width:calc(100% - 32px)}.welcome-header{padding-block:20px;gap:12px;flex-wrap:wrap}.welcome-header .brand{font-size:1.15rem;gap:7px}.welcome-header .brand img{width:34px;height:34px}.welcome-header nav{gap:15px;font-size:.875rem}.nav-courses{display:none!important}.hero{padding:34px 0 37px;gap:29px}.hero h1{font-size:2.15rem}.hero-description{font-size:1rem;line-height:1.85}.hero-actions{flex-direction:column;gap:8px}.hero-actions .action{width:100%;min-width:0}.existing-account{width:100%;justify-content:center;font-size:.875rem}.hero-note{font-size:.875rem}.preview-top{padding:14px 18px;font-size:.75rem}.preview-content{padding:20px 18px}.lesson-preview h2{font-size:1.3rem}.responsibility-diagram{gap:6px}.diagram-piece{font-size:.875rem;padding:6px 4px}.section-heading h2{font-size:1.35rem}.course-preview{gap:12px;padding:18px 0}.course-code{width:46px;height:50px;font-size:.9rem}.course-copy h3{font-size:.875rem}.course-copy small{font-size:.75rem}.course-copy p{font-size:.875rem}.welcome-footer{padding-block:23px}.welcome-footer p{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
