:root{--forest:#17261f;--forest-soft:#263a30;--sage:#899789;--champagne:#c7aa76;--cream:#f4efe5;--paper:#fbf8f1;--ink:#1c211e}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--forest)}body{color:var(--ink);background:var(--forest);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem}.opening{z-index:50;overscroll-behavior:none;touch-action:none;min-height:100svh;color:var(--cream);background:radial-gradient(circle at 50% 42%,#344d3f 0,#1d3027 38%,#122019 100%);flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:fixed;inset:0;overflow:hidden}.opening-noise{opacity:.16;pointer-events:none;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");position:absolute;inset:0}.opening>:not(.opening-noise,.opening-leaf){z-index:2;position:relative}.opening .eyebrow{color:#ddd5c5;margin:0 0 8px}.opening h1{letter-spacing:-.04em;margin:0 0 clamp(44px,8vh,76px);font:400 clamp(3.4rem,13vw,6.5rem)/.9 Snell Roundhand,Apple Chancery,cursive}.opening h1 i{color:var(--champagne);font-weight:400}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;line-height:1.5}.opening-leaf{color:#677b6d;opacity:.42;width:min(35vw,230px);height:auto;position:absolute}.opening-leaf path{vector-effect:non-scaling-stroke}.opening-leaf .leaf-fill{fill:currentColor;stroke:none}.leaf-left{bottom:-20px;left:-30px;transform:rotate(8deg)}.leaf-right{top:-15px;right:-35px;transform:scale(-1)rotate(14deg)}.envelope-wrap{aspect-ratio:960/1020;perspective:1200px;width:min(82vw,380px)}.envelope{cursor:pointer;filter:drop-shadow(0 25px 35px #07110c88);opacity:0;background:0 0;border:0;width:100%;height:100%;padding:0;transition:opacity .35s;display:block;position:relative;overflow:visible}.envelope-wrap.is-ready .envelope{opacity:1}.envelope:disabled{cursor:default}.envelope-loader{z-index:5;color:#d8d0c1;text-transform:uppercase;letter-spacing:.16em;flex-direction:column;justify-content:center;align-items:center;gap:13px;font-size:.58rem;display:flex;position:absolute;inset:0}.envelope-loader i{border:1px solid #d7c49c55;border-top-color:#d7c49c;border-radius:50%;width:27px;height:27px;animation:.9s linear infinite envelope-loading}.envelope-photo{z-index:4;object-fit:contain;width:100%;height:auto;transition:opacity .24s;display:block;position:absolute;top:31.8%;left:0}.opened-envelope,.envelope-overlay{opacity:0;object-fit:contain;width:100%;height:auto;transition:opacity .24s;position:absolute;top:0;left:0}.opened-envelope{z-index:1}.envelope-overlay{z-index:3;pointer-events:none}.invitation-pull{z-index:2;aspect-ratio:.67;width:50%;color:var(--forest);opacity:0;transform-origin:50%;background:linear-gradient(145deg,#fffdf8,#f4efe5);flex-direction:column;justify-content:center;align-items:center;padding:18px 10px;display:flex;position:absolute;top:29%;left:25%;transform:translateY(12%)scale(.9);box-shadow:0 12px 30px #0005}.invitation-pull img{width:38%;height:auto;margin-bottom:14px}.invitation-pull small{color:#8b7650;letter-spacing:.18em;text-transform:uppercase;font-size:.42rem}.invitation-pull strong{white-space:nowrap;margin:7px 0;font:400 clamp(1rem,5vw,1.65rem)/1 Snell Roundhand,Apple Chancery,cursive}.invitation-pull em{letter-spacing:.18em;font:.43rem/1 inherit}.is-opening .envelope-photo{opacity:0}.is-opening .opening{animation:1.9s .3s forwards reveal-page}.is-opening .opened-envelope,.is-opening .envelope-overlay{opacity:1;animation:1.9s .3s forwards retire-envelope}.is-opening .invitation-pull{animation:1.9s cubic-bezier(.22,.72,.18,1) .3s forwards pull-invitation}.is-opening .invitation-pull>*{animation:1.9s .3s forwards soften-invitation-content}.is-opening .opening>.eyebrow,.is-opening .opening>h1,.is-opening .open-prompt{animation:1.9s .3s forwards retire-opening-copy}.is-open .opening{visibility:hidden;pointer-events:none}.open-prompt{color:#eee6d8;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-top:38px;font-size:.64rem;display:flex}.open-prompt:disabled{color:#aaa89f;cursor:default}.open-prompt svg{transition:transform .25s}.open-prompt:hover svg{transform:translate(5px)}.page{background:var(--paper);max-width:760px;margin:0 auto;overflow:hidden}.section-pad{padding:100px clamp(26px,8vw,72px)}.music-toggle{z-index:20;width:46px;height:46px;color:var(--cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#17261fd9;border:1px solid #ffffff40;border-radius:50%;place-items:center;display:grid;position:fixed;top:18px;right:18px;box-shadow:0 8px 28px #0002}.hero{text-align:center;background:radial-gradient(circle at 50% 35%, #fff 0, var(--paper) 50%, #ede7da 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative}.hero-logo{width:clamp(100px,26vw,145px);margin-bottom:54px}.hero .eyebrow{color:#5f665f;max-width:380px;margin:6px 0}.hero-script{color:var(--forest);margin:5px 0 0;font:400 clamp(3.1rem,13vw,5.5rem)/.85 Snell Roundhand,Apple Chancery,cursive}.date-lockup{color:var(--forest);align-items:center;gap:18px;margin-top:58px;display:flex}.date-lockup>span{letter-spacing:-.08em;font:300 clamp(5rem,22vw,8rem)/.75 Georgia,serif}.date-lockup>div{text-align:left;border-left:1px solid var(--champagne);min-width:116px;padding-left:18px}.date-lockup b,.date-lockup em{text-transform:uppercase;letter-spacing:.18em;font-style:normal;display:block}.date-lockup b{font:500 1rem/1.7 inherit}.date-lockup em{color:#69716b;font-size:.76rem}.arrival{letter-spacing:.08em;margin:30px 0 36px;font:400 .78rem/1.6 inherit}.text-link{color:var(--forest);border-bottom:1px solid var(--champagne);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:9px;padding-bottom:6px;font-size:.72rem;text-decoration:none;display:inline-flex}.scroll-cue{z-index:19;left:50%;bottom:max(18px, calc(env(safe-area-inset-bottom) + 10px));min-width:156px;color:var(--cream);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;pointer-events:none;background:#17261fe8;border:1px solid #ffffff38;border-radius:999px;flex-direction:column;align-items:center;gap:4px;padding:10px 18px 7px;text-decoration:none;transition:opacity .4s,transform .4s;display:flex;position:fixed;transform:translate(-50%,12px);box-shadow:0 8px 26px #101b1645}.scroll-cue.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.scroll-cue span{white-space:nowrap;text-transform:uppercase;letter-spacing:.2em;font-size:.58rem}.scroll-cue svg{color:#d5bd91;width:19px;height:19px;animation:1.7s ease-in-out infinite invite-scroll}.botanical{color:#a3ad9f;opacity:.48;width:145px;position:absolute}.botanical svg{width:100%}.botanical .leaf-fill{fill:currentColor;stroke:none}.botanical-left{bottom:4%;left:-56px;transform:rotate(-12deg)}.botanical-right{top:3%;right:-58px;transform:scale(-1)rotate(12deg)}.quote-section{text-align:center;color:var(--cream);background:var(--forest)}.tiny-flower{color:var(--champagne);font-size:1.4rem}.quote-section p{margin:42px auto;font:400 clamp(2rem,8vw,3.2rem)/1.2 Georgia,serif}.quote-section p i{color:#d6c095;font:400 clamp(2.7rem,10vw,4.2rem)/1 Snell Roundhand,Apple Chancery,cursive}.rule{background:linear-gradient(var(--champagne), transparent);width:1px;height:74px;margin:0 auto;display:block}.rings-transition{z-index:5;background:linear-gradient(to bottom, var(--forest) 0 48%, #f6f1e7 48% 100%);place-items:center;height:clamp(220px,55vw,290px);display:grid;position:relative}.rings-float{filter:drop-shadow(0 16px 18px #07110c55)drop-shadow(0 34px 40px #07110c2e);width:min(46vw,240px)}.rings-float img{width:100%;height:auto;display:block}.reveal-item.rings-float{transform:translateY(38px)scale(.96)}.reveal-item.is-visible.rings-float{transform:translateY(0)scale(1)}.memories{background:linear-gradient(150deg,#f6f1e7 0%,#fbf8f1 48%,#eae4d8 100%);position:relative;overflow:hidden}.memories:before{content:"";border:1px solid #9eaa9b55;border-radius:50%;width:360px;height:360px;position:absolute;top:90px;right:-190px}.memories-heading{z-index:4;text-align:center;position:relative}.memories h2{color:var(--forest);letter-spacing:-.045em;margin:0;font:400 clamp(2.8rem,10vw,4.7rem)/.98 Georgia,serif}.memories h2 i{color:#927747;font:400 1.1em/1 Snell Roundhand,Apple Chancery,cursive}.photo-scene{height:clamp(500px,108vw,700px);margin-top:58px;position:relative}.photo-card{transform-origin:50%;background:#fffdf8;margin:0;padding:10px 10px 38px;position:absolute;box-shadow:0 4px 9px #18241d18,0 22px 42px #17261f2f}.photo-card img{width:100%;height:auto;display:block}.photo-card figcaption{color:#6f746f;text-align:center;font:400 1rem/1 Snell Roundhand,Apple Chancery,cursive;position:absolute;bottom:10px;left:0;right:0}.photo-one{z-index:1;width:69%;top:0;left:-4%;transform:rotate(-3deg)}.photo-two{z-index:2;width:63%;top:34%;right:-3%;transform:rotate(3.2deg)}.reveal-item.photo-one{transform:translateY(38px)rotate(-3deg)}.reveal-item.photo-two{transition-delay:.12s;transform:translateY(52px)rotate(3.2deg)}.reveal-item.is-visible.photo-one{transform:translateY(0)rotate(-3deg)}.reveal-item.is-visible.photo-two{transform:translateY(0)rotate(3.2deg)}.section-kicker{color:#7a856e;margin:0 0 22px}.details h2,.rsvp h2,.countdown-section h2{color:var(--forest);letter-spacing:-.045em;margin:0;font:400 clamp(2.8rem,10vw,4.7rem)/.96 Georgia,serif}.detail-grid{border-top:1px solid #d8cfbf;border-bottom:1px solid #d8cfbf;grid-template-columns:1fr 1fr;margin:64px 0 48px;display:grid}.detail-grid article{padding:34px 18px 34px 0;position:relative}.detail-grid article+article{border-left:1px solid #d8cfbf;padding-left:28px}.detail-grid span{color:#8d7448;letter-spacing:.08em;text-transform:uppercase;font:500 .76rem/1.4 inherit}.detail-grid h3{color:var(--forest);letter-spacing:-.035em;margin:20px 0 16px;font:400 clamp(1.75rem,7vw,2.6rem)/1.05 Georgia,serif}.detail-grid p{color:#555d57;margin:7px 0;font-size:.88rem;line-height:1.55}.primary-button{width:100%;min-height:58px;color:var(--cream);background:var(--forest);text-transform:uppercase;letter-spacing:.13em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:12px;padding:16px 20px;font-size:.69rem;text-decoration:none;transition:background .25s,transform .25s;display:flex}.primary-button:hover{background:var(--forest-soft);transform:translateY(-2px)}.countdown-section{text-align:center;color:var(--cream);background:linear-gradient(#21382d,#14231c)}.countdown-section h2{color:var(--cream)}.section-kicker.light{color:#c8b68f}.countdown{grid-template-columns:repeat(4,1fr);margin-top:70px;display:grid}.countdown div{border-right:1px solid #ffffff20;padding:0 6px}.countdown div:last-child{border:0}.countdown strong{color:#e5d9be;font:400 clamp(1.8rem,8vw,3.2rem)/1 Georgia,serif;display:block}.countdown span{color:#aeb9b1;text-transform:uppercase;letter-spacing:.12em;margin-top:12px;font-size:.55rem;display:block}.rsvp{background:#f3ede2}.rsvp h2 i{color:#987f52;font:400 1.2em/1 Snell Roundhand,Apple Chancery,cursive}.form-intro{color:#59625b;max-width:430px;margin:34px 0 54px;font-size:1rem;line-height:1.75}form{gap:30px;display:grid}form>label,legend{color:var(--forest);text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;line-height:1.5}form label>span{color:#8b8e88;text-transform:none;letter-spacing:0}input,select,textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #aaa294;border-radius:0;outline:none;margin-top:11px;padding:16px 0;font-size:1rem;line-height:1.5}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--forest)}fieldset{border:0;gap:10px;padding:0;display:grid}legend{margin-bottom:13px}.choice{cursor:pointer;border:1px solid #c9c1b3;align-items:center;gap:12px;min-height:50px;padding:10px 15px;display:flex}.choice input{width:16px;height:16px;accent-color:var(--forest);margin:0}.choice span{color:#485149;font-size:.92rem}.submit{margin-top:14px}.submit svg{width:18px}.success{text-align:center;border:1px solid #c9c1b3;padding:50px 28px}.success>span{width:48px;height:48px;color:var(--cream);background:var(--forest);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.success h3{font:400 2rem Georgia,serif}.success p{color:#6d726d;font-size:.8rem;line-height:1.7}.contact-note{color:#616861;text-align:center;margin:42px 0 0;font-size:.88rem;line-height:1.7}.contact-note a{color:var(--forest);text-underline-offset:4px;font-weight:600}footer{text-align:center;min-height:620px;color:var(--cream);background:var(--forest);flex-direction:column;justify-content:center;align-items:center;padding:110px 30px;display:flex;position:relative;overflow:hidden}footer>img{filter:invert(94%)sepia(12%)saturate(281%);width:110px;margin-bottom:50px}footer p{color:#b9c2bb;margin:0 0 5px;font:italic 1rem Georgia,serif}footer h2{color:#e5d2aa;margin:0 0 40px;font:400 clamp(3.3rem,14vw,6rem)/1 Snell Roundhand,Apple Chancery,cursive}footer>span{letter-spacing:.28em;font-size:.65rem}footer .hosts{color:#89988f;letter-spacing:.12em;text-transform:uppercase;margin-top:52px;font:400 .65rem/1.5 inherit}.footer-leaf{color:#50645a;opacity:.38;width:190px;position:absolute}.footer-leaf .leaf-fill{fill:currentColor;stroke:none}.footer-leaf.left{bottom:-20px;left:-80px}.footer-leaf.right{top:-20px;right:-80px;transform:scale(-1)}.reveal-item{opacity:0;will-change:opacity, transform;transition:opacity .8s,transform .95s cubic-bezier(.22,.75,.2,1);transform:translateY(24px)}.reveal-item.is-visible{opacity:1;transform:translateY(0)}.detail-grid article:nth-child(2){transition-delay:.1s}@keyframes pull-invitation{0%{opacity:0;transform:translateY(12%)scale(.9)}12%{opacity:1}52%{opacity:1;transform:translateY(-78%)scale(1)}78%,to{opacity:1;box-shadow:0 0 0 100vmax var(--paper);transform:translateY(-78%)scale(7)}}@keyframes soften-invitation-content{0%,48%{opacity:1}64%,to{opacity:0}}@keyframes retire-envelope{0%,48%{opacity:1}64%,to{opacity:0}}@keyframes retire-opening-copy{0%,44%{opacity:1}60%,to{opacity:0}}@keyframes reveal-page{0%,78%{opacity:1}96%,to{opacity:0}}@keyframes invite-scroll{0%,to{opacity:.45;transform:translateY(-2px)}50%{opacity:1;transform:translateY(5px)}}@keyframes envelope-loading{to{transform:rotate(360deg)}}@media (min-width:761px){body{background:#0f1b15}.page{box-shadow:0 0 100px #0008}.music-toggle{right:calc(50vw - 360px)}}@media (max-width:380px){.section-pad{padding-left:21px;padding-right:21px}.detail-grid article+article{padding-left:18px}.opening h1{font-size:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal-item{opacity:1!important;transform:none!important}}
