@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--cream:#f7fbfe;--ink:#243d4e;--muted:#596d7b;--blue:#7bafd4;--blue-ink:#173b55;--blue-text:#477a9d;--blue-pale:#e6f1f8;--brown:#5a3224;--line:#d2e2ed;--gold:#efc575;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--cream);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}:is(button:focus-visible,a:focus-visible,summary:focus-visible){outline-offset:5px;outline:3px solid #e99c30}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em;line-height:1.08}h2{font-size:44px}h3{font-family:var(--serif);font-size:26px;line-height:1.2}em{font-weight:400}svg{flex-shrink:0}button{border:0}.section-shell{max-width:1240px;margin:auto;padding-left:50px;padding-right:50px}.eyebrow{letter-spacing:.16em;color:var(--blue-ink);font-size:10px;font-weight:700;line-height:1.6;display:block}.announcement{background:var(--blue);color:var(--blue-ink);justify-content:center;align-items:center;gap:22px;padding:8px 15px;font-size:11px;display:flex}.announcement span{letter-spacing:.15em;font-size:9px;font-weight:700}.announcement p{opacity:.95}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1360px;height:99px;margin:auto;padding:0 60px;display:flex}.brand{align-items:center;gap:12px;font-size:16px;font-weight:650;line-height:1.3;display:flex}.brand small{letter-spacing:.13em;color:var(--muted);margin-top:5px;font-size:8px;font-weight:600;display:block}.brand-mark{border:1px solid var(--blue);background:var(--blue-pale);width:44px;height:49px;color:var(--blue-ink);font-family:var(--serif);border-radius:24px 24px 5px 5px;flex-direction:column;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.brand-mark span{padding-top:6px;font-size:10px}.site-header nav{align-items:center;gap:30px;font-size:12px;font-weight:600;display:flex}.site-header nav>a:hover{color:var(--blue-ink)}.button{background:var(--blue);color:var(--blue-ink);border-radius:6px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:16px 22px;font-size:13px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#a4c9e3;transform:translateY(-1px)}.button.small{gap:14px;min-height:40px;padding:11px 17px;font-size:12px}.button.light{color:var(--blue-ink);background:var(--cream)}.button.light:hover{background:var(--blue-pale)}.text-link{background:0 0;align-items:center;gap:10px;padding:0;font-size:12px;font-weight:650;display:inline-flex}.text-link:hover{color:var(--blue-ink)}.menu-toggle{display:none}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;min-height:650px;padding-top:60px;padding-bottom:68px;display:grid;overflow:hidden}.status{align-items:center;gap:8px;margin-bottom:22px;font-size:9px;display:flex}.status>span{background:var(--blue);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #7bafd426}.hero h1{color:var(--brown);letter-spacing:-.055em;font-size:clamp(58px,6.4vw,85px);line-height:1.02}.hero h1 em{color:var(--blue-text)}.hero-description{letter-spacing:-.025em;margin-top:24px;font-size:22px;font-weight:500;line-height:1.35}.hero-description span{color:var(--blue-ink)}.hero-body{color:var(--muted);max-width:375px;margin-top:17px;font-size:13px;line-height:1.8}.hero-actions{align-items:center;gap:23px;margin-top:28px;display:flex}.hero-note{color:var(--muted);align-items:center;gap:11px;margin-top:32px;font-size:9px;line-height:1.7;display:flex}.hero-note strong{font-weight:500}.mini-heart{border:1px solid var(--line);width:33px;height:33px;color:var(--blue-ink);border-radius:50%;place-items:center;display:grid}.chocolate-scene{isolation:isolate;place-items:center;height:520px;display:grid;position:relative}.scene-ring{z-index:-1;border:1px solid #c7dfea;border-radius:50%;position:absolute}.ring-one{background:radial-gradient(#c9e2f380,#0000 70%);width:420px;height:420px}.ring-two{border-style:dashed;border-color:#cddfec;width:480px;height:480px}.chocolate-bar{filter:drop-shadow(17px 24px 12px #62452526);width:240px;height:417px;margin-top:5px;position:relative;transform:rotate(-12deg)}.chocolate-top{background:#4f2b20;border:3px solid #663d2a;border-radius:9px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;display:grid;position:absolute;inset:0 3px 50px;overflow:hidden;box-shadow:inset 4px 0 #805235,7px 2px #351e18}.chocolate-piece{background:linear-gradient(135deg,#824d34,#583020);border:6px ridge #8e593d;border-radius:5px;place-items:center;display:grid;box-shadow:inset 0 0 10px #34170e99}.chocolate-piece span{color:#b0795138;text-shadow:1px 1px #331c1344;font-size:25px}.foil{clip-path:polygon(0 16%,9% 24%,18% 5%,27% 19%,34% 0,46% 16%,55% 3%,67% 18%,81% 0,88% 22%,100% 8%,100% 100%,0 100%);background:linear-gradient(110deg,#aaa69e,#f8f7eb 22%,#b4b3aa 43%,#f3f1e3 52%,#888e8b 71%,#f3eddf);height:55px;position:absolute;top:164px;left:-6px;right:-10px}.wrapper{background:var(--blue);color:var(--blue-ink);border-left:3px solid #bad9ef;border-right:8px solid #527f9f;flex-direction:column;align-items:center;padding:11px 12px;display:flex;position:absolute;inset:191px -7px -3px;overflow:hidden;box-shadow:0 3px 2px #0002}.wrapper:after{content:"";pointer-events:none;background:linear-gradient(100deg,#fff1,#0000 40%,#0001);position:absolute;inset:0}.greek-line{opacity:.7;background:repeating-linear-gradient(90deg,#0000 0 3px,#315974 3px 5px,#0000 5px 9px);border-top:1px solid #315974;border-bottom:1px solid #315974;flex-shrink:0;width:100%;height:8px}.wrapper-small{letter-spacing:.18em;margin-top:16px;font-size:5.8px}.wrapper-title{font:30px/1.03 var(--serif);text-align:center;letter-spacing:-1px;margin-top:9px}.wrapper-title em{font-size:29px}.wrapper-seal{width:44px;height:44px;color:var(--blue-ink);border:1px solid #31597480;border-radius:50%;place-items:center;margin-top:15px;display:grid}.wrapper-bottom{letter-spacing:.14em;margin:11px 0 14px;font-size:5px}.round-sticker{background:var(--gold);color:#563d23;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:107px;height:107px;display:flex;position:absolute;top:52px;right:3px;transform:rotate(14deg);box-shadow:0 2px #aa854921}.round-sticker span{letter-spacing:.1em;font-size:6px;font-weight:700}.scene-star{color:var(--blue);position:absolute}.star-one{font-size:39px;top:87px;left:16px;transform:rotate(12deg)}.star-two{font-size:36px;bottom:83px;right:18px}.star-three{color:#9e7744;font-size:30px;bottom:105px;left:16px}.handwritten{font:italic 18px/1.05 var(--serif);color:#6b5d48;position:absolute;top:226px;right:-10px;transform:rotate(8deg)}.handwritten svg{fill:none;stroke:#8c7e63;stroke-width:1.5px;width:55px;height:60px;margin-left:23px;display:block}.ribbon{background:var(--blue-pale);border-block:1px solid var(--line);color:var(--blue-ink);letter-spacing:.16em;white-space:nowrap;justify-content:space-around;align-items:center;gap:25px;padding:15px 24px;font-size:9px;font-weight:600;display:flex;overflow:hidden}.ribbon span:nth-child(2n){color:var(--blue-ink);font-size:15px}.section-intro{justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px;display:flex}.section-intro h2{margin-top:10px}.section-intro>p{color:var(--muted);max-width:295px;font-size:12px;line-height:1.8}.progress-section{padding-top:77px;padding-bottom:80px}.progress-layout{grid-template-columns:1.08fr 1fr;align-items:center;gap:60px;display:grid}.goal-card{border:1px solid var(--line);box-shadow:0 5px 0 var(--blue-pale);background:#fff;border-radius:12px;padding:27px 29px}.goal-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.caps{letter-spacing:.13em;font-size:9px;font-weight:650}.pill{color:var(--blue-ink);background:var(--blue-pale);border-radius:20px;padding:5px 11px;font-size:9px}.goal-number{font-family:var(--serif);margin-top:18px;font-size:54px;line-height:1.2}.goal-number span{font:12px var(--sans);color:var(--muted);margin-left:10px}.goal-target{color:var(--muted);margin-top:3px;font-size:11px}.goal-bottom{justify-content:space-between;margin-top:10px;font-size:10px;font-weight:550;display:flex}.fine-print{color:var(--muted);font-size:10px;line-height:1.6}.goal-card .fine-print{margin-top:19px;font-size:9px}.milestones h3{margin:8px 0 18px;font-size:31px}.milestone{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:13px 0;display:flex}.milestone-icon{color:#907345;border:1px solid #e0d4bc;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.milestone-icon.unlocked{color:#426631;background:#e1ead9}.milestone strong{font-size:11px;font-weight:650}.milestone p{color:var(--muted);margin-top:2px;font-size:10px}.milestones>.fine-print{margin-top:14px;font-size:9px;display:block}.unlocked-label{color:#426631;margin-left:auto;font-size:9px}.how-section{background:var(--blue-pale);border-block:1px solid var(--line);padding:64px 0 30px}.steps{grid-template-columns:repeat(3,1fr);gap:58px;margin-top:38px;display:grid}.steps article{position:relative}.step-icon{width:62px;height:62px;color:var(--blue-ink);background:var(--cream);border:1px solid #bad3e4;border-radius:50%;place-items:center;display:grid}.step-number{color:#9dbed5;font:39px var(--serif);position:absolute;top:5px;right:0}.steps h3{margin-top:20px;font-size:25px}.steps p{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.9}.date-strip{border-top:1px solid #c4dbe9;justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding-top:27px;display:flex}.date-strip span{letter-spacing:.14em;color:var(--muted);font-size:8px;display:block}.date-strip strong{margin-top:4px;font-size:12px;font-weight:500;display:block}.date-strip .text-link{color:var(--blue-ink)}.grade-section{padding-top:75px;padding-bottom:60px}.filter-label{color:var(--muted);align-items:center;gap:10px;font-size:10px;display:flex}.filter-label select{background:0 0;width:auto;min-height:38px;font-size:11px}.grade-board{border-top:1px solid var(--line)}.grade-row{border-bottom:1px solid var(--line);grid-template-columns:34px 150px 1fr 105px;align-items:center;gap:16px;padding:15px 0;display:grid}.grade-token{background:var(--blue-pale);width:32px;height:32px;font-family:var(--serif);border:1px solid #c6dfef;border-radius:9px;place-items:center;font-size:16px;display:grid}.grade-row:nth-child(3n+2) .grade-token{color:var(--blue-ink);background:#d6e9f6;border-color:#b8d8ed}.grade-row:nth-child(3n) .grade-token{color:var(--blue-ink);background:#ecf5fb;border-color:#d2e5f2}.grade-row strong{font-size:12px;font-weight:550}.grade-track{background:#e0edf5;border-radius:4px;height:6px;overflow:hidden}.grade-track span{background:var(--blue);border-radius:4px;height:100%;display:block}.grade-count{color:var(--muted);text-align:right;font-size:10px}.board-note{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:10px;display:flex}.guide-section{grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:45px;padding-bottom:85px;display:grid}.guide-title h2{margin-top:14px}.guide-title p{color:var(--muted);margin-top:20px;font-size:12px;line-height:1.8}.guide-title .text-link{margin-top:20px}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:19px 0;font-size:12px;font-weight:550;list-style:none;display:flex}.faqs summary::-webkit-details-marker{display:none}.faqs summary svg{color:#967a53;transition:transform .2s}.faqs details[open] svg{transform:rotate(45deg)}.faqs details p{color:var(--muted);padding:0 30px 20px 0;font-size:12px;line-height:1.8}.faqs>.button{margin-top:20px}.join-section{text-align:center;background:var(--blue);color:var(--blue-ink);padding:66px 24px 72px;position:relative;overflow:hidden}.join-section>.eyebrow{color:var(--blue-ink)}.join-section h2{margin-top:17px;font-size:60px}.join-section h2 em{color:var(--blue-ink)}.join-section p{color:var(--blue-ink);margin-top:20px;font-size:12px;line-height:1.8}.join-actions{justify-content:center;align-items:center;gap:25px;margin-top:28px;display:flex}.share-button{color:var(--blue-ink);background:0 0;align-items:center;gap:8px;font-size:11px;display:flex}.join-star{color:#31597450;font-size:55px;position:absolute;top:45%;left:15%;transform:rotate(-15deg)}.join-section:after{content:"✧";color:#31597450;font-size:80px;position:absolute;top:28%;right:14%}.site-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;padding-top:39px;padding-bottom:25px;display:flex}.site-footer .brand{font-size:14px}.site-footer>div{color:var(--muted);gap:28px;font-size:10px;display:flex}.site-footer>div a{align-items:center;gap:6px;display:flex}.site-footer>p{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;width:100%;padding-top:22px;font-size:9px;display:flex}.join-dialog{border:1px solid var(--line);background:var(--cream);width:min(490px,100% - 30px);color:var(--ink);border-radius:15px;max-height:90vh;padding:35px;box-shadow:0 30px 120px #1f1b1644}.join-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1b1677}.dialog-close{color:var(--muted);background:0 0;place-items:center;padding:6px;display:grid;position:absolute;top:15px;right:15px}.join-dialog h2{margin:15px 0;font-size:35px}.join-dialog>p{color:var(--muted);font-size:12px}.interest-form{flex-direction:column;gap:15px;margin-top:23px;display:flex}label{flex-direction:column;gap:7px;font-size:11px;font-weight:600;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bfd5e3;border-radius:5px;outline:none;min-height:44px;padding:11px 12px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--blue-ink);box-shadow:0 0 0 3px #7bafd433}textarea{resize:vertical;min-height:86px}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.checkbox-label{flex-direction:row;align-items:flex-start;gap:10px;font-size:10px;font-weight:400;line-height:1.7;display:flex}.checkbox-label input{width:15px;min-height:15px;accent-color:var(--blue-ink);flex-shrink:0;margin:3px 0 0}.honeypot{position:absolute;left:-9999px}.interest-form .fine-print{justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.error{color:#963c27;background:#f8e5df;border-radius:5px;margin-top:12px;padding:12px 15px;font-size:12px}.success-state{text-align:center;padding:20px 0}.success-state p{color:var(--muted);margin:20px 0 25px;font-size:13px}.success-icon{color:#53653e;background:#e5ead6;border-radius:50%;place-items:center;width:65px;height:65px;margin:0 auto 23px;display:grid}.access-page{min-height:100vh;padding:40px}.access-card{max-width:480px;margin:12vh auto}.access-card h1{margin:20px 0;font-size:55px}.access-card p{color:var(--muted);margin-bottom:25px;font-size:14px}.access-card>.text-link{margin-top:20px;display:block}.admin-shell{background:var(--cream);min-height:100vh;display:flex}.admin-sidebar{background:var(--blue-pale);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:245px;padding:35px 24px;display:flex;position:fixed;inset:0 auto 0 0}.admin-logo{align-items:center;gap:13px;margin-bottom:50px;display:flex}.admin-logo strong{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.1}.admin-logo em{color:var(--blue-ink)}.admin-sidebar>.eyebrow{color:var(--muted);margin:0 10px 18px;font-size:8px}.admin-sidebar nav{flex-direction:column;gap:7px;display:flex}.admin-sidebar nav button{color:var(--muted);text-align:left;background:0 0;border-radius:6px;align-items:center;gap:13px;padding:13px 12px;font-size:12px;display:flex}.admin-sidebar nav .active{color:var(--blue-ink);background:#c8e0f0;font-weight:650}.sidebar-bottom{color:var(--muted);flex-direction:column;gap:17px;margin-top:auto;font-size:10px;display:flex}.sidebar-bottom span,.sidebar-bottom a{align-items:center;gap:8px;display:flex}.sidebar-bottom a:first-of-type{color:var(--blue-ink);font-weight:600}.admin-main{width:calc(100% - 245px);max-width:1550px;margin-left:245px;padding:35px 42px 60px}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.admin-header .eyebrow{font-size:8px}.admin-header h1{margin-top:8px;font-size:40px}.admin-tools{align-items:center;gap:15px;display:flex}.icon-button{color:var(--muted);background:0 0;place-items:center;padding:10px;display:grid}.notice{color:#416334;background:#e7efdf;border-radius:6px;align-items:center;gap:9px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.admin-welcome{background:var(--blue);color:var(--blue-ink);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:30px;display:flex}.admin-welcome .eyebrow{color:var(--blue-ink);font-size:8px}.admin-welcome h2{margin-top:12px;font-size:34px}.admin-welcome p{color:var(--blue-ink);margin-top:10px;font-size:12px}.admin-welcome>span{color:var(--blue-ink);margin-right:20px;font-size:70px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px}.stat>span{color:var(--muted);font-size:11px;display:block}.stat>strong{font-family:var(--serif);margin:6px 0;font-size:35px;font-weight:400;display:block}.stat>small{color:var(--muted);font-size:9px;display:block}.admin-two-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:23px;padding:26px}.admin-panel h3{font-size:25px}.muted{color:var(--muted);margin:8px 0 20px;font-size:11px}.checklist{align-items:center;gap:11px;margin:17px 0;font-size:12px;display:flex}.checklist>span{border:1px solid #dcd2c0;border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.checklist .done{color:#526a36;background:#e2e9d7}.admin-panel>.text-link{color:var(--blue-ink);margin-top:14px}.reconcile{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;font-size:11px;display:flex}.reconcile strong{white-space:nowrap;font-weight:550}.admin-panel>.fine-print{margin-top:16px}.panel-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.action-group{gap:10px;display:flex}.outline-button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:5px;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-size:11px;display:inline-flex}.search-field{border:1px solid var(--line);max-width:340px;color:var(--muted);border-radius:5px;flex-direction:row;align-items:center;margin-bottom:22px;padding:0 13px}.search-field input{box-shadow:none;background:0 0;border:0;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-block:1px solid var(--line);padding:12px 14px;font-size:9px;font-weight:600}td{border-bottom:1px solid var(--line);padding:16px 14px}td:first-child,th:first-child{padding-left:0}td strong{font-weight:600}td small{color:var(--muted);white-space:normal;max-width:220px;margin-top:4px;font-size:10px;display:block}.balance-due{color:#9a4b26;background:#faebde;border-radius:5px;padding:4px 8px}.balance-clear{color:#637246}.empty-state{text-align:center;color:var(--muted);padding:60px 25px}.empty-state svg{color:#ad9c83;margin-bottom:20px}.empty-state h3{color:var(--ink);margin-bottom:12px;font-size:26px}.empty-state p{font-size:12px}.quick-actions{flex-wrap:wrap;gap:9px;margin:5px 0 24px;display:flex}.quick-actions button{background:var(--blue-pale);border:1px solid var(--line);color:var(--blue-ink);border-radius:5px;align-items:center;gap:12px;padding:9px 12px;font-size:10px;display:flex}.campaign-form{max-width:880px}.campaign-form label{margin-top:18px}.save-bar{justify-content:space-between;align-items:center;gap:20px;display:flex}.save-bar>span{color:var(--muted);font-size:11px}.admin-dialog h2{font-size:31px}@media (min-width:1450px){.hero{min-height:710px}.chocolate-scene{transform:scale(1.07)}}@media (max-width:1100px){.section-shell{padding-left:35px;padding-right:35px}.site-header{padding:0 35px}.site-header nav{gap:20px}.hero{gap:20px;min-height:610px;padding-top:40px}.hero-actions{flex-direction:column;align-items:start;gap:16px}.chocolate-scene{transform-origin:50%;transform:scale(.9)}.handwritten{right:-10px}.progress-layout{gap:35px}.section-intro h2{font-size:36px}.steps{gap:35px}.guide-section{gap:40px}.admin-sidebar{width:210px;padding:28px 18px}.admin-main{width:calc(100% - 210px);margin-left:210px;padding:30px 25px}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-two-col{grid-template-columns:1fr}.admin-welcome h2{font-size:28px}.panel-heading{flex-wrap:wrap}.admin-panel{padding:22px}}@media (max-width:760px){html{scroll-padding-top:20px}.announcement{gap:12px;font-size:9px}.announcement span{font-size:7px}.announcement svg{display:none}.site-header{height:80px;padding:0 22px;position:relative}.brand{gap:10px;font-size:13px}.brand small{font-size:6px}.brand-mark{width:35px;height:42px;font-size:16px}.menu-toggle{background:0 0;padding:8px;font-size:11px;display:block}.menu-toggle>span{align-items:center;gap:6px;display:flex}.site-header nav{background:var(--cream);z-index:10;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:22px;display:none;position:absolute;top:79px;left:0;right:0;box-shadow:0 12px 20px #30261f0d}.site-header nav.open{display:flex}.site-header nav>a{padding:5px}.section-shell{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;gap:4px;padding-top:34px;padding-bottom:22px}.hero-copy{text-align:center;max-width:490px;margin:auto}.status{justify-content:center;margin-bottom:17px;font-size:8px}.hero h1{font-size:64px}.hero-description{margin-top:20px;font-size:19px}.hero-description br{display:none}.hero-body{max-width:355px;margin:16px auto 0;font-size:12px}.hero-actions{flex-direction:row;justify-content:center;align-items:center;gap:15px;margin-top:22px}.hero-actions .button{gap:10px;padding:14px 13px;font-size:10px}.hero-actions .text-link{font-size:10px}.hero-note{justify-content:center;margin-top:20px;font-size:8px}.chocolate-scene{width:100%;max-width:440px;height:440px;margin:-5px auto -25px;transform:scale(.82)}.round-sticker{top:10px;right:-5px}.scene-star.star-one{top:55px;left:-8px}.handwritten{top:184px;right:-30px}.ring-one{width:370px;height:370px}.ring-two{width:430px;height:430px}.ribbon{justify-content:flex-start;gap:25px;padding:12px 22px;font-size:8px}.section-intro{margin-bottom:25px;display:block}.section-intro h2{max-width:330px;font-size:34px}.section-intro>p{max-width:none;margin-top:18px;font-size:11px}.progress-section{padding-top:45px;padding-bottom:45px}.progress-layout{grid-template-columns:1fr;gap:35px}.goal-card{padding:22px}.goal-number{font-size:47px}.milestones h3{font-size:28px}.how-section{padding-top:43px}.steps{grid-template-columns:1fr;gap:25px;margin-top:28px}.steps article{min-height:88px;padding-left:73px}.step-icon{width:52px;height:52px;position:absolute;left:0}.steps h3{margin-top:0;font-size:24px}.steps p{max-width:360px;margin-top:8px;font-size:11px}.step-number{font-size:24px;top:-2px}.date-strip{grid-template-columns:1fr 1fr;gap:23px;margin-top:28px;padding-top:23px;display:grid}.date-strip .text-link{align-self:end;font-size:11px}.grade-section{padding-top:44px;padding-bottom:37px}.filter-label{margin-top:20px}.grade-row{grid-template-columns:28px 85px 1fr 78px;gap:10px;padding:13px 0}.grade-token{width:27px;height:29px;font-size:14px}.grade-row strong{font-size:10px}.grade-count{font-size:8px}.board-note{text-align:center;align-items:start;padding:0 10px;font-size:9px;line-height:1.7}.guide-section{grid-template-columns:1fr;gap:27px;padding-top:25px;padding-bottom:45px}.guide-title h2{font-size:36px}.guide-title h2 br{display:none}.guide-title p{margin-top:15px;font-size:11px}.faqs summary{padding:18px 0;font-size:11px}.faqs details p{font-size:11px}.join-section{padding:45px 24px 48px}.join-section h2{font-size:43px}.join-section>.eyebrow{font-size:8px}.join-star{font-size:25px;top:50%;left:4%}.join-section:after{font-size:38px;top:31%;right:4%}.join-actions{flex-direction:column;gap:20px}.join-actions .button{font-size:12px}.site-footer{gap:23px;padding-top:29px}.site-footer>div{gap:23px;font-size:9px}.site-footer>p{padding-top:18px;font-size:8px;display:block}.site-footer>p span{margin-top:5px;display:block}.join-dialog{padding:29px 22px}.join-dialog h2{font-size:31px}.admin-shell{display:block}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);width:auto;padding:18px 20px;position:static}.admin-logo{margin-bottom:17px}.admin-logo strong{font-size:18px}.admin-sidebar>.eyebrow,.sidebar-bottom{display:none}.admin-sidebar nav{flex-direction:row;gap:5px;overflow:auto}.admin-sidebar nav button{white-space:nowrap;gap:7px;padding:10px;font-size:10px}.admin-sidebar nav button svg{width:15px}.admin-main{width:auto;margin:0;padding:25px 18px}.admin-header{gap:10px}.admin-header h1{font-size:31px}.admin-header .eyebrow{font-size:7px}.admin-tools{gap:2px}.admin-tools .button{gap:6px;padding:10px;font-size:10px}.admin-welcome{padding:23px}.admin-welcome h2{font-size:28px}.admin-welcome p{font-size:10px}.admin-welcome>span{margin:0 0 0 10px;font-size:40px}.stat-grid{gap:10px}.stat{padding:16px}.stat>span{font-size:10px}.stat>strong{font-size:31px}.stat>small{font-size:8px}.admin-panel{padding:20px}.admin-two-col,.panel-heading{gap:0}.action-group{margin-bottom:20px}.form-row{gap:12px}.save-bar{align-items:start}.save-bar>span{max-width:170px;font-size:10px}.save-bar>.button{padding:12px;font-size:11px}.admin-dialog h2{font-size:29px}.access-page{padding:25px}.access-card h1{font-size:43px}.empty-state{padding:40px 10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:760px){.handwritten{display:none}}.progress-layout{grid-template-columns:1fr;gap:32px}.interactive-goal{background:linear-gradient(135deg,#fff 25%,#f4f9fc);grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:42px;padding:35px;display:grid;overflow:visible}.meter-summary{align-self:center;min-width:0}.meter-summary .goal-top{flex-wrap:wrap;align-items:flex-start;gap:12px}.meter-summary .goal-number{margin-top:25px;font-size:62px}.meter-summary .goal-number span{font-size:11px;font-family:var(--sans);margin:5px 0 0;display:block}.meter-summary .goal-target{margin-top:13px;font-size:11px;line-height:1.7}.factory-title{margin-top:28px;font-size:30px;line-height:1.15}.factory-title em{color:var(--blue-text)}.factory-intro{color:var(--muted);max-width:260px;margin-top:14px;font-size:12px;line-height:1.8}.interactive-goal .goal-bottom{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:17px;font-size:10px}.meter-summary>.fine-print{max-width:270px;margin-top:16px;font-size:9px}.sweet-meter{align-self:center;min-width:0}.sweet-meter-heading{letter-spacing:.08em;color:var(--blue-ink);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:9px;font-weight:700;display:flex}.sweet-meter-heading>span:first-child{align-items:center;gap:6px;display:flex}.meter-mode{letter-spacing:.06em;background:var(--blue-pale);white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:7px}.is-preview .meter-mode{color:#654922;background:#f8e9c9}.factory-machine{isolation:isolate;background:radial-gradient(at 50% 40%,#fff8,#0000 70%),linear-gradient(145deg,#e9f4fb,#dcecf6);border:1px solid #c4dce9;border-radius:18px;position:relative;box-shadow:inset 0 2px #fff,0 4px #d4e5f0,0 12px 24px #345d7010}.glass-pipes{width:100%;height:auto;display:block;overflow:visible}.factory-svg-label{fill:#45677f;font:700 10px var(--sans);letter-spacing:1.2px}.factory-svg-subtitle{fill:#678398;font:500 6px var(--sans);letter-spacing:1px}.chocolate-front{transition:stroke-dasharray .22s linear}.chocolate-current{animation:2.6s linear infinite paused chocolate-current}.chocolate-bubbles{animation:3.2s linear infinite paused chocolate-bubbles}.reservoir-bubbles{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite paused cocoa-simmer}.flowing .chocolate-current,.flowing .chocolate-bubbles,.flowing .reservoir-bubbles{animation-play-state:running}@keyframes chocolate-current{to{stroke-dashoffset:-18px}}@keyframes chocolate-bubbles{to{stroke-dashoffset:-17.46px}}@keyframes cocoa-simmer{50%{opacity:.25;transform:translateY(-1.5px)scale(.95)}}.goal-lamp{transition:fill .35s}.goal-lamp.lit{filter:drop-shadow(0 0 9px #eeb552aa)}.factory-readout{color:var(--blue-ink);pointer-events:none;position:absolute;bottom:8%;left:35%}.factory-readout>span{font:42px/1 var(--serif);letter-spacing:-.05em}.factory-readout small{font:9px/1.4 var(--sans);margin-top:3px;display:block}.factory-valve{filter:drop-shadow(0 3px 1px #4c2c2040);background:0 0;border-radius:50%;place-items:center;width:55px;height:55px;padding:0;display:grid;position:absolute;top:87.4%;left:82.9%;transform:translate(-50%,-50%)}.factory-valve svg{fill:none;stroke:#9f653d;stroke-width:5px;stroke-linecap:round;width:100%;height:100%;animation:5s linear infinite paused valve-turn}.factory-valve svg circle:first-child{stroke:#bb8252;stroke-width:6px}.factory-valve svg circle:last-child{fill:#e0b777;stroke:#8e5e37;stroke-width:3px}.factory-valve.turning svg{animation-play-state:running}.factory-valve:hover{filter:drop-shadow(0 2px 4px #945f3770)}.factory-valve:focus-visible{outline:3px solid var(--blue-ink);outline-offset:4px}@keyframes valve-turn{to{transform:rotate(360deg)}}.valve-hint{letter-spacing:.06em;color:#486980;text-align:center;pointer-events:none;width:22%;font-size:7px;font-weight:650;position:absolute;bottom:2%;right:6%}.meter-caption{min-height:35px;color:var(--blue-ink);margin-top:17px;font-size:11px;line-height:1.7}.meter-preview-toggle{background:var(--blue);width:100%;min-height:46px;color:var(--blue-ink);text-align:left;border:1px solid #6b9cbc;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:13px 14px;font-size:11px;font-weight:650;display:flex}.meter-preview-toggle:hover{background:#a5cde6}.meter-play-controls{background:#edf5fa;border:1px dashed #8eb3cd;border-radius:8px;margin-top:7px;padding:14px}.meter-play-controls label{color:var(--blue-ink);flex-direction:row;justify-content:space-between;font-size:10px;display:flex}.meter-play-controls input[type=range]{-webkit-appearance:auto;appearance:auto;accent-color:var(--blue-ink);min-height:36px;box-shadow:none;cursor:pointer;background:0 0;border:0;margin:4px 0 9px;padding:0;display:block}.meter-play-controls input[type=range]:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px}.meter-play-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.meter-play-actions .button{gap:7px;min-height:44px;padding:10px 13px;font-size:10px}.meter-play-controls .fine-print{margin-top:10px;font-size:9px}.pipe-checkpoints{align-items:center;gap:6px;display:flex}.pipe-checkpoints button{min-width:44px;min-height:44px;color:var(--blue-ink);background:#fff9;border:1px solid #cbdeeb;border-radius:6px;padding:8px;font-size:10px;font-weight:550}.pipe-checkpoints button:hover,.pipe-checkpoints button[aria-pressed=true]{background:#d4e8f5;border-color:#8fb7d2}.actual-checkpoints{justify-content:space-between;gap:8px;margin-top:7px}.actual-checkpoints button{flex:1;font-size:9px}.meter-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meter-confetti{pointer-events:none;border-radius:18px;position:absolute;inset:0;overflow:hidden}.meter-confetti i{left:var(--x);background:var(--confetti-color);opacity:0;width:7px;height:12px;animation:sweet-confetti 1.4s ease-out var(--delay) forwards;border-radius:2px;position:absolute;top:45%}.meter-confetti i:nth-child(3n){border-radius:50%;width:8px;height:8px}@keyframes sweet-confetti{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}45%{opacity:1;transform:translate(var(--drift),-110px) rotate(var(--spin))}to{opacity:0;transform:translate(var(--drift),110px) rotate(var(--spin))}}.progress-layout>.milestones{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;display:grid}.progress-layout>.milestones>.eyebrow,.progress-layout>.milestones>h3,.progress-layout>.milestones>.fine-print{grid-column:1/-1}.progress-layout>.milestones>.milestone{align-items:flex-start}.progress-layout>.milestones .unlocked-label{white-space:nowrap}@media (max-width:1100px){.interactive-goal{grid-template-columns:minmax(185px,.8fr) minmax(0,1.6fr);gap:27px;padding:27px}.factory-title{font-size:26px}.sweet-meter-heading{font-size:7px}.meter-mode{font-size:6px}.factory-readout>span{font-size:34px}.factory-readout small{font-size:8px}.factory-valve{width:49px;height:49px}.valve-hint{font-size:6px}.progress-layout>.milestones{gap:0 20px}.meter-play-actions{gap:8px}.meter-play-actions .button{padding:9px;font-size:9px}}@media (max-width:760px){.interactive-goal{grid-template-columns:1fr;gap:28px;padding:22px}.meter-summary .goal-number{margin-top:18px;font-size:49px}.meter-summary .goal-number span{margin-left:10px;display:inline}.factory-title{margin-top:20px;font-size:27px}.factory-intro{max-width:none;margin-top:9px;font-size:11px}.interactive-goal .goal-bottom{margin-top:20px}.meter-summary>.fine-print{max-width:none}.sweet-meter-heading{gap:5px;font-size:7px}.sweet-meter-heading svg{width:11px}.meter-mode{padding:4px 6px;font-size:6px}.factory-machine{border-radius:12px}.factory-readout>span{font-size:28px}.factory-readout small{font-size:7px}.factory-valve{width:44px;height:44px}.valve-hint{display:none}.meter-caption{min-height:34px;margin-top:14px;font-size:10px}.meter-play-controls{padding:11px}.meter-play-actions{gap:5px}.pipe-checkpoints{gap:4px}.pipe-checkpoints button{min-width:44px;padding:6px;font-size:9px}.meter-play-actions .button{gap:5px;padding:10px 8px}.progress-layout>.milestones{display:block}.progress-layout>.milestones>.milestone{align-items:center}}@media (prefers-reduced-motion:reduce){.chocolate-front{transition:none}.chocolate-current,.chocolate-bubbles,.reservoir-bubbles,.factory-valve svg{animation:none!important}.meter-confetti{display:none}}
