:root{--sand-1: #e8c98a;--sand-2: #d9ad5f;--sand-3: #c98f3f;--ink: #3a2a1a;--copper: #b5622f;--copper-dark: #8a441c;--teal: #2e6b64;--teal-dark: #1f4a45;--cream: #faf3e2;--panel: #fffaf0;--shadow: 0 4px 14px rgba(58, 42, 26, .18)}*{box-sizing:border-box}body{margin:0;font-family:Nunito,Quicksand,Comfortaa,Fredoka,Varela Round,Poppins,Segoe UI,system-ui,sans-serif;color:var(--ink)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:authFadeIn .2s ease-out}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:24px;width:100%;max-width:380px;position:relative;font-family:inherit;animation:authSlideUp .3s ease-out}@keyframes authSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal h2{margin:0 36px 8px 0;font-size:1.4rem}.auth-modal p{margin:0 0 20px;line-height:1.5}.auth-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);opacity:.6;line-height:1;padding:0;box-shadow:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.auth-close:hover:not(:disabled){opacity:1;background:#00000014}.auth-close:disabled{cursor:wait;opacity:.3}.auth-login-modal .auth-close{top:-12px;right:-12px;border:1px solid rgba(58,42,26,.12);background:var(--panel);box-shadow:var(--shadow)}.auth-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid rgba(58,42,26,.1);padding-bottom:8px}.auth-tabs[hidden],.auth-forgot-heading[hidden]{display:none}.auth-tab{flex:1;background:none;border:none;padding:10px 8px;font-family:inherit;font-weight:700;font-size:.9rem;color:var(--ink);opacity:.5;cursor:pointer;box-shadow:none;position:relative;transition:opacity .15s,color .15s}.auth-tab:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease}.auth-tab:hover{opacity:.7}.auth-tab.active{opacity:1;color:var(--teal)}.auth-tab.active:after{transform:scaleX(1)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form input{padding:14px 16px;border:1.5px solid #dde3eb;border-radius:12px;font-family:inherit;font-size:1rem;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.auth-form input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2e6b6426}.auth-form input::placeholder{color:#9aa3b2}.auth-form input[hidden],.auth-text-button[hidden]{display:none}.auth-error{color:var(--copper-dark);font-size:.85rem;font-weight:600;min-height:22px}.auth-error:not(:empty){animation:authShake .3s ease}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-info{color:var(--teal-dark);font-size:.85rem;font-weight:600;min-height:22px}.auth-submit{position:relative;margin-top:4px;padding:14px 24px;background:linear-gradient(180deg,var(--copper),var(--copper-dark));color:#fff;border:none;border-radius:12px;font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 14px #b5622f66;transition:transform .1s,box-shadow .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #b5622f80}.auth-submit:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #b5622f66}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #b5622f4d}.auth-submit__spinner{display:none;font-size:1.2em;line-height:1;animation:authSpin 1s linear infinite}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-submit.is-loading .auth-submit__text{display:none}.auth-submit.is-loading .auth-submit__spinner{display:block}.auth-text-button{align-self:center;border:0;background:none;color:var(--teal-dark);cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;padding:2px 4px;text-decoration:underline;box-shadow:none}.auth-text-button:hover{color:var(--teal)}.auth-text-button:disabled{cursor:not-allowed;opacity:.5}.forgot-password-link{align-self:flex-end;margin-top:-6px}.recovery-success,.recovery-error-content{text-align:center}.recovery-success h2,.recovery-error-content h2{margin-right:0}.recovery-success-icon{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;margin:0 auto 16px;font-size:2rem;font-weight:900}.recovery-error-close{margin-top:14px}.premium-access-content{text-align:center}.premium-access-content h2{margin-right:0}.premium-access-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--sand-1);font-size:1.8rem}@media (max-width: 480px){.auth-modal-overlay{padding:12px}.auth-modal{padding:22px 18px}}.landing-page{--landing-ink: #241b4a;--landing-ink-soft: #5b5480;--landing-sky: #eaf7ff;--landing-sun: #ffc63c;--landing-sun-deep: #f5a623;--landing-grass: #2fae7c;--landing-grass-deep: #238f65;--landing-coral: #ff6b5e;--landing-grape: #6c4ce0;--landing-grape-deep: #5636c4;--landing-line: #e7e1f7;position:relative;min-height:100vh;overflow:hidden;background:#fff;color:var(--landing-ink);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif}.landing-page:before{content:"";position:absolute;z-index:0;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;top:-120px;right:-100px;width:420px;height:420px;background:var(--landing-sky)}.landing-page .wrap{position:relative;z-index:1;width:min(1280px,calc(100% - 64px));margin:0 auto}.landing-page>header{position:relative;z-index:2}.landing-page nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;min-height:80px}.landing-page .brand{display:inline-flex;align-items:center;gap:10px;color:var(--landing-ink);font-family:inherit;font-size:1.4rem;font-weight:700;text-decoration:none}.landing-page .brand:before{content:"";display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--landing-grape) url(../capybara-with-heart-eyes.png) center / contain no-repeat;box-shadow:0 3px 0 var(--landing-grape-deep)}.landing-page .header-right{display:flex;align-items:center;gap:14px}.landing-page .header-nav-link{color:var(--landing-grape-deep);font-size:.94rem;font-weight:800;text-decoration:none}.landing-page .header-nav-link:hover{color:var(--landing-grape);text-decoration:underline;text-underline-offset:3px}.landing-page .header-nav-link:focus-visible{outline:3px solid rgba(108,76,224,.3);outline-offset:4px;border-radius:2px}.landing-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 25px;border:0;border-radius:14px;background:var(--landing-sun);color:var(--landing-ink);box-shadow:0 5px 0 var(--landing-sun-deep);font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.landing-page .btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--landing-sun-deep)}.landing-page .header-right .btn{padding:9px 19px;border-radius:12px;background:var(--landing-grass);color:#fff;box-shadow:0 4px 0 var(--landing-grass-deep);font-size:.94rem}.landing-page .lang-switch{display:flex;align-items:center}.landing-page .lang-select{padding:8px 34px 8px 12px;border:2px solid var(--landing-line);border-radius:12px;background:#fff;color:var(--landing-ink);font-family:inherit;font-size:.86rem;font-weight:800;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241b4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.landing-page .lang-select:focus-visible{outline:3px solid rgba(108,76,224,.2);border-color:var(--landing-grape)}.landing-page .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;min-height:0;padding:56px 0 76px}.landing-page .eyebrow{display:inline-flex;align-items:center;margin-bottom:22px;padding:8px 14px;border-radius:999px;background:#e4f7ee;color:var(--landing-grass-deep);font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.landing-page h1{margin:0 0 22px;color:var(--landing-ink);font-family:inherit;font-size:clamp(3rem,5vw,3.75rem);font-weight:700;line-height:1.03;letter-spacing:-.02em}.landing-page .accent{position:relative;display:inline-flex;align-items:center;margin:5px 8px;padding:4px 20px 8px;border-radius:12px;background:var(--landing-grape);color:#fff;box-shadow:0 5px 0 var(--landing-grape-deep)}.landing-page .accent:before,.landing-page .accent:after{content:"";position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--landing-grape);transform:translateY(-50%)}.landing-page .accent:before{left:-8px}.landing-page .accent:after{right:-8px}.landing-page .lead{max-width:500px;margin:0 0 28px;color:var(--landing-ink-soft);font-size:1.1rem;font-weight:600;line-height:1.6}.landing-page .actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.landing-page .btn.alt{padding:13px 23px;border:2px solid var(--landing-line);background:transparent;color:var(--landing-ink);box-shadow:none}.landing-page .note{margin:0;padding-top:14px;color:var(--landing-ink-soft);font-size:1rem;font-weight:800}.landing-page .demo{position:relative;width:min(480px,100%);margin:0 auto;padding:0;border:2px solid #d8dee8;border-radius:24px;background:#fff;box-shadow:10px 12px #dce1e8;transform:rotate(1.5deg)}.landing-page .demo:before{display:none}.landing-page .window{overflow:hidden;border-radius:22px;background:#f6f4fc}.landing-page .top{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 15px;border-bottom:1px solid #e0e4e9;background:#f3f5f7}.landing-page .dot{display:block;width:10px;height:10px;border-radius:50%;background:#ff6d6d}.landing-page .dot:nth-child(2){background:#ffd166}.landing-page .dot:nth-child(3){background:#42d3a3}.landing-page .title{margin:auto;color:var(--landing-ink-soft);font-family:inherit;font-size:.82rem;font-weight:600;transform:translate(-22px)}.landing-page .board{display:grid;grid-template-columns:1.05fr 1fr;min-height:300px}.landing-page .blocks{padding:16px 12px;background:#f6f4fc}.landing-page .label{margin:0 0 10px;color:var(--landing-ink-soft);font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-page .block{display:flex;align-items:center;width:auto;max-width:100%;margin:0 0 7px;padding:9px 12px;border-radius:9px;color:#fff;box-shadow:0 3px #0000002e;font-family:inherit;font-size:.8rem;font-weight:600}.landing-page .blue{background:var(--landing-grape)}.landing-page .purple{margin-left:10px;background:#9b7be8}.landing-page .orange{margin-left:10px;background:var(--landing-sun-deep)}.landing-page .pink{margin-left:10px;background:var(--landing-coral)}.landing-page .green{background:var(--landing-grass)}.landing-page .stage{display:flex;flex-direction:column;padding:0;background:#f6f4fc}.landing-page .sky{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(180deg,#bee7ff,#bee7ff 60%,#b7e7a6 60%,#b7e7a6)}.landing-page .sun{display:none}.landing-page .cloud,.landing-page .cloud:before{position:absolute;border-radius:20px;background:#fff}.landing-page .cloud{top:18px;left:16px;width:34px;height:16px}.landing-page .cloud:before{content:"";top:-8px;left:6px;width:18px;height:18px}.landing-page .cloud:after{display:none}.landing-page .bubble{position:absolute;top:44px;right:14px;padding:6px 10px;border-radius:10px 10px 2px;background:#fff;color:var(--landing-ink);box-shadow:0 3px #00000014;font-family:inherit;font-size:.7rem;font-weight:600}.landing-page .bot{position:absolute;bottom:16px;left:50%;font-size:2.15rem;transform:translate(-50%)}.landing-page .run{margin:0;padding:12px 14px;border:0;background:#f6f4fc;color:var(--landing-ink);font-family:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.landing-page .sticker{position:absolute;z-index:3;padding:7px 12px;border-radius:10px;font-family:inherit;font-size:.8rem;font-weight:600}.landing-page .one{top:-10px;left:-6px;padding:0;border-radius:0;background:transparent;color:var(--landing-ink);box-shadow:none;font-size:.9rem;font-weight:700;transform:rotate(-6deg)}.landing-page .two{right:-10px;bottom:-14px;background:#ffe0ec;color:#c2306b;box-shadow:0 3px #0000001a;transform:rotate(8deg)}.landing-page .skills{grid-column:1 / -1;display:flex;justify-content:center;gap:36px;margin-top:8px;color:var(--landing-ink);font-size:1.05rem;font-weight:800}.landing-page .skills span{display:flex;align-items:center;gap:12px}.landing-page .skills b{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#e4f7ee;font-size:1.35rem}.landing-page .skills span:nth-child(2) b{background:#fff3d2}.landing-page .skills span:nth-child(3) b{background:#f0ebff}.landing-page .skills span:nth-child(4) b{background:#ffe3e0}@media (max-width: 900px){.landing-page .hero{grid-template-columns:minmax(0,1fr);gap:54px;padding:28px 0 58px}.landing-page .copy{text-align:center}.landing-page .lead{margin-inline:auto}.landing-page .actions,.landing-page .note{justify-content:center}.landing-page .note{text-align:center}.landing-page .demo{width:min(520px,100%)}.landing-page .skills{flex-wrap:wrap;gap:20px 30px}}@media (max-width: 620px){.landing-page .wrap{width:min(100% - 28px,1280px)}.landing-page nav{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 0}.landing-page .header-right{grid-column:1 / -1;grid-row:2;width:100%}.landing-page .header-right>*{flex:1}.landing-page .header-right .lang-select,.landing-page .header-right .btn{width:100%}.landing-page h1{font-size:clamp(2.5rem,12vw,3.2rem)}.landing-page .eyebrow{justify-content:center;white-space:normal}.landing-page .actions .btn{width:100%}.landing-page .demo{transform:none}.landing-page .board{min-height:280px}.landing-page .skills{justify-content:flex-start}.landing-page .skills span{width:calc(50% - 15px)}}@media (max-width: 420px){.landing-page .brand{font-size:1.1rem}.landing-page .brand:before{width:32px;height:32px}.landing-page .lang-select{max-width:126px;font-size:.78rem}.landing-page .hero{padding-top:20px}.landing-page .accent{padding-inline:14px}.landing-page .demo{padding-inline:10px}.landing-page .board{grid-template-columns:.95fr 1.05fr;min-height:250px}.landing-page .blocks{padding:12px 8px}.landing-page .block{padding:8px;font-size:.68rem}.landing-page .skills{display:grid;grid-template-columns:1fr 1fr}.landing-page .skills span{width:auto}}.landing-page .courses-section{grid-column:1 / -1;width:100%;margin-top:72px;padding:56px 0 64px;background:#fff;border-top:1px solid var(--landing-line)}.landing-page .courses-container{width:100%;max-width:1280px;margin:0 auto;padding:0 32px;text-align:center}.landing-page .section-title{margin:0 auto 8px;max-width:820px;color:var(--landing-ink);font-family:inherit;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;text-align:center;letter-spacing:-.02em}.landing-page .section-subtitle{margin:0 auto 40px;max-width:820px;color:var(--landing-ink-soft);font-size:1.25rem;font-weight:500;line-height:1.7;text-align:center!important}.landing-page .courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;margin:0 auto}.landing-page .course-card{display:flex;flex-direction:column;align-items:center;padding:28px 24px;border:1px solid var(--landing-line);border-radius:16px;background:#fff;box-shadow:0 1px 3px #241b4a0f,0 4px 12px #241b4a0a;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.landing-page .course-card:hover{box-shadow:0 4px 16px #241b4a14,0 8px 24px #241b4a0f;border-color:var(--landing-grape);transform:translateY(-4px)}.landing-page .course-card:focus-within{outline:3px solid rgba(108,76,224,.3);outline-offset:2px}.landing-page .course-card-icon{display:flex;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:14px;background:var(--landing-sky);font-size:2rem;box-shadow:inset 0 0 0 1px #6c4ce014}.landing-page .course-card-content{display:flex;flex-direction:column;gap:10px;text-align:center;flex:1;width:100%}.landing-page .course-card-title{margin:0;color:var(--landing-ink);font-family:inherit;font-size:1.3rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}.landing-page .course-card-description{margin:0;color:var(--landing-ink-soft);font-size:1.15rem;font-weight:500;line-height:1.6}.landing-page .course-card-features{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 16px;padding:0;list-style:none}.landing-page .course-card-features li{padding:6px 14px;border-radius:999px;background:var(--landing-sky);border:1px solid rgba(108,76,224,.1);color:var(--landing-grape-deep);font-size:.8rem;font-weight:600;letter-spacing:.02em}.landing-page .course-card-availability{display:inline-flex;align-items:center;align-self:center;margin:0 0 16px;padding:10px 16px;border:1px solid #f3c75c;border-radius:999px;color:#7a4b00;background:#fff8df;box-shadow:0 3px 8px #f5a62329;font-size:1.05rem;font-weight:800;line-height:1.4;letter-spacing:.01em}.landing-page .course-card-footer{margin-top:auto;padding-top:28px;border-top:1px solid var(--landing-line);width:100%}.landing-page .course-card-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 20px;border-radius:10px;background:var(--landing-grape);color:#fff;box-shadow:0 2px 8px #6c4ce040;font-family:inherit;font-size:.875rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:all .15s ease;white-space:nowrap}.landing-page .course-card-btn:hover{background:var(--landing-grape-deep);box-shadow:0 4px 12px #6c4ce059;transform:translateY(-1px)}.landing-page .course-card-btn:active{transform:translateY(0)}.landing-page .course-card-btn:disabled{background:var(--landing-line);color:#98a2b3;box-shadow:none;cursor:not-allowed;transform:none}.landing-page .coming-soon-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-left:8px;vertical-align:middle;box-shadow:0 1px 2px #b453091a}.landing-page .course-card.coming-soon{opacity:1;border-color:#fcd34d;background:#fffdf5}.landing-page .course-card.coming-soon:hover{transform:none;border-color:#fcd34d;box-shadow:0 1px 3px #241b4a0f,0 4px 12px #241b4a0a}.landing-page .course-card.coming-soon .course-card-icon{background:#fef3c7;box-shadow:inset 0 0 0 1px #fbbf2426}.landing-page .course-card.coming-soon .course-card-btn:disabled{background:#fbbf24;color:#fff;box-shadow:0 2px 8px #fbbf244d}.landing-page .course-card.coming-soon .course-card-btn:disabled:hover{background:#f59e0b;box-shadow:0 4px 12px #fbbf2466;transform:translateY(-1px)}.landing-page .courses-loading,.landing-page .courses-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center;color:var(--landing-ink-soft);font-size:1rem}.landing-page .courses-loading[hidden],.landing-page .courses-error[hidden]{display:none!important}.landing-page .landing-footer{position:relative;z-index:1;border-top:1px solid var(--landing-line);background:#fff}.landing-page .landing-footer-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;min-height:0;padding-block:28px}.landing-page .landing-footer-label{color:#5a5a5a;font-size:1.35rem;font-weight:800}.landing-page .landing-footer-links{display:flex;align-items:flex-start;gap:56px}.landing-page .landing-contact-method{display:inline-flex;flex-direction:column;align-items:center;gap:12px;padding:0;border:0;color:#333;background:transparent;font-family:inherit;font-size:1.1rem;font-weight:500;text-decoration:none;cursor:pointer}.landing-page .landing-zalo-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none}.landing-page .landing-contact-icon{width:72px;height:72px;flex:0 0 72px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.landing-page .facebook-logo{stroke:none}.landing-page .zalo-logo{border-radius:12px}.landing-page .landing-contact-method:hover{color:var(--landing-grape-deep);text-decoration:underline;text-underline-offset:4px}.landing-page .landing-contact-method:focus-visible{outline:3px solid rgba(108,76,224,.3);outline-offset:4px;border-radius:2px}.zalo-qr-dialog{width:min(100% - 32px,520px);padding:0;border:0;border-radius:12px;color:var(--landing-ink);background:#fff}.zalo-qr-dialog::backdrop{background:#2018308c}.zalo-qr-dialog-content{position:relative;display:flex;flex-direction:column;align-items:center;padding:40px;text-align:center}.zalo-qr-dialog h2{margin:0;font-size:1.75rem}.zalo-qr-dialog p{margin:8px 0 20px;color:var(--landing-ink-soft);font-size:1.125rem;line-height:1.5}.zalo-qr-dialog img{display:block;width:min(100%,360px);height:auto;border-radius:8px}.zalo-qr-close{position:absolute;top:8px;right:12px;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:var(--landing-ink-soft);background:transparent;font-size:2rem;line-height:1;cursor:pointer}.zalo-qr-close:hover{color:var(--landing-grape-deep);background:#f4f1ff}.zalo-qr-close:focus-visible{outline:3px solid rgba(108,76,224,.3);outline-offset:2px}.landing-video-dialog{width:min(100% - 32px,900px);box-sizing:border-box;max-height:calc(100dvh - 32px);padding:0;border:6px solid var(--landing-sun);border-radius:18px;color:var(--landing-ink);background:var(--landing-sky);outline:3px solid var(--landing-grape);box-shadow:0 0 0 7px var(--landing-sky);overflow:auto}.landing-video-dialog::backdrop{background:#2018308c}.landing-video-dialog-content{position:relative;padding:32px}.landing-video-dialog h2{margin:0 48px 20px 0;font-size:1.4rem}.landing-video-frame{overflow:hidden;aspect-ratio:16 / 9;border-radius:8px;background:#181818}.landing-video-frame iframe{display:block;width:100%;height:100%;border:0}.landing-video-close{position:absolute;top:12px;right:16px;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:var(--landing-ink-soft);background:transparent;font-size:2rem;line-height:1;cursor:pointer}.landing-video-close:hover{color:var(--landing-grape-deep);background:#f4f1ff}.landing-video-close:focus-visible{outline:3px solid rgba(108,76,224,.3);outline-offset:2px}@media (max-width: 900px),(max-height: 650px){.landing-video-dialog-content{padding:24px}.landing-video-dialog h2{margin-bottom:16px;font-size:1.15rem}}@media (max-width: 520px){.landing-video-dialog-content{padding:24px 16px 16px}}.landing-page .spinner{width:40px;height:40px;border:3px solid var(--landing-line);border-top-color:var(--landing-grape);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.landing-page .courses-container{padding:0 20px}.landing-page .courses-grid{grid-template-columns:1fr;max-width:100%}.landing-page .course-card{padding:24px 20px}.landing-page .course-card-icon{width:56px;height:56px;font-size:1.75rem}.landing-page .course-card-title{font-size:1.1rem}.landing-page .course-card-description{font-size:.875rem}.landing-page .course-card-btn{padding:12px 18px;font-size:.85rem}}@media (max-width: 420px){.landing-page .courses-container{padding:0 16px}.landing-page .courses-section{padding:40px 0 48px}.landing-page .section-title{font-size:1.5rem}.landing-page .section-subtitle{font-size:1.1rem;margin-bottom:32px}.landing-page .course-card{padding:20px 16px}}#app,body.app-loaded #landing{display:none}body.app-loaded #app{display:block}.blog-page{min-height:100vh;background:#fffaf4;color:#241b4a;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif}body.blog-loaded .landing-page,body.blog-loaded #app{display:none}.blog-nav{width:min(1080px,calc(100% - 40px));min-height:80px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.blog-brand{display:inline-flex;align-items:center;gap:8px;color:#241b4a;font-size:1.25rem;font-weight:800;text-decoration:none}.blog-brand-image{width:42px;height:42px;object-fit:contain}.blog-back{color:#5636c4;font-weight:800;text-decoration:none}.blog-back:hover,.blog-content a:not(.blog-cta):hover{text-decoration:underline;text-underline-offset:3px}.blog-hero{padding:72px max(20px,calc((100% - 880px)/2));background:#eaf7ff;border-block:1px solid #d7edf9;text-align:center}.blog-kicker{margin:0 0 12px;color:#238f65;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.blog-hero h1{max-width:760px;margin:0 auto 20px;font-size:clamp(2.35rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.04em}.blog-dek{max-width:620px;margin:0 auto;color:#5b5480;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.55}.blog-content{width:min(760px,calc(100% - 40px));margin:0 auto;padding:56px 0 88px;font-size:1.1rem;line-height:1.7}.blog-content section{margin-top:44px}.blog-content h2{margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.15;letter-spacing:-.025em}.blog-content p{margin:0 0 16px}.blog-intro{color:#4c456d;font-size:1.28rem;line-height:1.65}.blog-content a{color:#5636c4;font-weight:700}.blog-callout{display:flex;gap:14px;align-items:flex-start;margin:26px 0 0;padding:20px;border-left:5px solid #2fae7c;border-radius:0 12px 12px 0;background:#e4f7ee;color:#234b3e}.blog-callout span{font-size:1.5rem}.blog-callout p{margin:0}.blog-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #e7e1f7;border-radius:12px;background:#fff}.blog-table-wrap:focus-visible{outline:3px solid rgba(108,76,224,.35);outline-offset:3px}.blog-table-wrap table{width:100%;min-width:620px;border-collapse:collapse;font-size:.94rem;line-height:1.5}.blog-table-wrap caption{padding:14px 18px;color:#5b5480;font-weight:800;text-align:left}.blog-table-wrap th,.blog-table-wrap td{padding:14px 18px;border-top:1px solid #e7e1f7;text-align:left;vertical-align:top}.blog-table-wrap thead th{background:#f6f4fc}.blog-table-wrap tbody th{width:20%;color:#5636c4}.blog-closing{padding:32px;border-radius:16px;background:#241b4a;color:#fff}.blog-closing h2{color:#fff}.blog-cta{display:inline-flex;gap:8px;align-items:center;margin-top:8px;padding:12px 18px;border-radius:10px;background:#ffc63c;color:#241b4a!important;font-weight:800;text-decoration:none}.blog-cta:hover{background:#ffd65f;text-decoration:none!important}.blog-skip-link{position:absolute;left:16px;top:-48px;z-index:5;padding:10px 14px;background:#241b4a;color:#fff;border-radius:6px}.blog-skip-link:focus{top:16px}@media (max-width: 600px){.blog-nav{min-height:64px}.blog-brand-image{width:36px;height:36px}.blog-hero{padding-block:52px}.blog-content{padding-top:40px;font-size:1rem}.blog-intro{font-size:1.125rem;line-height:1.6}.blog-content section{margin-top:36px}.blog-closing{padding:24px}}
