/* Scale, typography, and reading order retain the approved postcard design. */
html:not(.sc-ready) [data-sc-in],html.motion-fallback [data-sc-in]{opacity:1;transform:none}
.masthead{position:sticky;top:0;z-index:50;background:#f4f5eff2;backdrop-filter:blur(16px)}
.reading-line{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;pointer-events:none}
.reading-line span{display:block;height:100%;background:#528f81;transform-origin:left center;transform:scaleX(0)}
.reading-line [data-sc-progress]{position:absolute;inset:0;height:2px;width:100%;z-index:1}
.hero-line{display:block;overflow:clip;padding:.13em .035em .16em;margin:-.13em -.035em -.16em}
.cover .name-first,.cover .name-second{display:block;transform-origin:left bottom}
.cover .name-second{margin-top:25px}
.cover-print{background:white;overflow:clip;transform-origin:50% 70%;will-change:transform}
.cover-photo{rotate:calc(2.5deg - var(--cover-travel,0)*5deg);box-shadow:8px 22px 35px -23px #183e3565}
.cover-photo img{scale:calc(1.025 - var(--cover-travel,0)*.025);transition:scale .15s linear}
.stamp-button{rotate:calc(14deg - var(--cover-travel,0)*10deg);animation:none!important;filter:drop-shadow(3px 5px 3px #173f3529)}
.stamp-button:hover{transform:translateY(-5px)}
.singapore-stamp{object-fit:contain;transform-origin:50% 65%}
.postmark{opacity:.75}
.postmark svg path{stroke-dasharray:240;stroke-dashoffset:0}
html.motion-live .cover-enter .name-first{animation:cover-type 1.1s cubic-bezier(.18,.7,.22,1) .08s backwards}
html.motion-live .cover-enter .name-second{animation:cover-type 1.2s cubic-bezier(.18,.7,.22,1) .23s backwards}
html.motion-live .cover-enter .cover-print{animation:print-arrive 1.5s cubic-bezier(.16,.7,.24,1) .12s backwards}
html.motion-live .cover-enter .singapore-stamp{animation:stamp-impression 1.1s cubic-bezier(.2,.7,.2,1) .65s backwards}
html.motion-live .cover-enter .postmark svg path{animation:cancel-stamp 1.3s ease .95s backwards}
html.motion-live .cover-enter .cover-foot{animation:soft-enter 1.2s ease .35s backwards}
html.motion-live [data-sc-in]{transition:opacity 1050ms cubic-bezier(.2,.75,.2,1),transform 1250ms cubic-bezier(.2,.75,.2,1)}
html.motion-live [data-sc-in]:not(.sc-in){transform:translate3d(0,48px,0);opacity:0}
.letter-section{perspective:1200px}
.letter{background:#ffffff63;padding:0 23px;box-shadow:0 14px 28px -24px #1a44383b}
.letter.sc-in{transform-origin:50% 0}
.letter-side{will-change:transform}
.chapter-copy{will-change:transform,opacity}
.chapter-wide,.chapter-portrait,.film-frame{isolation:isolate}
.chapter-inset,.family-small{will-change:transform}
.celebration-photos img:nth-child(2){transition-delay:180ms}
.film-frame{box-shadow:0 23px 52px -31px #143e3557}
.photo-tile:hover img{transform:scale(1.045)}
.motion-control{border:0;border-bottom:1px solid #8fa899;background:none;padding:0 0 2px;color:#4d685b;font-size:10px;line-height:1.5;white-space:nowrap}
.motion-control:disabled{opacity:.75;cursor:default}
.motion-paused [data-sc-cue],.motion-paused [data-sc-in],.motion-paused [data-sc-reveal],.motion-paused [data-sc-parallax],.motion-fallback [data-sc-cue],.motion-fallback [data-sc-in],.motion-fallback [data-sc-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;pointer-events:auto!important}
.motion-paused .sc-split__i,.motion-fallback .sc-split__i{opacity:1!important;transform:none!important}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}
.motion-paused .cover-photo,.motion-fallback .cover-photo{rotate:2deg}
.motion-paused .stamp-button,.motion-fallback .stamp-button{rotate:12deg}
@keyframes cover-type{from{opacity:0;transform:translateY(112%) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes print-arrive{from{opacity:.2;transform:translate3d(0,65px,0) rotate(5deg) scale(.94)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes stamp-impression{0%{opacity:0;transform:translateY(-36px) rotate(13deg) scale(1.3)}65%{opacity:1;transform:translateY(3px) rotate(-2deg) scale(.97)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes cancel-stamp{from{stroke-dashoffset:240;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes soft-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.masthead{background:#f4f5eff5}.mobile-links{position:sticky;top:88px;z-index:49;background:var(--paper)}.cover .name-second{margin-top:18px}.cover-print{transform:none!important}.cover-photo{rotate:calc(-1.5deg + var(--cover-travel,0)*2deg)}.cover-photo img{scale:1}.stamp-button{rotate:calc(10deg - var(--cover-travel,0)*7deg)}.letter{padding:0 15px}.letter-section{padding:0 23px}.letter-side{transform:none!important}.chapter-inset{transform:none!important}.family-small{transform:none!important}.cover-enter .cover-print{animation:none!important}html.motion-live [data-sc-in]{transition-duration:850ms}html.motion-live [data-sc-in]:not(.sc-in){transform:translate3d(0,28px,0)}.motion-control{font-size:9px}.postmark svg path{animation:none!important}}
@media(prefers-reduced-motion:reduce){.hero-line{overflow:visible}.cover .name-first,.cover .name-second,.sc-split__i{transform:none!important;opacity:1!important}.postmark svg path{stroke-dashoffset:0!important}.cover-print{transform:none!important}.cover-photo{rotate:2deg}.stamp-button{rotate:12deg}html [data-sc-cue]{opacity:1!important;transform:none!important;pointer-events:auto!important}.reading-line{display:none}}
