/* Rose edition: blush fields, burgundy typography, editorial serif. */
:root{--paper:#fffaf7;--ink:#522638;--muted:#856e76;--line:#e2cdd3;--accent:#ed8bb3;--blush:#f4dce3;--berry:#822c4b}
body{background:var(--paper)}
.header{background:var(--blush);border-color:#dcbfc9}
.brand{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-3px;font-size:46px}.brand-dot{color:#b62f68}.brand small{font-family:Arial,sans-serif;color:#7b5b68;letter-spacing:1.6px}
nav a{color:#805965}.header .button{border-color:#bc8c9e;background:#f8e7ec}.header .button:hover{background:var(--ink)}
.hero{background:var(--blush);padding-top:23px;padding-bottom:52px;grid-template-columns:1fr 1fr;column-gap:5vw}
.hero-top{color:#87616f;border-bottom:1px solid #dcbfc9;padding-bottom:17px;margin-bottom:35px}.live-dot:before{background:#b73670}
.hero-copy>.eyebrow{color:#84445b;letter-spacing:2px}
h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(100px,14.3vw,220px);font-weight:400;line-height:.77;letter-spacing:-.075em;margin:35px 0 37px;color:var(--berry)}
h1>span{font-style:italic;letter-spacing:-.08em;margin-left:20%;color:#a33f66}
.hero-bottom{max-width:365px}.hero-bottom p{font-size:14px;color:#653447;font-weight:400;line-height:1.9}
.round-link{border-color:#b7899a;background:#f8e5ec;color:var(--berry)}.round-link:hover{background:#edb0c7}
.together{color:#845969}.together small{color:#956f7d}
.hero-visual{position:relative;padding:0 0 0 20px;border-left:1px solid #dcbfc9}.photo-frame{height:clamp(400px,40vw,615px)}.photo-frame img{filter:saturate(.75);object-position:48% 50%}.photo-frame:hover img{filter:saturate(.95)}
.image-label{padding:40px 20px 18px}.photo-caption{color:#81586a;margin-top:15px}.photo-caption>span:last-child{color:#986579}
.edition-tab{position:absolute;right:18px;top:18px;background:#f5b4cc;color:#65243c;padding:9px 13px;font-size:9px;letter-spacing:1.4px;z-index:1}
.chapter-strip{background:var(--berry);color:#fae7ef;padding-top:22px;padding-bottom:22px}.chapter-strip>span:first-child{font-size:23px;font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:.2px}.chapter-strip b{color:#f5adcb}
.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,5.4vw,82px);font-weight:400;letter-spacing:-.055em}.section-heading h2>span{color:#c65d87}.section-dot{background:#c1507c}.section-heading p{color:#866e76}
.section-heading>.button{border-color:#d6a9ba;background:#f7e2eb;color:var(--berry)}.section-heading>.button:hover{background:var(--berry);color:white}
.filters{gap:11px}.filters button{padding:8px 15px;color:#886974;border-radius:25px}.filters button.selected{background:var(--berry);color:#fff4f7}.filters button.selected:after{display:none}.sample-note{color:#947784}
.photo-grid{gap:48px 6vw}.photo-card .image-wrap{background:#f3e0e6}.card-title{color:#633447}.card-date{color:#977986}.zoom-icon{background:#f8c6d9;color:#6c2846}.photo-category{background:#5226388a;padding:5px 8px;top:12px;left:12px;text-shadow:none}.album-end{color:#937683}
.story{background:#faeef2;border-color:#e8d6de}.story-title h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em;color:#823b57}.story-title h2>span{color:#cc7a9b}.story-title p,.timeline p{color:#886875}.notes-tag,.timeline-no,.timeline .eyebrow{color:#a47789}.timeline h3{color:#6b354c}.timeline article>span:last-child{color:#b45e81}
.closing{background:#edbfd1;color:#74334f}.closing p{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em;font-style:italic;font-size:clamp(55px,12vw,184px);line-height:.92}.closing p>span{color:#a14c70;font-family:Arial,sans-serif}.closing-top{color:#7e4860}
footer>span,footer>small{color:#977783}.form-dialog{background:#fff7fa}.form-dialog h2{color:var(--berry);letter-spacing:0}.dropzone{background:#f9e9f0;border-color:#c89aae}input,select{border-color:#d8b8c5}.button:focus-visible,a:focus-visible{outline-color:#a54a74}
@media(max-width:900px){h1{font-size:17vw}.hero{column-gap:4vw}.hero-visual{padding-left:15px}.hero-bottom p{font-size:12px}.hero .photo-frame{height:440px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.2px}.chapter-strip>span:first-child{font-size:20px}}
@media(max-width:600px){.header .brand{font-size:38px}.hero{grid-template-columns:minmax(0,1fr);padding-bottom:30px}.hero-top{margin-bottom:30px;padding-bottom:16px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.8px}h1{font-size:39vw;line-height:.76;margin:29px 0 25px;letter-spacing:-.075em}h1>span{margin-left:27%}.hero-bottom{max-width:none;margin-bottom:21px}.hero-bottom p{font-size:12px}.together{margin-bottom:27px}.hero-visual{padding-left:0;border:0}.hero .photo-frame{height:390px}.edition-tab{right:12px;top:12px;font-size:7px;padding:7px 10px}.chapter-strip>span:first-child{font-size:17px;max-width:150px;line-height:1.15}.chapter-strip>span:last-child{font-size:8px}.section-heading h2{font-size:33px;letter-spacing:-1.8px}.filters{gap:4px}.filters button{font-size:9px;padding:7px 11px}.photo-grid{gap:30px 15px}.photo-category{font-size:7px;top:8px;left:8px;padding:4px 6px}.story-title h2{font-size:62px}.closing p{font-size:12vw}.closing p>span{margin-left:2vw}}
@media(max-width:360px){.section-heading h2{font-size:29px}.filters button{padding:7px 9px}.hero .photo-frame{height:340px}}
/* Interactive album: cinematic player and complete collection. */
[hidden]{display:none!important}.viewer-open{overflow:hidden}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:25px;flex-wrap:wrap}.hero-actions .button{font-size:11px;padding:12px 18px;gap:20px}.hero-actions .button span{font-size:11px}.text-button{border:0;border-bottom:1px solid #b98499;background:transparent;padding:8px 0;color:var(--berry);font-size:11px}.hero-actions+.together{margin-top:22px}.archive-cta{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:50px}.archive-cta>span{font-size:10px;color:#997182}.lightbox[open]{display:block}.lightbox{background:#f9edf2;color:#522638;padding:0 4vw 20px;border:0;margin:0;max-width:none;width:100%;height:100dvh;max-height:none;overflow:auto}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid #e3cdd6;margin-bottom:20px;position:sticky;top:0;z-index:3;background:#f9edf2}.viewer-brand{font:italic 35px Georgia,serif;white-space:nowrap}.viewer-brand small{font:8px Arial,sans-serif;letter-spacing:2px;margin-left:20px}.viewer-tools{display:flex;align-items:center;gap:14px}.viewer-tools button,#play-toggle,#collection-play{font-size:11px;border:1px solid #d3aaba;background:transparent;padding:10px 15px;color:#6b3048}.viewer-tools .close{position:static;font-size:11px}.viewer-tools button:hover,#play-toggle:hover,#collection-play:hover{background:#eed2df}.viewer-stage{position:relative;padding:0 55px;max-width:1150px;margin:auto}.viewer-stage figure{width:100%;margin:0}.slide-image-wrap{height:52dvh;min-height:210px;background:#e9d6df;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.lightbox .slide-image-wrap img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.slide-image-wrap #slide-loading{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11px;color:white;background:#522638bd;padding:6px 10px}.slide-image-wrap #slide-loading:empty{display:none}.viewer-stage .arrow{top:calc(26dvh - 30px);font-size:40px;border:1px solid #d3aaba;border-radius:50%;width:40px;height:40px;line-height:25px;padding:0;background:#f8e5ed}.viewer-stage .previous{left:0}.viewer-stage .next{right:0}.lightbox figcaption{display:flex;align-items:center;justify-content:space-between;text-align:left;padding-top:15px;gap:15px;color:#522638}.lightbox figcaption h2{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:20px;letter-spacing:.5px;line-height:1.4;margin:7px 0 0}.lightbox #slide-meta{font-size:9px;color:#96677c;letter-spacing:1px}.lightbox #slide-count{font:italic 22px Georgia,serif;white-space:nowrap}.playback-row{display:flex;gap:18px;align-items:center;max-width:1040px;margin:17px auto}.playback-row>span{font-size:9px;white-space:nowrap;color:#95667c}#play-toggle{min-width:107px;font-size:10px;padding:8px 13px}.slide-progress{height:2px;background:#dfc5d0;flex:1;overflow:hidden}#slide-progress-fill{display:block;height:100%;width:0;background:#99365e}#slide-progress-fill.running{animation:photo-progress 5s linear forwards}@keyframes photo-progress{from{width:0}to{width:100%}}#slide-thumbnails{display:flex;gap:9px;max-width:1040px;margin:0 auto;overflow-x:auto;padding:3px 0 8px}#slide-thumbnails button{border:2px solid transparent;padding:2px;background:transparent;flex:0 0 70px;height:53px;opacity:.5}#slide-thumbnails button[aria-current=true]{border-color:#9b466a;opacity:1}#slide-thumbnails img{width:100%;height:100%;object-fit:cover}.viewer-hint{text-align:center;color:#a47d8e;font-size:9px;margin:7px 0}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 30px}.collection-heading h2{font:60px Georgia,serif;letter-spacing:-3px;margin:16px 0}.collection-heading h2 span{color:#c75c87}.collection-heading p{font-size:11px;color:#95677c}.collection-filters{display:flex;gap:10px;margin:25px 0 30px;border-bottom:1px solid #e2cbd5;padding-bottom:18px}.collection-filters button{border:0;background:transparent;padding:9px 20px;border-radius:20px;font-size:11px}.collection-filters button[aria-pressed=true]{background:#822c4b;color:white}#collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;padding-bottom:35px}.collection-card{background:transparent;border:0;padding:0;text-align:left;min-width:0}.collection-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:filter .3s}.collection-card:hover img{filter:brightness(1.08)}.collection-card>span{display:block;font-size:13px;margin-top:12px}.collection-card small{display:block;color:#987688;font-size:9px;letter-spacing:1px;margin-top:7px}.collection-empty{grid-column:1/-1;padding:80px 0;text-align:center;font-size:14px;color:#95677c}
@media(max-width:700px){.hero-actions{gap:15px;margin-top:0;grid-column:1/-1;margin-bottom:0}.hero-actions .button{font-size:10px;padding:11px 14px}.hero-actions+.together{margin-top:20px}.text-button{font-size:10px}.archive-cta{flex-direction:column;gap:15px;margin-top:35px}.lightbox{padding:0 18px 15px}.viewer-header{padding:13px 0;margin-bottom:16px;gap:10px}.viewer-brand{font-size:29px}.viewer-brand small{display:none}.viewer-tools{gap:7px}.viewer-tools button,.viewer-tools .close{font-size:9px;padding:8px 9px}.viewer-stage{padding:0}.slide-image-wrap{height:44dvh;min-height:210px}.viewer-stage .arrow{top:calc(22dvh - 20px);width:32px;height:32px;font-size:30px;z-index:1;background:#f9edf2e8}.viewer-stage .previous{left:7px}.viewer-stage .next{right:7px}.lightbox figcaption h2{font-size:17px}.lightbox #slide-count{font-size:18px}.playback-row{gap:12px;margin:19px 0}#play-toggle{min-width:94px;font-size:9px}#slide-thumbnails button{flex-basis:57px;height:47px}.viewer-hint{font-size:8px}.collection-heading{margin:30px 0 22px;gap:12px}.collection-heading h2{font-size:43px;letter-spacing:-2px}.collection-heading p{font-size:10px;line-height:1.8}.collection-heading .eyebrow{font-size:7px}#collection-play{font-size:9px;padding:9px;white-space:nowrap}.collection-filters{gap:5px;margin-top:18px}.collection-filters button{font-size:10px;padding:8px 16px}#collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.collection-card>span{font-size:11px}.collection-card small{font-size:8px}}
@media(prefers-reduced-motion:reduce){#slide-progress-fill.running{animation:none;width:100%}}
/* Photo workspace: image tools stay separate from playback controls. */
.image-toolbar{max-width:1040px;margin:17px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #e4cfd8;border-bottom:1px solid #e4cfd8}.zoom-controls{display:flex;align-items:center;gap:7px}.zoom-controls button{border:1px solid #d7b8c6;background:#fff7fa;color:#71334f;height:31px;min-width:33px;padding:0 10px;font-size:17px;border-radius:5px}.zoom-controls button:hover:not(:disabled){background:#eed1df}.zoom-controls #zoom-reset{font-size:10px;padding:0 13px}.zoom-controls button:disabled{opacity:.35;cursor:default}#zoom-level{font-size:11px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.tool-divider{width:1px;height:16px;background:#d8b7c5;margin:0 7px}#image-interaction-hint{font-size:9px;color:#957486}.speed-control{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:9px;color:#95667c}.speed-control select{display:inline-block;width:auto;margin:0;border:1px solid #d9b7c6;padding:7px 9px;border-radius:4px;background:#fff7fa;font-size:10px}.slide-image-wrap{height:46dvh;touch-action:none;user-select:none;cursor:zoom-in;background:radial-gradient(ellipse at center,#f3e4eb,#e6d4de)}.lightbox .slide-image-wrap img{will-change:transform;transform-origin:center;user-select:none;-webkit-user-drag:none}.slide-image-wrap.zoomed{cursor:grab}.slide-image-wrap.dragging{cursor:grabbing}.viewer-stage .arrow{top:calc(23dvh - 20px)}.viewer-header{margin-bottom:18px}.playback-row{margin:13px auto}#play-toggle{border-radius:5px;background:#822c4b;color:#fff7fa;border-color:#822c4b}#play-toggle:hover{background:#6d203d}.viewer-tools button{border-radius:4px}.viewer-stage figure{overflow:visible}.lightbox #slide-count{font-variant-numeric:tabular-nums}.viewer-stage .arrow:disabled{cursor:default}.viewer-hint{line-height:1.8}
@media(max-width:700px){.slide-image-wrap{height:40dvh;min-height:200px}.viewer-stage .arrow{top:calc(20dvh - 16px)}.image-toolbar{margin-top:15px;gap:10px;flex-wrap:wrap;padding:10px 0}.zoom-controls{gap:6px}.zoom-controls button{height:33px}.zoom-controls #zoom-reset{padding:0 11px}#image-interaction-hint{display:none}.playback-row{gap:10px;margin:13px 0}.speed-control{gap:5px;font-size:8px}.speed-control select{font-size:9px;padding:7px 5px}.playback-row .slide-progress{min-width:15px}#play-toggle{min-width:89px;font-size:9px;padding:8px}.viewer-hint{font-size:8px;letter-spacing:.5px;margin-top:8px}.lightbox figcaption h2{font-size:16px}}
