.has-video-opening .journey-cover{display:none!important}
.has-video-opening body.video-opening-locked{overflow:hidden!important}
.invitation-video-opening{position:fixed;inset:0;z-index:1000;width:100%;height:100%;background:#fcf7ef;overflow:hidden;opacity:1;transition:opacity .45s ease}
.invitation-video-opening video{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;background:#fcf7ef}
.invitation-video-stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;--opening-aspect:.5625}
@media(min-width:981px){
  .invitation-video-stage{inset:auto;left:50%;top:50%;width:min(100vw,calc(100vh * var(--opening-aspect)));height:min(100vh,calc(100vw / var(--opening-aspect)));width:min(100vw,calc(100dvh * var(--opening-aspect)));height:min(100dvh,calc(100vw / var(--opening-aspect)));transform:translate(-50%,-50%);container-type:inline-size}
  .invitation-video-stage>video{object-fit:contain}
}
.invitation-video-opening.is-finished{opacity:0;pointer-events:none}
.invitation-video-opening[hidden]{display:none}
.invitation-video-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8vh 8%;text-align:center;color:#67554b;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease;text-shadow:0 1px 5px #fffaf2,0 0 16px #fffaf2aa}
.invitation-video-copy.is-visible{opacity:1;transform:translateY(0)}
.invitation-video-people{display:flex;flex-direction:column;align-items:center;width:100%}
.invitation-video-anniversary{margin:0 0 24px;color:#a98443;font:400 clamp(23px,6vw,40px)/1.2 Editorial,Georgia,serif;letter-spacing:.04em}
.invitation-video-opening-golden .invitation-video-people{opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease}
.invitation-video-opening-golden .invitation-video-people.is-visible{opacity:1;transform:translateY(0)}
.invitation-video-copy h1{display:flex;flex-direction:column;align-items:center;width:100%;max-width:680px;margin:0;font:400 clamp(32px,9vw,72px)/1.12 Editorial,Georgia,serif;letter-spacing:.015em}
.invitation-video-copy h1>span{display:block;max-width:100%;overflow-wrap:anywhere;text-wrap:balance}
.invitation-video-copy h1>em{display:block;margin:.24em 0;font:italic .5em/1.1 Editorial,Georgia,serif;color:#a18457}
.invitation-video-copy [hidden]{display:none!important}
.invitation-video-date{margin:28px 0 0;font:400 clamp(13px,3.5vw,20px)/1.5 Georgia,serif;letter-spacing:.1em}
.invitation-video-opening-golden .invitation-video-copy{color:#785a2b}
.invitation-video-opening-golden .invitation-video-copy h1>em{color:#a98443}
.invitation-video-play{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:transparent;color:#67554b;cursor:pointer}
.invitation-video-play span{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #a18457;border-radius:30px;background:#fcf7efee;white-space:nowrap}
.invitation-video-play:focus-visible{outline:3px solid #a18457;outline-offset:-6px}
@media(prefers-reduced-motion:reduce){.invitation-video-opening{transition:none}}
html.has-framed-invitation,html.has-framed-invitation body{width:100%;height:100%;overflow:hidden!important}
.invitation-video-opening[data-framed-invitation]{background:#e8dfd1}
.moonlit-video-stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#e8dfd1}
.moonlit-video-stage::before{content:"";position:absolute;inset:-24px;z-index:0;background-image:var(--moonlit-poster);background-size:cover;background-position:center;filter:blur(20px);opacity:.72;transform:scale(1.05)}
.moonlit-video-window{position:absolute;left:50%;top:50%;width:min(100vw,56.2963vh);height:100%;transform:translate(-50%,-50%);overflow:hidden;isolation:isolate;container-type:inline-size;box-shadow:0 0 48px #402c2140}
.moonlit-video-window>.invitation-video-copy{position:absolute;inset:0;z-index:2;display:block;padding:0;opacity:1;transform:none;color:#68513b;text-shadow:0 1px 5px #fffaf2,0 0 12px #fffaf2aa}
.moonlit-video-window>.invitation-video-copy .invitation-video-people,.moonlit-video-window>.invitation-video-copy .garden-vows-invited{position:absolute;left:18%;top:43%;width:64%;height:25%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0;padding:5%;text-align:center}
.moonlit-video-window>.invitation-video-copy .garden-vows-invited{top:calc(43% - 5.4em);font:400 clamp(16px,5cqw,30px)/1.35 Editorial,Georgia,serif;letter-spacing:.1em;text-transform:uppercase}
.moonlit-video-window>.invitation-video-copy .garden-vows-invited>em{margin:2px 0;font:italic clamp(21px,7cqw,39px)/1.15 Editorial,Georgia,serif;letter-spacing:0;text-transform:none;color:#a18465}
.moonlit-video-window>.invitation-video-copy .invitation-video-people h1{font-size:clamp(18px,6cqw,34px);line-height:1.05}
.moonlit-video-window>.invitation-video-copy .garden-vows-people h1{font-family:Editorial,Georgia,serif;font-size:clamp(26px,8.6cqw,38px);font-weight:400;letter-spacing:.5px;line-height:1.03}
.moonlit-video-window>.invitation-video-copy .invitation-video-people h1>em{font-size:.5em}
.moonlit-video-window>.invitation-video-copy .invitation-video-date{margin-top:9px;font-size:clamp(9px,2.7cqw,15px);letter-spacing:.04em}
.moonlit-video-window>video,.moonlit-video-window>.moonlit-frozen-scene{position:absolute;top:0;left:50%;width:auto;max-width:none!important;height:100%;transform:translateX(-50%);object-fit:contain}
.moonlit-frozen-scene{display:none}
.is-framed-finished .moonlit-frozen-scene{display:block}
.is-framed-finished .moonlit-video-window>video{visibility:hidden}
.moonlit-frame-scroll{position:absolute;inset:13.5% 9.5% 17%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#92774766 transparent;opacity:0;pointer-events:none;color:#574333;container-type:inline-size;scroll-behavior:smooth}
.is-framed-finished .moonlit-frame-scroll{opacity:1;pointer-events:auto;transition:opacity .8s ease}
.moonlit-frame-scroll .invitation-video-copy{position:relative;inset:auto;padding:28px 10px 24px;opacity:1;transform:none;text-shadow:none;color:#574333}
.moonlit-frame-scroll .invitation-video-copy h1{font-size:clamp(22px,11cqw,48px)}
.moonlit-frame-scroll .invitation-video-date{font-size:clamp(11px,4cqw,17px);margin-top:18px}
.has-framed-invitation .sample-bar{display:none!important}
.moonlit-frame-scroll #main,.moonlit-frame-scroll .journey-shell{position:relative!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.moonlit-frame-scroll .journey-section,.moonlit-frame-scroll .journey-countdown,.moonlit-frame-scroll .journey-footer{padding:28px 10px!important;background:transparent!important;min-width:0!important;color:#574333}
.moonlit-frame-scroll .journey-nav{display:flex!important;flex-wrap:wrap;gap:8px;padding:10px 4px;background:#f4e7d9e8;position:sticky;top:0;font-size:10px;justify-content:center}
.moonlit-frame-scroll :is(.story-layout,.guide-grid,.wishes-layout,.journey-countdown,.form-pair){display:grid;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
.moonlit-frame-scroll *{min-width:0;box-sizing:border-box}
.moonlit-frame-scroll img,.moonlit-frame-scroll svg{max-width:100%}
.moonlit-frame-scroll .journey-section-head h2,.moonlit-frame-scroll .journey-footer h2{font-size:clamp(22px,9cqw,36px)}
.moonlit-frame-scroll .welcome-letter{font-size:clamp(14px,5cqw,19px);line-height:1.75}
.moonlit-frame-scroll .journey-kicker{font-size:9px;letter-spacing:.1em}
.moonlit-frame-scroll :is(input,textarea,select,button){max-width:100%}
.moonlit-frame-scroll .journey-shell.cloud{--ink:#574333!important;--paper:#f3e7d9!important;--accent:#a18465!important;--card:#efe0cf;--soft:#ead8c3;--caption:#806b56;--rule:#c9b29988}
.moonlit-frame-scroll .journey-shell.cloud :is(.journey-event,.guide-grid article,.wishes-layout>.journey-form,.wish-card){background:#efe0cf;border-color:#c9b29988;color:#574333}
.moonlit-frame-scroll .journey-shell.cloud .event-date{background:#ead8c3;border-color:#c9b29988;color:#574333}
.moonlit-frame-scroll .journey-shell.cloud :is(input,select,textarea){background:#f8efe3;color:#574333;border-color:#c9b299}
.moonlit-frame-scroll .journey-shell.cloud .response-summary{background:#ead8c3;color:#574333}
.invitation-video-play[hidden]{display:none}
.invitation-video-opening-salt .invitation-video-copy{inset:8% 8% 52%;padding:0;color:#225e68;text-shadow:0 1px 8px #fffaf2;transform:none;transition:opacity .8s ease-in-out}
.invitation-video-opening-salt .invitation-video-copy>div,.invitation-video-opening-salt .salt-silk-married{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;width:100%;opacity:0;transform:none;transition:opacity .8s ease-in-out}
.invitation-video-opening-salt .invitation-video-copy[data-phase="invite"] .salt-silk-invited,.invitation-video-opening-salt .invitation-video-copy[data-phase="married"] .salt-silk-married,.invitation-video-opening-salt .invitation-video-copy[data-phase="names"] .invitation-video-people,.invitation-video-opening-salt .invitation-video-copy[data-phase="date"] .salt-silk-save-date{opacity:1;transform:translateY(0)}
.salt-silk-invited>span{font:400 clamp(17px,5.5vw,30px)/1.8 Georgia,serif;letter-spacing:.18em}
.salt-silk-invited>em{font:italic clamp(32px,10vw,58px)/1.2 Editorial,Georgia,serif}
.invitation-video-opening-salt .salt-silk-married{font:400 clamp(19px,6vw,32px)/1.65 Georgia,serif;letter-spacing:.14em;text-wrap:balance;padding:0 6%}
.invitation-video-opening-salt .invitation-video-people>.salt-silk-married{position:static;inset:auto;display:block;opacity:1;transform:none;width:100%;margin:0 0 clamp(18px,5vw,30px);padding:0;font-size:clamp(13px,3.8vw,21px);line-height:1.7}
.invitation-video-opening-salt .invitation-video-copy h1{color:#225e68;font-size:clamp(30px,10vw,64px)}
.invitation-video-opening-salt .invitation-video-copy h1>em{color:#ac7c54}
.salt-silk-save-date>p:first-child{margin:0;font:italic clamp(25px,8vw,46px)/1.3 Editorial,Georgia,serif;color:#225e68}
.salt-silk-save-date .invitation-video-date{margin-top:20px;font-size:clamp(14px,4.5vw,23px);color:#225e68}
@media(min-width:981px){
  .invitation-video-stage .invitation-video-copy h1{font-size:clamp(32px,9cqw,72px)}
  .invitation-video-stage .invitation-video-anniversary{font-size:clamp(23px,6cqw,40px)}
  .invitation-video-stage .invitation-video-date{font-size:clamp(13px,3.5cqw,20px)}
  .invitation-video-opening-salt .invitation-video-stage .invitation-video-copy h1{font-size:clamp(30px,10cqw,64px)}
  .invitation-video-stage .salt-silk-invited>span{font-size:clamp(17px,5.5cqw,30px)}
  .invitation-video-stage .salt-silk-invited>em{font-size:clamp(32px,10cqw,58px)}
  .invitation-video-stage .invitation-video-people>.salt-silk-married{font-size:clamp(13px,3.8cqw,21px)}
  .invitation-video-stage .salt-silk-save-date>p:first-child{font-size:clamp(25px,8cqw,46px)}
}
