/* Version 02 artwork and scene styling, scoped to the six inserted scenes and music. */
@font-face{font-family:HandCN;src:url('assets/fonts/hand-cn.woff2') format('woff2');font-display:swap}
@font-face{font-family:PlayfulCN;src:url('assets/fonts/playful-cn.woff2') format('woff2');font-display:swap}
@font-face{font-family:HandEN;src:url('assets/fonts/hand-en.woff2') format('woff2');font-display:swap}
@font-face{font-family:DisplayEN;src:url('assets/fonts/display-en.woff2') format('woff2');font-display:swap}
.paper-scene *{box-sizing:border-box}
.paper-scene button,.paper-scene a,.paper-scene input{-webkit-tap-highlight-color:transparent}
.paper-scene button{font:inherit;color:inherit;cursor:pointer;border:0}
.paper-scene a{color:inherit;text-decoration:none}
.paper-scene button:focus-visible,.paper-scene a:focus-visible,.paper-scene input:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.paper-scene img{display:block;width:100%;height:auto}
.paper-scene figure,.paper-scene p,.paper-scene h1,.paper-scene h2{margin:0}
.paper-scene .skip-link{position:fixed;left:20px;top:-100px;z-index:1000;background:white;padding:15px}
.paper-scene .skip-link:focus{top:10px}
.paper-scene .reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:102;background:#5767430c}
.paper-scene .reading-progress span{display:block;width:0;height:100%;background:var(--ink)}
.paper-scene .site-header{height:66px;padding:0 4%;position:fixed;top:3px;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fafaf6e8;backdrop-filter:blur(10px);font-size:13px;letter-spacing:.12em}
.paper-scene .wordmark{font-size:17px;white-space:nowrap}
.paper-scene .wordmark i{font-family:Georgia,serif;margin:0 7px;font-size:15px}
.paper-scene nav{display:flex;gap:30px}
.paper-scene nav a{padding:12px 0}
.paper-scene nav a.active{border-bottom:1px solid var(--ink)}
.paper-scene .header-actions{display:flex;gap:23px}
.paper-scene .header-actions button{background:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0}
.paper-scene .header-actions svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.paper-scene .header-actions #motion-button svg path{fill:currentColor;stroke:none}
.paper-scene{height:180svh;position:relative}
.paper-scene .cover{height:145svh}
.paper-scene .stage{position:sticky;top:0;height:100svh;padding:86px 2.7% 48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f0efef 0,#fff 20%,#fff 81%,#e7e6e4 100%)}
.paper-scene .canvas{position:relative;aspect-ratio:16/9;width:100%;max-width:1480px;max-height:100%;container-type:inline-size;isolation:isolate}
.paper-scene .layer{position:absolute;will-change:transform;transform-origin:center}
.paper-scene .layer>img{height:100%;object-fit:contain}
.paper-scene .scene-footer{position:absolute;bottom:17px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.12em;color:#7d8275}
.paper-scene .scene-footer a{display:flex;gap:14px;align-items:center}
.paper-scene .scene-footer b{font-size:21px;font-weight:400}
.paper-scene .sticker{filter:drop-shadow(4px 0 white) drop-shadow(-4px 0 white) drop-shadow(0 4px white) drop-shadow(0 -4px white);transform-origin:center 85%}
.paper-scene .mountains{z-index:2;left:-1%;bottom:-1%;width:102%;height:44%}
.paper-scene .mountains>img{height:100%;object-fit:fill}
.paper-scene .cover-paper{position:absolute;left:0;right:0;top:7%;bottom:0;background:#e6e8dc}
.paper-scene .cover-heading{left:1%;top:-1%;width:58%;height:50%;z-index:6}
.paper-scene .cover-wedding{position:absolute;right:1%;top:1%;width:27%;z-index:7}
.paper-scene .cover-people{right:2%;bottom:0;width:44%;height:85%;z-index:5}
.paper-scene .cover-people img{object-position:bottom}
.paper-scene .cover-mountains{height:47%}
.paper-scene .cover-names{position:absolute;left:5%;bottom:5%;z-index:7;color:#fff;font-size:1.9cqw;letter-spacing:.24em;text-shadow:0 1px 8px #24322c}
.paper-scene .cover-names i{font-family:Georgia;margin:0 15px}
.paper-scene .music-card{left:3%;right:3%;bottom:15%;height:27%;z-index:5;background:#e6e8dc;border-radius:22px}
.paper-scene .music-player{position:absolute;width:50%;right:4%;top:16%;height:74%;display:grid;grid-template-columns:46px 1fr;align-content:center;gap:4px 18px}
.paper-scene .play-button{border:1px solid #68774d;background:transparent;width:44px;height:44px;border-radius:50%;grid-row:1/3;align-self:center;font-family:Arial;font-size:18px;display:grid;place-content:center}
.paper-scene .pause-symbol{display:none}
.is-playing .paper-scene .pause-symbol{display:block}
.is-playing .paper-scene .play-symbol{display:none}
.paper-scene .track-title{font-size:1.7cqw;letter-spacing:.08em}
.paper-scene .track-artist{font-size:1.1cqw;margin:7px 0;color:#808576}
.paper-scene .track-timeline{grid-column:1/3;display:flex;gap:12px;align-items:center;font-family:Georgia;font-size:1cqw;margin-top:15px}
.paper-scene .track-timeline input{appearance:none;flex:1;min-width:0;accent-color:#96a941;cursor:pointer;background:#bcc6a3;height:2px}
.paper-scene .track-timeline input::-webkit-slider-thumb{appearance:none;background:#8b9e40;width:10px;height:10px;border-radius:50%}
.paper-scene #audio-message{position:absolute;top:100%;font-size:12px}
.paper-scene .music-people{left:9%;bottom:15%;width:37%;height:75%;z-index:6}
.paper-scene .record-wrap{right:10%;bottom:30%;width:36%;aspect-ratio:1;z-index:3}
.paper-scene .record{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#27242a 0 1px,#413e44 2px 3px,#242327 4px 5px);box-shadow:inset 0 0 10px #242327,1px 3px 14px #0002}
.paper-scene .record::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0deg,#fff2 28deg,transparent 58deg,transparent 170deg,#fff3 202deg,transparent 240deg)}
.paper-scene .record-label{width:27%;aspect-ratio:1;background:#dde1cf;display:flex;align-items:center;justify-content:center;border-radius:50%;font:1.9cqw Georgia;color:#616f49;position:relative;gap:.4em}
.paper-scene .record-label span{font-size:1.2cqw}
.paper-scene .record-label::after{content:'';position:absolute;width:6%;height:6%;left:47%;top:47%;background:#28262c;border-radius:50%}
.paper-scene .record-label small{position:absolute;left:11%;right:11%;bottom:21%;font-size:.45cqw;letter-spacing:.12em;text-align:center}
.paper-scene .music-sentence{bottom:7%;left:0;right:0;text-align:center;font-size:1.35cqw;letter-spacing:.12em}
.paper-scene .invite-title{left:12%;top:9%;width:64%;height:14%;z-index:5}
.paper-scene .horn{right:5%;top:6%;width:13%;height:24%;z-index:6}
.paper-scene .invite-hearts{left:46%;top:31%;width:10%;height:16%;z-index:6}
.paper-scene .head{width:19%;height:46%;top:42%;z-index:5;display:flex;flex-direction:column;align-items:center}
.paper-scene .head img{height:83%;object-fit:contain;max-width:100%}
.paper-scene .head p{margin-top:8%;font-size:1.9cqw;color:#fff;letter-spacing:.15em;position:relative;z-index:7;white-space:nowrap}
.paper-scene .head-groom{left:23%}
.paper-scene .head-bride{right:20%}
.paper-scene .head-bride .idle-head{animation-delay:-1.7s}
.paper-scene .invitation-mountains{height:35%;z-index:3}
.paper-scene .forest{position:absolute;inset:37% 0 0;background:linear-gradient(180deg,#304c3bbd,#1f3b2dee);clip-path:polygon(0 15%,2% 0,3% 16%,5% 2%,7% 21%,8% 5%,10% 16%,11% 0,13% 18%,15% 2%,17% 21%,19% 0,21% 21%,23% 5%,25% 15%,27% 0,29% 20%,31% 3%,33% 16%,35% 0,37% 16%,39% 5%,41% 21%,43% 2%,45% 17%,47% 0,49% 17%,51% 5%,53% 20%,55% 0,57% 17%,59% 1%,61% 18%,63% 5%,65% 18%,67% 0,69% 22%,71% 5%,73% 15%,75% 0,77% 15%,79% 5%,81% 21%,83% 2%,85% 18%,87% 5%,89% 22%,91% 0,93% 17%,95% 5%,97% 21%,99% 0,100% 15%,100% 100%,0 100%)}
.paper-scene .film{background:#f5f4ed;padding:1.2%;color:#353c2e;box-shadow:1px 3px 10px #4441}
.paper-scene .poem-photo{left:8%;top:6%;width:34%;height:87%;z-index:2;display:flex;flex-direction:column}
.paper-scene .film-top{display:flex;justify-content:space-between;font-family:Arial;font-size:.9cqw;margin:0 2% 3%;letter-spacing:.04em}
.paper-scene .film-top b{font-size:1.1cqw}
.paper-scene .poem-photo>img{height:calc(100% - 4.5cqw);object-fit:cover;object-position:50% 50%}
.paper-scene .film figcaption{display:flex;justify-content:space-between;font-family:Arial;font-size:.8cqw;margin-top:3%}
.paper-scene .poem-note{right:4%;top:12%;text-align:right;font-size:1.5cqw;line-height:2.6;letter-spacing:.08em}
.paper-scene .poem-title{left:41%;top:37%;width:54%;height:57%;z-index:4}
.paper-scene .ink-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 2.5s linear}
.paper-scene .ink-reveal.is-written{clip-path:inset(0)}
.paper-scene .mountain-patch{left:0;top:22%;width:59%;height:60%;overflow:hidden;clip-path:polygon(0 37%,14% 27%,24% 8%,63% 0,83% 5%,99% 45%,87% 76%,67% 87%,42% 100%,22% 88%,0 94%)}
.paper-scene .mountain-patch img{object-fit:cover;object-position:50% 10%;height:100%}
.paper-scene .story-people{left:3%;bottom:5%;width:65%;height:85%;z-index:4}
.paper-scene .story-people img{object-position:left bottom}
.paper-scene .story-hearts{left:51%;top:10%;width:10%;height:16%;z-index:6}
.paper-scene .camera{right:7%;top:9%;width:17%;height:24%}
.paper-scene .story-title{right:8%;top:42%;width:34%;height:24%}
.paper-scene .story-note{right:4%;bottom:10%;width:40%;font-size:1.4cqw;line-height:2.5;letter-spacing:.04em}
.paper-scene .duo-hand{left:5%;top:1%;width:38%;height:15%;z-index:6}
.paper-scene .instant{width:35%;height:75%;z-index:3}
.paper-scene .instant>div{height:100%;padding:3% 3% 10%;background:#f4f3eb;box-shadow:0 3px 13px #464c391a;position:relative}
.paper-scene .instant img{height:100%;object-fit:cover}
.paper-scene .instant figcaption{position:absolute;bottom:3%;left:8%;right:4%;font-size:1.15cqw;letter-spacing:.04em;text-align:center}
.paper-scene .film-side{position:absolute;left:0;top:10%;writing-mode:vertical-rl;transform:rotate(180deg);font-family:Arial;font-size:.6cqw;letter-spacing:.1em}
.paper-scene .duo-left{left:9%;top:19%;rotate:-3deg}
.paper-scene .duo-left img{object-position:49% 50%}
.paper-scene .duo-right{right:7%;top:10%;rotate:3deg}
.paper-scene .arrow{width:7%;height:20%;z-index:4}
.paper-scene .arrow-one{right:0;top:1%;rotate:18deg}
.paper-scene .arrow-two{left:46%;bottom:8%;rotate:-31deg}
.paper-scene .memory-paper{left:10%;top:10%;width:81%;height:82%;background:#e6e8dc;z-index:1}
.paper-scene .memory-frame{left:14%;top:7%;width:77%;height:83%;padding:1.5%;background:#fdfcf6;z-index:3;box-shadow:2px 4px 18px #4a4f3210}
.paper-scene .memory-slides{position:relative;height:91%;overflow:hidden}
.paper-scene .memory-slide{position:absolute;inset:0;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.02)}
.paper-scene .memory-slide.is-current{opacity:1}
.paper-scene .memory-controls{height:9%;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.2cqw;letter-spacing:.1em;padding:2px 3px}
.paper-scene .memory-controls>div{display:flex;gap:14px}
.paper-scene .memory-controls button{background:none;font:1.5cqw Arial;min-width:30px;height:32px}
.paper-scene .quote-mark{right:5%;top:7%;font-family:Georgia;font-size:11cqw;line-height:1;color:#82759f;rotate:13deg;z-index:4}
.paper-scene .memory-flower{left:3%;bottom:3%;width:15%;height:30%;z-index:4}
.paper-scene .names-mountains{height:43%}
.paper-scene .names-people{right:3%;bottom:0;width:45%;height:91%;z-index:5}
.paper-scene .names-type{left:7%;top:13%;width:40%;text-align:center;font-family:Georgia;letter-spacing:.2em;font-size:2.3cqw;line-height:1.8;z-index:5}
.paper-scene .names-type>span{font-family:PlayfulCN;font-size:3.8cqw;display:block;line-height:1.6}
.paper-scene .names-type h2{font-family:var(--body);font-size:1.5cqw;font-weight:400;letter-spacing:.1em;margin-top:3%}
.paper-scene .names-type h2 i{font-family:Georgia;margin:0 10px}
.paper-scene .married-type{left:5%;top:53%;font-family:DisplayEN,Georgia;font-size:3.6cqw;letter-spacing:.08em;font-weight:700;z-index:6;max-width:52%}
.paper-scene .names-hearts{left:47%;top:12%;width:9%;height:16%;z-index:5}
.paper-scene .collage-block{position:absolute;left:1%;top:23%;right:0;bottom:0;background:#e6e8dc}
.paper-scene .collage-mountains{height:43%}
.paper-scene .collage-people{left:0;bottom:0;width:60%;height:88%;z-index:5}
.paper-scene .collage-people img{object-position:left bottom}
.paper-scene .collage-photo{right:5%;top:14%;width:54%;height:60%;z-index:4}
.paper-scene .collage-photo>div{height:100%;padding:2%;background:white}
.paper-scene .collage-photo img{height:100%;object-fit:cover}
.paper-scene .collage-flower{left:-2%;top:6%;width:16%;height:37%;z-index:6}
.paper-scene .collage-script{right:5%;bottom:7%;font-family:HandEN,cursive;font-size:3cqw;z-index:6;color:white;text-shadow:0 1px 8px #263622}
.paper-scene .collage-hearts{right:0;bottom:16%;width:11%;height:20%;z-index:6}
.paper-scene .album-section{padding:100px 7% 110px;background:#fafaf6}
.paper-scene .album-heading{text-align:center;margin-bottom:55px}
.paper-scene .album-heading>p:first-child{font-size:13px;letter-spacing:.23em;margin-bottom:28px}
.paper-scene .album-heading h2{font-family:HandCN,var(--body);font-weight:400;font-size:clamp(38px,4.5vw,66px);line-height:1.3;margin-bottom:22px}
.paper-scene .album-heading>p{font-size:16px;letter-spacing:.1em}
.paper-scene .album-heading>span{display:block;font-size:13px;color:#8a8f80;margin-top:15px}
.paper-scene .album-grid{columns:3;column-gap:24px;max-width:1260px;margin:auto}
.paper-scene .album-item{background:white;display:block;width:100%;padding:9px 9px 0;margin:0 0 26px;break-inside:avoid;text-align:left;border:0;box-shadow:0 2px 12px #323e2012;transition:transform .3s}
.paper-scene .album-item:hover{transform:translateY(-5px)}
.paper-scene .album-item img{width:100%;height:auto;opacity:0;transition:opacity .6s}
.paper-scene .album-item img.is-loaded{opacity:1}
.paper-scene .album-item figcaption{display:flex;justify-content:space-between;gap:6px;font-size:12px;line-height:1.5;padding:13px 3px;color:#69735a}
.paper-scene .album-item figcaption span:last-child{font-family:Georgia;color:#939a88}
.paper-scene .thanks-scene{height:155svh}
.paper-scene .thanks-copy{left:5%;right:5%;top:29%;text-align:center;z-index:5;color:#1f241b}
.paper-scene .thanks-copy h2{font:3.15cqw Georgia;letter-spacing:.17em;font-weight:400}
.paper-scene .thanks-copy p{font-size:2.4cqw;letter-spacing:.12em;margin-top:4%}
.paper-scene .thanks-copy small{display:block;font-size:1.3cqw;letter-spacing:.18em;margin-top:3%;color:#768069}
.paper-scene .thanks-mountains{height:39%}
.paper-scene .lightbox{position:fixed;inset:0;border:0;width:100vw;max-width:none;height:100svh;max-height:none;background:#142017f5;color:#fff;margin:0;padding:55px 85px}
.paper-scene .lightbox::backdrop{background:#142017}
.paper-scene .lightbox-figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.paper-scene .lightbox-figure img{max-width:100%;max-height:calc(100% - 45px);height:auto;width:auto;object-fit:contain}
.paper-scene .lightbox-figure figcaption{font-size:14px;letter-spacing:.08em}
.paper-scene .lightbox button{position:absolute;z-index:3;color:white;background:#fff1;border-radius:50%;width:48px;height:48px;font:35px Arial}
.paper-scene .lightbox-close{top:15px;right:20px}
.paper-scene .lightbox-prev{top:calc(50% - 24px);left:18px}
.paper-scene .lightbox-next{top:calc(50% - 24px);right:18px}
@keyframes float{0%,100%{translate:0 0;rotate:-.5deg}50%{translate:0 -7px;rotate:.6deg}}
@keyframes wiggle{0%,100%{rotate:-4deg}50%{rotate:4deg;translate:0 -3px}}
@keyframes heart{0%,100%{scale:1}45%{scale:1.08}60%{scale:1.02}75%{scale:1.05}}
@keyframes head{0%,100%{rotate:-3deg;translate:0 0}50%{rotate:3deg;translate:0 -6px}}
@keyframes photo{0%,100%{rotate:-.6deg}50%{rotate:.6deg;translate:0 -3px}}
@keyframes spin{to{rotate:360deg}}
.paper-scene .idle-float{animation:float 5.6s ease-in-out infinite}
.paper-scene .idle-wiggle{animation:wiggle 3.2s ease-in-out infinite}
.paper-scene .idle-heart{animation:heart 2.4s ease-in-out infinite}
.paper-scene .idle-head{animation:head 3.7s ease-in-out infinite}
.paper-scene .idle-photo{animation:photo 6s ease-in-out infinite}
.paper-scene .idle-spin{animation:spin 15s linear infinite}
.paper-scene:not(.is-active) [class*='idle-']{animation-play-state:paused}
.paper-scene.is-active [class*='idle-']{animation-play-state:running}
.reduced-motion .paper-scene *,.reduced-motion .paper-scene *::before,.reduced-motion .paper-scene *::after{animation:none!important;transition:none!important}
.reduced-motion .paper-scene{height:100svh}
.reduced-motion .paper-scene .stage{position:relative}
.reduced-motion .paper-scene .layer{transform:none!important;opacity:1!important}
.reduced-motion .paper-scene .ink-reveal{clip-path:none}
@media(max-width:1000px){.paper-scene .header-actions span{display:none}
.paper-scene .header-actions{gap:22px}
.paper-scene .site-header{padding:0 4%}
.paper-scene .wordmark{font-size:15px}
.paper-scene nav{gap:23px}
.paper-scene .scene-footer{font-size:11px}
.paper-scene .album-grid{column-gap:18px}
.paper-scene .album-item{margin-bottom:20px}
.paper-scene .album-item figcaption{font-size:11px}}
@media(max-aspect-ratio:4/5){.paper-scene{height:165svh}
.paper-scene .cover{height:130svh}
.paper-scene .stage{padding:80px 4% 46px}
.paper-scene .canvas{aspect-ratio:auto;height:100%;max-width:650px;max-height:none;container-type:size}
.paper-scene .scene-footer{font-size:10px;letter-spacing:.02em;gap:12px}
.paper-scene .scene-footer>span:last-child{max-width:58%;text-align:right;line-height:1.5}
.paper-scene .site-header{height:60px;gap:10px}
.paper-scene .wordmark{font-size:12px;letter-spacing:.03em}
.paper-scene .wordmark i{margin:0 3px}
.paper-scene nav{gap:14px;font-size:11px;letter-spacing:.05em}
.paper-scene .header-actions{gap:12px}
.paper-scene .header-actions svg{width:17px;height:17px}
.paper-scene .cover-paper{top:6%;bottom:0}
.paper-scene .cover-heading{left:2%;top:6%;width:92%;height:30%}
.paper-scene .cover-wedding{right:3%;top:0;width:49%}
.paper-scene .cover-people{right:0;bottom:0;width:89%;height:63%}
.paper-scene .cover-mountains{height:32%;width:132%;left:-16%}
.paper-scene .cover-names{left:4%;bottom:4%;font-size:4.7cqw;letter-spacing:.09em}
.paper-scene .cover-names i{margin:0 8px}
.paper-scene .music-card{left:0;right:0;bottom:9%;height:23%;border-radius:16px}
.paper-scene .music-player{width:88%;right:6%;top:14%;grid-template-columns:38px 1fr;gap:3px 14px}
.paper-scene .play-button{width:36px;height:36px;font-size:15px}
.paper-scene .track-title{font-size:4.3cqw}
.paper-scene .track-artist{font-size:3cqw;margin:5px 0}
.paper-scene .track-timeline{font-size:2.7cqw;margin-top:10px}
.paper-scene .record-wrap{right:1%;bottom:31%;width:63%}
.paper-scene .record-label{font-size:4cqw}
.paper-scene .record-label span{font-size:3cqw}
.paper-scene .record-label small{font-size:1cqw}
.paper-scene .music-people{left:0;bottom:32%;width:80%;height:61%}
.paper-scene .music-sentence{bottom:2%;font-size:3.1cqw;line-height:1.8;left:6%;right:6%}
.paper-scene .invite-title{left:1%;top:10%;width:98%;height:12%}
.paper-scene .horn{right:0;top:22%;width:22%;height:18%}
.paper-scene .invite-hearts{left:40%;top:32%;width:22%;height:15%}
.paper-scene .head{height:38%;top:42%;width:33%}
.paper-scene .head-groom{left:8%}
.paper-scene .head-bride{right:6%}
.paper-scene .head img{height:82%}
.paper-scene .head p{font-size:4cqw;margin-top:10%}
.paper-scene .invitation-mountains{height:28%;width:130%;left:-15%}
.paper-scene .forest{inset:25% 0 0}
.paper-scene .poem-photo{left:14%;top:4%;width:68%;height:58%;padding:3%}
.paper-scene .film-top{font-size:2.3cqw;margin-bottom:4%}
.paper-scene .film-top b{font-size:2.5cqw}
.paper-scene .poem-photo>img{height:calc(100% - 10cqw)}
.paper-scene .film figcaption{font-size:2.1cqw;margin-top:4%}
.paper-scene .poem-note{left:0;right:0;top:65%;text-align:center;font-size:3.2cqw;line-height:1.8}
.paper-scene .poem-title{left:2%;top:74%;width:96%;height:25%}
.paper-scene .mountain-patch{left:-10%;top:28%;width:110%;height:46%}
.paper-scene .story-people{left:0;bottom:24%;width:104%;height:54%}
.paper-scene .story-hearts{left:0;top:5%;width:25%;height:16%}
.paper-scene .camera{right:2%;top:5%;width:32%;height:17%}
.paper-scene .story-title{left:18%;top:74%;width:64%;height:17%;right:auto}
.paper-scene .story-note{left:2%;right:2%;bottom:0;width:auto;text-align:center;font-size:3.2cqw;line-height:2}
.paper-scene .duo-hand{left:1%;top:6%;width:89%;height:13%}
.paper-scene .instant{width:57%;height:53%}
.paper-scene .duo-left{left:1%;top:23%;z-index:3}
.paper-scene .duo-right{right:0;top:44%;height:53%;z-index:4}
.paper-scene .instant figcaption{font-size:2.8cqw}
.paper-scene .film-side{font-size:1.7cqw}
.paper-scene .arrow{width:13%;height:16%;z-index:5}
.paper-scene .arrow-one{right:2%;top:17%}
.paper-scene .arrow-two{left:0;bottom:4%;rotate:-20deg}
.paper-scene .memory-paper{left:0;top:19%;width:100%;height:65%}
.paper-scene .memory-frame{left:2%;top:23%;width:96%;height:57%;padding:3%}
.paper-scene .memory-slides{height:85%}
.paper-scene .memory-slide{object-fit:cover}
.paper-scene .memory-controls{height:15%;font-size:3.2cqw;letter-spacing:.03em}
.paper-scene .memory-controls button{font-size:5cqw;height:34px}
.paper-scene .quote-mark{right:0;top:18%;font-size:25cqw}
.paper-scene .memory-flower{left:0;bottom:6%;width:29%;height:26%}
.paper-scene .names-mountains{height:30%;width:130%;left:-15%}
.paper-scene .names-type{left:3%;top:2%;width:80%;font-size:5cqw;line-height:1.4}
.paper-scene .names-type>span{font-size:7cqw;line-height:1.3}
.paper-scene .names-type h2{font-size:4cqw;margin-top:7%}
.paper-scene .married-type{left:1%;top:33%;font-size:6.2cqw;max-width:98%;z-index:7}
.paper-scene .names-people{right:0;bottom:0;width:91%;height:62%}
.paper-scene .names-hearts{left:auto;right:0;top:14%;width:20%;height:16%}
.paper-scene .collage-block{top:17%}
.paper-scene .collage-mountains{height:31%;width:130%;left:-15%}
.paper-scene .collage-photo{left:10%;right:auto;top:15%;width:88%;height:42%;z-index:3}
.paper-scene .collage-people{left:0;bottom:1%;width:113%;height:54%;z-index:5}
.paper-scene .collage-flower{left:-5%;top:1%;width:34%;height:27%}
.paper-scene .collage-script{right:0;bottom:3%;font-size:6cqw;z-index:6}
.paper-scene .collage-hearts{right:0;bottom:30%;width:25%;height:20%;z-index:6}
.paper-scene .thanks-copy{top:31%;left:0;right:0}
.paper-scene .thanks-copy h2{font-size:5cqw;line-height:1.8;letter-spacing:.08em}
.paper-scene .thanks-copy p{font-size:4cqw;line-height:2;letter-spacing:.06em;margin-top:8%}
.paper-scene .thanks-copy small{font-size:3.5cqw;margin-top:7%}
.paper-scene .thanks-mountains{height:31%;width:130%;left:-15%}
.reduced-motion .paper-scene{height:100svh}}
@media(max-width:700px){.paper-scene .album-section{padding:70px 6%}
.paper-scene .album-grid{columns:2;column-gap:13px}
.paper-scene .album-item{padding:5px 5px 0;margin-bottom:16px}
.paper-scene .album-item figcaption{padding:9px 1px;font-size:10px;letter-spacing:0}
.paper-scene .album-item figcaption span:last-child{font-size:9px}
.paper-scene .album-heading{margin-bottom:38px}
.paper-scene .album-heading h2{font-size:40px}
.paper-scene .album-heading>p{font-size:14px}
.paper-scene .lightbox{padding:65px 15px 82px}
.paper-scene .lightbox-prev,.paper-scene .lightbox-next{top:auto;bottom:17px}
.paper-scene .lightbox-prev{left:calc(50% - 75px)}
.paper-scene .lightbox-next{right:calc(50% - 75px)}
.paper-scene .lightbox-figure figcaption{font-size:12px}
.paper-scene .scene-footer{font-size:10px}}
@media(max-height:550px) and (min-aspect-ratio:4/5){.paper-scene .site-header{height:46px}
.paper-scene .stage{padding-top:58px;padding-bottom:30px}
.paper-scene .canvas{max-width:calc((100svh - 88px)*16/9)}
.paper-scene .scene-footer{bottom:8px;font-size:10px}
.paper-scene{height:190svh}
.paper-scene .album-section{padding-top:65px}
.paper-scene .header-actions button{min-height:36px}
.paper-scene .wordmark{font-size:13px}
.paper-scene nav{font-size:11px;gap:20px}
.paper-scene .header-actions span{display:none}
.paper-scene .lightbox{padding-top:45px}}
@media(max-aspect-ratio:4/5){.paper-scene .cover-people{width:112%;right:-10%;height:70%}}
.paper-scene .head p{position:absolute;top:90%;margin:0;left:-20%;right:-20%;text-align:center}
@media(max-aspect-ratio:4/5){.paper-scene .head p{top:110%;margin:0;font-size:4cqw}}
@media(max-aspect-ratio:4/5){.paper-scene .story-note,.paper-scene .poem-note,.paper-scene .music-sentence,.paper-scene .memory-controls{font-size:14px}
.paper-scene .thanks-copy p{font-size:15px}
.paper-scene .instant figcaption{font-size:12px}}
.paper-scene .memory-flower{z-index:2}
.paper-scene .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.paper-scene .forest{display:none}
@media(max-aspect-ratio:4/5){.paper-scene .memory-flower{bottom:3%;left:-5%;width:25%;height:20%}}
@media(max-height:550px) and (min-aspect-ratio:4/5){.paper-scene .track-title{font-size:12px}
.paper-scene .track-artist{font-size:10px;margin:3px 0}
.paper-scene .track-timeline{font-size:9px;margin-top:8px}
.paper-scene .music-sentence{font-size:11px}
.paper-scene .music-player{gap:2px 12px}}
.paper-scene .outline-title{width:100%;height:100%;display:block;overflow:visible}
.paper-scene .cover-wedding.outline-title{width:27%;height:auto}
.paper-scene .glyph{transform-box:fill-box}
.paper-scene .ink-reveal,.paper-scene .ink-reveal.is-written{clip-path:none;transition:none}
.paper-scene .cover-heading{top:0%;left:2%;width:58%;height:48%}
.paper-scene .cover-paper{background:#e5e7d9}
.paper-scene .cover-paper::before{content:'';position:absolute;inset:0;background:url('assets/art-02/paper-grain.svg');opacity:.29;mix-blend-mode:multiply;pointer-events:none}
.paper-scene .mountains{left:0;bottom:0;width:100%;height:41%;overflow:visible}
.paper-scene .mountains>img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.paper-scene .cover-mountains{height:46%}
.paper-scene .cover-people{right:1%;bottom:0;width:45%;height:85%}
.paper-scene .music-card{left:9%;right:9%;bottom:17%;height:29%;border-radius:28px}
.paper-scene .music-people{left:9%;bottom:17%;width:40%;height:73%}
.paper-scene .music-people img{object-position:center bottom}
.paper-scene .record-wrap{right:17%;bottom:29%;width:32%;z-index:3}
.paper-scene .record{display:block;width:100%;height:auto;aspect-ratio:1;background:none;box-shadow:none;border-radius:50%;object-fit:contain}
.paper-scene .music-player{right:5%;width:48%;top:9%;height:82%}
.paper-scene .music-sentence{bottom:7%;font-size:1.65cqw}
.paper-scene .invitation-mountains{height:32%;z-index:3}
.paper-scene .invite-title{left:10%;top:9%;width:67%;height:16%}
.paper-scene .head{height:36%;top:auto;bottom:24%;width:19%;z-index:4}
.paper-scene .head img{height:100%;object-position:center bottom}
.paper-scene .head p{top:114%;left:-25%;right:-25%;font-size:1.8cqw;text-shadow:0 1px 5px #18230f;background:none}
.paper-scene .head p{left:0;right:0;background:#3f503ad9;border-radius:5px;padding:5px 8px;text-shadow:none}
.paper-scene .album-heading h2{width:min(620px,100%);height:180px;margin:0 auto 22px}
.paper-scene .head-groom{left:23%}
.paper-scene .head-bride{right:20%}
.paper-scene .forest{display:none}
.paper-scene .poem-title{left:43%;top:36%;height:58%;width:52%}
.paper-scene .story-note{bottom:18%}
.paper-scene .collage-script{height:14%;width:39%;bottom:5%}
.paper-scene .collage-script path{fill:white;stroke:white}
.paper-scene .closing{position:relative;text-align:center;padding-top:90px;background:#e9ecdf}
.paper-scene .closing-copy{padding:0 6%;position:relative;z-index:2}
.paper-scene .closing .eyebrow{font:13px Georgia,serif;letter-spacing:.25em}
.paper-scene .closing h2{width:min(630px,86vw);height:180px;margin:27px auto 24px}
.paper-scene .closing-copy>p:not(.eyebrow){letter-spacing:.1em;line-height:2.1}
.paper-scene .closing .closing-names{font-size:24px;margin-top:32px}
.paper-scene .closing-names i{font-family:Georgia,serif;margin:0 7px;color:#b47277}
.paper-scene .closing-landscape{height:420px;position:relative;margin-top:12px;overflow:hidden;mask-image:linear-gradient(transparent,black 25%)}
.paper-scene .closing-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 63%}
.paper-scene .closing footer{padding:24px 6%;display:flex;justify-content:space-between;gap:20px;font:12px Georgia,serif;letter-spacing:.16em;background:#fafaf6}
.paper-scene .closing footer a{min-height:30px;display:flex;align-items:center}
@keyframes float{0%,100%{translate:0 0;scale:1}50%{translate:0 -5px;scale:1.014}}
@keyframes head{0%,100%{rotate:-2.5deg;scale:.98}50%{rotate:2.5deg;scale:1.02}}
@keyframes photo{0%,100%{rotate:-.8deg}50%{rotate:.8deg}}
.paper-scene .idle-float{animation-duration:4s}
.paper-scene .idle-head{animation-duration:2.6s}
.paper-scene .idle-wiggle{animation-duration:2.4s}
.paper-scene .idle-photo{animation-duration:4.5s}
.paper-scene .idle-spin{animation-duration:12s}
.paper-scene:not(.entrance-complete) [class*='idle-']{animation-play-state:paused}
@media(max-aspect-ratio:4/5){.paper-scene .cover-wedding.outline-title{width:49%;height:auto;top:0;right:3%}
.paper-scene .cover-heading{left:1%;top:8%;width:97%;height:31%}
.paper-scene .cover-people{right:-7%;bottom:0;width:107%;height:65%}
.paper-scene .cover-mountains{width:100%;left:0;height:32%}
.paper-scene .music-card{left:0;right:0;bottom:12%;height:25%;border-radius:20px}
.paper-scene .music-people{left:-3%;bottom:35%;width:73%;height:50%;z-index:4}
.paper-scene .record-wrap{right:0;bottom:35%;width:61%;z-index:3}
.paper-scene .music-player{width:88%;right:6%;top:10%;height:83%}
.paper-scene .music-sentence{bottom:4%;left:0;right:0;font-size:14px;letter-spacing:.03em}
.paper-scene .invitation-mountains{height:29%;width:100%;left:0}
.paper-scene .invite-title{left:0;top:11%;width:100%;height:18%}
.paper-scene .horn{top:27%;right:0;width:21%;height:17%}
.paper-scene .invite-hearts{left:39%;top:37%;width:23%;height:15%}
.paper-scene .head{top:auto;bottom:24%;height:25%;width:35%}
.paper-scene .head-groom{left:6%}
.paper-scene .head-bride{right:5%}
.paper-scene .head p{top:115%;font-size:15px;letter-spacing:.03em}
.paper-scene .album-heading h2{height:120px}
.paper-scene .poem-title{left:3%;top:76%;width:94%;height:23%}
.paper-scene .story-note{bottom:0}
.paper-scene .names-mountains,.paper-scene .collage-mountains{height:31%;left:0;width:100%}
.paper-scene .collage-script{width:64%;height:12%;bottom:3%}
.paper-scene .closing{padding-top:65px}
.paper-scene .closing .eyebrow{font-size:12px;letter-spacing:.15em}
.paper-scene .closing h2{height:120px;width:88%;margin:24px auto 20px}
.paper-scene .closing-copy>p:not(.eyebrow){font-size:14px}
.paper-scene .closing .closing-names{font-size:20px;margin-top:24px}
.paper-scene .closing-landscape{height:330px;margin-top:25px}
.paper-scene .closing-landscape img{object-position:center 57%}
.paper-scene .closing footer{padding:19px 6%;font-size:10px;letter-spacing:.08em;gap:10px}}
@media(max-height:550px) and (min-aspect-ratio:4/5){.paper-scene .music-card{border-radius:12px}
.paper-scene .music-sentence{font-size:11px}
.paper-scene .closing{padding-top:60px}
.paper-scene .closing h2{height:150px}}
.reduced-motion .paper-scene .glyph{opacity:1!important;clip-path:none!important}