/* Cinematic Destinations. Only this collection uses photographic scenery. */
.scenic-card{background:color-mix(in srgb,var(--story-paper) 85%,var(--story-wash));--scenic-ease:cubic-bezier(.16,1,.3,1)}
.scenic-card .scenic-front .front-stage{padding:0;overflow:hidden;background:var(--story-paper)!important}
.scenic-cover-landscape,.scenic-cover-tone,.scenic-seam{position:absolute;inset:0;pointer-events:none}
.scenic-cover-landscape{inset:-8px;filter:blur(3px)}
.scenic-cover-landscape img{width:100%;height:100%;object-fit:cover}
.scenic-cover-tone{background:linear-gradient(90deg,#111a2026 0 50%,#fff7e112 50%),linear-gradient(0deg,#0a1216d9,#0a1216b8 30%,transparent 52%,transparent 66%,#0a1216b8 84%,#0a1216d0)}
.scenic-seam{left:50%;width:1px;background:#fff7dd35;box-shadow:6px 0 18px 5px #0003}
.scenic-card .scenic-front .scenic-cover-content{position:absolute;inset:0;max-width:none;width:100%;height:100%;margin:0;padding:clamp(14px,4cqh,40px) 7% max(clamp(12px,2.6cqh,26px),env(safe-area-inset-bottom))!important;display:flex;align-items:center;justify-content:space-between;gap:clamp(6px,1.4cqh,14px);flex-direction:column;text-align:center;color:#fffaf0;animation:none}
.scenic-card .scenic-cover-content:before{display:none}
.scenic-seal{position:relative;flex:none;margin-bottom:22px;width:176px;height:176px;border:0;background:none;color:#4c3417;cursor:pointer;padding:0;isolation:isolate;transition:transform .4s;filter:drop-shadow(0 8px 8px #0004)}
.scenic-seal>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.scenic-seal:after{content:"";position:absolute;inset:18%;border:1px solid #fff5c7aa;border-radius:50%;box-shadow:inset 0 1px 2px #fff8;pointer-events:none}
.scenic-seal-inscription{position:absolute;inset:28% 20% 21%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;line-height:.95;text-shadow:0 1px #ffefb5;font:400 21px/.98 'Pinyon Script',cursive;overflow-wrap:anywhere}
.scenic-seal-inscription i{font:italic 13px Georgia;line-height:1}
.scenic-seal-inscription small{font:600 8px/1.4 var(--font-ui);letter-spacing:.2em;margin-top:9px}
.scenic-seal:hover{transform:translateY(-3px) rotate(-2deg)}
.scenic-seal:focus-visible{outline:2px solid white;outline-offset:7px;border-radius:50%}
.scenic-cover-heading,.scenic-cover-details{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;text-shadow:0 1px 7px #000c}
.scenic-collection-label{margin:0 0 clamp(8px,1.8cqh,16px);padding:6px 14px;color:#fffaf0;text-shadow:0 1px 5px #000;font:500 clamp(8px,1.1cqh,10px)/1.5 var(--font-ui);letter-spacing:.28em;text-transform:uppercase;background:#17271f60;border:1px solid #fff2;border-radius:20px}
.scenic-cover-kicker{margin:0 0 clamp(2px,.8cqh,8px);font:600 clamp(9px,1.3cqh,12px)/1.4 var(--font-ui);letter-spacing:.26em;text-transform:uppercase}
.scenic-cover-names{display:flex;flex-direction:column;margin:0;max-width:100%;font:400 clamp(27px,min(9cqw,5cqh),44px)/1.08 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere}
.scenic-cover-names i{font:italic .55em/1.1 Georgia,serif}
.scenic-long-names{font-size:clamp(21px,min(6.4cqw,3.6cqh),31px)}
.scenic-cover-date{font:500 clamp(16px,min(4.9cqw,2.5cqh),23px)/1.25 'Cormorant Garamond',Georgia,serif}
.scenic-cover-time{margin-top:3px;font:500 clamp(10px,1.45cqh,13px)/1.4 var(--font-ui);letter-spacing:.06em}
.scenic-cover-venue{margin-top:clamp(6px,1.3cqh,12px);font:600 clamp(16px,min(4.9cqw,2.5cqh),23px)/1.2 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere}
.scenic-cover-venue:empty{display:none}
.scenic-cover-address{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-top:3px;font:400 clamp(10px,1.45cqh,13px)/1.4 var(--font-ui);white-space:pre-line;text-wrap:balance;overflow-wrap:anywhere}
.scenic-cover-caption{margin:clamp(6px,1.3cqh,12px) 0 0;color:#fffaf0;font:italic clamp(14px,2cqh,18px)/1.25 'Cormorant Garamond',Georgia}
.scenic-card .scenic-skip{flex:none;color:#fffaf0;background:#142b25a6;border:1px solid #fff5;border-radius:30px;padding:12px 20px;font:400 11px var(--font-ui);min-height:42px}
.scenic-front.gate-opening .opening-gate-face .scenic-cover-content{visibility:visible}
.scenic-front .opening-gate-leaf{background:transparent}
.scenic-front.cinema-css-opening .scenic-cover-content{animation:scenic-seal-away .5s both}
.scenic-front.cinema-css-opening{animation:scenic-cover-away 1.5s .4s forwards}
@keyframes scenic-seal-away{to{opacity:0;transform:translateY(12px) scale(.96)}}
@keyframes scenic-cover-away{to{opacity:0}}

.scenic-story.card:before,.scenic-story.card:after{display:none}
.scenic-story.card{background:var(--story-paper);overflow:clip}
.scenic-story>.hero{min-height:100svh!important;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;padding:150px 11% 145px!important;isolation:isolate}
.scenic-story>.hero .hero-initials,.scenic-story>.hero>.artwork{display:none!important}
.scenic-story>.hero:not(.cinema-scene){background:var(--story-paper)}
.scenic-story>.hero>.eyebrow{font:500 13px/1.8 var(--font-ui);letter-spacing:.27em;margin:0 0 22px!important;color:var(--story-ink)}
.scenic-story>.hero>.names{width:100%;margin:0 0 26px!important;font:400 clamp(44px,13.8vw,68px)/1.1 'Pinyon Script',cursive;letter-spacing:0;text-shadow:0 1px 1px color-mix(in srgb,var(--story-paper) 80%,transparent);overflow-wrap:anywhere}
.scenic-story.premium-type-editorial>.hero>.names{font:500 clamp(39px,11.8vw,58px)/1.09 'Cormorant Garamond',Georgia;letter-spacing:-.035em}
.scenic-story>.hero .hero-name{display:block;max-width:100%;font:inherit;color:var(--story-ink);background:none;-webkit-text-fill-color:currentColor}
.scenic-story>.hero .amp{font:italic 28px/1.5 'Cormorant Garamond',serif;color:var(--story-ink);margin:8px 0;opacity:.8}
.scenic-story>.hero .amp:before,.scenic-story>.hero .amp:after,.scenic-story>.hero .hero-date:before{display:none}
.scenic-story>.hero>.hero-date{font:500 14px/1.8 var(--font-ui);letter-spacing:.2em;margin:0!important;color:var(--story-ink)}
.scenic-story>.hero>.hero-venue{font:500 13px/1.7 var(--font-ui);letter-spacing:.08em;max-width:90%;margin:15px 0 0!important;color:var(--story-ink)}
.scenic-story>.hero-photo{padding-top:80px!important;padding-bottom:120px!important}
.scenic-story>.hero-photo .frame{max-width:210px;margin:15px auto 25px}
.scenic-story>.hero-photo .names{font-size:44px}
.scenic-story>.cinema-scene:not(.hero){padding:70px 10%;overflow:hidden;isolation:isolate}
.scenic-story>.invitation-closing{padding-bottom:135px!important;min-height:85svh}
.scenic-story .cinema-decor{overflow:hidden}
.scenic-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}
.scenic-camera{position:absolute;inset:-3%;translate:var(--ambient-x,0px) var(--ambient-y,0px);transition:translate 1.3s var(--scenic-ease)}
.scenic-camera img{width:100%;height:100%;object-fit:cover;display:block;animation:scenic-dolly 24s ease-in-out infinite alternate;animation-delay:var(--scenic-phase);animation-play-state:paused}
.scenic-veil{position:absolute;inset:0;background:linear-gradient(0deg,var(--story-paper),color-mix(in srgb,var(--story-paper) 94%,transparent) 25%,color-mix(in srgb,var(--story-paper) 91%,transparent) 75%,var(--story-paper))}
.scenic-role-hero .scenic-veil{inset:17% 7% 19%;border-radius:48% 48% 42% 42% / 25% 25% 20% 20%;background:radial-gradient(ellipse,var(--story-paper) 0%,color-mix(in srgb,var(--story-paper) 92%,transparent) 40%,color-mix(in srgb,var(--story-paper) 75%,transparent) 70%,transparent 100%);box-shadow:0 0 35px 22px color-mix(in srgb,var(--story-paper) 44%,transparent);opacity:.93}
.scenic-role-closing .scenic-veil{background:linear-gradient(var(--story-paper),color-mix(in srgb,var(--story-paper) 90%,transparent) 45%,color-mix(in srgb,var(--story-paper) 74%,transparent))}
.scenic-role-countdown .scenic-camera img{object-position:50% 70%}
.scenic-role-schedule .scenic-camera img{object-position:25% 50%}
.scenic-rule{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);stroke:var(--story-accent);stroke-width:.7;opacity:.6}
.scenic-role-hero .scenic-rule{opacity:.35}
.scenic-trace{stroke:#fff0bc;stroke-width:1.4;stroke-dasharray:5 95;animation:scenic-trace 18s linear infinite;animation-play-state:paused}
.scenic-rays{position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 25%,#fff9de00 36%,#fff9de57 40%,#fff9de00 44%,transparent 55%);mix-blend-mode:soft-light;animation:scenic-light 19s ease-in-out infinite alternate;animation-play-state:paused;opacity:.55}
.scenic-haze{position:absolute;left:-30%;bottom:-12%;width:150%;height:43%;background:radial-gradient(ellipse,#fff8e827,transparent 68%);animation:scenic-mist 22s ease-in-out infinite alternate;animation-play-state:paused}
.scenic-motes{position:absolute;inset:0}
.scenic-motes i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#fff7c5;box-shadow:0 0 5px #fff0b5;animation:scenic-mote 9s var(--delay) ease-in-out infinite;animation-play-state:paused}
.scenic-petal .scenic-motes i{width:7px;height:10px;border-radius:80% 0 80% 0;background:color-mix(in srgb,var(--story-wash) 65%,#fff);box-shadow:none}
.scenic-snow .scenic-motes i{background:white;width:4px;height:4px}
.scenic-candle .scenic-rays{opacity:.8;background:radial-gradient(ellipse at 70% 20%,#ffddaa66,transparent 55%)}
.scenic-firefly .scenic-motes i{box-shadow:0 0 8px 2px #ffe58980}
.scenic-ripples{display:none;position:absolute;inset:70% 0 0;overflow:hidden;opacity:.3}
.scenic-water .scenic-ripples{display:block}
.scenic-ripples i{position:absolute;left:32%;top:20%;width:36%;height:20%;border:1px solid #fff8dc;border-radius:50%;animation:scenic-ripple 7s ease-out infinite;animation-play-state:paused}
.scenic-ripples i:nth-child(2){animation-delay:-2.3s}.scenic-ripples i:nth-child(3){animation-delay:-4.6s}
.cinema-visible .scenic-camera img,.cinema-visible .scenic-rays,.cinema-visible .scenic-haze,.cinema-visible .scenic-motes i,.cinema-visible .scenic-ripples i,.cinema-visible .scenic-trace{animation-play-state:running}
.scenic-story .cinema-scene:not(.cinema-entered) .scenic-rule{opacity:0}
.scenic-story .cinema-entered .scenic-rule{transition:opacity 1.8s}
.scenic-story .story-touched .scenic-rays{opacity:1;transition:opacity .6s}
.locked .scenic-story *,.guest-sheet-open .scenic-atmosphere *{animation-play-state:paused!important}
.scenic-card .dock{background:color-mix(in srgb,var(--story-paper) 96%,white);box-shadow:0 -4px 24px #0001,0 8px 24px #0002}
@keyframes scenic-dolly{from{transform:scale(1.015) translate3d(-.5%,0,0)}to{transform:scale(1.07) translate3d(.6%,-.5%,0)}}
@keyframes scenic-light{from{transform:translate3d(-8%,0,0);opacity:.25}to{transform:translate3d(9%,3%,0);opacity:.8}}
@keyframes scenic-mist{from{transform:translate3d(-5%,0,0)}to{transform:translate3d(10%,-4%,0)}}
@keyframes scenic-mote{0%,100%{opacity:0;transform:translate3d(0,18px,0) scale(.7)}35%{opacity:.7}80%{opacity:.2;transform:translate3d(var(--drift),-40px,0) scale(1)}}
@keyframes scenic-ripple{from{transform:scale(.5);opacity:0}15%{opacity:.8}to{transform:scale(3.5);opacity:0}}
@keyframes scenic-trace{to{stroke-dashoffset:-100}}
@media(max-width:360px){.scenic-story>.hero{padding:125px 10% 135px!important}.scenic-story>.hero>.eyebrow{font-size:10px}.scenic-story>.hero>.hero-date{font-size:12px}}
@media(max-height:700px){.scenic-story>.hero{padding:95px 11% 120px!important}.scenic-story>.hero>.names{font-size:47px}.scenic-story>.hero .amp{margin:0}}
@container(max-height:600px){.scenic-collection-label,.scenic-cover-caption{display:none}.scenic-card .scenic-skip{min-height:36px;padding:8px 16px}}
@media(prefers-reduced-motion:reduce){.scenic-atmosphere *{animation:none!important;transition:none!important}.scenic-camera{translate:none}.scenic-motes,.scenic-rays,.scenic-ripples{display:none}}
html[data-motion='reduce'] .scenic-atmosphere *{animation:none!important;transition:none!important}

.scenic-story>.hero:not(.cinema-scene)>.artwork{display:block!important}.scenic-story>.hero:not(.cinema-scene) .design-art{opacity:1}

/* One continuous reading canvas between the hero and the closing scene. */
.scenic-flow{position:relative;isolation:isolate;background:var(--story-paper)}
.scenic-flow-backdrop{position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0;pointer-events:none;overflow:hidden}
.scenic-flow:after{content:"";position:absolute;inset:30px 20px 36px;border:1px solid color-mix(in srgb,var(--story-accent) 48%,transparent);border-radius:180px 180px 140px 140px / 100px 100px 90px 90px;z-index:1;pointer-events:none}
.scenic-flow>.scenic-flow-backdrop .scenic-rule{display:none}
.scenic-role-flow .scenic-veil{background:linear-gradient(90deg,color-mix(in srgb,var(--story-paper) 79%,transparent),color-mix(in srgb,var(--story-paper) 93%,transparent) 25%,color-mix(in srgb,var(--story-paper) 93%,transparent) 75%,color-mix(in srgb,var(--story-paper) 79%,transparent))}
.scenic-flow>section{position:relative;z-index:2;isolation:isolate;margin:0;padding:36px 10%;background:transparent;overflow:visible;opacity:1;transform:none}
.scenic-flow>section:first-of-type{padding-top:86px}
.scenic-flow>section:last-of-type{padding-bottom:86px}
.scenic-flow>.cinema-scene>.cinema-item{position:relative;z-index:1}
.scenic-flow .couple-full{margin-bottom:0}
.scenic-flow .live-date-label{margin-bottom:20px}
@media(max-width:360px){.scenic-flow:after{inset-inline:14px}.scenic-flow>section{padding-inline:8%}.scenic-flow .rsvp-paper{padding-inline:14px}.scenic-flow .sched{padding-inline:10px}}
