:root{--paper:#f7f4ec;--ink:#34392e;--muted:#848678;--olive:#68724e;--olive-dark:#525c3d;--line:#deded0;--rose:#bb8978;--serif:Georgia,'Songti SC','STSong','SimSun',serif;--sans:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:5px}::selection{background:#d8dfbc}.wrap{width:min(1180px,calc(100% - 100px));margin-inline:auto}.skip{position:absolute;top:-100px;left:10px;padding:12px;background:white;z-index:99}.skip:focus{top:10px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:600;letter-spacing:1px}.brand-icon{font-size:39px;line-height:1;color:var(--olive);font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:3px;font-weight:500;margin-top:5px}.header nav{display:flex;gap:34px;font-size:13px}.header nav a{padding:10px 0}.header nav a:hover{color:var(--rose)}.header-date{font-size:10px;letter-spacing:1.2px;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--olive)}
.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:620px;align-items:center;gap:30px;padding-block:60px 68px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2px;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--olive);margin-bottom:29px}.line{height:1px;width:24px;background:var(--olive)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(40px,4.7vw,65px);font-weight:500;line-height:1.5;letter-spacing:4px;margin-bottom:24px;position:relative}.title-last{position:relative;color:var(--olive);white-space:nowrap}.title-last svg{position:absolute;bottom:-15px;left:-4px;width:100%;height:22px;fill:none;stroke:#aeb58a;stroke-width:2}.hero-star{position:absolute;font-family:Georgia,serif;font-size:43px;line-height:1;margin-left:5px;transform:rotate(12deg);color:var(--rose)}.hero-note{line-height:2.1;color:#7b7f70;font-size:13px;letter-spacing:1px;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 22px;border-radius:4px;font-size:12px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--olive);color:#fffef6}.primary:hover{background:var(--olive-dark)}.button span{font-size:19px;line-height:1}.text-link{font-size:11px;display:inline-flex;align-items:center;gap:15px}.text-link:hover{color:var(--rose)}.hero-footnote{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:1px;color:#989a8d;margin-top:42px}.draw-heart{font:30px var(--serif);color:var(--rose)}.hero-photos{height:465px;position:relative;margin-left:10px}.paper-photo{position:absolute;background:#fffef9;padding:12px 12px 0;box-shadow:0 7px 25px #363c2616;border:1px solid #e9e5da;width:260px}.paper-photo img{width:100%;height:275px;object-fit:cover}.paper-photo>span:not(.tape){display:block;text-align:center;height:45px;line-height:45px;font-family:var(--serif);font-size:12px;color:#777d69;letter-spacing:1px}.photo-back{right:1px;top:20px;transform:rotate(9deg);width:240px}.photo-back img{height:275px;object-position:center}.photo-front{left:0;top:104px;transform:rotate(-9deg);z-index:2;width:265px}.photo-front img{height:260px;object-position:50% 37%}.tape{position:absolute;width:92px;height:27px;top:-14px;left:85px;background:#ded7b7a6;transform:rotate(-5deg);clip-path:polygon(2% 0,100% 3%,97% 98%,0 100%)}.orbit-text{position:absolute;right:48px;top:-4px;font:italic 13px var(--serif);color:#91947c;transform:rotate(8deg)}.photo-spark{position:absolute;left:15px;top:23px;color:#a7ae81;font-size:65px;line-height:1;transform:rotate(10deg)}.photo-sticker{position:absolute;z-index:3;right:-10px;top:298px;background:#e5e7d5;color:var(--olive);border:1px dashed #aeb894;outline:5px solid #e5e7d5;border-radius:50%;width:82px;height:82px;text-align:center;padding:16px 8px;font:italic 17px Georgia,serif;transform:rotate(12deg)}.photo-sticker b{font:12px var(--sans);letter-spacing:3px}.hand-note{position:absolute;bottom:-8px;right:12px;font-family:var(--serif);color:#868b73;font-size:12px;transform:rotate(-5deg);letter-spacing:1px}.hand-note span{font-size:35px;margin-left:10px}
.together-band{background:var(--olive);color:#f8f7e9}.together-inner{display:flex;min-height:175px;align-items:center;gap:50px;position:relative;justify-content:space-between}.together-label .eyebrow{color:#d1d5bf;font-size:8px}.together-label h2{font:23px var(--serif);letter-spacing:3px;margin:12px 0}.together-label>span:last-child{font-size:10px;color:#d7dbc6;letter-spacing:1px}.love-clock{display:flex;align-items:center;gap:24px;margin-right:85px}.love-clock div{text-align:center;min-width:60px}.love-clock b{font:50px Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:1px}.love-clock div:first-child b{font-size:64px}.love-clock span{display:block;font-size:8px;letter-spacing:1.5px;color:#d3d9be;margin-top:8px}.love-clock i{font:22px Georgia,serif;color:#b3bc97;margin-top:-20px}.band-heart{position:absolute;right:0;top:46px;font:75px var(--serif);color:#a7b28c;transform:rotate(14deg)}
.meeting-section{padding-top:60px;padding-bottom:70px}.section-kicker{color:var(--olive);margin-bottom:20px;font-size:9px;letter-spacing:2.2px}.meeting-card{border:1px solid #d9ddc7;background:#eef0e3;padding:36px 42px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;border-radius:6px}.meeting-copy .eyebrow{font-size:10px;letter-spacing:1px;color:var(--olive);display:flex;align-items:center;gap:8px}.meeting-copy h2{font:31px var(--serif);letter-spacing:3px;margin:15px 0}.meeting-copy h2>span{font:32px Georgia,serif;color:#a5ad8a;margin-left:25px}.meeting-copy>p:last-child{font-size:10px;color:#7d846e;letter-spacing:1px;margin-bottom:0}.tag{display:inline-block;margin-left:10px;border:1px solid #ccd2b9;border-radius:3px;padding:4px 7px;font-size:9px;letter-spacing:0}.meeting-count>span{font-size:10px;color:var(--olive)}.countdown{display:flex;align-items:center;gap:16px;margin-top:10px}.countdown div{display:flex;align-items:baseline;gap:6px}.countdown b{font:35px Georgia,serif;font-variant-numeric:tabular-nums;min-width:39px}.countdown small{font-size:9px;color:#7c846b}.countdown em{font:22px Georgia,serif;color:#c0c7ad}.meeting-count>p{margin:11px 0 0;color:#919780;font-size:10px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-head h2,.story-intro h2{font:34px/1.6 var(--serif);letter-spacing:3px;margin-bottom:12px}.little-flower{display:inline-block;font:37px var(--serif);color:#a5ad87;margin-left:16px;vertical-align:middle}.section-sub{font-size:12px;color:#8a8e80;line-height:2;letter-spacing:.5px;margin-bottom:0}.album-count{font-size:8px;letter-spacing:2px;color:#8b907d;margin-bottom:6px}.album-count b{font:italic 23px Georgia,serif;margin-right:8px}.album-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:32px;padding-bottom:18px;gap:10px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{background:none;border:1px solid transparent;border-radius:3px;padding:8px 12px;font-size:11px;color:#8a8e80}.filter.active{color:var(--olive);border-color:#cfd5be;background:#eef0e2}.filter small{font-size:8px;margin-left:6px}.album-tip{font-size:10px;color:#949887;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px}.photo-card{display:block;width:100%;border:1px solid #e7e3d8;background:#fffdf7;padding:10px 10px 0;text-align:left;transition:transform .25s,box-shadow .25s;position:relative}.photo-card:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 8px 22px #3a40221a}.photo-card img{width:100%;height:245px;object-fit:cover;object-position:50% 40%;background:#e6e5dc}.photo-card[data-category="distance"] img{object-fit:contain;background:#efeee8}.photo-card .photo-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:50px;font:12px var(--serif);letter-spacing:.5px;padding:8px 2px}.photo-card .photo-number{font:italic 10px Georgia,serif;color:#9c9f91}.album-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;margin-bottom:80px}.album-bottom>span:first-child{font-size:10px;color:#939885}.outline{background:transparent;border-color:#cbd1bc;color:var(--olive);min-width:160px}.outline:hover{background:#ecefdf}.handwriting{font:italic 16px Georgia,var(--serif);color:#969d81}.album-bottom .handwriting{transform:rotate(-5deg)}
.story-section{background:#efeee4;border-block:1px solid #e5e4d7;padding:70px 0}.story-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.story-intro h2{font-size:34px;margin:0 0 15px;line-height:1.8}.anniversary{border:1px solid #d7dbc8;border-radius:4px;position:relative;margin-top:36px;padding:22px;max-width:285px;background:#f7f5ec}.anniversary>span:first-child{font-size:10px;color:#858d72}.anniversary strong{display:block;margin:8px 0;font-weight:400;color:var(--olive)}.anniversary strong b{font:43px Georgia,serif}.anniversary strong small{font-size:10px}.anniversary p{font-size:9px;color:#8f957f;margin-bottom:0}.anniversary-flower{position:absolute;right:20px;top:38px;font-size:56px;line-height:1;color:#c2c8ad}.timeline{padding-top:4px}.event{display:grid;grid-template-columns:75px 1fr;gap:25px}.event-date{font:11px Georgia,serif;color:#8b927c;line-height:1.5}.event-date small{display:block;font:16px/1.5 Georgia,serif;color:var(--olive);margin-top:6px}.event-body{border-left:1px solid #cbd1ba;padding:0 0 35px 28px;position:relative}.event-body:before{content:'';position:absolute;left:-5px;top:3px;width:9px;height:9px;background:var(--olive);border-radius:50%;outline:5px solid #efeee4}.event-tag{font-size:8px;letter-spacing:1.3px;color:#8f977d}.event-body h3{font:21px var(--serif);letter-spacing:1px;margin:13px 0}.event-body p{font-size:11px;color:#8d9282;line-height:1.9;max-width:370px;margin-bottom:0}.event-symbol{font:33px var(--serif);color:#b9a08c;position:absolute;right:5px;top:0;transform:rotate(10deg)}.event-photos{display:flex;gap:12px;margin-top:20px}.event-photos img{height:115px;width:125px;object-fit:cover;border:5px solid #fffdf8;box-shadow:0 2px 5px #0000000a;transform:rotate(-4deg)}.event-photos img+img{transform:rotate(5deg);object-fit:contain;background:#fffdf8}.future .event-body{padding-bottom:5px;border-left-style:dashed}.future .event-body:before{background:#efeee4;border:1px solid var(--olive)}.future .text-link{margin-top:18px;color:var(--olive);font-size:10px}
.play-section{padding-block:75px}.play-doodle{font:55px Georgia,serif;color:#aeb690;transform:rotate(12deg);margin:0 20px}.play-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;margin-top:32px}.memory-panel{border:1px solid #dcded0;border-radius:5px;background:#fbf9f2;padding:28px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.game-header .eyebrow{font-size:8px;letter-spacing:1.4px;color:#92987f}.game-header h3{font:24px var(--serif);letter-spacing:1px;margin:8px 0 0}.reset-button{background:none;border:1px solid #d9ddcc;border-radius:3px;padding:8px 10px;font-size:10px;color:#858e71}.game-intro{font-size:10px;color:#909783;margin:14px 0 20px}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.memory-card{aspect-ratio:1.15;position:relative;padding:0;border:0;background:transparent;perspective:800px}.memory-face{position:absolute;inset:0;border-radius:4px;backface-visibility:hidden;transition:transform .4s;display:flex;align-items:center;justify-content:center;overflow:hidden}.memory-back{background:#e7eadb;border:1px solid #dde2cc;font:25px Georgia,serif;color:#a7b18a}.memory-front{transform:rotateY(180deg);background:#e7eadb}.memory-front img{width:100%;height:100%;object-fit:cover}.memory-card.flipped .memory-back,.memory-card.matched .memory-back{transform:rotateY(-180deg)}.memory-card.flipped .memory-front,.memory-card.matched .memory-front{transform:rotateY(0)}.memory-card.matched .memory-front{outline:2px solid #97a778;outline-offset:-2px;opacity:.8}.game-footer{display:flex;justify-content:space-between;margin-top:20px;font-size:10px;color:#959b85}.game-footer b{color:var(--olive);font-weight:500}.date-panel{border:1px solid #e1d9c9;border-radius:5px;background:#efe9dc;padding:33px;position:relative;display:flex;flex-direction:column;align-items:flex-start}.date-panel>.eyebrow{font-size:8px;color:#9b927e;letter-spacing:1.5px}.date-panel h3{font:25px var(--serif);letter-spacing:2px;margin:17px 0 12px}.date-panel>p{font-size:10px;color:#988f7d;line-height:1.8}.date-star{position:absolute;right:26px;top:20px;font:45px Georgia,serif;color:#b8aa8c}.idea-result{padding:20px 0 26px;min-height:155px;display:flex;flex-direction:column;justify-content:center;gap:11px}.idea-result>span{font:30px Georgia,serif;color:#a59079}.idea-result strong{font:19px/1.5 var(--serif);letter-spacing:1px}.idea-result small{font-size:10px;color:#a09683;line-height:1.8}.date-panel .button{margin-top:auto;min-width:190px}.date-panel>.handwriting{font-size:12px;color:#a79d89;margin-top:27px}.closing{text-align:center;border-top:1px solid var(--line);padding:50px 0 60px}.closing>span{font:35px Georgia,serif;color:#a3ab87;display:block;margin-bottom:18px}.closing>p{font:24px/1.7 var(--serif);letter-spacing:3px;margin-bottom:14px}.closing>small{font-size:8px;letter-spacing:2.5px;color:#989f8b}.closing>.text-link{display:block;margin-top:28px;color:#919983;font-size:10px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;color:#969d89}footer .brand{font-size:10px;letter-spacing:1px}footer .brand-icon{font-size:26px}footer>span{font-size:8px;letter-spacing:.5px}
dialog{border:0;background:#f7f4ec;color:var(--ink);padding:50px 30px 24px;width:min(960px,94vw);max-height:94dvh;border-radius:5px;text-align:center}dialog::backdrop{background:#252a25db;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.lightbox-close{position:absolute;right:13px;top:9px;border:0;background:none;font:30px Georgia,serif;width:40px;height:40px}.lightbox-stage{display:grid;grid-template-columns:40px 1fr 40px;gap:15px;align-items:center}.lightbox-stage>img{max-height:70dvh;width:100%;object-fit:contain}.lightbox-stage>button{background:transparent;border:1px solid #d4d9c8;border-radius:50%;width:40px;height:40px;font-size:20px}.lightbox-stage>button:hover{background:#e8ecdc}#lightbox-caption{font:16px var(--serif);margin:20px 0 10px}#lightbox-index{font-size:10px;letter-spacing:2px;color:#8c947e}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:675px}.hero-photos{margin-left:35px}.photo-back{right:15px}.hero h1{font-size:65px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:5px;min-height:585px}.hero-photos{transform:scale(.85);transform-origin:center right;margin-left:-20px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:16px;gap:14px}.hero-actions .text-link{font-size:10px;gap:6px}h1{letter-spacing:2px}.together-inner{gap:25px}.love-clock{gap:15px;margin-right:40px}.love-clock div{min-width:50px}.love-clock b{font-size:42px}.love-clock div:first-child b{font-size:53px}.band-heart{font-size:50px;top:62px}.meeting-card{padding:30px}.countdown{gap:10px}.countdown b{font-size:30px;min-width:34px}.photo-card img{height:210px}.story-layout{gap:50px}.memory-panel{padding:22px}.date-panel{padding:28px}.date-panel h3{font-size:22px}.story-intro h2,.section-head h2{font-size:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:82px}.brand{font-size:13px;gap:8px}.brand-icon{font-size:32px}.brand small{font-size:6px;letter-spacing:2px}.header nav{gap:17px;font-size:11px}.header-date{display:none}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px;gap:22px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:21px}h1{font-size:45px;line-height:1.45;letter-spacing:3px;margin-bottom:27px}.hero-star{font-size:32px;margin-left:8px}.hero-note{font-size:12px;margin-bottom:24px}.hero-actions{gap:22px}.hero-actions .button{padding:13px 17px;font-size:11px}.hero-footnote{margin-top:23px;font-size:9px}.hero-photos{margin:0 auto;width:min(370px,100%);height:385px;transform:none}.photo-front{width:215px;top:90px;left:4px}.photo-front img{height:215px}.photo-back{width:190px;top:15px;right:3px}.photo-back img{height:215px}.paper-photo{padding:9px 9px 0}.paper-photo>span:not(.tape){font-size:10px;height:37px;line-height:37px}.tape{left:60px;width:80px;height:23px;top:-12px}.orbit-text{font-size:11px;right:15px;top:-5px}.photo-spark{font-size:49px;top:22px}.photo-sticker{right:0;top:270px;width:66px;height:66px;font-size:14px;padding:10px}.photo-sticker b{font-size:10px}.hand-note{font-size:10px;bottom:-6px;right:4px}.hand-note span{font-size:28px}.together-inner{flex-direction:column;gap:25px;padding-block:29px 32px;align-items:flex-start}.together-label h2{font-size:22px;margin:10px 0}.together-label>span:last-child{font-size:9px}.love-clock{gap:15px;margin:0;width:100%;justify-content:space-between;padding-right:3px}.love-clock b{font-size:38px}.love-clock div:first-child b{font-size:48px}.love-clock div{min-width:40px}.love-clock span{font-size:7px;letter-spacing:1px}.band-heart{top:26px;right:7px;font-size:55px}.meeting-section{padding-top:38px;padding-bottom:48px}.meeting-card{flex-direction:column;align-items:flex-start;gap:25px;padding:25px}.meeting-copy{width:100%}.meeting-copy h2{font-size:28px}.meeting-copy>p:last-child{font-size:9px;letter-spacing:.3px}.tag{font-size:8px;margin-left:5px}.meeting-count{width:100%;border-top:1px solid #d5dbc2;padding-top:23px}.countdown{justify-content:space-between;gap:6px;margin-top:13px}.countdown b{font-size:32px;min-width:32px}.countdown div{gap:5px}.countdown small{font-size:9px}.meeting-count>p{font-size:9px}.section-head{align-items:center}.section-kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:14px}.section-head h2{font-size:26px;letter-spacing:1.5px;margin-bottom:8px}.little-flower{font-size:28px;margin-left:9px}.section-sub{font-size:10px;line-height:2}.album-count{display:none}.album-toolbar{margin-top:23px;padding-bottom:13px}.filters{gap:4px}.filter{padding:8px 9px;font-size:10px}.filter small{font-size:7px;margin-left:3px}.album-tip{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.photo-card{padding:6px 6px 0}.photo-card img{height:190px}.photo-card .photo-caption{font-size:10px;line-height:1.6;min-height:45px;padding:7px 1px;gap:4px}.photo-card .photo-number{font-size:8px}.album-bottom{flex-wrap:wrap;margin-top:25px;margin-bottom:45px;justify-content:space-between}.album-bottom>span:first-child{font-size:9px}.album-bottom .button{font-size:10px;min-width:130px;padding:12px 16px}.album-bottom .handwriting{display:none}.story-section{padding:43px 0}.story-layout{grid-template-columns:1fr;gap:34px}.story-intro h2{font-size:28px;line-height:1.6}.story-intro .section-sub br{display:none}.anniversary{max-width:none;margin-top:20px;padding:18px}.anniversary strong{margin:4px 0}.anniversary strong b{font-size:36px}.anniversary-flower{right:30px;top:30px}.event{grid-template-columns:57px 1fr;gap:14px}.event-date{font-size:10px}.event-date small{font-size:14px}.event-body{padding-left:20px;padding-bottom:30px}.event-body h3{font-size:18px;letter-spacing:.5px;line-height:1.5}.event-body p{font-size:10px}.event-tag{font-size:7px;letter-spacing:1px}.event-photos img{height:100px;width:100px}.event-symbol{display:none}.play-section{padding-block:46px}.play-doodle{font-size:40px;margin-right:0}.play-section .section-head h2{font-size:24px}.play-layout{grid-template-columns:1fr;gap:20px;margin-top:25px}.memory-panel{padding:22px}.memory-grid{gap:9px}.memory-card{aspect-ratio:1.2}.date-panel{padding:27px}.date-panel h3{font-size:25px}.date-panel .idea-result{min-height:135px;padding:15px 0 24px}.date-panel .button{min-width:180px}.date-panel>.handwriting{margin-top:22px}.closing{padding:36px 0 42px}.closing>p{font-size:20px;letter-spacing:1px}.closing>small{font-size:7px;letter-spacing:2px}footer{padding-block:22px;flex-wrap:wrap;gap:15px}footer>span{font-size:7px}footer>span:last-child{width:100%;text-align:right}dialog{padding:48px 12px 22px}.lightbox-stage{grid-template-columns:30px 1fr 30px;gap:7px}.lightbox-stage>button{width:30px;height:35px;border-radius:3px}.lightbox-stage>img{max-height:65dvh}#lightbox-caption{font-size:13px;line-height:1.6}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.header nav{gap:12px;font-size:10px}.brand{font-size:12px}.brand-icon{font-size:28px}h1{font-size:39px}.hero-photos{transform:scale(.93);transform-origin:center top;margin-bottom:-22px}.photo-card img{height:163px}.filter{padding-inline:7px;font-size:9px}.countdown b{font-size:28px;min-width:29px}.countdown small{font-size:8px}.meeting-card{padding:22px}.tag{margin-top:7px}.event-photos img{width:87px;height:90px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:9px}.play-section .section-head h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Immersive album: one edge-to-edge photograph per screen. */
.album-section.wrap{width:100%;max-width:none}
.album-section>.section-head,.album-toolbar,.album-bottom{width:min(1180px,calc(100% - 100px));margin-inline:auto}
.photo-grid{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:28px}
.photo-card{height:100vh;height:100svh;padding:0;border:0;background:#252a25;overflow:hidden;isolation:isolate}
.photo-card:hover{transform:none;box-shadow:none}
.photo-card img,.photo-card[data-category="distance"] img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;background:#252a25}
.photo-card::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10170eaa);pointer-events:none;z-index:1}
.photo-card .photo-caption{position:absolute;bottom:0;left:0;right:0;z-index:2;width:min(1180px,calc(100% - 100px));margin-inline:auto;min-height:0;padding:35px 0;color:#fffef7;font:24px/1.6 var(--serif);letter-spacing:2px;text-shadow:0 1px 8px #0005}
.photo-card .photo-number{font:italic 16px Georgia,serif;color:#fffef7;letter-spacing:1px}
.photo-card:focus-visible{outline:3px solid var(--rose);outline-offset:-5px}
@media(max-width:1100px){.album-section>.section-head,.album-toolbar,.album-bottom,.photo-card .photo-caption{width:calc(100% - 64px)}}
@media(max-width:760px){.album-section>.section-head,.album-toolbar,.album-bottom,.photo-card .photo-caption{width:calc(100% - 40px)}.photo-grid{gap:5px;margin-top:20px}.photo-card .photo-caption{font-size:19px;line-height:1.8;padding:28px 0;letter-spacing:1px}.photo-card .photo-number{font-size:12px}}
@media(max-width:390px){.album-section>.section-head,.album-toolbar,.album-bottom,.photo-card .photo-caption{width:calc(100% - 32px)}}
