@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#153b37;--deep:#0d2928;--deep2:#163a35;--cream:#f4efe4;--paper:#fbf8f1;--gold:#d5b56f;--sage:#8fae8b;--line:rgba(21,59,55,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Serif SC",serif;overflow-x:hidden}.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.nav{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.11)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:600;letter-spacing:.16em}.brand-mark{width:40px;height:40px;border:1px solid rgba(213,181,111,.65);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:14px}.brand small{display:block;font-family:Arial,sans-serif;font-size:7px;letter-spacing:.26em;opacity:.62;margin-top:4px}.nav nav{display:flex;gap:42px}.nav nav a{color:rgba(255,255,255,.7);font-size:13px;text-decoration:none;letter-spacing:.12em;transition:.3s}.nav nav a:hover{color:#fff}.nav-cta{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:40px;padding:11px 19px;font-family:inherit;cursor:pointer;letter-spacing:.1em}.nav-cta span{color:var(--gold);margin-left:8px}.hero{height:max(780px,100vh);min-height:780px;background:radial-gradient(circle at 73% 34%,#214a40 0,#102e2d 34%,#091f22 72%);position:relative;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,21,.25),transparent 50%),linear-gradient(0deg,rgba(3,16,17,.55),transparent 40%);pointer-events:none}.stars{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(circle,#e7d7a7 1px,transparent 1.4px),radial-gradient(circle,#fff 1px,transparent 1.4px);background-size:103px 107px,173px 181px;background-position:18px 12px,44px 63px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.moon{position:absolute;right:14%;top:15%;width:165px;height:165px;border-radius:50%;background:#f0dfae;box-shadow:0 0 80px 25px rgba(224,199,126,.16),inset -20px -12px 30px rgba(196,159,94,.18)}.moon span:before,.moon span:after{content:"";position:absolute;border-radius:50%;background:rgba(167,133,78,.1)}.moon span:before{width:30px;height:30px;top:25px;left:38px}.moon span:after{width:48px;height:42px;right:18px;bottom:34px}.hero-copy{position:absolute;z-index:4;left:9vw;top:25%;width:45%;max-width:620px}.eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#d8c895;margin:0 0 28px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.hero h1{font-size:clamp(48px,5.2vw,79px);line-height:1.28;font-weight:500;letter-spacing:.08em;margin:0 0 28px;text-shadow:0 4px 30px rgba(0,0,0,.18)}.lead{max-width:520px;color:rgba(255,255,255,.68);line-height:2.1;font-size:14px;letter-spacing:.09em}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.primary{border:0;border-radius:2px;background:var(--gold);color:#16342f;padding:15px 23px;font:500 13px inherit;letter-spacing:.1em;cursor:pointer;box-shadow:0 8px 35px rgba(213,181,111,.16);transition:.3s}.primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.primary span{margin-left:20px}.text-link{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:6px}.text-link span{margin-left:8px;color:var(--gold)}.tree-scene{position:absolute;z-index:3;right:-2%;bottom:-20px;width:min(59vw,760px);height:min(83vh,800px)}.tree-svg{height:100%;width:100%;overflow:visible;filter:drop-shadow(0 20px 20px rgba(0,0,0,.3))}.branches path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:grow 2.4s .25s ease-out forwards}.tree-glow{position:absolute;left:44%;top:27%;width:25%;height:35%;background:rgba(170,216,157,.13);filter:blur(40px);border-radius:50%}.leaf{cursor:pointer;transform-box:fill-box;transform-origin:center;animation:leafIn .8s both, sway 5s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(184,226,159,.35))}.leaf:hover{filter:brightness(1.5) drop-shadow(0 0 9px #dfe9a4)}.tree-ground{position:absolute;bottom:15px;left:24%;width:60%;height:26px;border-radius:50%;background:#071b1b;filter:blur(7px)}.tree-caption{position:absolute;right:3%;bottom:16%;display:flex;gap:11px;color:rgba(255,255,255,.55);font-size:10px;line-height:1.8;letter-spacing:.08em}.tree-caption span{width:34px;height:1px;background:var(--gold);margin-top:8px}.tree-caption p{margin:0}.tree-caption strong{color:rgba(255,255,255,.8);font-weight:400}.stats{position:absolute;z-index:5;left:9vw;bottom:6.5%;display:flex;gap:55px}.stats div{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:9px}.stats strong{font:italic 600 29px "Playfair Display",serif;color:#e5d7aa}.stats span{font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.5);padding-bottom:5px}.scroll-note{position:absolute;z-index:5;right:5.5vw;bottom:5%;font:8px Arial;letter-spacing:.25em;color:rgba(255,255,255,.35);writing-mode:vertical-rl}.scroll-note span{font-size:16px;margin-top:10px;color:var(--gold)}
.registry{padding:120px 8vw 130px;background:var(--paper);min-height:700px}.section-heading{text-align:center;max-width:660px;margin:0 auto 70px}.eyebrow.dark{color:#78907e;justify-content:center}.section-heading h2,.join h2{font-size:clamp(38px,4vw,60px);font-weight:500;letter-spacing:.08em;margin:0 0 22px}.section-heading h2 em{font-family:"Playfair Display",serif;color:#b08b48}.section-heading>p:last-child{color:#6e7b74;font-size:13px;line-height:2}.filters{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px}.year-tabs{display:flex;gap:5px;overflow:auto}.year-tabs button{border:0;background:transparent;color:#71827a;padding:8px 15px;font:12px inherit;cursor:pointer;white-space:nowrap}.year-tabs button.active{background:var(--ink);color:#fff;border-radius:20px}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #8ba097;padding:7px}.search input{border:0;outline:0;background:transparent;font:12px inherit;width:145px;color:var(--ink)}.student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.student-card{min-height:245px;border:1px solid var(--line);background:rgba(255,255,255,.44);padding:31px 28px;position:relative;overflow:hidden;transition:.4s;animation:fadeUp .5s both}.student-card:before{content:"“";position:absolute;right:18px;top:-12px;font:100px "Playfair Display",serif;color:rgba(21,59,55,.05)}.student-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 18px 50px rgba(24,58,48,.08)}.card-top{display:flex;align-items:center;justify-content:space-between}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px;background:linear-gradient(145deg,#496c60,#9aae87)}.student-card small{font:10px Arial;color:#98a69f;letter-spacing:.15em}.student-card p{color:#546961;line-height:1.9;font-size:13px;min-height:74px;margin:25px 0}.student-card footer{display:flex;justify-content:space-between;align-items:center}.student-card strong{font-size:14px;letter-spacing:.12em}.leaf-icon{color:#94a67c}.empty{text-align:center;color:#819087;padding:70px}.quote-band{min-height:420px;background:linear-gradient(135deg,#173a35,#0d2828);color:#fff;display:grid;place-content:center;text-align:center;position:relative;overflow:hidden}.cell-pattern{position:absolute;inset:0;opacity:.07;background:radial-gradient(circle at 50% 50%,transparent 25px,#d8c895 26px,#d8c895 27px,transparent 28px);background-size:90px 78px}.quote-band p{position:relative;font-size:clamp(28px,3.2vw,49px);line-height:1.7;letter-spacing:.12em;margin:0 0 24px}.quote-band em{color:#dac17c}.quote-band span{position:relative;color:rgba(255,255,255,.5);font-size:11px;letter-spacing:.18em}.join{display:grid;grid-template-columns:1fr 1fr;gap:13vw;padding:120px 11vw;align-items:end}.join .eyebrow{justify-content:flex-start}.join h2{margin:0}.join-copy{color:#65776f;line-height:2;font-size:13px}.dark-btn{margin-top:22px;background:var(--ink);color:#fff}footer{background:#0a2323;color:rgba(255,255,255,.54);padding:45px 7vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em}.footer-brand{color:#fff}footer button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}
.modal{width:min(560px,calc(100% - 28px));border:0;padding:48px;background:#faf7ef;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal::backdrop{background:rgba(5,24,23,.76);backdrop-filter:blur(7px)}.modal .close{position:absolute;right:20px;top:16px;border:0;background:none;font-size:28px;color:#819087;cursor:pointer}.modal .eyebrow{justify-content:flex-start;margin-bottom:18px}.modal h3{font-size:32px;font-weight:500;margin:0}.modal-intro{font-size:12px;color:#73847c;line-height:1.8;margin-bottom:28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form label{font-size:11px;letter-spacing:.08em;color:#64776e;display:block;position:relative}input,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px;margin-top:7px;outline:none;color:var(--ink);font:13px inherit}input:focus,textarea:focus{border-color:#8ba58e}textarea{min-height:110px;resize:vertical}.counter{position:absolute;right:10px;bottom:9px;font:9px Arial;color:#a1aca7}.form-submit{width:100%;margin-top:18px}.form-status{text-align:center;min-height:19px;font-size:11px;color:#537962}.admin-modal{width:min(720px,calc(100% - 28px));max-height:86vh}.admin-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:20px}.ghost{border:1px solid var(--line);background:transparent;padding:7px 12px;color:var(--ink);cursor:pointer}.admin-list{max-height:420px;overflow:auto}.admin-item{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px}.admin-item p{margin:4px 0;font-size:12px;color:#65776f}.admin-item small{color:#9a865a}.admin-actions{display:flex;gap:6px;align-items:center}.admin-actions button{border:0;padding:7px 10px;cursor:pointer;font:10px inherit}.approve{background:var(--ink);color:#fff}.delete{background:#efe6df;color:#8b5746}.leaf-card{position:fixed;z-index:60;width:250px;background:rgba(250,247,239,.97);color:var(--ink);padding:22px;box-shadow:0 15px 60px rgba(0,0,0,.32);border:1px solid rgba(213,181,111,.5);pointer-events:auto}.leaf-card button{position:absolute;right:8px;top:5px;border:0;background:none;cursor:pointer}.leaf-card small{font:9px Arial;color:#a48b50;letter-spacing:.16em}.leaf-card strong{display:block;margin:9px 0;font-size:16px}.leaf-card p{font-size:11px;line-height:1.8;margin:0;color:#65776f}
@keyframes grow{to{stroke-dashoffset:0}}@keyframes leafIn{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes sway{from{rotate:-2deg}to{rotate:3deg}}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:fadeUp .8s both}
@media(max-width:900px){.nav{height:72px;padding:0 22px}.nav nav{display:none}.brand{font-size:13px}.hero{min-height:900px;height:100svh}.hero-copy{left:7vw;top:17%;width:86%;text-align:center}.hero-copy .eyebrow{justify-content:center}.hero h1{font-size:46px}.lead{margin:auto}.hero-actions{justify-content:center}.tree-scene{width:88vw;height:52vh;right:4%;bottom:0;opacity:.92}.moon{width:100px;height:100px;right:7%;top:12%}.stats{left:7vw;bottom:3%;gap:22px}.tree-caption,.scroll-note{display:none}.student-grid{grid-template-columns:repeat(2,1fr)}.join{gap:7vw;padding:90px 7vw}.registry{padding:90px 5vw}.filters{align-items:flex-end;gap:15px}}
@media(max-width:600px){.nav-cta{padding:9px 12px;font-size:11px}.hero{min-height:820px}.hero-copy{top:15%}.hero h1{font-size:38px}.lead{font-size:12px}.hero-actions{flex-direction:column;gap:19px;margin-top:25px}.tree-scene{height:46vh;width:110vw;right:-5%;bottom:4px}.stats{left:0;width:100%;justify-content:center}.stats strong{font-size:23px}.stats div{display:flex;flex-direction:column;align-items:center}.student-grid{grid-template-columns:1fr}.filters{display:block}.search{margin-top:15px}.search input{width:100%}.join{grid-template-columns:1fr;gap:25px}.quote-band{min-height:340px;padding:30px}.field-row{grid-template-columns:1fr}.modal{padding:38px 24px}footer{display:block;text-align:center}.footer-brand{justify-content:center;margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Immersive motion layer */
.cursor-glow{position:fixed;z-index:2;width:340px;height:340px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(218,193,124,.1),transparent 68%);transform:translate(-50%,-50%);left:-500px;top:-500px;mix-blend-mode:screen;will-change:left,top}
#petalCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:18;pointer-events:none}
.moon{animation:moonBreath 6s ease-in-out infinite;will-change:transform}
.tree-scene{will-change:transform;transition:transform .15s linear}
.leaf{animation:leafIn .8s both,sway 5s ease-in-out infinite alternate,leafPulse 4s ease-in-out infinite;transition:filter .25s,opacity .25s}
.leaf.wave{filter:brightness(1.9) drop-shadow(0 0 12px #e6e8a3);opacity:1!important}
.orbit{position:absolute;z-index:1;border:1px solid rgba(216,200,149,.1);border-radius:50%;right:9%;top:10%;pointer-events:none}
.orbit:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#dec983;box-shadow:0 0 13px #dec983;left:50%;top:-3px}
.orbit-one{width:260px;height:260px;animation:orbit 22s linear infinite}
.orbit-two{width:340px;height:340px;right:6.5%;top:5.5%;animation:orbit 34s linear infinite reverse}
.living-note{position:absolute;z-index:6;right:7vw;top:52%;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.45);font:9px Arial;letter-spacing:.2em;transform:rotate(90deg);transform-origin:right}
.living-note i{width:7px;height:7px;border-radius:50%;background:#9fc48b;animation:alive 2s infinite}
.scroll-note span{display:inline-block;animation:scrollHint 1.7s ease-in-out infinite}
.student-card{transform-style:preserve-3d;will-change:transform;transition:box-shadow .35s,background .35s,border-color .35s}
.student-card>*{transform:translateZ(16px)}
.student-card:hover{border-color:rgba(176,139,72,.35);box-shadow:0 24px 60px rgba(24,58,48,.13)}
.reveal-section{opacity:0;transform:translateY(55px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.reveal-section.visible{opacity:1;transform:none}
@keyframes leafPulse{0%,100%{opacity:.68}50%{opacity:1}}
@keyframes moonBreath{0%,100%{box-shadow:0 0 70px 20px rgba(224,199,126,.14),inset -20px -12px 30px rgba(196,159,94,.18)}50%{box-shadow:0 0 115px 38px rgba(224,199,126,.22),inset -20px -12px 30px rgba(196,159,94,.18)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes alive{0%{box-shadow:0 0 0 0 rgba(159,196,139,.5)}70%{box-shadow:0 0 0 9px rgba(159,196,139,0)}100%{box-shadow:0 0 0 0 rgba(159,196,139,0)}}
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media(max-width:900px){.cursor-glow,.living-note{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none}#petalCanvas,.cursor-glow{display:none}}
.student-card.pending-preview{border-color:rgba(213,181,111,.7);background:linear-gradient(135deg,#fffdf6,#f4edda);box-shadow:0 0 0 3px rgba(213,181,111,.08),0 18px 55px rgba(151,118,51,.12)}
.student-card.pending-preview:after{content:"NEW LEAF";position:absolute;right:-32px;bottom:17px;transform:rotate(-42deg);background:#d5b56f;color:#173b37;width:130px;text-align:center;padding:4px;font:8px Arial;letter-spacing:.18em}
.privacy-box{display:flex;gap:13px;background:#edf3ec;border:1px solid rgba(83,121,98,.18);padding:15px;margin-top:14px;color:#355d4f}.privacy-icon{width:28px;height:28px;border-radius:50%;background:#dce9da;display:grid;place-items:center;flex:0 0 auto;font-size:10px}.privacy-box strong{font-size:12px}.privacy-box p{font-size:10px;line-height:1.7;margin:4px 0 9px;color:#6b8077}.consent{display:flex!important;align-items:center;gap:7px;font-size:10px!important;cursor:pointer}.consent input{width:14px;height:14px;margin:0;accent-color:#315e50}.student-card.private-leaf{background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(230,238,228,.5))}.student-card.private-leaf p{font-style:italic;color:#829088}.student-card.private-leaf .leaf-icon{color:#78977f}
