.root{
  --wedding-blue:#3e5b83;
  --wedding-blue-deep:#263e5e;
  --wedding-blue-bright:#52739e;
  --section-fill:var(--wedding-blue);
  --section-fill-deep:var(--wedding-blue-deep);
  --section-fill-bright:var(--wedding-blue-bright);
  --wedding-gold:#966905;
  --wedding-white:#fff;
  --wedding-primary-rgb:62,91,131;
  --wedding-deep-rgb:38,62,94;
  --wedding-gold-rgb:150,105,5;
  --wedding-white-rgb:255,255,255;
  --ink-rgb:28,41,64;
  --shadow-deep-rgb:17,29,46;
  --shadow-card-rgb:40,58,82;
  --modal-backdrop-rgb:9,18,31;
  --surface-panel-rgb:249,251,253;
  --surface-highlight-rgb:234,240,247;
  --surface-note-rgb:233,239,246;
  --shell-background:#f3f3f2;
  --surface-muted:#edf2f7;
  --surface-muted-strong:#dce6f1;
  --hero-surface:#dbe4ef;
  --border-muted:#d5dee8;
  --surface-soft:#e9eef4;
  --photo-muted:#cbd7e5;
  --neutral-copy:#6b7280;
  --paper:var(--wedding-white);
  --ink:#1c2940;
  --copy:var(--wedding-blue);
  --copy-strong:var(--wedding-blue-deep);
  --copy-accent:var(--wedding-gold);
  --copy-rgb:var(--wedding-primary-rgb);
  --copy-deep-rgb:var(--wedding-deep-rgb);
  color:var(--ink);
  font-family:var(--font-hdb-literata),Georgia,serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
.root.tone-beige{
  --wedding-blue:#8a2733;
  --wedding-blue-deep:#6f2a31;
  --wedding-blue-bright:#a8404c;
  --section-fill:#69373d;
  --section-fill-deep:#4d2429;
  --section-fill-bright:#8a565c;
  --wedding-gold:#9b6b2f;
  --wedding-white:#fffdf9;
  --wedding-primary-rgb:155,107,47;
  --wedding-deep-rgb:111,42,49;
  --wedding-gold-rgb:155,107,47;
  --wedding-white-rgb:255,253,249;
  --ink-rgb:59,20,24;
  --shadow-deep-rgb:45,17,20;
  --shadow-card-rgb:78,32,37;
  --modal-backdrop-rgb:26,10,12;
  --surface-panel-rgb:255,250,243;
  --surface-highlight-rgb:244,232,214;
  --surface-note-rgb:241,229,211;
  --shell-background:#f6f1eb;
  --surface-muted:#f8f2e9;
  --surface-muted-strong:#f0e5d8;
  --hero-surface:#f3eadf;
  --border-muted:#e6d8c7;
  --surface-soft:#f7eee4;
  --photo-muted:#e1d3c3;
  --neutral-copy:#785e61;
  --paper:#fffdf8;
  --copy:#8a2733;
  --copy-strong:#6f2a31;
  --copy-accent:#8a2733;
  --copy-rgb:138,39,51;
  --copy-deep-rgb:111,42,49;
  --ink:#3b1418
}
.root *,.root :before,.root :after{
  box-sizing:border-box
}
.root button,.root input,.root textarea{
  font:inherit
}
.invitation-shell{
  background:var(--shell-background);
  justify-content:center;
  width:100%;
  display:flex;
  overflow:hidden
}
.invitation-page{
  --hdb-canvas:min(100vw,480px);
  --u:calc(var(--hdb-canvas)/420);
  width:var(--hdb-canvas);
  background:var(--paper);
  max-width:100%;
  box-shadow:0 0 42px rgba(var(--ink-rgb),.18);
  flex:none;
  position:relative;
  overflow:hidden
}
.invitation-section{
  isolation:isolate;
  width:100%;
  position:relative;
  overflow:hidden
}
.photo-placeholder{
  width:100%;
  height:100%;
  color:rgba(var(--copy-rgb),.72);
  background:linear-gradient(145deg,var(--surface-muted),var(--surface-muted-strong));
  font-size:max(12px,calc(13*var(--u)));
  text-align:center;
  place-items:center;
  display:grid
}
.photo-placeholder span{
  max-width:80%
}
.preview-hint{
  padding:0 calc(8*var(--u));
  color:rgba(var(--copy-rgb),.72);
  font-family:var(--font-hdb-literata),Georgia,serif;
  font-size:max(10px,calc(11*var(--u)));
  text-align:center;
  overflow-wrap:anywhere;
  margin:0;
  font-style:italic;
  line-height:1.35
}
.preview-hint span{
  font-style:normal;
  font-weight:600;
  display:block
}
.preview-hint-compact{
  padding:0 calc(4*var(--u));
  font-size:max(9px,calc(9*var(--u)));
  line-height:1.3
}
.preview-hint-overlay{
  max-width:calc(320*var(--u));
  padding:calc(8*var(--u))calc(14*var(--u));
  border-radius:calc(10*var(--u));
  color:var(--wedding-white);
  background:rgba(var(--shadow-deep-rgb),.62)
}
.preview-hint-anchor{
  z-index:4;
  width:calc(420*var(--u));
  pointer-events:none;
  justify-content:center;
  display:flex;
  position:absolute;
  left:50%;
  transform:translate(-50%)
}
.preview-hint-hero{
  top:calc(150*var(--u))
}
.preview-hint-timeline{
  top:calc(140*var(--u))
}
.preview-hint-footer{
  top:calc(120*var(--u))
}
.preview-hint-board{
  top:50%;
  transform:translate(-50%,-50%)
}
.ornament{
  object-fit:contain;
  pointer-events:none;
  display:block;
  position:absolute
}
.photo-frame{
  background:var(--wedding-white);
  border:0;
  padding:0;
  display:block;
  overflow:hidden
}
.photo-frame img{
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.opening-gate{
  z-index:99;
  pointer-events:none;
  background:0 0;
  width:min(100%,480px);
  height:100dvh;
  min-height:100svh;
  position:fixed;
  top:0;
  left:50%;
  overflow:hidden;
  transform:translate(-50%)
}
.opening-gate-panel{
  background-color:var(--wedding-white);
  background-image:var(--hdb-opening-gate);
  will-change:transform;
  background-repeat:no-repeat;
  background-size:200% 100%;
  width:50%;
  animation-duration:2.8s;
  animation-timing-function:cubic-bezier(.45,0,.15,1);
  animation-delay:.35s;
  animation-fill-mode:forwards;
  position:absolute;
  top:0;
  bottom:0
}
.opening-gate-left{
  background-position:0 0;
  animation-name:hdb-gate-open-left;
  left:0
}
.opening-gate-right{
  background-position:100% 0;
  animation-name:hdb-gate-open-right;
  right:0
}
@keyframes hdb-gate-open-left{
  0%{
  transform:translate(0)
}
to{
  transform:translate(-100%)
}

}
@keyframes hdb-gate-open-right{
  0%{
  transform:translate(0)
}
to{
  transform:translate(100%)
}

}
@media (prefers-reduced-motion:reduce){
  .opening-gate-panel{
  animation-duration:1ms;
  animation-delay:0s
}

}
.opening-section{
  height:calc(1352*var(--u));
  color:var(--copy);
  background:var(--wedding-white)
}
.opening-hero,.opening-lower-photo,.opening-fade,.family-background,.family-wash,.invitation-background,.invitation-wash,.timeline-backdrop-image,.timeline-paper,.timeline-backdrop-shade,.closing-background,.closing-bottom-photo{
  pointer-events:none;
  position:absolute;
  inset:0
}
.opening-hero{
  z-index:-4;
  height:calc(630*var(--u));
  background-color:var(--hero-surface);
  background-position:50% 28%;
  background-size:cover
}
.opening-lower-photo{
  z-index:-4;
  top:calc(630*var(--u));
  height:calc(712*var(--u));
  background-position:top;
  background-size:calc(420*var(--u))auto;
  opacity:.5;
  background-repeat:repeat-y
}
.opening-fade{
  z-index:-3;
  top:calc(398*var(--u));
  height:calc(238*var(--u));
  background:linear-gradient(#0000 4%,#000000c7 100%)
}
.opening-ornament{
  z-index:0;
  width:calc(263*var(--u));
  height:calc(263*var(--u));
  opacity:.3
}
.opening-ornament-right{
  top:calc(629*var(--u));
  left:calc(286*var(--u));
  transform:rotate(317deg)
}
.opening-ornament-left{
  top:calc(1010*var(--u));
  left:calc(-114*var(--u));
  width:calc(358*var(--u));
  height:calc(358*var(--u));
  transform:rotate(322deg)
}
.opening-names{
  z-index:2;
  top:calc(386*var(--u));
  width:calc(420*var(--u));
  height:calc(182*var(--u));
  color:var(--wedding-white);
  text-shadow:0 calc(4*var(--u))calc(4*var(--u))#00000040;
  position:absolute;
  left:0
}
.opening-names-fit{
  width:100%;
  height:100%;
  transform:translateY(calc((1 - var(--fit-scale,1))*166*var(--u)));
  position:relative
}
.opening-name,.opening-ampersand,.opening-date,.opening-copy{
  margin:0
}
.opening-name{
  box-sizing:border-box;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(calc(78*var(--u))*var(--fit-scale,1));
  white-space:nowrap;
  font-weight:400;
  line-height:1;
  position:absolute;
  overflow:visible
}
.opening-name-first{
  width:calc(420*var(--u));
  text-align:left;
  top:0;
  left:0
}
.opening-name-second{
  width:calc(420*var(--u));
  text-align:left;
  top:1.1282em;
  left:0
}
.opening-name-second:before{
  content:"";
  width:1.5em;
  display:inline-block
}
.opening-name-groom{
  padding-left:calc(18*var(--u))
}
.opening-name-bride{
  padding-right:calc(18*var(--u))
}
.opening-ampersand{
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(calc(58*var(--u))*var(--fit-scale,1));
  font-weight:700;
  line-height:1;
  position:absolute;
  top:1.8103em;
  left:1.1207em
}
.opening-date{
  z-index:2;
  top:calc(585*var(--u));
  left:calc(45*var(--u));
  width:calc(330*var(--u));
  color:var(--wedding-white);
  font-size:calc(20*var(--u));
  text-align:left;
  text-shadow:0 calc(3*var(--u))calc(4*var(--u))#0000004d;
  font-style:italic;
  line-height:1;
  position:absolute
}
.opening-copy{
  z-index:2;
  top:calc(658*var(--u));
  text-align:center;
  width:100%;
  position:absolute;
  left:0
}
.opening-copy h1{
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(22*var(--u));
  margin:0;
  font-weight:500;
  line-height:1.1
}
.opening-couple{
  margin:calc(21*var(--u))0 0;
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(28*var(--u));
  text-shadow:0 calc(4*var(--u))calc(4*var(--u))#0000002e;
  line-height:1
}
.opening-divider{
  width:calc(161*var(--u));
  height:max(2px,calc(2*var(--u)));
  margin:calc(16*var(--u))auto 0;
  background:var(--wedding-blue);
  display:block
}
.opening-english{
  margin:calc(31*var(--u))auto 0;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(17*var(--u));
  line-height:1.52
}
.opening-tagline{
  width:calc(320*var(--u));
  max-height:calc(42*var(--u));
  margin:calc(13*var(--u))auto 0;
  font-size:max(12px,calc(12*var(--u)));
  font-style:italic;
  line-height:1.45;
  overflow:hidden
}
.opening-portrait{
  z-index:2;
  top:calc(925*var(--u));
  left:calc(65*var(--u));
  width:calc(292*var(--u));
  height:calc(364*var(--u));
  box-shadow:0 calc(4*var(--u))calc(4*var(--u))#00000040;
  position:absolute
}
.opening-section-no-portrait{
  height:calc(960*var(--u))
}
.opening-section-no-portrait .opening-lower-photo{
  height:auto
}
.opening-section-no-portrait .opening-ornament-left{
  top:calc(700*var(--u));
  width:calc(263*var(--u));
  height:calc(263*var(--u));
  left:calc(-80*var(--u))
}
.calendar-section{
  padding:calc(34*var(--u))calc(16*var(--u))calc(36*var(--u));
  color:var(--wedding-white);
  background:var(--section-fill)
}
.calendar-ornament{
  z-index:-1;
  width:calc(210*var(--u));
  height:calc(210*var(--u));
  opacity:.25
}
.calendar-ornament-top{
  top:0;
  left:0
}
.calendar-ornament-bottom{
  bottom:0;
  right:0
}
.calendar-card{
  text-align:center;
  width:100%;
  position:relative
}
.calendar-card h2{
  margin:0 0 calc(18*var(--u));
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(38*var(--u));
  font-weight:400;
  line-height:calc(48*var(--u))
}
.calendar-weekdays,.calendar-grid{
  grid-template-columns:repeat(7,1fr);
  display:grid
}
.calendar-weekdays{
  height:calc(30*var(--u));
  color:var(--copy);
  background:var(--wedding-white);
  font-size:max(12px,calc(13*var(--u)));
  line-height:calc(30*var(--u))
}
.calendar-grid{
  padding-top:calc(12*var(--u));
  color:var(--wedding-white);
  font-size:calc(17*var(--u));
  row-gap:calc(8*var(--u))
}
.calendar-day{
  height:calc(32*var(--u));
  place-items:center;
  display:grid;
  position:relative
}
.calendar-day>span:last-child{
  z-index:1;
  position:relative
}
.calendar-day-selected{
  color:var(--copy)
}
.calendar-day-secondary{
  text-decoration:underline;
  -webkit-text-decoration-color:var(--wedding-white);
  text-decoration-color:var(--wedding-white);
  text-decoration-thickness:calc(1*var(--u));
  text-underline-offset:calc(3*var(--u))
}
.day-heart{
  z-index:0;
  width:calc(44*var(--u));
  height:calc(44*var(--u));
  color:#0000;
  background:var(--wedding-white);
  animation:1.4s ease-in-out infinite hdb-heart-pulse;
  position:absolute;
  overflow:hidden;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.2-4.35-9.6-8.5C.2 8.7 2.2 4 6.4 4c2.25 0 3.65 1.3 4.6 2.65C11.95 5.3 13.35 4 15.6 4c4.2 0 6.2 4.7 4 8.5C19.2 16.65 12 21 12 21z'/%3E%3C/svg%3E") 50%/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.2-4.35-9.6-8.5C.2 8.7 2.2 4 6.4 4c2.25 0 3.65 1.3 4.6 2.65C11.95 5.3 13.35 4 15.6 4c4.2 0 6.2 4.7 4 8.5C19.2 16.65 12 21 12 21z'/%3E%3C/svg%3E") 50%/contain no-repeat
}
.couple-section{
  min-height:calc(690*var(--u));
  padding:calc(35*var(--u))calc(24*var(--u))calc(48*var(--u));
  color:var(--wedding-white);
  background:var(--section-fill)
}
.couple-section:before{
  z-index:-2;
  background:linear-gradient(160deg,var(--section-fill-deep),var(--section-fill)62%,var(--section-fill-bright));
  content:"";
  position:absolute;
  inset:0
}
.couple-floral{
  z-index:-1;
  right:calc(-95*var(--u));
  bottom:calc(-92*var(--u));
  width:calc(315*var(--u));
  height:calc(315*var(--u));
  opacity:.18;
  transform:rotate(322deg)
}
.section-title-row{
  align-items:center;
  gap:calc(14*var(--u));
  display:flex
}
.section-title-row h2{
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(37*var(--u));
  flex:none;
  margin:0;
  font-weight:400;
  line-height:1
}
.section-title-row span{
  width:calc(142*var(--u));
  height:max(2px,calc(2*var(--u)));
  margin-top:calc(11*var(--u));
  opacity:.8;
  background:currentColor;
  display:block
}
.section-title-row-blue{
  color:var(--copy)
}
.couple-tagline{
  width:calc(330*var(--u));
  margin:calc(20*var(--u))auto 0;
  font-size:max(12px,calc(13*var(--u)));
  text-align:center;
  font-style:italic;
  line-height:1.55
}
.couple-grid{
  gap:calc(15*var(--u));
  margin-top:calc(36*var(--u));
  grid-template-columns:1fr 1fr;
  display:grid
}
.couple-person{
  text-align:center
}
.couple-photo{
  width:calc(165*var(--u));
  height:calc(350*var(--u));
  padding:calc(6*var(--u))calc(6*var(--u))calc(26*var(--u));
  background:var(--wedding-white);
  box-shadow:0 calc(6*var(--u))calc(18*var(--u))#0000003d
}
.couple-person-left .couple-photo{
  transform:rotate(-3deg)
}
.couple-person-right .couple-photo{
  transform:rotate(3deg)
}
.couple-photo img{
  object-fit:cover;
  width:100%;
  height:100%
}
.couple-person>p{
  margin:calc(23*var(--u))0 calc(5*var(--u));
  font-size:max(11px,calc(11*var(--u)));
  letter-spacing:.2em;
  text-transform:uppercase
}
.couple-person h3{
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(22*var(--u));
  margin:0;
  font-weight:500
}
.family-section{
  height:calc((800 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  color:var(--copy);
  background:var(--wedding-white)
}
.family-background{
  z-index:-4;
  background-position:top;
  background-size:calc(420*var(--u))auto;
  opacity:.5;
  background-repeat:repeat-y
}
.family-wash{
  z-index:-3;
  background:rgba(var(--wedding-white-rgb),.08)
}
.family-small-floral{
  z-index:-1;
  top:calc(387*var(--u));
  left:calc(162*var(--u));
  width:calc(95*var(--u));
  height:calc(95*var(--u));
  object-fit:contain;
  opacity:.26;
  position:absolute
}
.details-heading{
  top:calc(39*var(--u));
  left:calc(35*var(--u));
  width:calc(350*var(--u));
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(19*var(--u));
  text-align:center;
  line-height:1.26;
  position:absolute
}
.details-heading p{
  font-size:calc(calc(19*var(--u))*var(--fit-scale,1));
  white-space:nowrap;
  margin:0
}
.details-heading .details-heading-guest{
  margin:calc(2*var(--u))0;
  font-size:calc(calc(27*var(--u))*var(--fit-scale,1));
  font-weight:700;
  line-height:1.2
}
.details-names{
  top:calc((126 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  width:100%;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(48*var(--u));
  text-align:center;
  text-shadow:0 calc(3*var(--u))calc(3*var(--u))rgba(var(--wedding-primary-rgb),.14);
  line-height:.9;
  position:absolute;
  left:0
}
.details-names p{
  max-width:calc(400*var(--u));
  padding:0 calc(10*var(--u));
  font-size:calc(calc(48*var(--u))*var(--fit-scale,1));
  white-space:nowrap;
  margin:0 auto;
  line-height:1
}
.details-names span{
  height:calc(calc(48*var(--u))*var(--fit-scale,1));
  margin:calc(1*var(--u))0;
  color:rgba(var(--copy-rgb),.24);
  font-size:calc(calc(82*var(--u))*var(--fit-scale,1));
  line-height:.55;
  display:block
}
.details-names p .details-name-prefix{
  height:auto;
  color:inherit;
  font-size:.68em;
  line-height:inherit;
  margin:0;
  display:inline
}
.family-polaroid-reveal{
  width:calc(198*var(--u));
  height:calc(260*var(--u));
  position:absolute
}
.family-polaroid-reveal-right{
  top:calc((273 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  left:calc(196*var(--u))
}
.family-polaroid-reveal-left{
  top:calc((340 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  left:calc(27*var(--u))
}
.family-polaroid{
  width:calc(198*var(--u));
  height:calc(260*var(--u));
  padding:calc(8*var(--u))calc(5*var(--u))calc(33*var(--u));
  background:var(--wedding-white);
  box-shadow:0 calc(4*var(--u))calc(4*var(--u))#0000003d
}
.family-polaroid img{
  object-fit:cover;
  width:100%;
  height:100%
}
.family-polaroid-right{
  transform:rotate(8deg)
}
.family-polaroid-left{
  transform:rotate(-9deg)
}
.family-columns{
  top:calc((652 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  left:calc(12*var(--u));
  width:calc(396*var(--u));
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(14*var(--u));
  text-align:center;
  grid-template-columns:1fr 1fr;
  line-height:1.46;
  display:grid;
  position:absolute
}
.family-columns>div{
  min-width:0;
  padding:0 calc(4*var(--u))
}
.family-columns>div:first-child{
  border-right:max(1px,calc(1*var(--u)))solid rgba(var(--wedding-primary-rgb),.65)
}
.family-columns h3{
  margin:0 0 calc(12*var(--u));
  font-size:calc(19*var(--u));
  font-weight:700
}
.family-columns p{
  font-size:calc(calc(15*var(--u))*var(--fit-scale,1));
  margin:0;
  font-weight:500;
  overflow:visible
}
.family-section-single-photo{
  height:calc((740 + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-single-photo .family-polaroid-reveal{
  top:calc((285 + 24*var(--hdb-message-extra-lines,0))*var(--u));
  left:calc(111*var(--u))
}
.family-section-single-photo .family-columns{
  top:calc((585 + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-no-photos{
  height:calc((440 + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-no-photos .family-small-floral{
  display:none
}
.family-section-no-photos .family-columns{
  top:calc((290 + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-has-address{
  height:calc((808 + 19*var(--hdb-address-lines,1) + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-single-photo.family-section-has-address{
  height:calc((748 + 19*var(--hdb-address-lines,1) + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.family-section-no-photos.family-section-has-address{
  height:calc((448 + 19*var(--hdb-address-lines,1) + 24*var(--hdb-message-extra-lines,0))*var(--u))
}
.invitation-details-section{
  min-height:calc(624*var(--u));
  padding:calc(17*var(--u))calc(18*var(--u))calc(56*var(--u));
  color:var(--copy);
  background:var(--wedding-white)
}
.invitation-background{
  z-index:-4;
  background-position:center calc(-101*var(--u));
  background-size:calc(420*var(--u))auto;
  opacity:.5;
  background-repeat:repeat-y
}
.invitation-wash{
  z-index:-3;
  background:rgba(var(--wedding-white-rgb),.08)
}
.invitation-ornament{
  z-index:-1;
  bottom:calc(-70*var(--u));
  left:calc(-75*var(--u));
  width:calc(230*var(--u));
  height:calc(230*var(--u));
  opacity:.24;
  transform:rotate(40deg)
}
.invitation-center-floral{
  z-index:1;
  width:calc(186*var(--u));
  height:calc(112*var(--u));
  margin:calc(-2*var(--u))auto calc(2*var(--u));
  object-fit:contain;
  opacity:1;
  display:block;
  position:relative
}
.side-switch{
  z-index:3;
  width:max-content;
  margin:0 auto calc(6*var(--u));
  padding:calc(4*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.2);
  border-radius:calc(99*var(--u));
  background:rgba(var(--wedding-white-rgb),.7);
  display:flex;
  position:relative
}
.side-switch button{
  min-height:max(40px,calc(40*var(--u)));
  padding:calc(7*var(--u))calc(16*var(--u));
  border-radius:calc(99*var(--u));
  color:var(--copy);
  cursor:pointer;
  font-size:max(14px,calc(14*var(--u)));
  background:0 0;
  border:0;
  font-weight:600;
  line-height:1.2
}
.side-switch button.active{
  color:var(--wedding-white);
  background:var(--wedding-blue)
}
.event-list{
  gap:calc(8*var(--u));
  display:grid
}
.invitation-families{
  gap:calc(32*var(--u));
  display:grid
}
.invitation-family{
  justify-self:start;
  width:94%;
  min-width:0
}
.invitation-family:nth-child(2n){
  justify-self:end
}
.invitation-family:only-child{
  justify-self:center
}
.invitation-family-heading{
  justify-content:center;
  align-items:center;
  gap:calc(12*var(--u));
  margin:0 0 calc(12*var(--u));
  color:var(--copy-strong);
  font-family:var(--font-hdb-yeseva),Georgia,serif;
  font-size:max(24px,calc(30*var(--u)));
  text-align:center;
  font-weight:400;
  line-height:1.3;
  display:flex
}
.invitation-family-heading:before,.invitation-family-heading:after{
  content:"";
  width:calc(38*var(--u));
  background:rgba(var(--wedding-primary-rgb),.4);
  flex-shrink:0;
  height:1px
}
.invitation-family .ceremony-title,.invitation-family .ceremony-address{
  overflow-wrap:anywhere
}
.invitation-family .map-button{
  min-height:40px
}
.ceremony-reveal{
  min-width:0
}
.ceremony-block{
  padding:calc(14*var(--u))calc(10*var(--u))calc(20*var(--u));
  text-align:center;
  position:relative
}
.ceremony-standard{
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.2);
  border-radius:calc(16*var(--u));
  background:rgba(var(--wedding-white-rgb),.18);
  box-shadow:0 calc(10*var(--u))calc(28*var(--u))rgba(var(--wedding-primary-rgb),.08)
}
.ceremony-title,.ceremony-time,.ceremony-day,.ceremony-month,.ceremony-year,.ceremony-lunar,.ceremony-address{
  margin:0
}
.ceremony-title,.ceremony-day,.ceremony-month,.ceremony-year{
  font-family:var(--font-hdb-yeseva),Georgia,serif
}
.ceremony-title{
  font-size:calc(22*var(--u));
  text-transform:uppercase;
  line-height:1.25
}
.ceremony-time{
  margin-top:calc(5*var(--u));
  font-family:var(--font-hdb-yeseva),Georgia,serif;
  font-size:max(13px,calc(14*var(--u)))
}
.ceremony-date-row{
  grid-template-columns:1fr calc(90*var(--u))1fr;
  width:calc(340*var(--u));
  max-width:100%;
  margin:calc(22*var(--u))auto 0;
  align-items:center;
  display:grid
}
.ceremony-month,.ceremony-year{
  min-height:calc(53*var(--u));
  font-size:max(12px,calc(13*var(--u)));
  align-content:center;
  line-height:1.25;
  display:grid
}
.ceremony-month{
  border-right:max(1px,calc(1*var(--u)))solid rgba(var(--wedding-primary-rgb),.65)
}
.ceremony-year{
  border-left:max(1px,calc(1*var(--u)))solid rgba(var(--wedding-primary-rgb),.65)
}
.ceremony-month span,.ceremony-year span{
  font-size:max(12px,calc(12*var(--u)))
}
.ceremony-month strong,.ceremony-year strong{
  margin-top:calc(2*var(--u));
  font-size:calc(17*var(--u));
  font-weight:400
}
.ceremony-day{
  font-size:calc(63*var(--u));
  line-height:.95
}
.ceremony-lunar,.ceremony-address{
  font-size:max(12px,calc(13*var(--u)));
  font-style:italic;
  line-height:1.35
}
.ceremony-lunar{
  margin-top:calc(7*var(--u))
}
.ceremony-rings{
  width:calc(95*var(--u));
  height:calc(95*var(--u));
  margin:calc(8*var(--u))auto 0;
  object-fit:contain;
  display:block
}
.ceremony-address{
  width:calc(345*var(--u));
  max-width:100%;
  margin:calc(7*var(--u))auto 0;
  white-space:pre-line
}
.map-button{
  width:calc(188*var(--u));
  height:calc(40*var(--u));
  justify-content:center;
  align-items:center;
  gap:calc(8*var(--u));
  margin-top:calc(18*var(--u));
  border-radius:calc(14*var(--u));
  color:var(--wedding-white);
  background:var(--wedding-blue);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(13px,calc(14*var(--u)));
  box-shadow:0 calc(5*var(--u))calc(12*var(--u))rgba(var(--wedding-primary-rgb),.2);
  font-weight:700;
  text-decoration:none;
  animation:1.35s ease-in-out 3 hdb-map-pulse;
  display:inline-flex
}
.story-section{
  min-height:calc(520*var(--u));
  padding:calc(36*var(--u))calc(22*var(--u))calc(60*var(--u));
  color:var(--copy);
  background-color:var(--wedding-white);
  background-image:linear-gradient(rgba(var(--wedding-white-rgb),.5),rgba(var(--wedding-white-rgb),.5)),var(--hdb-paper-texture);
  background-position:50%;
  background-size:calc(420*var(--u))auto
}
.story-ornament{
  z-index:-1;
  top:calc(-70*var(--u));
  right:calc(-95*var(--u));
  width:calc(260*var(--u));
  height:calc(260*var(--u));
  opacity:.2;
  transform:rotate(320deg)
}
.story-list{
  gap:calc(36*var(--u));
  margin-top:calc(38*var(--u));
  display:grid
}
.story-item{
  grid-template-columns:calc(145*var(--u))1fr;
  gap:calc(22*var(--u));
  align-items:center;
  display:grid
}
.story-item-reverse{
  grid-template-columns:1fr calc(145*var(--u))
}
.story-item-reverse .story-photo{
  grid-column:2
}
.story-item-reverse .story-copy{
  text-align:right;
  grid-area:1/1
}
.story-item-no-photo{
  grid-template-columns:minmax(0,1fr)
}
.story-item-no-photo .story-copy{
  text-align:left;
  grid-column:1;
  width:100%
}
.story-photo{
  height:calc(190*var(--u));
  padding:calc(6*var(--u))calc(6*var(--u))calc(24*var(--u));
  background:var(--wedding-white);
  box-shadow:0 calc(7*var(--u))calc(18*var(--u))rgba(var(--wedding-deep-rgb),.16);
  transform:rotate(-3deg)
}
.story-item-reverse .story-photo{
  transform:rotate(3deg)
}
.story-photo img{
  object-fit:cover;
  width:100%;
  height:100%
}
.story-copy span{
  color:var(--copy-accent);
  font-size:max(12px,calc(12*var(--u)));
  letter-spacing:.15em
}
.story-copy h3{
  margin:calc(5*var(--u))0 calc(8*var(--u));
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(22*var(--u));
  font-weight:500
}
.story-copy p{
  color:rgba(var(--copy-deep-rgb),.86);
  font-size:max(12px,calc(13*var(--u)));
  margin:0;
  line-height:1.55
}
.timeline-section{
  min-height:calc(1079*var(--u));
  color:var(--copy);
  background:var(--wedding-white)
}
.timeline-backdrop{
  z-index:-4;
  width:calc(423*var(--u));
  height:calc(378*var(--u));
  position:absolute;
  top:0;
  left:0;
  overflow:hidden
}
.timeline-backdrop-image{
  background-color:var(--border-muted);
  background-position:50% 34%;
  background-size:cover
}
.timeline-backdrop-shade{
  z-index:-3;
  height:calc(378*var(--u));
  background:linear-gradient(180deg,rgba(var(--shadow-deep-rgb),.03),rgba(var(--shadow-deep-rgb),.1)62%,rgba(var(--shadow-deep-rgb),.38))
}
.timeline-paper{
  z-index:-2;
  top:calc(279*var(--u));
  background-position:top;
  background-size:calc(420*var(--u))auto;
  opacity:.5;
  background-repeat:repeat-y;
  bottom:0
}
.timeline-top-floral{
  z-index:-1;
  top:calc(307*var(--u));
  left:calc(259*var(--u));
  width:calc(201*var(--u));
  height:calc(201*var(--u));
  object-fit:contain;
  opacity:.3;
  position:absolute;
  transform:rotate(192deg)
}
.timeline-title{
  z-index:2;
  top:calc(298*var(--u));
  width:100%;
  color:var(--wedding-white);
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(43*var(--u));
  text-align:center;
  text-shadow:0 calc(4*var(--u))calc(4*var(--u))#0000004d;
  font-weight:400;
  line-height:1;
  position:absolute;
  left:0
}
.timeline-list{
  z-index:1;
  top:calc(430*var(--u));
  width:calc(420*var(--u));
  position:absolute;
  left:0
}
.timeline-group-label{
  margin:calc(30*var(--u))calc(27*var(--u))calc(14*var(--u));
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(30*var(--u));
  align-items:center;
  gap:calc(12*var(--u));
  font-weight:400;
  line-height:1;
  display:flex
}
.timeline-group-label:after{
  height:max(1px,calc(1*var(--u)));
  opacity:.45;
  content:"";
  background:currentColor;
  flex:auto
}
.timeline-group:first-child .timeline-group-label{
  margin-top:0
}
.timeline-event{
  grid-template-columns:calc(168*var(--u))1fr;
  min-height:calc(82*var(--u));
  align-items:start;
  display:grid;
  position:relative
}
.timeline-event-art{
  z-index:-1;
  top:calc(-4*var(--u));
  left:calc(27*var(--u));
  width:calc(75*var(--u));
  height:calc(73*var(--u));
  opacity:.95;
  position:absolute;
  overflow:hidden
}
.timeline-event-art img{
  display:block
}
.timeline-event-art-icon img{
  object-fit:contain;
  width:100%;
  height:100%
}
.timeline-event-art-sprite img{
  width:calc(250*var(--u));
  height:calc(79*var(--u));
  object-fit:fill;
  max-width:none;
  position:absolute
}
.timeline-art-1 img{
  top:0;
  left:0
}
.timeline-art-2 img{
  top:0;
  left:calc(-185*var(--u))
}
.timeline-art-3 img{
  top:0;
  left:calc(-87*var(--u))
}
.timeline-time{
  z-index:1;
  padding:calc(18*var(--u))calc(10*var(--u))0 calc(105*var(--u));
  font-size:calc(18*var(--u));
  text-align:right;
  white-space:nowrap;
  line-height:1
}
.timeline-event-copy{
  z-index:1;
  padding:calc(17*var(--u))calc(18*var(--u))calc(9*var(--u))calc(9*var(--u));
  position:relative
}
.timeline-event-copy h3{
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(16*var(--u));
  text-transform:uppercase;
  margin:0;
  font-weight:700;
  line-height:1.2
}
.timeline-ribbon{
  z-index:-1;
  width:calc(420*var(--u));
  height:calc(210*var(--u));
  object-fit:cover;
  opacity:.95;
  position:absolute;
  left:0
}
.dresscode{
  z-index:2;
  width:100%;
  color:var(--copy);
  text-align:center;
  position:absolute;
  left:0
}
.dresscode h3{
  margin:0 0 calc(22*var(--u));
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(37*var(--u));
  font-weight:400;
  line-height:1
}
.dresscode-swatches{
  gap:calc(13*var(--u))
}
.dresscode-swatch{
  width:calc(63*var(--u));
  height:calc(63*var(--u))
}
.timeline-empty-hint{
  padding:calc(12*var(--u))calc(30*var(--u));
  color:var(--copy);
  font-size:calc(16*var(--u));
  text-align:center;
  line-height:1.5
}
.dresscode-only-section{
  min-height:calc(430*var(--u))
}
.dresscode-standalone{
  top:calc(215*var(--u))
}
.gallery-section{
  color:var(--wedding-white);
  background:var(--section-fill)
}
.gallery-title-row{
  top:calc(19*var(--u));
  align-items:center;
  gap:calc(14*var(--u));
  width:100%;
  padding-left:calc(13*var(--u));
  display:flex;
  position:absolute;
  left:0
}
.gallery-title-row h2{
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(37*var(--u));
  flex:none;
  margin:0;
  font-weight:400;
  line-height:1
}
.gallery-title-row span{
  width:calc(142*var(--u));
  height:max(2px,calc(2*var(--u)));
  margin-top:calc(11*var(--u));
  background:var(--wedding-white);
  opacity:.8;
  display:block
}
.gallery-intro{
  top:calc(101*var(--u));
  left:calc(31*var(--u));
  width:calc(358*var(--u));
  font-size:max(12px,calc(13*var(--u)));
  letter-spacing:calc(1*var(--u));
  text-align:center;
  line-height:1.62;
  position:absolute
}
.gallery-slot{
  box-shadow:0 calc(4*var(--u))calc(5*var(--u))#0003;
  position:absolute
}
.gallery-photo-button{
  cursor:zoom-in;
  width:100%;
  height:100%
}
.gallery-photo-button:disabled{
  cursor:default
}
.gallery-large{
  left:calc(13*var(--u));
  width:calc(393*var(--u));
  height:calc(248*var(--u))
}
.gallery-tall{
  left:calc(13*var(--u));
  width:calc(241*var(--u));
  height:calc(470*var(--u))
}
.gallery-small{
  left:calc(269*var(--u));
  width:calc(137*var(--u));
  height:calc(227*var(--u))
}
.gallery-half{
  width:calc(192*var(--u));
  height:calc(238*var(--u))
}
.gallery-half-left{
  left:calc(13*var(--u))
}
.gallery-half-right{
  left:calc(221*var(--u));
  width:calc(185*var(--u))
}
.rsvp-section{
  min-height:calc(465*var(--u));
  padding:calc(48*var(--u))calc(30*var(--u))calc(54*var(--u));
  color:var(--copy);
  background-color:var(--wedding-white);
  background-image:linear-gradient(rgba(var(--wedding-white-rgb),.52),rgba(var(--wedding-white-rgb),.52)),var(--hdb-paper-texture);
  background-position:50%;
  background-size:calc(420*var(--u))auto;
  text-align:center
}
.rsvp-content{
  z-index:1;
  position:relative
}
.rsvp-floral{
  z-index:0;
  top:calc(-52*var(--u));
  left:calc(-90*var(--u));
  width:calc(260*var(--u));
  height:calc(260*var(--u));
  opacity:.17;
  transform:rotate(20deg)
}
.rsvp-section h2{
  font-family:var(--font-hdb-manstein),cursive;
  font-size:calc(43*var(--u));
  margin:0;
  font-weight:400;
  line-height:1
}
.rsvp-content>p{
  width:calc(330*var(--u));
  max-width:100%;
  margin:calc(16*var(--u))auto 0;
  font-size:max(12px,calc(13*var(--u)));
  font-style:italic;
  line-height:1.55
}
.rsvp-content>input{
  width:calc(330*var(--u));
  max-width:100%;
  height:calc(46*var(--u));
  margin-top:calc(22*var(--u));
  padding:0 calc(14*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.28);
  border-radius:calc(8*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.78);
  outline:none
}
.attendance-counter{
  width:calc(330*var(--u));
  max-width:100%;
  margin:calc(22*var(--u))auto 0;
  padding:calc(10*var(--u))calc(12*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.18);
  border-radius:calc(10*var(--u));
  background:rgba(var(--wedding-white-rgb),.62);
  font-size:max(12px,calc(13*var(--u)));
  justify-content:space-between;
  align-items:center;
  display:flex
}
.attendance-counter>div{
  align-items:center;
  gap:calc(10*var(--u));
  display:flex
}
.attendance-counter button{
  width:calc(29*var(--u));
  height:calc(29*var(--u));
  color:var(--wedding-white);
  background:var(--wedding-blue);
  cursor:pointer;
  border:0;
  border-radius:50%;
  place-items:center;
  display:grid
}
.attendance-counter button:disabled{
  opacity:.4
}
.attendance-counter output{
  min-width:calc(22*var(--u));
  font-weight:700
}
.rsvp-actions{
  gap:calc(12*var(--u));
  width:calc(330*var(--u));
  max-width:100%;
  margin:calc(18*var(--u))auto 0;
  grid-template-columns:1fr 1fr;
  display:grid
}
.rsvp-actions button{
  min-height:calc(48*var(--u));
  justify-content:center;
  align-items:center;
  gap:calc(7*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.35);
  border-radius:calc(10*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.82);
  cursor:pointer;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(12px,calc(12*var(--u)));
  font-weight:700;
  display:flex
}
.rsvp-actions button.active{
  color:var(--wedding-white);
  background:var(--wedding-blue)
}
.rsvp-actions button.active-muted{
  color:var(--wedding-white);
  border-color:var(--neutral-copy);
  background:var(--neutral-copy)
}
.rsvp-actions button:disabled{
  cursor:not-allowed;
  opacity:.55
}
.rsvp-notice{
  justify-content:center;
  align-items:center;
  gap:calc(6*var(--u));
  color:rgba(var(--copy-deep-rgb),.72);
  display:flex
}
.closing-section{
  min-height:calc(780*var(--u));
  padding:calc(38*var(--u))0 calc(54*var(--u));
  color:var(--copy);
  background:var(--wedding-white)
}
.closing-background{
  z-index:-5;
  background-position:top;
  background-size:calc(420*var(--u))auto;
  opacity:.5;
  background-repeat:repeat-y
}
.closing-section:before{
  z-index:-4;
  background:rgba(var(--wedding-white-rgb),.08);
  content:"";
  position:absolute;
  inset:0
}
.closing-ornament{
  z-index:-2;
  opacity:.3
}
.closing-ornament-left{
  top:calc(-2*var(--u));
  left:calc(-55*var(--u));
  width:calc(278*var(--u));
  height:calc(278*var(--u));
  transform:rotate(334deg)
}
.closing-ornament-right{
  top:calc(253*var(--u));
  left:calc(210*var(--u));
  width:calc(350*var(--u));
  height:calc(350*var(--u));
  transform:rotate(327deg)
}
.guestbook-content{
  width:calc(381*var(--u));
  max-width:calc(100% - calc(39*var(--u)));
  padding-top:calc(37*var(--u));
  text-align:center;
  margin:0 auto;
  position:relative
}
.guestbook-heading h2{
  font-family:var(--font-hdb-great-vibes),cursive;
  font-size:calc(51*var(--u));
  margin:0;
  font-weight:400;
  line-height:1
}
.guestbook-intro{
  width:calc(360*var(--u));
  max-width:100%;
  margin:calc(25*var(--u))auto 0;
  font-size:calc(14*var(--u));
  font-style:italic;
  line-height:1.44
}
.wish-box{
  width:calc(381*var(--u));
  max-width:100%;
  height:calc(531*var(--u));
  gap:calc(12*var(--u));
  margin:calc(20*var(--u))auto 0;
  padding:calc(20*var(--u))calc(17*var(--u))calc(14*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-white-rgb),.3);
  border-radius:calc(16*var(--u));
  background:rgba(var(--wedding-white-rgb),.12);
  box-shadow:0 calc(8*var(--u))calc(32*var(--u))#0000001a;
  -webkit-backdrop-filter:blur(calc(15*var(--u)));
  backdrop-filter:blur(calc(15*var(--u)));
  text-align:left;
  flex-direction:column;
  display:flex;
  overflow:hidden
}
.wish-box input,.wish-box textarea{
  width:100%;
  padding:calc(12*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-white-rgb),.4);
  border-radius:calc(8*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.12);
  font-family:Times New Roman,serif;
  font-size:max(16px,calc(16*var(--u)));
  outline:none
}
.wish-box input{
  height:calc(47*var(--u));
  flex:0 0 calc(47*var(--u))
}
.wish-box textarea{
  height:calc(90*var(--u));
  flex:0 0 calc(90*var(--u));
  resize:none
}
.wish-box input::placeholder,.wish-box textarea::placeholder{
  color:rgba(var(--copy-rgb),.84)
}
.wish-box input:focus,.wish-box textarea:focus{
  border-color:var(--wedding-blue);
  box-shadow:0 0 0 calc(2*var(--u))rgba(var(--wedding-primary-rgb),.12)
}
.wish-box>button{
  flex:0 0 calc(42*var(--u));
  width:100%;
  padding:calc(12*var(--u))calc(30*var(--u));
  border-radius:calc(10*var(--u));
  color:var(--wedding-white);
  background:var(--wedding-blue);
  cursor:pointer;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(15*var(--u));
  letter-spacing:calc(1*var(--u));
  border:0;
  font-weight:700
}
.wish-box>button:disabled{
  cursor:not-allowed;
  opacity:.6
}
.form-notice{
  margin:calc(-3*var(--u))0 0;
  color:var(--copy-strong);
  font-size:calc(11*var(--u));
  text-align:center;
  line-height:1.4
}
.wishes-list{
  min-height:0;
  margin-top:calc(1*var(--u));
  border-top:calc(1*var(--u))solid rgba(var(--wedding-white-rgb),.38);
  scrollbar-color:rgba(var(--wedding-primary-rgb),.45)transparent;
  flex:1;
  overflow-y:auto
}
.wishes-list strong{
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(15*var(--u))
}
.empty-wishes{
  margin:calc(30*var(--u))0;
  color:rgba(var(--copy-rgb),.68);
  font-size:calc(12*var(--u));
  text-align:center;
  font-style:italic
}
.closing-section:before{
  background:rgba(var(--wedding-white-rgb),.18)
}
.closing-ornament-right{
  top:calc(405*var(--u));
  left:calc(238*var(--u));
  width:calc(330*var(--u));
  height:calc(330*var(--u))
}
.guestbook-content{
  padding-top:0
}
.guestbook-heading>span{
  margin-bottom:calc(8*var(--u));
  color:var(--copy-accent);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(10px,calc(10*var(--u)));
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:700;
  display:block
}
.guestbook-intro{
  width:calc(354*var(--u));
  margin-top:calc(17*var(--u));
  font-size:max(12px,calc(13*var(--u)));
  line-height:1.55
}
.signature-filter{
  width:0;
  height:0;
  position:absolute;
  overflow:hidden
}
.guestbook-shell{
  width:100%;
  margin-top:calc(23*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.22);
  border-radius:calc(18*var(--u));
  background:rgba(var(--wedding-white-rgb),.58);
  box-shadow:0 calc(14*var(--u))calc(42*var(--u))rgba(var(--wedding-deep-rgb),.14);
  -webkit-backdrop-filter:blur(calc(10*var(--u)));
  backdrop-filter:blur(calc(10*var(--u)));
  text-align:left;
  overflow:hidden
}
.guestbook-board-heading,.wishes-heading{
  padding:calc(13*var(--u))calc(15*var(--u));
  color:var(--copy-strong);
  background:rgba(var(--wedding-white-rgb),.64);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  justify-content:space-between;
  align-items:center;
  display:flex
}
.guestbook-board-heading>div{
  align-items:center;
  gap:calc(7*var(--u));
  font-size:max(12px,calc(13*var(--u)));
  font-weight:700;
  display:flex
}
.guestbook-board-heading small,.wishes-heading small{
  color:rgba(var(--copy-deep-rgb),.75);
  font-size:max(10px,calc(10*var(--u)));
  font-style:italic;
  font-weight:400
}
.signature-board{
  width:100%;
  min-height:calc(218*var(--u));
  border-top:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.16);
  border-bottom:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.16);
  background:var(--surface-soft);
  -webkit-user-select:none;
  user-select:none;
  outline:none;
  position:relative;
  overflow:hidden
}
.signature-board-placing{
  cursor:crosshair;
  touch-action:none;
  box-shadow:inset 0 0 0 calc(2*var(--u))rgba(var(--wedding-gold-rgb),.5)
}
.signature-board-placing:focus-visible{
  box-shadow:inset 0 0 0 calc(3*var(--u))var(--wedding-gold)
}
.signature-board-image{
  width:100%;
  min-height:calc(218*var(--u));
  object-fit:cover;
  pointer-events:none;
  display:block
}
.signature-board:after{
  inset:calc(8*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-white-rgb),.62);
  content:"";
  pointer-events:none;
  position:absolute
}
.board-signature{
  z-index:2;
  pointer-events:none;
  opacity:.86;
  position:absolute;
  transform:translate(-50%,-50%)
}
.board-signature img{
  width:100%;
  height:auto;
  display:block
}
.board-signature-current{
  z-index:4;
  padding:calc(2*var(--u));
  border-radius:calc(2*var(--u));
  opacity:1;
  outline:calc(2*var(--u))solid var(--wedding-gold);
  outline-offset:calc(3*var(--u))
}
.signature-board-empty{
  z-index:3;
  align-items:center;
  gap:calc(7*var(--u));
  width:max-content;
  max-width:80%;
  padding:calc(9*var(--u))calc(13*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.16);
  border-radius:calc(99*var(--u));
  color:rgba(var(--copy-deep-rgb),.82);
  background:rgba(var(--wedding-white-rgb),.72);
  font-size:max(11px,calc(11*var(--u)));
  font-style:italic;
  display:flex;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)
}
.signature-board-hint{
  z-index:5;
  right:calc(10*var(--u));
  bottom:calc(10*var(--u));
  align-items:center;
  gap:calc(5*var(--u));
  padding:calc(7*var(--u))calc(10*var(--u));
  border-radius:calc(99*var(--u));
  color:var(--wedding-white);
  background:rgba(var(--wedding-deep-rgb),.88);
  font-size:max(10px,calc(10*var(--u)));
  pointer-events:none;
  display:flex;
  position:absolute
}
.signature-board-download{
  z-index:5;
  right:calc(14*var(--u));
  bottom:calc(14*var(--u));
  width:max(28px,calc(30*var(--u)));
  height:max(28px,calc(30*var(--u)));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.24);
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.9);
  box-shadow:0 calc(3*var(--u))calc(8*var(--u))rgba(var(--wedding-deep-rgb),.16);
  cursor:pointer;
  border-radius:50%;
  place-items:center;
  padding:0;
  transition:background-color .15s,opacity .15s;
  display:grid;
  position:absolute
}
.signature-board-download:hover{
  background:rgb(var(--wedding-white-rgb))
}
.signature-board-download:focus-visible{
  outline:calc(2*var(--u))solid var(--wedding-gold);
  outline-offset:calc(2*var(--u))
}
.signature-board-download:disabled{
  cursor:wait;
  opacity:.7
}
.guestbook-start-button{
  width:calc(100% - calc(28*var(--u)));
  min-height:calc(45*var(--u));
  justify-content:center;
  align-items:center;
  gap:calc(8*var(--u));
  margin:calc(14*var(--u));
  border-radius:calc(10*var(--u));
  color:var(--wedding-white);
  background:var(--wedding-blue);
  cursor:pointer;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(12px,calc(13*var(--u)));
  letter-spacing:.06em;
  box-shadow:0 calc(6*var(--u))calc(14*var(--u))rgba(var(--wedding-deep-rgb),.18);
  border:0;
  font-weight:700;
  display:flex
}
.guestbook-start-button:hover{
  background:var(--wedding-blue-deep)
}
.guestbook-start-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.wish-entry-actions button:focus-visible,.load-more-button:focus-visible{
  outline:calc(2*var(--u))solid var(--wedding-gold);
  outline-offset:calc(2*var(--u))
}
.guestbook-start-button:disabled{
  cursor:not-allowed;
  opacity:.58
}
.guestbook-signed-note{
  justify-content:center;
  align-items:center;
  gap:calc(7*var(--u));
  margin:calc(14*var(--u));
  padding:calc(10*var(--u))calc(12*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.2);
  border-radius:calc(10*var(--u));
  color:var(--copy-strong);
  background:rgba(var(--surface-note-rgb),.7);
  font-size:max(11px,calc(11*var(--u)));
  text-align:center;
  font-style:italic;
  display:flex
}
.guestbook-workflow{
  border-top:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.18);
  background:rgba(var(--surface-panel-rgb),.82)
}
.workflow-heading{
  padding:calc(11*var(--u))calc(14*var(--u))calc(7*var(--u));
  justify-content:space-between;
  align-items:center;
  display:flex
}
.workflow-heading>button{
  width:calc(29*var(--u));
  height:calc(29*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-primary-rgb),.08);
  cursor:pointer;
  border:0;
  border-radius:50%;
  place-items:center;
  display:grid
}
.workflow-heading>button:disabled{
  cursor:not-allowed;
  opacity:.5
}
.workflow-steps{
  align-items:center;
  gap:calc(18*var(--u));
  display:flex
}
.workflow-steps span{
  width:calc(24*var(--u));
  height:calc(24*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.28);
  color:rgba(var(--copy-rgb),.58);
  background:var(--wedding-white);
  font-size:max(10px,calc(10*var(--u)));
  border-radius:50%;
  place-items:center;
  font-weight:700;
  display:grid;
  position:relative
}
.workflow-steps span+span:before{
  top:calc(11*var(--u));
  right:calc(23*var(--u));
  width:calc(19*var(--u));
  height:calc(1*var(--u));
  background:rgba(var(--wedding-primary-rgb),.22);
  content:"";
  position:absolute
}
.workflow-steps span.active,.workflow-steps span.done{
  color:var(--wedding-white);
  border-color:var(--wedding-blue);
  background:var(--wedding-blue)
}
.workflow-panel{
  padding:calc(6*var(--u))calc(15*var(--u))calc(16*var(--u))
}
.workflow-panel h3{
  font-family:var(--font-hdb-great-vibes),cursive;
  font-size:calc(29*var(--u));
  margin:0;
  font-weight:400;
  line-height:1.15
}
.workflow-panel>p{
  margin:calc(5*var(--u))0 calc(12*var(--u));
  color:rgba(var(--copy-deep-rgb),.8);
  font-size:max(11px,calc(11*var(--u)));
  font-style:italic;
  line-height:1.45
}
.signature-pen{
  align-items:center;
  gap:calc(6*var(--u));
  margin-bottom:calc(8*var(--u));
  color:rgba(var(--copy-deep-rgb),.72);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(10px,calc(10*var(--u)));
  display:flex
}
.signature-pen span{
  width:calc(12*var(--u));
  height:calc(12*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-deep-rgb),.16);
  border-radius:50%
}
.signature-pad{
  height:calc(154*var(--u));
  border:calc(1*var(--u))dashed rgba(var(--wedding-primary-rgb),.58);
  border-radius:calc(10*var(--u));
  background:rgba(var(--wedding-white-rgb),.86);
  box-shadow:inset 0 calc(2*var(--u))calc(8*var(--u))rgba(var(--wedding-deep-rgb),.06);
  overflow:hidden
}
.signature-pad-dark{
  background:var(--wedding-blue-deep)
}
.signature-canvas{
  width:100%;
  height:calc(154*var(--u));
  touch-action:none;
  display:block
}
.workflow-actions{
  gap:calc(9*var(--u));
  margin-top:calc(13*var(--u));
  grid-template-columns:1fr 1fr;
  display:grid
}
.workflow-actions button{
  min-height:calc(41*var(--u));
  justify-content:center;
  align-items:center;
  gap:calc(6*var(--u));
  padding:calc(8*var(--u))calc(10*var(--u));
  border-radius:calc(9*var(--u));
  cursor:pointer;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(11px,calc(11*var(--u)));
  font-weight:700;
  display:flex
}
.workflow-actions button:disabled{
  cursor:not-allowed;
  opacity:.55
}
.secondary-button{
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.34);
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.64)
}
.primary-button{
  border:calc(1*var(--u))solid var(--wedding-blue);
  color:var(--wedding-white);
  background:var(--wedding-blue)
}
.signature-size{
  align-items:center;
  gap:calc(8*var(--u));
  margin-top:calc(12*var(--u));
  padding:calc(12*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.18);
  border-radius:calc(10*var(--u));
  background:rgba(var(--wedding-white-rgb),.65);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(11px,calc(11*var(--u)));
  grid-template-columns:1fr auto;
  display:grid
}
.signature-size strong{
  color:var(--copy-accent);
  font-size:max(12px,calc(12*var(--u)))
}
.signature-size input{
  width:100%;
  accent-color:var(--wedding-blue);
  grid-column:1/-1
}
.identity-fields{
  gap:calc(11*var(--u));
  margin-top:calc(6*var(--u));
  display:grid
}
.identity-fields label>span,.identity-fields legend,.message-field>span{
  margin-bottom:calc(6*var(--u));
  color:var(--copy-strong);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(11px,calc(11*var(--u)));
  font-weight:700;
  display:block
}
.identity-fields input,.message-field textarea{
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.32);
  border-radius:calc(9*var(--u));
  width:100%;
  color:var(--copy-strong);
  background:rgba(var(--wedding-white-rgb),.78);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(16px,calc(13*var(--u)));
  outline:none;
  font-weight:500
}
.identity-fields input{
  height:calc(42*var(--u));
  padding:0 calc(12*var(--u))
}
.message-field{
  margin-top:calc(11*var(--u));
  display:block
}
.message-field textarea{
  min-height:calc(112*var(--u));
  padding:calc(11*var(--u))calc(12*var(--u));
  resize:vertical;
  line-height:1.55
}
.identity-fields input::placeholder,.message-field textarea::placeholder{
  color:rgba(var(--copy-rgb),.55)
}
.identity-fields input:focus,.message-field textarea:focus{
  border-color:var(--wedding-blue);
  box-shadow:0 0 0 calc(2*var(--u))rgba(var(--wedding-primary-rgb),.1)
}
.identity-fields fieldset{
  border:0;
  min-width:0;
  margin:0;
  padding:0
}
.guest-side-fields{
  gap:calc(8*var(--u));
  grid-template-columns:1fr 1fr;
  display:grid
}
.guest-side-fields button{
  min-height:calc(38*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.25);
  border-radius:calc(8*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.58);
  cursor:pointer;
  font-size:max(11px,calc(11*var(--u)))
}
.guest-side-fields button.active{
  color:var(--wedding-white);
  border-color:var(--wedding-blue);
  background:var(--wedding-blue)
}
.writing-as{
  padding:calc(8*var(--u))calc(10*var(--u));
  border-radius:calc(8*var(--u));
  background:rgba(var(--wedding-primary-rgb),.07);
  text-align:left;
  margin:calc(4*var(--u))0 calc(10*var(--u))!important
}
.form-notice{
  margin:0 calc(14*var(--u))calc(14*var(--u));
  color:var(--copy-strong);
  font-size:max(11px,calc(11*var(--u)));
  text-align:center;
  font-style:italic;
  line-height:1.45
}
.wishes-section{
  margin-top:calc(22*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.18);
  border-radius:calc(16*var(--u));
  background:rgba(var(--wedding-white-rgb),.52);
  box-shadow:0 calc(10*var(--u))calc(30*var(--u))rgba(var(--wedding-deep-rgb),.1);
  text-align:left;
  overflow:hidden
}
.wishes-heading{
  border-bottom:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.16)
}
.wishes-heading>span{
  font-family:var(--font-hdb-great-vibes),cursive;
  font-size:calc(24*var(--u))
}
.wishes-list{
  gap:calc(10*var(--u));
  min-height:0;
  padding:calc(12*var(--u));
  border-top:0;
  margin:0;
  display:grid;
  overflow:visible
}
.wish-entry{
  padding:calc(12*var(--u))calc(13*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.16);
  border-left:calc(3*var(--u))solid rgba(var(--wedding-gold-rgb),.48);
  border-radius:calc(10*var(--u));
  background:rgba(var(--wedding-white-rgb),.67);
  box-shadow:0 calc(5*var(--u))calc(14*var(--u))rgba(var(--wedding-deep-rgb),.06)
}
.wish-entry-own{
  border-color:rgba(var(--wedding-primary-rgb),.3);
  border-left-color:var(--wedding-blue);
  background:rgba(var(--surface-highlight-rgb),.78)
}
.wish-entry-header{
  justify-content:space-between;
  align-items:flex-start;
  gap:calc(8*var(--u));
  min-width:0;
  display:flex
}
.wish-author{
  align-items:center;
  gap:calc(9*var(--u));
  min-width:0;
  display:flex
}
.wish-author>div{
  min-width:0
}
.wish-author strong{
  overflow-wrap:anywhere;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(12px,calc(13*var(--u)));
  font-weight:500;
  line-height:1.25;
  display:block
}
.wish-author small{
  margin-top:calc(2*var(--u));
  color:var(--copy-accent);
  font-size:max(10px,calc(10*var(--u)));
  font-style:italic;
  display:block
}
.wish-signature-frame{
  width:calc(69*var(--u));
  height:calc(42*var(--u));
  flex:0 0 calc(69*var(--u));
  padding:calc(2*var(--u));
  border-radius:calc(6*var(--u));
  place-items:center;
  display:grid
}
.wish-signature-frame-dark{
  background:var(--wedding-blue-deep)
}
.wish-signature{
  object-fit:contain;
  width:100%;
  height:100%;
  display:block
}
.wish-entry time{
  padding-top:calc(3*var(--u));
  color:rgba(var(--copy-deep-rgb),.72);
  font-size:max(10px,calc(10*var(--u)));
  flex:none;
  font-style:italic
}
.wish-entry>p{
  margin:calc(8*var(--u))0 0;
  padding-top:calc(8*var(--u));
  border-top:max(1px,calc(1*var(--u)))dashed rgba(var(--wedding-primary-rgb),.2);
  color:var(--copy-strong);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(13px,calc(14*var(--u)));
  overflow-wrap:anywhere;
  font-weight:500;
  line-height:1.6
}
.wish-entry-actions{
  gap:calc(6*var(--u));
  margin-top:calc(10*var(--u));
  flex-wrap:wrap;
  display:flex
}
.wish-entry-actions button{
  min-height:calc(28*var(--u));
  align-items:center;
  gap:calc(4*var(--u));
  padding:calc(5*var(--u))calc(8*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.22);
  border-radius:calc(99*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.58);
  cursor:pointer;
  font-size:max(10px,calc(10*var(--u)));
  display:inline-flex
}
.wish-entry-actions button:disabled{
  cursor:not-allowed;
  opacity:.5
}
.empty-wishes{
  min-height:calc(126*var(--u));
  align-content:center;
  place-items:center;
  gap:calc(7*var(--u));
  color:rgba(var(--copy-rgb),.75);
  text-align:center;
  margin:0;
  display:grid
}
.empty-wishes p{
  font-size:max(11px,calc(11*var(--u)));
  margin:0;
  font-style:italic
}
.load-more-button{
  min-height:calc(35*var(--u));
  justify-content:center;
  align-items:center;
  gap:calc(5*var(--u));
  margin:calc(2*var(--u))auto 0;
  padding:calc(7*var(--u))calc(15*var(--u));
  border:calc(1*var(--u))solid rgba(var(--wedding-primary-rgb),.28);
  border-radius:calc(99*var(--u));
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.54);
  cursor:pointer;
  font-size:max(10px,calc(10*var(--u)));
  font-weight:700;
  display:flex
}
.spin{
  animation:.8s linear infinite hdb-spin
}
.bank-section{
  min-height:calc(225*var(--u));
  padding-top:calc(31*var(--u));
  padding-bottom:calc(24*var(--u));
  color:var(--copy);
  background-color:var(--wedding-white);
  background-image:linear-gradient(rgba(var(--wedding-white-rgb),.08),rgba(var(--wedding-white-rgb),.08)),var(--hdb-paper-texture);
  background-position:top;
  background-size:calc(420*var(--u))auto
}
.bank-list{
  gap:calc(16*var(--u));
  flex-direction:column;
  display:flex
}
.bank-card{
  z-index:1;
  width:calc(389*var(--u));
  max-width:calc(100% - calc(30*var(--u)));
  min-height:calc(162*var(--u));
  padding:calc(9*var(--u));
  gap:calc(4*var(--u));
  border:calc(1*var(--u))solid rgba(var(--copy-rgb),.18);
  border-radius:calc(18*var(--u));
  background:rgba(var(--wedding-white-rgb),.12);
  box-shadow:0 calc(7*var(--u))calc(22*var(--u))rgba(var(--shadow-card-rgb),.16);
  -webkit-backdrop-filter:blur(calc(15*var(--u)));
  backdrop-filter:blur(calc(15*var(--u)));
  margin:0 auto;
  display:flex;
  position:relative;
  overflow:hidden
}
.bank-qr{
  width:calc(144*var(--u));
  height:calc(144*var(--u));
  flex:0 0 calc(144*var(--u));
  border-radius:calc(13*var(--u));
  background:rgba(var(--wedding-white-rgb),.66);
  cursor:zoom-in;
  border:0;
  padding:0;
  overflow:hidden
}
.bank-qr img{
  object-fit:contain;
  width:100%;
  height:100%
}
.bank-details{
  min-width:0;
  padding:calc(4*var(--u))calc(4*var(--u))calc(2*var(--u));
  text-align:center;
  flex-direction:column;
  flex:1;
  justify-content:center;
  align-items:center;
  display:flex
}
.bank-script{
  font-family:var(--font-hdb-great-vibes),cursive;
  font-size:calc(28*var(--u));
  margin:0;
  line-height:1
}
.bank-owner,.bank-account{
  width:100%;
  margin:calc(9*var(--u))0 0;
  line-height:1.2
}
.bank-owner{
  padding-bottom:calc(6*var(--u));
  border-bottom:calc(1*var(--u))solid rgba(var(--copy-rgb),.25);
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(calc(19*var(--u))*var(--fit-scale,1));
  white-space:nowrap
}
.bank-owner span{
  white-space:nowrap;
  display:block
}
.bank-account{
  margin-top:calc(7*var(--u));
  font-size:max(12px,calc(13*var(--u)));
  letter-spacing:.02em
}
.bank-actions{
  margin-top:calc(10*var(--u));
  justify-content:center;
  display:flex
}
.bank-zoom{
  min-height:36px;
  padding:calc(6*var(--u))calc(16*var(--u));
  border:calc(1*var(--u))solid rgba(var(--copy-rgb),.35);
  color:var(--copy);
  background:rgba(var(--wedding-white-rgb),.78);
  cursor:pointer;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(12px,calc(12*var(--u)));
  border-radius:9999px;
  font-weight:700
}
.gift-message{
  width:calc(370*var(--u));
  max-width:calc(100% - calc(40*var(--u)));
  margin:calc(16*var(--u))auto 0;
  color:rgba(var(--copy-rgb),.82);
  font-size:max(12px,calc(12*var(--u)));
  text-align:center;
  white-space:pre-line;
  overflow-wrap:anywhere;
  font-style:italic;
  line-height:1.45
}
.bank-section.gift-note-section{
  min-height:0;
  padding-bottom:calc(40*var(--u))
}
.gift-note-title{
  font-size:calc(40*var(--u));
  text-align:center;
  font-weight:400
}
.gift-note{
  margin-top:calc(14*var(--u));
  color:var(--copy);
  font-size:max(14px,calc(15*var(--u)));
  line-height:1.65
}
.qr-modal-backdrop{
  z-index:80;
  padding:calc(24*var(--u));
  background:rgba(var(--modal-backdrop-rgb),.88);
  place-items:center;
  display:grid;
  position:fixed;
  inset:0
}
.qr-modal{
  width:calc(330*var(--u));
  max-width:100%;
  padding:calc(28*var(--u))calc(24*var(--u))calc(24*var(--u));
  border-radius:calc(18*var(--u));
  color:var(--copy);
  background:var(--wedding-white);
  box-shadow:0 calc(24*var(--u))calc(70*var(--u))#0006;
  text-align:center;
  position:relative
}
.qr-modal-close{
  top:calc(10*var(--u));
  right:calc(10*var(--u));
  width:calc(34*var(--u));
  height:calc(34*var(--u));
  color:var(--copy);
  background:var(--surface-muted);
  cursor:pointer;
  border:0;
  border-radius:50%;
  place-items:center;
  display:grid;
  position:absolute
}
.qr-modal>p{
  color:var(--copy-accent);
  font-size:max(11px,calc(11*var(--u)));
  letter-spacing:.2em;
  text-transform:uppercase;
  margin:0
}
.qr-modal h2{
  margin:calc(7*var(--u))0 calc(18*var(--u));
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:calc(23*var(--u));
  font-weight:500
}
.qr-modal-image{
  width:calc(240*var(--u));
  height:calc(240*var(--u));
  margin:0 auto
}
.qr-modal-image img{
  object-fit:contain;
  width:100%;
  height:100%
}
.qr-modal-switch{
  margin-top:calc(18*var(--u));
  padding:calc(10*var(--u))calc(18*var(--u));
  border-radius:calc(99*var(--u));
  color:var(--wedding-white);
  background:var(--wedding-blue);
  cursor:pointer;
  font-size:calc(12*var(--u));
  border:0
}
.thank-you-section{
  height:calc(431*var(--u));
  background:var(--wedding-white)
}
.closing-bottom-photo{
  z-index:-2;
  height:calc(431*var(--u));
  background-color:var(--photo-muted);
  background-position:50%;
  background-size:cover
}
.thank-you-section-shade{
  z-index:-1;
  background:linear-gradient(#0000 52%,#00000014);
  position:absolute;
  inset:0
}
.thank-you-panel{
  z-index:2;
  width:calc(420*var(--u));
  max-width:100%;
  min-height:calc(140*var(--u));
  padding:calc(8*var(--u))calc(28*var(--u))calc(10*var(--u));
  color:var(--wedding-white);
  text-align:center;
  background:#00000073;
  flex-direction:column;
  justify-content:center;
  display:flex;
  position:absolute;
  bottom:0;
  left:0
}
.thank-you-title{
  font-family:var(--font-hdb-great-vibes),cursive;
  font-size:calc(38*var(--u));
  text-shadow:0 calc(2*var(--u))calc(2*var(--u))#000000a6,0 calc(4*var(--u))calc(8*var(--u))#0006;
  margin:0;
  line-height:1
}
.thank-you-copy{
  margin:calc(7*var(--u))0 0;
  font-size:max(12px,calc(12*var(--u)));
  text-shadow:0 calc(1*var(--u))calc(2*var(--u))#000c,0 calc(2*var(--u))calc(5*var(--u))#0000008c;
  font-style:italic;
  line-height:1.38
}
.thank-you-couple{
  margin:calc(6*var(--u))0 0;
  font-family:var(--font-hdb-playfair),Georgia,serif;
  font-size:max(11px,calc(11*var(--u)));
  letter-spacing:.08em;
  text-shadow:0 calc(1*var(--u))calc(2*var(--u))#000c
}
@keyframes hdb-heart-pulse{
  0%{
  transform:scale(1)
}
12%{
  transform:scale(1.24)
}
24%{
  transform:scale(1.04)
}
36%{
  transform:scale(1.17)
}
52%,to{
  transform:scale(1)
}

}
@keyframes hdb-map-pulse{
  0%,to{
  box-shadow:0 calc(5*var(--u))calc(12*var(--u))rgba(var(--wedding-primary-rgb),.2);
  transform:scale(1)
}
50%{
  box-shadow:0 calc(7*var(--u))calc(19*var(--u))rgba(var(--wedding-primary-rgb),.34);
  transform:scale(1.035)
}

}
@keyframes hdb-spin{
  to{
  transform:rotate(360deg)
}

}
@media (prefers-reduced-motion:reduce){
  .day-heart,.map-button{
  animation:none
}

}


.root{
  --font-hdb-literata:"Literata",Georgia,serif;
  --font-hdb-playfair:"Playfair Display",Georgia,serif;
  --font-hdb-yeseva:"Yeseva One",Georgia,serif;
  --font-hdb-great-vibes:"Great Vibes",cursive;
  --font-hdb-manstein:"FZ Manstein","Dancing Script",cursive;
  --hdb-opening-gate:url("../static/images/opening-gate.webp");
  --hdb-paper-texture:url("../static/images/paper-texture.webp");
}
