@font-face{font-family:Vintage Melinda;src:url(/fonts/vintage-melinda.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{color:#302b0e;font-synthesis:none;--cream:#f3e8d7;--olive:#c8cd80;--ink:#302b0e;--forest:#242e1d;--raspberry:#a30d50;--orange:#ff7d50;--orange-ink:#492416;--script:"Vintage Melinda", Georgia, serif;background:#f3e8d7;font-family:Courier New,Courier,monospace}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button>svg,a>svg{pointer-events:none}button,input{font:inherit}button,a{color:inherit}button{cursor:pointer}button:disabled{cursor:default}button{border-radius:0}a{text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:6px;outline:2px solid}button,h1,h2,h3,p,figure{margin:0}button{background:0 0;border:0}img{max-width:100%;display:block}::selection{background:var(--olive);color:var(--ink)}.wedding-site{height:100dvh;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);background:var(--cream);opacity:0;grid-template-rows:68px minmax(0,1fr) 58px;transition:opacity .7s;display:grid;overflow:clip}.wedding-site.is-revealed{opacity:1}.site-header{justify-content:space-between;align-items:center;padding:0 9px;display:flex}.monogram{width:52px;height:52px;padding:2px}.monogram img{object-fit:contain;width:100%;height:100%}.header-rsvp{min-height:44px;color:var(--forest);background:#e9dfcf;border:1px solid #302b0e35;border-radius:30px;align-items:center;gap:10px;padding:0 15px;font-size:10px;display:flex}.reel-stage{touch-action:pan-x pinch-zoom;min-height:0;position:relative;overflow:clip}.reel-card{background:var(--olive);color:var(--cream);isolation:isolate;opacity:.25;border-radius:20px;flex-direction:column;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .65s;display:flex;position:absolute;inset:0;overflow:hidden}.reel-card.is-active{opacity:1}.slide-image{z-index:-2;position:absolute;inset:0;overflow:hidden}.slide-image img{object-fit:cover;object-position:52% 63%;width:100%;height:100%;transition:transform 1.4s cubic-bezier(.22,1,.36,1);transform:scale(1.08)}.is-active .slide-image img{transform:scale(1)}.photo-shade{background:linear-gradient(#302b0e22 0%,#0000 42%,#181d1280 80%,#181d12b3 100%);position:absolute;inset:0}.slide-copy{opacity:0;padding:clamp(24px,6dvh,55px) 27px 16px;transition:opacity .7s .12s,transform .8s .12s;transform:translateY(22px)}.is-active .slide-copy{opacity:1;transform:none}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;line-height:1.6}.slide-copy h1,.slide-copy h2{font:400 clamp(64px,20vw,102px)/.85 var(--script);letter-spacing:-.015em;margin:23px 0 0}.slide-copy h1 span,.slide-copy h2 span{display:block}.slide-copy h1 span:last-child{padding-left:.22em}.slide-copy h1{transform:rotate(-5deg)}.slide-bottom{margin-top:auto;padding:24px}.slide-meta{letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px;font-size:10px;line-height:1.6}.explore-button{color:var(--ink);border:1px solid var(--cream);background:var(--cream);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:52px;padding:15px 20px;font-size:10px;display:flex}.explore-button svg{transition:transform .2s}.card-1 .slide-copy,.card-3 .slide-copy{margin-top:auto}.card-1 .slide-bottom,.card-3 .slide-bottom{margin-top:0}.card-1{background:var(--olive);color:var(--forest)}.card-3{background:var(--forest);color:var(--cream)}.card-1 .explore-button{background:var(--forest);border-color:var(--forest);color:var(--cream)}.card-2 .explore-button{background:var(--orange-ink);border-color:var(--orange-ink);color:var(--cream)}.card-3 .explore-button{background:var(--cream);border-color:var(--cream);color:var(--forest)}.venue-mark{z-index:-1;border:1px solid #30382040;border-radius:50% 50% 0 0;place-items:center;width:42%;height:42%;display:grid;position:absolute;top:7%;right:10%}.venue-mark:after{content:"";border-radius:inherit;border:1px solid #30382025;position:absolute;inset:10px}.venue-mark span{font:100px var(--script);color:#30382035}.travel-mark{font:clamp(150px,48vw,230px) var(--script);color:#c8cd8026;z-index:-1;position:absolute;top:2%;right:8%;transform:rotate(-8deg)}.card-1 h2,.card-3 h2{font-size:clamp(60px,18vw,96px)}.card-2{color:var(--orange-ink);background:var(--orange)}.card-2 .slide-copy{margin-top:auto}.card-2 h2{font-size:clamp(56px,16vw,90px)}.card-2 .slide-bottom{margin-top:0}.day-mark{z-index:-1;color:#49241622;font:clamp(160px,57vw,270px)/1 var(--script);position:absolute;top:1%;right:5%;transform:rotate(-9deg)}.day-mark span{letter-spacing:.3em;text-align:center;color:#49241690;font:12px Courier New,monospace;display:block}.card-4{background:var(--raspberry)}.card-4 h2{font-size:clamp(64px,19vw,102px)}.site-footer{z-index:3;background:var(--cream);justify-content:space-between;align-items:center;display:flex;position:relative}.replay{opacity:.6;place-items:center;width:44px;height:44px;display:grid}.page-navigation{display:flex}.page-dot{place-items:center;width:30px;height:44px;padding:0;display:grid}.page-dot:after{content:"";background:#302b0e30;border-radius:50%;width:5px;height:5px;transition:height .25s,background .25s}.page-dot.selected:after{background:var(--forest);border-radius:5px;height:17px}.next-section{align-items:center;gap:8px;height:44px;padding:0 8px;font-size:9px;display:flex}.next-section:disabled svg{opacity:.2}.envelope-scene{z-index:100;background:var(--cream);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.envelope-paper{--paper-grain:url(/assets/paper-grain.svg);background:var(--cream);perspective:1800px;isolation:isolate;width:100%;height:100%;position:relative}.fold-definitions{pointer-events:none;position:absolute}.envelope-lining{background:var(--cream);border-radius:inherit;position:absolute;inset:1px}.envelope-lining:after,.envelope-fold:after,.envelope-flap:after{content:"";background:var(--paper-grain) repeat;opacity:.19;mix-blend-mode:soft-light;pointer-events:none;background-size:240px 240px;position:absolute;inset:0}.envelope-shell{z-index:3;perspective:1800px;position:absolute;inset:0}.envelope-fold{z-index:3;position:absolute;inset:0}.fold-left{clip-path:url(#envelope-left);background:linear-gradient(110deg,#2b3523,#26311f)}.fold-right{clip-path:url(#envelope-right);background:linear-gradient(250deg,#293321,#242e1d)}.fold-bottom{clip-path:url(#envelope-bottom);background:linear-gradient(#293421,#242e1d)}.flap-hinge{z-index:4;transform-origin:50% 0;height:56%;transform-style:preserve-3d;filter:drop-shadow(0 2px 2px #0a10094d);position:absolute;inset:0 0 auto}.envelope-flap{clip-path:url(#envelope-top);backface-visibility:visible;position:absolute;inset:0}.flap-front{background:linear-gradient(165deg,#303a28 0%,#2b3523 55%,#27311f 100%)}.seal-button{z-index:5;filter:drop-shadow(1px 5px 6px #10180a50);width:138px;height:138px;padding:0;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.seal-button img{object-fit:contain;width:100%;height:100%}.seal-button:focus-visible{outline-color:var(--cream);border-radius:50%}.envelope-prompt{z-index:4;text-align:center;letter-spacing:.13em;text-transform:uppercase;color:#e6e7c2;width:100%;font-size:9px;position:absolute;top:calc(54% + 92px);left:0}.is-opening{pointer-events:none;animation:3.2s cubic-bezier(.4,0,.2,1) both invitation-reveal}.is-opening .seal-button{animation:.4s ease-out both seal-release}.is-opening .envelope-prompt{opacity:0;transition:opacity .25s}.is-opening .flap-hinge{animation:1.9s cubic-bezier(.4,0,.2,1) .1s both flap-open}.is-opening .envelope-shell{animation:3.2s ease-in-out both paper-dissolve}@keyframes seal-release{to{opacity:0;transform:translate(-50%,calc(-50% - 8px))}}@keyframes flap-open{0%{z-index:4;transform:rotateX(0)}49%{z-index:4}50%,to{z-index:1}to{transform:rotateX(178deg)}}@keyframes paper-dissolve{0%,18%{opacity:1}70%,to{opacity:0}}@keyframes invitation-reveal{0%,58%{opacity:1}to{opacity:0}}.detail-dialog{background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.detail-dialog[open]{display:block}.detail-sheet{--panel-bg:var(--cream);--panel-ink:var(--forest);--panel-rule:#242e1d30;width:100%;max-width:none;height:92dvh;max-height:none;color:var(--panel-ink);background:var(--panel-bg);border:0;border-radius:24px 24px 0 0;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}.panel-1{--panel-bg:var(--olive)}.panel-2{--panel-bg:var(--orange);--panel-ink:var(--orange-ink);--panel-rule:#49241630}.panel-3{--panel-bg:var(--forest);--panel-ink:var(--cream);--panel-rule:#f3e8d73d}.panel-4{--panel-bg:var(--raspberry);--panel-ink:var(--cream);--panel-rule:#f3e8d73d}.detail-sheet{grid-template-rows:72px minmax(0,1fr);animation:.45s cubic-bezier(.22,1,.36,1) sheet-in;display:grid}.detail-dialog::backdrop{background:#20261799}.detail-toolbar{border-bottom:1px solid var(--panel-rule);justify-content:space-between;align-items:center;padding:10px 20px 10px 30px;display:flex}.detail-toolbar .eyebrow{letter-spacing:.06em;font-size:9px}.detail-content{padding:30px 30px max(35px,env(safe-area-inset-bottom));overscroll-behavior:contain;min-height:0;overflow-y:auto}.dialog-close{border:1px solid var(--panel-rule);background:var(--panel-bg);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.detail-content h2{font:54px/1.05 var(--script);color:var(--panel-ink);margin:22px 0}.detail-content>p:not(.eyebrow){margin-bottom:20px;font:16px/1.7 Georgia,serif}.panel-link{text-transform:uppercase;border-bottom:1px solid var(--panel-rule);justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:18px 0;font-size:10px;display:flex}.signature{font:35px var(--script);color:var(--panel-ink);margin:30px 0 10px;display:block}.invitation-date{font:65px var(--script);color:var(--panel-ink);margin:20px 0}.schedule>div{border-bottom:1px solid var(--panel-rule);padding:20px 0}.schedule span{font-size:10px}.schedule h3{font:37px var(--script);color:var(--panel-ink);margin:10px 0 6px}.schedule p{font:15px/1.5 Georgia,serif}.detail-content>.small-note{margin-top:20px;font-size:13px!important}@keyframes panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=761px){.wedding-site{grid-template-rows:80px minmax(0,1fr) 64px;padding:0 5vw}.site-header{padding:0}.reel-card{border-radius:28px}.slide-copy{padding:6vh 6vw 24px}.slide-copy h1,.slide-copy h2{font-size:clamp(86px,8vw,150px)}.slide-image img{object-position:center 55%}.card-0 .slide-image img{object-position:center 44%}.card-0 .slide-copy{margin-top:auto;padding-bottom:clamp(40px,5vh,64px)}.card-0 h1{transform-origin:0;width:fit-content;max-width:100%;line-height:.95}.card-0 .slide-bottom{margin-top:0}.card-0 .photo-shade{background:linear-gradient(90deg,#252a186b,#0000 72%),linear-gradient(#0000 55%,#171b1299)}.slide-bottom{justify-content:space-between;align-items:center;gap:25px;padding:0 6vw 5vh;display:flex}.slide-meta{margin:0;font-size:11px}.explore-button{width:auto;min-width:235px}.day-mark{font-size:clamp(240px,30vw,420px);top:5%;right:12%}.card-4 .slide-copy{margin-top:auto}.card-4 .slide-bottom{margin-top:0}.venue-mark{width:25%;height:65%;right:13%}.travel-mark{font-size:300px;right:14%}.seal-button{width:156px;height:156px}.envelope-prompt{top:calc(54% + 104px)}.detail-sheet{border-radius:0;width:min(560px,46vw);height:100dvh;max-height:none;animation-name:panel-in;inset:0 0 0 auto}.detail-content{padding:45px}.detail-toolbar{padding-left:45px}}@media (height<=680px) and (width<=760px){.wedding-site{grid-template-rows:60px minmax(0,1fr) 50px}.slide-copy{padding:24px 24px 12px}.slide-copy h1,.slide-copy h2{margin-top:16px;font-size:clamp(55px,18vw,76px)}.slide-bottom{padding:18px}.slide-meta{margin-bottom:12px;font-size:9px}.explore-button{min-height:46px}.day-mark{font-size:170px}}@media (height<=500px) and (orientation:landscape){.wedding-site{grid-template-rows:54px minmax(0,1fr) 44px}.slide-copy{margin-top:auto;padding:16px 30px}.slide-copy h1,.slide-copy h2{margin-top:10px;font-size:54px}.card-0 .slide-copy{padding-bottom:24px}.slide-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:0;padding:10px 30px 18px;display:flex}.explore-button{width:auto;min-width:200px;min-height:44px}.slide-meta{margin:0}.day-mark{font-size:160px;right:14%}.seal-button{width:110px;height:110px}.envelope-prompt{top:calc(54% + 68px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.venue-photo{aspect-ratio:3/2;object-fit:cover;border-radius:10px;width:100%;margin:24px 0}.venue-address{font:15px/1.7 Georgia,serif}.gift-account{border-block:1px solid var(--panel-rule);margin:30px 0;padding:24px 0}.account-holder{margin:14px 0 10px;font:16px/1.6 Georgia,serif}.iban{letter-spacing:.02em;overflow-wrap:anywhere;font-size:clamp(13px,3.3vw,16px);line-height:1.9}.account-note{opacity:.8;margin-top:12px;font-size:10px;line-height:1.7}.card-3 .travel-mark{font-size:clamp(120px,35vw,190px)}@media (width>=761px){.card-3 .travel-mark{font-size:clamp(180px,22vw,300px)}}@media (hover:hover) and (pointer:fine){.explore-button:hover{background:#fff6e9}.explore-button:hover svg{transform:translate(2px,-2px)}.card-1 .explore-button:hover{background:#41492e}.card-2 .explore-button:hover{background:#63321f}.card-3 .explore-button:hover{background:#fff6e9}}
