/* ============================================================
   12.6.9 — UNIFIED POST-RSVP PAPER FINALE
   No finale photography. RSVP, closing words and end title remain in the
   invitation's ivory / charcoal / muted-gold language, then hand cleanly
   into the dark webXCode credit section.
   ============================================================ */

/* RSVP exits into the same paper world — never into the old photograph. */
.rsvp-section,
.rsvp-section:not(.has-answer),
.rsvp-stage,
.rsvp-section:not(.has-answer) .rsvp-stage{
  background:#fbf8f2!important;
}
.rsvp-stage::after{
  background:
    radial-gradient(circle at 70% 28%,rgba(177,143,94,.10),transparent 31%),
    linear-gradient(180deg,#fbf8f2,#f8f3eb)!important;
}
.rsvp-stage::before{background:linear-gradient(180deg,transparent,rgba(142,111,70,.035))!important}
.rsvp-to-finale{background:#fbf8f2!important}
.rsvp-to-finale-image{display:none!important;background:none!important}

/* One continuous stationery finale. */
.finale-sequence{
  height:205vh!important;
  margin:0!important;
  background:#fbf8f2!important;
}
.finale-stage{
  position:sticky!important;
  top:0!important;
  height:100svh!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  isolation:isolate!important;
  color:#302b26!important;
  background:
    radial-gradient(circle at 72% 27%,rgba(190,156,108,.105),transparent 29%),
    radial-gradient(circle at 23% 82%,rgba(190,156,108,.05),transparent 27%),
    linear-gradient(180deg,#fcf9f4 0%,#faf6ef 100%)!important;
}
.finale-stage::before{
  content:"";position:absolute;z-index:0;inset:24px;pointer-events:none;
  border:1px solid rgba(133,104,66,.13);
}
.finale-stage::after{
  content:"";position:absolute;z-index:0;left:7vw;right:7vw;top:50%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(145,111,67,.10) 22%,rgba(145,111,67,.10) 78%,transparent);
}

/* Completely remove the legacy cinematic/photo treatment. */
.finale-photo,.finale-shade,.finale-light-sweep,.finale-letterbox,.finale-opening-curtain,
.rsvp-finale-portal,.finale-red-thread{display:none!important}

.finale-paper-orbit{
  position:absolute;z-index:1;left:50%;top:50%;width:min(58vw,760px);aspect-ratio:1;border-radius:50%;
  transform:translate3d(calc(-50% + var(--final-orbit-x,26px)),calc(-50% + var(--final-orbit-y,-16px)),0);
  border:1px solid rgba(161,126,78,.10);
  box-shadow:0 0 0 8vw rgba(187,151,100,.018),0 0 0 17vw rgba(187,151,100,.010);
  pointer-events:none;will-change:transform;
}

/* Beat 1 — "From this moment". */
.finale-opening-copy{
  position:absolute!important;z-index:5!important;left:50%!important;top:50%!important;
  width:min(920px,84vw)!important;text-align:center!important;color:#302b26!important;
  opacity:var(--final-open-copy-o,0)!important;
  transform:translate3d(calc(-50% + var(--final-open-copy-x,0px)),calc(-50% + var(--final-open-copy-y,20px)),0)!important;
  will-change:transform,opacity!important;
}
.finale-opening-copy::before{
  content:"";display:block;width:72px;height:1px;margin:0 auto 24px;
  background:linear-gradient(90deg,transparent,#a8885c,transparent);opacity:.72;
}
.finale-opening-copy span{
  display:block!important;margin-bottom:1rem!important;
  font:600 .66rem/1 var(--sans)!important;letter-spacing:.26em!important;color:#9a7a50!important;
}
.finale-opening-copy strong{
  display:block!important;font:500 clamp(4.6rem,8.2vw,9.2rem)/.79 var(--serif)!important;
  letter-spacing:-.052em!important;color:#312b26!important;
}
.finale-opening-copy strong em{font-weight:400!important;color:#a88659!important;font-style:italic!important}
.finale-opening-copy small{
  display:block!important;margin-top:1.7rem!important;font:600 .60rem/1 var(--sans)!important;
  letter-spacing:.22em!important;color:#7f6b53!important;
}

/* Beat 2 — thank-you message. */
.finale-copy{
  position:absolute!important;z-index:6!important;left:50%!important;top:50%!important;bottom:auto!important;
  width:min(1000px,84vw)!important;text-align:center!important;
  opacity:var(--final-copy-o,0)!important;
  transform:translate3d(calc(-50% + var(--final-copy-x,0px)),calc(-50% + var(--final-copy-y,24px)),0)!important;
  will-change:transform,opacity!important;
}
.finale-copy>span{
  display:block!important;color:#96754c!important;font-size:.64rem!important;letter-spacing:.27em!important;
  opacity:var(--final-kicker-o,0)!important;transform:translate3d(0,var(--final-kicker-y,12px),0)!important;
}
.finale-copy h2{
  max-width:none!important;margin:1.1rem auto 1.55rem!important;
  font:500 clamp(4.2rem,7.2vw,8.1rem)/.80 var(--serif)!important;letter-spacing:-.052em!important;color:#312c27!important;
}
.finale-copy h2 span,.finale-copy h2 em{display:block!important;will-change:opacity,transform!important}
.finale-copy h2 span{color:#312c27!important}
.finale-copy h2 em{color:#a7865a!important;font-weight:400!important}
.finale-copy p{
  max-width:590px!important;margin:0 auto!important;font:400 clamp(.98rem,1.15vw,1.15rem)/1.72 var(--sans)!important;
  color:#6f665d!important;
}
.finale-copy strong{
  display:block!important;margin-top:1.55rem!important;font:400 clamp(1.8rem,2.6vw,2.7rem)/1 var(--serif)!important;
  font-style:italic!important;color:#7f6545!important;
}

.finale-date-mark{
  z-index:7!important;right:3.8vw!important;top:50%!important;
  color:#8e704b!important;font-size:.54rem!important;letter-spacing:.28em!important;
  opacity:var(--final-date-o,0)!important;
  transform:translate3d(var(--final-date-x,14px),-50%,0)!important;
}
.finale-credit-cue{display:none!important}

/* Beat 3 — quiet end title before the dark brand credit takes over. */
.finale-end-title{
  position:absolute!important;z-index:8!important;left:50%!important;top:50%!important;width:min(900px,88vw)!important;
  text-align:center!important;color:#312b26!important;opacity:var(--final-end-o,0)!important;
  transform:translate3d(calc(-50% + var(--final-end-x,0px)),calc(-50% + var(--final-end-y,18px)),0)!important;
  will-change:transform,opacity!important;
}
.finale-end-title::before{
  content:"";display:block;width:min(150px,var(--final-end-rule,0%));height:1px;margin:0 auto 25px;
  background:#aa895c;opacity:.72;
}
.finale-end-title span{display:block!important;margin-bottom:1rem!important;font-size:.62rem!important;letter-spacing:.28em!important;color:#92734d!important}
.finale-end-title strong{display:block!important;font:400 clamp(4.3rem,7.6vw,8.4rem)/.83 var(--serif)!important;letter-spacing:-.05em!important;font-style:italic!important;color:#342e29!important}

/* The black brand world rises only after the wedding message has finished. */
.finale-creator-wipe{
  position:absolute;z-index:20;left:-1px;right:-1px;bottom:-1px;height:15svh;
  background:#0a0a0a;
  transform:translate3d(0,var(--final-creator-y,102%),0);
  transform-origin:center bottom;will-change:transform;pointer-events:none;
}
.finale-creator-wipe::after{
  content:"";position:absolute;left:0;right:0;top:-54px;height:55px;
  background:linear-gradient(180deg,transparent,rgba(10,10,10,.18) 60%,#0a0a0a);
  pointer-events:none;
}
.creator.creator-webx{
  margin-top:0!important;border-top:0!important;
}
.creator.creator-webx::after{display:none!important}

/* Desktop/tablet composition stays spacious without becoming slow. */
@media(max-width:900px) and (min-width:681px){
  .finale-sequence{height:195vh!important}
  .finale-opening-copy strong{font-size:clamp(4.3rem,10vw,7.2rem)!important}
  .finale-copy h2{font-size:clamp(4rem,9vw,6.8rem)!important}
}

/* Mobile: same beats, shorter travel and controlled type sizes. */
@media(max-width:680px){
  .finale-sequence{height:185svh!important;background:#fbf8f2!important}
  .finale-stage{height:100svh!important;background:
    radial-gradient(circle at 72% 30%,rgba(190,156,108,.10),transparent 30%),
    linear-gradient(180deg,#fcf9f4,#faf6ef)!important}
  .finale-stage::before{inset:12px!important}
  .finale-stage::after{left:22px!important;right:22px!important}
  .finale-paper-orbit{width:86vw!important;opacity:.72}
  .finale-opening-copy{width:calc(100vw - 44px)!important}
  .finale-opening-copy::before{margin-bottom:18px}
  .finale-opening-copy span{font-size:.57rem!important;letter-spacing:.21em!important}
  .finale-opening-copy strong{font-size:clamp(3.6rem,14.3vw,5.7rem)!important;line-height:.80!important}
  .finale-opening-copy small{font-size:.53rem!important;letter-spacing:.17em!important;margin-top:1.35rem!important}
  .finale-copy{width:calc(100vw - 44px)!important}
  .finale-copy>span{font-size:.56rem!important;letter-spacing:.20em!important}
  .finale-copy h2{font-size:clamp(3.45rem,13.2vw,5.25rem)!important;line-height:.81!important;margin:1rem 0 1.15rem!important}
  .finale-copy p{max-width:92%!important;font-size:.92rem!important;line-height:1.6!important;padding:0!important}
  .finale-copy strong{font-size:1.75rem!important;margin-top:1.3rem!important}
  .finale-date-mark{
    top:28px!important;right:22px!important;writing-mode:horizontal-tb!important;
    transform:translate3d(var(--final-date-x,14px),0,0)!important;font-size:.48rem!important;letter-spacing:.20em!important;
  }
  .finale-end-title{width:calc(100vw - 44px)!important}
  .finale-end-title::before{margin-bottom:19px}
  .finale-end-title span{font-size:.54rem!important;letter-spacing:.21em!important}
  .finale-end-title strong{font-size:clamp(3.6rem,13.8vw,5.5rem)!important;line-height:.84!important}
}

@media(max-width:430px){
  .finale-sequence{height:180svh!important}
  .finale-opening-copy strong{font-size:13.8vw!important}
  .finale-copy h2{font-size:12.8vw!important}
  .finale-end-title strong{font-size:13.2vw!important}
}

@media(prefers-reduced-motion:reduce){
  .finale-sequence{height:auto!important}
  .finale-stage{position:relative!important;height:auto!important;min-height:100svh!important;display:grid!important;place-items:center!important;padding:96px 24px!important}
  .finale-opening-copy,.finale-end-title,.finale-creator-wipe,.finale-paper-orbit,.finale-date-mark{display:none!important}
  .finale-copy{position:relative!important;left:auto!important;top:auto!important;width:min(760px,100%)!important;opacity:1!important;transform:none!important}
  .finale-copy>span,.finale-copy h2 span,.finale-copy h2 em,.finale-copy p,.finale-copy strong{opacity:1!important;transform:none!important}
}


/* ============================================================
   12.7.0 — EXPRESSIVE EDITORIAL FINALE
   More visual theatre without photography: masked typography, moving
   gold accents, ghost type, parallax lines and a stronger final handoff.
   ============================================================ */
.finale-stage{perspective:1400px!important}
.finale-atmosphere{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.finale-ghost-word{position:absolute;white-space:nowrap;font:500 clamp(8rem,19vw,22rem)/.72 var(--serif);letter-spacing:-.07em;color:#a8875a;opacity:var(--final-ghost-o,0);will-change:transform,opacity}
.finale-ghost-a{left:-4vw;bottom:-2vw;transform:translate3d(var(--final-ghost-a-x,-80px),var(--final-ghost-a-y,35px),0) scale(var(--final-ghost-a-s,.94));opacity:var(--final-ghost-a-o,0)}
.finale-ghost-b{right:-3vw;top:6vh;font-size:clamp(6rem,14vw,16rem);transform:translate3d(var(--final-ghost-b-x,70px),var(--final-ghost-b-y,-20px),0) scale(var(--final-ghost-b-s,.96));opacity:var(--final-ghost-b-o,0)}
.finale-gold-sweep{position:absolute;left:-36vw;top:50%;width:32vw;height:145vh;transform:translate3d(var(--final-sweep-x,-25vw),-50%,0) rotate(13deg);background:linear-gradient(90deg,transparent,rgba(183,146,93,.11),rgba(255,255,255,.22),rgba(183,146,93,.08),transparent);filter:blur(12px);opacity:var(--final-sweep-o,0);will-change:transform,opacity}
.finale-fine-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(159,122,74,.28),transparent);transform-origin:left center;opacity:var(--final-lines-o,0)}
.finale-fine-line-a{left:6vw;right:52vw;top:22vh;transform:scaleX(var(--final-line-a-s,0)) translateX(var(--final-line-a-x,0px))}
.finale-fine-line-b{left:52vw;right:6vw;bottom:20vh;transform-origin:right center;transform:scaleX(var(--final-line-b-s,0)) translateX(var(--final-line-b-x,0px))}

.finale-paper-orbit{width:min(54vw,720px)!important;transform:translate3d(calc(-50% + var(--final-orbit-x,26px)),calc(-50% + var(--final-orbit-y,-16px)),0) rotate(var(--final-orbit-r,0deg)) scale(var(--final-orbit-s,.92))!important;opacity:var(--final-orbit-o,.75)!important;transition:none!important}
.finale-paper-orbit::before,.finale-paper-orbit::after,.finale-paper-orbit i,.finale-paper-orbit b{content:"";position:absolute;border-radius:50%;pointer-events:none}
.finale-paper-orbit::before{inset:9%;border:1px solid rgba(161,126,78,.09)}
.finale-paper-orbit::after{inset:22%;border:1px dashed rgba(161,126,78,.08)}
.finale-paper-orbit i{inset:-8%;border:1px solid rgba(161,126,78,.045)}
.finale-paper-orbit b{width:7px;height:7px;left:12%;top:19%;background:#aa8759;box-shadow:0 0 0 6px rgba(170,135,89,.07);opacity:var(--final-orbit-dot-o,0)}

.finale-side-index{position:absolute;z-index:8;left:3.3vw;top:50%;transform:translate3d(var(--final-index-x,-18px),-50%,0);display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;opacity:var(--final-index-o,0);color:#8f704a;font:600 .48rem/1 var(--sans);letter-spacing:.27em}
.finale-side-index i{display:block;width:1px;height:52px;background:linear-gradient(transparent,#a88354,transparent)}

.finale-opening-copy{transform:translate3d(calc(-50% + var(--final-open-copy-x,0px)),calc(-50% + var(--final-open-copy-y,20px)),var(--final-open-z,0px)) rotate(var(--final-open-r,0deg)) scale(var(--final-open-s,.96))!important}
.finale-opening-copy::before{width:var(--final-open-rule,0px)!important;max-width:110px!important;transition:none!important}
.finale-opening-copy>span{opacity:var(--final-open-kicker-o,0)!important;transform:translateY(var(--final-open-kicker-y,12px))!important}
.finale-opening-copy strong{overflow:visible!important}
.finale-opening-copy strong b,.finale-opening-copy strong em{display:block!important;overflow:hidden!important;clip-path:inset(var(--final-open-mask,100%) 0 0 0);transform:translate3d(var(--final-open-line-x,0px),var(--final-open-line-y,34px),0);opacity:var(--final-open-line-o,0);will-change:clip-path,transform,opacity}
.finale-opening-copy strong b{font:inherit!important;font-weight:500!important;color:#312b26!important}
.finale-opening-copy strong em{transform:translate3d(var(--final-open-line-x2,0px),var(--final-open-line-y2,38px),0)}
.finale-opening-copy small{opacity:var(--final-open-date-o,0)!important;transform:translateY(var(--final-open-date-y,10px))!important}

.finale-copy{transform:translate3d(calc(-50% + var(--final-copy-x,0px)),calc(-50% + var(--final-copy-y,24px)),var(--final-copy-z,0px)) rotate(var(--final-copy-r,0deg)) scale(var(--final-copy-s,.97))!important}
.finale-copy h2{position:relative!important}
.finale-copy h2::after{content:"";display:block;width:var(--final-main-rule,0%);max-width:190px;height:1px;margin:22px auto 0;background:linear-gradient(90deg,transparent,#aa895c,transparent);opacity:.78}
.finale-copy h2 span{transform:translate3d(var(--final-l1-x,-28px),var(--final-l1-y,28px),0) rotate(var(--final-l1-r,-.8deg))!important;clip-path:inset(var(--final-l1-mask,100%) 0 0 0)}
.finale-copy h2 em{transform:translate3d(var(--final-l2-x,28px),var(--final-l2-y,32px),0) rotate(var(--final-l2-r,.8deg))!important;clip-path:inset(var(--final-l2-mask,100%) 0 0 0)}
.finale-copy p{transform:translate3d(var(--final-body-x,0px),var(--final-body-y,16px),0)!important}
.finale-copy strong{transform:translate3d(var(--final-names-x,0px),var(--final-names-y,16px),0)!important}

.finale-end-title{transform:translate3d(calc(-50% + var(--final-end-x,0px)),calc(-50% + var(--final-end-y,18px)),0) rotate(var(--final-end-r,0deg)) scale(var(--final-end-s,.94))!important}
.finale-end-title::before{width:min(190px,var(--final-end-rule,0%))!important}
.finale-end-title strong{overflow:hidden!important}
.finale-end-title strong b,.finale-end-title strong em{display:inline-block!important;font:inherit!important;font-weight:400!important;font-style:italic!important;opacity:var(--final-end-word-o,0);transform:translate3d(0,var(--final-end-word-y,28px),0);clip-path:inset(var(--final-end-mask,100%) 0 0 0)}
.finale-end-title strong b{color:#342e29!important}
.finale-end-title strong em{color:#a7865a!important;transform:translate3d(0,var(--final-end-word-y2,32px),0)}
.finale-end-title small{display:block;margin-top:1.45rem;font:600 .50rem/1 var(--sans);letter-spacing:.28em;color:#94744e;opacity:var(--final-end-small-o,0);transform:translateY(var(--final-end-small-y,10px))}

/* Stronger, still elegant, connection into the webXCode section. */
.finale-creator-wipe::before{content:"";position:absolute;left:50%;top:-1px;width:0;height:1px;background:#a98557;transform:translateX(-50%);box-shadow:0 0 24px rgba(169,133,87,.55);animation:none}
.finale-stage.creator-arriving .finale-creator-wipe::before{width:100%;transition:width .5s ease}

@media(max-width:680px){
  .finale-ghost-a{font-size:28vw;left:-8vw;bottom:8vh}.finale-ghost-b{font-size:20vw;right:-9vw;top:12vh}
  .finale-gold-sweep{width:70vw;left:-82vw;filter:blur(16px)}
  .finale-fine-line-a{left:22px;right:52vw;top:18vh}.finale-fine-line-b{left:52vw;right:22px;bottom:16vh}
  .finale-side-index{display:none!important}
  .finale-paper-orbit{width:78vw!important}
  .finale-opening-copy strong b,.finale-opening-copy strong em{line-height:.82!important}
  .finale-copy h2::after{margin-top:17px}
  .finale-end-title small{font-size:.45rem;letter-spacing:.20em;margin-top:1.15rem}
}

@media(prefers-reduced-motion:reduce){
  .finale-atmosphere,.finale-side-index{display:none!important}
  .finale-opening-copy strong b,.finale-opening-copy strong em,.finale-end-title strong b,.finale-end-title strong em{clip-path:none!important;opacity:1!important;transform:none!important}
}


/* ============================================================
   12.7.1 — NO DEAD SPACE BEFORE WEBXCODE
   The finale now ends directly into the creator section. The dark
   transition is a shallow footer rise, never a full-screen blank stage.
   ============================================================ */
.finale-creator-wipe{
  inset:auto -1px -1px -1px!important;
  height:15svh!important;
  min-height:92px!important;
  max-height:150px!important;
}
.finale-stage.creator-arriving .finale-creator-wipe{pointer-events:none!important}
.creator.creator-webx{position:relative!important;margin-top:0!important}
@media(max-width:680px){
  .finale-creator-wipe{height:11svh!important;min-height:72px!important;max-height:104px!important}
}


/* ============================================================
   12.7.2 — TRUE FINALE -> WEBXCODE JOIN
   The real creator section overlaps the finale and rises into view while
   “Beautifully invited.” is still present. No placeholder black wipe.
   ============================================================ */
.finale-creator-wipe{display:none!important}

.creator.creator-webx{
  --creator-overlap:16svh;
  z-index:35!important;
  margin-top:calc(var(--creator-overlap) * -1)!important;
  min-height:116svh!important;
  padding-top:calc(var(--creator-overlap) + clamp(34px,4.6vw,72px))!important;
  box-shadow:0 -34px 90px rgba(10,10,10,.16)!important;
  transform:translateZ(0);
}
.creator.creator-webx::before{
  background-position:var(--creator-grid-x,0px) var(--creator-grid-y,0px)!important;
  opacity:var(--creator-grid-o,.48)!important;
}
.creator.creator-webx::after{
  display:block!important;
  height:2px!important;
  opacity:var(--creator-edge-o,.9)!important;
  transform-origin:left center;
  transform:scaleX(var(--creator-edge-s,0));
  background:linear-gradient(90deg,#E8000D 0 34%,rgba(232,0,13,.36) 60%,transparent 100%)!important;
  box-shadow:0 0 24px rgba(232,0,13,.22);
}
.creator-entry-edge{
  position:absolute;z-index:5;left:clamp(24px,5vw,84px);right:clamp(24px,5vw,84px);
  top:calc(var(--creator-overlap) - 34px);display:flex;align-items:center;gap:16px;
  color:rgba(255,255,255,.38);font:600 .58rem/1 var(--sans);letter-spacing:.22em;
  text-transform:uppercase;opacity:var(--creator-entry-o,0);
  transform:translate3d(0,var(--creator-entry-y,15px),0);pointer-events:none;
}
.creator-entry-edge span:last-child{color:#E8000D}
.creator-entry-edge i{height:1px;flex:1;max-width:180px;background:rgba(255,255,255,.20);transform-origin:left;transform:scaleX(var(--creator-entry-line,0))}
.creator-red-beam{
  position:absolute;z-index:-1;left:-18%;top:38%;width:62%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(232,0,13,.12),rgba(232,0,13,.72),rgba(232,0,13,.12),transparent);
  box-shadow:0 0 28px rgba(232,0,13,.22);opacity:var(--creator-beam-o,0);
  transform:translate3d(var(--creator-beam-x,-30vw),0,0) rotate(-7deg) scaleX(1.4);
}
.creator-topline{transform:translate3d(0,var(--creator-top-y,18px),0)!important;opacity:var(--creator-top-o,0)!important}
.creator-topline i{transform:scaleX(var(--creator-top-line-s,0))!important;box-shadow:0 0 14px rgba(232,0,13,.22)}

.creator.creator-webx .webx-brand-lockup{
  opacity:var(--creator-logo-o,0)!important;
  transform:translate3d(var(--creator-logo-x,-28px),var(--creator-logo-y,28px),0) rotate(var(--creator-logo-r,-.5deg)) scale(var(--creator-logo-s,.96))!important;
}
.webx-brand-image{position:relative;overflow:hidden}
.webx-brand-image img{
  clip-path:inset(0 var(--creator-logo-clip,100%) 0 0);
  filter:drop-shadow(0 10px 42px rgba(232,0,13,.16)) brightness(var(--creator-logo-bright,.82));
  will-change:clip-path,filter;
}
.webx-brand-image::after{
  content:"";position:absolute;z-index:3;top:-30%;bottom:-30%;width:16%;left:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),rgba(255,255,255,.30),rgba(232,0,13,.12),transparent);
  filter:blur(8px);opacity:var(--creator-shine-o,0);
  transform:translate3d(var(--creator-shine-x,-26vw),0,0) rotate(9deg);
}

.creator.creator-webx .creator-message{
  opacity:1!important;transform:none!important;
}
.creator-message .creator-eyebrow{
  opacity:var(--creator-eyebrow-o,0);transform:translate3d(var(--creator-eyebrow-x,20px),0,0);
}
.creator-message .creator-eyebrow::before{width:var(--creator-eyebrow-line,0px);transition:none!important}
.creator-message h2{overflow:visible}
.creator-message h2 span,.creator-message h2 em{
  display:block;will-change:transform,opacity,clip-path;
}
.creator-message h2 span{
  opacity:var(--creator-h1-o,0);transform:translate3d(var(--creator-h1-x,-30px),var(--creator-h1-y,22px),0) rotate(var(--creator-h1-r,-.5deg));
  clip-path:inset(var(--creator-h1-mask,100%) 0 0 0);
}
.creator-message h2 em{
  opacity:var(--creator-h2-o,0);transform:translate3d(var(--creator-h2-x,30px),var(--creator-h2-y,26px),0) rotate(var(--creator-h2-r,.5deg));
  clip-path:inset(var(--creator-h2-mask,100%) 0 0 0);
}
.creator-message p{
  opacity:var(--creator-body-o,0);transform:translate3d(0,var(--creator-body-y,22px),0);
}
.creator-actions{opacity:var(--creator-actions-o,0);transform:translate3d(0,var(--creator-actions-y,24px),0)}
.creator-primary{transform:translate3d(var(--creator-primary-x,-20px),0,0)!important}
.creator-secondary{transform:translate3d(var(--creator-secondary-x,20px),0,0)!important}
.creator-primary::after,.creator-secondary::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.18) 48%,transparent 70%);
  transform:translate3d(var(--creator-button-sweep,-120%),0,0);opacity:var(--creator-button-sweep-o,0);
}
.creator-primary,.creator-secondary{position:relative;overflow:hidden}
.creator-primary:hover{transform:translate3d(var(--creator-primary-x,0),-2px,0)!important}
.creator-secondary:hover{transform:translate3d(var(--creator-secondary-x,0),-2px,0)!important}

.creator-bottomline{
  opacity:var(--creator-bottom-o,0)!important;transform:translate3d(0,var(--creator-bottom-y,20px),0)!important;
  border-top:0!important;position:relative;
}
.creator-bottomline::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.12);
  transform-origin:left;transform:scaleX(var(--creator-bottom-line-s,0));
}
.creator-capabilities span{opacity:var(--creator-cap-o,0);transform:translate3d(0,var(--creator-cap-y,10px),0);display:inline-block}
.creator-capabilities span:nth-child(2){opacity:var(--creator-cap2-o,var(--creator-cap-o,0));transform:translate3d(0,var(--creator-cap2-y,var(--creator-cap-y,10px)),0)}
.creator-capabilities span:nth-child(3){opacity:var(--creator-cap3-o,var(--creator-cap-o,0));transform:translate3d(0,var(--creator-cap3-y,var(--creator-cap-y,10px)),0)}

.creator-x-outline{
  transform:translate3d(var(--creator-x-x,80px),calc(-50% + var(--creator-x-y,18px)),0) rotate(var(--creator-x-r,2.5deg)) scale(var(--creator-x-s,.96))!important;
  opacity:var(--creator-x-o,.08)!important;
  will-change:transform,opacity;
}
.creator-red-glow{
  transform:translate3d(var(--creator-glow-x,40px),var(--creator-glow-y,-16px),0) scale(var(--creator-glow-s,.88))!important;
  opacity:var(--creator-glow-o,.12)!important;will-change:transform,opacity;
}

/* Maintain an actual visual overlap with the ivory finale. */
.finale-sequence{position:relative;z-index:4!important}
.creator.creator-webx{position:relative!important}

@media(max-width:900px){
  .creator.creator-webx{--creator-overlap:13svh;min-height:113svh!important}
  .creator-entry-edge{top:calc(var(--creator-overlap) - 28px)}
}
@media(max-width:680px){
  .creator.creator-webx{
    --creator-overlap:10svh;min-height:110svh!important;
    padding-top:calc(var(--creator-overlap) + 30px)!important;
  }
  .creator-entry-edge{left:20px;right:20px;top:calc(var(--creator-overlap) - 24px);font-size:.48rem;letter-spacing:.15em;gap:10px}
  .creator-entry-edge i{max-width:70px}
  .creator-brand-stage{gap:4.8vh!important}
  .webx-brand-image::after{width:24%}
  .creator-actions{gap:9px!important}
  .creator-red-beam{width:95%;left:-42%;top:31%}
}
@media(prefers-reduced-motion:reduce){
  .creator.creator-webx{margin-top:0!important;min-height:100svh!important;padding-top:30px!important}
  .creator-entry-edge{display:none!important}
  .webx-brand-image img{clip-path:none!important;filter:none!important}
  .webx-brand-image::after,.creator-red-beam{display:none!important}
  .creator-message .creator-eyebrow,.creator-message h2 span,.creator-message h2 em,.creator-message p,.creator-actions,.creator-bottomline,.creator-capabilities span{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* ============================================================
   12.7.3 — FULL SCROLL-FLOAT WEBXCODE REVEAL
   Every visible layer has its own scroll-linked entrance. Desktop uses
   broader travel; mobile uses shorter, earlier-completing motion.
   ============================================================ */
.creator-message .creator-eyebrow{
  transform:translate3d(var(--creator-eyebrow-x,20px),var(--creator-eyebrow-y,12px),0)!important;
  will-change:transform,opacity;
}
.creator-message p{
  transform:translate3d(var(--creator-body-x,-14px),var(--creator-body-y,22px),0)!important;
  will-change:transform,opacity;
}
.creator-actions{
  opacity:1!important;
  transform:translate3d(0,var(--creator-actions-y,24px),0)!important;
  will-change:transform;
}
.creator-primary{
  opacity:var(--creator-primary-o,0)!important;
  transform:translate3d(var(--creator-primary-x,-24px),0,0)!important;
  will-change:transform,opacity;
}
.creator-secondary{
  opacity:var(--creator-secondary-o,0)!important;
  transform:translate3d(var(--creator-secondary-x,24px),0,0)!important;
  will-change:transform,opacity;
}
.creator-bottomline>span:last-child{
  opacity:var(--creator-site-o,0)!important;
  transform:translate3d(0,var(--creator-site-y,12px),0)!important;
  display:inline-block;
  will-change:transform,opacity;
}
.creator-topline,
.creator-webx .webx-brand-lockup,
.creator-message .creator-eyebrow,
.creator-message h2 span,
.creator-message h2 em,
.creator-message p,
.creator-primary,
.creator-secondary,
.creator-bottomline,
.creator-capabilities span,
.creator-bottomline>span:last-child{
  transition:none!important;
}

@media(min-width:681px){
  .creator.creator-webx{
    --creator-overlap:16svh;
    min-height:118svh!important;
  }
  .creator-brand-stage{align-items:center!important}
}

@media(max-width:680px){
  .creator.creator-webx{
    --creator-overlap:9svh!important;
    min-height:108svh!important;
    padding-top:calc(var(--creator-overlap) + 26px)!important;
  }
  .creator-topline{transform:translate3d(0,var(--creator-top-y,14px),0)!important}
  .creator.creator-webx .webx-brand-lockup{
    transform:translate3d(var(--creator-logo-x,-12px),var(--creator-logo-y,22px),0) rotate(var(--creator-logo-r,-.35deg)) scale(var(--creator-logo-s,.965))!important;
  }
  .creator-message h2 span{
    transform:translate3d(var(--creator-h1-x,-14px),var(--creator-h1-y,20px),0) rotate(var(--creator-h1-r,-.35deg))!important;
  }
  .creator-message h2 em{
    transform:translate3d(var(--creator-h2-x,14px),var(--creator-h2-y,22px),0) rotate(var(--creator-h2-r,.35deg))!important;
  }
  .creator-actions{transform:translate3d(0,var(--creator-actions-y,18px),0)!important}
  .creator-bottomline{transform:translate3d(0,var(--creator-bottom-y,14px),0)!important}
}

@media(prefers-reduced-motion:reduce){
  .creator-primary,.creator-secondary,.creator-bottomline>span:last-child{
    opacity:1!important;transform:none!important;
  }
}


/* ============================================================
   12.8.0 — EDITORIAL POST-RSVP REWORK
   A single ivory stationery chapter between RSVP and webXCode.
   Three scroll beats share the visual grammar used throughout the site:
   fine borders, editorial grid, restrained gold, oversized ghost type,
   masked serif reveals and a direct overlap into the creator section.
   ============================================================ */

/* Keep RSVP -> closing on the same paper surface. */
.rsvp-to-finale{display:none!important}
.finale-sequence{
  height:238svh!important;
  margin:0!important;
  background:#fbf8f2!important;
  position:relative!important;
}
.finale-stage{
  position:sticky!important;
  top:0!important;
  height:100svh!important;
  min-height:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  color:#302b26!important;
  background:
    radial-gradient(circle at 76% 24%,rgba(185,148,95,.10),transparent 26%),
    radial-gradient(circle at 20% 78%,rgba(185,148,95,.045),transparent 25%),
    linear-gradient(180deg,#fdfaf5 0%,#faf6ef 100%)!important;
  perspective:1400px!important;
}
.finale-stage::before{
  content:""!important;position:absolute!important;z-index:0!important;inset:24px!important;
  border:1px solid rgba(122,94,60,.14)!important;pointer-events:none!important;
  background:
    linear-gradient(90deg,transparent 33.333%,rgba(122,94,60,.075) 33.333%,rgba(122,94,60,.075) calc(33.333% + 1px),transparent calc(33.333% + 1px),transparent 66.666%,rgba(122,94,60,.075) 66.666%,rgba(122,94,60,.075) calc(66.666% + 1px),transparent calc(66.666% + 1px))!important;
}
.finale-stage::after{
  content:""!important;position:absolute!important;z-index:0!important;left:24px!important;right:24px!important;top:50%!important;height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(135,103,64,.08) 15%,rgba(135,103,64,.08) 85%,transparent)!important;
  pointer-events:none!important;
}

/* Retire all legacy photographic/curtain/wipe layers. */
.finale-photo,.finale-shade,.finale-light-sweep,.finale-letterbox,.finale-opening-curtain,
.rsvp-finale-portal,.finale-red-thread,.finale-credit-cue,.finale-creator-wipe{display:none!important}

/* Shared paper atmosphere. */
.finale-atmosphere{position:absolute!important;z-index:1!important;inset:0!important;overflow:hidden!important;pointer-events:none!important}
.finale-ghost-word{position:absolute!important;white-space:nowrap!important;font-family:var(--serif)!important;font-weight:500!important;line-height:.75!important;letter-spacing:-.065em!important;color:#9f7c4e!important;will-change:transform,opacity!important}
.finale-ghost-a{
  left:-3vw!important;bottom:-2vh!important;font-size:clamp(9rem,22vw,25rem)!important;
  opacity:var(--close-ghost-a-o,0)!important;
  transform:translate3d(var(--close-ghost-a-x,-80px),var(--close-ghost-a-y,30px),0) scale(var(--close-ghost-a-s,.95))!important;
}
.finale-ghost-b{
  right:-4vw!important;top:7vh!important;font-size:clamp(6rem,15vw,17rem)!important;
  opacity:var(--close-ghost-b-o,0)!important;
  transform:translate3d(var(--close-ghost-b-x,70px),var(--close-ghost-b-y,-20px),0) scale(var(--close-ghost-b-s,.96))!important;
}
.finale-gold-sweep{
  display:block!important;position:absolute!important;left:-34vw!important;top:50%!important;width:28vw!important;height:150vh!important;
  background:linear-gradient(90deg,transparent,rgba(181,143,89,.06),rgba(255,255,255,.36),rgba(181,143,89,.08),transparent)!important;
  filter:blur(13px)!important;opacity:var(--close-sweep-o,0)!important;
  transform:translate3d(var(--close-sweep-x,-40vw),-50%,0) rotate(12deg)!important;will-change:transform,opacity!important;
}
.finale-fine-line{display:block!important;position:absolute!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(159,122,74,.34),transparent)!important;opacity:var(--close-lines-o,0)!important;will-change:transform,opacity!important}
.finale-fine-line-a{left:7vw!important;right:55vw!important;top:20vh!important;transform-origin:left center!important;transform:scaleX(var(--close-line-a-s,0)) translateX(var(--close-line-a-x,0px))!important}
.finale-fine-line-b{left:55vw!important;right:7vw!important;bottom:18vh!important;transform-origin:right center!important;transform:scaleX(var(--close-line-b-s,0)) translateX(var(--close-line-b-x,0px))!important}

/* Editorial orbit borrowed from the paper/detail language elsewhere. */
.finale-paper-orbit{
  display:block!important;position:absolute!important;z-index:1!important;left:73%!important;top:49%!important;width:min(48vw,690px)!important;aspect-ratio:1!important;border-radius:50%!important;
  border:1px solid rgba(157,120,73,.10)!important;box-shadow:0 0 0 7vw rgba(170,132,83,.018),0 0 0 15vw rgba(170,132,83,.009)!important;
  opacity:var(--close-orbit-o,.4)!important;
  transform:translate3d(calc(-50% + var(--close-orbit-x,0px)),calc(-50% + var(--close-orbit-y,0px)),0) rotate(var(--close-orbit-r,0deg)) scale(var(--close-orbit-s,.94))!important;
  will-change:transform,opacity!important;pointer-events:none!important;
}
.finale-paper-orbit::before,.finale-paper-orbit::after,.finale-paper-orbit i,.finale-paper-orbit b{content:"";position:absolute;border-radius:50%;pointer-events:none}
.finale-paper-orbit::before{inset:12%;border:1px solid rgba(157,120,73,.085)}
.finale-paper-orbit::after{inset:25%;border:1px dashed rgba(157,120,73,.075)}
.finale-paper-orbit i{width:7px;height:7px;left:13%;top:18%;background:#a98455;box-shadow:0 0 0 6px rgba(169,132,85,.07);opacity:var(--close-orbit-dot-o,0)}
.finale-paper-orbit b{width:4px;height:4px;right:18%;bottom:21%;background:#c1a06f;opacity:var(--close-orbit-dot-o,0)}

/* Persistent chapter/date details match the rest of the invitation. */
.finale-date-mark{
  display:block!important;position:absolute!important;z-index:8!important;right:3.6vw!important;top:50%!important;
  writing-mode:vertical-rl!important;font:600 .48rem/1 var(--sans)!important;letter-spacing:.28em!important;color:#8c6d47!important;
  opacity:var(--close-meta-o,0)!important;transform:translate3d(var(--close-meta-x,14px),-50%,0)!important;
}
.finale-side-index{
  display:flex!important;position:absolute!important;z-index:8!important;left:3.8vw!important;bottom:4.2vh!important;top:auto!important;
  writing-mode:horizontal-tb!important;align-items:center!important;gap:11px!important;color:#8c6d47!important;
  font:600 .48rem/1 var(--sans)!important;letter-spacing:.26em!important;
  opacity:var(--close-meta-o,0)!important;transform:translate3d(var(--close-index-x,-14px),0,0)!important;
}
.finale-side-index i{width:42px!important;height:1px!important;background:linear-gradient(90deg,#a78354,transparent)!important}

/* BEAT 1 — From this moment, forever. */
.finale-opening-copy{
  display:block!important;position:absolute!important;z-index:6!important;left:50%!important;top:50%!important;width:min(1180px,86vw)!important;
  text-align:left!important;color:#302b26!important;opacity:var(--close-intro-o,0)!important;
  transform:translate3d(calc(-50% + var(--close-intro-x,0px)),calc(-50% + var(--close-intro-y,34px)),0) scale(var(--close-intro-s,.96))!important;
  will-change:transform,opacity!important;
}
.finale-opening-copy::before{content:""!important;display:block!important;width:var(--close-intro-rule,0px)!important;max-width:104px!important;height:1px!important;margin:0 0 26px!important;background:linear-gradient(90deg,#a98658,transparent)!important;opacity:.85!important}
.finale-opening-copy>span{
  display:block!important;margin:0 0 1rem!important;font:600 .60rem/1 var(--sans)!important;letter-spacing:.32em!important;color:#937149!important;
  opacity:var(--close-intro-kicker-o,0)!important;transform:translateY(var(--close-intro-kicker-y,12px))!important;
}
.finale-opening-copy strong{display:block!important;margin:0!important;font:500 clamp(4.7rem,8.5vw,9.8rem)/.76 var(--serif)!important;letter-spacing:-.055em!important;max-width:9ch!important;overflow:visible!important}
.finale-opening-copy strong b,.finale-opening-copy strong em{
  display:block!important;font:inherit!important;font-weight:500!important;overflow:hidden!important;clip-path:inset(var(--close-intro-mask,100%) 0 0 0)!important;
  opacity:var(--close-intro-words-o,0)!important;will-change:clip-path,transform,opacity!important;
}
.finale-opening-copy strong b{color:#302b26!important;transform:translate3d(var(--close-intro-l1-x,-36px),var(--close-intro-l1-y,40px),0)!important}
.finale-opening-copy strong em{color:#a17e50!important;font-style:italic!important;transform:translate3d(var(--close-intro-l2-x,40px),var(--close-intro-l2-y,44px),0)!important}
.finale-opening-copy small{
  display:block!important;margin-top:2rem!important;font:600 .49rem/1 var(--sans)!important;letter-spacing:.28em!important;color:#8b755b!important;
  opacity:var(--close-intro-date-o,0)!important;transform:translateY(var(--close-intro-date-y,10px))!important;
}

/* BEAT 2 — Thank-you editorial spread. */
.finale-copy{
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr)!important;grid-template-rows:auto auto auto!important;
  column-gap:clamp(52px,8vw,150px)!important;position:absolute!important;z-index:7!important;left:50%!important;top:50%!important;width:min(1420px,88vw)!important;
  color:#302b26!important;text-align:left!important;opacity:var(--close-main-o,0)!important;
  transform:translate3d(calc(-50% + var(--close-main-x,0px)),calc(-50% + var(--close-main-y,30px)),0) scale(var(--close-main-s,.97))!important;
  will-change:transform,opacity!important;
}
.finale-copy::before{content:"";position:absolute;left:64%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(148,112,68,.20) 15%,rgba(148,112,68,.20) 85%,transparent);transform:scaleY(var(--close-main-divider,0));transform-origin:center}
.finale-copy>span{
  grid-column:1!important;grid-row:1!important;display:block!important;margin-bottom:1.3rem!important;font:600 .59rem/1 var(--sans)!important;letter-spacing:.32em!important;color:#95734b!important;
  opacity:var(--close-main-kicker-o,0)!important;transform:translateY(var(--close-main-kicker-y,12px))!important;
}
.finale-copy h2{grid-column:1!important;grid-row:2 / 4!important;margin:0!important;max-width:9ch!important;font:500 clamp(4.6rem,7.8vw,8.8rem)/.78 var(--serif)!important;letter-spacing:-.052em!important}
.finale-copy h2 span,.finale-copy h2 em{
  display:block!important;font:inherit!important;overflow:hidden!important;opacity:var(--close-main-words-o,0)!important;clip-path:inset(var(--close-main-mask,100%) 0 0 0)!important;will-change:clip-path,transform,opacity!important;
}
.finale-copy h2 span{color:#302b26!important;transform:translate3d(var(--close-main-l1-x,-40px),var(--close-main-l1-y,38px),0)!important}
.finale-copy h2 em{color:#9f7d50!important;font-style:italic!important;transform:translate3d(var(--close-main-l2-x,42px),var(--close-main-l2-y,42px),0)!important}
.finale-copy p{
  grid-column:2!important;grid-row:2!important;align-self:end!important;margin:0 0 1.5rem!important;padding-left:clamp(22px,3vw,48px)!important;
  max-width:33rem!important;font:400 clamp(1rem,1.15vw,1.25rem)/1.8 var(--sans)!important;color:#675e55!important;
  opacity:var(--close-main-body-o,0)!important;transform:translate3d(var(--close-main-body-x,28px),var(--close-main-body-y,18px),0)!important;
}
.finale-copy strong{
  grid-column:2!important;grid-row:3!important;align-self:start!important;margin:0!important;padding-left:clamp(22px,3vw,48px)!important;
  font:500 clamp(2rem,3vw,3.6rem)/1 var(--serif)!important;font-style:italic!important;color:#8e6d45!important;
  opacity:var(--close-main-names-o,0)!important;transform:translate3d(var(--close-main-names-x,30px),var(--close-main-names-y,16px),0)!important;
}

/* BEAT 3 — Final invitation statement; stays present into webXCode overlap. */
.finale-end-title{
  display:block!important;position:absolute!important;z-index:7!important;left:50%!important;top:50%!important;width:min(1120px,88vw)!important;text-align:center!important;color:#302b26!important;
  opacity:var(--close-end-o,0)!important;transform:translate3d(calc(-50% + var(--close-end-x,0px)),calc(-50% + var(--close-end-y,28px)),0) scale(var(--close-end-s,.95))!important;
  will-change:transform,opacity!important;
}
.finale-end-title::before{content:""!important;display:block!important;width:var(--close-end-rule,0%)!important;max-width:210px!important;height:1px!important;margin:0 auto 26px!important;background:linear-gradient(90deg,transparent,#a88455,transparent)!important;opacity:.85!important}
.finale-end-title>span{display:block!important;margin-bottom:1rem!important;font:600 .56rem/1 var(--sans)!important;letter-spacing:.33em!important;color:#947149!important;opacity:var(--close-end-kicker-o,0)!important;transform:translateY(var(--close-end-kicker-y,10px))!important}
.finale-end-title strong{display:block!important;margin:0!important;font:500 clamp(5.2rem,9.2vw,10.5rem)/.78 var(--serif)!important;letter-spacing:-.06em!important;overflow:visible!important}
.finale-end-title strong b,.finale-end-title strong em{
  display:inline-block!important;font:inherit!important;font-weight:500!important;opacity:var(--close-end-words-o,0)!important;clip-path:inset(var(--close-end-mask,100%) 0 0 0)!important;will-change:clip-path,transform,opacity!important;
}
.finale-end-title strong b{color:#302b26!important;transform:translate3d(var(--close-end-l1-x,-26px),var(--close-end-l1-y,36px),0)!important}
.finale-end-title strong em{color:#9f7b4c!important;font-style:italic!important;transform:translate3d(var(--close-end-l2-x,28px),var(--close-end-l2-y,40px),0)!important}
.finale-end-title small{display:block!important;margin-top:1.5rem!important;font:600 .49rem/1 var(--sans)!important;letter-spacing:.28em!important;color:#8e7659!important;opacity:var(--close-end-small-o,0)!important;transform:translateY(var(--close-end-small-y,12px))!important}

/* The real creator section continues to own the dark handoff. */
.creator.creator-webx{z-index:35!important}

@media(max-width:760px){
  .finale-sequence{height:212svh!important}
  .finale-stage{height:100svh!important;min-height:100svh!important}
  .finale-stage::before{inset:12px!important;background:linear-gradient(90deg,transparent 50%,rgba(122,94,60,.065) 50%,rgba(122,94,60,.065) calc(50% + 1px),transparent calc(50% + 1px))!important}
  .finale-stage::after{left:12px!important;right:12px!important}
  .finale-date-mark{display:none!important}
  .finale-side-index{left:20px!important;bottom:22px!important;font-size:.43rem!important;letter-spacing:.20em!important}
  .finale-side-index i{width:28px!important}
  .finale-ghost-a{font-size:36vw!important;left:-7vw!important;bottom:8vh!important}
  .finale-ghost-b{font-size:25vw!important;right:-9vw!important;top:13vh!important}
  .finale-gold-sweep{width:72vw!important;left:-86vw!important;filter:blur(16px)!important}
  .finale-fine-line-a{left:20px!important;right:55vw!important;top:17vh!important}
  .finale-fine-line-b{left:55vw!important;right:20px!important;bottom:16vh!important}
  .finale-paper-orbit{left:67%!important;top:48%!important;width:88vw!important;opacity:calc(var(--close-orbit-o,.4) * .65)!important}

  .finale-opening-copy{
    left:20px!important;right:20px!important;top:49%!important;width:auto!important;text-align:left!important;
    transform:translate3d(var(--close-intro-x,0px),calc(-50% + var(--close-intro-y,26px)),0) scale(var(--close-intro-s,.97))!important;
  }
  .finale-opening-copy::before{margin-bottom:20px!important}
  .finale-opening-copy>span{font-size:.48rem!important;letter-spacing:.25em!important;margin-bottom:.75rem!important}
  .finale-opening-copy strong{font-size:clamp(3.9rem,17vw,6.5rem)!important;line-height:.76!important;max-width:7ch!important}
  .finale-opening-copy small{font-size:.43rem!important;letter-spacing:.20em!important;margin-top:1.4rem!important}

  .finale-copy{
    display:block!important;left:20px!important;right:20px!important;top:49%!important;width:auto!important;
    transform:translate3d(var(--close-main-x,0px),calc(-50% + var(--close-main-y,24px)),0) scale(var(--close-main-s,.98))!important;
  }
  .finale-copy::before{display:none!important}
  .finale-copy>span{font-size:.47rem!important;letter-spacing:.25em!important;margin-bottom:.8rem!important}
  .finale-copy h2{font-size:clamp(3.35rem,14.5vw,5.5rem)!important;line-height:.79!important;max-width:8.4ch!important;margin-bottom:1.45rem!important}
  .finale-copy p{margin:0!important;padding:0!important;max-width:31rem!important;font-size:.92rem!important;line-height:1.65!important;transform:translate3d(var(--close-main-body-x,20px),var(--close-main-body-y,14px),0)!important}
  .finale-copy strong{display:block!important;margin-top:1.15rem!important;padding:0!important;font-size:clamp(1.8rem,8vw,2.7rem)!important;transform:translate3d(var(--close-main-names-x,22px),var(--close-main-names-y,14px),0)!important}

  .finale-end-title{left:20px!important;right:20px!important;top:49%!important;width:auto!important;text-align:left!important;transform:translate3d(var(--close-end-x,0px),calc(-50% + var(--close-end-y,24px)),0) scale(var(--close-end-s,.97))!important}
  .finale-end-title::before{margin:0 0 20px!important;max-width:100px!important;background:linear-gradient(90deg,#a88455,transparent)!important}
  .finale-end-title>span{font-size:.46rem!important;letter-spacing:.25em!important;margin-bottom:.8rem!important}
  .finale-end-title strong{font-size:clamp(4rem,17vw,6.3rem)!important;line-height:.78!important;max-width:6.8ch!important}
  .finale-end-title strong b,.finale-end-title strong em{display:block!important}
  .finale-end-title small{font-size:.42rem!important;letter-spacing:.18em!important;margin-top:1.25rem!important}
}

@media(max-width:390px){
  .finale-sequence{height:205svh!important}
  .finale-opening-copy,.finale-copy,.finale-end-title{left:18px!important;right:18px!important}
  .finale-opening-copy strong{font-size:16.4vw!important}
  .finale-copy h2{font-size:13.7vw!important}
  .finale-end-title strong{font-size:16.2vw!important}
  .finale-copy p{font-size:.86rem!important}
}

@media(prefers-reduced-motion:reduce){
  .finale-atmosphere{display:none!important}
  .finale-opening-copy strong b,.finale-opening-copy strong em,
  .finale-copy h2 span,.finale-copy h2 em,
  .finale-end-title strong b,.finale-end-title strong em{clip-path:none!important;transform:none!important}
}

/* ============================================================
   12.8.6 — MOBILE MIRRORS DESKTOP CLOSING CHOREOGRAPHY
   One sticky viewport, three scroll-linked beats. No stacked mobile panels.
   Black serif lines enter from the RIGHT; gold italic lines from the LEFT.
   ============================================================ */
@media(max-width:760px){
  .finale-sequence{height:188svh!important;background:#fbf8f2!important}
  .finale-stage{position:sticky!important;top:0!important;height:100svh!important;min-height:100svh!important;overflow:hidden!important}
  .finale-opening-curtain,.opening-curtain-a,.opening-curtain-b{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .finale-opening-copy,.finale-copy,.finale-end-title{position:absolute!important;margin:0!important;min-height:0!important;padding:0!important;display:block!important}
  .finale-opening-copy,.finale-copy,.finale-end-title{opacity:var(--close-intro-o,0)}
  .finale-copy{opacity:var(--close-main-o,0)!important}
  .finale-end-title{opacity:var(--close-end-o,0)!important}
  .creator.creator-webx{margin-top:-9svh!important}
}
@media(max-width:430px){
  .finale-sequence{height:184svh!important}
}
