/* Photographs keep their natural framing; the title sits clear of both faces. */
.embrace-cover{height:auto;aspect-ratio:1672/1050;background:#f4efe6}
.embrace-image-wrap{width:100%;height:auto;aspect-ratio:1672/941;top:0;left:0;right:0}
.embrace-image{object-fit:contain;object-position:center;filter:none;transform:none!important}
.embrace-cover:after{background:linear-gradient(0deg,#f4efe6 0%,#f4efe6f5 9%,#f4efe6b8 19%,transparent 42%)}
.embrace-title-wrap{top:auto;bottom:3%;left:5%;width:80%;transform:none}
.embrace-title-wrap .wedding-title h1{font-size:clamp(44px,5vw,68px);line-height:1.5}
.embrace-title-wrap .wedding-title-en{font-size:clamp(27px,3vw,39px)}
.embrace-title-wrap .wedding-title>.eyebrow{margin-bottom:2px}
.embrace-title-wrap .title-flourish,.embrace-caption,.embrace-route,.embrace-grain{display:none}
.embrace-monogram{width:62px;height:62px;top:20px;left:22px;background:#fffaf0aa}
.embrace-date-stamp{bottom:28px;right:30px;width:100px;height:100px;color:#806349;background:#faf5eb99;border-color:#bba385;outline-color:#bba385}
.hero-arrived .embrace-title-wrap{animation:photo-title-in 1.1s .15s both}
.hero-arrived .embrace-image{animation:photo-image-in 1.5s both}
.story-portrait{margin:0 auto;width:100%;max-width:355px;padding:10px 10px 20px;transform:rotate(-2deg)}
.story-portrait img{aspect-ratio:941/1672;object-fit:contain;filter:none}
.story-portrait figcaption{font:italic 24px/1.3 var(--serif);text-align:center;margin-top:16px;color:#896e53}
.photo-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in}
.photo-open img{display:block;width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.6,.3,1)}
.photo-open:hover img{transform:scale(1.025)}
.photo-expand{position:absolute;bottom:14px;right:16px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#70573f;background:#fffbf0df;font-size:19px;opacity:0;transition:opacity .25s}
.photo-open:hover .photo-expand,.photo-open:focus-visible .photo-expand{opacity:1}
.memories{max-width:1320px;padding-top:35px;padding-bottom:85px}
.memories-heading{text-align:center;margin:0 auto 48px}
.memories-heading h2{margin:12px 0;font-size:clamp(26px,3.3vw,36px)}
.memories-heading>p:last-child{font:italic 24px/1.4 var(--serif);color:#9b8269}
.memory-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:30px;align-items:start}
.memory{margin:0;min-width:0}.memory:nth-child(even){margin-top:65px}
.memory .photo-open{border-radius:3px}.memory img{aspect-ratio:1672/941;object-fit:contain}
.memory figcaption{display:flex;gap:20px;align-items:baseline;font:italic 21px/1.5 var(--serif);color:#806a54;padding:13px 2px;border-bottom:1px solid #d8cbb9}
.memory figcaption>span{font:9px/1.5 Anuphan,sans-serif;letter-spacing:2px;color:#a78d71}
.memory-footnote{text-align:center;letter-spacing:3px;font-size:8px;color:#9b8269;margin:50px 0 0}.memory-footnote span{margin:0 16px}
.love-note{max-width:1220px;padding-top:55px;padding-bottom:35px;position:relative}
.love-note>.photo-open{border-radius:4px}.love-note-caption{text-align:center;padding:22px 0 0}
.love-note-caption>p:last-child{font-size:25px;line-height:1.8;margin:8px 0;color:#81674e}.love-note-caption em{font-style:normal}
.photo-dialog{position:fixed;inset:0;width:min(1100px,94vw);height:min(94svh,1100px);max-width:94vw;max-height:94svh;margin:auto;padding:18px 24px;background:#faf6ef;border:1px solid #d5c8b4;border-radius:6px;color:#705940;overflow:hidden}
.photo-dialog[open]{display:flex;flex-direction:column;gap:12px}.photo-dialog::backdrop{background:#30251ce6;backdrop-filter:blur(6px)}
.photo-dialog-toolbar,.photo-dialog-navigation{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.photo-dialog-toolbar p{font:italic 24px var(--serif);margin:0}.photo-dialog button{background:none;border:1px solid #cdbda8;width:40px;height:40px;display:grid;place-items:center;padding:8px;font-size:22px}.photo-dialog button svg{width:22px;height:22px}
#photo-full{display:block;width:100%;height:100%;min-height:0;flex:1;object-fit:contain}.photo-dialog-navigation span{font-size:11px;letter-spacing:2px}
@keyframes photo-title-in{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@keyframes photo-image-in{from{opacity:.1}to{opacity:1}}
@media(max-width:760px){
 .embrace-cover{aspect-ratio:auto;max-height:none;overflow:hidden;display:flex;flex-direction:column}
 .embrace-image-wrap{position:relative;flex-shrink:0}.embrace-cover:after{display:none}
 .embrace-title-wrap{position:relative;bottom:auto;left:auto;width:100%;padding:23px 18px 27px;text-align:center;background:#f4efe6}
 .embrace-title-wrap .wedding-title{text-align:center}.embrace-title-wrap .wedding-title h1{color:#72523a;font-size:clamp(36px,9vw,56px);text-shadow:none;line-height:1.5}
 .embrace-title-wrap .wedding-title-en{color:#947255;font-size:27px}.embrace-title-wrap .wedding-title>.eyebrow{color:#a18568;font-size:6px;letter-spacing:1.3px;margin-bottom:5px}
 .embrace-monogram{width:39px;height:39px;left:10px;top:10px;padding:4px;backdrop-filter:none;border-color:#bba385}.embrace-monogram img{filter:brightness(.75)}
 .embrace-date-stamp{display:none}.hero>.hero-copy{padding-top:28px}
 .story-portrait{max-width:285px}.story-portrait figcaption{font-size:22px}
 .memories{padding:35px 5vw 55px}.memories-heading{margin-bottom:30px}.memories-heading>p:last-child{font-size:21px}
 .memory-grid{grid-template-columns:1fr;gap:25px}.memory:nth-child(even){margin-top:0}.memory:nth-child(2){width:90%;justify-self:end}.memory:nth-child(4){width:90%}
 .memory figcaption{font-size:19px;gap:14px}.memory-footnote{margin-top:35px;font-size:7px;letter-spacing:1.5px}
 .love-note{padding:35px 4vw 20px}.love-note-caption>p:last-child{font-size:23px}.photo-dialog{padding:12px;width:96vw;max-width:96vw;height:85svh}.photo-dialog-toolbar p{font-size:21px}
 .photo-expand{opacity:1;width:26px;height:26px;bottom:9px;right:9px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.photo-open img,.hero-arrived .embrace-image,.hero-arrived .embrace-title-wrap{animation:none!important;transition:none!important}}

