@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{--cream:#faf7f1;--red:#8c1829;--ink:#382e2a;--muted:#7b7069;--line:#e4dcd3}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:100px;padding:0 5.5%;display:flex}.brand{color:var(--red);white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:31px;font-weight:600;text-decoration:none}.brand span{letter-spacing:2.1px;margin-top:3px;font:9px DM Sans,sans-serif;display:block}nav{align-items:center;gap:34px;height:100%;display:flex}nav button{height:100%;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;padding:0 4px;display:flex}nav button.active{color:var(--red);border-color:var(--red);font-weight:600}.private{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}main{max-width:1300px;margin:auto;padding:43px 5.5% 0}.eyebrow{letter-spacing:2px;color:var(--red);font-size:10px;font-weight:600}.intro{justify-content:space-between;align-items:center;margin:20px 0 49px;display:flex}h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:400}h1{letter-spacing:-1.9px;margin:0 0 20px;font-size:clamp(42px,5vw,66px);line-height:1.1}h1 em{color:var(--red);font-weight:400}.intro p{color:var(--muted);max-width:470px;margin:0;line-height:1.8}.seal{width:156px;height:156px;color:var(--red);outline-offset:-8px;border:1px solid #cbb7a6;border-radius:50%;outline:1px solid #e2d5c6;flex-direction:column;justify-content:center;align-items:center;margin-right:28px;display:flex;transform:rotate(9deg)}.seal strong{font:64px Playfair Display,Georgia}.seal span{letter-spacing:1.7px;font-size:7px}.sectionbar{border-top:1px solid var(--line);letter-spacing:1.7px;justify-content:space-between;padding:20px 0;font-size:9px;font-weight:600;display:flex}.sectionbar span:last-child{color:var(--muted);align-items:center;gap:12px;display:flex}.product{border:1px solid var(--line);background:#fffdfa;grid-template-columns:1.2fr 1fr;display:grid}.productimage{background:#750614;align-items:center;min-height:520px;display:flex;position:relative;overflow:hidden}.productimage img{width:100%;height:auto;display:block}.imagebadge{background:var(--cream);letter-spacing:1.6px;color:var(--red);padding:8px 12px;font-size:8px;position:absolute;top:20px;left:20px}.productinfo{padding:38px 40px}.pill{letter-spacing:1.3px;color:var(--red);align-items:center;gap:7px;font-size:8px;display:flex}.pill span{background:var(--red);border-radius:100%;width:5px;height:5px}h2{margin:19px 0 12px;font-size:37px;line-height:1.18}.subtitle{color:var(--muted);font-family:Georgia,serif;font-size:16px;font-style:italic}.description{color:var(--muted);margin-top:22px;font-size:12px;line-height:1.8}.details{margin:24px 0}.details>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:12px 0;font-size:10px;display:flex}.details span{color:var(--muted)}.details b{font-weight:500}.details i{width:9px;height:9px;box-shadow:3px 0 var(--red);background:#ebd7b7;border-radius:50%;margin-right:7px;display:inline-block}.primary{background:var(--red);border:1px solid var(--red);color:#fff;justify-content:space-between;align-items:center;width:100%;min-height:47px;padding:12px 17px;font-size:12px;display:flex}.primary:hover{background:#711021}.small{color:var(--muted);font-size:10px;line-height:1.6}.concept{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin-top:20px;padding-top:17px;font-size:9px;line-height:1.7;display:flex}.concept svg{flex-shrink:0}.bottomnote{justify-content:space-between;align-items:center;padding:42px 0;display:flex}.mini{letter-spacing:1.8px;color:var(--red);font-size:9px}h3{margin:13px 0;font-size:30px;line-height:1.3}.bottomnote p{color:var(--muted);font-size:12px;line-height:1.8}.textbutton{color:var(--red);background:0 0;border:0;align-items:center;gap:30px;padding:0;font-size:12px;display:flex}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:110px;display:flex}footer b{color:var(--red);font:22px Playfair Display,Georgia}footer span{letter-spacing:1px;color:var(--muted);font-size:9px}footer div span{letter-spacing:0;margin-top:7px;display:block}footer button{color:var(--red);background:0 0;border:0;align-items:center;gap:8px;font-size:11px;display:flex}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#24140f88;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--cream);width:100%;max-width:480px;max-height:90vh;padding:32px;position:relative;overflow:auto;box-shadow:0 15px 80px #240c2340}.dialog>p{color:var(--muted);font-size:12px;line-height:1.7}.close{color:var(--red);background:0 0;border:0;position:absolute;top:12px;right:12px}label{color:var(--ink);margin:15px 0;font-size:11px;display:block}label span{color:var(--muted)}input,select,textarea{width:100%;color:var(--ink);background:#fffdfa;border:1px solid #d7cbc1;border-radius:0;margin-top:7px;padding:11px;font-size:13px;display:block}textarea{resize:vertical;min-height:70px}.formrow{grid-template-columns:1fr 1fr;gap:15px;display:grid}.formrow label{margin:0}.status{color:var(--red);background:#f0e5df;padding:10px;font-size:12px;line-height:1.5}.chat{border:1px solid var(--line);background:#fffdfa;grid-template-columns:260px 1fr;margin-bottom:45px;display:grid}.chat aside{border-right:1px solid var(--line);background:#f2ede5;padding:28px}.chat aside h2{font-size:26px}.chat aside p{color:var(--muted);font-size:12px;line-height:1.7}.chatmark{color:var(--red)}.chatnote{color:var(--red);margin-top:30px}small{color:var(--muted);font-size:10px;line-height:1.6;display:block}.chatheading{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:20px 25px;display:flex}.chatheading b{font-size:12px}.chatheading span{color:var(--muted);gap:5px;font-size:9px;display:flex}.messages{height:380px;padding:20px;overflow:auto}.empty{text-align:center;height:100%;color:var(--red);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty p{color:var(--muted);font-size:12px}.message{background:#f3eee7;border-radius:0 12px 12px;margin:0 40px 14px 0;padding:15px}.message.mine{background:#f2e4e3;border-radius:12px 0 12px 12px;margin:0 0 14px 40px}.message>div{justify-content:space-between;gap:10px;display:flex}.message b{font-size:11px}.message time{color:var(--muted);font-size:9px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:2px;font-size:13px;line-height:1.6}.message button{color:var(--muted);background:0 0;border:0;padding:5px 0 0;font-size:9px}.composer{border-top:1px solid var(--line);align-items:center;gap:10px;padding:16px;display:flex}.composer textarea{height:48px;min-height:48px;margin:0}.composer .primary{width:48px}.sr{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline-offset:3px;outline:2px solid #b24c5b}@media (min-width:1400px){main{padding-left:25px;padding-right:25px}}@media (max-width:800px){header{gap:15px;height:84px;padding:0 5%}.private{display:none}nav{gap:15px}nav button{font-size:11px}.brand{font-size:25px}.brand span{font-size:7px}main{padding-top:30px}.intro{margin-bottom:30px}.intro p{max-width:330px;font-size:12px}.seal{flex-shrink:0;width:110px;height:110px;margin-left:20px;margin-right:8px}.seal strong{font-size:45px}.seal span{letter-spacing:1px;font-size:5px}.productinfo{padding:25px}.product{grid-template-columns:1fr}.productimage{min-height:0}.productimage img{object-fit:contain;max-height:640px}.productinfo h2 br{display:none}.productinfo h2{font-size:32px}.chat{grid-template-columns:1fr}.chat aside{border-right:0;border-bottom:1px solid var(--line);padding:20px}.chat aside h2,.chatmark,.chatnote,.chat aside>p{display:none}.chat aside label{margin:0 0 8px}.chat aside small{font-size:9px}footer>span{display:none}.bottomnote{gap:20px}.bottomnote h3{font-size:25px}.sectionbar{letter-spacing:1px;font-size:8px}.sectionbar span:last-child{font-size:7px}.chatheading{padding:16px}.dialog h2{font-size:29px}}@media (max-width:440px){.seal{display:none}h1{font-size:47px}.intro p{max-width:100%}.bottomnote{flex-direction:column;align-items:flex-start;gap:5px}.messages{padding:12px}.message{margin-right:15px}.message.mine{margin-left:15px}.dialog{padding:27px 22px}.sectionbar span:last-child{letter-spacing:.3px}.productinfo{padding:27px}}.account{border:1px solid var(--line);background:#fffdfa;margin-bottom:40px;padding:32px}.accounthead{color:var(--red);justify-content:space-between;gap:20px;display:flex}.account p{color:var(--muted);font-size:12px;line-height:1.7}.accountnotice{border-left:3px solid var(--red);background:#f2ede5;margin:24px 0;padding:20px}.accountnotice b{font-size:13px}.accountnotice a{color:var(--red);align-items:center;gap:10px;display:inline-flex}.accountgrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0;display:grid}.accountgrid>div{border:1px solid var(--line);padding:20px}.accountgrid span{color:var(--muted);margin-bottom:14px;font-size:10px;display:block}.accountgrid strong{color:var(--red);font-family:Georgia,serif;font-size:21px;font-weight:400}.accountrow{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:20px;display:flex}.accountactions{gap:16px;margin-top:30px;display:flex}.history{overflow:auto}.history table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.history td,.history th{border-bottom:1px solid var(--line);padding:14px}@media (max-width:700px){.account{padding:20px}.accountgrid{grid-template-columns:1fr 1fr}.accountgrid>div{padding:14px}.accountgrid strong{font-size:18px}.accountactions,.accountrow{flex-direction:column}.account h2{font-size:29px}}.adminlink{color:var(--red);align-items:center;gap:8px;font-size:12px;text-decoration:none;display:inline-flex}.adminheading{justify-content:space-between;align-items:center;gap:20px;display:flex}.adminheading h1{margin-top:14px;font-size:52px}.adminheading p,.adminempty p{color:var(--muted);font-size:13px;line-height:1.7}.admintools{gap:10px;display:flex}.admintools button,.admintools a{border:1px solid var(--line);color:var(--red);background:#fffdfa;align-items:center;gap:7px;padding:12px;font-size:11px;text-decoration:none;display:flex}.admintabs{border-bottom:1px solid var(--line);gap:22px;display:flex}.admintabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:18px 0}.admintabs .chosen{border-color:var(--red);color:var(--red)}.sizechips{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;font-size:11px;display:flex}.sizechips span{background:#eee7de;padding:8px 12px}.sizechips strong{margin-left:10px}.adminfilters{gap:16px;display:flex}.adminfilters label:first-child{flex:1}.adminfilters label{min-width:100px}.adminempty{text-align:center;border-bottom:1px solid var(--line);margin-bottom:20px;padding:45px 10px}.admin .history{background:#fffdfa;margin-bottom:30px}.admin .history th{white-space:nowrap}.adminperson dl>div{border-bottom:1px solid var(--line);padding:11px 0}.adminperson dt{color:var(--muted);font-size:10px}.adminperson dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px}.adminperson p{font-size:12px}.adminperson{max-width:550px}@media (max-width:700px){.adminheading{display:block}.adminheading h1{font-size:40px}.admintools{margin:20px 0}.adminfilters{flex-direction:column;gap:0}.adminfilters label{margin-bottom:0}nav{gap:10px}.adminlink{font-size:10px}.admin .accountgrid{grid-template-columns:1fr 1fr}}.directoryconsent{border:1px solid var(--line);margin:24px 0;padding:16px}.directoryconsent legend{color:var(--red);padding:0 5px;font-size:12px;line-height:1.5}.directoryconsent label{align-items:flex-start;gap:10px;line-height:1.6;display:flex}.directoryconsent input{width:16px;accent-color:var(--red);flex-shrink:0;margin-top:3px}.directorytools{justify-content:space-between;align-items:center;gap:25px;display:flex}.directorytools label{flex:1;max-width:500px}.directorygrid{grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 40px;display:grid}.directorycard{border:1px solid var(--line);background:#fffdfa;padding:25px}.directorycard h2{font-size:28px}.directorycard dt{color:var(--muted);margin-top:18px;font-size:10px}.directorycard dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:13px}@media (max-width:900px){.directorygrid{grid-template-columns:1fr 1fr}header{flex-wrap:wrap;height:auto;min-height:100px;padding-top:16px;padding-bottom:16px}nav{flex-wrap:wrap;gap:12px;height:auto}nav button{padding:9px 0}}@media (max-width:550px){.directorygrid{grid-template-columns:1fr}.directorytools{display:block}}.homecoming{border-top:1px solid var(--line);margin:48px 0;padding:36px 0}.homecoming h2{margin:14px 0;font-size:clamp(30px,4vw,42px)}.homecoming>p,.homecoming-dates p{color:var(--muted);line-height:1.6}.homecoming-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px;display:grid}.homecoming-dates article{border:1px solid var(--line);background:#fffdf9;border-radius:8px;padding:28px}.homecoming-year{color:var(--red);letter-spacing:2px;font-size:12px;font-weight:700}.homecoming-dates h3{margin:15px 0 8px;font-size:clamp(23px,3vw,30px)}.homecoming-dates p{margin:0}@media (max-width:600px){.homecoming-dates{grid-template-columns:1fr}.homecoming-dates article{padding:24px}}.gallery-actions{flex-wrap:wrap;align-items:center;gap:20px;margin:24px 0;display:flex}.gallery-actions a.primary{width:auto;text-decoration:none}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.gallery-grid article{border:1px solid var(--line);background:#fffdf9;border-radius:8px;overflow:hidden}.gallery-grid img{object-fit:contain;background:#eee7dd;width:100%;height:280px}.gallery-grid article>div{overflow-wrap:anywhere;padding:20px}.gallery-form{gap:18px;max-width:600px;display:grid}.gallery-form label{gap:8px;display:grid}.gallery-form input,.gallery-form textarea{border:1px solid var(--line);background:#fff;max-width:100%;padding:12px}.gallery-form input[type=checkbox]{width:20px;height:20px}.gallery-form textarea{min-height:90px}@media (max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.gallery-grid{grid-template-columns:1fr}}.gallery-grid.yearbook{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.yearbook article{border-radius:2px;padding:10px;box-shadow:0 5px 18px #382e2a08}.yearbook article>div{padding:16px 8px 8px}.memory-thumbnail{width:100%;color:var(--red);background:#eee7dd;border:0;padding:0;display:block;position:relative}.yearbook .memory-thumbnail img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.memory-thumbnail>span{letter-spacing:.4px;background:#fffdf9ed;padding:6px 9px;font-size:10px;position:absolute;bottom:9px;right:9px}.memory-year{letter-spacing:2px;color:var(--red);font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.memory-caption{color:var(--red);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;font-family:Playfair Display,Georgia,serif;font-size:20px;font-style:italic;line-height:1.5}.yearbook .memory-caption{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.memory-viewer{border:1px solid var(--line);background:var(--cream);color:var(--ink);width:min(900px,94vw);max-height:92dvh;padding:0;overflow:auto;box-shadow:0 25px 100px #0006}.memory-viewer::backdrop{background:#24171ce6}.memory-full{object-fit:contain;background:#211b1d;width:100%;height:56dvh;display:block}.memory-close{z-index:1;border:1px solid var(--line);background:var(--cream);width:42px;height:42px;color:var(--red);border-radius:50%;font-size:28px;position:absolute;top:12px;right:12px}.memory-details{text-align:center;padding:24px 30px}.memory-details .memory-caption{font-size:24px}.memory-navigation{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;font-size:12px;display:flex}.memory-navigation button{border:1px solid var(--line);color:var(--red);background:#fffdf9;padding:12px}.memory-navigation button:disabled{cursor:default}@media (max-width:800px){.gallery-grid.yearbook{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.yearbook article{padding:6px}.yearbook .memory-caption{font-size:16px}.memory-details{padding:20px 16px}.memory-details .memory-caption{font-size:21px}.memory-full{height:50dvh}.memory-thumbnail>span{padding:4px 6px;font-size:9px}}.gallery-grid.yearbook{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:24px 0}.gallery-grid.yearbook article{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.yearbook .memory-thumbnail{overflow:hidden}.yearbook .memory-thumbnail img{aspect-ratio:1;object-fit:cover}.memory-details>button{border:1px solid var(--line);color:var(--red);background:#fffdf9;padding:10px 16px}@media (max-width:800px){.gallery-grid.yearbook{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}}
