*{box-sizing:border-box} :root{--ink:#18233d;--muted:#71809b;--blue:#4169e1;--purple:#7b61d1;--line:#e7ebf3;--paper:#f8faff;--mint:#c9f4e4}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif}.topbar{height:78px;padding:0 max(6vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f6;background:#fff}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink)}.school-logo{width:66px;height:48px;object-fit:contain;border-radius:8px;background:#fff}.school-kicker{font:700 10px "DM Sans";letter-spacing:1.5px;color:#53658e;margin-bottom:14px}.brand b{display:block;font:700 14px "Space Grotesk";letter-spacing:1.5px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}.topbar nav{display:flex;gap:30px;align-items:center}.topbar nav a,.admin-link{color:#56627a;text-decoration:none;font-size:13px;font-weight:600}.admin-link{border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:white;cursor:pointer}.hero{min-height:530px;padding:70px max(8vw,28px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;background:radial-gradient(circle at 80% 45%,#f0efff 0,transparent 34%),linear-gradient(120deg,#fbfcff,#f7f9ff)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--blue)}.pulse{display:inline-block;width:7px;height:7px;background:#48c99a;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #dff8ed}.hero h1{font:700 clamp(48px,6vw,76px)/.99 "Space Grotesk";letter-spacing:-3px;margin:23px 0}.hero h1 em{font-style:normal;color:var(--blue)}.hero-text{max-width:440px;color:var(--muted);line-height:1.8;font-size:16px}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--blue);color:white;text-decoration:none;border:0;border-radius:12px;padding:15px 20px;font:700 13px "DM Sans";cursor:pointer;box-shadow:0 9px 20px #4169e133}.primary-btn:hover{background:#3157cb;transform:translateY(-1px)}.primary-btn span{font-size:19px}.hero .primary-btn{margin-top:18px}.hero-stats{display:flex;align-items:center;gap:25px;margin-top:43px}.hero-stats div{display:grid;gap:3px}.hero-stats b{font:700 23px "Space Grotesk"}.hero-stats span{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:700}.hero-stats i{height:32px;width:1px;background:#dfe4ef}.hero-art{height:360px;position:relative;max-width:490px;width:100%;margin:auto}.orbit{position:absolute;border:1px solid #d8d8f5;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:350px;height:250px;top:50px;left:55px}.orbit-two{width:420px;height:180px;top:80px;left:18px;transform:rotate(28deg)}.shape{position:absolute;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:700;box-shadow:0 18px 35px #27365c18}.shape-cube{width:105px;height:105px;background:#c9f4e4;border-radius:25px;left:65px;top:68px;font-size:58px;color:#278d70;transform:rotate(-12deg)}.shape-circle{width:130px;height:130px;background:#7665d8;border-radius:50%;right:65px;top:35px;color:#fff;font-size:67px}.shape-triangle{width:125px;height:125px;background:#ffd68e;clip-path:polygon(50% 0,100% 100%,0 100%);left:170px;bottom:35px;color:#a56812;font-size:38px;padding-top:35px}.shape-diamond{width:65px;height:65px;background:#ff9f9a;border-radius:18px;right:40px;bottom:48px;color:#963f54;font-size:35px;transform:rotate(15deg)}.math-note{position:absolute;font:600 13px "Space Grotesk";color:#7c83a3;background:#fff;padding:9px 13px;border-radius:9px;box-shadow:0 8px 25px #26365712}.note-a{top:5px;left:20px}.note-b{right:0;bottom:15px}.dot-grid{position:absolute;width:80px;height:80px;left:10px;bottom:20px;background-image:radial-gradient(#aab4db 1.5px,transparent 1.5px);background-size:12px 12px}.gallery-section{padding:85px max(8vw,28px) 100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-head h2,.about-strip h2{font:700 clamp(30px,4vw,42px) "Space Grotesk";letter-spacing:-1.5px;margin:12px 0 7px}.section-head h2 span{color:var(--blue)}.section-head p,.about-strip p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.filters{display:flex;gap:10px}.filters input,.filters select,.stack input,.stack select,.stack textarea{font:500 13px "DM Sans";border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}.filters input:focus,.filters select:focus,.stack input:focus,.stack textarea:focus{border-color:#8ca2f4;box-shadow:0 0 0 3px #4169e11a}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white;transition:.2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #1b2d5210}.preview{height:190px;background:linear-gradient(135deg,#eff2ff,#e7f8f3);display:grid;place-items:center;overflow:hidden;color:#6e75b7}.preview img,.preview video{width:100%;height:100%;object-fit:cover}.preview .file-symbol{font:700 48px "Space Grotesk"}.card-body{padding:19px}.category{font-size:9px;font-weight:800;letter-spacing:1.3px;color:var(--blue);text-transform:uppercase}.card-body h3{font:700 18px "Space Grotesk";margin:9px 0}.card-body p{font-size:12px;color:var(--muted);line-height:1.6;min-height:38px}.card-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #f0f2f7;padding-top:13px;margin-top:15px;color:#7d879d;font-size:10px}.view-link{color:var(--blue);font-weight:700;text-decoration:none}.empty-state{grid-column:1/-1;text-align:center;padding:65px 20px;color:var(--muted);border:1px dashed #d9dfed;border-radius:16px}.empty-state b{display:block;color:var(--ink);font:600 18px "Space Grotesk";margin-bottom:7px}.about-strip{margin:0 max(8vw,28px) 75px;padding:40px 45px;background:#f5f6ff;border-radius:20px;display:flex;align-items:center;gap:28px}.about-symbol{width:70px;height:70px;border-radius:20px;background:#e3e3ff;color:#7061d0;display:grid;place-items:center;font-size:42px;flex-shrink:0}.about-strip h2{font-size:30px}.about-strip p{max-width:650px}footer{padding:25px max(8vw,28px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8b94a8;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:#101a32a8;z-index:10;display:grid;place-items:center;padding:18px;overflow:auto}.modal-backdrop[hidden]{display:none}.admin-modal{position:relative;background:#fff;border-radius:20px;padding:32px;width:min(100%,450px);max-height:94vh;overflow:auto;box-shadow:0 25px 80px #0e183944}.admin-modal h2{font:700 29px "Space Grotesk";margin:9px 0}.muted,.notice{color:var(--muted);font-size:12px;line-height:1.6}.close-btn{position:absolute;right:18px;top:13px;border:0;background:none;font-size:29px;color:#7b8499;cursor:pointer}.stack{display:grid;gap:15px;margin-top:23px}.stack label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#4b5872}.stack input,.stack select,.stack textarea{width:100%;font-size:13px}.stack textarea{resize:vertical}.full{width:100%}.notice{background:#f5f7fc;padding:12px;border-radius:9px;margin-top:18px}.message{font-size:12px;color:#bd4a4a;min-height:16px}.admin-topline{display:flex;align-items:center;justify-content:space-between}.text-btn{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.upload-modal{width:min(100%,620px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-drop{border:1px dashed #aab7db;background:#f8f9ff;border-radius:12px;padding:20px;text-align:center;cursor:pointer;justify-items:center!important}.file-drop input{border:0;padding:7px;background:transparent;font-size:11px}.file-drop small{font-weight:400;color:var(--muted)}.upload-icon{font-size:25px;color:var(--blue)}.file-info{font-size:11px;color:var(--muted);margin-top:-9px}.admin-list-head{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:12px}.admin-list-head span{color:var(--muted)}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2f7;font-size:12px}.admin-row small{display:block;color:var(--muted);margin-top:4px}.delete-btn{border:1px solid #f1d9d9;color:#bb5050;background:white;border-radius:8px;padding:7px 10px;cursor:pointer}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;background:#18233d;color:white;padding:12px 18px;border-radius:10px;font-size:12px;transition:.25s;z-index:30;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.loader{width:25px;height:25px;border:3px solid #e4e9f5;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:55px}.hero-art{height:300px;transform:scale(.9);margin-top:0}.section-head{align-items:start;flex-direction:column}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{width:100%}.filters>*{flex:1;min-width:0}.about-strip{padding:28px}.topbar nav{gap:14px}}@media(max-width:540px){.school-logo{width:52px;height:40px}.brand b{font-size:11px}.brand small{font-size:8px}.topbar{height:68px}.topbar nav a{display:none}.hero{padding:48px 24px 30px}.hero h1{font-size:54px}.hero-art{margin-left:-12px;width:calc(100% + 24px);transform:scale(.78);transform-origin:top center;height:250px;margin-bottom:-25px}.gallery-section{padding:60px 20px}.project-grid{grid-template-columns:1fr}.filters{flex-direction:column}.about-strip{margin:0 20px 50px;display:block}.about-symbol{margin-bottom:20px}footer{padding:22px;gap:15px;flex-direction:column}.two-col{grid-template-columns:1fr}.admin-modal{padding:25px 20px}}
