/* Canva-faithful scene renderer — Egi & Putri */
@font-face {
  font-family: "Makina";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/_assets/fonts/44cd534fa9702ec771cc8630940d0a34.woff2") format("woff2");
}

@font-face {
  font-family: "Aloja";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/_assets/fonts/b4130a6599ec61abfb64a6da9d31adfc.woff2") format("woff2");
}

@font-face {
  font-family: "The Youngest";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/_assets/fonts/7487efa5e3d514581f1eebfabe8cd905.woff2") format("woff2");
}

:root {
  --bg: #f1eee3;
  --ink: #222222;
  --brown: #9d6248;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  overflow: hidden;
  height: 100%;
}

.site {
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.scene {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: var(--bg);
  position: relative;
}

.scene__frame {
  width: min(100vw, 1366px);
  margin: 0 auto;
  position: relative;
  container-type: inline-size;
  overflow: hidden;
}

.site[data-layout="mobile"] .scene__frame {
  width: 100vw;
  max-width: 100vw;
}

.site[data-layout="desktop"] .scene__frame {
  width: min(100vw, 1366px);
}

.scene__stage {
  position: relative;
  width: 100%;
  padding-bottom: calc(var(--scene-aspect) * 100%);
  height: 0;
  overflow: hidden;
}

.scene__img,
.scene__text,
.scene__cta {
  position: absolute;
  margin: 0;
  padding: 0;
}

.scene__img {
  object-fit: fill;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 2px 6px rgba(34, 34, 34, 0.12));
  transform-origin: center center;
}

.scene__img[data-fit="contain"] {
  object-fit: contain;
  filter: none;
}

.scene__text {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  line-height: 1.1;
  white-space: pre-wrap;
  pointer-events: none;
  --text-scale: 0.48;
  font-size: calc(var(--el-h) * var(--scene-aspect) * var(--text-scale) * 1cqw);
  max-width: 100%;
  max-height: 100%;
}

.scene__text--dear,
.scene__text--guest {
  font-family: "Aloja", cursive;
  color: var(--ink);
}

.scene__text--dear {
  --text-scale: 0.38;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
}

.scene__text--guest {
  --text-scale: 0.36;
  justify-content: center;
  align-items: center;
}

.scene__text--script {
  font-family: "Aloja", cursive;
  font-size: calc(var(--el-h, 3) * var(--scene-aspect) * 0.92 * 1cqw);
  color: var(--ink);
}

.scene__text--names {
  font-family: "Makina", "Courier New", monospace;
  --text-scale: 0.30;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 0.88;
}

.scene__text--title {
  font-family: "Makina", "Courier New", monospace;
  --text-scale: 0.52;
}

.scene__text--heading {
  font-family: "Makina", "Courier New", monospace;
  --text-scale: 0.44;
  text-transform: lowercase;
}

.scene__text--body,
.scene__text--invite {
  font-family: "Makina", "Courier New", monospace;
  --text-scale: 0.40;
  line-height: 1.3;
  align-items: flex-start;
  justify-content: center;
}

.scene__text--rsvp-intro {
  font-family: "Makina", "Courier New", monospace;
  --text-scale: 0.38;
  line-height: 1.35;
  align-items: flex-start;
  justify-content: center;
}

/* Home scene — tuned to match Canva mobile */
#scene-PB8yvKZxc0KZppp7 .scene__text--title {
  --text-scale: 1.5;
}

#scene-PB8yvKZxc0KZppp7 .scene__text--names {
  --text-scale: 0.50;
  line-height: 0.86;
}

#scene-PB8yvKZxc0KZppp7 .scene__text--dear {
  --text-scale: 0.50;
}

#scene-PB8yvKZxc0KZppp7 .scene__text--guest {
  --text-scale: 0.50;
}

#scene-PB8yvKZxc0KZppp7 .scene__text--invite {
  --text-scale: 0.46;
  padding: 0 2%;
}

#scene-PB8yvKZxc0KZppp7 .scene__text--body {
  --text-scale: 0.48;
}

/* Story scene — flowing copy block + polaroids below */
#scene-PBSlBB0Jn4vkP6v1 .scene__story-copy {
  position: absolute;
  pointer-events: none;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-copy .scene__text--story-heading {
  position: static;
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  overflow: visible;
  text-align: center;
  text-transform: none;
  padding: 0;
  margin: 0 0 0.65em;
  font-family: "Makina", "Courier New", monospace;
  font-size: 6.2cqw;
  line-height: 1.15;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-body {
  font-family: "Makina", "Courier New", monospace;
  font-size: 4.05cqw;
  line-height: 1.44;
  color: var(--ink);
  text-align: left;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-body .story-em {
  color: #c0392b;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-body p {
  margin: 0 0 0.65em;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-body p:last-child {
  margin-bottom: 0;
}

.site[data-layout="desktop"] #scene-PBSlBB0Jn4vkP6v1 .scene__story-copy .scene__text--story-heading {
  font-size: 1.35cqw;
}

.site[data-layout="desktop"] #scene-PBSlBB0Jn4vkP6v1 .scene__story-body {
  font-size: 1.05cqw;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__frame,
#scene-PBSlBB0Jn4vkP6v1 .scene__stage {
  overflow: visible;
}

/* Story media cluster — polaroids + scrapbook accents */
#scene-PBSlBB0Jn4vkP6v1 .scene__story-cluster {
  position: absolute;
  left: 8%;
  width: 84%;
  height: 62%;
  top: 47.27%;
  pointer-events: none;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-polaroids {
  position: absolute;
  inset: 0;
  z-index: 3;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-polaroids .scene__polaroid {
  position: absolute;
  object-fit: contain;
  margin: 0;
  padding: 0;
  filter: drop-shadow(0 4px 10px rgba(34, 34, 34, 0.18));
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-polaroids .scene__polaroid--1 {
  transform: rotate(0.85deg);
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-polaroids .scene__polaroid--2 {
  transform: rotate(10.5deg);
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-polaroids .scene__polaroid--3 {
  transform: rotate(0.25deg);
  display: none;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-cluster .scene__story-accent {
  position: absolute;
  object-fit: contain;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-accent--fabric {
  right: -4%;
  bottom: 39%;
  width: 52%;
  height: auto;
  aspect-ratio: 1;
  z-index: 1;
  transform: rotate(-10deg);
  opacity: 0.95;
}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-accent--tape {
  left: 6%;
  top: 47%;
  width: 37%;
  height: auto;
  aspect-ratio: 632 / 354;
  z-index: 4;
  transform: rotate(88deg);
  filter: drop-shadow(0 2px 4px rgba(34, 34, 34, 0.12));

}

#scene-PBSlBB0Jn4vkP6v1 .scene__story-accent--bike {
  right: 15%;
  top: 4%;
  width: 22%;
  height: auto;
  aspect-ratio: 800 / 613;
  z-index: 5;
}

.site[data-layout="desktop"] #scene-PBSlBB0Jn4vkP6v1 .scene__story-cluster {
  left: 22%;
  width: 56%;
  height: 50%;
}

.site[data-layout="desktop"] #scene-PBSlBB0Jn4vkP6v1 .scene__story-accent--fabric {
  width: 38%;
}

.site[data-layout="desktop"] #scene-PBSlBB0Jn4vkP6v1 .scene__story-accent--bike {
  width: 14%;
}

#scene-PBxtx4w0WN8XKKJb .scene__frame,
#scene-PBxtx4w0WN8XKKJb .scene__stage {
  overflow: visible;
}

/* Details scene — edit left / top / width / height per element */
#scene-PBxtx4w0WN8XKKJb .scene__details-item {
  position: absolute;
  margin: 0;
  padding: 0;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-bg-beach-top {
  left: -26.9%;
  top: -2.5%;
  width: 142.8%;
  height: 57.4%;
  z-index: 1;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-bg-beach-bottom {
  left: -15.8%;
  top: 42.8%;
  width: 142.8%;
  height: 57.4%;
  z-index: 1;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-tape-top {
  left: 26%;
  top: -5.3%;
  width: 81.7%;
  height: 7.4%;
  z-index: 2;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-tape-accent {
  left: -1.4%;
  top: -5.3%;
  width: 50.2%;
  height: 8.7%;
  z-index: 2;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-paper-save {
  left: 10.5%;
  top: 8%;
  width: 77.1%;
  height: 42.1%;
  z-index: 3;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-paper-venue {
  left: 12.3%;
  top: 53.3%;
  width: 79.7%;
  height: 43.5%;
  z-index: 3;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-at-sticker {
  left: 8%;
  top: 52.1%;
  width: 31.2%;
  height: 11.5%;
  z-index: 5;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-venue-photo {
  left: 20.2%;
  top: 56.8%;
  width: 65.9%;
  height: 15.6%;
  z-index: 4;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-scrap-notes {
  left: 8%;
  top: 40.1%;
  width: 22%;
  height: 6.6%;
  z-index: 8;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-cassette {
  left: 75%;
  top: 53%;
  width: 12%;
  height: 6%;
  z-index: 10;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-rings {
  left: 20.8%;
  top: 21.6%;
  width: 12.2%;
  height: 4.7%;
  z-index: 7;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-table {
  left: 57.4%;
  top: 27.3%;
  width: 21.8%;
  height: 7.2%;
  z-index: 7;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-arrow {
  left: 73%;
  top: 42.5%;
  width: 22%;
  height: 6%;
  z-index: 7;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-calendar {
  left: 69.8%;
  top: 18.7%;
  width: 12.7%;
  height: 5.2%;
  z-index: 8;
}

#scene-PBxtx4w0WN8XKKJb a.scene__details-icon-calendar,
#scene-PBxtx4w0WN8XKKJb a.scene__details-icon-calendar-plus,
#scene-PBxtx4w0WN8XKKJb a.scene__details-icon-maps,
#scene-PBxtx4w0WN8XKKJb a.scene__details-maps-bar,
#scene-PBxtx4w0WN8XKKJb a.scene__details-maps-label {
  pointer-events: auto;
  cursor: pointer;
  display: block;
  text-decoration: none;
  color: inherit;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-linked-img {
  position: static;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-linked-text {
  position: static;
  display: flex;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-calendar-plus {
  left: 82.5%;
  top: 15.8%;
  width: 5.1%;
  height: 4.4%;
  z-index: 9;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-champagne {
  left: 44.4%;
  top: 36.2%;
  width: 9.2%;
  height: 5%;
  z-index: 8;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-sign {
  left: 16.2%;
  top: 68.1%;
  width: 14.8%;
  height: 6.6%;
  z-index: 7;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-icon-maps {
  left: 64%;
  top: 84.1%;
  width: 9.7%;
  height: 4.9%;
  z-index: 7;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-maps-bar {
  left: 30.6%;
  top: 85.9%;
  width: 43.1%;
  height: 5.2%;
  z-index: 4;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-section-title {
  left: 20%;
  top: 2.9%;
  width: 57%;
  height: 2.8%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.25cqw;
  letter-spacing: 0.04em;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-save-date {
  left: 29%;
  top: 9%;
  width: 40%;
  height: 3.6%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 6.2cqw;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-date-box {
  left: 20%;
  top: 12.8%;
  width: 60%;
  height: 6%;
  z-index: 7;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 0.5em;
  background: #fff;
  border: 2px solid #8b6914;
  box-shadow: 6px 6px 0 #c0392b;
  color: #c0392b;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.3cqw;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  overflow: visible;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-akad {
  left: 36.2%;
  top: 22.3%;
  width: 25%;
  height: 2.6%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.05cqw;
  color: var(--ink);
  justify-content: flex-start;
  text-align: left;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-akad-time {
  left: 36.5%;
  top: 23.8%;
  width: 30%;
  height: 3.5%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 4.1cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: flex-start;
  text-align: left;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-reception {
  left: 30.5%;
  top: 29.7%;
  width: 26%;
  height: 3%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.05cqw;
  color: var(--ink);
  justify-content: flex-start;
  text-align: left;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-reception-time {
  left: 31%;
  top: 31.3%;
  width: 30%;
  height: 3.5%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 4.1cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: flex-start;
  text-align: left;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-footer-left {
  left: 26%;
  top: 37.1%;
  width: 20%;
  height: 3%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.05cqw;
  color: var(--ink);
  justify-content: flex-start;
  text-align: left;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-footer-right {
  left: 53%;
  top: 36.8%;
  width: 22%;
  height: 3.5%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.05cqw;
  color: var(--ink);
  justify-content: flex-end;
  text-align: right;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-venue-label {
  left: 42.5%;
  top: 71.4%;
  width: 19%;
  height: 4.2%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.25cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-venue-name {
  left: 28.2%;
  top: 75.4%;
  width: 48%;
  height: 2.6%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.25cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-venue-address {
  left: 27.8%;
  top: 79%;
  width: 49%;
  height: 5.1%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 3.5cqw;
  line-height: 1.25;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBxtx4w0WN8XKKJb .scene__details-maps-label {
  left: 37.7%;
  top: 87.1%;
  width: 26%;
  height: 2.6%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.25cqw;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBwTtpYFHkGtKKXc {
  background: #f3ede3;
}

#scene-PBwTtpYFHkGtKKXc .scene__frame,
#scene-PBwTtpYFHkGtKKXc .scene__stage {
  overflow: visible;
}

/* Reception scene — edit left / top / width / height per element */
#scene-PBwTtpYFHkGtKKXc .scene__reception-item {
  position: absolute;
  margin: 0;
  padding: 0;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-tape-top {
  left: 26%;
  top: -6.2%;
  width: 81.7%;
  height: 8.6%;
  z-index: 2;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-floral-accent {
  left: -0.6%;
  top: -0.6%;
  width: 22.8%;
  height: 9.8%;
  z-index: 3;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-tape-accent {
  left: 2.3%;
  top: -6.1%;
  width: 50.2%;
  height: 10.2%;
  z-index: 2;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-icon-attire {
  left: 25.4%;
  top: 9%;
  width: 49.2%;
  height: 21.8%;
  z-index: 4;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-lamb {
  left: 31.4%;
  top: 50.4%;
  width: 37.3%;
  height: 17.2%;
  z-index: 5;
  filter: drop-shadow(0 0 0 3px #fff) drop-shadow(0 3px 10px rgba(34, 34, 34, 0.18));
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-corner-scrap {
  left: 76.9%;
  top: 90.2%;
  width: 23.7%;
  height: 10.2%;
  z-index: 3;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-heading {
  left: 19.5%;
  top: 4.1%;
  width: 61%;
  height: 2.7%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 7.05cqw;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-attire-label {
  left: 23.6%;
  top: 30.3%;
  width: 52.8%;
  height: 6.2%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 10.2cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-attire-body {
  left: 12.9%;
  top: 37.7%;
  width: 72.1%;
  height: 10.9%;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 4.05cqw;
  line-height: 1.35;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-kids-label {
  left: 20.2%;
  top: 72%;
  width: 59.7%;
  height: 6.2%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 11.2cqw;
  font-weight: 700;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

#scene-PBwTtpYFHkGtKKXc .scene__reception-kids-body {
  left: 14%;
  top: 76.4%;
  width: 72.1%;
  height: 13.7%;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 4.5cqw;
  line-height: 1.35;
  color: var(--ink);
  justify-content: center;
  text-align: center;
}

.scene__cta {
  font-family: "Makina", "Courier New", monospace;
  font-size: calc(var(--el-h, 3) * var(--scene-aspect) * 0.42 * 1cqw);
  background: var(--ink);
  color: #fff;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  transition: background 0.15s;
}

.scene__cta:hover {
  background: #444;
}

.scene__rsvp {
  position: absolute;
  z-index: 20;
  pointer-events: auto;
}

#scene-PBZWVhvtbhhYYlK9 {
  background: #f3ede3;
  isolation: isolate;
  z-index: 2;
}

#scene-PBZWVhvtbhhYYlK9 .scene__frame,
#scene-PBZWVhvtbhhYYlK9 .scene__stage {
  overflow: hidden;
}

/* Contact / RSVP scene — edit left / top / width / height per element */
#scene-PBZWVhvtbhhYYlK9 .scene__contact-item {
  position: absolute;
  margin: 0;
  padding: 0;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-tape-top {
  left: 26%;
  top: -5.8%;
  width: 81.7%;
  height: 8.1%;
  z-index: 2;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-tape-accent {
  left: -6.2%;
  top: -3.4%;
  width: 50.2%;
  height: 9.6%;
  z-index: 2;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-intro {
  left: 6%;
  top: 7%;
  width: 88%;
  height: auto;
  min-height: 8%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: 5.05cqw;
  line-height: 1.4;
  color: var(--ink);
  justify-content: center;
  text-align: center;
  overflow: visible;
  white-space: normal;
  pointer-events: none;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-stack {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 14%;
  max-width: 520px;
  margin: 0 auto;
  z-index: 20;
  pointer-events: auto;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-rsvp {
  position: static;
  left: auto;
  right: auto;
  top: auto;
  width: 100%;
  max-width: none;
  margin: 0;
}

#scene-PBZWVhvtbhhYYlK9 .scene__contact-guestbook {
  position: static;
  width: 100%;
  margin-top: 28px;
  padding-bottom: 24px;
}

/* Gifts / registry scene */
#scene-PBQqcvg6K3HjQHPs {
  background: #f3ede3;
  isolation: isolate;
  z-index: 1;
}

#scene-PBQqcvg6K3HjQHPs .scene__frame,
#scene-PBQqcvg6K3HjQHPs .scene__stage {
  overflow: hidden;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-item {
  position: absolute;
  margin: 0;
  padding: 0;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-beach-bottom {
  left: -0.5%;
  top: 40.7%;
  width: 104.5%;
  height: 59.2%;
  z-index: 1;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-beach-top {
  left: -6%;
  top: 1.4%;
  width: 100.2%;
  height: 56.8%;
  z-index: 1;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-tape-left {
  left: -0.7%;
  top: -3.5%;
  width: 74.9%;
  height: 10.1%;
  z-index: 8;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-tape-right {
  left: 69.5%;
  top: -2.5%;
  width: 74.9%;
  height: 14.7%;
  z-index: 8;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-paper-top {
  left: 5.8%;
  top: 16.1%;
  width: 73.9%;
  height: 56.8%;
  z-index: 3;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-paper-bottom {
  left: 6%;
  top: 57.3%;
  width: 77.3%;
  height: 59.5%;
  z-index: 3;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-grid-paper {
  left: -21.6%;
  top: 5.5%;
  width: 52.5%;
  height: 27.7%;
  z-index: 4;
}

#scene-PBQqcvg6K3HjQHPs .scene__text {
  font-size: unset;
  max-height: unset;
  display: block;
  align-items: unset;
  justify-content: unset;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-item.scene__text {
  overflow: hidden;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-heading {
  left: 18%;
  top: 9.7%;
  width: 64%;
  height: auto;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-heading-font, 6.2cqw);
  color: var(--ink);
  text-align: center;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-subtitle {
  left: 10.6%;
  top: 18.2%;
  width: 68.8%;
  height: auto;
  max-height: 6%;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-subtitle-font, 3.35cqw);
  line-height: 1.3;
  color: var(--ink);
  text-align: center;
  white-space: normal;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-bank-intro {
  left: 8.2%;
  top: 25.6%;
  width: 70.5%;
  height: auto;
  max-height: 11%;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: var(--gifts-bank-intro-font, 3.15cqw);
  line-height: 1.28;
  color: var(--ink);
  text-align: center;
  white-space: normal;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-ticket {
  left: 11.7%;
  top: 34%;
  width: 63.6%;
  height: 18.8%;
  z-index: 5;
  filter: none;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-spiral {
  left: 4%;
  top: 58.1%;
  width: 2.2%;
  height: 30.7%;
  z-index: 4;
  filter: none;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-boxes {
  left: 47.8%;
  top: 75%;
  width: 30.1%;
  height: 17.1%;
  z-index: 6;
  filter: none;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-bank-name {
  left: 14.6%;
  top: 37.2%;
  width: 13.7%;
  height: auto;
  z-index: 11;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-bank-name-font, 7.6cqw);
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  text-align: left;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-bank-holder {
  left: 14.6%;
  top: 42.8%;
  width: 43.2%;
  height: auto;
  z-index: 11;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-bank-holder-font, 3.45cqw);
  line-height: 1.1;
  color: var(--ink);
  text-align: left;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-bank-account {
  left: 14.6%;
  top: 46.4%;
  width: 33.7%;
  height: auto;
  z-index: 11;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-bank-account-font, 3.85cqw);
  line-height: 1.1;
  color: var(--ink);
  text-align: left;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-copy-bca {
  left: 49.3%;
  top: 47.4%;
  width: 3.9%;
  height: 2.5%;
  z-index: 12;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-copy-btn {
  position: absolute;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  pointer-events: auto;
  cursor: pointer;
  filter: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-copy-btn:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-copy-btn--copied {
  opacity: 0.55;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-copy-icon {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  pointer-events: none;
  filter: none;
}

.egi-copy-toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%) translateY(12px);
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(34, 34, 34, 0.92);
  color: #fff;
  font-family: "Makina", "Courier New", monospace;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 1000;
}

.egi-copy-toast--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-shipping-intro {
  left: 9%;
  top: 61.6%;
  width: 68%;
  height: auto;
  max-height: 10.5%;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: var(--gifts-shipping-intro-font, 3.1cqw);
  line-height: 1.28;
  color: var(--ink);
  text-align: center;
  white-space: normal;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-egi-label {
  left: 10.1%;
  top: 69.6%;
  width: 12%;
  height: auto;
  z-index: 11;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-contact-label-font, 6.4cqw);
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  text-align: left;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-egi-phone {
  left: 10.6%;
  top: 73.6%;
  width: 30%;
  height: auto;
  z-index: 11;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-phone-link {
  position: absolute;
  pointer-events: auto;
  cursor: pointer;
  display: block;
  text-decoration: none;
  color: var(--ink);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

#scene-PBQqcvg6K3HjQHPs a.scene__gifts-phone-link:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-phone-text {
  position: static;
  display: block;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-contact-phone-font, 4.25cqw);
  line-height: 1;
  color: inherit;
  text-align: left;
  overflow: visible;
  white-space: nowrap;
  pointer-events: none;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-putri-phone {
  left: 10.6%;
  top: 82%;
  width: 30%;
  height: auto;
  z-index: 11;
}

#scene-PBQqcvg6K3HjQHPs .scene__gifts-putri-label {
  left: 10.1%;
  top: 78%;
  width: 18%;
  height: auto;
  z-index: 11;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--gifts-contact-label-font, 6.4cqw);
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  text-align: left;
  overflow: visible;
  white-space: nowrap;
}

#scene-PBZWVhvtbhhYYlK9 .scene__rsvp-inner {
  width: 100%;
}

.scene__rsvp.scrap-item,
.scene__rsvp-inner.scrap-item {
  transform-origin: center top;
}

.egi-rsvp-form h3 {
  font-family: "Makina", monospace;
  text-transform: lowercase;
}

.egi-rsvp-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: #444;
}

/* Closing scene */
#scene-PBclosingX7mK2pQ9 {
  background: #f3ede3;
  isolation: isolate;
}

#scene-PBclosingX7mK2pQ9 .scene__frame,
#scene-PBclosingX7mK2pQ9 .scene__stage {
  overflow: hidden;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-item {
  position: absolute;
  margin: 0;
  padding: 0;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-beach {
  left: -0.5%;
  top: 58%;
  width: 104.5%;
  height: 42%;
  z-index: 1;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-paper {
  left: 8.5%;
  top: 5%;
  width: 83%;
  height: 82%;
  z-index: 3;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-tape {
  left: -0.7%;
  top: 4.5%;
  width: 74.9%;
  height: 10.1%;
  z-index: 8;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-accent {
  left: -1%;
  top: 2%;
  width: 22.8%;
  height: 9.8%;
  z-index: 4;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-photo {
  --scrap-rot: 5.31deg!important;
  left: 18%;
  top: 7%;
  width: 64%;
  height: 44%;
  z-index: 6;
  object-fit: contain;
  filter: drop-shadow(0 0 0 3px #fff) drop-shadow(0 3px 10px rgba(34, 34, 34, 0.16));
}

#scene-PBclosingX7mK2pQ9 .scene__text {
  font-size: unset;
  max-height: unset;
  display: block;
  align-items: unset;
  justify-content: unset;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-message {
  left: 14%;
  top: 57%;
  width: 72%;
  height: auto;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: var(--closing-message-font, 3.35cqw);
  line-height: 1.45;
  color: var(--ink);
  text-align: center;
  white-space: normal;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-sign-off {
  left: 14%;
  top: 72%;
  width: 72%;
  height: auto;
  z-index: 10;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: var(--closing-sign-off-font, 3.6cqw);
  font-style: italic;
  line-height: 1.2;
  color: var(--ink);
  text-align: center;
  white-space: nowrap;
}

#scene-PBclosingX7mK2pQ9 .scene__closing-names {
  left: 14%;
  top: 80%;
  width: 72%;
  height: auto;
  z-index: 10;
  font-family: "Makina", "Courier New", monospace;
  font-size: var(--closing-names-font, 7.4cqw);
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  text-align: center;
  white-space: nowrap;
}

/* Scrapbook entrance animations */
.scrap-item {
  opacity: 0;
  transform: translate(var(--scrap-from-x, 0), var(--scrap-from-y, 28px))
    rotate(calc(var(--scrap-rot, 0deg) * 1.8)) scale(0.86);
  transition: none;
  will-change: transform, opacity;
}

.scrap-item--in {
  animation: scrapbook-in 900ms cubic-bezier(0.22, 1.15, 0.36, 1) var(--scrap-delay, 0ms) forwards;
}

@keyframes scrapbook-in {
  0% {
    opacity: 0;
    transform: translate(var(--scrap-from-x, 0), var(--scrap-from-y, 28px))
      rotate(calc(var(--scrap-rot, 0deg) * 2.2)) scale(0.84);
  }
  45% {
    opacity: 1;
    transform: translate(0, -6px) rotate(calc(var(--scrap-rot, 0deg) * -0.5)) scale(1.04);
  }
  62% {
    transform: translate(3px, 2px) rotate(calc(var(--scrap-rot, 0deg) * 1.3)) scale(0.98);
  }
  78% {
    transform: translate(-2px, -1px) rotate(calc(var(--scrap-rot, 0deg) * 0.7)) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(var(--scrap-rot, 0deg)) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .scrap-item,
  .scrap-item--in {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Background music toggle */
.bg-music {
  position: fixed;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  z-index: 9999;
  pointer-events: none;
}

.bg-music__toggle {
  pointer-events: auto;
  width: 44px;
  height: 44px;
  border: 2px solid var(--ink, #222);
  border-radius: 50%;
  background: rgba(243, 237, 227, 0.94);
  color: var(--ink, #222);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 2px 10px rgba(34, 34, 34, 0.14);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform 120ms ease, background 120ms ease;
}

.bg-music__toggle:hover {
  transform: scale(1.04);
  background: #fffcf7;
}

.bg-music__toggle:focus-visible {
  outline: 2px solid var(--ink, #222);
  outline-offset: 2px;
}

.bg-music__icon {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.15rem;
  line-height: 1;
}

.bg-music__icon--pause {
  display: none;
}

.bg-music__toggle--playing .bg-music__icon--play {
  display: none;
}

.bg-music__toggle--playing .bg-music__icon--pause {
  display: block;
}

.bg-music audio {
  display: none;
}

/* Language switcher — sticky top right */
.lang-switch {
  position: fixed;
  top: max(12px, env(safe-area-inset-top, 0px));
  right: max(12px, env(safe-area-inset-right, 0px));
  z-index: 10001;
  display: inline-flex;
  gap: 0;
  padding: 3px;
  border: 2px solid var(--ink, #222);
  border-radius: 999px;
  background: rgba(243, 237, 227, 0.94);
  box-shadow: 0 2px 10px rgba(34, 34, 34, 0.14);
  -webkit-tap-highlight-color: transparent;
}

.lang-switch__btn {
  min-width: 38px;
  height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink, #222);
  font-family: "Makina", "Courier New", monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  touch-action: manipulation;
}

.lang-switch__btn.is-active {
  background: var(--ink, #222);
  color: #fffcf7;
}

.lang-switch__btn:focus-visible {
  outline: 2px solid var(--ink, #222);
  outline-offset: 2px;
}
