:root{--memory-navy:#0b202a;--memory-gold:#d6b97a;--memory-cream:#f5eee1;--memory-muted:#b8c4c8}
.memories-section,.album-body{background:var(--memory-navy);color:var(--memory-cream);font-family:'Microsoft YaHei','Segoe UI',sans-serif}
.memories-section{padding:88px 0 68px;scroll-margin-top:110px}
.memories-shell{width:min(1200px,calc(100% - 80px));margin:auto}
.memories-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:36px}
.memory-kicker{font-size:11px!important;font-weight:600;letter-spacing:2.6px;color:var(--memory-gold)!important;margin:0 0 20px!important;line-height:1.7}
.memories-section h2,.album-body h1,.album-body h2{font-family:'Noto Serif SC','SimSun',serif!important;color:var(--memory-cream)!important;font-weight:500!important;letter-spacing:1px;line-height:1.4;margin:0}
.memories-section h2{font-size:38px!important}
.memory-intro{font-size:14px!important;line-height:1.9;color:var(--memory-muted)!important;max-width:350px;margin:0!important}
.memories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.memory-card{margin:0;min-width:0}
.memory-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;background:#132e3a;padding:0;border:0;cursor:zoom-in;overflow:hidden}
.memory-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .3s}
.memory-photo:hover img{filter:brightness(1.09)}
.memory-photo:focus-visible{outline:3px solid var(--memory-gold);outline-offset:4px}
.memory-expand{position:absolute;right:10px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;background:#09202ad9;color:#fff;font-size:20px;border:1px solid #ffffff3b}
.memory-card figcaption{padding:17px 0 0}
.memory-card figcaption>span{font-size:10px;letter-spacing:1px;color:var(--memory-gold)}
.memory-card h3{font-size:17px!important;font-family:'Microsoft YaHei',sans-serif!important;font-weight:400!important;line-height:1.6!important;color:var(--memory-cream)!important;margin:5px 0 0!important}
.memories-bottom{border-top:1px solid #ffffff21;margin-top:38px;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.memories-bottom p{font-size:13px;color:var(--memory-muted);margin:0}
.memory-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;text-decoration:none;color:var(--memory-cream)!important;font-size:14px;border-bottom:1px solid var(--memory-gold);padding:10px 0;min-height:44px;box-sizing:border-box}
.memory-link:hover{color:var(--memory-gold)!important}
.memory-dialog{padding:36px 60px;border:1px solid #ffffff30;background:#06141ef8;color:white;width:min(1180px,95vw);max-width:95vw;max-height:94vh;box-sizing:border-box;overflow:auto}
.memory-dialog::backdrop{background:#02080def;backdrop-filter:blur(7px)}
.memory-full img{display:block;max-width:100%;width:auto;height:auto;max-height:76vh;margin:auto;object-fit:contain}
.memory-full p{text-align:center;line-height:1.6;margin:14px 0 0;font-size:14px}
.memory-dialog button{position:absolute;color:white;background:#ffffff16;border:1px solid #ffffff30;width:42px;height:42px;cursor:pointer;font-size:26px;z-index:2}
.memory-close{top:8px;right:8px}
.memory-prev{top:48%;left:8px}
.memory-next{top:48%;right:8px}
.album-body{margin:0;line-height:1.7}
.album-body *{box-sizing:border-box}
.album-body a{text-decoration:none}
.album-header{height:94px;width:min(1320px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}
.album-header img{width:170px;height:auto;display:block}
.album-header nav{display:flex;gap:30px}
.album-header nav a{font-size:13px;color:#c5d0d3;padding:12px 0}
.album-header nav a[aria-current]{color:var(--memory-gold)}
.album-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;padding-top:76px;padding-bottom:88px}
.album-hero h1{font-size:50px;line-height:1.5}
.album-hero h1 em{font-style:normal;color:#d6b97a;font-size:.77em}
.album-hero-copy>p:not(.memory-kicker){color:var(--memory-muted);font-size:14px;line-height:2.05;margin:26px 0 18px}
.album-cover{margin:0;position:relative}
.album-cover img{width:100%;display:block;box-shadow:20px 20px 0 #18343f}
.album-cover figcaption{margin-top:34px;font-size:12px;color:#b9c6cc;letter-spacing:1px}
.album-signature{margin-top:38px;font-family:Georgia,serif;font-style:italic;color:#dcc699;font-size:22px}
.album-signature span{display:block;font-style:normal;font:10px 'Microsoft YaHei',sans-serif;letter-spacing:2px;color:#aebdc3;margin-top:5px}
.album-collection{padding:52px 0 78px;border-top:1px solid #ffffff25;scroll-margin-top:30px}
.collection-title{display:flex;align-items:end;justify-content:space-between;gap:20px}
.collection-title h2{font-size:32px}
.photo-count{font-size:12px;color:#aebdc3}
.album-filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 36px}
.album-filters button{background:transparent;color:#d8e0e3;border:1px solid #ffffff33;border-radius:2px;padding:10px 23px;min-height:44px;font-family:inherit;cursor:pointer}
.album-filters button[aria-pressed=true]{background:var(--memory-gold);border-color:var(--memory-gold);color:#102530}
.memory-card[hidden]{display:none}
.album-note{font-size:12px;color:#9caeb6;margin-top:45px}
.album-cta{padding:80px 25px;background:#13333c;text-align:center}
.album-cta h2{font-size:44px}
.album-cta>p:not(.memory-kicker){font-size:14px;color:#becbcf;margin:24px 0 18px}
.album-footer{padding:42px 30px 110px;text-align:center}
.album-footer img{width:130px}
.album-footer p{font-size:11px;color:#a7b7bf;margin:14px 0}
@media(prefers-reduced-motion:reduce){.memory-photo img{transition:none}
}
@media(max-width:900px){.memories-shell{width:calc(100% - 44px)}
.memories-heading{display:block}
.memory-intro{max-width:560px;margin-top:18px!important}
.album-hero{gap:30px}
.album-hero h1{font-size:37px}
.album-header{width:calc(100% - 44px)}
.album-header img{width:145px}
}
@media(max-width:600px){.memories-section{padding:52px 0 42px;scroll-margin-top:82px}
.memories-shell{width:calc(100% - 36px)}
.memory-kicker{font-size:9px!important;letter-spacing:1.6px;margin-bottom:14px!important}
.memories-section h2{font-size:27px!important}
.memory-intro{font-size:12px!important;line-height:1.9}
.memories-heading{margin-bottom:24px}
.memories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.memory-card figcaption{padding-top:11px}
.memory-card figcaption>span{font-size:9px;letter-spacing:0}
.memory-card h3{font-size:13px!important;margin-top:4px!important}
.memory-expand{height:26px;width:26px;font-size:16px;right:5px;bottom:5px}
.memories-bottom{display:block;margin-top:28px;padding-top:21px}
.memories-bottom p{font-size:12px;margin-bottom:10px}
.memory-link{font-size:13px}
.memory-dialog{padding:48px 12px 58px;width:97vw;max-width:97vw}
.memory-prev,.memory-next{top:auto;bottom:8px}
.memory-full img{max-height:70vh}
.album-header{height:76px;width:calc(100% - 36px)}
.album-header img{width:125px}
.album-header nav{gap:15px}
.album-header nav a{font-size:11px}
.album-hero{grid-template-columns:1fr;gap:33px;padding-top:42px;padding-bottom:47px}
.album-hero h1{font-size:37px;line-height:1.42}
.album-hero-copy>p:not(.memory-kicker){font-size:12px;margin:20px 0 8px}
.album-signature{display:none}
.album-cover img{box-shadow:8px 8px 0 #18343f}
.album-cover figcaption{margin-top:20px;font-size:11px}
.album-collection{padding-top:36px;padding-bottom:45px}
.collection-title{display:block}
.collection-title h2{font-size:25px}
.photo-count{display:block;margin-top:14px}
.album-filters{gap:7px;margin:20px 0 25px}
.album-filters button{padding:9px 14px;font-size:12px}
.album-note{font-size:11px;margin-top:28px}
.album-cta{padding:50px 22px}
.album-cta h2{font-size:33px}
.album-cta>p:not(.memory-kicker){font-size:12px}
.album-footer{padding-bottom:100px}
}
.album-header img{height:56px;width:auto;max-width:170px;object-fit:contain}
.album-header>a{display:flex;align-items:center}
@media(max-width:600px){.album-header img{height:46px;width:auto;max-width:125px}
}
@media(max-width:600px){}
.wall-hero{padding:48px 0 20px}
.wall-title{text-align:center;margin-bottom:34px}
.wall-title h1{font-size:48px;line-height:1.5}
.wall-title h1 em{font-style:normal;color:#d6b97a}
.wall-title>p:not(.memory-kicker){font-size:14px;color:#bfccd0;line-height:1.9;margin:18px 0 0}
.wall-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wall-mosaic .memory-photo{aspect-ratio:1.6;background:#112c38}
.wall-mosaic figcaption{display:none}
.wall-mosaic img{object-fit:contain}
.wall-hero-foot{display:flex;align-items:center;justify-content:space-between;padding:18px 0 28px}
.wall-hero-foot>span{color:#b0bdc5;font-size:11px;letter-spacing:1px}
.memory-wall{columns:4;column-gap:17px;margin-top:32px}
.memory-wall .memory-card{break-inside:avoid;margin:0 0 25px}
.memory-wall .memory-photo{aspect-ratio:auto}
.memory-wall img{height:auto;width:100%;object-fit:contain}
.memory-wall .memory-card h3{font-size:12px!important;color:#c0cdd2!important}
.memory-wall figcaption{padding-top:10px}
.wall-invitation{font-size:12px;color:#b2c2c8}
.home-photo-wall .memory-card figcaption{padding-top:10px}
.home-photo-wall{gap:23px}
.home-photo-wall .memory-card h3{font-size:14px!important}
.album-collection{padding-top:40px}
.album-collection h2{font-size:30px}
@media(max-width:900px){.memory-wall{columns:3}
.wall-title h1{font-size:40px}
}
@media(max-width:600px){.wall-hero{padding-top:30px}
.wall-title{margin-bottom:23px}
.wall-title h1{font-size:29px;line-height:1.65}
.wall-title h1 em{display:block}
.wall-title>p:not(.memory-kicker){font-size:12px;margin-top:12px}
.wall-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.wall-mosaic .memory-photo{aspect-ratio:1.33}
.wall-hero-foot{display:block;padding-top:12px}
.wall-hero-foot>span{font-size:10px;letter-spacing:0}
.wall-hero-foot .memory-link{display:flex;width:max-content;font-size:12px}
.memory-wall{columns:2;column-gap:10px;margin-top:24px}
.memory-wall .memory-card{margin-bottom:18px}
.memory-wall .memory-card h3{font-size:10px!important;line-height:1.6!important}
.memory-wall figcaption{padding-top:7px}
.wall-invitation{font-size:11px;margin-top:14px}
.album-collection h2{font-size:24px}
.home-photo-wall{gap:19px 12px}
.home-photo-wall .memory-card h3{font-size:12px!important}
}
