:root{--pink:#D49D9D;--sage:#B2BE92;--blue:#C8D7E6;--yellow:#F2E5B3;--gold:#E9A825;--ivory:#FFF9F0;--ink:#435444;--muted:#626b59;--rose-ink:#865858}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.7}main{overflow:hidden}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(34px,8.6vw,44px);line-height:1.15;letter-spacing:-1.2px;text-wrap:balance}h3{font-size:25px;line-height:1.3;text-wrap:balance}p{text-wrap:pretty}section{position:relative;isolation:isolate}section[id]{scroll-margin-top:0}.scene{min-height:900px;display:flex;align-items:flex-end;padding:430px 25px 90px;text-align:center;background:var(--ivory)}.scene-art,.scene-wash{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.scene-art{object-fit:cover;object-position:center top}.scene-wash{z-index:-2;background:linear-gradient(180deg,transparent 30%,rgba(255,249,240,.12) 40%,rgba(255,249,240,.91) 62%,rgba(255,249,240,.92) 83%,var(--ivory) 100%)}.story-copy{position:relative;max-width:470px;width:100%;margin-inline:auto;z-index:1}.story-copy>p:not(.eyebrow),.story-copy>h3{margin-top:23px}.story-copy h2{margin-top:16px}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;font-weight:600;line-height:1.7}.hero{min-height:880px;padding-top:400px;padding-bottom:72px}.hero-copy h1{font-size:104px;line-height:1.03;letter-spacing:-5px;margin-top:5px}.hero-copy .occasion{font-size:13px;text-transform:uppercase;letter-spacing:5px;margin-top:9px}.date-line{display:flex;align-items:center;justify-content:center;gap:14px;font-family:Georgia,serif;font-size:17px;margin-top:26px}.date-line span{width:25px;height:1px;background:var(--pink)}.romantic{font-family:Georgia,serif;font-style:italic;font-size:21px;line-height:1.5}.hero-copy .romantic{max-width:280px;margin:22px auto 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 24px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--ivory);font-size:13px;font-weight:600;letter-spacing:.3px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#53654e;transform:translateY(-2px)}.button:disabled{opacity:.6;cursor:default}.button span{font-size:19px;font-weight:400}:focus-visible{outline:3px solid var(--rose-ink);outline-offset:5px}.chapter-note{position:absolute;bottom:20px;left:15px;right:15px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.butterfly{position:absolute;width:68px;height:auto;pointer-events:none;z-index:2;animation:float 7s ease-in-out infinite}.hero-butterfly{right:6%;top:42%;transform:rotate(-15deg)}.signature{font-family:Georgia,serif;font-style:italic;font-size:27px;color:var(--rose-ink)}.welcome{min-height:940px;padding-top:440px;padding-bottom:130px}.welcome .story-copy>p:not(.eyebrow):not(.signature){line-height:1.9}.corner{position:absolute;bottom:0;width:150px;height:auto;max-width:38%;pointer-events:none;z-index:0;transform-origin:bottom center;animation:sway 10s ease-in-out infinite}.corner-left{left:-20px}.corner-right{right:-20px;animation-delay:-5s}.interlude{text-align:center;padding:75px 25px}.calendar{padding-top:10px;padding-bottom:35px;background:linear-gradient(var(--ivory),#eaf0f2 55%,var(--ivory))}.calendar h2{margin-top:20px}.garland{width:min(360px,100%);height:120px;object-fit:contain;margin:0 auto 20px}.event-date{margin-top:30px;font-size:13px;letter-spacing:3px}.event-date span{font-family:Georgia,serif;font-size:26px;letter-spacing:1px;vertical-align:middle}.countdown{max-width:440px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:30px auto 18px}.countdown>div{border-right:1px solid #b2be9280}.countdown>div:last-child{border:0}.countdown span{display:block;font-family:Georgia,serif;font-size:37px;font-variant-numeric:tabular-nums;line-height:1.1}.countdown small{display:block;font-size:10px;letter-spacing:1px;margin-top:12px;text-transform:uppercase}.divider{width:260px;max-width:85%;height:90px;object-fit:contain;margin:24px auto 0;pointer-events:none}.event-hour{font-family:Georgia,serif;font-size:43px;line-height:1.2}.event-hour span{font-size:22px}.demo-location{font-size:11px;line-height:1.6;letter-spacing:.1px;color:var(--muted)}.story-copy .demo-location{margin-top:10px}.ceremony{min-height:930px;padding-top:450px;padding-bottom:45px}.reception{min-height:940px;padding-top:450px;padding-bottom:85px}.reception .romantic{max-width:310px;margin-inline:auto}.itinerary{padding-top:55px;padding-bottom:130px;background:linear-gradient(var(--ivory),#f4eee3 70%,var(--ivory))}.itinerary h2{margin-top:17px}.timeline{list-style:none;max-width:440px;margin:45px auto 0;padding:0;text-align:left}.timeline li{position:relative;display:grid;grid-template-columns:88px 1fr;gap:31px;min-height:82px;align-items:start;padding-bottom:25px}.timeline li:before{content:"";position:absolute;left:102px;top:10px;bottom:-10px;width:1px;background:var(--sage)}.timeline li:last-child:before{display:none}.timeline li:after{content:"";position:absolute;left:98px;top:8px;width:9px;height:9px;border:2px solid var(--pink);border-radius:50%;background:var(--ivory)}.timeline time{font-size:12px;line-height:1.9;text-align:right}.timeline li>span{font-family:Georgia,serif;font-size:21px;line-height:1.25}.dresscode{text-align:center;padding:80px 25px 95px;min-height:550px;background:var(--ivory);overflow:hidden}.dress-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;z-index:-3;opacity:.23}.dresscode:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,var(--ivory) 10%,#fff9f0b8 55%,#fff9f040),linear-gradient(var(--ivory),transparent 20%,transparent 80%,var(--ivory));z-index:-2}.crown{width:90px;height:80px;object-fit:contain;margin:0 auto 23px}.formal{margin:25px auto 12px;font-size:15px}.formal strong{font-weight:400}.dress-copy .romantic{font-size:20px}.rsvp{padding-top:75px;padding-bottom:50px}.rsvp-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;z-index:-3}.rsvp:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--ivory),#fff9f0c9 15%,#fff9f0de 85%,var(--ivory));z-index:-2}.form-wrap{max-width:470px;margin:auto}.form-wrap h2{margin:18px 0 22px}.form-wrap>p:not(.eyebrow){font-size:15px}form{margin:36px auto 0;text-align:left}form>label,fieldset legend,#party-field>label{font-size:12px;font-weight:600;display:block;letter-spacing:.2px;margin-bottom:10px}input[type=text],select{display:block;width:100%;height:52px;border:1px solid #43544466;border-radius:3px;background:#fff9f0c9;color:var(--ink);padding:10px 14px;font-size:16px}input::placeholder{color:#727563}fieldset{padding:0;margin:24px 0;border:0}.radio-option{display:flex;align-items:center;gap:10px;min-height:46px;cursor:pointer;font-size:14px}.radio-option input{accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}#party-field{margin-bottom:24px}form .button{width:100%;margin-top:6px}.form-wrap>.form-notice{font-size:11px;line-height:1.65;color:var(--muted);margin:20px auto 0;max-width:330px}.form-result{margin-top:22px;padding:20px 12px;border-block:1px solid var(--sage);font-family:Georgia,serif;font-size:21px;text-align:center;line-height:1.5}.farewell{min-height:900px;padding-top:430px;padding-bottom:90px}.farewell-name{font-family:Georgia,serif;font-size:86px;line-height:1.1;letter-spacing:-4px}.farewell-butterfly{left:9%;top:45%;width:60px;animation-delay:-3s}footer{padding:25px 28px 30px;text-align:center;font-size:10px;letter-spacing:.7px;line-height:1.8;background:var(--ivory);color:var(--muted)}[hidden]{display:none!important}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .85s ease,transform .85s ease}.motion-ready .reveal.visible{opacity:1;transform:none}.hero-arrival{animation:appear 1.1s ease both}.hero-arrival:nth-child(2){animation-delay:.12s}.hero-arrival:nth-child(3){animation-delay:.24s}.hero-arrival:nth-child(4){animation-delay:.36s}.hero-arrival:nth-child(5){animation-delay:.48s}.hero-arrival:nth-child(6){animation-delay:.6s}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{translate:0 0;rotate:-7deg}50%{translate:5px -14px;rotate:4deg}}@keyframes sway{0%,100%{rotate:-.8deg}50%{rotate:.8deg}}
@media(min-width:600px) and (max-width:899px){.scene{min-height:1060px;padding-top:550px}.hero{min-height:1060px}.hero-copy h1{font-size:125px}.corner{width:240px}.scene-art{object-position:center 25%}}
@media(min-width:900px){body{font-size:17px}h2{font-size:49px;letter-spacing:-1.6px}.eyebrow{font-size:10px;letter-spacing:3px}.scene{min-height:850px;align-items:center;padding:100px 6%;text-align:center}.scene-art{inset:0 0 0 auto;width:66%;object-position:center top}.scene-wash{background:linear-gradient(90deg,var(--ivory) 18%,#fff9f0f0 31%,#fff9f0c9 42%,#fff9f02b 59%,transparent 72%),linear-gradient(0deg,var(--ivory),transparent 12%,transparent 94%,#fff9f055)}.story-copy{width:43%;max-width:500px;margin-left:0;margin-right:auto}.hero{min-height:900px;height:100svh;max-height:1150px}.hero-copy h1{font-size:132px}.hero-copy .romantic{max-width:300px;font-size:24px}.hero-butterfly{right:auto;left:41%;top:25%;width:85px}.chapter-note{left:6%;right:auto;width:38%;bottom:45px}.welcome .scene-art,.reception .scene-art{inset:0 auto 0 0}.welcome .scene-wash,.reception .scene-wash{background:linear-gradient(270deg,var(--ivory) 18%,#fff9f0f0 31%,#fff9f0c9 42%,#fff9f02b 59%,transparent 72%),linear-gradient(0deg,var(--ivory),transparent 14%,transparent 90%,var(--ivory))}.welcome .story-copy,.reception .story-copy{margin-left:auto;margin-right:0}.welcome{min-height:900px}.corner{width:245px}.welcome .corner{width:200px;opacity:.8}.calendar{padding:50px 25px 30px}.calendar h2 br{display:none}.calendar .garland{width:460px;height:145px}.countdown{max-width:520px;margin-top:40px}.countdown span{font-size:51px}.countdown small{font-size:11px}.event-date{margin-top:32px}.event-date span{font-size:32px}.ceremony{min-height:850px}.reception{min-height:900px}.itinerary{padding:75px 25px 110px}.itinerary h2 br{display:none}.timeline{max-width:500px}.timeline li{grid-template-columns:115px 1fr;gap:55px;min-height:85px}.timeline li:before{left:140px}.timeline li:after{left:136px}.timeline time{font-size:14px}.timeline li>span{font-size:25px}.dresscode{min-height:600px;padding:85px 25px}.dress-art{object-position:50% 55%}.dress-copy{max-width:600px;margin:auto}.rsvp{padding:95px 25px 60px}.rsvp-art{object-fit:cover;object-position:50% 75%;opacity:.32}.rsvp:before{background:linear-gradient(90deg,#fff9f055,#fff9fee8 30%,#fff9f0f2 50%,#fff9fee8 70%,#fff9f055),linear-gradient(var(--ivory),transparent 20%,transparent 85%,var(--ivory))}.farewell{min-height:900px}.farewell .scene-art{object-position:50% top}.farewell-butterfly{left:42%;top:30%;width:80px}.farewell-name{font-size:110px}footer{padding:25px 30px 35px;font-size:11px}}
@media(max-width:359px){.scene{padding-inline:19px}h2{font-size:32px}.hero-copy h1{font-size:92px}.hero{min-height:900px}.eyebrow{letter-spacing:2px}.timeline li{grid-template-columns:80px 1fr;gap:27px}.timeline li:before{left:92px}.timeline li:after{left:88px}.timeline li>span{font-size:19px}.interlude{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.button:hover{transform:none}}
