:root{--bg:#07111f;--bg-2:#0d1c31;--card:rgba(11,20,34,.76);--card-2:hsla(0,0%,100%,.06);--line:hsla(0,0%,100%,.12);--text:#f4f7fb;--muted:#a8b4c7;--accent:#93f5c7;--accent-2:#8cb5ff;--warm:#f2bf73;--shadow:0 20px 60px rgba(0,0,0,.35);--radius:24px;--font-body:"Manrope",system-ui,sans-serif;--font-display:"Fraunces",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left,rgba(147,245,199,.18),transparent 28%),radial-gradient(circle at top right,rgba(140,181,255,.14),transparent 30%),linear-gradient(180deg,#06101d,#0b1728);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000,transparent 88%);opacity:.2}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{width:min(1240px,calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:16px;z-index:20;margin:16px 0 24px;gap:18px;justify-content:space-between;padding:14px 18px;background:rgba(7,17,31,.72);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}.brand,.site-header{display:flex;align-items:center}.brand{gap:14px}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(147,245,199,.18),rgba(140,181,255,.22));border:1px solid hsla(0,0%,100%,.14);color:var(--accent)}.brand-mark,.brand-name{font-weight:800;letter-spacing:.08em}.brand-name{font-size:.88rem}.brand-subtitle{font-size:.72rem;color:var(--muted)}.site-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.site-nav a{font-size:.86rem;color:var(--muted)}.site-nav a:hover{color:var(--text)}.menu-toggle{display:none}.button,.chip,.cta-pill{border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.button,.cta-pill{border-radius:999px;padding:14px 20px;font-weight:700}.button.primary,.cta-pill{color:#05101b;background:linear-gradient(135deg,var(--accent),#d5f5d8);box-shadow:0 10px 30px rgba(147,245,199,.25)}.button.secondary,.cta-pill.secondary{background:hsla(0,0%,100%,.08)}.button.ghost,.button.secondary,.cta-pill.secondary{color:var(--text);border:1px solid hsla(0,0%,100%,.12)}.button.ghost{background:transparent}.button:hover,.chip:hover,.cta-pill:hover{transform:translateY(-2px)}.section{padding:48px 0}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;min-height:calc(100vh - 140px)}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:800;margin:0 0 12px}h1,h2,h3{font-family:var(--font-display);margin:0}h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.94;max-width:11ch}h2{font-size:clamp(2rem,3vw,3.4rem);line-height:1.02;max-width:14ch}.contact-card p,.lede,.teacher-cta p{font-size:1.02rem;line-height:1.7;color:var(--muted);max-width:58ch}.filter-row,.hero-actions,.hero-points,.search-row,.toolbar{display:flex;flex-wrap:wrap;gap:12px}.hero-actions{margin:28px 0 16px}.chip,.hero-points span,.meta-tag,.metric-label,.stage-label{font-size:.76rem;padding:8px 12px;border-radius:999px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1)}.hero-stage,.stage-panel{position:relative}.stage-panel{min-height:640px;border-radius:34px;overflow:hidden;background:linear-gradient(180deg,rgba(12,22,40,.72),rgba(10,16,30,.86));border:1px solid hsla(0,0%,100%,.12);box-shadow:var(--shadow)}#library-canvas{width:100%;height:640px;display:block}.stage-float{position:absolute;padding:10px 14px;border-radius:16px;background:rgba(7,17,31,.75);border:1px solid hsla(0,0%,100%,.14);backdrop-filter:blur(12px);font-size:.82rem;color:var(--text);animation:drift 6s ease-in-out infinite}.stage-float-a{top:18px;left:18px}.stage-float-b{bottom:120px;left:18px;animation-delay:-1.5s}.stage-float-c{right:18px;bottom:26px;animation-delay:-3s}@keyframes drift{50%{transform:translateY(-8px)}}.section-heading{margin-bottom:20px}.card,.contact-card,.preview-box,.pricing-card,.recommendation-card,.resource-panel,.search-card,.stat-card,.teacher-cta{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.contact-card,.resource-panel,.search-card,.teacher-cta{border-radius:28px;padding:22px}.search-row input{flex:1;min-width:220px;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);color:var(--text);padding:14px 18px}.search-row input::placeholder{color:#9fb0c6}.filter-row{margin:18px 0 8px}.chip{color:var(--text)}.chip.is-active{background:rgba(147,245,199,.16);border-color:rgba(147,245,199,.3);color:var(--accent)}.card-grid,.pricing-grid,.recommendation-rail,.results-grid,.stats-grid{display:grid;gap:16px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.pricing-card,.recommendation-card,.stat-card{border-radius:24px;padding:18px;transform-style:preserve-3d}.card:hover,.pricing-card:hover,.recommendation-card:hover,.stat-card:hover{transform:translateY(-5px) rotateX(3deg)}.card h3,.pricing-card h3,.recommendation-card h3,.stat-card h3{font-size:1.08rem;margin-bottom:10px}.card p,.pricing-card p,.recommendation-card p,.stat-card p{color:var(--muted);line-height:1.6}.meta-row,.price-row,.stat-top{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.resource-columns,.teacher-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.preview-box{border-radius:24px;padding:20px;min-height:300px}.preview-box .preview-title{font-family:var(--font-display);font-size:1.6rem;margin-bottom:10px}.preview-list{display:grid;gap:10px;margin-top:16px}.dash-line,.preview-list div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08)}.recommendation-rail{grid-template-columns:repeat(5,minmax(220px,1fr));overflow:auto;padding-bottom:8px}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-value{font-size:2.2rem;font-family:var(--font-display);margin:14px 0 6px}.progress{height:10px;background:hsla(0,0%,100%,.08);border-radius:999px;overflow:hidden;margin-top:12px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.pricing-card.featured{background:linear-gradient(180deg,rgba(147,245,199,.15),rgba(11,20,34,.84))}.price{font-size:2rem;font-family:var(--font-display)}.contact-section{padding-bottom:80px}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(1,7,14,.75);padding:20px}.modal.hidden{display:none}.modal-card{position:relative;width:min(720px,100%);border-radius:30px;background:rgba(10,19,33,.95);border:1px solid hsla(0,0%,100%,.14);box-shadow:var(--shadow);padding:24px}.modal-close{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;color:var(--text);background:hsla(0,0%,100%,.08);border:0;cursor:pointer}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:1100px){.card-grid,.hero,.pricing-grid,.resource-columns,.results-grid,.stats-grid,.teacher-layout{grid-template-columns:1fr 1fr}.recommendation-rail{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (max-width:820px){.site-header{border-radius:28px;flex-wrap:wrap}.menu-toggle{display:inline-flex;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.06);color:var(--text);padding:12px 14px}.site-nav{display:none;flex-direction:column;align-items:flex-start;width:100%;padding-top:8px}.site-header.nav-open .site-nav{display:flex}.card-grid,.hero,.pricing-grid,.resource-columns,.results-grid,.stats-grid,.teacher-layout{grid-template-columns:1fr}.hero{min-height:auto;padding-top:12px}#library-canvas,.stage-panel{height:460px;min-height:460px}h1{font-size:clamp(2.5rem,10vw,4rem)}}@media (max-width:560px){.page-shell{width:min(100% - 20px,1240px)}.site-header{padding:14px}.brand-name,.brand-subtitle{font-size:.76rem}.search-row input{min-width:100%}}