:root{--green:#173f35;--green-deep:#102f28;--cream:#f6f0e5;--paper:#fbf7f0;--red:#a73732;--gold:#c99b50;--ink:#20352e;--muted:#6c736b;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:hidden}.page-noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.topbar{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid #173f3514}.brand{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-weight:600;font-size:14px;letter-spacing:-.5px}.brand-name{font-family:var(--serif);font-size:21px}.topbar nav{display:flex;gap:34px}.topbar nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.topbar nav a:hover{color:var(--red)}.nav-cta{font-size:12px;font-weight:700;color:var(--green);text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:3px}.nav-cta span{margin-left:8px}.hero{position:relative;min-height:690px;padding:90px 20px 0;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper)}.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--red)}.eyebrow span{width:28px;height:1px;background:currentColor}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(50px,6.6vw,92px);line-height:1.07;letter-spacing:-3px;margin:26px 0 27px;color:var(--green)}em{font-weight:400;color:var(--red)}.hero-text{max-width:620px;margin:0 auto 33px;color:#5d675f;font-size:16px;line-height:1.8}.button{border:0;cursor:pointer;font:600 13px var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 25px;border-radius:3px;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #102f2820}.button-primary{background:var(--green);color:#fff;text-decoration:none}.button-primary:hover{background:var(--green-deep)}.hero-decoration{position:absolute;top:100px;width:170px;color:var(--green);opacity:.65}.hero-decoration svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.25}.decoration-left{left:6vw;transform:rotate(-10deg)}.decoration-right{right:6vw;transform:rotate(10deg)}.star,.sparkle{position:absolute;color:var(--gold);font-size:28px}.star-one{top:0;left:-25px}.star-two{top:115px;right:-20px}.sparkle{right:-15px;top:50px}.date-ribbon{margin-top:auto;min-height:124px;width:100%;display:flex;align-items:center;justify-content:center;gap:28px;background:var(--cream);border-top:1px solid #173f3510}.ribbon-line{height:1px;width:70px;background:#a7373240}.date-ribbon>div{display:flex;align-items:center;gap:10px;color:var(--red)}.date-ribbon strong{font:500 56px/1 var(--serif)}.date-ribbon>div span{font-size:12px;line-height:1.2;letter-spacing:2px;font-weight:700}.date-ribbon p{font:400 15px/1.5 var(--serif);margin:0;text-align:left;color:var(--green)}.section{max-width:1160px;margin:0 auto;padding:110px 32px}.section-heading{text-align:center;margin-bottom:55px}.section-number{color:var(--red);font-size:10px;letter-spacing:2.6px;font-weight:700;margin-bottom:18px}.section-heading h2,.secret-copy h2,.simone-content h2{font-size:clamp(38px,4.4vw,58px);line-height:1.15;letter-spacing:-1.8px;margin:0}.invitation-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:stretch}.message-card{position:relative;background:var(--cream);padding:50px 54px;border:1px solid #c99b5030}.message-card .card-icon{position:absolute;top:25px;right:28px;color:var(--gold);font-size:25px}.message-card h3{font-size:30px;margin-bottom:22px;color:var(--green)}.message-card p{font-size:15px;color:#5d675f}.gift-value{border-left:3px solid var(--gold);padding:14px 18px;margin:24px 0;background:#fff8}.gift-value>strong{font:500 22px var(--serif);color:var(--red)}.gift-value p{font-size:13px;margin:6px 0 0;line-height:1.6}.signature{padding-top:10px;font:400 16px var(--serif)!important}.signature strong{display:block;font-size:20px;color:var(--green);font-weight:500}.event-card{background:var(--red);color:#fff;padding:38px 40px}.event-label{font-size:10px;letter-spacing:2px;opacity:.75;margin-bottom:10px}.event-date{display:flex;align-items:center;gap:16px;border-bottom:1px solid #ffffff30;padding-bottom:25px;margin-bottom:27px}.event-date strong{font:400 78px/1 var(--serif)}.event-date span{font:400 23px/1.1 var(--serif)}.event-detail{display:flex;gap:15px;align-items:center;margin-bottom:22px}.event-detail svg{width:23px;fill:none;stroke:#e8c48a;stroke-width:1.4}.event-detail small{display:block;font-size:9px;letter-spacing:1.6px;opacity:.65}.event-detail strong{font-size:13px;font-weight:500}.button-light{background:var(--paper);color:var(--red);width:100%;margin-top:10px}.calendar-feedback{font-size:11px;text-align:center;margin:10px 0 0;min-height:18px}.secret-section{background:var(--green);color:#fff;position:relative;overflow:hidden}.secret-section:before{content:"✦";position:absolute;left:4%;top:15%;font-size:140px;color:#ffffff04}.secret-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:105px;padding-bottom:105px}.section-number.light{color:#d8b77e}.secret-copy h2{color:#fff}.secret-copy h2 em{color:#e3bd7e}.secret-copy>p:not(.section-number){color:#d5ded7;max-width:420px;font-size:15px;margin-top:25px}.secret-copy .privacy-note{font-size:12px!important;color:#a8bbb0!important;display:flex;gap:10px}.privacy-note span{color:var(--gold)}.gift-stage{min-height:410px;background:#ffffff08;border:1px solid #ffffff14;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;position:relative}.gift-box{width:150px;height:150px;position:relative;margin-bottom:25px;transition:transform .4s}.gift-body{position:absolute;width:135px;height:95px;left:8px;bottom:0;background:#b7473e;border-radius:2px}.gift-body span,.gift-lid span{position:absolute;background:#d6ad67;height:100%;width:23px;left:56px}.gift-lid{position:absolute;z-index:2;width:150px;height:32px;left:0;top:23px;background:#c55449;border-radius:2px;transform-origin:left bottom;transition:transform .5s}.gift-lid span{left:64px}.gift-bow{position:absolute;z-index:3;top:-7px;left:44px;transition:transform .5s}.gift-bow i{position:absolute;width:35px;height:28px;border:7px solid #d6ad67;border-radius:50% 50% 10% 50%;transform:rotate(25deg)}.gift-bow i:nth-child(2){left:28px;transform:scaleX(-1) rotate(25deg)}.gift-bow b{position:absolute;width:14px;height:14px;background:#d6ad67;border-radius:50%;left:24px;top:15px}.gift-stage.open .gift-lid{transform:translate(-18px,-35px) rotate(-17deg)}.gift-stage.open .gift-bow{transform:translate(-18px,-35px) rotate(-17deg)}.gift-stage.open .gift-box{transform:translateY(-5px)}.reveal-form{width:100%;max-width:350px}.reveal-form label{font-size:11px;letter-spacing:.5px;color:#d5ded7;display:block;margin-bottom:8px}.reveal-form .phone-label{margin-top:18px}.form-feedback{font-size:12px;line-height:1.5;color:#edc888;min-height:18px;margin:12px 0 0}.form-hint{font-size:11px;line-height:1.6;color:#a8bbb0;margin:12px 0 0}.back-button{border:0;background:transparent;color:#b9c8bf;font:500 10px var(--sans);padding:0;margin-top:15px;cursor:pointer}.reveal-form[hidden],.reveal-result[hidden]{display:none}.input-row{display:flex;border-bottom:1px solid #ffffff50}.input-row input,.input-row select{min-width:0;flex:1;border:0;background:transparent;padding:12px 3px;color:#fff;font:400 18px var(--serif);outline:none}.input-row select{cursor:pointer;color-scheme:dark}.input-row select option{background:var(--green);color:#fff}.input-row input::placeholder{color:#91a89c}.input-row input:focus,.input-row select:focus{border-color:var(--gold)}.input-row button{border:0;background:transparent;color:#e3bd7e;font-size:25px;cursor:pointer;padding:5px 8px}.reveal-result{text-align:center;max-width:340px}.reveal-result p{font-size:12px;color:#d5ded7;margin:5px 0}.reveal-result strong{font:400 37px/1.2 var(--serif);display:block;color:#edc888;overflow-wrap:anywhere;margin:10px 0}.reveal-result>span{font:400 14px var(--serif);color:#d5ded7}.reveal-result button{display:block;margin:22px auto 0;border:0;border-bottom:1px solid #ffffff40;background:none;color:#b9c8bf;font:500 10px var(--sans);cursor:pointer;padding:5px}.simone-section{position:relative;text-align:center;padding-top:120px;padding-bottom:120px}.simone-content{max-width:700px;margin:auto;position:relative;z-index:1}.simone-content h2{margin-bottom:30px}.simone-content blockquote{font:400 22px var(--serif);color:var(--red);margin:0 0 28px}.simone-content>p:not(.section-number){color:#626b64;font-size:15px}.simone-signoff{font:500 24px/1.5 var(--serif)!important;color:var(--green)!important;margin-top:28px}.simone-signoff span{font-size:18px;color:var(--red)}.hearts{color:var(--gold);margin-top:25px}.simone-flower{position:absolute;width:230px;right:5%;top:120px;opacity:.1;color:var(--red);transform:rotate(15deg)}.simone-flower svg{fill:none;stroke:currentColor;stroke-width:1.3}.closing{background:var(--cream);text-align:center;padding:85px 25px}.closing h2{font-size:64px;letter-spacing:-2px;color:var(--green);margin:15px 0 5px}.closing>p:not(.eyebrow):not(.rsvp-feedback){font:400 17px var(--serif);color:#6c736b;margin-bottom:28px}.rsvp-feedback{min-height:24px;margin:14px 0 0;color:var(--green);font-size:13px}footer{min-height:90px;padding:25px 5vw;display:flex;align-items:center;justify-content:space-between;color:#aabbb2;background:var(--green-deep);font-size:11px}footer .brand-mark{width:35px;height:35px;font-size:11px}footer p{margin:0}#confetti{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:9px;height:14px;animation:confetti-fall 2.8s ease-in forwards}@keyframes confetti-fall{to{transform:translate3d(var(--drift),105vh,0) rotate(720deg);opacity:.1}}.reveal-on-scroll{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal-on-scroll.visible{opacity:1;transform:none}@media(max-width:900px){.hero-decoration{opacity:.18}.decoration-left{left:-25px}.decoration-right{right:-25px}.topbar nav{display:none}.secret-inner{gap:45px}.message-card{padding:40px}.invitation-grid{grid-template-columns:1.1fr 1fr}}@media(max-width:680px){.topbar{height:72px;padding:0 20px}.nav-cta{font-size:0;border:0}.nav-cta span{font-size:20px}.hero{min-height:680px;padding-top:70px}.hero-decoration{top:160px;width:110px}h1{font-size:49px;letter-spacing:-2px}.hero-text{font-size:14px;padding:0 8px}.date-ribbon{gap:15px;padding:20px 10px}.ribbon-line{width:20px}.date-ribbon strong{font-size:48px}.date-ribbon p{font-size:12px}.section{padding:75px 20px}.section-heading{margin-bottom:35px}.section-heading h2,.secret-copy h2,.simone-content h2{font-size:39px}.section-heading h2 br{display:none}.invitation-grid,.secret-inner{grid-template-columns:1fr}.message-card{padding:38px 27px}.event-card{padding:32px 28px}.secret-inner{gap:40px}.gift-stage{min-height:390px;padding:30px 22px}.simone-flower{right:-60px;top:90px}.simone-content blockquote{font-size:20px}.closing h2{font-size:52px}footer{gap:15px}footer p{text-align:center;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none}}
