@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500&display=swap";:root{color:#1b2a38;font-synthesis:none;text-rendering:optimizelegibility;background:#e6f2fa;font-family:IBM Plex Sans,Arial,sans-serif}*{box-sizing:border-box}html{min-width:320px}body{background:#e6f2fa;min-width:320px;margin:0;overflow-x:hidden}body:before{z-index:-1;pointer-events:none;opacity:.28;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;inset:0}button{font:inherit}.page-shell{width:min(100%,56rem);margin:0 auto;padding:clamp(3.5rem,9vw,7rem) clamp(1.25rem,5vw,5rem) 2rem;animation:.65s ease-out both page-arrival}.hero{margin-bottom:clamp(3.5rem,9vw,6.5rem)}.hero__eyebrow,.section-kicker{color:#155e8a;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.72rem;font-weight:600;line-height:1.4}.hero h1{letter-spacing:0;max-width:12ch;margin:0;font-size:clamp(2.7rem,8vw,5.75rem);font-weight:500;line-height:.98}.hero__subtitle{color:#54697a;max-width:32rem;margin:1.5rem 0 0;font-size:clamp(1rem,2.5vw,1.3rem);line-height:1.5}h2{margin:0;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:500;line-height:1.2}.divider{border:0;border-top:1px solid #c8dcea;max-width:36rem;margin:clamp(3rem,8vw,5.5rem) auto}.letter,.gallery,.cheer{margin-top:0}.letter__paper{background:#fff;border-radius:12px;max-width:49rem;padding:clamp(1.5rem,5vw,4.5rem)}.letter h2{margin-bottom:2rem;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400}.letter__body{color:#1b2a38;max-width:38rem;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.08rem,2vw,1.25rem);line-height:1.7}.letter__body p{margin:0 0 1.35rem}.letter__body p:last-child{margin-bottom:0}.letter__signoff{color:#54697a;margin:2.25rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:1.1rem}.gallery__heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.gallery__count{color:#54697a;letter-spacing:.06em;white-space:nowrap;font-size:.8rem}.gallery__stage{width:min(100%,34rem);min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;margin:2rem auto 0;padding:clamp(.75rem,3vw,1.5rem);display:block}.gallery__polaroid{width:min(100%,24rem);transform:rotate(var(--tilt));background:#fff;border-radius:8px;margin:0 auto;padding:1.5rem 1.5rem 2rem;transition:transform .18s;display:block;box-shadow:0 4px 16px #00000014}.gallery__stage:hover .gallery__polaroid,.gallery__stage:focus-visible .gallery__polaroid{transform:rotate(0)}.gallery__polaroid img{object-fit:cover;border-radius:4px;width:100%;display:block}.gallery__placeholder{aspect-ratio:4/3;color:#54697a;text-align:center;background:#d9eaf3;border-radius:4px;place-items:center;width:100%;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.2rem,4vw,1.8rem);line-height:1.1;display:grid}.gallery__caption{color:#155e8a;text-align:center;margin-top:1rem;font-family:"Source Serif 4",Georgia,serif;font-size:1.05rem;display:block}.gallery__hint{color:#54697a;text-align:center;margin:1.5rem 0 0;font-size:.85rem}.cheer__card{text-align:center;background:#fff;border:1px solid #c8dcea;padding:clamp(1.5rem,5vw,3rem)}.cheer__card h2{max-width:24rem;margin:0 auto}.cheer__message{color:#54697a;opacity:1;justify-content:center;align-items:center;max-width:34rem;min-height:4.75rem;margin:1.5rem auto;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.5;transition:opacity .125s;display:flex}.cheer__message--changing{opacity:0}.cheer__button{color:#fff;cursor:pointer;background:#155e8a;border:0;border-radius:999px;min-height:44px;padding:.75rem 1.25rem;transition:background-color .15s}.cheer__button:hover,.cheer__button:focus-visible{background:#1b2a38}.page-footer{color:#54697a;text-align:center;margin-top:4rem;font-size:.78rem}@keyframes page-arrival{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.page-shell{padding-top:3.5rem}.gallery__stage{padding:.75rem .25rem}.gallery__polaroid{transform:rotate(calc(var(--tilt) / 2))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
