﻿@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Great+Vibes&family=Manrope:wght@300;400;500;600&display=swap');

/* Migrated template-scoped rules from base.css. Keep Botanica visuals out of the global site stylesheet. */
.invite .guest-survey>label:has(input[name=adults]),.invite .guest-survey>label:has(input[name=children]){font-size:15px!important;font-weight:400!important}
.invite .guest-survey .attendance-question{justify-content:center!important;gap:12px!important}
.invite .guest-survey .attendance-question legend{width:100%;text-align:center;margin-bottom:12px!important}
.invite .guest-survey .attendance-question label{justify-content:center;padding:12px 18px;border:1px solid color-mix(in srgb,var(--accent) 45%,#aaa);border-radius:99px;cursor:pointer;transition:.2s}
.invite .guest-survey .attendance-question label:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.invite .guest-survey .attendance-question label:has(input:checked){background:var(--accent);color:#fff;border-color:var(--accent)}
.invite .guest-survey .attendance-question input{position:absolute;opacity:0;pointer-events:none}

.invite .guest-survey{row-gap:30px!important}
.invite .guest-survey .attendance-question label{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;opacity:.72}
.invite .guest-survey .attendance-question label:hover{opacity:.88}
.invite .guest-survey .attendance-question label:has(input:checked){opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent),0 6px 18px #0002}
.invite .guest-survey fieldset{margin-top:8px!important;margin-bottom:8px!important}

.invite section{border-top:0!important;border-bottom:0!important;margin-top:0!important;margin-bottom:0!important}


.hero-wave,.ornament,.story-branch{display:none}

.invite{
  --accent:#8f977d;
  --page:#f8f5ef;
  --soft:#f8f5ef;
  background:#f8f5ef;
  color:#1c1b19;
}


.invite,.invite *{font-family:'Manrope',Arial,sans-serif!important}
.invite h1,.invite h2,.invite h3,.invite .wedding-calendar>strong,.invite .countdown-clock b,.invite .details-title,.invite .detail-item h2,.invite .guest-survey legend{
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-weight:400!important;
}

.invite section:not(.hero):not(.footer){
  padding-top:104px;
  padding-bottom:104px;
  background:#f8f5ef!important;
  background-image:none!important;
  color:#1c1b19!important;
}
.invite section:not(.hero):not(.footer)+section:not(.hero):not(.footer){padding-top:92px}
.invite h2,.invite .details-title{
  margin-bottom:16px;
  font-size:clamp(42px,6vw,64px)!important;
  line-height:1.02;
  letter-spacing:.015em;
}
.invite p{font-weight:300;line-height:1.9;letter-spacing:.01em}

.invite .hero{
  min-height:760px;
  justify-content:center;
  text-align:center;
  background-repeat:no-repeat!important;
  background-color:#5f5b53;
  overflow:hidden;
}
.invite .hero:after{
  background:linear-gradient(180deg,rgba(22,20,18,.18),rgba(22,20,18,.38))!important;
}
.invite .hero>div:not(.hero-wave){
  position:relative;
  z-index:2;
  width:min(720px,92%);
  padding:40px 24px 86px;
}
.invite .hero .eyebrow{
  color:#fff!important;
  font:500 11px 'Manrope',Arial,sans-serif!important;
  letter-spacing:.35em;
  text-transform:uppercase;
}
.invite .hero h1{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin:28px 0 30px;
  color:#fff!important;
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(60px,10vw,104px)!important;
  font-weight:300!important;
  line-height:.82!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
.invite .hero h1 span{
  color:#fff!important;
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-weight:300!important;
  white-space:nowrap;
}
.invite .hero h1 em{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:min(310px,72vw);
  color:#fff;
  font-family:'Great Vibes',cursive!important;
  font-size:.66em;
  font-style:normal;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.invite .hero h1 em:before,.invite .hero h1 em:after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(255,255,255,.68);
}
.invite .hero .date{
  color:#fff!important;
  font:500 11px 'Manrope',Arial,sans-serif!important;
  letter-spacing:.35em;
  text-transform:uppercase;
}
.invite .hero .hero-botanical-leaf{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:78px;
  display:block;
  width:118px;
  height:78px;
  transform:translateX(-50%);
  background:#d8d0bd;
  opacity:.9;
  pointer-events:none;
  -webkit-mask:url('/assets/images/listG-clean.svg') center/contain no-repeat;
  mask:url('/assets/images/listG-clean.svg') center/contain no-repeat;
  filter:drop-shadow(0 1px 2px rgba(42,34,24,.18));
}
.invite .hero .inline-date{
  width:auto;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.7);
  border-radius:0;
  background:transparent!important;
  color:#fff!important;
  font:500 11px 'Manrope',Arial,sans-serif!important;
  letter-spacing:.24em;
}

.invite .story-branch{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:min(230px,64%);
  margin:48px auto 0;
  color:#8f977d;
  opacity:.9;
}
.invite .story-branch span{height:1px;flex:1;background:currentColor}
.invite .story-branch b{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:30px;font-weight:400;line-height:1;color:inherit}

.invite .guest-survey,.invite .details-inner,.invite .map-card,.invite .wedding-calendar{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.invite .schedule .list-row{border-color:color-mix(in srgb,#8f977d 28%,transparent)}
.invite .palette i{border-color:#f8f5ef}
.invite .btn,.invite .navigator-btn,.invite .detail-add{
  background:#8f977d!important;
  color:#fff!important;
  font-weight:500;
}
.invite .footer{background:#f8f5ef!important;color:#1c1b19!important}

@media(max-width:800px){
  .invite .hero{min-height:680px}
  .invite .hero h1{font-size:clamp(48px,16vw,72px)!important;letter-spacing:.08em!important}
  .invite .hero .hero-botanical-leaf{bottom:72px;width:104px;height:69px}
  .invite section:not(.hero):not(.footer){padding-top:78px;padding-bottom:78px}
}

.invite .details .block-content,.invite .details-inner,.invite .detail-item{text-align:center!important}
.invite .details-inner{width:100%;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.invite .details-inner .detail-item{padding-left:0!important;padding-right:0!important}
.invite .details-inner .detail-item h2{margin:0 auto 18px!important;font-size:clamp(32px,4.5vw,44px)!important;line-height:1.08!important;text-align:center!important}
.invite .details-inner .detail-item p{margin-left:auto!important;margin-right:auto!important;text-align:center!important}

.invite .schedule-branch{display:block;width:min(280px,68%);height:auto;margin:54px auto 0;color:#8f977d;opacity:.9}.invite .schedule-branch svg{display:block;width:100%;height:auto}

.invite .invite-text{overflow:hidden;isolation:isolate}
.invite .invite-text:before{content:'';position:absolute;z-index:0;left:-92px;bottom:148px;width:240px;height:490px;background:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNzczLjAwMDAwMHB0IiBoZWlnaHQ9IjEzNTYuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCA3NzMuMDAwMDAwIDEzNTYuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMzU2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iI0RFRDlDQSIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTM0OTYgMTMzMzUgYy00OSAtMTI2IC0xNjggLTQxOSAtMjY0IC02NTAgLTM2MiAtODcxIC00ODAgLTExODYKLTY1NyAtMTc0NSAtMjI0IC03MDcgLTM4NCAtMTUzOSAtNDQ3IC0yMzMwIC0xNiAtMjA3IC0xNiAtNzc3IDAgLTk1NSAxMyAtMTQ2Cjc2IC02NzUgOTIgLTc4MCA2OSAtNDQ2IDEwNiAtMTE5NSA3MiAtMTQ1MCAtNDQgLTMyMyAtMTMxIC03NjggLTIwMyAtMTAzMQotMzggLTEzOCAtMTEyIC0zNjUgLTE2MiAtNDk0IC02MyAtMTY0IC0zNTcgLTgxNCAtMzY0IC04MDYgLTEgMSAxMSA1NSAyNyAxMTkKMzcgMTQ2IDcyIDMzMyAxMDUgNTQ5IDEzIDkyIDQ1IDI3MyA3MCA0MDMgMjE5IDExNDEgMjYyIDIwMDYgMTQ5IDI5NzAgLTI4CjI0NCAtOTUgNjkwIC0xMzAgODc1IC03NiA0MDEgLTE5NSA4NTIgLTMxOCAxMjAzIC05NCAyNzAgLTMxMCA3OTYgLTQ3NyAxMTYyCi0xMjMgMjcxIC0xNDQgMzE0IC0xNTAgMzE1IC04IDAgLTM2IC0yNjIgLTczIC02OTUgLTQ4IC01NDkgLTU0IC0xMDY1IC0xNwotMTQ4MCAyMiAtMjUxIDY1IC01NzcgMTAxIC03NjggMTAgLTU2IDI4IC0xNTYgNDAgLTIyMiAxMiAtNjYgMzcgLTE5MSA1NgotMjc3IDMzIC0xNTQgMTI3IC02NjggMTk5IC0xMDk4IDIwIC0xMTggNDcgLTI3NiA2MSAtMzUwIDE1MyAtODI2IDE0NyAtNzk3CjE5OCAtMTA4NSA5OSAtNTU5IDE0NiAtOTQxIDE0NiAtMTE4MCAwIC0yMzUgLTEyIC0zMTkgLTc2IC01MjUgLTc2IC0yNDMgLTIwNQotNTA0IC01NTAgLTExMTcgLTEzNSAtMjM5IC00NTcgLTg0NCAtNjcxIC0xMjU4IC0yNjYgLTUxNSAtMjQ2IC00NjkgLTI1MQotNTYwIC0zIC01NyAtMSAtNzcgNyAtNzAgNSA2IDYwIDEwNyAxMjIgMjI1IDE2NyAzMjQgMTk2IDM3NCAyNDIgNDI5IDYwIDcwCjEyNSAxMTcgMjM5IDE3MyAyMjQgMTEwIDUyMiAxODkgMTI3MCAzMzkgNjE3IDEyMyAxMTE5IDI0MyAxNDc4IDM1MyA0MTYgMTI3CjczOSAyNDcgMTUwMCA1NTkgNzQgMzAgMjE0IDg2IDMxMCAxMjIgOTYgMzcgMjgzIDEwOSA0MTUgMTYwIDEzMiA1MSAyNDkgOTUKMjYwIDk4IDEwNCAzMCAyNTUgODAgMjU1IDg2IDAgMTMgLTI1MyAxNTkgLTM3NSAyMTcgLTEyOSA2MSAtMzc5IDE0OCAtNTQwCjE4OCAtNTkwIDE0OCAtMTM1NCA5NiAtMjA3OSAtMTQxIC05MDIgLTI5NCAtMTYzNSAtNzY3IC0yMjAwIC0xNDE4IC0xNDMgLTE2NAotMzM0IC0zOTYgLTM5NiAtNDc4IC00NSAtNjEgLTY2IC03MSAtMzIgLTE1IDExIDE4IDUwIDkyIDg3IDE2MyAzMTggNjA5IDQ4MAo4OTQgNTc5IDEwMTMgMjM4IDI4OCA2MjcgNjI1IDkwNiA3ODQgMzUwIDIwMCA3MzYgMzUxIDEyNjUgNDkyIDIyOSA2MSAyNDUgNjUKNzU1IDE2NyA0NjkgOTQgNjQxIDEzNiA5MTAgMjE4IDQ5MSAxNTEgODk1IDM2NSAxMzE3IDY5OCAyNzAgMjEyIDQxNiAzNTEgNzY1CjcyOCAyNDggMjY4IDQ4MSA0OTggNjA0IDU5NiAzNSAyOCA2NCA1MyA2NCA1NiAwIDMgLTEzNiAzIC0zMDIgMCAtNTUzIC0xMQotMTA3OCAtODAgLTE1ODMgLTIwOCAtNjQzIC0xNjQgLTEyNDIgLTQwOCAtMTc0NyAtNzEzIC03NjMgLTQ1OSAtMTM0MiAtOTY2Ci0yMDAzIC0xNzUxIC02MCAtNzEgLTExMiAtMTMyIC0xMTUgLTEzNSAtMyAtMyAtNjUgLTcxIC0xMzkgLTE1MyAtNzMgLTgxCi0xNDcgLTE1NyAtMTY1IC0xNjkgLTUzIC0zOCAtMjY2IC0yMjggLTM1OSAtMzIwIC00OCAtNDcgLTg3IC04MyAtODcgLTgwIDAgNAozMCA2MSA2NiAxMjcgOTMgMTY5IDM4NSA3NDkgNDc0IDk0MCAyMDIgNDM4IDIzNSA0OTYgNDA0IDcyMCAyMTEgMjc5IDI4NyAzMjYKODIzIDUxMSA0MzAgMTQ4IDQ0NCAxNTQgNjA2IDIzNSA0MTEgMjA3IDc1MyA1MTIgMTAyOSA5MTkgMjA3IDMwNSAzMzggNTY2CjcyMyAxNDQ1IDI3NCA2MjQgNTg2IDExODYgODI5IDE0OTQgMzYgNDYgNjQgODYgNjIgODggLTUgNSAtMjY3IC0xMDcgLTM1OQotMTU0IC0zNzMgLTE4NyAtODc4IC01MjIgLTEyMjUgLTgxMiAtNjY3IC01NTggLTE0MTcgLTE0ODcgLTE5MDcgLTIzNjYgLTEwNgotMTkxIC0yNDMgLTQ1NiAtMzA2IC01OTUgLTE5NiAtNDM0IC0zNjggLTc5NCAtMzc2IC03ODYgLTMgMiAxMiA1NSAzMSAxMTYgNTIKMTY1IDEwOCA0MDIgMTYxIDY4MCAyNSAxMzUgNTUgMjkyIDY2IDM1MCA1NyAyOTUgMjAyIDYyMSA0ODkgMTEwMSA1MTUgODYwCjcxMiAxMzEwIDg4OSAyMDMwIDE2MiA2NjEgMTkwIDEzODggOTYgMjQ4NCAtMjggMzI2IC03NiA4MzIgLTEwNSAxMTA1IC02OAo2NDQgLTg1IDg2NCAtMTAwIDEzMTAgLTYgMTYyIC0xMiAzMDQgLTEzIDMxNSAtMSAxMSAtNDIgLTgzIC05MSAtMjEweiIvPgo8L2c+Cjwvc3ZnPgo=') left bottom/contain no-repeat;opacity:.82;pointer-events:none}
.invite .invite-text>.block-content{position:relative;z-index:1}
@media(max-width:800px){.invite .invite-text:before{left:-78px;bottom:112px;width:205px;height:420px;opacity:.76}}

.invite .story-photo-frame{position:relative;isolation:isolate;width:min(470px,100%);height:auto;aspect-ratio:470/310;margin:54px auto 0}
.invite .story-photo-frame:before{content:'';position:absolute;z-index:0;inset:0;border:1px solid color-mix(in srgb,#8f977d 72%,transparent);border-radius:50% 50% 15px 15px;transform:translate(-28px,-4px);pointer-events:none}
.invite .story-photo-frame:after{content:'';display:block;position:absolute;z-index:3;left:-35px;bottom:11px;width:14px;height:14px;border-radius:50%;background:#8f977d;box-shadow:0 0 0 4px #f8f5ef;pointer-events:none}
.invite .story-photo-frame .direct-photo.photo{position:relative;z-index:1;width:100%;height:100%;margin:0;overflow:hidden}
.invite .story-photo-frame .direct-photo.photo>button{z-index:4}
.invite .story .story-branch{margin-top:72px}
@media(max-width:800px){.invite .story-photo-frame:before{transform:translate(-18px,-3px)}.invite .story-photo-frame:after{left:-24px;bottom:10px;width:12px;height:12px}}

.invite .schedule-wrap{overflow:hidden;text-align:left!important}
.invite .schedule-wrap>.block-content{position:relative;min-height:0}
.invite .schedule-wrap h2{position:relative;z-index:2;margin:0!important;text-align:left!important}
.invite .schedule-wrap h2:after{content:'';display:block;width:46px;height:1px;margin-top:25px;background:#8f977d}
.invite .schedule-wrap .schedule{position:relative;z-index:2;width:calc(100% - 145px);max-width:560px;margin:28px 0 0!important;padding:0 0 0 31px;text-align:left!important}
.invite .schedule-wrap .schedule:before{content:'';position:absolute;left:7px;top:25px;bottom:25px;width:1px;background:color-mix(in srgb,#8f977d 72%,transparent)}
.invite .schedule-wrap .schedule .list-row{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;min-height:59px;padding:0!important;border:0!important;text-align:left!important}
.invite .schedule-wrap .schedule .list-row:before{content:'';position:absolute;left:-29px;top:50%;width:11px;height:11px;border-radius:50%;background:#8f977d;box-shadow:0 0 0 3px #f8f5ef;transform:translateY(-50%)}
.invite .schedule-wrap .schedule .list-row b{color:#8f977d!important;font-size:16px;font-weight:600;text-align:left!important}
.invite .schedule-wrap .schedule .list-row span{align-self:stretch;display:flex;align-items:center;border-bottom:1px solid color-mix(in srgb,#8f977d 26%,transparent);color:#1c1b19!important;font-size:15px;font-weight:500;text-align:left!important}
.invite .schedule-wrap .schedule .list-row:last-child span{border-bottom:0}
.invite .schedule-wrap .schedule-branch{display:block;position:absolute;z-index:1;right:-55px;bottom:-34px;width:180px;height:372px;margin:0;background:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjYyMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRlc2M9IkNyZWF0ZWQgd2l0aCBpbWFnZXRyYWNlci5qcyB2ZXJzaW9uIDEuMi42IiA+PHBhdGggZmlsbD0iI0RFRDlDQSIgc3Ryb2tlPSIjREVEOUNBIiBzdHJva2Utd2lkdGg9IjEiIG9wYWNpdHk9IjEiIGQ9Ik0gODguNSAzMiBMIDkxLjUgMzIgTCA5NSAzNCBMIDk1IDM2LjUgTCA5OCAzOS41IEwgOTkgNDMuNSBMIDExOCA3Ny41IEwgMTE4IDgwLjUgTCAxMjMgODguNSBMIDEzMCAxMDkuNSBMIDEzNCAxMTYuNSBMIDEzNSAxMjYuNSBMIDEzNyAxMjkuNSBMIDEzOSAxNDEuNSBMIDE0NyAxNjUuNSBMIDE0OSAxODIuNSBMIDE1MSAxODYuNSBMIDE1MSAxOTQuNSBMIDE1MiAxOTUuNSBMIDE1MiAyMjQuNSBMIDE1MSAyMjUuNSBMIDE1MSAyNDQuNSBMIDE0OSAyNTAuNSBMIDE0OSAyODYuNSBMIDE1MiAyOTguNSBMIDE1MyAzMTUuNSBMIDE1NSAzMTguNSBRIDE1Ni4yIDMzMi44IDE2MiAzNDIuNSBMIDE2MiAzNDYuNSBMIDE2NSAzNTEuNSBMIDE2NiAzNTguNSBMIDE3NCAzNzQuNSBMIDE3NSAzNzkuNSBMIDE3OSAzODUuNSBMIDE4MCAzOTIuNSBRIDE4Ni4yIDQwMC4zIDE4OSA0MTEuNSBMIDE5MyA0MTUuNSBRIDE5Mi41IDQyMSAxOTUuNSA0MjMgUSAyMDAuMyA0MjQuNyAxOTkgNDIwLjUgTCAyMDAgNDE4LjUgTCAxOTMgMzk2LjUgTCAxOTMgMzkxLjUgTCAxOTEgMzg5LjUgTCAxODkgMzgyLjUgTCAxODggMzczLjUgTCAxODEgMzUzLjUgTCAxNzkgMzM0LjUgTCAxNzYgMzIzLjUgTCAxNzYgMzE1LjUgTCAxNzUgMzE0LjUgTCAxNzMgMjk0LjUgTCAxNzUgMjg2LjUgTCAxNzYgMjcwLjUgTCAxODAgMjU4LjUgTCAxODAgMjUzLjUgTCAxODkgMjI4LjUgTCAyMDggMTg4LjUgTCAyMjEgMTY4LjUgTCAyMzUgMTM3LjUgTCAyMzguNSAxMzQgTCAyNDEgMTM0LjUgTCAyNDEgMTU0LjUgTCAyNDIgMTU1LjUgTCAyNDMgMjAwLjUgTCAyNDUgMjA2LjUgTCAyNDYgMjQxLjUgTCAyNDUgMjQyLjUgTCAyNDUgMjU2LjUgTCAyNDMgMjU5LjUgTCAyNDMgMjcyLjUgUSAyNDAuNSAyNzQgMjQyIDI3OS41IEwgMjQwIDI4Mi41IEwgMjM3IDMwNC41IEwgMjM0IDMxMS41IEwgMjM0IDMxNi41IEwgMjMyIDMxOS41IEwgMjI5IDMzMS41IEwgMjE3IDM1OC41IEwgMjE2IDM2NC41IEwgMjEzIDM2Ny41IEwgMjA4IDM4MC41IFEgMjA4LjEgMzg5LjEgMjA1IDM5NC41IEwgMjA1IDQxMi41IEwgMjA2IDQxMy41IEwgMjA3IDQyNy41IFEgMjA0LjUgNDI5IDIwNiA0MzQuNSBMIDIwOCA0NDMuNSBMIDIxNiA0NTcuNSBMIDIxNyA0NjIuNSBMIDIyNSA0NzguNSBMIDI2My41IDUzOSBMIDI2NiA1NDAuNSBMIDI2NiA1NDIuNSBMIDI3NCA1NTEuNSBMIDI3NSA1NTQuNSBMIDI4Ni41IDU2NyBRIDI4OC44IDU2Ni4zIDI4OCA1NjguNSBMIDI5MS41IDU3MyBMIDI5NSA1NzUuNSBMIDMwMCA1ODEuNSBMIDMwMCA1ODYgTCAyOTYuNSA1ODYgTCAyOTIgNTgzIEwgMjczLjUgNTU4IFEgMjcxLjMgNTU4LjggMjcyIDU1Ni41IEwgMjYyLjUgNTQ0IFEgMjYwLjMgNTQ0LjggMjYxIDU0Mi41IEwgMjQ2IDUyMyBMIDI0MSA1MjAuNSBRIDI0MS44IDUxOC4zIDIzOS41IDUxOSBRIDIyNS4zIDUwNS4yIDIwNi41IDQ5NiBMIDIwMS41IDQ5NCBMIDE5Ni41IDQ5NCBMIDE4NC41IDQ4OSBMIDE4MC41IDQ4OSBMIDE3NS41IDQ4NiBMIDE2Ny41IDQ4NSBMIDE1OC41IDQ4MSBMIDE1NC41IDQ4MSBMIDE0OC41IDQ3NyBMIDE0My41IDQ3NyBMIDExNC41IDQ2MiBMIDkyIDQ0NiBRIDkzLjEgNDQzLjMgOTAuNSA0NDQgTCA3OSA0MzMuNSBMIDc1IDQyNyBMIDcyIDQyNS41IEwgNzAgNDIyLjUgTCA2MyA0MTUuNSBMIDI1IDM2My41IEwgMTQgMzUxLjUgTCAxMyAzNDggUSAxMC4zIDM0OS4xIDExIDM0Ni41IEwgOCAzNDIgUSA1LjMgMzQzLjEgNiAzNDAuNSBRIDMuMiAzMzkuNCA0IDMzNiBMIDYuNSAzMzUgTCAxNCAzMzcgUSAxMi44IDM0MCAxNi41IDMzOSBMIDQ5LjUgMzU0IEwgNTIuNSAzNTQgTCA1NC41IDM1NiBMIDU3LjUgMzU2IEwgNjMuNSAzNTkgTCA2Ny41IDM1OSBRIDcyLjQgMzYzLjEgODAuNSAzNjQgTCA4NC41IDM2NyBMIDkyLjUgMzY5IEwgMTE3IDM4MiBRIDExNS45IDM4NC43IDExOC41IDM4NCBMIDE0MyA0MDEgTCAxNDQuNSA0MDQgTCAxNjMgNDIwLjUgTCAxNjYgNDI2IFEgMTY4LjcgNDI0LjkgMTY4IDQyNy41IEwgMTc4IDQzOC41IEwgMjA3IDQ4MC41IEwgMjI2LjUgNTAyIEwgMjMxLjUgNTA2IEwgMjM1IDUwNSBMIDIzNSA1MDIuNSBMIDIyOSA0OTIuNSBMIDIyNSA0ODguNSBMIDIxOSA0NzYuNSBMIDIxNiA0NzMuNSBMIDIxNiA0NzAuNSBMIDIxMSA0NjMuNSBMIDIwMSA0NDEuNSBMIDE5NCA0MzEuNSBMIDE5MyA0MjYuNSBMIDE4OCA0MjAuNSBMIDE4NCA0MDkuNSBMIDE3OSA0MDIuNSBMIDE3OSAzOTkuNSBMIDE3MCAzODAuNSBMIDE3MCAzNzcuNSBMIDE2NiAzNzEuNSBMIDE2MiAzNTcuNSBMIDE1NiAzNDUuNSBMIDE0NiAzMzEgTCAxNDMgMzI5LjUgUSAxNDMuOCAzMjcuMyAxNDEuNSAzMjggTCAxNDAgMzI1IEwgMTM4IDMyNSBRIDEzOS4xIDMyMi4zIDEzNi41IDMyMyBMIDEzMS41IDMxNyBMIDEyNiAzMTIuNSBMIDEyMy41IDMwOSBMIDExOS41IDMwNyBMIDk2IDI4NC41IEwgNzkgMjYyLjUgTCA2NyAyNDAuNSBMIDY2IDIzNC41IEwgNTkgMjE5LjUgTCA1OCAyMTIuNSBMIDUwIDE4OS41IEwgNTAgMTg1LjUgTCA0NSAxNzMuNSBMIDQ1IDE2OC41IEwgMzYgMTQ5LjUgTCAzNSAxNDQuNSBMIDM5LjUgMTQ0IEwgNDUgMTQ4LjUgTCA0OS41IDE1NCBMIDU0IDE1Ny41IFEgNTMuMyAxNTkuOCA1NS41IDE1OSBMIDU5IDE2MS41IEwgNjAuNSAxNjQgTCA2OCAxNzAuNSBMIDg0IDE4OC41IEwgOTAgMTk4LjUgTCAxMDcgMjE4LjUgTCAxMDcgMjIwLjUgTCAxMTIgMjI2LjUgTCAxMTMgMjMwLjUgTCAxMjAgMjQxLjUgTCAxMjEgMjQ4LjUgTCAxMjMgMjUwLjUgTCAxMjkgMjY2LjUgTCAxMjkgMjcwLjUgTCAxMzQgMjgxLjUgTCAxMzUgMjg3LjUgTCAxNDEuNSAyOTQgUSAxNDQuMSAyOTAuNiAxNDMgMjgzLjUgTCAxNDAgMjc3LjUgTCAxNDAgMjcyLjUgTCAxMzcgMjYyLjUgTCAxMzUgMjYwLjUgTCAxMzQgMjUzLjUgTCAxMjEgMjMyLjUgTCAxMjAgMjI3LjUgTCAxMTggMjI1LjUgTCAxMTcgMjIwLjUgTCAxMTIgMjEwLjUgTCAxMDMgMTczLjUgTCAxMDMgMTY5LjUgTCAxMDAgMTYzLjUgTCAxMDAgMTU4LjUgTCA5NyAxNDYuNSBMIDk2IDEyOS41IEwgOTUgMTI4LjUgTCA5NSA4MC41IEwgOTQgNzkuNSBMIDkyIDUyLjUgTCA4OC41IDMyIFogIiAvPjwvc3ZnPg==') center/contain no-repeat;opacity:.96;pointer-events:none}

@media(max-width:800px){.invite .schedule-wrap>.block-content{min-height:0}.invite .schedule-wrap .schedule{width:calc(100% - 45px);padding-left:27px}.invite .schedule-wrap .schedule:before{left:6px}.invite .schedule-wrap .schedule .list-row{grid-template-columns:70px minmax(0,1fr)}.invite .schedule-wrap .schedule .list-row:before{left:-26px;width:9px;height:9px}.invite .schedule-wrap .schedule .list-row b{font-size:14px}.invite .schedule-wrap .schedule .list-row span{font-size:13px}.invite .schedule-wrap .schedule-branch{right:-48px;bottom:-24px;width:145px;height:300px;opacity:.9}}

.invite .invite-text h2{max-width:650px;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
.invite .invite-text h2:after{content:'';display:block;width:38px;height:1px;margin-top:20px;background:#8f977d}
.invite .invite-text>.block-content>p{text-align:left!important}
.invite .invite-ornament{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;width:min(220px,58%);margin:42px auto 8px;color:#8f977d}
.invite .invite-ornament span{height:1px;flex:1;background:color-mix(in srgb,#8f977d 48%,transparent)}
.invite .invite-ornament b{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:30px;font-weight:400;line-height:1;color:#8f977d}
.invite .invite-text .wedding-calendar{margin-top:22px}

.invite .invite-text h2{white-space:pre-line}

.invite .schedule-wrap h2{text-align:center!important}
.invite .schedule-wrap h2:after{margin-left:auto;margin-right:auto}
.invite .schedule-wrap .schedule{width:min(520px,78%)!important;margin:28px auto 0!important}
.invite .schedule-wrap .schedule-branch{right:calc(-7vw - 1px)!important}
@media(max-width:800px){.invite .schedule-wrap .schedule{width:88%!important}.invite .schedule-wrap .schedule-branch{right:-21px!important}}




/* Taller, slimmer dress-code arches */
.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{flex:0 0 26%!important;width:26%!important;height:480px!important;border-radius:150px 150px 12px 12px!important}
.invite .dress .looks-carousel .look-card:not(.is-active){transform:scale(.76)!important}
.invite .dress .looks-carousel .looks:before,.invite .dress .looks-carousel .looks:after{flex:0 0 37%!important}
@media(max-width:800px){.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{flex-basis:26%!important;width:26%!important;height:375px!important;border-radius:120px 120px 10px 10px!important}.invite .dress .looks-carousel .look-card:not(.is-active){transform:scale(.74)!important}.invite .dress .looks-carousel .looks:before,.invite .dress .looks-carousel .looks:after{flex-basis:37%!important}}


/* Balanced dress-code arches and restored photo control */
.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{flex:0 0 29%!important;width:29%!important;height:430px!important;border-radius:145px 145px 12px 12px!important;background-repeat:no-repeat!important}
.invite .dress .looks-carousel .looks:before,.invite .dress .looks-carousel .looks:after{flex:0 0 35.5%!important}
.invite .dress.editable .look-change{display:block!important;position:absolute!important;inset:auto 12px 14px 12px!important;z-index:7!important;width:calc(100% - 24px)!important;padding:9px 8px!important;border:0!important;border-radius:999px!important;background:#fffffff0!important;color:#1c1b19!important;font-size:11px!important;opacity:1!important;box-shadow:0 3px 12px #0002!important}
.invite .dress.editable .look-card figcaption{bottom:52px!important}
@media(max-width:800px){.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{flex-basis:30%!important;width:30%!important;height:340px!important;border-radius:112px 112px 10px 10px!important}.invite .dress .looks-carousel .looks:before,.invite .dress .looks-carousel .looks:after{flex-basis:35%!important}}


/* Click the dress-code photo itself to edit it */
.invite .dress.editable .look-change{display:block!important;position:absolute!important;inset:0!important;z-index:4!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;border-radius:inherit!important;background:transparent!important;color:transparent!important;font-size:0!important;opacity:1!important;box-shadow:none!important;cursor:pointer!important}
.invite .dress.editable .look-card:hover .look-change{background:#00000012!important;color:transparent!important}
.invite .dress.editable .look-delete{z-index:8!important}
.invite .dress.editable .look-card figcaption{bottom:0!important;z-index:5;pointer-events:none}


/* Reliable dress photo editing and full-frame image fill */
.invite .dress .look-card{background-size:cover!important;background-repeat:no-repeat!important;cursor:pointer!important}
.invite .dress.editable .look-change{pointer-events:none!important}

.invite .dress .look-card{background-size:var(--look-size,cover)!important}


/* Photo editor frame matches the dress-code arches */
.modal-stage.photo-look{width:min(34vw,250px)!important;aspect-ratio:29/67!important;border-radius:145px 145px 12px 12px!important}
@media(max-width:800px){.modal-stage.photo-look{width:min(52vw,220px)!important;aspect-ratio:30/68!important;border-radius:112px 112px 10px 10px!important}}


/* Mirrored schedule branch on the left */
.invite .schedule-wrap .schedule-branch{left:calc(-7vw - 1px)!important;right:auto!important;transform:scaleX(-1)!important;transform-origin:center!important}
@media(max-width:800px){.invite .schedule-wrap .schedule-branch{left:-21px!important;right:auto!important}}


/* Enlarge dress-code photos 1.2x without changing section dimensions */
.invite .dress .looks-carousel .looks{padding-top:55px!important;padding-bottom:55px!important;margin-top:-21px!important;margin-bottom:-21px!important}
.invite .dress .looks-carousel .look-card.is-active{transform:scale(1.2)!important}
.invite .dress .looks-carousel .look-card:not(.is-active){transform:scale(.91)!important}
@media(max-width:800px){.invite .dress .looks-carousel .looks{padding-top:48px!important;padding-bottom:48px!important;margin-top:-22px!important;margin-bottom:-22px!important}.invite .dress .looks-carousel .look-card.is-active{transform:scale(1.2)!important}.invite .dress .looks-carousel .look-card:not(.is-active){transform:scale(.89)!important}}


/* Hide dress-code swipe hint */
.invite .dress .looks-carousel:after{display:none!important;content:none!important}


/* Standalone filled guest-chat panel */
.invite .chat{padding-top:72px!important;padding-bottom:72px!important;background:#f8f5ef!important;text-align:left!important}
.invite .chat>.block-content{position:relative;max-width:680px;margin:0 auto;padding:58px 52px 54px;border-radius:0;background:transparent!important;text-align:left!important}
.invite .chat h2{max-width:500px;margin:0 0 34px!important;font-size:47px!important;line-height:1.08!important;text-align:left!important}
.invite .chat .btn{padding:13px 24px;border-radius:999px;background:#8f977d!important;color:#fff!important}
@media(max-width:800px){.invite .chat{padding:45px 20px!important}.invite .chat>.block-content{padding:42px 28px 38px;border-radius:22px}.invite .chat h2{font-size:36px!important;margin-bottom:28px!important}}


/* Slightly wider guest-chat panel */
.invite .chat>.block-content{width:min(760px,calc(100% + 80px))!important;max-width:none!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)}
@media(max-width:800px){.invite .chat>.block-content{width:calc(100% + 12px)!important}}


/* Centered typography and short editorial separators */
.invite section:not(.hero):not(.footer)>.block-content>h2,.invite section:not(.hero):not(.footer)>.block-content>p,.invite .details-title{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.invite .chat>.block-content{text-align:center!important}
.invite .chat h2{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.invite .chat>.block-content:before{
  content:'';
  position:absolute;
  z-index:0;
  top:18px;
  right:0;
  bottom:0;
  left:55%;
  border-right:1.5px solid #8f977d;
  border-bottom:1.5px solid #8f977d;
  border-bottom-right-radius:34px;
  pointer-events:none;
}
.invite .chat>.block-content:after{
  content:'';
  position:absolute;
  z-index:1;
  right:42px;
  bottom:-7px;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#8f977d;
  pointer-events:none;
}
.invite .chat>.block-content>h2,
.invite .chat>.block-content>.btn{position:relative;z-index:2}
@media(max-width:800px){
  .invite .chat>.block-content:before{top:12px;left:48%;border-width:1px;border-bottom-right-radius:26px}
  .invite .chat>.block-content:after{right:30px;bottom:-6px;width:12px;height:12px}
}
.invite section:not(.hero):not(.footer)>.block-content>h2:after,.invite .details-title:after,.invite .details-inner .detail-item h2:after{content:'';display:block;width:44px;height:1px;margin:22px auto 24px!important;background:#8f977d}
.invite .place h2:after,.invite .schedule-wrap h2:after{margin-left:auto!important;margin-right:auto!important}
.invite .details-inner{gap:0!important}
.invite .details-inner .detail-item{border-bottom:0!important;padding-top:34px!important;padding-bottom:34px!important}
.invite .details-inner .detail-item:first-child{padding-top:0!important}
.invite .details-inner .detail-item:last-of-type{padding-bottom:0!important}
.invite .details-inner .detail-item+.detail-item:before{content:'';display:block;width:44px;height:1px;margin:0 auto 34px;background:#8f977d}
.invite .details-inner .detail-item h2,.invite .details-inner .detail-item p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}


/* Active dress-code SVG frame and translucent side masks */
.invite .dress .look-card{isolation:isolate}
.invite .dress .look-card.is-active:before{content:'';position:absolute;z-index:6;inset:-15px -11px -5px;display:block;background:url('/assets/images/ramka5-clean.svg?v=1') center/100% 100% no-repeat;pointer-events:none}
.invite .dress .look-card:not(.is-active){opacity:1!important;filter:none!important}
.invite .dress .look-card:not(.is-active):after{content:'';position:absolute;z-index:3;inset:0;border-radius:inherit;background:rgba(248,245,239,.48);pointer-events:none}
@media(max-width:800px){.invite .dress .look-card.is-active:before{inset:-12px -9px -4px}}


/* Force the active SVG frame to render as a colored mask */
.invite .dress .look-card.is-active:before{display:block!important;opacity:1!important;background:#8f977d!important;-webkit-mask:url('/assets/images/ramka5-clean.svg?v=2') center/100% 100% no-repeat!important;mask:url('/assets/images/ramka5-clean.svg?v=2') center/100% 100% no-repeat!important}


/* Inline SVG frame on the active dress-code photo */
.invite .dress .look-card.is-active:before{display:none!important}
.invite .dress .look-svg-frame{display:none;position:absolute;z-index:6;left:-11px;top:-15px;width:calc(100% + 22px);height:calc(100% + 20px);overflow:visible;pointer-events:none}
.invite .dress .look-card.is-active .look-svg-frame{display:block!important}
@media(max-width:800px){.invite .dress .look-svg-frame{left:-9px;top:-12px;width:calc(100% + 18px);height:calc(100% + 16px)}}


/* Match photo arch curvature to the SVG frame */
.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{border-radius:50% 50% 12px 12px / 21% 21% 12px 12px!important}
.invite .dress .look-svg-frame{top:-22px!important;height:calc(100% + 27px)!important}
@media(max-width:800px){.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{border-radius:50% 50% 10px 10px / 21% 21% 10px 10px!important}.invite .dress .look-svg-frame{top:-18px!important;height:calc(100% + 23px)!important}}


/* Lower dress-code photos to reveal the frame dot */
.invite .dress .looks-carousel{margin-top:55px!important;margin-bottom:-21px!important}
@media(max-width:800px){.invite .dress .looks-carousel{margin-top:50px!important;margin-bottom:-16px!important}}


/* Updated dress frame at its natural aspect ratio */
.invite .dress .look-svg-frame{left:-6px!important;top:-13px!important;width:calc(100% + 12px)!important;height:auto!important;aspect-ratio:605/1400!important;object-fit:contain!important}
@media(max-width:800px){.invite .dress .look-svg-frame{left:-5px!important;top:-11px!important;width:calc(100% + 10px)!important;height:auto!important}}


/* Latest tall SVG frame, preserved without stretching */
.invite .dress .look-svg-frame{left:50%!important;top:-10px!important;width:auto!important;height:calc(100% + 20px)!important;aspect-ratio:auto!important;transform:translateX(-50%)!important}
@media(max-width:800px){.invite .dress .look-svg-frame{top:-8px!important;height:calc(100% + 16px)!important}}


/* New frame slightly larger than photo; restore original photo arch */
.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{border-radius:145px 145px 12px 12px!important}
.invite .dress .look-svg-frame{left:-8px!important;top:-18px!important;width:calc(100% + 16px)!important;height:calc(100% + 26px)!important;aspect-ratio:auto!important;transform:none!important}
@media(max-width:800px){.invite .dress .looks-carousel .look-card,.invite .dress .looks-carousel .add-look-card{border-radius:112px 112px 10px 10px!important}.invite .dress .look-svg-frame{left:-7px!important;top:-15px!important;width:calc(100% + 14px)!important;height:calc(100% + 22px)!important}}


/* Extra carousel headroom so the frame top is not clipped */
.invite .dress .looks-carousel .looks{padding-top:76px!important;margin-top:-42px!important}
@media(max-width:800px){.invite .dress .looks-carousel .looks{padding-top:66px!important;margin-top:-40px!important}}


/* No separator between detail subtitle and its text */
.invite .details-inner .detail-item h2:after{display:none!important;content:none!important}


/* Equal spacing above and below detail separators */
.invite .details-inner .detail-item{padding-bottom:0!important}
.invite .details-inner .detail-item+.detail-item{padding-top:34px!important}
.invite .details-inner .detail-item+.detail-item:before{margin-top:0!important;margin-bottom:34px!important}
.invite .details-inner:after{
  content:'\2661';
  display:grid;
  place-items:center;
  width:min(220px,58%);
  height:32px;
  margin:46px auto 0;
  color:#8f977d;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:30px;
  font-weight:400;
  line-height:1;
  background:
    linear-gradient(currentColor,currentColor) left center/calc(50% - 22px) 1px no-repeat,
    linear-gradient(currentColor,currentColor) right center/calc(50% - 22px) 1px no-repeat;
}


/* Countdown photo with the supplied SVG arch and circle */
.invite .countdown-photo{width:min(430px,78%)!important;aspect-ratio:171/251!important;height:auto!important;margin-bottom:165px!important;border-radius:50% 50% 12px 12px!important;overflow:visible!important}
.invite .countdown-photo .countdown-svg-frame{display:block;position:absolute;z-index:3;left:0;top:-11.2%;width:124.6%;height:154.2%;overflow:visible;pointer-events:none}
.invite .countdown-photo>button{z-index:4!important}
@media(max-width:800px){.invite .countdown-photo{width:min(330px,72%)!important;margin-bottom:125px!important}}


/* Restore original countdown photo shape; use a smaller frame */
.invite .countdown-photo{width:min(620px,100%)!important;aspect-ratio:4/3!important;height:auto!important;margin-bottom:78px!important;border-radius:180px 180px 14px 14px!important}
.invite .countdown-photo .countdown-svg-frame{left:4%!important;top:-6%!important;width:92%!important;height:118%!important;transform:none!important}
@media(max-width:800px){.invite .countdown-photo{width:min(620px,100%)!important;margin-bottom:64px!important}.invite .countdown-photo .countdown-svg-frame{left:5%!important;top:-5%!important;width:90%!important;height:116%!important}}


/* Shift countdown SVG frame strongly to the right */
.invite .countdown-photo .countdown-svg-frame{left:46%!important}
@media(max-width:800px){.invite .countdown-photo .countdown-svg-frame{left:44%!important}}


/* Place countdown frame circle beyond the photo's right edge */
.invite .countdown-photo .countdown-svg-frame{left:66%!important}
@media(max-width:800px){.invite .countdown-photo .countdown-svg-frame{left:64%!important}}


/* Remove invisible SVG overflow while preserving its visible position */
.invite .countdown-photo .countdown-svg-frame{width:49%!important}
@media(max-width:800px){.invite .countdown-photo .countdown-svg-frame{width:50%!important}}


/* Raise countdown frame slightly */
.invite .countdown-photo .countdown-svg-frame{top:-9%!important}
@media(max-width:800px){.invite .countdown-photo .countdown-svg-frame{top:-8%!important}}


/* Countdown photo and frame matched to the reference arch */
.invite .countdown-photo{width:min(520px,88%)!important;aspect-ratio:335/360!important;border-radius:50% 50% 14px 14px / 42% 42% 14px 14px!important;margin-bottom:165px!important}
.invite .countdown-photo .countdown-svg-frame{left:0!important;top:-11.1%!important;width:124.5%!important;height:154.1%!important}
.modal-stage.photo-countdown{width:min(55vw,400px)!important;aspect-ratio:335/360!important;border-radius:50% 50% 14px 14px / 42% 42% 14px 14px!important}
@media(max-width:800px){.invite .countdown-photo{width:min(420px,86%)!important;margin-bottom:130px!important}.invite .countdown-photo .countdown-svg-frame{left:0!important;top:-11.1%!important;width:124.5%!important;height:154.1%!important}.modal-stage.photo-countdown{width:min(72vw,340px)!important}}


/* Precisely align countdown frame to the reference composition */
.invite .countdown-photo .countdown-svg-frame{left:44%!important;top:-11.1%!important;width:70%!important;height:154.2%!important}
@media(max-width:800px){.invite .countdown-photo .countdown-svg-frame{left:44%!important;top:-11.1%!important;width:70%!important;height:154.2%!important}}


/* Keep the SVG arch aligned and render its lower ornament as a true circle */
.invite .countdown-photo .countdown-svg-frame{clip-path:inset(0 0 28% 0)!important}
.invite .countdown-photo:after{content:'';position:absolute;z-index:3;right:-8%;bottom:-16%;width:31%;aspect-ratio:1;border-radius:50%;background:#8f977d;pointer-events:none}
@media(max-width:800px){.invite .countdown-photo:after{right:-8%;bottom:-15%;width:31%}}


/* Align countdown frame just outside the photo and remove the bottom strip */
.invite .countdown-photo .countdown-svg-frame{left:calc(44% + 5px)!important;top:-12.2%!important}


/* Latest countdown frame, shifted farther right */
.invite .countdown-photo .countdown-svg-frame{left:calc(44% + 13px)!important}


/* Clean editorial countdown frame */
.invite .countdown-photo .countdown-svg-frame{display:none!important}
.invite .countdown-photo:before{content:'';position:absolute;z-index:3;top:-9px;right:-8px;bottom:-7px;width:63%;border-top:1.5px solid #8f977d;border-right:1.5px solid #8f977d;border-radius:100% 52% 0 0 / 43% 20% 0 0;pointer-events:none}
.invite .countdown-photo:after{right:-10%!important;bottom:-13%!important;width:29%!important;box-shadow:0 0 0 3px #f8f5ef}
@media(max-width:800px){.invite .countdown-photo:before{top:-7px;right:-6px;bottom:-5px;border-width:1px}.invite .countdown-photo:after{right:-9%!important;bottom:-12%!important;width:29%!important}}


/* Smooth contour that stays outside the countdown photo */
.invite .countdown-photo:before{inset:-9px -9px -8px -9px!important;width:auto!important;border:0!important;border-radius:0!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M45 1 C76 -4 100 8 100 38 L100 92' fill='none' stroke='%238f977d' stroke-width='.45' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat!important}


/* Exact photo-matching countdown arch; circle without white outline */
.invite .countdown-photo:before{inset:-7px -7px -6px -7px!important;width:auto!important;background:none!important;border-top:1.5px solid #8f977d!important;border-right:1.5px solid #8f977d!important;border-bottom:0!important;border-left:0!important;border-radius:50% 50% 14px 14px / 42% 42% 14px 14px!important}
.invite .countdown-photo:after{box-shadow:none!important}
@media(max-width:800px){.invite .countdown-photo:before{inset:-5px -5px -4px -5px!important;border-width:1px!important;border-radius:50% 50% 12px 12px / 42% 42% 12px 12px!important}}

/* Shallower editorial arch, shared by photo and decorative outline */
.invite .countdown-photo{border-radius:50% 50% 14px 14px / 32% 32% 14px 14px!important}
.invite .countdown-photo:before{border-radius:50% 50% 14px 14px / 32% 32% 14px 14px!important}
@media(max-width:800px){
  .invite .countdown-photo{border-radius:50% 50% 12px 12px / 32% 32% 12px 12px!important}
  .invite .countdown-photo:before{border-radius:50% 50% 12px 12px / 32% 32% 12px 12px!important}
}

/* RSVP branch: second, light decorative foliage color */
.invite .rsvp-wrap .rsvp-branch{
  color:#ded9ca!important;
}

/* Template 01 composition: one final layer for template-only decor */
.invite #story .story-photo-frame{max-width:calc(100% - 30px)!important}
.invite .location-confirmed-preview{margin-bottom:30px!important}
.invite section.place:not(.hero):not(.footer){
  position:relative!important;
  min-height:660px!important;
  padding:92px 0 72px!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.invite section.place:not(.hero):not(.footer):before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:-74px!important;
  bottom:88px!important;
  width:38%!important;
  border-radius:260px 0 0 0!important;
  background:#dfe2d7!important;
  pointer-events:none!important;
}
.invite section.place:not(.hero):not(.footer):after{display:none!important}
.invite section.place:not(.hero):not(.footer) .place-map-toggle{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.invite section.place:not(.hero):not(.footer) .place-map-toggle .navigator-btn,
.invite section.place:not(.hero):not(.footer) .public-route-btn{
  width:100%!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  white-space:normal!important;
  line-height:1.25!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
.invite section.place:not(.hero):not(.footer) .location-editor,
.invite section.place:not(.hero):not(.footer) .public-place-panel{
  padding:18px!important;
  border-radius:20px!important;
  border:1px solid rgba(143,151,125,.18)!important;
  background:rgba(255,253,248,.82)!important;
  box-shadow:0 18px 46px rgba(82,72,56,.08)!important;
}
.invite section.place:not(.hero):not(.footer) .location-map,
.invite section.place:not(.hero):not(.footer) .public-place-map{
  height:205px!important;
  border-radius:15px!important;
  overflow:hidden!important;
}
.invite section.place:not(.hero):not(.footer) .location-actions{
  display:grid!important;
  gap:10px!important;
  margin-top:12px!important;
}
.invite .contacts{
  position:relative!important;
  z-index:3!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.invite .contacts:after{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  right:4%!important;
  bottom:-18px!important;
  width:43%!important;
  height:68%!important;
  background-color:#d3d0c7!important;
  -webkit-mask:url('/assets/images/vetka8.svg') right bottom/contain no-repeat!important;
  mask:url('/assets/images/vetka8.svg') right bottom/contain no-repeat!important;
  mix-blend-mode:normal!important;
  opacity:.72!important;
  clip-path:none!important;
  pointer-events:none!important;
}
.invite .contacts>.block-content{
  position:relative!important;
  z-index:4!important;
  width:68%!important;
  margin-left:0!important;
  margin-right:auto!important;
}
.invite .guest-detail-card h3{
  font-weight:700!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.invite .guest-detail-card h3 span{
  font-weight:500!important;
  font-size:.78em!important;
  opacity:.72;
}
.invite,
.invite .rsvp-wrap,
.invite .chat,
.invite .farewell-footer{overflow:visible!important}
.invite .rsvp-wrap{
  position:relative!important;
  z-index:3!important;
  padding-bottom:124px!important;
}
.invite .rsvp-wrap .rsvp-branch{
  position:absolute!important;
  left:0!important;
  width:100%!important;
  height:300px!important;
  bottom:-142px!important;
  z-index:5!important;
  clip-path:none!important;
}
.invite .chat{
  position:relative!important;
  z-index:2!important;
  padding-top:112px!important;
}
.invite .details{
  padding-top:64px!important;
  padding-bottom:46px!important;
}
.invite .details-inner{margin-bottom:0!important}
.invite .farewell-footer{
  position:relative!important;
  z-index:1!important;
  padding-top:52px!important;
  background:#f8f5ef!important;
}
@media(min-width:801px){
  .invite section.place:not(.hero):not(.footer){overflow:hidden!important}
  .invite section.place:not(.hero):not(.footer)>.block-content{
    width:330px!important;
    max-width:330px!important;
    margin-left:clamp(60px,8.2vw,86px)!important;
    margin-right:auto!important;
    padding:0!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer)>.block-content>h2{
    width:100%!important;
    max-width:330px!important;
    margin:0 auto 14px!important;
    font-size:clamp(36px,3.95vw,43px)!important;
    line-height:1.04!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer)>.block-content>p{
    width:100%!important;
    max-width:265px!important;
    margin:0 auto 32px!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer) .map-card,
  .invite section.place:not(.hero):not(.footer) .location-editor,
  .invite section.place:not(.hero):not(.footer) .public-place-panel{
    position:relative!important;
    z-index:4!important;
    width:100%!important;
    max-width:300px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .invite section.place:not(.hero):not(.footer) .venue-branch{
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    top:54px!important;
    right:-168px!important;
    width:48%!important;
    height:630px!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    color:#788368!important;
    fill:currentColor!important;
    pointer-events:none!important;
  }
}
@media(max-width:800px){
  .invite section.place:not(.hero):not(.footer){
    min-height:610px!important;
    padding:72px 0 60px!important;
  }
  .invite section.place:not(.hero):not(.footer):before{
    right:-58px!important;
    bottom:70px!important;
    width:38%!important;
    border-radius:180px 0 0 0!important;
  }
  .invite #story .story-photo-frame{
    width:calc(100% - 34px)!important;
    max-width:424px!important;
  }
  .invite #story .story-photo-frame:before{transform:translate(-14px,-3px)!important}
  .invite #story .story-photo-frame:after{left:-19px!important}
  .invite section.place:not(.hero):not(.footer)>.block-content{
    width:52%!important;
    max-width:226px!important;
    margin-left:24px!important;
    margin-right:auto!important;
    padding:0!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer)>.block-content>h2{
    width:100%!important;
    max-width:226px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:clamp(26px,6.6vw,30px)!important;
    line-height:1.04!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer)>.block-content>p,
  .invite section.place:not(.hero):not(.footer) .map-card,
  .invite section.place:not(.hero):not(.footer) .location-editor,
  .invite section.place:not(.hero):not(.footer) .public-place-panel{
    width:100%!important;
    max-width:218px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .invite section.place:not(.hero):not(.footer)>.block-content>p{
    max-width:210px!important;
    margin-bottom:24px!important;
  }
  .invite section.place:not(.hero):not(.footer) .venue-branch{
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    top:28px!important;
    right:-112px!important;
    width:68%!important;
    height:540px!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    color:#788368!important;
    fill:currentColor!important;
    pointer-events:none!important;
  }
  .invite .rsvp-wrap{padding-bottom:128px!important}
  .invite .rsvp-wrap .rsvp-branch{
    left:0!important;
    width:118%!important;
    height:292px!important;
    bottom:-146px!important;
  }
  .invite .chat{padding-top:118px!important}
  .invite .details{
    padding-top:50px!important;
    padding-bottom:38px!important;
  }
  .invite .contacts:after{
    right:2%!important;
    bottom:-18px!important;
    width:52%!important;
    height:62%!important;
    opacity:.62!important;
  }
  .invite .contacts>.block-content{
    width:88%!important;
  }
  .invite .farewell-footer{padding-top:48px!important}
}
