.album-hero{isolation:isolate;background:linear-gradient(120deg,#f1edff,#fff8e9);padding:42px 0 60px;position:relative;overflow:hidden}.album-hero:before{content:"";z-index:-1;pointer-events:none;border:1px dashed #c8b6e1;border-radius:50%;width:540px;height:540px;position:absolute;top:-140px;right:-160px;box-shadow:0 0 0 65px #e9dfff40,0 0 0 130px #e9dfff25}.album-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.12fr);align-items:center;gap:54px;display:grid}.album-hero-copy .eyebrow{margin-top:27px;display:flex}.album-hero h1{margin:23px 0;font-size:clamp(40px,4.25vw,60px);font-weight:900}.album-hero-copy>p{color:var(--body);max-width:590px;font-size:17px}.album-year{align-items:center;gap:15px;margin-top:28px;display:flex}.album-year>span:first-child{color:#a26c24;font-size:30px}.album-year strong{font-family:Nunito,sans-serif;font-size:30px}.album-year>span:last-child{color:var(--body);border-left:1px solid #cdd0df;padding-left:15px;font-size:12px}.memory-showcase{min-width:0;padding-top:10px}.memory-showcase-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;padding:0 7px;display:flex}.memory-handwritten{color:#72538d;font-family:Patrick Hand,cursive;font-size:25px;transform:rotate(-4deg)}.memory-edition{color:#6a627e;letter-spacing:.13em;font-size:9px;font-weight:800}.memory-frame{background:#fff;border:1px solid #fff;border-radius:24px;grid-template-columns:minmax(0,1fr);padding:12px 12px 0;transition:transform .3s,box-shadow .3s;display:grid;position:relative;transform:rotate(-1deg);box-shadow:0 22px 50px #49316e16,0 4px 10px #49316e08}.memory-tape{z-index:1;clip-path:polygon(3% 0,98% 0,95% 17%,100% 35%,96% 52%,100% 74%,97% 100%,0 100%,4% 74%,0 50%,4% 25%);pointer-events:none;background:#efd493d9;width:90px;height:27px;position:absolute;top:-14px;left:calc(50% - 45px);transform:rotate(4deg)}.memory-slide{grid-area:1/1;min-width:0;margin:0}.memory-slide:not([hidden]){animation:.45s ease-out memory-reveal}@keyframes memory-reveal{0%{opacity:.3}to{opacity:1}}.memory-slide[hidden]{visibility:hidden;pointer-events:none;display:block}.memory-picker[hidden],.memory-playback[hidden]{display:none}.memory-theme-purple{--memory-bg:#f0ebfa;--memory-colour:#70509a}.memory-theme-orange{--memory-bg:#fff0df;--memory-colour:#9a5a24}.memory-theme-blue{--memory-bg:#e6f4fc;--memory-colour:#236c8d}.memory-theme-pink{--memory-bg:#fff0f3;--memory-colour:#a53759}.memory-photo{aspect-ratio:4/3;background:var(--memory-bg);border-radius:15px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.memory-photo img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.memory-enlarge{color:var(--ink);background:#fffffff2;border-radius:30px;align-items:center;gap:12px;padding:8px 13px;font-size:11px;font-weight:700;transition:background .2s;display:flex;position:absolute;bottom:13px;right:13px;box-shadow:0 3px 12px #14205212}.memory-enlarge>span{font-size:18px;line-height:1}.memory-photo:hover .memory-enlarge{background:#fff2d2}.memory-caption{justify-content:space-between;align-items:center;gap:15px;padding:19px 10px 20px;display:flex}.memory-caption-eyebrow{color:var(--body);margin-bottom:6px;font-size:11px;display:block}.memory-caption h2{margin:0;font-size:27px;font-weight:900}.memory-caption>a{min-height:44px;color:var(--blue);align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex}.memory-caption>a>span:last-child{background:var(--memory-bg);border-radius:50%;place-items:center;width:36px;height:36px;font-size:23px;transition:transform .2s;display:grid}.memory-caption>a:hover>span:last-child{transform:translate(2px,-2px)}.memory-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:23px;display:grid}.memory-choice{min-height:58px;color:var(--body);background:#ffffff85;border:1px solid #dcd6e9;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:11px;font-weight:700;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex}.memory-choice[aria-pressed=true]{border-color:var(--memory-colour);color:var(--memory-colour);box-shadow:0 4px 0 var(--memory-bg);background:#fff}.memory-choice-symbol{color:var(--memory-colour);font-size:23px;line-height:1}.memory-choice-number{opacity:.65;margin-left:auto;font-size:9px}.memory-playback{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 15px;margin-top:13px;display:flex}.memory-picker-hint{text-align:center;color:#726c80;margin:0;font-size:11px}.memory-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover) and (prefers-reduced-motion:no-preference){.memory-frame:hover,.memory-frame:focus-within{transform:rotate(0)translateY(-3px);box-shadow:0 26px 55px #49316e22}.memory-choice:hover{border-color:var(--memory-colour);background:#fff;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.memory-slide:not([hidden]){animation:none}}.album-directory{background:linear-gradient(#fff,#fffdf9);padding:0 0 75px}.album-navigation{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;padding:28px 0;display:flex}.album-navigation>span{color:var(--body);letter-spacing:.12em;font-size:11px;font-weight:800}.album-navigation>div{flex-wrap:wrap;gap:10px;display:flex}.album-navigation a{min-height:44px;color:var(--blue);border:1px solid #dee1ed;border-radius:50px;align-items:center;gap:12px;padding:10px 17px;font-size:12px;font-weight:700;display:inline-flex}.album-navigation a:hover{background:#f0edff;border-color:#b5a4df}.event-album{margin-bottom:65px;padding-top:35px;scroll-margin-top:115px}.event-album:last-child{margin-bottom:0}.album-theme-purple{--album-bg:#eee8ff;--album-accent:#7453b5}.album-theme-orange{--album-bg:#fff0e3;--album-accent:#a75e26}.album-theme-blue{--album-bg:#e5f5fc;--album-accent:#277596}.album-theme-pink{--album-bg:#fff0f3;--album-accent:#a53759}.album-heading{grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:23px;display:grid}.album-symbol{background:var(--album-bg);width:72px;height:72px;color:var(--album-accent);border-radius:24px 24px 10px;place-items:center;font-size:36px;display:grid;transform:rotate(-7deg)}.album-heading h2{margin:11px 0 12px;font-size:clamp(34px,3.7vw,48px);font-weight:900}.album-heading p{max-width:690px;color:var(--body);margin-bottom:0;font-size:14px}.album-heading .album-tagline{color:var(--ink);margin-bottom:8px;font-family:Nunito,sans-serif;font-size:19px;font-weight:800}.album-count{background:var(--album-bg);color:var(--album-accent);white-space:nowrap;border-radius:30px;padding:7px 14px;font-size:12px;font-weight:800}.album-hint{color:var(--body);margin:25px 0 16px;font-size:12px}.album-hint>span{color:var(--album-accent);margin-right:5px;font-size:17px}.album-photo-grid{columns:3;column-gap:20px}.album-photo{break-inside:avoid;background:var(--album-bg);border-radius:18px;margin-bottom:20px;display:block;position:relative;overflow:hidden}.album-photo img{width:100%;height:auto;transition:transform .35s}.album-photo:hover img{transform:scale(1.025)}.photo-view-label{color:var(--ink);opacity:0;background:#fffffff0;border-radius:25px;align-items:center;gap:15px;padding:7px 13px;font-size:11px;font-weight:800;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(5px)}.album-photo:hover .photo-view-label,.album-photo:focus-visible .photo-view-label{opacity:1;transform:none}.album-cta{text-align:center;background:#faf8ff;padding:55px 0 85px}.album-cta .container>span{color:#8a68c5;font-size:45px}.album-cta h2{margin:10px 0 18px;font-size:clamp(32px,3.5vw,46px)}.album-cta p{color:var(--body);margin-bottom:25px;font-size:15px}.photo-viewer{color:#fff;background:#111a36;border:0;border-radius:20px;width:min(1100px,100% - 24px);max-width:none;height:min(940px,100dvh - 24px);max-height:calc(100dvh - 24px);padding:0;box-shadow:0 30px 90px #0006}.photo-viewer::backdrop{background:#080d22e8}.viewer-shell{flex-direction:column;height:100%;min-height:0;padding:18px 24px;display:flex}.viewer-topbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.viewer-topbar h2{margin:0 0 3px;font-size:20px}.viewer-topbar>div{min-width:0}.viewer-topbar [data-viewer-count]{color:#c5cde3;font-size:12px}.photo-viewer button{color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:21px}.photo-viewer button:hover{background:#ffffff30}.viewer-image-wrap{touch-action:pan-y pinch-zoom;background:#0a1024;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.viewer-image-wrap img{object-fit:contain;width:100%;height:100%;min-height:0}.viewer-bottom{justify-content:space-between;align-items:center;gap:18px;margin-top:15px;display:flex}.viewer-bottom p{color:#e0e5f4;text-align:center;min-width:0;max-height:6em;margin:0;font-size:13px;overflow-y:auto}@media (width<=930px){.album-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.memory-showcase-heading{flex-direction:column;align-items:start;gap:3px}.memory-caption{padding-inline:4px}.memory-caption>a>span:first-child{display:none}.memory-caption-eyebrow{font-size:10px}.memory-choice{gap:5px;padding:9px 5px;font-size:10px}.memory-choice-number{display:none}.album-navigation{flex-direction:column;align-items:start}.album-photo-grid{columns:2}}@media (width<=720px){.album-hero{padding:30px 0 40px}.album-hero-grid{grid-template-columns:1fr;gap:32px}.album-hero-copy>p{font-size:16px}.memory-showcase{width:min(540px,100%);margin-inline:auto;padding:0 3px}.memory-showcase-heading{flex-direction:row;align-items:center;gap:12px}.memory-frame{border-radius:20px;padding:9px 9px 0;transform:none}.memory-caption{padding:16px 5px 18px}.memory-choice{padding:10px 7px;font-size:11px}.memory-choice-symbol{font-size:20px}.memory-picker{gap:8px;margin-top:19px}.album-navigation{margin-bottom:10px}.album-navigation a{gap:8px;padding-inline:13px}.album-heading{grid-template-columns:52px minmax(0,1fr);gap:15px}.album-symbol{border-radius:18px 18px 7px;width:52px;height:52px;font-size:28px}.album-count{grid-column:2;justify-self:start}.album-heading .eyebrow{font-size:10px}.event-album{margin-bottom:35px}.album-photo-grid{column-gap:12px}.album-photo{border-radius:12px;margin-bottom:12px}.photo-view-label{display:none}.album-directory{padding-bottom:40px}.viewer-shell{padding:16px}.viewer-topbar h2{font-size:17px}.viewer-bottom{gap:10px}.viewer-bottom p{font-size:12px}}@media (hover:none){.album-photo:hover img{transform:none}.photo-view-label{opacity:1;padding:6px 10px;display:flex;transform:none}}@media (height<=500px) and (orientation:landscape){.viewer-shell{padding:10px 14px}.viewer-topbar{margin-bottom:8px}.viewer-bottom{margin-top:8px}.viewer-bottom p{max-height:3em}}@media (width<=420px){.memory-handwritten{font-size:23px}.memory-edition{letter-spacing:.08em;font-size:8px}.memory-caption h2{font-size:24px}.memory-caption-eyebrow{max-width:205px}.memory-choice{flex-direction:column;gap:5px;font-size:10px}.memory-enlarge{padding:6px 11px;font-size:10px;bottom:9px;right:9px}.album-year{gap:10px}.album-year>span:last-child{padding-left:10px;font-size:11px}.album-photo-grid{columns:1}.album-navigation>div{gap:8px}.album-navigation a{font-size:11px}}
