*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{color:#2f2b26;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#b58f8626,#0000 28rem),linear-gradient(#f7f2ea 0%,#fbf8f1 48%,#f7f2ea 100%);min-width:320px;margin:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}body::selection{color:#fff;background-color:#44422d}h1,h2,h3,p,figure,fieldset,blockquote{margin:0}fieldset{border:0;padding:0}ol,ul{margin:0;padding:0}li{list-style:none}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{border:0}img,svg{max-width:100%;display:block}address{font-style:normal}:focus-visible{outline-offset:4px;outline:2px solid #5a2328}.visually-hidden{white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:min(100% - 2rem,69rem);margin-inline:auto}.section{padding-block:4rem}.section__container{text-align:center;justify-items:center;gap:1.5rem;display:grid}.section__container--narrow{max-width:42rem}.section__kicker{color:#9b5f4d;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:700}.section__title{color:#5a2328;max-width:12ch;padding-bottom:1rem;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2rem,10vw,4.75rem);font-weight:500;line-height:.98;position:relative}.section__title:after{content:"";background:linear-gradient(90deg,#0000,#b58f86,#9b5f4d,#0000);width:min(7.5rem,46vw);height:1px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.section__text{color:#746b60;max-width:38rem;font-size:1rem;line-height:1.75}@media (width>=768px){.container{width:min(100% - 4rem,69rem)}.section{padding-block:5rem}.section__container{gap:2rem}.section__title{max-width:15ch}}.button{text-align:center;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.8rem 1.35rem;font-size:.95rem;font-weight:700;line-height:1.2;transition:background-color .18s,color .18s,transform .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff;background-color:#44422d}.button--primary:hover{background-color:#5a2328}[data-reveal]{opacity:0;transition:opacity .76s,transform .76s;transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(1.4rem)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.hero{padding-block:1rem 3rem}.hero__container{background:#fffaf2d1;border:1px solid #5246392e;border-radius:1rem;align-content:start;gap:1.5rem;min-height:calc(100svh - 2rem);padding:.75rem;display:grid;box-shadow:0 1.5rem 4rem #2f2b2614}.hero__media{aspect-ratio:4/5;background-color:#eee5d8;border-radius:.75rem;justify-self:start;width:100%;position:relative;overflow:hidden}.hero__content{text-align:center;justify-items:center;gap:1.25rem;padding:1.5rem .75rem 2rem;display:grid}.hero__eyebrow{color:#44422d;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:700}.hero__lead{color:#746b60;max-width:31rem;font-size:1rem;line-height:1.75}.hero__title{gap:.25rem;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(3.4rem,18vw,7.5rem);font-weight:400;line-height:.86;display:grid}.hero__ampersand{color:#9b5f4d;font-size:.56em;line-height:1}.photo-placeholder{isolation:isolate;background:linear-gradient(145deg,#6f6d4e8a,#b58f8652),linear-gradient(#eee5d8,#f7f2ea);place-items:end start;min-height:18rem;display:grid;position:relative;overflow:hidden}.photo-placeholder:before,.photo-placeholder:after{content:"";pointer-events:none;position:absolute}.photo-placeholder:before{aspect-ratio:1;border:1px solid #ffffff8c;border-radius:50%;width:42%;inset:12% 12% auto auto}.photo-placeholder:after{z-index:-1;background:linear-gradient(#0000,#2f2b2642);height:45%;inset:auto 0 0}.photo-placeholder__text{color:#fff;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff61;border-radius:999px;margin:1rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700}.photo-placeholder__image{object-fit:cover;object-position:50% 76%;width:100%;height:100%;position:absolute;inset:0}.photo-placeholder--couple{min-height:100%}.photo-placeholder--venue{border-radius:.75rem;min-height:16rem}.photo-placeholder--final{background:linear-gradient(145deg,#5a232870,#6f6d4e57),linear-gradient(#eee5d8,#f7f2ea);border-radius:1rem;min-height:20rem}.wedding-date{justify-items:center;gap:.75rem;width:min(100%,22rem);padding-top:.5rem;display:grid}.wedding-date__month{color:#5a2328;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.15rem,10vw,3.5rem);font-weight:500;line-height:1}.wedding-date__calendar{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;row-gap:.5rem;width:100%;display:grid}.wedding-date__weekday,.wedding-date__day{place-items:center;min-width:0;line-height:1;display:grid}.wedding-date__weekday{color:#746b60;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.wedding-date__day{color:#2f2b26;z-index:0;min-height:3.4rem;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2rem,9vw,3rem);font-weight:500;position:relative}.wedding-date__day--active{color:#fff}.wedding-date__day--active:before{aspect-ratio:1;content:"";z-index:-1;background:linear-gradient(145deg,#b58f86f0,#9b5f4dd1);border-radius:50%;width:clamp(3.35rem,15vw,4.6rem);position:absolute;box-shadow:0 1rem 2.4rem #9b5f4d2e}.wedding-date__full{color:#746b60;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;font-weight:700}.countdown{justify-items:center;gap:.75rem;width:min(100%,24rem);padding-top:.25rem;display:grid}.countdown__label{color:#44422d;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;font-weight:700}.countdown__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.countdown__item{border-block:1px solid #9b5f4d47;gap:.25rem;min-width:0;padding:.75rem .5rem;display:grid}.countdown__value{color:#5a2328;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.45rem,7vw,2.15rem);font-weight:500;line-height:1}.countdown__unit{color:#746b60;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1.2}.countdown.is-finished .countdown__label{color:#435f3a}.decor-divider{background:linear-gradient(90deg,#0000,#b58f86,#9b5f4d,#0000);width:4.5rem;height:1px}.timeline{text-align:left;justify-self:stretch;gap:2rem;max-width:43rem;display:grid;position:relative}.timeline:before{content:"";background-color:#5246392e;width:1px;position:absolute;top:.8rem;bottom:.8rem;left:4.15rem}.timeline__item{grid-template-columns:5.75rem minmax(0,1fr);gap:1rem;display:grid;position:relative}.timeline__item:nth-child(2){--reveal-delay:80ms}.timeline__item:nth-child(3){--reveal-delay:.16s}.timeline__item:nth-child(4){--reveal-delay:.24s}.timeline__item:nth-child(5){--reveal-delay:.32s}.timeline__item:before{aspect-ratio:1;content:"";z-index:1;background-color:#9b5f4d;border:2px solid #f7f2ea;border-radius:50%;width:.7rem;position:absolute;top:.62rem;left:3.82rem}.timeline__time{color:#44422d;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1}.timeline__content{gap:.5rem;display:grid}.timeline__title{font-size:1.05rem;font-weight:700;line-height:1.25}.timeline__text{color:#746b60;font-size:.96rem;line-height:1.65}.location__layout{text-align:left;gap:1.25rem;width:100%;display:grid}.location__media{gap:.75rem;display:grid}.location__caption{color:#746b60;font-size:.8rem}.location__content{align-content:center;gap:1.25rem;display:grid}.location__address{color:#2f2b26;font-size:1.1rem;font-weight:700}.contacts__person{color:#2f2b26;justify-items:center;gap:.5rem;padding-top:.5rem;font-size:1.15rem;font-weight:700;display:grid}.contacts__phone{color:#5a2328;text-underline-offset:.24em;-webkit-text-decoration:underline #5a232852;text-decoration:underline #5a232852}.contacts__phone:hover{text-decoration-color:currentColor}.wishes__text{color:#44422d;max-width:37rem;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.45rem,7vw,2.45rem);font-weight:500;line-height:1.2}.palette{flex-wrap:wrap;justify-content:center;gap:.75rem;padding-top:.5rem;display:flex}.palette__swatch{aspect-ratio:1;background-color:var(--swatch-color);border:1px solid #2f2b2624;border-radius:50%;width:3rem;display:block;box-shadow:inset 0 0 0 .35rem #ffffff38}.dress-code__note{color:#746b60;font-size:.94rem}.final{padding-block:2rem 4rem}.final__container{text-align:center;gap:1.5rem;display:grid}.final__title{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.7rem,14vw,6rem);font-weight:400;line-height:.96}@media (width>=375px){.hero__container{padding:1rem}.hero__content{padding-inline:1.25rem}}@media (width>=768px){.hero{padding-block:2rem 4rem}.hero__container{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:2rem;min-height:auto;padding:1.25rem}.hero__media{aspect-ratio:6/5}.hero__content{align-content:center;padding:2rem 1.25rem}.hero__title{font-size:clamp(4rem,7vw,6.5rem)}.location__layout{gap:1.5rem}.timeline{margin-inline:auto}.timeline__item{grid-template-columns:7rem minmax(0,1fr);gap:1.5rem}.timeline:before{left:5rem}.timeline__item:before{left:4.67rem}}@media (width>=1024px){.section__text{font-size:1.05rem}.hero__container{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr)}.hero__media{aspect-ratio:4/3;max-width:100%}.hero__content{padding-inline:1.5rem}.location__layout{gap:2rem}.location__media{max-width:none}.photo-placeholder--venue{min-height:28rem}.location__caption{padding-inline:.25rem}.timeline__title{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;will-change:auto;transition:none;transform:none}}.rsvp-form{text-align:left;gap:1.5rem;width:100%;display:grid}.rsvp-form__fieldset{gap:.75rem;display:grid}.rsvp-form__legend,.rsvp-form__label{color:#2f2b26;margin-bottom:.75rem;font-size:.95rem;font-weight:700}.rsvp-form__field{display:grid}.rsvp-form__input,.rsvp-form__textarea{color:#2f2b26;background-color:#ffffffa8;border:1px solid #5246392e;border-radius:.5rem;width:100%;min-height:3.25rem;padding:.9rem 1rem;transition:border-color .18s,background-color .18s,box-shadow .18s}.rsvp-form__input::placeholder,.rsvp-form__textarea::placeholder{color:#746b60c7}.rsvp-form__input:hover,.rsvp-form__textarea:hover{border-color:#52463952}.rsvp-form__input:focus,.rsvp-form__textarea:focus{background-color:#fff;border-color:#44422dad;outline:0;box-shadow:0 0 0 4px #6f6d4e1f}.rsvp-form__textarea{resize:vertical;min-height:8rem}.rsvp-form__hint{color:#746b60;margin-top:.5rem;font-size:.85rem;line-height:1.5}.rsvp-form__error{color:#a23b32;min-height:1.35rem;margin-top:.5rem;font-size:.86rem;line-height:1.45}.rsvp-form__success{color:#435f3a;background-color:#435f3a14;border:1px solid #435f3a38;border-radius:.5rem;padding:1rem;font-weight:700}.rsvp-form__submit{width:100%}.rsvp-form.is-submitting .rsvp-form__submit{opacity:.72;pointer-events:none}.rsvp-form.is-submitting .rsvp-form__submit:after{content:"...";margin-left:.5rem}.choice-card,.checkbox-card{color:#2f2b26;cursor:pointer;background-color:#ffffff8a;border:1px solid #5246392e;border-radius:.5rem;align-items:center;gap:.75rem;min-height:3.25rem;padding:.75rem 1rem;transition:border-color .18s,background-color .18s,transform .18s;display:flex;position:relative}.choice-card:hover,.checkbox-card:hover{background-color:#ffffffc7;border-color:#52463952}:is(.choice-card:has(input:focus-visible),.checkbox-card:has(input:focus-visible)){outline-offset:4px;outline:2px solid #5a2328}:is(.choice-card:has(input:checked),.checkbox-card:has(input:checked)){background-color:#6f6d4e1a;border-color:#44422d8f}.choice-card__input,.checkbox-card input{opacity:0;pointer-events:none;position:absolute}.choice-card__control{aspect-ratio:1;background-color:#fff;border:1px solid #52463952;border-radius:50%;width:1.15rem;transition:background-color .18s,border-color .18s;box-shadow:inset 0 0 0 .28rem #fff}.choice-card__input:checked+.choice-card__control{background-color:#44422d;border-color:#44422d}.choice-card__label,.checkbox-card span{font-size:.95rem;font-weight:600;line-height:1.35}.checkbox-card:before{aspect-ratio:1;content:"";background-color:#fff;border:1px solid #52463952;border-radius:.25rem;flex:none;width:1.15rem;transition:background-color .18s,border-color .18s,box-shadow .18s}.checkbox-card:has(input:checked):before{background-color:#44422d;border-color:#44422d;box-shadow:inset 0 0 0 .25rem #fff}.is-invalid .rsvp-form__input,.is-invalid .choice-card,.is-invalid .checkbox-card{border-color:#a23b32b8}@media (width>=768px){.rsvp-form{gap:2rem}.rsvp-form__choices--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.rsvp-form__submit{justify-self:start;width:auto;min-width:12rem}}
