:root{--g-paper:#f3f0ea;--g-cream:#fffaf0;--g-navy:#17283a;--g-ink:#272725;--g-gold:#8d672f;--g-brass:#d4b879;--g-muted:#625f57;--g-line:#c8c1b4;--g-serif:'Source Serif 4',Georgia,serif;--g-sans:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--g-paper);color:var(--g-ink);font-family:var(--g-sans);-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;scroll-padding-top:30px}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--g-gold);outline-offset:6px}input:focus-visible,textarea:focus-visible{outline:3px solid var(--g-gold);outline-offset:2px}[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.65}.g-dialog-open{overflow:hidden}.g-skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--g-cream);padding:16px}.g-skip:focus{top:12px}.g-header,.g-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4.5vw;border-bottom:1px solid var(--g-line)}.g-header>div{display:flex;align-items:center;gap:20px}.g-brand{font:500 25px var(--g-serif);letter-spacing:-1px}.g-brand span{color:var(--g-muted)}.g-edition,.g-footer>span{font-size:12px;color:var(--g-muted)}.g-kicker{font-size:11px;font-weight:600;letter-spacing:.13em;line-height:1.7;text-transform:uppercase;color:var(--g-gold);margin:0}.g-text,.g-outline,.g-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;font-size:13px;line-height:1.5;font-weight:600;transition:background .2s,transform .2s;border-radius:0;text-align:center}.g-text{padding:10px 0;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:6px}.g-outline{padding:11px 20px;background:transparent;border:1px solid currentColor;color:inherit}.g-primary{padding:17px 27px;background:var(--g-navy);color:var(--g-cream);border:1px solid var(--g-navy)}.g-primary:hover{background:var(--g-ink)}.g-outline:hover{background:var(--g-cream)}.g-text:hover{color:var(--g-gold)}.g-hero{padding:75px 5.5vw 100px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw;max-width:1680px;margin:auto;min-height:740px}.g-hero h1{font:400 clamp(95px,11.2vw,180px)/.84 var(--g-serif);letter-spacing:-.065em;color:var(--g-navy);margin:28px 0 36px}.g-hero h1 em{font-weight:400}.g-intro{font:400 clamp(19px,1.8vw,25px)/1.6 var(--g-serif);max-width:590px}.g-from{font-size:12px;color:var(--g-muted);margin:24px 0}.g-diploma-scene{position:relative;padding:80px 0 0}.g-orbit{position:absolute;top:0;right:0;display:flex;align-items:center;gap:13px;color:var(--g-gold)}.g-orbit span{font-size:9px;font-weight:600;letter-spacing:.1em;max-width:115px;line-height:1.6}.g-orbit svg{width:85px;fill:var(--g-navy);stroke:var(--g-navy);stroke-width:3}.g-scroll{display:block;position:relative;max-width:560px;width:100%;border:0;background:transparent;color:var(--g-navy);padding:0 16px;transform:rotate(4deg);transition:transform .4s}.g-scroll:hover{transform:rotate(1deg) translateY(-5px)}.g-scroll-paper{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--g-cream);padding:47px 30px 35px;box-shadow:0 25px 55px #17283a1a;border:1px solid var(--g-line);min-height:435px}.g-scroll-paper:before{content:'';position:absolute;inset:18px;border:1px solid var(--g-brass);pointer-events:none}.g-scroll-title{font:400 clamp(45px,4.6vw,73px)/1.03 var(--g-serif);letter-spacing:-.045em;display:block;margin:25px 0}.g-scroll-title em{font-weight:400}.g-scroll-paper>.g-kicker{font-size:9px;max-width:250px}.g-seal{display:grid;place-items:center;width:67px;height:67px;border:1px solid var(--g-gold);outline:1px solid var(--g-gold);outline-offset:4px;border-radius:50%;font:46px var(--g-serif);color:var(--g-gold);margin:0 0 24px}.g-scroll-cta{font-size:11px;font-weight:600;line-height:1.6}.g-scroll-top,.g-scroll-bottom{position:relative;z-index:1;display:block;height:25px;background:var(--g-cream);border:1px solid var(--g-line);border-radius:50px;box-shadow:0 5px 8px #17283a10;margin:0 -16px}.g-scroll-top{margin-bottom:-12px}.g-scroll-bottom{margin-top:-12px}.g-sample{font-size:12px;line-height:1.6;color:var(--g-muted)}.g-diploma-scene>.g-sample{text-align:center;margin-top:35px}.g-marquee{display:flex;justify-content:space-around;align-items:center;gap:25px;background:var(--g-navy);color:var(--g-brass);padding:24px 4vw;font-size:11px;letter-spacing:.17em;font-weight:600}.g-marquee i{font:26px var(--g-serif);font-style:normal}.g-section{padding:110px 5.5vw}.g-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:55px}.g-section h2,.g-closing h2{font:400 clamp(45px,5.5vw,83px)/1.02 var(--g-serif);letter-spacing:-.05em;margin:20px 0 0;color:var(--g-navy)}.g-section h2 em,.g-closing h2 em{font-weight:400}.g-section-head>p{font:18px/1.65 var(--g-serif);max-width:360px;color:var(--g-muted);margin-bottom:8px}.g-moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--g-line)}.g-moment{min-width:0;text-align:left;padding:25px 23px 30px;display:flex;flex-direction:column;align-items:flex-start;background:transparent;color:var(--g-navy);border:0;border-right:1px solid var(--g-line);min-height:360px;transition:background .2s}.g-moment:last-child{border:0}.g-moment:hover{background:var(--g-cream)}.g-moment-number{font:italic 67px/1 var(--g-serif);color:var(--g-gold);margin:30px 0 34px}.g-moment strong{font:400 clamp(26px,2.6vw,40px)/1.07 var(--g-serif);letter-spacing:-.035em;overflow-wrap:anywhere}.g-moment-label{font-size:10px;line-height:1.6;color:var(--g-muted);margin-bottom:15px}.g-moment-cta{font-size:12px;margin-top:auto;padding-top:30px;text-decoration:underline;text-underline-offset:5px}.g-people{background:var(--g-navy);color:var(--g-cream)}.g-people h2{color:var(--g-cream)}.g-people .g-kicker{color:var(--g-brass)}.g-people .g-section-head>p,.g-people .g-sample{color:var(--g-line)}.g-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.g-person{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:340px;background:var(--g-cream);color:var(--g-navy);border:0;padding:34px;text-align:left;position:relative;box-shadow:0 10px 0 #fffaf00b;transition:transform .3s}.g-person:hover{transform:translateY(-5px)}.g-person-symbol{font:40px var(--g-serif);color:var(--g-gold);margin-bottom:25px}.g-person strong{font:400 clamp(28px,2.7vw,41px)/1.13 var(--g-serif);letter-spacing:-.035em;overflow-wrap:anywhere}.g-person-label{font-size:12px;line-height:1.6;color:var(--g-muted);margin:12px 0}.g-person-preview{font:17px/1.5 var(--g-serif);margin-bottom:20px;color:var(--g-muted)}.g-person-cta{font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.g-future{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:center;min-height:730px}.g-future h2{margin-bottom:28px}.g-future-intro{font:22px/1.6 var(--g-serif);color:var(--g-muted)}.g-future-date{font-size:13px;color:var(--g-gold);margin:30px 0 18px}.g-future .g-text{display:flex;width:fit-content;margin-top:12px}.g-future .g-sample{margin-top:24px;max-width:340px}.g-capsule-art{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;aspect-ratio:4/5;border:1px solid var(--g-navy);max-width:450px;width:100%;padding:40px 35px;color:var(--g-navy);transform:rotate(-5deg);box-shadow:15px 18px 0 var(--g-brass);background:var(--g-cream);outline:1px solid var(--g-navy);outline-offset:-12px}.g-capsule-top,.g-capsule-bottom{font-size:10px;font-weight:600;letter-spacing:.13em;line-height:1.6;text-align:center}.g-capsule-name{font:400 clamp(26px,3vw,47px)/1.15 var(--g-serif);letter-spacing:-.03em;overflow-wrap:anywhere;width:100%;text-align:center;margin:30px 0 15px}.g-capsule-star{font:100px/1 var(--g-serif);color:var(--g-gold)}.g-capsule-year{font:400 72px/1 var(--g-serif);letter-spacing:-.07em;margin:10px 0 35px}.g-closing{text-align:center;padding:100px 24px 110px;background:var(--g-cream)}.g-closing h2{font-size:clamp(68px,8vw,120px);margin:22px 0 25px}.g-closing>p:not(.g-kicker){font:22px/1.6 var(--g-serif);max-width:650px;margin:0 auto 30px;overflow-wrap:anywhere}.g-footer{border-top:1px solid var(--g-line);border-bottom:0}.g-close{position:absolute;top:17px;right:17px;border:1px solid var(--g-line);background:var(--g-cream);color:var(--g-navy);width:44px;height:44px;font-size:30px;line-height:1;z-index:2}.g-dialog-top{position:relative;padding-right:55px}.g-dialog-top .g-close{top:-6px;right:0}dialog{border:0;color:var(--g-ink);background:var(--g-cream);padding:0;max-height:calc(100dvh - 36px);width:calc(100% - 36px);max-width:950px;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#17283ac9;backdrop-filter:blur(4px)}.g-diploma-dialog{max-width:900px;padding:65px 50px 30px;background:var(--g-paper)}.g-certificate{position:relative;border:1px solid var(--g-gold);outline:1px solid var(--g-brass);outline-offset:-10px;background:var(--g-cream);padding:50px 45px;text-align:center}.g-certificate-star{font:65px/1 var(--g-serif);color:var(--g-gold);display:block;margin:27px 0}.g-certificate-intro{font:italic 21px/1.5 var(--g-serif);color:var(--g-muted)}.g-certificate h2{font:400 clamp(42px,6vw,75px)/1.08 var(--g-serif);letter-spacing:-.04em;margin:26px 0 18px;color:var(--g-navy);overflow-wrap:anywhere}.g-degree{font:26px/1.4 var(--g-serif);margin:10px 0;color:var(--g-navy)}#diplomaSchool,#diplomaDate{font-size:14px;line-height:1.6;margin:9px 0;overflow-wrap:anywhere}.g-rule{width:80px;border-top:1px solid var(--g-gold);margin:27px auto}#diplomaWords{font:19px/1.7 var(--g-serif);white-space:pre-wrap;overflow-wrap:anywhere}.g-signature{font:italic 21px/1.5 var(--g-serif);color:var(--g-gold);margin:25px 0}.g-certificate-note{font-size:10px;color:var(--g-muted);margin-top:22px}.g-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.g-story-photo{background:var(--g-paper)}.g-story-photo img{width:100%;max-height:490px;object-fit:contain;display:block}.g-story-copy{padding:65px 50px 45px}.g-story-copy h2,.g-future-dialog h2,.g-editor h2{font:400 clamp(38px,4.5vw,64px)/1.06 var(--g-serif);letter-spacing:-.04em;margin:24px 0 30px;color:var(--g-navy);overflow-wrap:anywhere}.g-story-body{font:21px/1.75 var(--g-serif);overflow-wrap:anywhere;white-space:pre-line}.g-story-body p{margin:0 0 25px}audio{width:100%;margin:16px 0 8px;display:block}#storyVoiceWrap{margin-top:32px}.g-future-dialog{max-width:820px;padding:75px 60px 45px}.g-editor{max-width:900px;padding:35px 50px 40px}.g-editor-intro,.g-editor-hint{font-size:14px;line-height:1.7;color:var(--g-muted)}.g-editor h2{margin-bottom:20px}.g-editor label{display:block;font-size:13px;font-weight:600;line-height:1.6;margin-top:23px}.g-editor input,.g-editor textarea{display:block;width:100%;max-width:100%;margin-top:8px;border:1px solid var(--g-line);background:var(--g-paper);color:var(--g-ink);padding:13px 14px;min-height:48px;font-size:16px;font-weight:400;border-radius:0}.g-editor input[type=file]{font-size:13px}.g-editor textarea{resize:vertical;line-height:1.6}.g-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.g-editor fieldset{min-width:0;border:1px solid var(--g-line);padding:18px 25px 25px;margin:35px 0}.g-editor legend{font:400 25px/1.3 var(--g-serif);padding:0 10px;color:var(--g-navy)}.g-person-edit+.g-person-edit{margin-top:28px;border-top:1px solid var(--g-line);padding-top:5px}.g-editor small{display:block;color:var(--g-muted);font-size:11px;line-height:1.6;margin:8px 0}.g-editor .g-text{font-size:12px}.g-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--g-line);padding-top:25px;margin-top:25px}#editorStatus{color:var(--g-gold);font-size:14px;line-height:1.6}.g-toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);width:max-content;max-width:calc(100% - 30px);background:var(--g-navy);color:var(--g-cream);padding:15px 22px;font-size:13px;line-height:1.6;box-shadow:0 8px 25px #17283a22;z-index:10;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}.g-toast.visible{opacity:1;transform:translate(-50%,0)}.g-reduced{scroll-behavior:auto}.g-reduced *,.g-reduced *:before,.g-reduced *:after{animation:none!important;transition:none!important}.g-reduced .g-scroll:hover{transform:rotate(4deg)}.g-reduced .g-person:hover{transform:none}
@media(min-width:1680px){.g-section{padding-left:max(5.5vw,calc((100% - 1500px)/2));padding-right:max(5.5vw,calc((100% - 1500px)/2))}}
@media(max-width:1050px){.g-edition{display:none}.g-hero{padding-top:65px;gap:30px;min-height:660px}.g-hero h1{font-size:110px}.g-scroll-paper{padding:38px 25px 30px;min-height:405px}.g-scroll-title{font-size:57px}.g-moments{grid-template-columns:1fr 1fr}.g-moment:nth-child(2){border-right:0}.g-moment:nth-child(-n+2){border-bottom:1px solid var(--g-line)}.g-moment{min-height:300px;padding:27px}.g-moment strong{font-size:38px}.g-moment-number{margin:15px 0 25px}.g-section-head{align-items:flex-start;flex-direction:column;gap:10px}.g-section-head>p{max-width:500px}.g-person{padding:28px;min-height:360px}.g-person strong{font-size:32px}.g-footer>span{display:none}}
@media(max-width:700px){.g-header{padding:18px 22px;gap:10px;flex-wrap:wrap}.g-header>div{gap:15px}.g-header .g-text{font-size:11px}.g-header .g-outline{font-size:12px;padding:9px 12px}.g-brand{font-size:22px}.g-hero{grid-template-columns:1fr;padding:55px 24px 65px;gap:35px}.g-hero h1{font-size:clamp(96px,20vw,132px);margin:25px 0 30px}.g-intro{font-size:21px}.g-diploma-scene{padding:55px 12px 0;max-width:530px;width:100%;margin:auto}.g-orbit{right:8px;top:-5px}.g-orbit svg{width:63px}.g-orbit span{font-size:8px;max-width:100px}.g-scroll-paper{padding:43px 25px 30px;min-height:425px}.g-scroll-title{font-size:62px}.g-diploma-scene>.g-sample{margin-top:28px}.g-marquee{padding:20px 24px;font-size:9px;letter-spacing:.09em;justify-content:space-between;gap:12px}.g-marquee>span:last-child,.g-marquee>i:last-of-type{display:none}.g-section{padding:70px 24px}.g-section-head{margin-bottom:35px}.g-section h2{font-size:clamp(43px,9vw,64px)}.g-section-head>p{font-size:17px}.g-moment{padding:20px 15px;min-height:290px}.g-moment-label{font-size:9px}.g-moment-number{font-size:54px;margin:20px 0}.g-moment strong{font-size:clamp(25px,5.8vw,34px)}.g-moment-cta{font-size:11px;padding-top:24px}.g-people-grid{grid-template-columns:1fr;gap:20px}.g-person{min-height:280px;padding:32px}.g-person strong{font-size:38px}.g-person-symbol{margin-bottom:18px;font-size:35px}.g-person-preview{font-size:19px}.g-future{grid-template-columns:1fr;gap:45px}.g-future h2{font-size:54px}.g-future-intro{font-size:21px}.g-capsule-art{max-width:340px;width:calc(100% - 25px);margin:0 auto 15px;padding:38px 24px}.g-capsule-name{font-size:37px}.g-capsule-star{font-size:87px}.g-capsule-year{font-size:65px;margin-bottom:30px}.g-closing{padding:75px 24px}.g-closing>p:not(.g-kicker){font-size:21px}.g-footer{padding:22px;flex-wrap:wrap;gap:15px}.g-footer .g-text{font-size:11px}.g-diploma-dialog{padding:65px 17px 25px}.g-certificate{padding:40px 22px 30px}.g-certificate h2{font-size:48px}.g-certificate-intro{font-size:19px}.g-degree{font-size:23px}#diplomaWords{font-size:18px}.g-story-copy,.g-future-dialog{padding:70px 25px 30px}.g-story-body{font-size:20px}.g-dialog-actions{flex-direction:column;align-items:stretch;gap:13px}.g-dialog-actions .g-text{align-self:center}.g-editor{padding:30px 24px}.g-editor h2{font-size:47px}.g-field-pair{grid-template-columns:1fr;gap:0}.g-editor fieldset{padding:12px 15px 23px}.g-editor legend{font-size:23px}.g-editor-actions{flex-direction:column;align-items:stretch}.g-editor label{margin-top:20px}.g-toast{bottom:10px;padding:13px 17px;font-size:12px}}
@media(max-width:370px){.g-header>div{justify-content:space-between;width:100%}.g-hero{padding-inline:20px}.g-section{padding-inline:20px}.g-scroll-paper>.g-kicker{font-size:8px}.g-scroll-title{font-size:54px}.g-scroll-cta{font-size:10px}.g-moment strong{font-size:25px}.g-capsule-name{font-size:32px}}

.g-hero-copy,.g-diploma-scene,.g-future>div{min-width:0}.g-intro,.g-from,.g-kicker,.g-degree,.g-signature,.g-moment-label,.g-person-label,.g-person-preview,#futureDateLabel{overflow-wrap:anywhere}

/* Retain the original graduation photograph in the opening and future sections. */
.g-hero-photo{margin:0;min-width:0;width:100%;max-width:650px;justify-self:end}.g-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:72% center}.g-hero-photo figcaption{font:italic 16px/1.6 var(--g-serif);color:var(--g-muted);margin-top:14px;text-align:right}.g-diploma-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw;padding:70px 5.5vw 100px;max-width:1680px;margin:auto}.g-diploma-section h2{font:400 clamp(50px,6.5vw,95px)/1.02 var(--g-serif);letter-spacing:-.05em;color:var(--g-navy);margin:22px 0 25px}.g-diploma-section h2 em{font-weight:400}.g-diploma-section>div:first-child>p:not(.g-kicker){font:22px/1.6 var(--g-serif);color:var(--g-muted)}.g-diploma-section>div{min-width:0}.g-future{position:relative;isolation:isolate;background:var(--g-navy);color:var(--g-cream)}.g-future-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:72% center}.g-future:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#17283af2,#17283ad6 50%,#17283a9c)}.g-future h2{color:var(--g-cream)}.g-future .g-kicker,.g-future-date{color:var(--g-brass)}.g-future .g-future-intro,.g-future .g-sample{color:var(--g-line)}.g-future .g-primary{background:var(--g-cream);color:var(--g-navy);border-color:var(--g-cream)}.g-future .g-primary:hover{background:var(--g-paper)}.g-future .g-text:hover{color:var(--g-brass)}
@media(max-width:700px){.g-hero-photo{max-width:none}.g-hero-photo img{aspect-ratio:4/3}.g-hero-photo figcaption{font-size:14px}.g-diploma-section{grid-template-columns:1fr;gap:35px;padding:65px 24px 70px}.g-diploma-section h2{font-size:60px}.g-diploma-section>div:first-child>p:not(.g-kicker){font-size:21px}.g-future-photo{object-position:72% top}.g-future:before{background:#17283ad9}}
