@font-face{font-family:"Roboto Serif";src:url(/fonts/RobotoSerif_28pt-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Roboto Serif";src:url(/fonts/RobotoSerif_28pt-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Roboto Serif";src:url(/fonts/RobotoSerif_28pt-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Roboto Serif";src:url(/fonts/FrankRuhlLibre-Bold.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}@font-face{font-family:"Roboto Serif";src:url(/fonts/FrankRuhlLibre-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans_7pt-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans_7pt-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans_7pt-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/NunitoSans_7pt-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/FrankRuhlLibre-Bold.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}@font-face{font-family:Nunito Sans;src:url(/fonts/FrankRuhlLibre-Bold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}@font-face{font-family:Nunito Sans;src:url(/fonts/FrankRuhlLibre-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}:root{--paper: #ffffff;--purple: #4b246e;--gold: #cab202;--ink: #000000;--display: "Roboto Serif", "Times New Roman", serif;--text: "Nunito Sans", "Avenir Next", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--text);font-size:1.0625rem;line-height:1.45;font-synthesis:none}*{box-sizing:border-box}html{scrollbar-color:var(--gold) var(--paper)}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink)}::selection{background:var(--gold);color:#000}:focus-visible{outline:2px solid var(--purple);outline-offset:3px}button,input,a{font:inherit}a{color:inherit}.wall{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.top{display:flex;justify-content:flex-end;gap:1.25rem;align-items:center;min-height:3.25rem;padding:.75rem clamp(1.25rem,4vw,4.5rem)}.top a,.text-button{background:none;border:0;padding:0;color:var(--purple);text-decoration:underline;text-underline-offset:.22em;cursor:pointer}.inscription{flex:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(12rem,.55fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,5vw,4rem) clamp(1.25rem,4vw,4.5rem) clamp(2rem,6vw,4.5rem)}.mark{display:flex;align-items:center;gap:clamp(1rem,3vw,2.25rem)}.seal{width:clamp(8.5rem,16vw,13rem);height:auto;flex:none;display:block}.name{margin:0;width:fit-content;color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(3.2rem,7vw,5.4rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance;border-bottom:4px solid var(--purple);padding-bottom:.12em}.name span{display:block}.sentence{margin:0 0 .35rem;max-width:16ch;color:var(--ink);font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:400;line-height:1.25;text-wrap:balance}.course{background:var(--paper);border-top:4px solid var(--gold);padding:1.15rem clamp(1.25rem,4vw,4.5rem) 1.4rem}.course-body{display:grid;gap:.75rem;animation:course-in .56s cubic-bezier(.16,1,.3,1)}.pledge{display:grid;grid-template-columns:minmax(12rem,32rem) max-content;gap:.85rem 1rem;align-items:end}.giving{align-items:center}.giving-line{margin:0;color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.02em}.field{display:grid;gap:.35rem}.methods{border:0;margin:0;padding:0;display:grid;gap:.15rem}.methods legend{font-weight:600;padding:0;margin-bottom:.35rem}.method{display:flex;align-items:center;gap:.7rem;min-height:2.6rem;cursor:pointer}.method input{width:1.15rem;height:1.15rem;margin:0;padding:0;border:0;accent-color:var(--purple);flex:none}.grant{display:grid;gap:.75rem}.grant p{margin:0}.grant dl{display:grid;gap:.55rem;margin:0}.grant dt{font-weight:600}.grant dd{margin:0}.field span,.hint,.quiet,.status-line,.per{color:var(--ink)}.field span{font-weight:600;color:var(--ink)}input{width:100%;padding:.35rem 0 .45rem;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--purple);border-radius:0;caret-color:var(--purple);font-variant-numeric:tabular-nums}input::placeholder{color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.15rem;border:0;background:var(--gold);color:#000;text-decoration:none;cursor:pointer;font-weight:700}.button:hover{background:var(--purple);color:#fff}.button:disabled,.button:disabled:hover{cursor:progress;background:var(--gold);color:#000}.button.quiet{background:transparent;color:var(--purple);text-decoration:underline;text-underline-offset:.22em;font-weight:600}.button.quiet:hover,.button.quiet:disabled,.button.quiet:disabled:hover{background:transparent;color:#000}.hint,.quiet,.status-line,.notice,.confirm p{margin:0;max-width:65ch}.alert{margin:0;max-width:65ch;padding:.75rem 1rem;background:var(--purple);color:#fff;font-weight:600}.page{min-height:100dvh;background:var(--paper)}.bar{display:flex;justify-content:space-between;gap:1rem 1.5rem;align-items:center;padding:1.1rem clamp(1.25rem,4vw,4.5rem);background:var(--paper);border-bottom:4px solid var(--purple)}.brand{display:flex;align-items:center;gap:.85rem;color:var(--purple);font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none;line-height:1.15}.brand img{width:4.5rem;height:auto;display:block;flex:none}.bar-end{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;align-items:baseline;justify-content:flex-end}.who{margin:0;font-weight:700;font-size:1.15rem}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:baseline}.nav a{color:var(--purple);text-decoration:none}.nav a[aria-current=page]{font-weight:700}.work{width:min(90rem,100%);margin-inline:auto;padding:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,4vw,2.5rem) 4rem;box-sizing:border-box}.amount{margin:0;color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(4.5rem,12vw,6rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}.per{margin:.4rem 0 0;font-size:1.25rem}.status-line{margin-top:.85rem;font-size:1.15rem}.account-title{margin:0 0 1.25rem;width:fit-content;color:var(--purple);font-family:var(--display);font-size:clamp(2.6rem,6vw,4.2rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;border-bottom:4px solid var(--purple);padding-bottom:.12em}.actions,.start-form,.inline-form,.confirm{display:grid;gap:.8rem}.work>.actions{margin-top:1.75rem}table .actions{margin-top:0}td.nowrap{white-space:nowrap}.admin{display:grid;gap:1.25rem;width:100%}.admin>.account-title{margin-bottom:0}.admin-board{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.35fr);gap:1.25rem;align-items:stretch}.admin-card{background:color-mix(in srgb,var(--purple) 18%,white);border:1px solid color-mix(in srgb,var(--purple) 32%,transparent);padding:1.15rem 1.25rem 1.35rem;min-width:0}.directory{display:grid;gap:1rem;align-content:start}.admin-summary,.filter-row,.admin-row{display:flex;flex-wrap:wrap;gap:.35rem 1.15rem;align-items:center}.admin-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);gap:.85rem 1.5rem;align-items:end;width:100%}.admin-search{width:100%;min-width:0}.method-field{width:100%}.filter-row{grid-column:1 / -1}.admin-row{grid-column:1 / -1;justify-content:space-between;width:100%}.filter-row .text-button{min-height:2.75rem;display:inline-flex;align-items:center}.admin-tools select{width:100%;min-width:12rem;padding:.35rem 0 .45rem;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--purple);border-radius:0;font:inherit}.review{display:grid;gap:1rem;align-content:start}.review h2,.card-title{margin:0;color:var(--purple);font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.review-figures{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;margin:0}.review-figures div{display:grid;gap:.15rem}.review-figures dt{font-size:.92rem;font-weight:600}.review-figures dd{margin:0;color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(2rem,4vw,3.1rem);line-height:1.05;letter-spacing:-.02em;font-variant-numeric:lining-nums}.review-note{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;align-items:baseline;margin:0}.review-wrap{max-width:none;margin-top:0}.filter-row .text-button[aria-pressed=true]{font-weight:700;text-decoration-thickness:.12em}.sort-mobile{display:none}th button{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-align:left}.sort-up,.sort-down{display:inline-block;width:0;height:0;margin-left:.4rem;border-left:.28rem solid transparent;border-right:.28rem solid transparent;vertical-align:.12rem}.sort-up{border-bottom:.38rem solid currentColor}.sort-down{border-top:.38rem solid currentColor;vertical-align:.02rem}.due{display:block;margin-top:.25rem;color:var(--purple);font-weight:700}.change-log{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.change-log li{display:flex;flex-wrap:wrap;gap:.2rem .7rem}.history-row td{background:#fff}.donor-facts td{border-bottom:0;padding-bottom:.35rem}.action-strip td{padding-top:.15rem;padding-bottom:1rem}.donor-table .row-actions{display:flex;align-items:center;gap:.75rem 1.15rem;width:100%}.donor-table .row-actions>.actions,.donor-table .row-actions>.actions>.action-row{display:contents}.donor-table .action-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.15rem}.donor-table .action-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.donor-table .row-actions>.actions>.inline-form,.donor-table .row-actions>.actions>.confirm,.donor-table .row-actions .alert{flex:1 1 100%}.home{display:grid;gap:2.75rem;align-content:start;max-width:46rem}.person{margin:0;width:fit-content;color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(3.2rem,7vw,5.4rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance;border-bottom:4px solid var(--purple);padding-bottom:.12em}.who-alumni,.alumni,.alumni-cell{font-family:var(--text);font-weight:600;letter-spacing:0}.who-alumni{display:block;margin-top:.1rem;font-size:.95rem;font-weight:600}.alumni{margin:.45rem 0 0;font-size:clamp(1.2rem,2vw,1.5rem)}.alumni-cell{display:block;margin-top:.25rem;font-size:.95rem;font-weight:600}.streak{margin:.2rem 0 0;font-size:1.2rem}.year-field{width:9rem}.name-form,.named{display:grid;gap:1rem;justify-items:start}.name-field input{color:var(--purple);font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:normal}.action-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem;align-items:center}.action-main,.action-links{display:contents}.notice{margin:0 0 1rem;font-weight:600}.waiting{padding:4rem clamp(1.25rem,4vw,4.5rem)}.table-wrap{overflow-x:auto;margin-top:.5rem}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:.92rem;font-weight:600}th,td{padding:.9rem 1rem .9rem 0;border-bottom:1px solid color-mix(in srgb,var(--purple) 28%,transparent);vertical-align:top}.cell-label{display:none}.note{display:block;margin-top:.3rem;color:var(--purple);font-weight:700}@keyframes course-in{0%{clip-path:inset(35% 0 0 0);filter:blur(3px)}to{clip-path:inset(0 0 0 0);filter:blur(0)}}@media(max-width:800px){.inscription{grid-template-columns:1fr;align-items:start;align-content:start}.mark{flex-direction:column;align-items:flex-start;gap:1rem}.sentence{max-width:18ch}.pledge{grid-template-columns:1fr}.pledge .button{width:100%}.bar{flex-direction:column;align-items:flex-start}.admin-board,.admin-tools{grid-template-columns:1fr}.admin-card{padding:1rem}.method-field{width:100%}.admin-row{align-items:stretch}.sort-mobile{width:100%}.name{font-size:clamp(2.5rem,11vw,3.6rem)}.table-wrap{overflow:visible}.review-wrap{overflow-x:auto}table.review-table{display:table;width:100%}table.review-table thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip:auto}table.review-table tbody{display:table-row-group}table.review-table tr{display:table-row;padding:0;border:0}table.review-table th,table.review-table td{display:table-cell;width:auto;padding:.45rem .7rem .45rem 0;border-bottom:1px solid color-mix(in srgb,var(--purple) 28%,transparent)}.sort-mobile{display:grid}table,thead,tbody,tr,th,td{display:block;width:auto}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}tr{padding:1.1rem 0 1.25rem;border-bottom:1px solid color-mix(in srgb,var(--purple) 28%,transparent)}td{border:0;padding:.15rem 0}.cell-label{display:block;font-size:.85rem;font-weight:600;margin-top:.55rem;color:var(--ink)}.donor-table{display:grid;gap:.85rem}.donor-table tbody{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;background:#fff;border:1px solid color-mix(in srgb,var(--purple) 32%,transparent);padding:1rem}.donor-table tr{display:contents;padding:0;border:0}.donor-table td{border:0;padding:0;width:auto}.donor-table .nowrap{white-space:normal}.donor-name,.donor-amount,.donor-upgrade,.donor-table .action-strip td,.donor-table .history-row td{grid-column:1 / -1}.donor-name{font-weight:700;font-size:1.2rem}.donor-name .cell-label{display:none}.donor-amount{color:var(--purple);font-family:var(--display);font-weight:700;font-size:2rem;line-height:1}.donor-amount .cell-label{font-family:var(--text);font-size:.85rem;font-weight:600;line-height:1.45;color:var(--ink)}.donor-table .row-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.65rem .75rem}.donor-table .action-main,.donor-table .action-links{display:contents;margin-left:0}.donor-table .action-main .button{width:100%;order:0}.donor-table .action-main .button:only-child{grid-column:1 / -1}.donor-table .row-actions>.text-button,.donor-table .action-links .button,.donor-table .row-actions>.quiet{order:1;min-height:2.75rem;display:inline-flex;align-items:center}.donor-table .row-actions>.actions>.inline-form,.donor-table .row-actions>.actions>.confirm,.donor-table .row-actions .alert{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.course-body{animation:none}}
