.story-opening{padding:135px 7vw 55px;text-align:center}.story-back{display:inline-block;font-size:.75rem;color:var(--muted);margin-bottom:38px;border-bottom:1px solid var(--line);padding-bottom:5px}.story-opening .eyebrow{color:var(--accent);margin:0 auto 20px}.story-opening h1{font-size:clamp(3.1rem,6vw,6.5rem);line-height:1.1;letter-spacing:-.035em}.story-opening .story-meta{font-size:.8rem;color:var(--muted);margin:25px auto 0}.story-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:center;padding:0 5vw 75px}.story-photo{display:block;position:relative;min-width:0;background:#ede7df;overflow:hidden}.story-photo img{display:block;width:100%;height:auto;transition:filter .35s}.story-photo:hover img{filter:brightness(.96)}.story-photo:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.story-photo .story-enlarge{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;background:#f8f5efd9;color:var(--ink);font-size:1rem}.story-invitation{text-align:center;background:#eee7dc;padding:70px 7vw}.story-invitation h2{font-size:clamp(2.7rem,4vw,4.5rem)}.story-invitation p{max-width:550px;margin:24px auto 28px;color:var(--muted);font-size:.95rem}.story-invitation .submit{display:inline-block;max-width:100%;white-space:normal}.story-pagination{padding:40px 7vw;display:flex;justify-content:space-between;gap:25px;align-items:center}.story-pagination a{font-size:.82rem;max-width:45%;border-bottom:1px solid var(--line);padding-bottom:6px}.story-pagination a:last-child{text-align:right}.story-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#211c18;color:#fff;overflow:hidden}.story-dialog::backdrop{background:#211c18}.story-dialog-bar{position:absolute;inset:0 0 auto;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 25px;background:#211c18e8}.story-dialog-bar p{font-size:.75rem}.story-dialog button{position:static;inset:auto;color:#fff;border:1px solid #ffffff55;background:#211c1888;padding:10px 15px;min-height:44px;font-size:.85rem}.story-dialog .story-close{border:0}.story-dialog figure{position:absolute;inset:75px 75px 60px;display:grid;place-items:center}.story-dialog figure img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 135px);object-fit:contain}.story-dialog .story-prev,.story-dialog .story-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;font-size:1.5rem;padding:7px 14px}.story-dialog .story-prev{left:14px}.story-dialog .story-next{right:14px}.story-dialog-status{position:absolute;bottom:12px;left:7vw;right:7vw;text-align:center;font-size:.75rem;max-width:none}.story-dialog[open]~*{pointer-events:none}body:has(.story-dialog[open]){overflow:hidden}@media(max-width:900px){.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:540px){.story-opening{padding:110px 7vw 40px}.story-opening h1{font-size:3rem}.story-back{margin-bottom:28px}.story-gallery{grid-template-columns:1fr;gap:18px;padding:0 5vw 45px}.story-invitation{padding:55px 7vw}.story-pagination{padding:30px 7vw}.story-dialog figure{inset:75px 8px 90px}.story-dialog figure img{max-height:calc(100dvh - 165px)}.story-dialog .story-prev,.story-dialog .story-next{top:auto;bottom:40px;transform:none}.story-dialog-bar{padding:12px 14px}.story-dialog-bar p{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.story-photo img{transition:none}}

/* Editorial rhythm: generous space, original photograph proportions. */
.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 5vw;padding:15px 14vw 100px;align-items:center}
.story-photo{background:transparent}
.story-landscape{grid-column:1/-1;width:100%;max-width:1120px;justify-self:center}
.story-portrait{width:100%;max-width:490px;justify-self:center}
.story-portrait:last-child:nth-child(odd){grid-column:1/-1;width:60%}
.story-enlarge{opacity:0;transition:opacity .3s}
.story-photo:hover .story-enlarge,.story-photo:focus-visible .story-enlarge{opacity:1}
@media(max-width:760px){.story-gallery{padding:0 6vw 60px;gap:30px 18px}.story-enlarge{opacity:1}}
@media(max-width:540px){.story-gallery{grid-template-columns:1fr;gap:32px}.story-portrait{width:88%}.story-portrait:last-child:nth-child(odd){width:88%}.story-landscape{width:100%}}
.story-portrait.story-solo{grid-column:1/-1;width:52%}@media(max-width:540px){.story-portrait.story-solo{width:88%}}
