:root{--ink:#17342c;--green:#265d4a;--mint:#dcece4;--cream:#f7f5ee;--white:#fff;--gold:#e6ad56;--muted:#61736d;--line:#dce4df}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 28px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--green);color:white;border-radius:14px;font-family:Manrope;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font:700 16px Manrope}.brand small{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.topbar nav{display:flex;align-items:center;gap:18px}.welcome{color:var(--muted);font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:white;text-decoration:none;padding:15px 22px;border-radius:12px;font-weight:700;box-shadow:0 8px 24px #265d4a24;transition:.2s}.button:hover{transform:translateY(-2px);background:#1d4b3b}.button-small{padding:10px 17px;font-size:14px}.hero{min-height:520px;max-width:1180px;margin:22px auto 0;border-radius:32px;background:var(--mint);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}.hero-copy{padding:80px 24px 80px 72px;z-index:1}.eyebrow{display:block;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:15px}.hero h1{font:800 clamp(40px,5vw,65px)/1.06 Manrope;margin:0 0 24px;letter-spacing:-.045em}.hero p{font-size:18px;line-height:1.65;color:var(--muted);max-width:570px;margin:0 0 34px}.hero-art{position:relative;min-height:400px}.orbit{position:absolute;border:1px solid #265d4a36;border-radius:50%}.orbit-one{width:380px;height:380px;right:-35px;top:60px}.orbit-two{width:280px;height:280px;right:20px;top:110px}.book{position:absolute;top:185px;right:75px;width:235px;height:145px;display:flex;filter:drop-shadow(0 24px 20px #17342c25);transform:rotate(-7deg)}.book span{width:50%;background:var(--white);border:3px solid var(--green)}.book span:first-child{border-radius:8px 4px 4px 18px;transform:skewY(8deg)}.book span:last-child{border-radius:4px 8px 18px 4px;transform:skewY(-8deg)}.spark{position:absolute;color:var(--gold);font-size:34px}.spark-one{top:100px;right:280px}.spark-two{top:345px;right:42px;font-size:22px}.features,.stats,.class-grid{max-width:1180px;margin:32px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.features article,.stats article,.class-card,.empty-state{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px}.features .icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mint);color:var(--green);font-size:22px}.features h2{font:700 18px Manrope;margin:20px 0 8px}.features p{color:var(--muted);line-height:1.55;margin:0}.dashboard{max-width:1180px;margin:72px auto;padding:0 8px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2{font:800 30px Manrope;margin:0}.text-link{color:var(--green);font-weight:700;text-decoration:none}.stats{margin:25px 0}.stats article{display:flex;flex-direction:column}.stats strong{font:800 35px Manrope}.stats span{color:var(--muted)}.class-grid{margin:18px 0}.class-card{position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:.2s}.class-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #17342c12}.class-accent{position:absolute;left:0;top:0;bottom:0;width:7px}.class-card small{color:var(--muted)}.class-card h3{font:700 20px Manrope;margin:12px 0 2px}.class-card p{margin:0 0 24px;color:var(--muted)}.card-meta{font-size:13px;color:var(--green)}.empty-state{text-align:center;margin-top:25px}.empty-state>span{font-size:36px;color:var(--green)}.empty-state h3{font-family:Manrope;margin:8px 0}.empty-state p{color:var(--muted)}footer{max-width:1180px;margin:70px auto 0;padding:30px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:13px}@media(max-width:760px){.welcome{display:none}.hero{margin:8px 16px 0;grid-template-columns:1fr}.hero-copy{padding:58px 28px}.hero-art{display:none}.features,.stats,.class-grid{grid-template-columns:1fr;margin-left:16px;margin-right:16px}.dashboard{margin-top:48px;padding:0 8px}.section-heading{padding:0 8px}.topbar{padding:0 16px}.brand small{display:none}footer{margin:40px 16px 0}}
