
:root{--bg:#07111f;--panel:#0d1b2c;--panel2:#10243a;--ink:#f6fbff;--muted:#a9bdd0;--accent:#56d8ff;--accent2:#8b7cff;--success:#6ee7a8;--warning:#ffd166;--danger:#ff7a90;--line:rgba(255,255,255,.10);--shadow:0 22px 55px rgba(0,0,0,.28);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 10%,rgba(86,216,255,.10),transparent 25%),radial-gradient(circle at 90% 5%,rgba(139,124,255,.10),transparent 24%),linear-gradient(180deg,#07111f 0%,#081727 100%)}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.site-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);background:rgba(7,17,31,.90);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:18px;min-height:72px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.crest{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#05111f;font-weight:900;box-shadow:0 10px 25px rgba(86,216,255,.18)}.course-progress{flex:1;display:flex;align-items:center;gap:12px}.progress-track{height:8px;flex:1;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:var(--progress);background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.progress-label{color:var(--muted);font-size:.86rem;white-space:nowrap}.menu-btn{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:8px 11px}.course-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.course-nav a{text-decoration:none;color:var(--muted);font-size:.82rem;padding:7px 10px;border:1px solid transparent;border-radius:999px}.course-nav a:hover{color:var(--ink);border-color:var(--line)}.course-nav a.active{color:#07111f;background:var(--accent);font-weight:800}
main{padding:44px 0 70px}.lesson-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}.eyebrow{color:var(--accent);font-size:.83rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}h1{font-size:clamp(2.55rem,6vw,5.2rem);line-height:.96;letter-spacing:-.052em;margin:.16em 0 .24em;max-width:880px}h2{font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.033em;margin:.2em 0 .55em}h3{margin:.25em 0 .35em;font-size:1.13rem}p{color:var(--muted);line-height:1.65;font-size:1.02rem}.lede{font-size:clamp(1.08rem,1.6vw,1.25rem);max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:14px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--accent),#8cf0ff);color:#03121b;box-shadow:0 12px 30px rgba(86,216,255,.18)}.btn-secondary{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--ink)}.visual-card{position:relative;min-height:500px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,42,66,.95),rgba(9,27,45,.97));border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.visual-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,black,transparent);pointer-events:none}.visual-title{position:absolute;left:22px;top:18px;right:22px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.card{background:rgba(13,27,44,.76);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 14px 34px rgba(0,0,0,.12)}.card p{margin-bottom:0}.icon,.node-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(86,216,255,.12);border:1px solid rgba(86,216,255,.2);font-size:1.25rem}.icon{margin-bottom:14px}.key-point{margin-top:28px;padding:18px 20px;border-left:4px solid var(--accent);background:rgba(86,216,255,.07);border-radius:0 16px 16px 0;color:var(--muted)}.key-point strong{color:var(--ink)}.quiz{margin-top:34px;background:linear-gradient(180deg,rgba(13,27,44,.86),rgba(11,24,39,.94));border:1px solid var(--line);padding:24px;border-radius:24px}.quiz-options{display:grid;gap:10px;margin-top:14px}.quiz-option{text-align:left;color:var(--ink);background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:13px 15px}.quiz-option:hover{background:rgba(255,255,255,.075)}.quiz-option.correct{border-color:rgba(110,231,168,.7);background:rgba(110,231,168,.11)}.quiz-option.wrong{border-color:rgba(255,122,144,.7);background:rgba(255,122,144,.1)}.quiz-feedback{min-height:27px;margin-top:12px;color:var(--muted);font-weight:700}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}.lesson-footer .btn{min-width:155px}
/* Shared loop visuals for Lessons 1 and 3 */
.loop-stage{position:absolute;inset:54px 14px 14px}.loop-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.loop-track{fill:none;stroke-width:4;stroke-linecap:round;opacity:.78}.request-track{stroke:rgba(255,209,102,.65);stroke-dasharray:8 9}.response-track{stroke:rgba(110,231,168,.65);stroke-dasharray:8 9}.request-dot{fill:var(--warning)}.response-dot{fill:var(--success)}.loop-node{position:absolute;z-index:3;width:142px;min-height:116px;padding:14px 12px;border-radius:20px;background:rgba(7,21,35,.93);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 26px rgba(0,0,0,.22);display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.loop-node b{font-size:.9rem}.loop-node span{color:var(--muted);font-size:.71rem;line-height:1.35}.node-client{left:2%;top:39%}.node-server{right:2%;top:39%}.node-internet{left:18%;top:3%}.node-api{right:15%;top:2%;width:165px;min-height:144px;background:linear-gradient(180deg,rgba(18,61,82,.95),rgba(22,39,71,.95));border-color:rgba(86,216,255,.34)}.mini-contract{width:100%;margin-top:4px;padding-top:7px;border-top:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:auto 1fr;gap:3px 6px;text-align:left}.mini-contract small{color:var(--accent);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mini-contract code{font-size:.62rem;color:#dceeff}.loop-pill,.example-pill{position:absolute;z-index:4;border-radius:16px;padding:10px 12px;background:rgba(7,17,31,.92);border:1px solid rgba(255,255,255,.10);box-shadow:0 10px 22px rgba(0,0,0,.18)}.loop-pill{width:230px}.loop-pill strong,.example-pill strong{display:block;font-size:.8rem;color:var(--ink);margin-bottom:3px}.loop-pill span{display:block;color:var(--muted);font-size:.7rem;line-height:1.35}.pill-request{left:50%;top:47%;transform:translateX(-50%);border-color:rgba(255,209,102,.35)}.pill-response{left:50%;bottom:3%;transform:translateX(-50%);border-color:rgba(110,231,168,.35)}
/* Lesson 2 */
.capability-network{position:absolute;inset:56px 14px 14px}.network-svg{position:absolute;inset:0;width:100%;height:100%}.network-svg line{stroke:rgba(86,216,255,.28);stroke-width:4;stroke-linecap:round}.network-hub{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:205px;min-height:205px;border-radius:32px;padding:18px;background:linear-gradient(145deg,rgba(86,216,255,.95),rgba(139,124,255,.92));color:#06111e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;z-index:4;box-shadow:0 18px 45px rgba(0,0,0,.22);animation:hubPulse 2.8s ease-in-out infinite}.hub-badge{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.38);font-size:1.35rem}.network-hub strong{font-size:1rem}.network-hub small{font-size:.72rem;color:rgba(6,17,30,.72);font-weight:700}.network-hub ul{list-style:none;margin:4px 0 0;padding:0;width:100%;display:grid;gap:5px}.network-hub li{font-size:.72rem;font-weight:800;padding:5px 8px;background:rgba(255,255,255,.34);border-radius:999px}.network-spoke{position:absolute;width:130px;min-height:86px;border-radius:20px;padding:12px;background:rgba(7,21,35,.92);border:1px solid var(--line);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}.network-spoke b{font-size:.85rem}.network-spoke span{font-size:.68rem;color:var(--muted)}.spoke-1{left:2%;top:5%}.spoke-2{right:2%;top:5%}.spoke-3{left:2%;bottom:11%}.spoke-4{right:2%;bottom:11%}.network-particle{position:absolute;width:12px;height:12px;border-radius:50%;background:#e4fbff;box-shadow:0 0 16px rgba(228,251,255,.9);z-index:5}.np1{animation:np1 3.6s linear infinite}.np2{animation:np2 3.6s linear infinite .7s}.np3{animation:np3 3.6s linear infinite 1.4s}.np4{animation:np4 3.6s linear infinite 2.1s}.network-summary{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:70%;text-align:center;color:var(--muted);font-size:.72rem;line-height:1.4}.lesson2-card{min-height:500px}@keyframes hubPulse{50%{transform:translate(-50%,-50%) scale(1.025);box-shadow:0 22px 55px rgba(86,216,255,.16)}}@keyframes np1{0%{left:49%;top:44%;opacity:0}10%{opacity:1}100%{left:18%;top:20%;opacity:0}}@keyframes np2{0%{left:51%;top:44%;opacity:0}10%{opacity:1}100%{left:80%;top:20%;opacity:0}}@keyframes np3{0%{left:49%;top:48%;opacity:0}10%{opacity:1}100%{left:18%;top:76%;opacity:0}}@keyframes np4{0%{left:51%;top:48%;opacity:0}10%{opacity:1}100%{left:80%;top:76%;opacity:0}}
/* Lesson 3 */
.node-api-simple{left:50%;right:auto;top:4%;transform:translateX(-50%);min-height:112px;width:150px}.lesson3-loop .node-server{right:3%;top:39%}.lesson3-loop .node-client{left:3%;top:39%}.example-pill{width:245px}.example-pill code{display:block;color:#dceeff;font-size:.68rem;white-space:normal}.example-request{left:50%;top:43%;transform:translateX(-50%);border-color:rgba(255,209,102,.35)}.example-response{left:50%;bottom:5%;transform:translateX(-50%);border-color:rgba(110,231,168,.35)}
/* Lesson 4 */
.lab{position:absolute;inset:58px 18px 18px;display:grid;grid-template-columns:.92fr 1.08fr;gap:14px}.lab-pane{border:1px solid var(--line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04)}.lab-row{display:flex;gap:8px;margin-bottom:10px}.lab select,.lab input{width:100%;background:#071523;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px}.console{height:185px;overflow:auto;background:#06101b;border-radius:14px;padding:14px;color:#bcd2e6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.77rem;white-space:pre-wrap;border:1px solid rgba(255,255,255,.07)}.send-btn{width:100%;margin-top:8px}.try-banner{display:inline-flex;margin-bottom:10px;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.24);color:#ffe29b;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:900}.lab-step{display:flex;align-items:center;gap:10px;margin:12px 0 8px}.lab-step strong{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;background:rgba(86,216,255,.12);border:1px solid rgba(86,216,255,.22)}.lab-step span{color:var(--muted);font-weight:700;font-size:.86rem}.lab-hint{font-size:.78rem;margin:.8rem 0 0}.mini-request{margin-top:12px;padding:10px 11px;border-radius:12px;background:#06101b;border:1px solid rgba(255,255,255,.08);color:#bcd2e6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.weather-cards{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.weather-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;padding:12px}.weather-card small{display:block;color:var(--muted);margin-bottom:4px}.weather-card strong{font-size:1rem}
/* Lesson 5 */
.json-packaging{position:absolute;inset:60px 18px 18px;display:grid;grid-template-columns:.9fr 110px 1.2fr;gap:14px;align-items:center}.json-side{border:1px solid var(--line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04);min-height:300px}.json-side>strong{display:block;margin-bottom:14px}.data-chip{padding:10px 12px;border-radius:14px;margin:10px 0;background:rgba(86,216,255,.10);border:1px solid rgba(86,216,255,.19);font-size:.78rem;font-weight:800;display:flex;justify-content:space-between;gap:10px;animation:sourceGlow 8s ease-in-out infinite}.data-chip span{color:#dff9ff}.c2{animation-delay:2s}.c3{animation-delay:4s}.c4{animation-delay:6s}.json-packager{width:90px;height:110px;border-radius:26px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#06111e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;box-shadow:0 14px 34px rgba(0,0,0,.2)}.json-packager span{font-size:1.65rem;font-weight:900}.json-packager b{font-size:.86rem}.json-packager small{font-size:.62rem;line-height:1.25;width:70px}.code-box{background:#06101b;border:1px solid var(--line);border-radius:16px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#c7d7e7;font-size:.74rem;line-height:1.8}.json-line{border-radius:7px;animation:jsonGlow 8s ease-in-out infinite}.jl2{animation-delay:2s}.jl3{animation-delay:4s}.jl4{animation-delay:6s}.key-token{color:#95e9ff}.value-token{color:#d7ceff}.punct{color:#8ca4b8}.package-arrow{position:absolute;left:32%;color:var(--accent);font-weight:900;opacity:.2;animation:arrowPackage 8s ease-in-out infinite}.pa1{top:28%}.pa2{top:41%;animation-delay:2s}.pa3{top:54%;animation-delay:4s}.pa4{top:67%;animation-delay:6s}@keyframes sourceGlow{0%,18%,100%{background:rgba(86,216,255,.10);transform:translateX(0)}8%{background:rgba(86,216,255,.23);transform:translateX(5px)}}@keyframes jsonGlow{0%,18%,100%{background:transparent}8%{background:rgba(139,124,255,.18)}}@keyframes arrowPackage{0%,18%,100%{opacity:.18;transform:translateX(0)}8%{opacity:1;transform:translateX(8px)}}
/* Lesson 6 */
.auth-stage{position:absolute;inset:58px 18px 18px}.auth-api-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px}.auth-side{min-height:165px;border-radius:22px;padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}.auth-side b{margin-top:7px}.auth-side span{color:var(--muted);font-size:.76rem;line-height:1.4}.auth-bridge{position:absolute;left:22%;right:22%;top:45%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,209,102,.55),rgba(255,209,102,.9),transparent)}.auth-door{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:112px;height:145px;z-index:4}.door-panel{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,rgba(139,124,255,.36),rgba(86,216,255,.16));border:1px solid rgba(139,124,255,.35)}.door-panel.left{left:0;border-radius:18px 0 0 18px;animation:doorL 3.4s ease-in-out infinite}.door-panel.right{right:0;border-radius:0 18px 18px 0;animation:doorR 3.4s ease-in-out infinite}.door-label{position:absolute;bottom:-27px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.66rem;letter-spacing:.08em;white-space:nowrap}.key{position:absolute;z-index:6;font-size:2.8rem}.key-to-api{left:15%;top:39%;animation:keyUnlock 3.4s ease-in-out infinite}.access{position:absolute;left:50%;transform:translateX(-50%);bottom:12%;padding:7px 11px;border-radius:999px;background:rgba(110,231,168,.12);color:var(--success);font-size:.72rem;font-weight:900;opacity:.2;animation:grant 3.4s ease-in-out infinite}.auth-note{position:absolute;left:0;right:0;text-align:center;color:var(--muted);font-size:.72rem}.auth-note.top{top:5px}.auth-note.bottom{bottom:3px}@keyframes keyUnlock{0%,12%{left:15%;transform:rotate(0)}45%,65%{left:43%;transform:rotate(-20deg)}100%{left:15%;transform:rotate(0)}}@keyframes doorL{0%,36%,100%{transform:translateX(0)}52%,80%{transform:translateX(-18px)}}@keyframes doorR{0%,36%,100%{transform:translateX(0)}52%,80%{transform:translateX(18px)}}@keyframes grant{0%,42%,100%{opacity:.2}58%,82%{opacity:1}}
/* Lesson 7 */
.usecase-stage{position:absolute;inset:60px 18px 40px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.usecase{border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,.04);position:relative;overflow:hidden}.usecase .uicon{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:15px;background:rgba(86,216,255,.1);font-size:1.3rem}.usecase b{font-size:.9rem}.usecase small{color:var(--muted);font-size:.72rem;line-height:1.35}.usecase:after{content:"";position:absolute;left:-45%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:scan 5s linear infinite}.usecase:nth-child(2):after{animation-delay:1.2s}.usecase:nth-child(3):after{animation-delay:2.4s}.usecase:nth-child(4):after{animation-delay:3.6s}.interzoid-caption{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:var(--muted);font-size:.72rem}@keyframes scan{to{left:125%}}
/* Lesson 8 */
.graduation{position:absolute;inset:56px 16px 16px;display:grid;place-items:center}.professional-graduation{z-index:2}.certificate-stage{width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}.certificate{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(240,246,252,.95));color:#10243a;border-radius:24px;padding:26px 26px 28px;border:1px solid rgba(255,255,255,.6);box-shadow:0 22px 55px rgba(0,0,0,.18);text-align:left}.certificate:before{content:"";position:absolute;inset:11px;border:2px solid rgba(86,216,255,.30);border-radius:17px;pointer-events:none}.certificate-head{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#487197}.certificate-title{margin-top:8px;font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.certificate-text{margin-top:12px;line-height:1.55;color:#35546f;font-size:.86rem;max-width:90%}.certificate-recipient{margin-top:19px;font-size:1.2rem;font-weight:800}.certificate-footer{margin-top:21px;padding-top:13px;border-top:1px solid rgba(16,36,58,.12);display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:#557894;font-weight:700}.seal{position:absolute;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#06111e;font-weight:900}.grad-figure{text-align:center}.grad-badge{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(86,216,255,.16),rgba(139,124,255,.18));border:1px solid rgba(86,216,255,.25);font-size:4.2rem;animation:gradFloat 2.8s ease-in-out infinite}.grad-figure p{font-size:.9rem}.confetti{position:absolute;width:5px;height:9px;border-radius:2px;top:-14px;animation:fall linear infinite;opacity:.28;z-index:1}.cta-panel{margin-top:34px;border:1px solid rgba(86,216,255,.24);background:linear-gradient(145deg,rgba(86,216,255,.08),rgba(139,124,255,.08));border-radius:28px;padding:28px;text-align:center}.cta-panel p{max-width:750px;margin:0 auto 18px}@keyframes gradFloat{50%{transform:translateY(-6px)}}@keyframes fall{to{transform:translateY(480px) rotate(540deg)}}
@media(max-width:860px){.lesson-hero{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.course-progress{display:none}.menu-btn{display:inline-flex;margin-left:auto}.course-nav{display:none;padding-bottom:13px}.course-nav.open{display:flex}.visual-card{min-height:560px}.loop-node{width:125px}.node-client{left:1%}.node-server{right:1%}.node-internet{left:16%}.node-api{right:13%}.loop-pill{width:200px}.pill-request{left:50%}.pill-response{left:50%;right:auto}.network-summary{width:82%}.lab{grid-template-columns:1fr}.lesson4-card{min-height:690px}.json-packaging{grid-template-columns:1fr;align-items:start}.lesson5-card{min-height:840px}.json-side{min-height:auto}.json-packager{margin:0 auto;width:90px;height:82px}.package-arrow{display:none}.auth-api-stage{grid-template-columns:1fr;gap:12px}.lesson6-card{min-height:620px}.auth-bridge,.auth-door,.auth-note{display:none}.key-to-api{position:relative;left:auto;top:auto;animation:none;margin:auto}.access{bottom:10px}.certificate-stage{grid-template-columns:1fr}.lesson8-card{min-height:760px}}
@media(max-width:560px){.site-shell{width:min(100% - 22px,1180px)}.brand span:last-child{display:none}main{padding-top:28px}.visual-card{min-height:660px}.lesson-footer{flex-direction:column;align-items:stretch}.lesson-footer .btn{width:100%}.loop-svg{display:none}.loop-stage{display:flex;flex-direction:column;gap:10px;padding-top:8px}.loop-node,.loop-pill,.example-pill{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%;min-height:auto}.node-api{width:100%}.mini-contract{grid-template-columns:90px 1fr}.lesson1-card,.lesson3-card{min-height:720px}.capability-network{display:grid;grid-template-columns:1fr;gap:10px;padding-top:8px}.network-svg,.network-particle{display:none}.network-hub,.network-spoke,.network-summary{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:100%;min-height:auto}.lesson2-card{min-height:720px}.weather-cards{grid-template-columns:1fr}.lesson4-card{min-height:780px}.lesson5-card{min-height:850px}.usecase-stage{grid-template-columns:1fr}.lesson7-card{min-height:620px}.certificate{padding:21px}.certificate-title{font-size:1.55rem}.certificate-text{max-width:100%}.certificate-footer{flex-direction:column}.lesson8-card{min-height:760px}}


/* University home and multi-course shell */
.university-home{background:radial-gradient(circle at 12% 0%,rgba(86,216,255,.13),transparent 26%),radial-gradient(circle at 88% 2%,rgba(139,124,255,.12),transparent 26%),linear-gradient(180deg,#07111f 0%,#081727 100%)}
.home-topbar{position:sticky;top:0;z-index:30;background:rgba(7,17,31,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.home-topbar-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850;letter-spacing:-.02em}
.home-nav{display:flex;align-items:center;gap:20px}.home-nav a{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:700}.home-nav a:hover{color:var(--ink)}
.home-main{padding:0 0 70px}.home-hero{padding-top:44px;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center;min-height:610px}
.logo-showcase{background:#fff;border-radius:34px;min-height:360px;display:grid;place-items:center;padding:24px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.6)}
.logo-showcase img{display:block;width:112%;max-width:none;height:auto;transform:scale(1.02)}
.home-hero-copy h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.94;margin:.18em 0 .24em;letter-spacing:-.055em}.home-lede{font-size:clamp(1.08rem,1.6vw,1.26rem);max-width:680px}
.home-section{padding-top:72px}.section-heading{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:end;margin-bottom:24px}.section-heading h2{margin:.2em 0 0;font-size:clamp(2rem,4vw,3.4rem)}.section-heading>p{margin:0 0 6px}
.course-card{border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,rgba(16,36,58,.96),rgba(10,28,46,.96));box-shadow:var(--shadow);overflow:hidden}.featured-course{display:grid;grid-template-columns:1.08fr .92fr}.course-card-main{padding:34px}.course-status{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(110,231,168,.09);border:1px solid rgba(110,231,168,.2);color:var(--success);font-size:.78rem;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 14px rgba(110,231,168,.7)}.course-number{margin-top:28px;color:var(--accent);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.course-card h3{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.045em;margin:.15em 0 .22em}.course-summary{font-size:1.08rem;max-width:670px}.course-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.course-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:750}.curriculum-panel{padding:34px;background:rgba(5,17,29,.5);border-left:1px solid var(--line)}.curriculum-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:850;margin-bottom:14px}.curriculum-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.curriculum-list li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:9px;padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}.curriculum-list span{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.curriculum-list b{font-size:.9rem;font-weight:750}
.future-learning{margin-top:26px;display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;padding:28px;border:1px solid var(--line);border-radius:28px;background:rgba(13,27,44,.56)}.future-copy h2{margin:.2em 0 .3em}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.future-card{min-height:150px;border:1px dashed rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:var(--muted)}.future-card span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(86,216,255,.08);color:var(--accent);font-size:1.3rem}.future-card strong{color:var(--ink);font-size:.9rem}.future-card small{font-size:.74rem}
.home-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.principle{padding:24px;border:1px solid var(--line);border-radius:24px;background:rgba(13,27,44,.6)}.principle-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(86,216,255,.1);border:1px solid rgba(86,216,255,.18);color:var(--accent);font-weight:900;margin-bottom:12px}.principle p{margin-bottom:0}
.home-footer{border-top:1px solid var(--line);background:rgba(5,15,26,.6)}.home-footer .site-shell{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:.84rem}.home-footer a{color:var(--accent);text-decoration:none;font-weight:800}
.course-brand .brand-copy{display:flex;flex-direction:column;line-height:1.05}.course-brand .brand-copy strong{font-size:.95rem}.course-brand .brand-copy small{margin-top:4px;color:var(--muted);font-size:.68rem;font-weight:650}.university-home-link{text-decoration:none;color:var(--muted);font-size:.8rem;font-weight:750;padding:8px 10px;border:1px solid var(--line);border-radius:11px;white-space:nowrap}.university-home-link:hover{color:var(--ink);background:rgba(255,255,255,.04)}.footer-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:32px}.logo-showcase{min-height:280px}.section-heading{grid-template-columns:1fr}.featured-course{grid-template-columns:1fr}.curriculum-panel{border-left:0;border-top:1px solid var(--line)}.future-learning{grid-template-columns:1fr}.home-principles{grid-template-columns:1fr}.university-home-link{display:none}}
@media(max-width:620px){.home-nav a:last-child{display:none}.home-hero{gap:24px}.logo-showcase{min-height:210px;padding:10px;border-radius:24px}.logo-showcase img{width:126%}.home-section{padding-top:52px}.course-card-main,.curriculum-panel{padding:24px}.future-grid{grid-template-columns:1fr}.home-footer .site-shell{flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 0}.course-brand .brand-copy small{display:none}.course-brand .brand-copy strong{font-size:.88rem}}


/* ===== API University launch home: single-course, all-audiences ===== */
.launch-home{background:radial-gradient(circle at 15% 5%,rgba(31,164,255,.16),transparent 30%),radial-gradient(circle at 82% 14%,rgba(68,111,255,.11),transparent 26%),linear-gradient(180deg,#061321 0%,#071827 58%,#061321 100%)}
.launch-home .home-topbar{background:rgba(6,19,33,.88);border-bottom:1px solid rgba(112,194,255,.12)}
.home-logo-link{display:block;width:230px;line-height:0}.home-logo-link img{display:block;width:100%;height:auto}.launch-home .home-nav{gap:10px}.launch-home .home-nav a{padding:9px 12px;border-radius:11px}.launch-home .home-nav a:first-child{color:#eaf7ff;background:rgba(65,180,255,.08);border:1px solid rgba(88,197,255,.16)}
.launch-hero{min-height:675px;padding:72px 0 50px;display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:center}.launch-copy{position:relative;z-index:2}.hero-university-logo{width:min(590px,92%);height:auto;display:block;margin:0 0 28px}.launch-copy h1{font-size:clamp(3.25rem,5.8vw,5.8rem);line-height:.94;margin:.16em 0 .25em;letter-spacing:-.058em}.launch-copy h1 span{background:linear-gradient(90deg,#65d3ff,#9fe8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.launch-copy .home-lede{max-width:760px;font-size:clamp(1.08rem,1.45vw,1.25rem)}.audience-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.audience-row span{font-size:.75rem;font-weight:760;color:#9cb8cc;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.api-hero-visual{position:relative;min-height:510px;border:1px solid rgba(105,196,255,.15);border-radius:34px;background:radial-gradient(circle at 50% 48%,rgba(36,171,255,.16),transparent 33%),linear-gradient(180deg,rgba(12,37,61,.82),rgba(7,26,44,.9));box-shadow:0 30px 75px rgba(0,0,0,.28);overflow:hidden}.hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(86,216,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(86,216,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at center,black,transparent 78%)}.hero-connections{position:absolute;inset:22px 12px 70px;width:calc(100% - 24px);height:calc(100% - 92px);z-index:1}.hero-connections path{fill:none;stroke:rgba(80,202,255,.55);stroke-width:2;stroke-dasharray:7 8;animation:dashFlow 10s linear infinite}.api-core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:3;width:190px;height:190px;border-radius:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#21b7f2,#2f7ee9 62%,#2858cc);border:1px solid rgba(182,233,255,.45);box-shadow:0 22px 50px rgba(22,127,223,.28),0 0 55px rgba(45,185,255,.16);animation:coreFloat 4.2s ease-in-out infinite}.api-core small{font-size:.64rem;letter-spacing:.12em;font-weight:900;color:rgba(4,27,48,.72)}.api-core strong{font-size:4.8rem;line-height:1;color:white;letter-spacing:-.06em;text-shadow:0 5px 25px rgba(0,0,0,.15)}.api-core span{font-size:.72rem;font-weight:800;color:#dbf5ff}.hero-node{position:absolute;z-index:3;width:116px;height:90px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(10,39,65,.9);border:1px solid rgba(90,199,255,.25);color:#9fe3ff;font-size:1.35rem;box-shadow:0 16px 34px rgba(0,0,0,.18)}.hero-node b{font-size:.76rem;letter-spacing:.04em;color:#dcedf7}.node-app{left:7%;top:9%}.node-data{left:5%;bottom:17%}.node-systems{right:6%;top:9%}.node-ai{right:5%;bottom:17%}.hero-pulse{position:absolute;z-index:4;width:10px;height:10px;border-radius:50%;background:#dff7ff;box-shadow:0 0 18px #56d8ff;offset-rotate:0deg}.hp1{offset-path:path('M300 230 C210 155 170 110 120 86');animation:nodePulse 4.6s linear infinite}.hp2{offset-path:path('M300 230 C205 290 155 345 110 375');animation:nodePulse 4.6s linear infinite 1.1s}.hp3{offset-path:path('M300 230 C395 155 445 110 490 86');animation:nodePulse 4.6s linear infinite 2.2s}.hp4{offset-path:path('M300 230 C400 290 450 345 495 375');animation:nodePulse 4.6s linear infinite 3.3s}.hero-visual-caption{position:absolute;z-index:4;left:28px;right:28px;bottom:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);color:#9db8cb;font-size:.84rem;line-height:1.5}.hero-visual-caption b{color:#e6f5ff}.single-course-section{padding-top:70px}.single-heading{grid-template-columns:1fr .95fr}.launch-course-card{border-color:rgba(75,189,255,.16);background:linear-gradient(145deg,rgba(15,44,72,.96),rgba(8,29,49,.98))}.course-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(86,216,255,.08);border:1px solid rgba(86,216,255,.16);color:#82dcff;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.launch-course-card .course-card-main{padding:38px}.launch-course-card .curriculum-panel{padding:38px}.launch-principles{padding-top:28px}.launch-principles .principle{background:linear-gradient(180deg,rgba(13,35,57,.72),rgba(8,27,45,.72));border-color:rgba(255,255,255,.075)}.launch-footer .site-shell{min-height:102px}.launch-footer img{width:190px;height:auto}.launch-footer span{flex:1;text-align:center}.launch-footer a{white-space:nowrap}
.course-logo-brand{gap:12px}.course-logo-brand img{width:168px;height:auto;display:block}.course-logo-brand .course-name-small{font-size:.67rem;color:var(--muted);font-weight:700;border-left:1px solid var(--line);padding-left:12px;white-space:nowrap}
@keyframes dashFlow{to{stroke-dashoffset:-75}}@keyframes coreFloat{50%{transform:translate(-50%,-53%)}}@keyframes nodePulse{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@media(max-width:960px){.launch-hero{grid-template-columns:1fr;gap:32px;padding-top:52px}.hero-university-logo{width:min(560px,90%)}.api-hero-visual{min-height:480px}.single-heading{grid-template-columns:1fr}.launch-footer span{text-align:left}.course-logo-brand .course-name-small{display:none}}
@media(max-width:660px){.home-logo-link{width:190px}.launch-home .home-nav a:last-child{display:none}.launch-hero{padding-top:38px}.hero-university-logo{width:100%;margin-bottom:22px}.launch-copy h1{font-size:clamp(2.7rem,14vw,4.2rem)}.api-hero-visual{min-height:510px}.api-core{width:155px;height:155px;border-radius:36px}.api-core strong{font-size:3.8rem}.hero-node{width:94px;height:78px}.node-app{left:4%}.node-data{left:3%;bottom:19%}.node-systems{right:4%}.node-ai{right:3%;bottom:19%}.hero-connections{opacity:.7}.audience-row{margin-top:18px}.launch-footer .site-shell{align-items:flex-start}.launch-footer span{order:3;text-align:left}.launch-course-card .course-card-main,.launch-course-card .curriculum-panel{padding:24px}.course-logo-brand img{width:145px}}
@media(prefers-reduced-motion:reduce){.api-core,.hero-connections path,.hero-pulse{animation:none!important}.hero-pulse{display:none}}
