html.lsw-v2-premium-finale body:has(.guest-shell--ceremony) {
  background: #382417 !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) {
  position: relative !important;
  width: min(100%, calc(100svh * 0.6667), 680px) !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: #795333 url("/assets/guest-v2-seal-mocha-r32-20260821.png") center / 100% 100% no-repeat !important;
  color: #fff9ed !important;
  isolation: isolate !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2)::before,
html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2)::after {
  content: none !important;
  display: none !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) > header {
  position: absolute !important;
  top: 6.2svh !important;
  right: 13% !important;
  left: 13% !important;
  z-index: 5 !important;
  display: flex !important;
  min-height: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) > header .guest-brand {
  color: #f8d79b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(18px, 4.8vw, 32px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.23em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(62, 31, 10, 0.58), 0 0 14px rgba(255, 214, 137, 0.16) !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony .guest-seal-screen--premium-v2 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 h1 {
  position: absolute !important;
  top: 20.5% !important;
  right: 7% !important;
  left: 7% !important;
  margin: 0 !important;
  color: #fffaf0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 7.2vw, 47px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  white-space: nowrap !important;
  text-shadow: 0 2px 5px rgba(66, 35, 15, 0.58) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 .guest-seal-mark {
  display: none !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2 .guest-seal-step-v2 {
  position: absolute !important;
  top: 34.5% !important;
  right: 10% !important;
  left: 10% !important;
  color: #6f431b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(21px, 5.5vw, 35px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-shadow: 0 1px 0 rgba(255, 226, 169, 0.42) !important;
}

html.lsw-v2-premium-finale .guest-seal-sprig-v32 {
  position: absolute !important;
  top: 45.5% !important;
  left: 50% !important;
  width: clamp(66px, 17vw, 105px) !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  transform: translateX(-50%) !important;
  filter: sepia(0.16) saturate(0.9) brightness(0.78) drop-shadow(0 2px 3px rgba(70, 38, 16, 0.24)) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > p {
  position: absolute !important;
  top: 55.5% !important;
  right: 10% !important;
  left: 10% !important;
  margin: 0 !important;
  color: #fff9ec !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 5.8vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  text-shadow: 0 2px 4px rgba(75, 40, 18, 0.52) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > .guest-button {
  position: absolute !important;
  top: 69.5% !important;
  left: 50% !important;
  width: 64% !important;
  height: clamp(60px, 7.8svh, 78px) !important;
  min-height: 60px !important;
  margin: 0 !important;
  border: 1px solid #e5b85f !important;
  border-radius: 14px !important;
  background:
    linear-gradient(110deg, rgba(255, 222, 148, 0.08), transparent 35%, rgba(255, 222, 148, 0.05)),
    linear-gradient(145deg, #5b351c, #3e2517 62%, #52311d) !important;
  box-shadow:
    inset 0 0 0 3px rgba(62, 35, 19, 0.86),
    inset 0 0 0 4px rgba(238, 193, 103, 0.58),
    inset 0 1px 0 rgba(255, 238, 194, 0.38),
    0 8px 18px rgba(62, 34, 17, 0.24) !important;
  color: #ffe5ad !important;
  font-size: clamp(17px, 4.2vw, 26px) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  transform: translateX(-50%) !important;
  text-shadow: 0 1px 2px rgba(47, 24, 11, 0.62) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > .guest-button svg {
  width: 1.15em !important;
  height: 1.15em !important;
  color: #efc775 !important;
  stroke-width: 1.7 !important;
  filter: none !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) > footer {
  position: absolute !important;
  right: 7% !important;
  bottom: max(3.2svh, env(safe-area-inset-bottom)) !important;
  left: 7% !important;
  z-index: 10 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f4dfbd !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: clamp(10px, 2.4vw, 14px) !important;
  text-align: center !important;
}

html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) > footer a {
  color: #f4dfbd !important;
  text-decoration-color: rgba(244, 223, 189, 0.55) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--working.guest-seal-screen--premium-v2 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12% !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--working.guest-seal-screen--premium-v2 h1 {
  color: #fffaf0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 7vw, 44px) !important;
  font-weight: 500 !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--working.guest-seal-screen--premium-v2 .guest-seal-mark {
  border-color: #efc775 !important;
  background: rgba(86, 50, 27, 0.64) !important;
  color: #ffe3a6 !important;
  box-shadow: inset 0 0 0 8px rgba(65, 36, 18, 0.45) !important;
}

html.lsw-v2-premium-finale .guest-seal-screen--working.guest-seal-screen--premium-v2 > p {
  color: #f6e3c1 !important;
}

html.lsw-v2-premium-finale-success,
html.lsw-v2-premium-finale-success body {
  overflow: hidden !important;
  background: #e7ddd0 !important;
}

.guest-v2-success-overlay-r32 {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #e7ddd0;
}

.guest-v2-success-card-r32 {
  position: relative;
  width: min(100%, calc(100svh * 0.6667), 680px);
  height: 100svh;
  overflow: hidden;
  background: #fff7e8 url("/assets/guest-v2-success-cream-r32-20260821.png") center / 100% 100% no-repeat;
  color: #302c28;
  text-align: center;
  isolation: isolate;
}

.guest-v2-success-brand-r32 {
  position: absolute;
  top: 8.5%;
  right: 12%;
  left: 12%;
  color: #976b28;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 4.8vw, 32px);
  font-weight: 600;
  letter-spacing: 0.23em;
  line-height: 1;
}

.guest-v2-success-rings-r32 {
  position: absolute;
  top: 14.5%;
  left: 50%;
  width: 118px;
  height: 18px;
  transform: translateX(-50%);
}

.guest-v2-success-rings-r32::before,
.guest-v2-success-rings-r32::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b88332);
}

.guest-v2-success-rings-r32::before { left: 0; }
.guest-v2-success-rings-r32::after { right: 0; transform: scaleX(-1); }

.guest-v2-success-rings-r32 span,
.guest-v2-success-rings-r32 span::after {
  position: absolute;
  top: 2px;
  left: 48px;
  width: 12px;
  height: 12px;
  border: 1.5px solid #b88332;
  border-radius: 50%;
}

.guest-v2-success-rings-r32 span::after {
  content: "";
  top: -1.5px;
  left: 8px;
}

.guest-v2-success-copy-r32 {
  position: absolute;
  top: 29%;
  right: 15%;
  left: 15%;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 7.2vw, 47px);
  font-weight: 600;
  line-height: 1.13;
  text-align: left;
}

.guest-v2-success-copy-r32 span { display: block; }
.guest-v2-success-copy-r32 span:last-child { color: #986923; }

.guest-v2-success-sprig-r32 {
  position: absolute;
  top: 48.5%;
  left: 50%;
  width: clamp(68px, 17vw, 108px);
  height: auto;
  transform: translateX(-50%);
  filter: sepia(0.1) saturate(0.9) brightness(0.72);
}

.guest-v2-success-confirmation-r32 {
  position: absolute;
  top: 60%;
  left: 50%;
  width: 72%;
  min-height: clamp(84px, 11svh, 110px);
  padding: 17px 22px;
  border: 1px solid rgba(181, 128, 43, 0.46);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: rgba(255, 252, 246, 0.72);
  box-shadow: 0 12px 30px rgba(118, 78, 30, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.68);
  transform: translateX(-50%);
}

.guest-v2-success-lock-r32 {
  position: relative;
  width: 34px;
  height: 30px;
  flex: 0 0 34px;
  border: 2px solid #a87527;
  border-radius: 6px;
  color: #a87527;
}

.guest-v2-success-lock-r32::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 7px;
  width: 16px;
  height: 18px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
}

.guest-v2-success-lock-r32::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.guest-v2-success-confirmation-r32 strong {
  max-width: 300px;
  color: #4a423a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 4.4vw, 28px);
  font-weight: 600;
  line-height: 1.15;
}

.guest-v2-success-footer-r32 {
  position: absolute;
  right: 7%;
  bottom: max(4.2svh, env(safe-area-inset-bottom));
  left: 7%;
  color: #766d63;
  font-size: clamp(10px, 2.4vw, 14px);
}

.guest-v2-success-footer-r32 a {
  color: inherit;
  text-decoration-color: rgba(118, 109, 99, 0.45);
  text-underline-offset: 3px;
}

@media (max-width: 420px) {
  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 h1 {
    right: 3% !important;
    left: 3% !important;
  }

  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > .guest-button {
    width: 66% !important;
  }

  .guest-v2-success-copy-r32 {
    right: 13%;
    left: 13%;
  }

  .guest-v2-success-confirmation-r32 {
    width: 78%;
    padding: 16px 18px;
    gap: 14px;
  }
}

@media (max-height: 620px) {
  html.lsw-v2-premium-finale .guest-shell--ceremony:has(.guest-seal-screen--premium-v2) > header { top: 3.5svh !important; }
  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 h1 { top: 15% !important; }
  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2 .guest-seal-step-v2 { top: 28% !important; }
  html.lsw-v2-premium-finale .guest-seal-sprig-v32 { top: 40% !important; }
  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > p { top: 49% !important; }
  html.lsw-v2-premium-finale .guest-seal-screen--premium-v2.guest-seal-screen--confirm-v2 > .guest-button { top: 64% !important; }
  .guest-v2-success-brand-r32 { top: 5%; }
  .guest-v2-success-rings-r32 { top: 12%; }
  .guest-v2-success-copy-r32 { top: 24%; }
  .guest-v2-success-sprig-r32 { top: 47%; }
  .guest-v2-success-confirmation-r32 { top: 58%; }
}
