@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;1,500;1,600&display=swap";:root{color:#172422;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f1e9;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-nav{z-index:10;background:#f4f1e9;border-bottom:1px solid #d6d7cd;justify-content:space-between;align-items:center;gap:24px;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.app-nav-brand{letter-spacing:-.4px;font-size:15px;font-weight:800}.app-nav-brand b{color:#e85d3f}.app-nav-links{color:#52605a;gap:24px;font-size:13px;display:flex}.app-nav-links a:hover{color:#e85d3f}.app-nav-user{color:#6c7771;align-items:center;gap:14px;font-size:12px;display:flex}.app-nav-logout{cursor:pointer;color:#172422;background:0 0;border:1px solid #b5bdb5;padding:8px 14px;font-size:12px}.app-nav-logout:hover{color:#fffaf1;background:#172422}.app-page{background:#f4f1e9;min-height:100vh}.app-shell{width:min(980px,100% - 48px);margin:0 auto;padding:48px 0 96px}.page-header{margin-bottom:32px}.page-header .eyebrow{color:#e85d3f;letter-spacing:1.7px;margin:0 0 12px;font:500 10px DM Mono}.page-header h1{letter-spacing:-1.5px;margin:0;font-size:clamp(30px,4vw,44px)}.page-header p{color:#6c7771;margin-top:10px;font-size:14px}.auth-page{background:#f4f1e9;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#ebe9df;width:min(420px,100%);padding:36px 32px}.auth-card h1{letter-spacing:-1px;margin:0 0 6px;font-size:28px}.auth-card .auth-sub{color:#6c7771;margin-bottom:28px;font-size:13px}.auth-card .brand-link{margin-bottom:24px;font-size:14px;font-weight:800;display:inline-block}.auth-card .brand-link b{color:#e85d3f}.form-field{margin-bottom:18px}.form-field label{color:#52605a;margin-bottom:8px;font-size:12px;display:block}.form-field input,.form-field select,.form-field textarea{color:#172422;background:#fffdf8;border:1px solid #c2c8c1;outline:none;width:100%;padding:11px 12px;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#e85d3f}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.btn{color:#fffaf1;cursor:pointer;background:#172422;border:0;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:13px;transition:background .2s,transform .2s;display:inline-flex}.btn:hover:not(:disabled){background:#2b3d38}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{color:#172422;background:0 0;border:1px solid #b5bdb5}.btn-secondary:hover:not(:disabled){color:#fffaf1;background:#172422}.btn-block{width:100%}.form-message{color:#52605a;margin-top:14px;font-size:12px}.form-message.is-error{color:#b3402a}.auth-switch{color:#6c7771;margin-top:22px;font-size:12px}.auth-switch a{color:#e85d3f;font-weight:600}.card{background:#ebe9df;margin-bottom:18px;padding:24px}.card h2,.card h3{margin:0 0 6px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px;display:grid}.stat-tile{background:#ebe9df;border-top:3px solid #e85d3f;padding:20px}.stat-tile strong{font-family:Playfair Display,serif;font-size:30px;display:block}.stat-tile span{color:#6c7771;letter-spacing:.6px;text-transform:uppercase;font:10px DM Mono}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #d6d7cd;padding:12px 10px}.data-table th{letter-spacing:.8px;text-transform:uppercase;color:#6c7771;font:10px DM Mono}.badge{letter-spacing:.6px;text-transform:uppercase;color:#52605a;border:1px solid #c2c8c1;padding:4px 9px;font:10px DM Mono;display:inline-block}.badge-draft{color:#a3781f;border-color:#e5a82d}.badge-published{color:#4a6b56;border-color:#7a9b87}.lesson-row{border-bottom:1px solid #e3e1d6;justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-row.is-locked{color:#a2aca5}.empty-state{color:#6c7771;padding:32px 0;font-size:13px}.inline-form{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.inline-form input{background:#fffdf8;border:1px solid #c2c8c1;flex:1;min-width:140px;padding:9px 10px;font-size:13px}.tab-bar{border-bottom:1px solid #d6d7cd;gap:4px;margin-bottom:24px;display:flex}.tab-button{color:#6c7771;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13px}.tab-button:hover{color:#172422}.tab-button.is-active{color:#172422;border-bottom-color:#e85d3f;font-weight:600}.search-field{max-width:320px;margin-bottom:20px}.lesson-viewer{border-top:1px solid #d6d7cd;margin-top:20px;padding-top:20px}.lesson-content{white-space:pre-wrap;color:#172422;margin:10px 0 16px;font-size:14px;line-height:1.6}.lesson-media{max-width:100%;margin-bottom:14px;display:block}@media (width<=720px){.stat-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.app-nav{flex-wrap:wrap;gap:10px;height:auto;padding:12px 16px}.tab-bar{overflow-x:auto}}#root{overflow:hidden}.ambient-blobs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(70px);opacity:.38;mix-blend-mode:multiply;border-radius:50%;animation:22s ease-in-out infinite blob-drift;position:absolute}.blob-a{background:#e5a82d;width:460px;height:460px;top:-140px;left:-100px}.blob-b{background:#bed4ca;width:380px;height:380px;animation-duration:26s;animation-delay:-6s;top:30%;right:-140px}.blob-c{opacity:.22;background:#d96348;width:340px;height:340px;animation-duration:30s;animation-delay:-12s;bottom:-120px;left:20%}@keyframes blob-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,30px)scale(1.08)}66%{transform:translate(-30px,20px)scale(.94)}}.grain{z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}main{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.blob{animation:none}}.shell{width:min(1160px,100% - 48px);margin:0 auto}.nav{z-index:10;background:#f4f1e9;border-bottom:1px solid #d6d7cd;justify-content:space-between;align-items:center;height:88px;transition:height .25s,box-shadow .25s;display:flex;position:sticky;top:0}.nav-scrolled{height:66px;box-shadow:0 8px 20px #17242212}.brand{letter-spacing:-.4px;align-items:center;gap:12px;font-size:15px;font-weight:800;display:flex}.brand-mark{filter:drop-shadow(0 4px 10px #e85d3f33);place-items:center;transition:transform .35s;display:grid}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.05)}.brand-spark{transform-origin:23.5px 8.5px;animation:2.6s ease-in-out infinite spark-pulse}@keyframes spark-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.6)}}.brand-word{font-family:Manrope,sans-serif}.brand-word b{color:#e85d3f;font-weight:800}.nav-links{color:#52605a;align-items:center;gap:32px;font-size:13px;display:flex}.nav-links a{transition:color .2s}.nav-links a:hover{color:#e85d3f}.nav-login{color:#172422;cursor:pointer;background:0 0;border:1px solid #b5bdb5;padding:10px 17px;transition:background .2s,color .2s}.nav-login:hover{color:#fffaf1;background:#172422}.nav-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;padding:0;display:none}.nav-burger span{background:#172422;height:2px;transition:transform .25s,opacity .2s}.nav-burger.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-burger.is-open span:nth-child(2){opacity:0}.nav-burger.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:#f4f1e9;border-bottom:1px solid #d6d7cd;flex-direction:column;gap:6px;max-height:0;padding:0 24px;transition:max-height .3s,padding .3s;display:none;overflow:hidden}.mobile-menu a{color:#172422;border-bottom:1px solid #e3e1d6;padding:14px 0;font-size:14px}.mobile-menu .primary-button{justify-content:center;margin:16px 0}.mobile-menu.is-open{max-height:320px;padding:12px 24px 20px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:40px;min-height:500px;padding:70px 0 78px;display:grid}.eyebrow{color:#e85d3f;letter-spacing:1.7px;margin:0 0 20px;font:500 10px DM Mono}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-5px;margin-bottom:27px;font-size:clamp(48px,7vw,88px);font-weight:700;line-height:.94}em{font-family:Playfair Display,serif;font-weight:500;display:inline-block;position:relative}em:after{content:"";transform-origin:0;opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 Q5 0 10 5 T20 5 T30 5 T40 5' stroke='%23e85d3f' stroke-width='2.4' fill='none'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:34px 10px;height:10px;animation:.8s cubic-bezier(.2,.7,.2,1) .3s forwards squiggle-draw,5s linear 1.1s infinite squiggle-drift;position:absolute;bottom:-4px;left:2px;right:2px;transform:scaleX(0)}@keyframes squiggle-draw{to{opacity:1;transform:scaleX(1)}}@keyframes squiggle-drift{to{background-position-x:-34px}}.hero-text{color:#5b6862;max-width:390px;margin-bottom:29px;font-size:15px;line-height:1.7}.primary-button{color:#fffaf1;cursor:pointer;background:#172422;border:0;justify-content:space-between;align-items:center;gap:24px;padding:15px 18px;font-size:12px;transition:transform .2s,background .2s;display:inline-flex;position:relative;overflow:hidden}.primary-button:before{content:"";background:linear-gradient(115deg,#0000 20%,#e85d3f55 45%,#0000 70%);transition:transform .5s;position:absolute;inset:0;transform:translate(-120%)}.primary-button:hover:before{transform:translate(120%)}.primary-button:hover{background:#2b3d38;transform:translateY(-2px)}.primary-button span{font-size:18px;line-height:10px}.hero-art{aspect-ratio:1/.9;will-change:transform;background:#e5a82d;width:min(100%,450px);margin-left:auto;transition:transform .15s ease-out;position:relative;overflow:hidden}.hero-glow{z-index:1;pointer-events:none;background:radial-gradient(circle,#fffaf199,#0000 70%);border-radius:50%;width:55%;height:55%;margin:auto;transition:transform .15s ease-out;position:absolute;inset:-20%}.hero-art:after{content:"";border:1px solid #172422;position:absolute;inset:12%;transform:rotate(-8deg)}.art-note{z-index:2;color:#172422;letter-spacing:1px;font:11px/1.35 DM Mono;transition:transform .15s ease-out;position:absolute;top:27px;left:28px}.art-note strong{margin-top:13px;font-size:26px;font-weight:400;display:block}.art-center{z-index:2;text-align:center;place-content:center;font:500 42px/.9 Playfair Display;transition:transform .15s ease-out;display:grid;position:absolute;inset:0;transform:rotate(-8deg)}.art-center span{margin-left:50px}.art-orbit{border:1px solid #172422;border-radius:50%;width:72%;height:105%;position:absolute;top:-3%;left:16%;transform:rotate(35deg)}.orbit-two{width:46%;left:27%;transform:rotate(-38deg)}.stats{grid-template-columns:repeat(4,1fr);gap:16px;padding:0 0 66px;display:grid}.stat{border-top:3px solid #d6d7cd;padding-top:16px;transition:transform .25s,border-color .25s}.stat:hover{transform:translateY(-4px)}.stat:first-child:hover{border-color:#e85d3f}.stat:nth-child(2):hover{border-color:#e5a82d}.stat:nth-child(3):hover{border-color:#7a9b87}.stat:nth-child(4):hover{border-color:#d96348}.stat strong{letter-spacing:-1.5px;font-family:Playfair Display,serif;font-size:clamp(28px,3.4vw,40px);display:block}.stat span{color:#6c7771;letter-spacing:.6px;text-transform:uppercase;font:10px DM Mono}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.reveal.in-view{opacity:1;transform:translateY(0)}.testimonials{border-top:1px solid #d6d7cd;padding:92px 0 100px}.testimonial-card{background:#ebe9df;max-width:720px;padding:44px}.testimonial-quote{margin-bottom:24px;font:500 24px/1.4 Playfair Display}.testimonial-author{flex-direction:column;gap:3px;font:11px DM Mono;display:flex}.testimonial-author strong{font-family:Manrope,sans-serif;font-size:13px}.testimonial-author span{color:#6c7771}.testimonial-dots{gap:10px;margin-top:26px;display:flex}.testimonial-dots button{cursor:pointer;background:0 0;border:1px solid #b5bdb5;border-radius:50%;width:9px;height:9px;padding:0;transition:background .2s}.testimonial-dots button.is-active{background:#e85d3f;border-color:#e85d3f}.faq{padding:0 0 100px}.faq-list{border-top:1px solid #d6d7cd}.faq-item{border-bottom:1px solid #d6d7cd}.faq-question{text-align:left;cursor:pointer;color:#172422;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:22px 0;font-size:16px;display:flex}.faq-question span{color:#e85d3f;font-size:20px}.faq-answer{max-height:0;transition:max-height .3s;overflow:hidden}.faq-answer p{color:#5b6862;max-width:620px;padding-bottom:22px;font-size:14px;line-height:1.65}.faq-answer.is-open{max-height:200px}.footer{color:#6c7771;border-top:1px solid #cbd0c8;justify-content:space-between;align-items:center;padding:30px 0 50px;font-size:12px;display:flex}.footer-links{gap:22px;display:flex}.footer-links a:hover{color:#e85d3f}.back-to-top{color:#fffaf1;cursor:pointer;opacity:0;pointer-events:none;z-index:20;background:#172422;border:0;border-radius:50%;width:44px;height:44px;font-size:18px;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;right:24px;transform:translateY(12px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.ticker{color:#f4f1e9;white-space:nowrap;letter-spacing:1.8px;background:#172422;align-items:center;height:48px;font:10px DM Mono;display:flex;overflow:hidden}.ticker div{animation:28s linear infinite drift}.ticker span{color:#e85d3f;margin:0 24px;animation:3.2s linear infinite spin-icon;display:inline-block}@keyframes spin-icon{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translate(-25%)}}.catalog{padding:100px 0 112px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:36px;display:flex}h2{letter-spacing:-3px;margin-bottom:0;font-size:clamp(38px,5vw,58px);line-height:.98}.catalog-count{color:#78817b;margin:0 0 5px;font:10px DM Mono}.catalog-tools{border-top:1px solid #d6d7cd;gap:10px;margin-bottom:28px;padding-top:18px;display:flex}.search-box{color:#75807a;background:#eae8df;flex:1;align-items:center;gap:12px;padding:0 15px;display:flex}.search-box span{font-size:24px;transform:rotate(-20deg)}.search-box input{color:#172422;background:0 0;border:0;outline:0;width:100%;padding:13px 0;font-size:13px}.filter-button{color:#52605a;cursor:pointer;background:0 0;border:1px solid #c2c8c1;align-items:center;padding:0 18px;font-size:12px;display:inline-flex}.filter-button select{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;outline:none;height:100%;padding:0}.filter-button span{pointer-events:none;margin-left:22px}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-card{cursor:pointer;background:#ebe9df;transition:box-shadow .25s;position:relative;overflow:hidden}.course-card:hover{box-shadow:0 16px 30px #20352a22}.card-glare{z-index:1;pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;inset:0}.course-card:hover .card-glare{opacity:1}.course-art{justify-content:space-between;height:190px;padding:18px;font:10px DM Mono;display:flex}.course-art span{font-size:28px}.course-art b{text-transform:uppercase;letter-spacing:1px;align-self:end;font-weight:400}.art-0{background:#bed4ca}.art-1{background:#d6c4ad}.art-2{color:#fffaf1;background:#d96348}.course-info{padding:22px 20px 19px}.course-category{color:#e85d3f;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font:10px DM Mono}h3{letter-spacing:-.8px;margin-bottom:13px;font-size:21px;line-height:1.08}.course-description{color:#6c7771;min-height:38px;margin-bottom:23px;font-size:12px;line-height:1.55}.course-meta{border-top:1px solid #d0d2c8;justify-content:space-between;align-items:center;padding-top:14px;display:flex}.course-meta strong{font:500 13px DM Mono}.course-meta span{color:#65716a;font-size:11px}.empty-state{color:#6c7771;padding:42px 0}.member-band{border-top:1px solid #cbd0c8;grid-template-columns:1fr 390px;gap:80px;padding:86px 0 110px;display:grid}.login-card{background:#d2e1d7;padding:27px}.login-label{letter-spacing:1.5px;color:#61736a;margin-bottom:32px;font:10px DM Mono}.login-card label{margin-bottom:8px;font-size:12px;display:block}.login-card input{background:0 0;border:0;border-bottom:1px solid #9aaa9f;outline:none;width:100%;margin-bottom:22px;padding:10px 0}.login-message{color:#52605a;margin:14px 0 0;font-size:11px}.modal-backdrop{z-index:5;background:#17242299;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.course-modal{background:#f4f1e9;width:100%;max-width:520px;padding:42px;position:relative}.course-modal h2{margin-bottom:20px}.course-modal p{color:#5b6862;margin-bottom:22px;font-size:14px;line-height:1.6}.course-modal strong{margin-bottom:28px;font:500 14px DM Mono;display:block}.close-button{cursor:pointer;background:0 0;border:0;font-size:25px;position:absolute;top:14px;right:17px}@media (width<=960px){.course-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);row-gap:28px}.member-band{grid-template-columns:1fr}.login-card{max-width:420px}}@media (width<=720px){.shell{width:min(100% - 32px,520px)}.nav{height:70px}.nav-links{display:none}.nav-burger,.mobile-menu{display:flex}.hero{grid-template-columns:1fr;padding:65px 0}.hero-art{width:100%;margin:15px 0 0;transform:none!important}.art-note,.art-center{transform:none!important}.art-center{transform:rotate(-8deg)!important}.course-grid{grid-template-columns:1fr}.course-art{height:160px}.section-heading,.member-band{display:block}.catalog-count{margin-top:20px}.catalog{padding:72px 0}.member-band{padding:70px 0}.login-card{max-width:none;margin-top:35px}h1{letter-spacing:-3px}.stats{grid-template-columns:repeat(2,1fr);padding-bottom:46px}.testimonial-card{padding:28px}.testimonial-quote{font-size:19px}.footer{text-align:center;flex-direction:column;gap:14px}.back-to-top{bottom:16px;right:16px}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
