*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#524531;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fa6b54;outline-offset:5px}.demo-bar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 5%;font-size:10px;letter-spacing:.4px;background:#f7f5f0;color:#34313a}.demo-bar a:last-child{border:1px solid #8885;border-radius:40px;padding:10px 15px}.demo-bar span{opacity:.6}.demo-foot{text-align:center;font-size:10px;line-height:1.8;padding:35px 20px;opacity:.75}.d-button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:50px;padding:18px 28px;font-size:12px;display:inline-flex;gap:35px;align-items:center;transition:transform .2s,background .2s}.d-button:hover{transform:translateY(-3px);background:#ffffff25}.d-label{font-size:9px;text-transform:uppercase;letter-spacing:2px}.story-hero{min-height:760px;min-height:min(920px,calc(100svh - 66px));position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:60px max(7%,24px) 110px}.story-hero>.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;animation:drift 18s ease-in-out infinite alternate}.story-hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#f6eedcea,transparent 82%)}.story-copy{max-width:680px}.story-copy h1{font:clamp(64px,7.6vw,112px)/.9 Georgia,serif;font-weight:400;letter-spacing:-5px;margin:35px 0 27px}.story-copy h1 em{font-weight:400}.story-copy p{font-size:14px;line-height:1.8;max-width:380px;margin-bottom:29px}.story-date{font-size:12px;letter-spacing:4px;margin:28px 0}.hero-bottom{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;border-top:1px solid #86785844;padding-top:17px;gap:20px}.wedding{background:#f7f2e7}.wedding .story-copy h1{font-size:clamp(75px,9vw,132px)}.wedding .story-copy h1 i{font-size:.54em;color:#9f7e48}.wedding .story-copy .d-button{background:#6b674e;color:#fff;border-color:#6b674e}.w-section{max-width:1080px;margin:auto;padding:78px 32px;text-align:center;border-bottom:1px solid #d9d2c4}.w-section h2{font:52px/1.08 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:17px 0 25px}.w-section>p{font:18px/1.8 Georgia,serif;max-width:570px;margin:0 auto 25px}.w-program{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.w-program strong{font:43px Georgia,serif;font-weight:400}.w-program p{font-size:12px;line-height:1.7}.swatches{display:flex;justify-content:center;gap:15px;margin-top:30px}.swatches i{width:44px;height:44px;border-radius:50%;background:#888e6d}.swatches i:nth-child(2){background:#b8b69e}.swatches i:nth-child(3){background:#d6baa6}.swatches i:nth-child(4){background:#e9dcc5}.swatches i:nth-child(5){background:#715c4c}.w-form{max-width:440px;margin:30px auto 0;display:grid;gap:18px;text-align:left}.w-form label{font-size:11px}.w-form input,.w-form select{display:block;width:100%;border:0;border-bottom:1px solid #bfb6a6;background:transparent;padding:13px 0;color:#4d5440;border-radius:0;margin-top:5px;font-size:16px}.w-form .d-button{justify-content:center;background:#6b674e;color:#fff}.w-form [role=status]{font-size:12px;line-height:1.6}.romantic{background:#23152b;color:#f8dfdd}.romantic .story-hero:after{background:linear-gradient(90deg,#201128eb 5%,#20112877 46%,transparent 95%)}.romantic .story-copy h1{font-size:clamp(60px,7.3vw,108px);line-height:1}.romantic .story-copy h1 em{color:#f3b9c5}.romantic .story-copy p{color:#e2becd}.romantic .d-button{background:#f4d7d2;color:#3c2137;border-color:#f4d7d2}.romantic .hero-bottom{border-color:#b885a544}.romance-letter{max-width:800px;margin:55px auto;padding:55px;background:#faeee2;color:#654153;border-radius:8px;box-shadow:0 30px 70px #08030b55;animation:letterIn .6s both}.romance-letter h2{font:43px Georgia,serif;margin-top:0}.romance-letter p{font:20px/1.85 Georgia,serif}.romance-letter[hidden]{display:none}.memory-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1000px;padding:70px 30px;margin:auto;border-bottom:1px solid #8e5c7833}.memory-row span{font-size:9px;letter-spacing:2px;color:#d49aaf}.memory-row h2{font:28px/1.2 Georgia,serif;font-weight:400;margin:17px 0}.memory-row p{font-size:12px;line-height:1.8;color:#c8aabb}.apology{background:#f0e6d6;color:#5d4434}.apology .story-hero:after{background:linear-gradient(90deg,#f1e1ccea,transparent 90%)}.apology .story-copy h1{font-size:clamp(60px,6.5vw,98px);line-height:1.05}.apology .d-button{background:#695343;color:#fff;border-color:#695343}.big-note{width:min(90%,660px);margin:80px auto;background:#fcf7ed;padding:60px;box-shadow:0 25px 60px #60442b20;text-align:left;transform:rotate(-1deg);position:relative}.big-note:before{content:'';position:absolute;width:125px;height:35px;background:#d1bd958a;top:-14px;left:calc(50% - 62px);transform:rotate(4deg)}.big-note h2{font:42px Georgia,serif;font-weight:400;margin:0 0 24px}.big-note p{font:20px/1.85 Georgia,serif;margin:0 0 20px}.apology-sign{font:italic 24px Georgia,serif;text-align:right;margin-top:28px}.note-button{font-size:12px;background:none;border:0;border-bottom:1px solid #9b8972;color:#655242;padding:10px 0}.apology-more{animation:letterIn .5s}.fun{background:#dce991;color:#35284b}.fun .story-hero{background:#c3b0e0}.fun .story-hero:after{background:linear-gradient(90deg,#cab9e9eb,transparent 85%)}.fun .story-copy h1{font-family:Arial,sans-serif;font-size:clamp(65px,7.8vw,115px);font-weight:900;letter-spacing:-5px;line-height:.92;transform:rotate(-4deg);margin:38px 0}.fun .story-copy h1 em{font-family:Georgia,serif;font-size:1.13em;font-weight:400;color:#614783}.fun .story-copy p{font-size:14px;max-width:350px}.fun .story-copy .d-button{background:#35284b;border-color:#35284b;color:#e6f6b7}.party-info{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1050px;margin:auto;padding:65px 30px;text-align:center}.party-info small{font-size:9px;letter-spacing:1px}.party-info strong{display:block;font:30px Georgia,serif;margin:17px 0 12px}.party-info p{font-size:12px;line-height:1.7}.party-message{background:#fcf3df;border:1px solid #473355;padding:38px;max-width:580px;margin:0 auto 50px;transform:rotate(-2deg);text-align:center}.party-message h2{font:italic 44px Georgia,serif;margin:0 0 15px}.party-message p{font-size:14px;line-height:1.8}.confetti{position:fixed;top:-20px;width:9px;height:15px;z-index:100;pointer-events:none;animation:confettiFall 2.8s ease-in forwards}.glint{position:absolute;width:10px;height:10px;border-radius:50%;background:#ffdbed;box-shadow:0 0 20px #ffddde;left:72%;top:32%;animation:twinkle 5s infinite;pointer-events:none}.glint.second{left:87%;top:65%;animation-delay:2s}.fun .glint{background:#e8ff81;box-shadow:0 0 20px #efffc9}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes drift{to{transform:scale(1.035)}}@keyframes letterIn{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes confettiFall{to{transform:translateY(105vh) rotate(650deg);opacity:0}}@keyframes twinkle{0%,100%{opacity:.1;scale:.5}50%{opacity:1;scale:1.2}}
@media(max-width:700px){.demo-bar{padding:13px 18px;font-size:9px}.demo-bar span{display:none}.demo-bar a:last-child{font-size:9px;padding:9px 12px}.story-hero{min-height:780px;min-height:calc(100svh - 62px);padding:50px 24px 85px;align-items:flex-start}.story-hero>.backdrop{object-position:70% center}.story-hero:after{background:linear-gradient(180deg,#f6eedcf7 0,#f6eedcca 27%,#f6eedc11 68%,#f6eedc55)}.story-copy{width:100%}.story-copy h1{font-size:64px;letter-spacing:-3px;margin:27px 0 18px}.wedding .story-copy h1{font-size:76px}.story-copy p{font-size:12px;line-height:1.7;max-width:310px;margin-bottom:23px}.story-date{font-size:10px;margin:22px 0;letter-spacing:3px}.d-label{font-size:8px;letter-spacing:1.3px}.d-button{padding:15px 23px;font-size:11px;gap:20px}.hero-bottom{bottom:23px;left:24px;right:24px;font-size:8px;line-height:1.5;padding-top:12px}.hero-bottom>span{max-width:48%}.hero-bottom>span:last-child{text-align:right}.w-section{padding:50px 24px}.w-section h2{font-size:36px;letter-spacing:-1px}.w-section>p{font-size:16px}.w-program{gap:12px}.w-program strong{font-size:29px}.w-program p{font-size:10px}.romantic .story-hero:after{background:linear-gradient(180deg,#201128f2 0,#201128bb 32%,#20112822 67%,#20112877)}.romantic .story-hero>.backdrop{object-position:70% bottom}.romantic .story-copy h1{font-size:58px;letter-spacing:-2px;line-height:1}.romantic .story-copy{padding-top:10px}.romance-letter{margin:35px 20px;padding:32px 24px}.romance-letter h2{font-size:34px}.romance-letter p{font-size:17px}.memory-row{grid-template-columns:1fr;padding:40px 25px;gap:20px}.memory-row h2{font-size:25px;margin:10px 0}.apology .story-hero:after{background:linear-gradient(180deg,#f1e1ccf2,#f1e1ccbd 37%,transparent 70%,#f1e1cc66)}.apology .story-copy h1{font-size:54px;letter-spacing:-2px}.big-note{padding:40px 26px;margin:50px auto}.big-note h2{font-size:35px}.big-note p{font-size:17px}.fun .story-copy h1{font-size:68px;letter-spacing:-4px;max-width:330px}.fun .story-copy h1 em{font-size:75px}.fun .story-hero:after{background:linear-gradient(180deg,#cab9e9f2,#cab9e9c9 35%,#cab9e922 75%,#cab9e955)}.fun .story-copy p{font-size:12px;max-width:290px}.party-info{grid-template-columns:1fr;padding:40px 24px;gap:16px}.party-info strong{font-size:28px;margin:12px 0}.party-info p{font-size:12px}.party-message{margin:0 24px 35px;padding:29px 21px}.party-message h2{font-size:36px}}
@media(max-width:380px){.story-hero{padding-left:20px;padding-right:20px}.apology .story-copy h1{font-size:49px}.fun .story-copy h1{font-size:62px}.fun .story-copy h1 em{font-size:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
.apology .story-copy h1 em{font-size:.78em;white-space:nowrap;letter-spacing:-2px}@media(max-width:700px){.romantic .story-copy h1{font-size:clamp(48px,14vw,58px)}}
@media(max-width:700px){.apology .story-hero>.backdrop{object-position:85% center}}
