:root{--burgundy: #4a040e;--burgundy-deep: #3a030a;--burgundy-soft: #5c0a18;--burgundy-lit: #6e1222;--cream: #f7f2eb;--cream-card: #f7f2e7;--ink: #1a1214;--ink-soft: #4a3f42;--black: #0a0a0a;--white: #ffffff;--gold: #c9a86a;--page-max: 440px;--font-script: "Florisel Script", cursive;--font-serif: "Evolventa Local", "Evolventa", system-ui, sans-serif;--font-sans: "Evolventa Local", "Evolventa", system-ui, sans-serif}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Regular.woff2) format("woff2"),url(/fonts/Evolventa-Regular.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Regular.woff2) format("woff2"),url(/fonts/Evolventa-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Regular.woff2) format("woff2"),url(/fonts/Evolventa-Regular.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Oblique.woff2) format("woff2"),url(/fonts/Evolventa-Oblique.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Oblique.woff2) format("woff2"),url(/fonts/Evolventa-Oblique.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Oblique.woff2) format("woff2"),url(/fonts/Evolventa-Oblique.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Bold.woff2) format("woff2"),url(/fonts/Evolventa-Bold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-Bold.woff2) format("woff2"),url(/fonts/Evolventa-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-BoldOblique.woff2) format("woff2"),url(/fonts/Evolventa-BoldOblique.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Evolventa;src:url(/fonts/Evolventa-BoldOblique.woff2) format("woff2"),url(/fonts/Evolventa-BoldOblique.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Evolventa Local;src:url(/fonts/Evolventa-Regular.woff2) format("woff2"),url(/fonts/Evolventa-Regular.ttf) format("truetype");font-weight:300 500;font-style:normal;font-display:swap}@font-face{font-family:Evolventa Local;src:url(/fonts/Evolventa-Oblique.woff2) format("woff2"),url(/fonts/Evolventa-Oblique.ttf) format("truetype");font-weight:300 500;font-style:italic;font-display:swap}@font-face{font-family:Evolventa Local;src:url(/fonts/Evolventa-Bold.woff2) format("woff2"),url(/fonts/Evolventa-Bold.ttf) format("truetype");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:Evolventa Local;src:url(/fonts/Evolventa-BoldOblique.woff2) format("woff2"),url(/fonts/Evolventa-BoldOblique.ttf) format("truetype");font-weight:600 700;font-style:italic;font-display:swap}@font-face{font-family:Florisel Script;src:url(/fonts/FloriselScript.woff2) format("woff2"),url(/fonts/FloriselScript.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}html,body{font-family:var(--font-sans)}body{margin:0;font-weight:400;font-size:15px;line-height:1.55;letter-spacing:.015em;color:var(--ink);background:radial-gradient(ellipse at 50% 0%,#1a080c,#0a0a0a 55%,#050505);min-height:100vh}img{display:block;max-width:100%;height:auto}button,input,select,textarea,label,legend{font:inherit;font-family:var(--font-sans)}a{color:inherit;text-decoration:none}.page{width:min(100%,var(--page-max));margin:0 auto;overflow:hidden;box-shadow:0 0 80px #0000008c;background:var(--burgundy)}.font-script{font-family:var(--font-script);font-weight:400;font-style:normal;letter-spacing:.02em;line-height:1.25}.font-serif{font-family:var(--font-serif);letter-spacing:.04em}.section{position:relative;padding:2.75rem 1.5rem 3.25rem;overflow:hidden}.section--burgundy{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 30%),linear-gradient(160deg,var(--burgundy-soft),var(--burgundy) 45%,var(--burgundy-deep));color:var(--white)}.section--cream{background:var(--cream);color:var(--ink);padding-top:7.5rem;padding-bottom:4rem}.section--black{background:var(--black);color:var(--white);padding-top:7rem;padding-bottom:3.5rem}.section--silk-bg{background:linear-gradient(180deg,#3a030a8c,#3a030a59),radial-gradient(ellipse at 50% 20%,#6e1222,#3a030a 70%)}.silk{position:absolute;left:-8%;width:116%;pointer-events:none;z-index:2;color:var(--burgundy-deep)}.silk__fold{height:56px;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.06) 18%,transparent 32%,rgba(0,0,0,.22) 48%,transparent 62%,rgba(255,255,255,.05) 78%,transparent 100%),linear-gradient(180deg,var(--burgundy-deep),var(--burgundy-soft) 55%,var(--burgundy));box-shadow:0 10px 24px #00000047}.silk__fold--short{height:36px}.silk__edge{display:block;width:100%;height:44px;margin-top:-1px}.silk__edge--flip{transform:scaleY(-1);margin-top:0;margin-bottom:-1px}.silk--top{top:0}.silk--bottom{bottom:0;display:flex;flex-direction:column;justify-content:flex-end}.silk--bottom .silk__fold{background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.05) 22%,transparent 40%,rgba(0,0,0,.28) 55%,transparent 72%,rgba(255,255,255,.04) 88%,transparent 100%),linear-gradient(0deg,var(--burgundy-deep),var(--burgundy))}.silk--mid{top:0}.silk--on-cream{color:var(--burgundy)}.silk--mini{position:relative;left:50%;transform:translate(-50%);width:82%;margin:.35rem auto 1.35rem;opacity:.92}.hero{padding-top:4.5rem;padding-bottom:2rem;min-height:68vh;display:flex;flex-direction:column;align-items:center}.decor--chandelier{margin:.75rem auto 1.35rem;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));transform-origin:top center;width:110px}.carousel{position:relative;width:100%;max-width:340px;margin:0 auto;touch-action:pan-y;cursor:grab}.carousel:active{cursor:grabbing}.carousel__track{display:grid;place-items:center;min-height:300px;position:relative}.carousel__slide{position:absolute;width:68%;aspect-ratio:3 / 4;object-fit:cover;border-radius:2px;opacity:0;transform:scale(.9);transition:opacity .65s ease,transform .65s ease;box-shadow:0 16px 40px #00000073;-webkit-user-select:none;user-select:none;pointer-events:none}.carousel__slide.is-active{opacity:1;transform:scale(1);z-index:2}.carousel__slide.is-prev{opacity:.42;transform:translate(-40%) scale(.8);z-index:1}.carousel__slide.is-next{opacity:.42;transform:translate(40%) scale(.8);z-index:1}.greeting{padding-top:1rem;text-align:center;padding-bottom:5rem}.greeting__title{margin:0 0 1.25rem;font-weight:400;display:flex;flex-direction:column;gap:.2rem}.greeting__title .font-script{font-size:clamp(3.1rem,11vw,3.8rem);line-height:1.15}.greeting__title-rest{font-size:clamp(2.1rem,7.5vw,2.7rem);letter-spacing:.01em;text-transform:none;font-weight:400;line-height:1.3}.greeting__body{margin:0 auto 1.15rem;max-width:28ch;font-weight:300;font-size:.95rem;opacity:.92}.greeting__invite{margin:0 auto .5rem;font-size:clamp(2.2rem,8vw,2.85rem);line-height:1.3}.greeting__date{margin:0 auto 1.5rem;font-size:clamp(2rem,7vw,2.6rem);font-weight:400;letter-spacing:.04em;text-transform:none;line-height:1.35}.greeting__announce{margin:0 0 1rem;font-size:clamp(3.2rem,12vw,4.2rem);line-height:1.2}.greeting__after{margin:0 auto 1.5rem;max-width:30ch;font-weight:300;font-size:.9rem;opacity:.9}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:320px;margin:0 auto}.countdown__cell{display:flex;flex-direction:column;align-items:center;gap:.25rem}.countdown__num{font-family:Evolventa Local,Evolventa,system-ui,sans-serif;font-weight:400;font-size:1.65rem;letter-spacing:.04em;line-height:1}.countdown__label{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-weight:400}.venue{text-align:center;padding-top:8rem}.venue__inner{position:relative;z-index:1}.venue__floral{position:absolute;right:-2.5rem;top:32%;width:110px;opacity:.92;pointer-events:none;z-index:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}.venue__title{margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.1rem}.venue__title .font-script{font-size:clamp(3.3rem,11vw,4.1rem);line-height:1.15}.venue__title-rest{font-size:clamp(2rem,6.5vw,2.5rem);letter-spacing:.01em;text-transform:none;font-weight:400;line-height:1.3}.venue__lead{margin:0 0 .4rem;font-size:.9rem;color:var(--ink-soft)}.venue__name{margin:0 0 .35rem;font-size:clamp(1.85rem,6vw,2.35rem);font-weight:400;line-height:1.3}.venue__address{margin:0 0 1.75rem;font-size:.92rem;color:var(--ink-soft);font-weight:300}.btn-circle{display:inline-flex;align-items:center;justify-content:center;width:118px;height:118px;border-radius:50%;background:var(--burgundy);color:var(--white);text-align:center;font-size:.72rem;font-weight:500;letter-spacing:.02em;line-height:1.35;white-space:pre-line;box-shadow:0 12px 28px #4a040e59;position:relative;z-index:2}.timing{display:flex;justify-content:center;padding-top:3.5rem;padding-bottom:4rem}.timing__card{position:relative;width:min(100%,300px);padding-top:1.35rem}.timing__clip{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:4;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));width:44px;height:auto}.timing__lace{position:relative;background:var(--cream-card);color:var(--ink);padding:2.1rem 1.25rem 1.35rem;text-align:center;border:1px solid #d9cbb8;box-shadow:0 18px 40px #0006,inset 0 0 0 8px #efe6da,inset 0 0 0 9px #d4c4b0;background-image:radial-gradient(circle at 8px 8px,transparent 5px,rgba(180,150,120,.18) 5.5px,transparent 6.5px);background-size:16px 16px;background-clip:border-box}.timing__content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);background:var(--cream-card);margin:2px;padding:.35rem .25rem .15rem;border-radius:2px}.timing__title{margin:0 0 1rem;font-size:clamp(2.6rem,8vw,3.2rem);color:#3a2a22;line-height:1.25}.timing__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem .75rem;width:100%;flex:1}.timing__item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.timing__item img{width:30px;height:30px;opacity:.85}.timing__time{font-family:Evolventa Local,Evolventa,system-ui,sans-serif;font-style:normal;font-size:1.25rem;font-weight:500;line-height:1}.timing__label{font-size:.68rem;color:var(--ink-soft);line-height:1.25}.timing__bow{margin-top:auto;width:52px;height:auto}.dress{text-align:center}.dress__inner{position:relative;z-index:1}.dress__title{margin:0 0 1rem;font-size:clamp(3.2rem,11vw,4rem);line-height:1.2}.dress__body{margin:0 auto 1.75rem;max-width:34ch;font-size:.92rem;color:var(--ink-soft);font-weight:300}.dress__visual{position:relative;margin:0 auto 1.35rem;max-width:280px}.dress__photo{width:100%;border-radius:4px;filter:grayscale(.15)}.dress__swatches{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dress__swatch{position:absolute;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 6px 14px #0000004d}.dress__swatch:nth-child(1){top:6%;left:-12%}.dress__swatch:nth-child(2){top:22%;right:-14%}.dress__swatch:nth-child(3){top:58%;left:-14%}.dress__swatch:nth-child(4){bottom:8%;right:-12%}.dress__style{margin:0 0 .35rem;font-family:Evolventa Local,Evolventa,system-ui,sans-serif;font-size:1.35rem;font-weight:600}.dress__style-desc{margin:0 auto;max-width:36ch;font-size:.9rem;color:var(--ink-soft)}.dress__attire{margin:1.15rem auto 0;max-width:34ch;font-size:1.05rem;line-height:1.45;color:var(--ink)}.dress__looks{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.5rem auto 0;max-width:360px}.dress__look{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;background:#efe6da}.details{text-align:center}.details__heading{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.75rem;position:relative;z-index:2}.details__key{width:48px;height:auto}.details__title{margin:0;font-size:clamp(3rem,10vw,3.8rem);color:#e8d5b0;line-height:1.2}.details__envelope{position:relative;max-width:260px;margin:0 auto 2rem;z-index:2}.details__card-peek{position:absolute;left:18%;right:18%;top:6%;height:55%;background:#faf8f5;border-radius:3px;z-index:1;box-shadow:0 6px 16px #00000040;transform-origin:bottom center}.details__envelope-img{width:100%;position:relative;z-index:2}.details__text{margin:0 auto 1.15rem;max-width:32ch;font-weight:300;font-size:.92rem;line-height:1.5;opacity:.9;position:relative;z-index:2}.details__text--spaced{margin-top:1.75rem}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border:1px solid rgba(255,255,255,.55);border-radius:999px;font-size:.9rem;font-weight:400;letter-spacing:.03em;transition:background .2s,border-color .2s}.btn-ghost:hover{background:#ffffff14;border-color:#ffffffd9}.details__candelabra{margin:1.5rem auto 0;position:relative;z-index:2;filter:drop-shadow(0 0 12px rgba(255,200,120,.25))}.rsvp{text-align:center;padding-bottom:3.5rem}.rsvp__title{margin:0 0 .35rem;display:flex;flex-direction:column;gap:.15rem}.rsvp__title .font-serif{font-size:clamp(2.2rem,8vw,2.8rem);line-height:1.15;letter-spacing:.04em}.rsvp__title-rest{font-size:clamp(1.15rem,4.5vw,1.45rem);letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1.3}.rsvp__guests{margin:.75rem 0 .35rem;font-size:clamp(1.35rem,5vw,1.7rem);font-weight:500;line-height:1.3;letter-spacing:.06em}.rsvp__deadline{margin:0 0 1.75rem;font-size:.82rem;opacity:.75;font-weight:300}.rsvp__form{text-align:left;max-width:340px;margin:0 auto}.rsvp__field{border:0;margin:0 0 1.5rem;padding:0}.rsvp__field legend{padding:0;margin-bottom:.35rem;font-size:.92rem;font-weight:500}.rsvp__hint{display:block;margin-bottom:.65rem;font-size:.75rem;opacity:.7;font-weight:300}.rsvp__field input[type=text]{width:100%;padding:.75rem 1.15rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;color:var(--white);outline:none;transition:border-color .2s}.rsvp__field input[type=text]::placeholder{color:#ffffff73}.rsvp__field input[type=text]:focus{border-color:#fffc}.rsvp__options{display:flex;flex-direction:column;gap:.65rem}.rsvp__option{display:flex;align-items:center;gap:.65rem;cursor:pointer;font-size:.92rem;font-weight:300}.rsvp__option input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.65);border-radius:50%;flex-shrink:0;position:relative;cursor:pointer}.rsvp__option input:checked:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--white)}.btn-pill{display:block;width:100%;margin-top:.5rem;padding:.95rem 1.5rem;border:0;border-radius:999px;background:var(--white);color:var(--burgundy);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,opacity .2s}.btn-pill:hover:not(:disabled){transform:translateY(-1px)}.btn-pill:disabled{opacity:.65;cursor:wait}.rsvp__status{margin:1rem 0 0;text-align:center;font-size:.9rem}.rsvp__status.is-success{color:#d4f5d4}.rsvp__status.is-error{color:#ffc9c9}.closing{text-align:center;min-height:58vh;display:flex;flex-direction:column;justify-content:center}.closing__inner{position:relative;z-index:1;padding:1rem 0 2rem}.closing__art{margin:0 auto 1.5rem;width:200px}.closing__message{margin:0 0 .65rem;font-size:clamp(2.5rem,9vw,3.2rem);line-height:1.3}.closing__names{margin:0;font-family:Evolventa Local,Evolventa,system-ui,sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:.04em}@media(min-width:640px){:root{--page-max: 520px}body{padding:1.75rem 1rem}.page{border-radius:14px}.section{padding-left:2rem;padding-right:2rem}.carousel{max-width:400px}.carousel__track{min-height:360px}.greeting__body,.greeting__after{max-width:36ch}.countdown{max-width:380px}.dress__visual{max-width:320px}.rsvp__form{max-width:380px}}@media(min-width:960px){:root{--page-max: 760px}body{padding:2.5rem 1.5rem 3rem;font-size:16px;background:radial-gradient(ellipse at 50% -10%,#2a0c14 0%,transparent 45%),radial-gradient(ellipse at 50% 0%,#1a080c,#0a0a0a 55%,#050505)}.page{border-radius:18px;box-shadow:0 0 0 1px #c9a86a1f,0 24px 80px #0000008c,0 0 120px #4a040e59}.section{padding:3.5rem 3.25rem 4rem}.section--cream{padding-top:8.5rem;padding-bottom:5rem}.section--black{padding-top:8rem;padding-bottom:4.5rem}.hero{padding-top:5.5rem;padding-bottom:2.5rem}.decor--chandelier{width:140px}.carousel{max-width:560px}.carousel__track{min-height:480px}.carousel__slide{width:48%;border-radius:4px}.carousel__slide.is-prev{transform:translate(-46%) scale(.82)}.carousel__slide.is-next{transform:translate(46%) scale(.82)}.greeting{padding-top:1.5rem;padding-bottom:6rem}.greeting__inner{max-width:34rem;margin:0 auto}.greeting__title .font-script{font-size:clamp(3.5rem,5vw,4.2rem)}.greeting__title-rest{font-size:2.7rem}.greeting__body,.greeting__after{max-width:42ch;font-size:1rem}.greeting__invite{font-size:2.7rem}.greeting__date{font-size:2.5rem}.greeting__announce{font-size:3.8rem}.countdown{max-width:440px;gap:.65rem}.countdown__num{font-size:2.15rem}.venue{padding-top:9rem}.venue__inner{max-width:28rem;margin:0 auto}.venue__floral{right:1.5rem;top:28%;width:150px}.venue__title .font-script{font-size:4.2rem}.btn-circle{width:132px;height:132px;font-size:.78rem}.timing{padding-top:4.5rem;padding-bottom:5rem}.timing__card{width:min(100%,380px)}.timing__title{font-size:3.2rem}.dress__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2.75rem;row-gap:.75rem;align-items:center;max-width:640px;margin:0 auto}.dress__title{grid-column:1 / -1;font-size:4rem}.dress__body{grid-column:1 / -1;max-width:48ch;margin-bottom:1.25rem;font-size:1rem}.dress__visual{grid-row:3 / 5;grid-column:1;max-width:340px;margin:0;justify-self:end}.dress__style{grid-row:3;grid-column:2;align-self:end;text-align:left;margin:0;font-size:1.5rem}.dress__style-desc{grid-row:4;grid-column:2;align-self:start;text-align:left;max-width:28ch;font-size:.98rem;line-height:1.55}.dress__attire{grid-column:1 / -1;max-width:42ch;margin-top:1.35rem;font-size:1.15rem;text-align:center;justify-self:center}.dress__looks{grid-column:1 / -1;max-width:520px;gap:.85rem}.details__inner{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);column-gap:2.5rem;row-gap:.85rem;align-items:center;max-width:640px;margin:0 auto;text-align:left}.details__heading{grid-column:1 / -1;justify-content:center;margin-bottom:1rem}.details__envelope{grid-column:1;grid-row:2 / 7;max-width:220px;margin:0;justify-self:center}.details__text,.btn-ghost{grid-column:2;justify-self:start}.details__text{max-width:36ch;margin:0 0 .35rem;font-size:1rem}.details__text--spaced{margin-top:1.25rem}.details__candelabra{grid-column:1 / -1;margin-top:1.75rem;width:110px}.rsvp{padding-bottom:4.5rem}.rsvp__header{max-width:28rem;margin-left:auto;margin-right:auto}.rsvp__title .font-serif{font-size:2.8rem}.rsvp__form{max-width:420px}.rsvp__option{font-size:.98rem}.closing__art{width:240px}.closing__message{font-size:3.2rem}.closing__names{font-size:1.15rem}}@media(min-width:1280px){:root{--page-max: 860px}body{padding:3rem 2rem 3.5rem}.section{padding-left:4rem;padding-right:4rem}.carousel{max-width:620px}.carousel__track{min-height:520px}.carousel__slide{width:46%}.dress__inner,.details__inner{max-width:720px}.dress__visual{max-width:380px}.venue__floral{right:2.5rem;width:170px}.rsvp__form{max-width:460px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
