@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#163f38;--green:#24594d;--muted:#68766d;--cream:#faf8f2;--line:#e3e7de;--gold:#b98b43}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}header{height:100px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:17px}.brand b{font-size:32px;letter-spacing:-2px}.brand b span{color:var(--gold);font-size:22px;vertical-align:top}.brand small{font-size:9px;letter-spacing:1.4px;line-height:1.6;border-left:1px solid #cbd2c8;padding-left:17px}nav{display:flex;gap:18px}.nav{border:0;background:none;color:var(--muted);padding:12px 4px}.nav.active{color:var(--ink);border-bottom:2px solid var(--green)}.preview{text-align:center;background:#eaf0e7;padding:11px 20px;font-size:10px;font-weight:700;letter-spacing:1.1px}.preview span{font-weight:400;letter-spacing:0;font-size:12px;margin-left:14px}main{max-width:1180px;margin:auto;padding:0 30px}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;min-height:428px;padding:35px 25px 35px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#718574}h1{font:58px/1.05 'Libre Caslon Display',Georgia,serif;letter-spacing:-1px;margin:22px 0}h1 em{font-weight:400;color:#76856b}.hero p{color:var(--muted);line-height:1.8;max-width:460px;font-size:15px}.hero-note{font-size:12px;margin-top:27px;color:#6c786a}.hero-note span{color:var(--gold);margin-right:8px}.art{height:335px;position:relative;display:flex;justify-content:center;align-items:center}.orbit{position:absolute;width:330px;height:330px;border-radius:50%;background:#edf0e5}.card-back{position:absolute;width:225px;height:275px;background:#cbd7c2;border:1px solid #b8c8ae;transform:rotate(-13deg);border-radius:5px}.thank-card{position:relative;width:224px;height:276px;background:#fffdf5;box-shadow:0 12px 35px #183d3520;transform:rotate(7deg);text-align:center;padding:30px 15px;border:1px solid #e2dfcd}.thank-card span{font-size:8px;letter-spacing:2px}.thank-card strong{font:62px/.9 'Libre Caslon Display',Georgia,serif;display:block;margin:24px 0 15px}.thank-card div{font-size:11px;line-height:1.6;color:#78816f}.thank-card i{font-size:24px;color:var(--gold);display:block;margin-top:9px}.seal{position:absolute;bottom:12px;right:40px;width:91px;height:91px;border-radius:50%;background:#bf965a;border:6px double #d0b483;color:#fff8e7;text-align:center;padding-top:13px;transform:rotate(-12deg);font:25px Georgia}.seal small{font:6px 'DM Sans';letter-spacing:1px;display:block;margin-top:6px}.flow{padding-bottom:65px}.steps{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;padding:19px 0;gap:35px}.steps button{border:0;background:none;color:#899187;font-size:12px;display:flex;align-items:center;gap:10px}.steps b{display:grid;place-items:center;border:1px solid #cdd3c9;border-radius:50%;width:26px;height:26px;font-weight:500}.steps .current{color:var(--green)}.steps .current b{background:var(--green);border-color:var(--green);color:white}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px}.panel{padding:32px;background:#fff;border:1px solid var(--line);border-radius:10px}h2{font:30px 'Libre Caslon Display',Georgia,serif;margin:6px 0 12px}.panel>p,.help p{color:var(--muted);line-height:1.7;font-size:13px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}input,textarea,select{width:100%;border:1px solid #d6ddd3;border-radius:5px;padding:13px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #24594d12}.full{grid-column:1/-1}.hint{font-size:11px;color:#81887c;margin:8px 0 0}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}.primary{background:var(--green);color:white;border:0;border-radius:5px;padding:14px 23px;font-size:12px}.secondary{background:#fff;border:1px solid #d6ddd3;border-radius:5px;padding:11px 16px;color:var(--green);font-size:12px}.summary{background:#edf1e8;border:1px solid #e0e6d8;border-radius:9px;padding:27px}.summary h2{font-size:29px;margin:18px 0 27px}.summary p{font-size:11px;color:#778271;line-height:1.8}.total{display:flex;justify-content:space-between;align-items:center;padding:22px 0 14px;border-top:1px solid #d8dfd1;font-size:13px}.total strong{font-size:26px;font-weight:500}.note{margin-top:22px;padding-top:20px;border-top:1px solid #d8dfd1;font-size:11px;line-height:1.8;color:#72816c}.help{padding:25px 14px}.help b{font-size:12px}.help p{font-size:11px}.summary-row{display:flex;justify-content:space-between;font-size:12px;padding:8px 0;gap:10px}.empty{font-size:12px;color:#7e8a78;padding-bottom:20px}.class-grid{display:grid;gap:8px;margin:14px 0 25px}.class-option{padding:12px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:10px;margin:0;font-weight:400}.class-option input{width:16px;height:16px;accent-color:var(--green)}.staff{border-top:1px solid var(--line);padding:20px 0}.staff-main{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;display:grid;place-items:center;background:#edf1e8;border-radius:50%;font-family:Georgia;flex-shrink:0}.staff-info{flex:1}.staff-info b{font-size:13px}.staff-info small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.amount{display:flex;align-items:center;width:100px;gap:6px}.amount input{padding:10px;width:80px}.staff textarea{margin-top:12px;min-height:50px;font-size:12px}.staff details{margin-top:10px;font-size:11px;color:#75806f}.review-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.review-row small{display:block;color:var(--muted);margin-top:4px}.notice{padding:14px;background:#f6f1e5;border-radius:5px;font-size:12px;line-height:1.7;margin-top:20px}.error{color:#a43b35;font-size:12px}.admin-head{padding:55px 0 25px}.admin-head h1{font-size:48px}.admin-head p{max-width:650px;color:var(--muted);line-height:1.8}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-bottom:65px}.upload{margin-top:24px}.upload input{margin-top:8px}.checklist{list-style:none;padding:0}.checklist li{padding:17px 0;border-bottom:1px solid var(--line)}.checklist b{font-size:13px}.checklist span{display:block;font-size:12px;color:var(--muted);margin-top:7px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:28px max(30px,calc((100vw - 1120px)/2));font-size:10px;color:#7d8777}button:hover{filter:brightness(.94)}[hidden]{display:none!important}:focus-visible{outline:2px solid #b98b43;outline-offset:4px}@media(max-width:760px){header{height:85px;padding:0 20px}.brand small{display:none}nav{gap:12px}.nav{font-size:12px}.preview span{display:block;margin:5px 0 0}main{padding:0 20px}.hero{grid-template-columns:1fr;padding:35px 0 20px;min-height:0}.hero h1{font-size:47px}.art{display:none}.hero-note{margin-bottom:15px}.steps{gap:5px;justify-content:space-between}.steps button{font-size:10px;gap:5px;padding:0}.steps b{width:21px;height:21px}.layout,.admin-grid{grid-template-columns:1fr}.panel{padding:23px}.fields{grid-template-columns:1fr}.summary{padding:23px}.help{display:none}.admin-head h1{font-size:40px}footer{gap:20px;line-height:1.6}.actions .primary{padding:13px 15px}.staff-main{gap:8px}}

/* Display the original logo without its large outer white margins. */
.brand-logo{display:block;position:relative;width:114px;height:92px;overflow:hidden;mix-blend-mode:multiply}.brand-logo img{position:absolute;width:170px;height:170px;max-width:none;left:-28px;top:-39px}@media(max-width:760px){.brand-logo{width:92px;height:75px}.brand-logo img{width:138px;height:138px;left:-23px;top:-32px}}

.class-group{border:1px solid var(--line);border-radius:6px;overflow:hidden}.class-group .class-option{border:0;border-radius:0;cursor:pointer}.class-group:has(input:checked)>.class-option{background:#edf1e8}.class-chevron{margin-left:auto;font-size:18px}.class-staff{padding:0 14px}.class-staff .staff-info{min-width:0;overflow-wrap:anywhere}
