:root{--paper:#fffaf1;--ink:#253b31;--muted:#536156;--sage:#294d3c;--sage-light:#e9eddf;--rose:#8a4259;--sage-hover:#203e30;--pink:#e1b2bc;--pink-light:#f4e7e7;--line:#a8b49e;--serif:"Lora", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button{color:inherit}:focus-visible{outline:3px solid var(--rose);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.15}h2{letter-spacing:-.025em;margin:20px 0;font-size:clamp(34px,3.6vw,49px)}h2 em,.host-heading em{color:var(--rose);font-style:italic}h3{font-family:var(--serif);line-height:1.3}p{color:var(--muted)}.eyebrow{letter-spacing:.19em;font-size:10px;font-weight:600}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:14px 23px;font-size:14px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.primary{background:var(--sage);color:#fff}.primary:hover{background:var(--sage-hover)}.secondary{border-color:var(--sage);color:var(--sage);background:0 0}.secondary:hover{background:var(--sage-light)}.text-button{color:var(--sage);background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:14px;font-weight:600;display:inline-flex}.text-button:hover{text-underline-offset:5px;text-decoration:underline}.site-header{z-index:5;border-bottom:1px solid #dedfd2a6;justify-content:space-between;align-items:center;height:90px;padding:0 6.5%;display:flex;position:relative}.monogram{font-family:var(--serif);letter-spacing:-.1em;align-items:center;gap:11px;font-size:27px;display:inline-flex}.monogram span{color:var(--rose);font-family:Georgia,serif;font-size:22px}.navigation{align-items:center;gap:32px;font-size:11px;display:flex}.navigation a:hover{color:var(--sage)}.nav-rsvp{letter-spacing:.08em;border:1px solid #b9c1ad;border-radius:3px;align-items:center;gap:18px;padding:10px 18px;display:inline-flex}.menu-toggle{display:none}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:55px;max-width:1440px;min-height:735px;margin:auto;padding:76px 9% 78px;display:grid;position:relative;overflow:hidden}.hero-copy{max-width:480px;padding-bottom:8px}.hero-copy .eyebrow{align-items:center;gap:12px;font-size:9px;display:flex}.little-line{background:#a2ad90;width:26px;height:1px}.hero h1{letter-spacing:-.04em;margin:26px 0 21px;font-size:clamp(65px,6.5vw,89px);line-height:.97;position:relative}.ampersand{color:var(--sage);margin:9px 0 12px 71px;font-size:45px;font-style:italic;display:block}.name-flower{color:#e4b6bf;font-size:34px;animation:20s linear infinite flower-turn;position:absolute;top:107px;right:68px}.hero-subtitle{font-family:var(--serif);color:var(--ink);margin-bottom:17px;font-size:26px;line-height:1.4}.hero-description{max-width:350px;margin-bottom:25px;font-size:13px;line-height:1.9}.hero-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:19px;margin-top:27px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:7px;display:flex}.invitation-scene{justify-content:center;padding:20px 0 37px;display:flex;position:relative}.invitation-paper{background:#fffdf6;border-radius:150px 150px 3px 3px;flex-direction:column;align-items:center;width:330px;height:485px;animation:8s ease-in-out infinite paper-float;display:flex;position:relative;transform:rotate(5deg);box-shadow:0 14px 48px #6e765417,0 2px 8px #6e765411}.paper-edge{pointer-events:none;border:1px solid #dce1cf;border-radius:140px 140px 0 0;position:absolute;inset:13px}.paper-eyebrow{letter-spacing:.23em;color:var(--muted);margin-top:51px;font-size:8px}.invitation-botanical{width:225px;height:230px;position:absolute;top:70px}.paper-message{text-align:center;font-family:var(--serif);color:var(--sage);margin-top:232px;font-size:23px;line-height:1.25;position:relative}.paper-message span{display:block}.paper-date{letter-spacing:.18em;align-items:center;gap:15px;margin-top:20px;font-size:9px;display:flex}.paper-date strong{font-family:var(--serif);border-left:1px solid #dbe0d0;border-right:1px solid #dbe0d0;padding:0 15px;font-size:36px;font-weight:400;line-height:1.2}.paper-bottom{letter-spacing:.18em;color:var(--muted);margin-top:24px;font-size:6px}.handwritten-note{font-family:var(--serif);color:var(--rose);font-size:17px;font-style:italic;position:absolute;bottom:-10px;right:4px;transform:rotate(-8deg)}.scene-orbit{z-index:-1;border:1px solid #d4dcc45c;border-radius:50%;width:330px;height:450px;position:absolute;top:35px}.orbit-one{width:415px;transform:rotate(-28deg)}.orbit-two{width:400px;height:470px;transform:rotate(27deg)}.scene-sparkle{color:#c4aa72;animation:4s ease-in-out infinite twinkle;position:absolute}.sparkle-one{font-size:35px;top:12px;left:16px}.sparkle-two{font-size:20px;animation-delay:1.4s;bottom:38px;right:4px}.scroll-note{letter-spacing:.17em;color:var(--muted);align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;bottom:23px;left:9%}.love-strip{letter-spacing:.16em;color:var(--sage);background:#ecedde;border-top:1px solid #e2e5d5;border-bottom:1px solid #e2e5d5;justify-content:center;align-items:center;gap:45px;padding:20px 24px;font-size:9px;display:flex}.love-strip>span:nth-child(2),.love-strip>span:nth-child(4){color:var(--rose);font-size:17px}.countdown{text-transform:uppercase;align-items:center;gap:12px;display:flex}.section{max-width:1280px;margin:auto;padding:100px 9%}.section-heading p{font-size:13px;line-height:1.9}.celebration{grid-template-columns:1fr 1fr;gap:75px;display:grid}.celebration-details{padding-top:8px}.venue-detail{gap:22px;display:flex}.detail-icon{background:var(--sage-light);width:48px;height:48px;color:var(--sage);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.venue-detail h3{margin:12px 0 8px;font-size:25px}.venue-detail p{margin-bottom:5px;font-size:12px}.day-timeline{border-left:1px solid #d7dccb;margin:28px 0 0 23px;padding-left:45px}.day-timeline>div{padding:0 0 20px;position:relative}.day-timeline>div:last-child{padding-bottom:0}.day-timeline h3{margin:7px 0;font-size:20px}.day-timeline p{margin:0;font-size:12px}.timeline-dot{outline:5px solid var(--paper);background:#8d9e7d;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-50px}.timeline-dot.pink{background:#d6a5b1}.attire-section{background:#f4ece7;grid-template-columns:.85fr 1.15fr;align-items:center;gap:65px;padding:72px max(9%,50vw - 525px);display:grid}.attire-copy h2{font-size:58px;position:relative}.attire-copy h2 em{color:var(--rose)}.attire-copy p{max-width:300px;font-size:13px}.tiny-flower{color:var(--rose);font-size:34px}.attire-copy .tiny-flower{position:absolute;bottom:10px;left:210px}.palette{gap:10px;margin:24px 0 16px;display:flex}.palette span{border:3px solid #fff6;border-radius:50%;outline:1px solid #ded4d1;width:25px;height:25px}.attire-note{font-style:italic;font-size:11px!important}.attire-guides{max-width:570px}.attire-guides details{border-bottom:1px solid #ddcfca}.attire-guides summary{justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;list-style:none;display:flex}.attire-guides summary::-webkit-details-marker{display:none}.attire-guides summary span{font-size:20px;transition:transform .2s}.attire-guides details[open] summary span{transform:rotate(45deg)}.attire-guides img{border-radius:4px;width:100%;margin-bottom:18px;display:block}.rsvp-section{grid-template-columns:1fr 1fr;align-items:start;gap:75px;display:grid}.rsvp-intro{position:relative}.rsvp-intro p{font-size:13px}.rsvp-intro strong{color:var(--sage);font-weight:500}.deadline-note{color:var(--muted);max-width:260px;font-size:10px;display:block}.rsvp-botanical{opacity:.85;width:190px;height:230px;margin:13px 0 0 25px}.rsvp-card{background:#fffef9;border:1px solid #e3e4d7;border-radius:6px;padding:32px;box-shadow:0 9px 35px #77815b07}.invited-household{border-bottom:1px solid var(--line);color:var(--sage);align-items:center;gap:10px;margin-bottom:24px;padding-bottom:20px;font-size:11px;display:flex}.invited-household strong{font-weight:600;font-size:inherit;display:inline}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-family:var(--serif);margin-bottom:16px;font-size:22px}.attendance-options{gap:8px;margin-bottom:25px;display:grid}.attendance{cursor:pointer;border:1px solid #e1e4d7;border-radius:3px;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:flex}.attendance input{width:14px;height:14px;min-height:14px;accent-color:var(--sage);margin:0}.attendance svg{color:var(--rose);margin-left:auto}.attendance.selected{color:var(--sage);background:#eef1e6;border-color:#b4c0a4}.form-label{margin:18px 0 7px;font-size:11px;font-weight:500;display:block}.form-label input,.form-label textarea{margin-top:7px;display:block}input,select,textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fffefa;border-radius:3px;padding:11px 12px;font-size:12px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=file]{padding:9px}input[type=file]::file-selector-button{color:var(--sage);background:var(--sage-light);border:0;border-radius:2px;margin-right:10px;padding:8px}.field-hint{color:var(--muted);margin:6px 0;font-size:10px;line-height:1.6}.centered{text-align:center}.rsvp-form>.button{width:100%;margin-top:20px}.form-error{color:var(--rose);background:#fcecee;border-radius:3px;padding:12px 14px;font-size:12px}.rsvp-success{text-align:center;padding:35px 0}.rsvp-success h3{margin:22px 0 14px;font-size:31px}.rsvp-success p{font-size:13px}.success-icon{width:59px;height:59px;color:var(--sage);background:#e8efdd;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.confirmed-names{color:var(--sage)}.invitation-lookup{text-align:center;padding:12px 0}.lookup-icon{color:var(--rose);background:var(--pink-light);border-radius:50%;padding:17px;display:inline-flex}.invitation-lookup h3{margin:22px 0 12px;font-size:27px}.invitation-lookup p{font-size:12px}.invitation-lookup .form-label{text-align:left}.invitation-lookup .button{width:100%;margin-top:14px}.demo-link{margin-top:12px;font-size:10px}.memories-section{text-align:center;border-top:1px solid var(--line)}.memories-section .section-heading p{margin-bottom:25px}.gallery-empty{background:#f1f0e6;border:1px dashed #d4dac8;border-radius:5px;margin-top:40px;padding:60px 20px 45px}.album-icon{color:var(--sage);margin-bottom:20px;display:inline-flex}.gallery-empty h3{margin-bottom:12px;font-size:26px}.gallery-empty p{font-size:12px}.gallery-empty .tiny-flower{font-size:22px}.upload-form{text-align:left;border:1px solid var(--line);background:#fffdf7;border-radius:5px;max-width:480px;margin:30px auto;padding:24px}.upload-form .button{margin-top:15px}.upload-notice{color:var(--sage);background:var(--sage-light);overflow-wrap:anywhere;border-radius:3px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.gallery-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px;display:grid}.memory-card{border:1px solid var(--line);background:#fffdf8;border-radius:4px;margin:0;padding:9px 9px 16px}.memory-card img,.memory-card video{object-fit:cover;border-radius:2px;width:100%;height:220px;display:block}.memory-card video{background:#33392e}.memory-card figcaption{padding:13px 6px 0}.memory-card figcaption p{color:var(--ink);overflow-wrap:anywhere;margin-bottom:5px;font-size:12px}.memory-card figcaption span{color:var(--muted);font-size:10px}.closing{text-align:center;background:#e9edde;padding:65px 20px}.closing svg{color:var(--sage)}.closing p{font-family:var(--serif);color:var(--ink);margin:23px 0;font-size:27px;line-height:1.45}.closing-names{font-family:var(--serif);color:var(--sage);margin:0 0 12px;font-size:34px;font-style:italic;display:block}.closing .eyebrow{color:var(--sage);font-size:8px}footer{color:var(--muted);justify-content:space-between;align-items:center;padding:26px 6.5%;font-size:10px;display:flex}footer .monogram{color:var(--ink)}footer>a:last-child{font-size:10px}.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:35px;display:flex}.loading-screen h1{font-size:40px}.loading-flower{color:var(--rose);margin-bottom:18px;font-size:54px;animation:8s linear infinite flower-turn}.loading-screen p{max-width:460px;font-size:14px}.petal-field{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.petal-field i{opacity:0;width:8px;height:13px;left:calc(8% + var(--petal-index) * 10%);animation:petal-fall calc(17s + var(--petal-index) * 1.3s) linear infinite;animation-delay:calc(var(--petal-index) * -3.8s);background:#e7bec6;border-radius:70% 0 70% 20%;position:absolute;top:-25px}.petal-field i:nth-child(3n){background:#e8d59d;width:5px;height:9px}.petal-field i:nth-child(2n){background:#c0cdaa}.hero-enter{animation:1s both arrive}.hero h1{animation-delay:.15s}.hero-subtitle{animation-delay:.3s}.hero-description{animation-delay:.4s}.hero-copy>.button{animation-delay:.5s}.hero-meta{animation-delay:.6s}[data-reveal]{animation:linear both reveal-content;animation-timeline:view();animation-range:entry entry 22%}.butterfly{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out infinite butterfly-hover}.butterfly-two{animation-duration:7s;animation-delay:-2.5s}.flower-stems{transform-origin:195px 450px;animation:7s ease-in-out infinite stems-sway}@keyframes arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-content{0%{opacity:.4;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes paper-float{0%,to{transform:rotate(5deg)translateY(0)}50%{transform:rotate(3.5deg)translateY(-9px)}}@keyframes petal-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}8%{opacity:.48}90%{opacity:.3}to{opacity:0;transform:translate(90px,105vh)rotate(330deg)}}@keyframes flower-turn{to{transform:rotate(360deg)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:.9}}@keyframes butterfly-hover{0%,to{translate:0;rotate:-5deg;scale:1 .95}50%{translate:10px -13px;rotate:9deg;scale:1 1.06}}@keyframes stems-sway{0%,to{rotate:-1deg}50%{rotate:1.5deg}}.host-page{max-width:1100px;margin:auto;padding:45px 45px 90px}.host-heading{margin:40px 0}.host-heading h1{margin:20px 0;font-size:55px}.host-heading p{font-size:13px}.host-login{max-width:460px;margin:0 auto}.host-login h2{font-size:30px}.host-login p{font-size:12px}.host-login .button{width:100%;margin-top:20px}.host-login .field-hint{margin-top:20px}.host-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.host-stats{grid-template-columns:repeat(4,1fr);gap:20px;margin:25px 0;display:grid}.host-stats>div{border:1px solid var(--line);background:#fffdf7;border-radius:4px;padding:20px}.host-stats span{color:var(--muted);font-size:11px}.host-stats strong{font-family:var(--serif);font-size:40px;font-weight:400;display:block}.create-invitation{background:#eaf0e1;border-radius:4px;grid-template-columns:2fr 1fr;gap:0 20px;padding:25px;display:grid}.create-invitation>div{grid-column:1/-1}.create-invitation h2{margin:0 0 7px;font-size:30px}.create-invitation p{font-size:12px}.create-invitation>.button{justify-self:start;margin-top:15px}.host-invitations{gap:18px;margin-top:28px;display:grid}.host-invitation{border:1px solid var(--line);background:#fffdf8;border-radius:4px;padding:25px}.host-invitation-top{justify-content:space-between;align-items:start;gap:15px;display:flex}.host-invitation h3{margin:0 0 5px;font-size:25px}.host-invitation p{margin:0;font-size:12px}.response-badge{color:#867f60;white-space:nowrap;background:#f0eddf;border-radius:20px;padding:5px 10px;font-size:10px}.response-badge.yes{background:var(--sage-light);color:var(--sage)}.response-badge.no{background:var(--pink-light);color:var(--rose)}.reply-details{padding:16px 0}.reply-details p{overflow-wrap:anywhere;margin-bottom:7px}.invitation-link-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding-top:13px;display:flex}.invitation-link{overflow-wrap:anywhere;color:var(--sage);font-size:11px}.invitation-link-row button{flex-shrink:0}@media (min-width:1500px){.hero{padding-left:9%;padding-right:9%}}@media (max-width:1000px){.hero{gap:25px;min-height:680px;padding:60px 7% 70px}.hero h1{font-size:74px}.name-flower{right:20px}.invitation-paper{width:285px;height:440px}.invitation-botanical{width:200px;top:55px}.paper-message{margin-top:206px;font-size:22px}.paper-date{margin-top:15px}.paper-bottom{margin-top:19px}.scene-orbit{width:290px;height:410px}.orbit-one{width:340px}.handwritten-note{font-size:15px;right:-5px}.section{padding:75px 7%}.celebration,.rsvp-section{gap:40px}.attire-section{gap:40px;padding:60px 7%}.rsvp-card{padding:25px}}@media (max-width:700px){html{scroll-padding-top:30px}.site-header{height:75px;padding:0 6%}.monogram{font-size:25px}.menu-toggle{background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.navigation{background:var(--paper);border-bottom:1px solid var(--line);padding:25px 6%;display:none;position:absolute;top:74px;left:0;right:0;box-shadow:0 10px 15px #39403308}.navigation.open{flex-direction:column;align-items:stretch;gap:20px;display:flex}.navigation a{padding:6px;font-size:13px}.navigation .nav-rsvp{justify-content:space-between;padding:12px 15px}.hero{grid-template-columns:1fr;gap:34px;padding:40px 8% 55px}.hero-copy{text-align:center;max-width:450px;margin:auto}.hero-copy .eyebrow{justify-content:center;font-size:8px}.hero h1{max-width:310px;margin:26px auto 20px;font-size:76px}.ampersand{margin:8px auto 12px;font-size:37px}.name-flower{font-size:26px;top:100px;right:12px}.hero-subtitle{font-size:24px}.hero-description{max-width:330px;margin:0 auto 22px;font-size:12px}.hero-meta{justify-content:center;gap:14px;margin-top:23px;font-size:9px}.invitation-scene{width:100%;max-width:350px;margin:0 auto;padding:10px 0 40px}.invitation-paper{width:260px;height:408px}.paper-eyebrow{margin-top:40px}.invitation-botanical{width:185px;height:205px;top:47px}.paper-message{margin-top:194px;font-size:21px}.paper-date{margin-top:17px}.paper-date strong{font-size:29px}.paper-bottom{font-size:5px}.scene-orbit{width:260px;height:375px;top:20px}.orbit-one{width:310px}.orbit-two{width:290px}.handwritten-note{font-size:15px;bottom:8px;right:3px}.sparkle-one{top:5px;left:5px}.scroll-note{white-space:nowrap;font-size:7px;bottom:16px;left:50%;transform:translate(-50%)}.love-strip{gap:16px;padding:16px 12px;font-size:8px}.love-strip>span:last-child,.love-strip>span:nth-child(4){display:none}.section{padding:62px 7%}h2{font-size:37px}.celebration,.rsvp-section,.attire-section{grid-template-columns:1fr;gap:28px}.celebration-details{padding-top:5px}.section-heading p{font-size:12px}.venue-detail{gap:16px}.venue-detail h3{font-size:23px}.day-timeline{margin-left:23px;padding-left:39px}.timeline-dot{left:-44px}.attire-section{padding:54px 7%}.attire-copy h2{font-size:49px}.attire-copy p{max-width:360px}.attire-copy .tiny-flower{left:184px}.attire-guides{width:100%}.rsvp-intro{text-align:center}.deadline-note{max-width:none}.rsvp-botanical{display:none}.rsvp-card{padding:24px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.memory-card img,.memory-card video{height:170px}.closing{padding:45px 20px}.closing p{font-size:23px}footer{flex-wrap:wrap;gap:20px;padding:22px 6%}footer>span{font-size:9px}footer>a:last-child{text-align:center;width:100%}.host-page{padding:25px 6% 60px}.host-heading{margin:25px 0}.host-heading h1{font-size:40px}.host-stats{grid-template-columns:repeat(2,1fr);gap:12px}.host-stats>div{padding:16px}.create-invitation{grid-template-columns:1fr;padding:20px}.host-invitation{padding:18px}.host-invitation-top{flex-direction:column}.invitation-link-row{flex-direction:column;align-items:start;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.petal-field{display:none}[data-reveal]{opacity:1;transform:none}}.invitation-opening{text-align:center;background:radial-gradient(at 50% 55%,#f4e8e5 0,#fbf8f1 62%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:24px 24px 20px;display:flex;position:relative;overflow:hidden}.opening-brand{font-family:var(--serif);letter-spacing:-.08em;margin-bottom:24px;font-size:27px}.opening-brand span{color:var(--rose);margin-left:13px;font-size:22px}.opening-heading{z-index:1}.opening-heading .eyebrow{color:var(--sage);font-size:8px}.opening-heading h1{margin:17px 0 12px;font-size:clamp(29px,4vw,44px)}.opening-heading p{margin-bottom:0;font-size:12px}.opening-corner{opacity:.38;pointer-events:none;width:260px;position:absolute}.opening-corner svg{width:100%}.corner-left{bottom:-60px;left:-90px;transform:rotate(30deg)}.corner-right{top:-100px;right:-90px;transform:rotate(205deg)}.envelope-stage{perspective:1100px;flex-shrink:0;width:min(440px,85vw);height:455px;position:relative}.envelope-back,.envelope-front,.envelope-flap{border-radius:4px;height:245px;position:absolute;top:160px;left:0;right:0}.envelope-back{z-index:1;background:#c3ceaf;box-shadow:0 15px 30px #74835d20}.envelope-front{z-index:4;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:linear-gradient(140deg,#d8dfc7,#c8d3b4)}.envelope-front:after{content:"";clip-path:polygon(0 100%,50% 47%,100% 100%);background:#d5dcc2;position:absolute;inset:0}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;backface-visibility:hidden;background:linear-gradient(#e2e7d4,#cbd6b8)}.envelope-shadow{filter:blur(12px);background:#6f785c1c;border-radius:50%;width:70%;height:13px;position:absolute;bottom:12px;left:15%}.wax-seal{z-index:6;color:#fff3e9;background:radial-gradient(circle at 35% 30%,#d9adb7,#bb8796);border:5px double #c4909e;border-radius:48% 52% 46% 54%;flex-direction:column;justify-content:center;align-items:center;width:66px;height:66px;transition:scale .2s;display:flex;position:absolute;top:267px;left:calc(50% - 33px);box-shadow:0 5px 10px #89697525,inset 0 0 0 2px #e8bac166}.wax-seal:hover{scale:1.1}.wax-seal span{font-family:var(--serif);font-size:16px}.wax-seal svg{margin-top:1px}.envelope-addressee{z-index:5;font-family:var(--serif);color:var(--sage);font-size:19px;font-style:italic;position:absolute;top:352px;left:20px;right:20px}.envelope-letter{z-index:2;outline-offset:-10px;opacity:0;background:#fffdf5;border:1px solid #e4dfca;border-radius:3px;outline:1px solid #d8dec9;flex-direction:column;align-items:center;width:325px;height:420px;margin-left:-162.5px;padding:22px 20px;display:flex;position:absolute;top:10px;left:50%;transform:translateY(150px)scale(.9);box-shadow:0 12px 40px #7e705d12}.envelope-letter>.eyebrow{color:var(--muted);font-size:7px}.letter-bouquet{width:100px;height:118px;margin-top:6px}.envelope-letter h2{color:var(--sage);margin:8px 0 6px;font-size:31px}.letter-invite{color:var(--muted);font-size:10px}.letter-date{font-family:var(--serif);margin-top:18px;font-size:19px}.letter-venue{color:var(--muted);max-width:245px;margin-top:5px;font-size:9px}.letter-rule{background:#cbd1bc;width:40px;height:1px;margin:18px 0 10px}.letter-for{font-style:italic;font-family:var(--serif);color:var(--rose);font-size:12px}.letter-household{margin-top:4px;font-size:12px;font-weight:500}.envelope-sparkle{color:#c3a977;font-size:29px;animation:4s ease-in-out infinite twinkle;position:absolute}.envelope-sparkle.one{top:120px;left:-20px}.envelope-sparkle.two{font-size:18px;bottom:60px;right:-16px}.opening-actions{z-index:5;flex-direction:column;align-items:center;gap:8px;min-height:85px;display:flex;position:relative}.opening-actions p,.seal-hint{color:var(--rose);font-family:var(--serif);margin:0;font-size:18px;font-style:italic}.skip-opening{color:var(--muted);font-size:10px}.opening-footnote{letter-spacing:.08em;color:var(--muted);margin-top:12px;font-size:9px}.opening-opening .envelope-flap,.opening-revealed .envelope-flap{animation:.7s forwards envelope-unseal}.opening-opening .envelope-letter,.opening-revealed .envelope-letter{animation:1.4s cubic-bezier(.2,.65,.25,1) forwards letter-unfold}.opening-opening .envelope-front,.opening-opening .envelope-back,.opening-revealed .envelope-front,.opening-revealed .envelope-back{animation:1.2s .25s forwards envelope-away}.opening-revealed .envelope-letter{opacity:1;z-index:6;animation:none;transform:translateY(0)scale(1)}.opening-revealed .envelope-flap,.opening-revealed .envelope-front,.opening-revealed .envelope-back{opacity:0;animation:none}@keyframes envelope-unseal{to{opacity:0;transform:rotateX(180deg)}}@keyframes letter-unfold{0%{opacity:0;transform:translateY(150px)scale(.9)}25%{opacity:1}65%{z-index:6;transform:translateY(-14px)scale(.98)}to{opacity:1;z-index:6;transform:translateY(0)scale(1)}}@keyframes envelope-away{to{opacity:0;transform:translateY(75px)scale(.95)}}.little-wish{text-align:center;z-index:1;position:absolute;bottom:-71px;left:0;right:0}.wish-button{min-height:44px;color:var(--rose);background:0 0;border:0;align-items:center;gap:7px;padding:5px 10px;font-size:10px;display:inline-flex}.wish-button svg{animation:3s ease-in-out infinite wish-flutter}.wish-message{min-height:22px;font-family:var(--serif);color:var(--rose);margin:2px 0;font-size:13px;font-style:italic}@keyframes wish-flutter{0%,to{transform:rotate(-8deg)scaleX(.85)}50%{transform:rotate(8deg)translateY(-4px)scaleX(1)}}.reply-paper{background-image:repeating-linear-gradient(#0000 0 31px,#cdd5ba0c 32px);border-radius:3px;position:relative}.reply-paper:before{content:"";pointer-events:none;border:1px solid #e3e5d6;position:absolute;inset:8px}.reply-paper-heading{color:var(--rose);letter-spacing:.16em;justify-content:space-between;align-items:center;padding-bottom:19px;font-size:8px;display:flex}.reply-paper-heading>span{font-size:22px}.reply-steps{justify-content:space-between;gap:9px;margin:0 0 28px;padding:0;list-style:none;display:flex}.reply-steps li{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.reply-steps li>span{border:1px solid #d8decb;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:inline-flex}.reply-steps li.current{color:var(--sage)}.reply-steps li.current>span,.reply-steps li.complete>span{background:var(--sage);color:#fff;border-color:var(--sage)}.reply-review{background:#eef1e6;border:1px dashed #c3cdb4;border-radius:3px;padding:16px}.reply-review>span{color:var(--sage);font-size:12px}.reply-review p{overflow-wrap:anywhere;margin:7px 0 0;font-size:11px}.reply-back{min-height:44px}.rsvp-success{position:relative;overflow:hidden}.delivered-stamp{width:fit-content;color:var(--rose);letter-spacing:.16em;border:3px double #b58d9c;margin:0 auto 28px;padding:5px 12px;font-size:9px;animation:.45s both stamp-reply;display:block;transform:rotate(-7deg)}@keyframes stamp-reply{0%{opacity:0;transform:rotate(-14deg)scale(1.5)}to{opacity:1;transform:rotate(-7deg)scale(1)}}.reply-confetti{pointer-events:none;position:absolute;inset:0}.reply-confetti i{width:7px;height:11px;transform:rotate(calc(var(--confetti-index) * 30deg));background:#dbb0bd;border-radius:70% 0 70% 20%;animation:1.8s ease-out both reply-celebrate;position:absolute;top:35%;left:50%}.reply-confetti i:nth-child(3n){background:#bfcea5}.reply-confetti i:nth-child(2n){background:#ebd694}@keyframes reply-celebrate{0%{opacity:0;translate:0}10%{opacity:.8}to{opacity:0;translate:calc((var(--confetti-index) - 5.5) * 21px) 160px;rotate:170deg}}.replay-invitation{color:var(--muted);font-size:10px}@media (max-width:700px){.invitation-opening{justify-content:center;padding:22px 20px}.opening-brand{margin-bottom:22px}.opening-heading h1{max-width:320px;margin:15px auto 12px;font-size:33px}.opening-heading p{max-width:280px;margin:auto;font-size:11px}.opening-heading .eyebrow{letter-spacing:.13em;font-size:7px}.envelope-stage{width:min(340px,84vw);height:405px}.envelope-back,.envelope-front,.envelope-flap{height:205px;top:135px}.wax-seal{top:220px}.envelope-addressee{font-size:16px;top:300px}.envelope-letter{width:285px;height:375px;margin-left:-142.5px;padding:20px 15px;top:12px}.letter-bouquet{width:85px;height:100px}.envelope-letter h2{font-size:29px}.letter-date{margin-top:14px;font-size:17px}.letter-rule{margin-top:13px}.letter-household{font-size:11px}.opening-actions{min-height:80px}.opening-corner{width:180px}.corner-left{bottom:-30px;left:-80px}.corner-right{top:-55px;right:-90px}.opening-footnote{font-size:8px}.little-wish{bottom:-80px}.hero{padding-bottom:115px}.scroll-note{bottom:19px}.wish-message{padding:0 10px;font-size:12px}.reply-steps{gap:5px}.reply-steps li{gap:4px;font-size:8px}footer .replay-invitation{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.opening-opening .envelope-letter,.opening-revealed .envelope-letter{opacity:1;transform:none}.opening-opening .envelope-front,.opening-opening .envelope-back,.opening-opening .envelope-flap{opacity:0}.reply-confetti{display:none}}.invitation-journey{isolation:isolate;background:radial-gradient(at 70% 45%,#edf0e2 0,#fbf8f1 65%);grid-template-rows:72px minmax(0,1fr) 90px;height:100dvh;min-height:360px;display:grid;position:relative;overflow:hidden}.invitation-journey .site-header{background:#fbf8f1e8;gap:24px;height:auto;padding:0 5%}.invitation-journey .monogram{flex-shrink:0}.invitation-journey .navigation{gap:22px;margin-left:auto}.navigation button{color:var(--muted);background:0 0;border:0;min-height:44px;padding:12px 0;font-size:11px}.navigation button.chapter-current{color:var(--sage);box-shadow:inset 0 -1px var(--sage)}.fullscreen-toggle{width:44px;height:44px;color:var(--sage);background:0 0;border:1px solid #d8decb;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.journey-viewport{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c6ceb9 transparent;min-height:0;position:relative;overflow:hidden auto}.journey-scene[hidden]{display:none!important}.journey-scene{align-content:center;width:100%;max-width:none;min-height:100%;padding:40px max(7%,50vw - 575px);animation:.6s both chapter-arrive}.journey-scene h1:focus,.journey-scene h2:focus{outline:none}.journey-scene.hero{gap:40px;padding-top:30px;padding-bottom:105px;overflow:hidden}.journey-scene.hero h1{margin:16px 0;font-size:clamp(55px,6vw,80px)}.journey-scene .hero-subtitle{margin-bottom:12px;font-size:22px}.journey-scene .hero-description{margin-bottom:18px}.journey-scene .countdown{font-family:var(--serif);color:var(--rose);margin-top:16px;font-style:italic;display:block}.journey-scene .countdown span{margin-left:10px}.journey-scene .hero-meta{margin-top:15px}.journey-scene .scroll-note{display:none}.journey-scene.celebration{background:radial-gradient(at 15% 90%,#e6eddc,#0000 65%);gap:60px}.journey-scene.rsvp-section{background:radial-gradient(at 20% 70%,#f5e7e9,#0000 70%);align-items:center}.journey-scene.memories-section{background:radial-gradient(at 80% 15%,#ece7f3,#0000 70%)}.journey-scene.attire-section{transition:background-color .6s}.journey-scene .attire-guides{justify-self:end;width:100%;max-width:460px}.palette button{border:4px solid #fff8;border-radius:50%;outline:1px solid #d8cfca;width:44px;height:44px;transition:transform .2s,outline-offset .2s}.palette button:hover,.palette button[aria-pressed=true]{outline-offset:3px;outline:2px solid #a98c96;transform:translateY(-5px)}.color-whisper{min-height:44px;font-family:var(--serif);color:var(--rose);font-style:italic}.journey-controls{z-index:3;background:#fbf8f1f5;border-top:1px solid #dce0d0;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:12px 5%;display:grid}.page-turn{min-height:46px;color:var(--sage);background:0 0;border:0;align-items:center;gap:14px;width:fit-content;padding:10px 4px;font-size:12px;display:flex}.page-turn.next{justify-self:end}.page-turn:disabled{opacity:.25;cursor:default}.chapter-progress{text-align:center}.chapter-progress .eyebrow{color:var(--muted);font-size:8px}.chapter-dots{justify-content:center;gap:3px;display:flex}.chapter-dots button{background:0 0;border:0;place-items:center;width:28px;height:30px;padding:0;display:grid}.chapter-dots button:after{content:"";background:#ccd2bf;border-radius:50%;width:5px;height:5px;transition:width .2s}.chapter-dots button.active:after{background:#aa7f8e;border-radius:5px;width:20px}.screen-notice{z-index:10;border:1px solid var(--line);background:#fffdf5;align-items:center;gap:12px;max-width:420px;padding:15px;font-size:12px;display:flex;position:absolute;bottom:100px;left:5%;right:5%;box-shadow:0 5px 25px #5552}.screen-notice button{background:0 0;border:0;min-width:44px;min-height:44px}@keyframes chapter-arrive{0%{opacity:0;transform:translateY(18px)scale(.99)}to{opacity:1;transform:none}}@media (max-width:700px){.invitation-journey{grid-template-rows:64px minmax(0,1fr) auto}.invitation-journey .site-header{gap:12px;padding:0 6%}.invitation-journey .menu-toggle{margin-left:auto}.invitation-journey .navigation{gap:5px;margin:0}.invitation-journey .navigation.open{background:#fbf8f1;top:64px}.invitation-journey .navigation button{text-align:left;width:100%;padding:8px}.journey-scene{align-content:start;padding:32px 7% 45px}.journey-scene.hero{gap:35px;padding:25px 7% 110px}.journey-scene.hero h1{font-size:56px}.journey-scene .hero-copy{padding:0}.journey-scene .hero-subtitle{font-size:20px}.journey-scene .invitation-paper{width:260px;height:390px}.journey-scene .invitation-botanical{height:180px;top:55px}.journey-scene .paper-message{margin-top:180px;font-size:20px}.journey-scene .paper-eyebrow{margin-top:36px}.journey-scene .paper-bottom{margin-top:16px}.journey-scene .scene-orbit{width:300px;height:350px}.journey-scene.celebration{gap:30px}.journey-scene.rsvp-section{align-items:start;gap:28px}.journey-scene .rsvp-botanical{display:none}.journey-scene .attire-guides{max-width:none}.journey-scene .attire-copy h2{font-size:48px}.journey-controls{padding:8px 5% max(8px, env(safe-area-inset-bottom));gap:5px}.page-turn{gap:6px;font-size:10px}.page-turn span{max-width:72px;line-height:1.4}.chapter-progress .eyebrow{letter-spacing:.09em;font-size:7px}.chapter-dots button{width:23px}.palette{gap:8px}.palette button{width:40px;height:40px}.journey-scene.hero{text-align:center;align-content:center;gap:10px;padding:24px 7% 28px}.journey-scene .hero-copy{max-width:430px;margin:auto}.journey-scene .hero-copy .eyebrow{justify-content:center}.journey-scene.hero h1{margin:14px 0;font-size:50px}.journey-scene .ampersand{margin:5px 0;font-size:26px}.journey-scene .name-flower{font-size:25px;top:65px;right:12%}.journey-scene .hero-description{max-width:350px;margin:0 auto 15px;font-size:12px}.journey-scene .hero-subtitle{font-size:18px;line-height:1.3}.journey-scene .hero-meta{justify-content:center;gap:12px}.journey-scene .invitation-scene{padding:0}.journey-scene .invitation-scene>:not(.little-wish){display:none}.journey-scene .little-wish{position:static}.journey-scene .wish-message{min-height:0}}.journey-farewell{font-family:var(--serif);color:var(--rose);margin:35px 0 5px;font-style:italic}@media (min-width:701px){.journey-scene.hero{padding-bottom:85px}}.notes-section{background:radial-gradient(at 15% 80%,#f3e8ed,#0000 65%);grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;display:grid}.notes-intro>p{font-size:13px}.notes-botanical{opacity:.8;width:160px;height:210px;margin-left:35px}.guest-notes{outline-offset:-9px;background:#fffdf7;border:1px solid #e4dfd7;border-radius:4px;outline:1px solid #e7dedc;padding:30px;box-shadow:0 15px 40px #927c6810}.guest-notes article{border-bottom:1px solid #ece4df;gap:18px;padding:22px 0;display:flex}.guest-notes article:last-child{border-bottom:0}.guest-notes h3{color:var(--rose);margin:0 0 10px;font-size:24px}.guest-notes p{margin:0;font-size:13px;line-height:1.85}.note-icon{color:var(--rose);flex-shrink:0;padding-top:3px}.dress-code-label{color:var(--rose);font-weight:600}.invited-guests-note{max-width:340px;font-size:12px!important}@media (max-width:700px){.notes-section{grid-template-columns:1fr;gap:20px}.notes-botanical{display:none}.guest-notes{padding:12px 22px}.guest-notes article{gap:12px}.guest-notes h3{font-size:22px}.guest-notes p{font-size:12px}.invitation-journey .navigation{gap:16px}}.physical-invitation{perspective:1800px;background:radial-gradient(at 48% 30%,#f2ebe3,#dcd8cb 80%);justify-content:center;align-items:center;height:100dvh;min-height:360px;padding:28px 24px 42px;display:flex}.physical-invitation:before,.invitation-opening:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#8e806006 0 1px,#0000 1px 4px),repeating-linear-gradient(90deg,#8e806007 0 1px,#0000 1px 5px);position:absolute;inset:0}.desk-bouquet{pointer-events:none;opacity:.55;filter:drop-shadow(4px 8px 3px #746a5420);width:350px;position:absolute}.desk-left{top:-150px;left:-70px;transform:rotate(135deg)}.desk-right{bottom:-200px;right:-90px;transform:rotate(-35deg)}.desk-ribbon{pointer-events:none;background:linear-gradient(90deg,#b9839530,#d1a2b8a8 45%,#e4bdce87 50%,#bb8fa346);width:115px;height:140vh;position:absolute;top:-20%;left:11%;transform:rotate(-32deg);box-shadow:3px 0 6px #8c687512}.desk-fullscreen{color:var(--muted);z-index:5;background:0 0;border:0;min-width:44px;min-height:44px;position:absolute;top:16px;right:16px}.paper-book{isolation:isolate;background-color:var(--paper);transform-origin:0;background-image:linear-gradient(90deg,#aaa08b25 0,#e0d7bd0a 12px,#0000 32px),radial-gradient(at 25% 20%,#f5e4e940,#0000 60%),repeating-linear-gradient(0deg,#92846d04 0 1px,#0000 1px 3px);border:1px solid #e5ddcd;border-radius:2px 5px 5px 2px;grid-template-rows:minmax(0,1fr) 68px;width:min(620px,100%);height:min(830px,100dvh - 80px);display:grid;position:relative;box-shadow:1px 1px #ddd7c5,3px 3px #fffaf0,4px 4px #d9d2c2,7px 7px #fffaf0,8px 8px #d9d2c2,12px 20px 50px #594e4233}.paper-book:before{content:"";pointer-events:none;z-index:3;border:1px solid #d4dac2;position:absolute;inset:14px}.paper-book:after{content:"";pointer-events:none;background:linear-gradient(90deg,#b7ab9130,#0000);width:6px;position:absolute;top:0;bottom:0;left:6px}.paper-corner{opacity:.24;z-index:-1;pointer-events:none;width:155px;position:absolute}.paper-top{top:-45px;left:-15px;transform:rotate(140deg)}.paper-bottom{bottom:-45px;right:-10px;transform:rotate(-35deg)}.book-closed{grid-template-rows:1fr;width:min(455px,100%);transform:none}.book-open{animation:1.5s both card-unfold}.folded-cover{text-align:center;width:100%;height:100%;color:var(--sage);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:35px 25px;display:flex;position:relative}.cover-kicker{letter-spacing:.25em;font-size:9px}.cover-botanical{width:160px;height:215px;margin:22px 0 0}.cover-monogram{font-family:var(--serif);letter-spacing:-.07em;margin:5px 0;font-size:65px}.cover-line{font-family:var(--serif);color:var(--rose);font-size:20px;font-style:italic}.cover-date{letter-spacing:.15em;margin-top:30px;font-size:11px}.cover-for{font-family:var(--serif);color:var(--rose);margin-top:22px;font-size:14px;font-style:italic}.cover-open{font-family:var(--serif);color:var(--rose);align-items:center;gap:12px;margin-top:32px;font-size:15px;font-style:italic;display:flex}.physical-invitation [hidden]{display:none!important}.physical-invitation .journey-viewport{z-index:1;scrollbar-width:thin}.physical-invitation .journey-scene{text-align:center;transform-origin:0;background:0 0;max-width:none;min-height:100%;padding:42px 48px 24px;animation:.7s both paper-turn;display:block}.physical-invitation .journey-scene h2{margin:14px 0 20px;font-size:42px}.physical-invitation .journey-scene p{font-family:var(--sans);font-size:16px;line-height:1.65}.physical-invitation .eyebrow{letter-spacing:.2em;color:var(--muted);font-size:8px}.physical-invitation .hero{padding-top:25px}.inner-bouquet{width:130px;height:155px}.physical-invitation .hero-copy{max-width:none;margin:0;padding:0}.physical-invitation .hero-copy .eyebrow{justify-content:center}.physical-invitation .little-line{display:none}.physical-invitation .hero h1{margin:17px 0;font-size:64px;line-height:.9}.physical-invitation .ampersand{margin:8px 0;font-size:29px}.physical-invitation .name-flower,.physical-invitation .hero-subtitle{display:none}.physical-invitation .hero-description{max-width:370px;margin:18px auto 0;font-size:14px}.physical-invitation .printed-invite{color:var(--rose);margin:12px 0;font-style:italic}.physical-invitation .hero-meta{flex-direction:column;justify-content:center;gap:5px;margin-top:18px;font-size:11px}.physical-invitation .hero-meta svg{display:none}.physical-invitation .countdown{margin:12px 0 0;font-size:13px}.physical-invitation .little-wish{margin-top:10px;position:static}.physical-invitation .celebration-details{padding:0}.physical-invitation .venue-detail{display:block}.physical-invitation .detail-icon{display:none}.physical-invitation .venue-detail h3{font-size:24px}.physical-invitation .venue-detail p{font-size:14px}.physical-invitation .day-timeline{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 0;padding:0;display:grid}.physical-invitation .day-timeline>div{background:#efdae1;border-radius:90px 90px 0 0;padding:25px 8px 20px}.physical-invitation .day-timeline>div:nth-child(2){background:#dee4cf}.physical-invitation .day-timeline>div:nth-child(3){background:#dce9f0}.physical-invitation .day-timeline .timeline-dot{display:none}.physical-invitation .day-timeline h3{min-height:45px;font-size:17px}.physical-invitation .day-timeline p{font-size:13px}.physical-invitation .attire-copy p{max-width:none;font-size:14px}.physical-invitation .attire-copy h2{font-size:45px}.physical-invitation .attire-copy h2 br,.physical-invitation .tiny-flower{display:none}.physical-invitation .palette{justify-content:center;margin:14px 0}.physical-invitation .palette button{width:30px;height:30px}.physical-invitation .color-whisper{min-height:0;margin-bottom:14px}.physical-invitation .attire-guides{text-align:left;max-width:none}.physical-invitation .notes-botanical,.physical-invitation .rsvp-botanical{display:none}.physical-invitation .guest-notes{box-shadow:none;background:0 0;border:0;outline:0;padding:0}.physical-invitation .guest-notes article{padding:17px 0;display:block}.physical-invitation .guest-notes h3{font-size:25px}.physical-invitation .guest-notes p{font-size:15px}.physical-invitation .note-icon{color:var(--muted);margin-bottom:4px;display:inline-block}.physical-invitation .rsvp-intro p{font-size:15px}.physical-invitation .invited-guests-note{max-width:none;font-size:13px!important}.physical-invitation .rsvp-card{box-shadow:none;text-align:left;background:0 0;border:0;padding:20px 4px}.physical-invitation .reply-paper:before{display:none}.physical-invitation .rsvp-card p{font-family:var(--sans);font-size:12px}.physical-invitation .button{color:var(--rose);background:#f1e2e5;border:1px solid #dcc4ce;border-radius:25px;min-height:44px}.physical-invitation .button:hover{background:#e9d2db}.physical-invitation .gallery-empty{background:0 0;border:1px dashed #d9ccb9;margin-top:25px;padding:25px}.physical-invitation .gallery-grid{grid-template-columns:repeat(2,1fr)}.physical-invitation .journey-controls{background:0 0;border:0;grid-template-columns:1fr auto 1fr;gap:8px;padding:10px 28px 14px}.physical-invitation .page-turn{font-family:var(--serif);color:var(--muted);gap:7px;font-size:13px}.physical-invitation .chapter-progress .eyebrow{font-family:var(--serif);letter-spacing:0;font-size:11px;font-style:italic}.put-away{font-family:var(--serif);color:var(--rose);background:0 0;border:0;padding:7px 12px;font-size:12px;font-style:italic;position:absolute;bottom:5px}@keyframes card-unfold{0%{opacity:0;transform:rotateY(-65deg)}to{opacity:1;transform:rotateY(0)rotate(0)}}@keyframes paper-turn{0%{opacity:.3;filter:brightness(.93);transform:perspective(1000px)rotateY(-18deg)}to{opacity:1;filter:brightness();transform:perspective(1000px)rotateY(0)}}@media (max-width:700px){.physical-invitation{padding:12px 12px 48px}.paper-book{grid-template-rows:minmax(0,1fr) 62px;height:calc(100dvh - 65px)}.book-closed{grid-template-rows:1fr;height:min(690px,100dvh - 65px)}.paper-book:before{inset:9px}.physical-invitation .journey-scene{padding:30px 25px 20px}.physical-invitation .hero{padding-top:28px}.physical-invitation .hero h1{font-size:57px}.physical-invitation .journey-scene h2{font-size:36px}.inner-bouquet{width:120px;height:145px}.physical-invitation .hero-description{font-size:13px}.physical-invitation .day-timeline{gap:5px}.physical-invitation .day-timeline>div{padding:20px 6px 16px}.physical-invitation .day-timeline h3{font-size:15px}.physical-invitation .day-timeline p{font-size:12px}.physical-invitation .day-timeline .eyebrow{letter-spacing:.03em;font-size:7px}.physical-invitation .journey-controls{padding:8px 18px}.physical-invitation .chapter-progress .eyebrow{font-size:9px}.physical-invitation .page-turn span{display:none}.physical-invitation .page-turn{justify-content:center;min-width:44px}.physical-invitation .guest-notes p{font-size:14px}.physical-invitation .guest-notes h3{font-size:23px}.desk-bouquet{width:230px}.cover-botanical{width:140px;height:180px}.cover-monogram{font-size:58px}.put-away{font-size:10px;bottom:10px;right:8px}}.physical-invitation{overflow:clip}.music-source{pointer-events:none;width:200px;height:200px;position:fixed;top:0;left:-1000px}.music-toggle{z-index:30;width:44px;height:44px;color:var(--muted);background:#fffaf3cc;border:1px solid #e0d7c8;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:8px;left:12px}.physical-invitation .notes-intro>p,.physical-invitation .guest-notes .note-icon{display:none}.physical-invitation .guest-notes article{padding:14px 0}.physical-invitation .journey-scene{animation:none}.physical-invitation .journey-controls{z-index:10;grid-template-columns:1fr auto 1fr;gap:12px;padding:8px 24px 12px;position:relative}.physical-invitation .page-turn{color:#fffdf5;background:var(--sage);border:1px solid var(--sage);min-height:44px;font-family:var(--sans);border-radius:24px;gap:8px;padding:9px 15px;font-size:11px;transition:background .2s,box-shadow .2s;box-shadow:0 3px 7px #62745020}.physical-invitation .page-turn:hover{background:var(--sage-hover);box-shadow:0 4px 10px #62745030}.physical-invitation .page-turn:disabled{color:var(--muted);opacity:.6;cursor:default;background:#e6e8db;border-color:#d3d9c6}@media (max-width:700px){.physical-invitation .journey-controls{gap:8px;padding:8px 17px}.physical-invitation .page-turn{gap:4px;min-width:92px;padding:9px 10px;font-size:10px}.physical-invitation .page-turn span{max-width:none;display:inline}.physical-invitation .chapter-progress .eyebrow{max-width:92px;font-size:9px;line-height:1.3;display:block}}.physical-invitation .journey-viewport{overflow:clip}.physical-invitation .journey-scene:not([data-leaving]){transform:scale(var(--sheet-scale,1));transform-origin:top}.physical-invitation .guide-page img{object-fit:contain;width:100%;max-height:min(470px,58dvh);margin:18px auto 0;display:block}.physical-invitation .guide-page h2{font-size:35px}.physical-invitation .single-note{flex-direction:column;justify-content:center;align-items:center;display:flex}.physical-invitation .single-note p{max-width:420px;font-size:19px}.printed-icon{color:var(--rose);margin-bottom:15px}.note-bouquet{opacity:.85;width:120px;height:170px;margin-top:20px}.handwritten{font-family:var(--serif);color:var(--rose);font-size:15px;font-style:italic}.physical-invitation .rsvp-intro h2{margin:5px 0 10px;font-size:35px}.physical-invitation .rsvp-intro p{margin-bottom:10px;font-size:13px}.physical-invitation .reply-paper-heading{display:none}.physical-invitation .rsvp-card{padding-top:12px}.reply-leaf-number{text-align:center;color:var(--rose);margin:10px 0;font-size:10px!important}.reply-page-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.physical-invitation .paper-reply legend{font-family:var(--serif);font-size:23px}@media (max-width:700px){.physical-invitation .single-note p{font-size:17px}.physical-invitation .note-bouquet{height:140px}.physical-invitation .journey-scene{padding:25px 25px 20px}}.album-pages{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:10px;display:flex}.physical-invitation .gallery-grid{margin-top:18px}.physical-invitation .memory-card img,.physical-invitation .memory-card video{height:160px}.physical-invitation .memories-section .section-heading h2{font-size:32px}.physical-invitation .memories-section .section-heading p{font-size:13px}.physical-invitation .journey-farewell{margin:16px 0 5px;font-size:13px}.physical-invitation .paper-reply fieldset{animation:1.5s both card-unfold}.physical-invitation textarea{resize:none}@media (max-height:650px){.physical-invitation .journey-scene{padding:20px 24px 15px}.physical-invitation .journey-scene h2{margin:9px 0 14px;font-size:29px}.physical-invitation .journey-scene p{font-size:13px}.physical-invitation .hero h1{margin:10px 0;font-size:41px}.physical-invitation .inner-bouquet{width:75px;height:80px}.physical-invitation .hero .ampersand{margin:5px 0;font-size:22px}.physical-invitation .hero-meta{margin-top:10px}.physical-invitation .note-bouquet{width:80px;height:95px;margin-top:10px}.physical-invitation .single-note p{font-size:15px}.physical-invitation .memories-section .section-heading p{display:none}.physical-invitation .memories-section h2{font-size:25px}.physical-invitation .gallery-empty{margin-top:15px;padding:15px}.physical-invitation .gallery-empty h3{font-size:20px}.physical-invitation .gallery-empty .album-icon,.physical-invitation .journey-farewell{display:none}.physical-invitation .memory-card img,.physical-invitation .memory-card video{height:110px}.physical-invitation .guide-page img{max-height:50dvh;margin-top:10px}.cover-botanical{width:90px;height:115px;margin-top:10px}.cover-monogram{font-size:45px}.cover-date,.cover-for,.cover-open{margin-top:15px}}.physical-invitation{padding:14px 18px 44px}.physical-invitation .paper-book,.physical-invitation .book-closed{width:min(940px,94vw);height:calc(100dvh - 60px)}.physical-invitation .book-open{grid-template-rows:minmax(0,1fr) 96px}.physical-invitation .book-closed{grid-template-rows:1fr}.physical-invitation .paper-book:before{inset:16px}.physical-invitation .journey-controls{gap:18px;padding:18px 40px 32px}.physical-invitation .venue-keepsake{max-width:560px;margin:18px auto 20px}.venue-flourish{color:var(--rose);letter-spacing:.25em;font-size:17px}.physical-invitation .venue-keepsake h3{margin:12px 0 8px;font-size:28px}.physical-invitation .venue-keepsake p{margin-bottom:8px;font-size:14px}.garden-timeline{text-align:left;max-width:420px;margin:20px auto 0;padding:0;list-style:none;position:relative}.garden-timeline:before{content:"";background:linear-gradient(#d4b4be,#aabc98,#d4b4be);width:1px;position:absolute;top:22px;bottom:40px;left:21px}.garden-timeline li{grid-template-columns:44px 1fr;gap:18px;padding:12px 0;display:grid;position:relative}.garden-stop{width:44px;height:44px;color:var(--rose);font-family:var(--serif);background:#fffdf5;border:1px solid #dcc8c6;border-radius:50%;place-items:center;font-size:23px;display:grid;box-shadow:0 0 0 5px #fffdf5}.garden-timeline li:nth-child(2) .garden-stop{color:var(--sage);border-color:#cbd6bd}.garden-timeline strong{font-family:var(--serif);color:var(--sage);margin:3px 0;font-size:27px;font-weight:400;line-height:1.3;display:block}.physical-invitation .garden-timeline p{margin:0;font-size:14px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.enchanted-name{display:inline-block;position:relative}.enchanted-letter{animation:enchanted-ink 1.15s cubic-bezier(.2, .7, .2, 1) var(--letter-delay) both;display:inline-block}.paper-book .enchanted-letter{animation:none}.paper-book.book-open #home:not([hidden]) .enchanted-letter{animation:enchanted-ink 1.15s cubic-bezier(.2, .7, .2, 1) var(--letter-delay) both}.name-magic{color:#c8ae73;opacity:0;font-size:20px;animation:2.6s .4s both name-stardust;position:absolute;top:0;right:-24px}@keyframes enchanted-ink{0%{opacity:0;filter:blur(7px);text-shadow:0 0 20px #ddc18a;transform:translateY(12px)scale(.94)}55%{opacity:1;filter:blur();text-shadow:0 0 14px #d5bd83aa}to{opacity:1;filter:blur();text-shadow:none;transform:none}}@keyframes name-stardust{0%{opacity:0;transform:translate(-10px,12px)scale(.4)}35%{opacity:.8}to{opacity:0;transform:translate(4px,-12px)scale(1.1)}}@media (max-width:700px){.physical-invitation{padding:8px 8px 44px}.physical-invitation .paper-book,.physical-invitation .book-closed{width:calc(100vw - 16px);height:calc(100dvh - 54px)}.physical-invitation .journey-scene{padding:24px 26px 18px}.physical-invitation .journey-controls{gap:8px;padding:16px 28px 30px}.physical-invitation .page-turn{min-width:84px;padding-inline:9px}.physical-invitation .venue-keepsake h3{font-size:23px}.physical-invitation .venue-keepsake{margin:14px auto}.garden-timeline li{gap:14px;padding:10px 0}.garden-timeline strong{font-size:24px}.physical-invitation .garden-timeline p{font-size:13px}}@media (max-height:650px){.physical-invitation .journey-scene{padding-top:16px}.physical-invitation .venue-keepsake{margin:8px auto}.physical-invitation .venue-keepsake h3{font-size:20px}.garden-timeline{margin-top:8px}.garden-timeline li{padding:6px 0}.garden-timeline strong{font-size:22px}.physical-invitation .garden-timeline p{font-size:12px}}.preview-coming-soon{text-align:center;margin:18px auto}.preview-coming-soon svg{width:145px;height:180px}.physical-invitation .preview-coming-soon p{font-family:var(--serif);color:var(--rose);font-size:21px;font-style:italic}.preview-coming-soon>span{color:var(--muted);font-size:10px}.preview-frame{background:#fffef9;border:1px solid #e7e1d3;max-width:560px;margin:18px auto 10px;padding:10px 10px 14px;box-shadow:0 5px 18px #665c4920}.preview-frame img,.preview-frame video{object-fit:contain;background:#f5f1e7;width:100%;height:min(350px,38dvh);display:block}.preview-frame figcaption{font-family:var(--serif);color:var(--rose);margin-top:10px;font-size:13px;font-style:italic}.preview-navigation{justify-content:center;align-items:center;gap:20px;font-size:10px;display:flex}.preview-navigation button{min-width:44px;min-height:44px}.physical-invitation .wedding-preview-page h2{margin-top:10px;font-size:37px}.physical-invitation .wedding-preview-page .delivered-stamp{margin-bottom:14px}.guest-album-page{max-width:1000px;margin:auto;padding:35px 7% 60px}.guest-album-page>.eyebrow{margin-top:40px;display:block}.guest-album-page h1{font-family:var(--serif);margin:20px 0;font-size:clamp(35px,5vw,60px)}.guest-album-page h1 em{color:var(--sage)}.guest-album-page>p{max-width:650px;font-size:14px}.album-host{margin-top:30px;display:block}.album-lookup{max-width:480px;margin-top:35px}.album-lookup h2{font-size:30px}@media (max-height:650px){.preview-coming-soon svg{width:95px;height:110px}.physical-invitation .wedding-preview-page h2{font-size:28px}}.cinematic-preview{color:#f7f0e3;max-width:720px;margin:18px auto 0}.cinema-screen{isolation:isolate;background:#272e24;border:8px solid #252c24;height:min(440px,46dvh);position:relative;overflow:hidden;box-shadow:0 12px 30px #4b503125}.cinema-layer{opacity:1;position:absolute;inset:0;overflow:hidden}.cinema-layer.current-layer{opacity:0;z-index:2;transition:opacity 1.1s}.cinema-layer.current-layer.layer-ready{opacity:1}.cinema-layer.previous-layer{z-index:1}.cinema-backdrop{object-fit:cover;filter:blur(25px)brightness(.55)saturate(.75);width:120%;height:120%;position:absolute;inset:-10%}.cinema-photo,.cinema-video{object-fit:contain;width:100%;height:100%;display:block;position:relative}.cinema-photo{animation:9s ease-out both cinema-drift}.is-paused .cinema-photo{animation-play-state:paused}.cinema-vignette{z-index:3;pointer-events:none;background:linear-gradient(#0000 55%,#171d17c4),radial-gradient(#0000 48%,#141c1645);position:absolute;inset:0}.cinema-caption{z-index:4;text-align:left;pointer-events:none;position:absolute;bottom:20px;left:24px;right:24px}.cinema-kicker{letter-spacing:.2em;color:#dfd5be;align-items:center;gap:8px;font-size:7px;display:flex}.physical-invitation .cinema-caption p{font-family:var(--serif);color:#fff8eb;margin:8px 0 0;font-size:23px}.cinema-controls{color:var(--sage);background:#eef0e4;border:1px solid #d3dac7;border-top:0;justify-content:center;align-items:center;gap:18px;padding:6px 14px;display:flex}.cinema-control{background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;font-size:11px;display:flex}.cinema-control:disabled{opacity:.3;cursor:default}.cinema-count{font-family:var(--serif);font-size:12px;font-style:italic}.cinema-empty{text-align:center;background:radial-gradient(#46513d,#242c23 75%);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.cinema-empty svg{opacity:.8;width:100px;height:120px}.physical-invitation .cinema-empty p{font-family:var(--serif);color:#f4ecd9;margin:12px 0;font-size:25px;line-height:1.3}.cinema-empty>span{color:#c7cdb8;max-width:280px;font-size:10px}.cinema-empty+.cinema-vignette{opacity:.45}.cinema-loading{color:#e7e6d9;z-index:5;font-family:var(--serif);text-align:center;font-size:14px;font-style:italic;position:absolute;top:40%;left:15%;right:15%}.cinema-preload{display:none}.physical-invitation .preview-error{color:var(--rose);font-size:12px}@keyframes cinema-drift{0%{transform:scale(1.01)translate(-.4%)}to{transform:scale(1.075)translate(.4%)}}@media (max-width:700px){.cinema-screen{border-width:5px;height:39dvh}.cinema-caption{bottom:16px;left:15px;right:15px}.physical-invitation .cinema-caption p{font-size:18px}.cinema-controls{gap:10px;padding-inline:6px}.physical-invitation .wedding-preview-page h2{font-size:31px}.physical-invitation .wedding-preview-page .journey-farewell{margin:12px 0 0;font-size:12px}.cinema-empty svg{width:80px;height:95px}.physical-invitation .cinema-empty p{font-size:21px}}@media (max-height:650px){.cinema-screen{height:35dvh}.cinema-empty svg{width:55px;height:60px}.physical-invitation .cinema-empty p{margin:7px 0;font-size:18px}.cinema-empty>span{font-size:9px}.physical-invitation .wedding-preview-page h2{font-size:25px}}@media (prefers-reduced-motion:reduce){.cinema-photo{animation:none!important}.cinema-layer.current-layer{transition:none!important}}.opening-sealed .envelope-stage{margin-top:-120px}@media (max-width:700px){.opening-sealed .envelope-stage{margin-top:-100px}}.preview-active .paper-book,.preview-active>.desk-bouquet,.preview-active>.petals,.preview-active>.put-away{display:none}.physical-invitation.preview-active{background:#151b16;padding:0}.wedding-cinema:not([hidden]){z-index:20;color:#fff8eb;background:#151b16;animation:1.1s both cinema-arrival;position:fixed;inset:0}.wedding-cinema .cinematic-preview{max-width:none;height:100dvh;margin:0}.wedding-cinema .cinema-screen{height:100%;box-shadow:none;border:0}.cinema-welcome{top:max(28px, env(safe-area-inset-top));z-index:6;text-align:center;pointer-events:none;text-shadow:0 2px 16px #000;position:absolute;left:24px;right:24px}.physical-invitation .cinema-welcome h2{color:#fff8eb;margin:8px 0;font-size:clamp(23px,3vw,40px)}.physical-invitation .cinema-welcome h2 em{color:#e2cfca}.cinema-delivered{letter-spacing:.08em;font-size:11px}.wedding-cinema .cinema-vignette{background:linear-gradient(#1016109c,#0000 28% 55%,#101610e8)}.wedding-cinema .cinema-caption{bottom:120px;left:max(28px,50vw - 500px)}.wedding-cinema .cinema-controls{width:max-content;max-width:calc(100vw - 40px);bottom:max(24px, env(safe-area-inset-bottom));z-index:6;color:#fff8eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#202921c9;border:1px solid #eee4cf38;border-radius:40px;gap:14px;position:absolute;left:50%;transform:translate(-50%)}.cinema-return{top:max(28px, env(safe-area-inset-top));z-index:7;color:#fff8eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#202921bb;border:1px solid #eee4cf38;border-radius:30px;align-items:center;gap:8px;min-height:44px;padding:8px 16px;display:flex;position:absolute;left:24px}body:has(.preview-active) .music-toggle{z-index:30}body:has(.preview-active) .desk-fullscreen{z-index:30;color:#fff8eb}.wedding-cinema .preview-error{z-index:7;color:#fff8eb;position:absolute;bottom:180px;left:24px;right:24px}@keyframes cinema-arrival{0%{opacity:0}to{opacity:1}}@media (max-width:700px){.cinema-return{font-size:11px;top:auto;bottom:96px;left:20px}.wedding-cinema .cinema-caption{bottom:170px;left:24px}.cinema-welcome{top:60px}}@media (prefers-reduced-motion:reduce){.wedding-cinema{animation:none}}@media (max-width:700px){body:has(.preview-active) .music-toggle{color:#fff8eb;background:#202921bb;border-color:#eee4cf38;border-radius:24px;top:16px;bottom:auto;left:20px}}.wedding-cinema .cinema-count{white-space:nowrap}.physical-invitation:not(.preview-active){background:var(--paper);min-height:0;padding:0;overflow:clip}.physical-invitation>.desk-bouquet{display:none}.physical-invitation .paper-book,.physical-invitation .book-closed{width:100vw;height:100dvh;box-shadow:none;background-image:radial-gradient(at 10% 40%,#f0e7e440,#0000 65%);border:0;border-radius:0}.physical-invitation .paper-book:after{display:none}.physical-invitation .paper-book:before{border-color:#b6c3a46b;inset:24px}.physical-invitation .book-open{grid-template-rows:minmax(0,1fr) 100px;grid-template-columns:45% 55%}.spread-couple{text-align:center;border-right:1px solid #a9b598;flex-direction:column;grid-area:1/1/-1;justify-content:center;align-items:center;gap:20px;margin:70px 0 70px 50px;padding:25px 35px;display:flex}.spread-bouquet{opacity:.8;width:100px;height:120px}.spread-names{font-family:var(--serif);color:var(--sage);flex-direction:column;align-items:center;font-size:clamp(52px,6.5vw,100px);font-style:italic;line-height:1.05;display:flex}.spread-and{color:var(--rose);margin:8px 0;font-size:.42em}.spread-promise{font-family:var(--serif);color:var(--rose);margin:0;font-size:19px;font-style:italic}.spread-date{font-family:var(--serif);color:var(--sage);margin-top:10px;font-size:24px}.spread-household{font-family:var(--serif);color:var(--rose);font-size:15px;font-style:italic}.physical-invitation .book-open .journey-viewport{grid-area:1/2;min-width:0;margin:55px 36px 0 0}.physical-invitation .book-open .journey-controls{grid-area:2/2;gap:10px;padding:10px 48px 30px 28px}.physical-invitation .journey-scene{padding:28px 32px 18px}.physical-invitation .hero{flex-direction:column;justify-content:center;display:flex}.physical-invitation .hero h2{font-size:clamp(34px,4vw,58px)}.physical-invitation .hero .printed-invite{max-width:350px;margin:24px auto}.physical-invitation .paper-corner{opacity:.3}.physical-invitation .put-away{z-index:5;position:fixed;bottom:34px;left:8%}.physical-invitation .page-turn{min-width:90px}.physical-invitation .chapter-progress .eyebrow{font-size:9px}@media (max-height:740px) and (min-width:701px){.spread-couple{gap:12px;margin-block:50px}.spread-bouquet{width:70px;height:75px}.spread-names{font-size:clamp(48px,6vw,78px)}}@media (max-width:700px){.physical-invitation .paper-book:before{inset:12px}.physical-invitation .book-open{grid-template-rows:125px minmax(0,1fr) 95px;grid-template-columns:1fr}.spread-couple{border-bottom:1px solid #a9b5986b;border-right:0;grid-area:1/1;gap:8px;margin:22px 30px 0;padding:14px 0 18px}.spread-names{flex-direction:row;gap:10px;font-size:clamp(30px,8vw,42px)}.spread-couple>.eyebrow,.spread-bouquet,.spread-promise,.spread-household{display:none}.spread-and{margin:0}.spread-date{margin:0;font-size:15px}.physical-invitation .book-open .journey-viewport{grid-area:2/1;margin:8px 16px 0}.physical-invitation .book-open .journey-controls{grid-area:3/1;padding:10px 28px 38px}.physical-invitation .page-turn.previous .lucide-arrow-left,.physical-invitation .page-turn.next .lucide-arrow-right{transform:rotate(90deg)}.physical-invitation .journey-scene{padding:16px 18px}.physical-invitation .hero h2{font-size:35px}.physical-invitation .put-away{display:none}.physical-invitation .paper-corner{opacity:.18;width:115px}.physical-invitation .book-open{animation:none}.physical-invitation .book-open .journey-viewport{transform-origin:top;animation:1.5s both card-unfold-vertical}.physical-invitation .paper-reply fieldset{transform-origin:top;animation-name:card-unfold-vertical}}@keyframes card-unfold-vertical{0%{opacity:0;transform:rotateX(65deg)}to{opacity:1;transform:rotateX(0)}}@media (max-width:700px){:is(body:has(.invitation-opening),body:has(.physical-invitation)){overflow:hidden}.invitation-opening,.physical-invitation{height:var(--invitation-height,100dvh);min-height:0}.invitation-opening{padding:max(12px, env(safe-area-inset-top)) 20px max(12px, env(safe-area-inset-bottom))}.opening-brand{margin-bottom:10px;font-size:24px}.opening-heading h1{margin:10px auto 8px;font-size:29px}.envelope-stage{zoom:var(--opening-scale,1)}.opening-actions{gap:5px;min-height:72px}.opening-footnote{margin-top:4px}.physical-invitation .paper-book,.physical-invitation .book-closed{height:100%}.physical-invitation .book-open{grid-template-rows:calc(96px + env(safe-area-inset-top)) minmax(0, 1fr) calc(76px + env(safe-area-inset-bottom))}.spread-couple{margin:calc(12px + env(safe-area-inset-top)) 30px 0;gap:4px;padding:6px 0 12px}.spread-names{font-size:clamp(30px,8vw,36px)}.physical-invitation .book-open .journey-controls{padding:8px 24px calc(12px + env(safe-area-inset-bottom))}.physical-invitation .journey-scene{padding:12px 16px}.physical-invitation .journey-viewport{overflow:clip}.physical-invitation.chapter-rsvp .journey-viewport{scroll-padding-block:12px;overflow:hidden auto}.physical-invitation .rsvp-intro h2{margin:4px 0 8px;font-size:29px}.physical-invitation .rsvp-card{padding:8px 12px}.physical-invitation input,.physical-invitation select,.physical-invitation textarea{font-size:16px}.physical-invitation .guide-page img{max-height:calc(var(--invitation-height,100dvh) - 275px)}.music-toggle{top:max(12px, env(safe-area-inset-top));bottom:auto;left:auto;right:12px}.wedding-cinema .cinematic-preview{height:var(--invitation-height,100dvh)}}.rsvp-active .paper-book,.rsvp-active>.petal-field,.rsvp-active>.put-away{display:none}.rsvp-garden:not([hidden]){z-index:20;isolation:isolate;background:radial-gradient(at 15% 85%,#e1e9d8,#0000 55%),radial-gradient(at 90% 12%,#f1dfeb,#0000 50%),linear-gradient(150deg,#fffaf2,#f5f3e7);grid-template-rows:76px minmax(0,1fr) 96px;height:100dvh;animation:.8s both reply-garden-arrive;display:grid;position:fixed;inset:0}.reply-garden-art{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.reply-garden-bloom{opacity:.32;width:clamp(170px,28vw,420px);position:absolute}.bloom-left{bottom:-110px;left:-60px;transform:rotate(25deg)}.bloom-right{top:-200px;right:-90px;transform:rotate(200deg)}.reply-firefly{background:#e4d4a1;border-radius:50%;width:5px;height:5px;animation:6s ease-in-out infinite alternate reply-firefly-float;position:absolute;box-shadow:0 0 12px 3px #e5d19666}.firefly-0{top:22%;left:12%}.firefly-1{animation-delay:-2s;top:68%;left:25%}.firefly-2{animation-delay:-4s;top:40%;left:84%}.firefly-3{animation-delay:-1s;top:76%;left:70%}.firefly-4{animation-delay:-3s;top:12%;left:40%}.firefly-5{animation-delay:-5s;top:83%;left:8%}.firefly-6{animation-delay:-2.5s;top:16%;left:91%}.firefly-7{animation-delay:-4.5s;top:90%;left:60%}.reply-garden-header{justify-content:space-between;align-items:center;padding:16px 76px 8px 28px;display:flex}.reply-return{min-height:44px;color:var(--sage);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:inline-flex}.reply-garden-body{overscroll-behavior:contain;flex-direction:column;justify-content:safe center;align-items:center;gap:24px;min-height:0;padding:12px 28px 24px;display:flex;overflow:hidden auto}.reply-garden-intro{text-align:center;flex-shrink:0}.reply-garden-magic{color:var(--rose);margin-bottom:10px;display:block}.reply-garden-intro h1{max-width:470px;color:var(--sage);margin:12px auto;font-size:clamp(34px,4vw,48px)}.reply-garden-intro h1 em{color:var(--rose)}.reply-garden-intro h1:focus,.rsvp-garden legend:focus{outline:none}.reply-garden-intro p{margin:0;font-size:13px}.reply-garden-form{flex-shrink:0;width:min(100%,460px)}.reply-garden-progress{appearance:none;background:var(--sage-light);width:100%;height:3px;color:var(--sage);border:0;border-radius:10px;margin-bottom:24px;display:block;overflow:hidden}.reply-garden-progress::-webkit-progress-bar{background:var(--sage-light)}.reply-garden-progress::-webkit-progress-value{background:var(--sage)}.reply-garden-progress::-moz-progress-bar{background:var(--sage)}.rsvp-garden .invited-household{justify-content:center;gap:12px;margin-bottom:18px;padding-bottom:18px;font-size:14px;line-height:1.6}.rsvp-garden .invited-household svg{flex-shrink:0}.rsvp-garden .invited-household span{overflow-wrap:anywhere;min-width:0}.rsvp-garden .reply-leaf-number{display:none}.rsvp-garden .paper-reply fieldset{min-width:0;margin:16px 0 0;padding:0;animation:.65s both reply-garden-arrive}.rsvp-garden .paper-reply legend{text-align:center;width:100%;color:var(--sage);margin-bottom:18px;font-size:27px;line-height:1.25}.rsvp-garden .form-label{font-size:13px}.rsvp-garden input,.rsvp-garden select,.rsvp-garden textarea{background:#fffef8d9;border-radius:14px;min-height:48px;font-size:16px}.rsvp-garden .attendance-options{gap:12px}.rsvp-garden .attendance{background:var(--paper);border:1px solid var(--line);border-radius:18px;min-height:64px}.rsvp-garden .attendance.selected{background:var(--sage-light);border-color:var(--sage);box-shadow:0 3px 14px #78976512}.rsvp-garden .attendance input{min-height:0}.rsvp-garden .reply-review{text-align:center;background:#ffffff80;border:1px solid #cdd8c1;border-radius:18px;padding:22px}.rsvp-garden .reply-review p{font-size:15px}.rsvp-garden .rsvp-success{text-align:center}.rsvp-garden .rsvp-success h3{font-size:30px}.rsvp-garden .rsvp-success p{font-size:15px}.reply-garden-footer{justify-content:center;align-items:center;padding:0 24px 16px;display:flex}.physical-invitation .rsvp-garden .journey-controls{gap:12px;width:min(100%,560px);padding:10px 0}.rsvp-garden .invitation-lookup{text-align:center}.rsvp-garden .form-error{font-size:13px}@keyframes reply-garden-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes reply-firefly-float{0%{opacity:.2;transform:translate(0)}to{opacity:.8;transform:translate(8px,-20px)}}@media (max-width:700px){.rsvp-garden:not([hidden]){height:var(--invitation-height,100dvh);grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0, 1fr) calc(80px + env(safe-area-inset-bottom))}.reply-garden-header{padding:env(safe-area-inset-top) 70px 0 22px}.reply-garden-body{gap:20px;padding:12px 26px 16px}.reply-garden-intro h1{max-width:290px;font-size:34px}.reply-garden-magic{margin-bottom:6px}.rsvp-garden[data-long-form] .reply-garden-magic{display:none}.reply-garden-progress{margin-bottom:18px}.rsvp-garden .paper-reply legend{font-size:24px}.reply-garden-footer{padding:0 22px env(safe-area-inset-bottom)}.bloom-right{top:-95px;right:-70px}.bloom-left{bottom:-55px;left:-65px}}@media (max-height:700px) and (max-width:700px){.reply-garden-magic,.reply-garden-intro>.eyebrow,.reply-garden-intro>p{display:none}.reply-garden-intro h1{max-width:none;margin:0;font-size:25px}.reply-garden-body{justify-content:flex-start;gap:12px}.reply-garden-progress{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){.reply-firefly{display:none}}.physical-invitation .page-turn{border-radius:50%;justify-content:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:0}.physical-invitation .page-turn.reply-submit{border-radius:28px;width:auto;min-width:120px;padding:0 16px}.physical-invitation .book-open .journey-viewport{animation:none}.physical-invitation .journey-scene[data-leaving]{z-index:8;pointer-events:none;transform-origin:0;background:#fffdf5;height:100%;animation:1.5s cubic-bezier(.3,.1,.25,1) both paper-leaf-forward;position:absolute;inset:0;overflow:hidden}.physical-invitation .turn-backward .journey-scene[data-leaving]{transform-origin:top;transform:scale(var(--sheet-scale,1));box-shadow:none;animation:.7s both paper-return-fade}.physical-invitation .journey-scene[data-leaving]>*{animation:1.5s linear both paper-ink-away}.physical-invitation .journey-scene[data-leaving]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 50%,#7b6c4938 84%,#fffef4a6 94%,#8b77544d);animation:1.5s both paper-leaf-shade;position:absolute;inset:0}.physical-invitation .turn-backward .journey-scene[data-leaving]:after{display:none}.physical-invitation .turn-backward .journey-scene[data-leaving]>*,.physical-invitation .book-open[data-navigated]{animation:none}.physical-invitation .book-open[data-returning] .journey-viewport{animation:.7s both paper-return-arrive}@keyframes paper-return-fade{0%{opacity:1}to{opacity:0}}@keyframes paper-return-arrive{0%{opacity:0}to{opacity:1}}@keyframes paper-leaf-forward{0%{opacity:1;transform:perspective(1500px)rotateY(0);box-shadow:0 0 #55463200}35%{border-radius:0 10% 14% 0;box-shadow:30px 5px 30px #55463226}65%{opacity:1;border-radius:0 4% 8% 0}to{opacity:0;border-radius:0;transform:perspective(1500px)rotateY(-170deg);box-shadow:0 0 #55463200}}@keyframes paper-leaf-upward{0%{opacity:1;transform:perspective(1500px)rotateX(0);box-shadow:0 0 #55463200}35%{border-radius:0 0 14% 10%;box-shadow:5px 30px 30px #55463226}65%{opacity:1;border-radius:0 0 8% 4%}to{opacity:0;border-radius:0;transform:perspective(1500px)rotateX(170deg);box-shadow:0 0 #55463200}}@keyframes paper-ink-away{0%,42%{opacity:1}43%,to{opacity:0}}@keyframes paper-leaf-shade{0%,to{opacity:0}40%{opacity:.8}85%{opacity:.2}}.physical-invitation.rsvp-active{perspective:none}@media (max-width:700px){.physical-invitation .book-open{transform-origin:top;animation:1.5s both card-unfold-vertical}.rsvp-garden:not([hidden]){top:var(--invitation-top,0px);bottom:auto}.physical-invitation .journey-scene[data-leaving]{transform-origin:top;animation-name:paper-leaf-upward}.physical-invitation .turn-backward .journey-scene[data-leaving]{transform-origin:top;animation-name:paper-return-fade}.physical-invitation .journey-scene[data-leaving]:after{background:linear-gradient(#0000 50%,#7b6c4938 84%,#fffef4a6 94%,#8b77544d)}.physical-invitation .turn-backward .journey-scene[data-leaving]:after{background:linear-gradient(#8b77544d,#fffef4a6 6%,#7b6c4938 16%,#0000 50%)}html[data-keyboard-open] .rsvp-garden:not([hidden]){grid-template-rows:44px minmax(0,1fr) 72px;animation:none}html[data-keyboard-open] .reply-garden-header{padding-top:0}html[data-keyboard-open] .reply-garden-intro,html[data-keyboard-open] .reply-garden-progress,html[data-keyboard-open] .rsvp-garden .invited-household{display:none}html[data-keyboard-open] .reply-garden-body{justify-content:flex-start;padding:8px 24px 12px}html[data-keyboard-open] .rsvp-garden .paper-reply fieldset{margin:0;animation:none}html[data-keyboard-open] .rsvp-garden .paper-reply legend{margin-bottom:8px;font-size:22px}html[data-keyboard-open] .rsvp-garden .form-label{margin-top:8px}html[data-keyboard-open] .reply-garden-footer{padding-bottom:0}html[data-keyboard-open] .music-toggle{top:calc(var(--invitation-top,0px) + 6px)}}.rsvp-actions{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 12px;width:min(100%,460px);display:grid}.rsvp-action-progress{text-align:center;color:var(--muted);grid-column:1/-1;font-size:10px}.rsvp-action{min-height:50px;font-family:var(--sans);border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:10px 18px;font-size:14px;line-height:1.2;transition:background .2s,box-shadow .2s;display:inline-flex}.rsvp-action-back{color:var(--sage);background:#fffef680;border:1px solid #bac8ab}.rsvp-action-back:hover{background:#f1f4e8}.rsvp-action-continue{color:#fffdf5;border:1px solid var(--sage);background:var(--sage);box-shadow:0 4px 16px #6b86551a}.rsvp-action-continue:hover{background:var(--sage-hover)}.rsvp-action:disabled{opacity:.6;cursor:wait}@media (max-width:700px){.reply-garden-footer{padding-inline:24px}.rsvp-action{min-height:48px}html[data-keyboard-open] .rsvp-actions{row-gap:4px}}.invitation-opening .eyebrow,.physical-invitation .eyebrow,.guest-album-page>.eyebrow,.host-heading>.eyebrow{display:none}.physical-invitation .chapter-progress .eyebrow,.physical-invitation .garden-timeline .eyebrow{display:block}.opening-music-credit{letter-spacing:0;color:var(--muted);text-underline-offset:2px;margin-top:4px;font-size:9px;line-height:1.4;text-decoration:underline;display:block}.guest-checklist{gap:9px;display:grid}.guest-check{background:var(--paper);border:1px solid var(--line);min-height:52px;color:var(--ink);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;line-height:1.4;display:flex}.guest-check span{overflow-wrap:anywhere;min-width:0}.guest-check.selected{background:var(--sage-light);border-color:var(--sage);color:var(--sage)}.rsvp-garden .guest-check input{width:20px;height:20px;min-height:20px;accent-color:var(--sage);flex-shrink:0;margin:0;padding:0}.guest-check-decline{background:0 0;min-height:44px;margin-top:16px;font-size:13px}@media (max-width:700px){.rsvp-garden[data-selecting-guests] .reply-garden-magic{display:none}}.guest-selection-count{text-align:center;margin:12px 0 0;font-size:12px}.host-guest-list{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.host-guest-list h4{color:var(--sage);margin:0 0 8px;font-size:13px}.host-guest-list ul{margin:0 0 8px;padding-left:20px;font-size:13px}.host-guest-actions{align-items:center;gap:16px;margin-top:12px;display:flex}.host-guest-list textarea,.create-invitation textarea{font-size:16px}.remove-invitation{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.remove-invitation-trigger{color:var(--rose);gap:8px;min-height:44px}.host-invitation .remove-invitation>p{margin-bottom:12px}.remove-invitation-actions{align-items:center;gap:18px;display:flex}.remove-confirm{min-height:44px;color:var(--rose);background:#f4e7e7;border:1px solid #c599a5;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:inline-flex}.rsvp-garden .reply-guest-list{text-align:center;font-family:var(--sans);margin:12px 0;padding:0;list-style:none}.reply-guest-list li{border-top:1px solid #d8dfcd;justify-content:center;align-items:flex-start;gap:10px;padding:9px 0;font-size:15px;line-height:1.5;display:flex}.reply-guest-list li:first-child{border-top:0}.reply-guest-list svg{color:var(--sage);flex-shrink:0;margin-top:3px}.reply-guest-list span{overflow-wrap:anywhere;min-width:0}@media (max-width:700px){.rsvp-garden[data-reviewing] .reply-garden-magic{display:none}}.wandering-wish{z-index:12;pointer-events:none;position:absolute;inset:0}.wandering-wish .wish-button{pointer-events:auto;border-radius:50%;justify-content:center;width:56px;height:56px;min-height:56px;padding:6px;position:absolute;top:0;left:0;transform:translate(16px,140px)}.wandering-wish .wish-button svg{filter:drop-shadow(0 2px 3px #7b628a20);animation-duration:.9s}.flying-wish-message{bottom:calc(100px + env(safe-area-inset-bottom));pointer-events:auto;text-align:center;background:#fffaf3f5;border:1px solid #d7c5df;border-radius:20px;width:min(340px,100% - 48px);padding:16px 18px 8px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #8c7a8720}.flying-wish-message p{font-family:var(--serif);color:var(--rose);margin:0;font-size:17px;font-style:italic}.flying-wish-message .text-button{min-height:36px;font-size:11px}.monetary-gift-content{--gift-card-width:min(360px, 100%);max-width:500px;margin:auto}.physical-invitation .monetary-gift-page h2{margin:4px 0 10px;font-size:32px}.physical-invitation .monetary-gift-note{max-width:420px;margin:0 auto 28px;font-size:14px;line-height:1.5}.gift-option-choices{justify-content:center;gap:10px;margin-bottom:28px;display:flex}.gift-option-choices button{min-width:100px;min-height:44px;color:var(--sage);background:#fffaf4;border:1px solid #ccd6be;border-radius:22px;padding:8px 18px;font-size:13px}.gift-option-choices button.selected{background:#e3ecd9;border-color:#8ba27b}.gift-qr-card{width:var(--gift-card-width);max-width:100%;color:var(--sage);background:#fffdf8;border:1px solid #a8b49e66;border-radius:8px;margin:auto;padding:18px;box-shadow:0 8px 24px #253b310a}.gift-qr-card-gcash{--gift-provider-accent:var(--sage);background:linear-gradient(145deg,#147ff4,#0756bc)}.gift-qr-card-bpi{--gift-provider-accent:var(--rose);background:linear-gradient(145deg,#d64149,#ac1724)}.gift-qr-card h3{font-family:var(--serif);color:#fff;margin:0 0 16px;font-size:22px;font-weight:500}.gift-qr-crop{aspect-ratio:1;background:#fff;border-radius:4px;width:100%;position:relative;overflow:hidden}.gift-qr-source{max-width:none;height:auto;margin:0;display:block;position:absolute}.physical-invitation .gift-qr-card p{font-family:var(--sans);color:#ffffffdc;margin:10px 0 0;font-size:11px;line-height:1.3}.gift-image-actions{justify-content:center;align-items:center;gap:24px;margin-top:18px;display:flex}.gift-image-actions a,.gift-image-actions button{gap:7px;min-height:44px;font-size:12px}@media (max-width:700px){.physical-invitation .monetary-gift-page h2{font-size:29px}.physical-invitation .monetary-gift-note{margin-bottom:24px;font-size:13px}.gift-option-choices{margin-bottom:24px}.monetary-gift-content{--gift-card-width:min(300px, 100%)}}.spread-names,.cover-monogram{font-weight:500}.spread-and,.spread-promise,.printed-invite,.reply-garden-intro h1 em{color:var(--rose)}.physical-invitation .chapter-progress .eyebrow,.rsvp-action-progress,.opening-music-credit,.field-hint{font-family:var(--sans);color:var(--muted);font-size:12px;font-style:normal}.form-label{color:var(--ink);font-size:14px}.host-page input,.host-page textarea,.host-page select{border-radius:12px;font-size:16px}.rsvp-action{font-weight:600}.rsvp-action-back{border-color:var(--sage);background:var(--paper)}.music-toggle{border-color:var(--line);background:var(--paper);color:var(--sage)}.reply-garden-progress{color:var(--sage)}.physical-invitation .monetary-gift-note{font-family:var(--sans)}@media (max-width:700px){.spread-names{gap:8px;font-size:clamp(26px,7.3vw,32px)}.physical-invitation .journey-scene h2{font-size:clamp(27px,7.2vw,32px)}.physical-invitation .chapter-progress .eyebrow{font-size:11px}}.physical-invitation .guest-attire-art-page h2{margin:0 0 8px}.physical-invitation .guest-attire-subtitle{font-family:var(--sans);color:var(--muted);margin:0 0 14px;font-size:15px}.guest-attire-art{width:min(100%,660px);height:auto;max-height:calc(var(--invitation-height,100dvh) - 360px);object-fit:contain;margin:0 auto 14px;display:block}.guest-attire-palette{flex-wrap:wrap;justify-content:center;gap:12px 18px;margin:0 auto 18px;display:flex}.guest-attire-palette>span{font-family:var(--sans);color:var(--ink);flex-direction:column;align-items:center;gap:5px;font-size:12px;display:flex}.guest-attire-swatch{border-radius:50%;width:22px;height:22px}.physical-invitation .attire-reminder{font-family:var(--sans);color:var(--rose);margin:12px auto 0;font-size:16px;line-height:1.4}.attire-reminder strong{font-weight:700}.physical-invitation .attire-copy .attire-note{color:var(--rose);font-weight:700}@media (max-width:700px){.guest-attire-art{max-height:calc(var(--invitation-height,100dvh) - 355px);width:100%}.guest-attire-palette{gap:10px 14px}.guest-attire-palette>span{font-size:11px}}.journey-scene .countdown{text-align:center}.journey-scene .countdown .countdown-copy{font-family:var(--sans);font-variant-numeric:lining-nums;align-items:center;gap:10px;margin-left:0;font-style:normal;font-weight:500;display:inline-flex}.journey-scene .countdown .countdown-sparkle{margin-left:0;line-height:1}.physical-invitation .guest-attire-subtitle{color:var(--rose);margin-bottom:6px;font-size:16px}.guest-attire-subtitle strong{font-weight:600}.physical-invitation .guest-attire-recommendation{font-family:var(--sans);max-width:400px;margin:0 auto 14px;font-size:14px;line-height:1.5}.invitation-opening .opening-brand{margin-bottom:12px}.invitation-opening .opening-heading h1{max-width:760px;margin:10px auto 12px;font-size:clamp(30px,3.6vw,44px)}.invitation-opening .opening-heading p{font-size:15px}.invitation-opening .envelope-stage{width:min(620px,84vw);height:470px}.invitation-opening.opening-sealed .envelope-stage{margin-top:-70px}.invitation-opening .envelope-back,.invitation-opening .envelope-front,.invitation-opening .envelope-flap{height:315px;top:100px}.invitation-opening .wax-seal{pointer-events:none;width:76px;height:76px;top:237px;left:calc(50% - 38px)}.invitation-opening .envelope-addressee{font-size:23px;top:350px}.invitation-opening .envelope-letter{width:380px;height:440px;margin-left:-190px;padding-top:25px}.invitation-opening .opening-actions{gap:12px;width:min(100%,360px);min-height:108px}.opening-swipe{border:1px solid var(--line);background:var(--paper);-webkit-user-select:none;user-select:none;border-radius:36px;justify-content:center;align-items:center;width:min(100%,320px);height:64px;display:flex;position:relative;box-shadow:inset 0 2px 6px #253b3109}.opening-swipe-label{font-family:var(--sans);color:var(--sage);letter-spacing:.025em;margin-left:36px;font-size:15px}.opening-swipe-handle{background:var(--sage);width:52px;height:52px;color:var(--paper);cursor:grab;touch-action:none;border:0;border-radius:50%;place-items:center;transition:transform .3s;display:grid;position:absolute;top:5px;left:5px;box-shadow:0 3px 8px #253b3120}.opening-swipe[data-dragging] .opening-swipe-handle{cursor:grabbing;transition:none}.invitation-opening .skip-opening{min-height:44px;font-size:12px;font-weight:500}@media (max-width:700px){.invitation-opening .opening-brand{margin-bottom:4px}.invitation-opening .opening-heading h1{max-width:340px;font-size:clamp(26px,7.5vw,32px)}.invitation-opening .opening-heading p{font-size:13px}.invitation-opening .envelope-stage{width:min(370px,92vw);height:405px}.invitation-opening.opening-sealed .envelope-stage{margin-top:-65px}.invitation-opening .envelope-back,.invitation-opening .envelope-front,.invitation-opening .envelope-flap{height:245px;top:95px}.invitation-opening .wax-seal{width:70px;height:70px;top:191px;left:calc(50% - 35px)}.invitation-opening .envelope-addressee{font-size:17px;top:286px}.invitation-opening .envelope-letter{width:min(310px,84vw);height:375px;margin-left:0;padding:20px 15px;left:50%;translate:-50%}.invitation-opening .envelope-letter h2{font-size:29px}.invitation-opening .opening-actions{min-height:108px}}@media (prefers-reduced-motion:reduce){.opening-swipe-handle{transition:none}}.physical-invitation .party-attire-page h2{margin:0 0 8px}.physical-invitation .party-attire-intro{font-family:var(--sans);margin:0 0 14px;font-size:14px}.party-attire-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;width:min(100%,460px);margin:auto;display:grid}.party-attire-groups figure{min-width:0;margin:0}.party-attire-groups figcaption{font-family:var(--sans);color:var(--sage);min-height:24px;font-size:14px;font-weight:600}.party-attire-art{aspect-ratio:1;position:relative;overflow:hidden}.party-attire-art img{width:200%;max-width:none;height:auto;position:absolute;top:0;left:0}.party-art-groomsmen img,.party-art-groom-parents img{left:-100%}.party-art-bride-parents img,.party-art-groom-parents img{top:-100%}.party-role-palette{justify-content:center;gap:7px;padding-top:6px;display:flex}.party-role-palette span{border-radius:50%;width:15px;height:15px}.physical-invitation .party-attire-note{font-family:var(--sans);color:var(--rose);margin:18px auto 0;font-size:14px;line-height:1.4}.party-attire-note strong{font-weight:600}@media (max-width:700px){.party-attire-groups{gap:16px;max-width:310px}.party-attire-groups figcaption{min-height:40px;line-height:1.4}}.invitation-opening .envelope-letter{width:480px;height:500px;margin-left:-240px;padding:28px}.invitation-opening.opening-opening .envelope-stage,.invitation-opening.opening-revealed .envelope-stage{height:530px}.invitation-opening .letter-bouquet{width:125px;height:145px}.invitation-opening .envelope-letter h2{font-size:40px}.invitation-opening .letter-invite{font-size:12px}.invitation-opening .letter-date{margin-top:22px;font-size:24px}.invitation-opening .letter-venue{max-width:330px;font-size:11px}.invitation-opening .letter-for{font-size:20px}.invitation-opening .letter-household{overflow-wrap:anywhere;max-width:100%;margin-top:6px;font-size:24px;font-weight:600;line-height:1.3}.invitation-opening.opening-revealed .opening-actions{min-height:64px}@media (max-width:700px){.invitation-opening .envelope-letter{width:min(350px,92vw);height:440px;margin-left:0;padding:22px 15px}.invitation-opening.opening-opening .envelope-stage,.invitation-opening.opening-revealed .envelope-stage{zoom:var(--letter-scale,1);height:465px}.invitation-opening .letter-bouquet{width:100px;height:120px}.invitation-opening .envelope-letter h2{font-size:30px}.invitation-opening .letter-invite{font-size:11px}.invitation-opening .letter-date{margin-top:18px;font-size:20px}.invitation-opening .letter-for{font-size:18px}.invitation-opening .letter-household{font-size:22px}}.invitation-opening [hidden]{display:none!important}.invitation-opening.opening-revealed .envelope-stage{width:min(660px,92vw);height:min(740px, calc(var(--invitation-height,100dvh) - 145px));zoom:1}.invitation-opening.opening-revealed .envelope-letter{justify-content:center;width:min(600px,100vw - 36px);height:calc(100% - 20px);margin-left:0;left:50%;translate:-50%}.opening-revealed .envelope-shadow,.opening-revealed .envelope-sparkle{display:none}@media (max-width:700px){.invitation-opening.opening-revealed .envelope-letter h2{font-size:clamp(28px,7.7vw,32px)}}.invitation-opening.opening-unfolding .envelope-stage{height:530px}.opening-unfolding .envelope-front,.opening-unfolding .envelope-back,.opening-unfolding .envelope-flap,.opening-unfolding .envelope-shadow,.opening-unfolding .envelope-sparkle{opacity:0}.opening-opening .envelope-sparkle{display:none}.opening-unfolding .envelope-letter{opacity:1;z-index:6;transform-origin:50%;animation:.65s cubic-bezier(.22,.65,.3,1) both keepsake-paper-open}.opening-unfolding .envelope-letter:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 45%,#253b3118 50%,#0000 55%);animation:.65s both keepsake-fold-light;position:absolute;inset:0}.physical-invitation .book-closed .folded-cover{animation:.65s cubic-bezier(.22,.65,.3,1) both keepsake-cover-arrive}@keyframes keepsake-paper-open{0%{opacity:1;transform:perspective(1200px)rotateY(0)scale(1)}45%{opacity:1;transform:perspective(1200px)rotateY(-9deg)scale(1.04)}to{opacity:0;transform:perspective(1200px)rotateY(0)scale(1.14)}}@keyframes keepsake-fold-light{0%,to{opacity:0}45%{opacity:1}}@keyframes keepsake-cover-arrive{0%{opacity:0;transform:perspective(1200px)rotateY(7deg)scale(.97)}to{opacity:1;transform:perspective(1200px)rotateY(0)scale(1)}}@media (max-width:700px){.invitation-opening.opening-unfolding .envelope-stage{zoom:var(--letter-scale,1);height:465px}}@media (prefers-reduced-motion:reduce){.opening-unfolding .envelope-letter,.opening-unfolding .envelope-letter:after,.physical-invitation .book-closed .folded-cover{animation:none}}.host-page.host-locked{grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:start;gap:48px 56px;display:grid}.host-locked>.text-button{grid-column:1/-1;justify-self:start}.host-locked .host-heading{margin:0}.host-locked .host-heading h1{margin:0 0 22px;font-size:clamp(36px,4vw,48px)}.host-locked .host-heading p{max-width:370px;margin:0;font-size:15px}.host-locked .host-login{width:100%;max-width:none;margin:0}@media (max-width:850px){.host-page.host-locked{grid-template-columns:minmax(0,1fr);gap:28px;max-width:640px}.host-locked .host-login{padding:24px}}.invitation-access{gap:18px}.invitation-access .loading-flower{margin:0 0 6px;animation:none}.invitation-access h1{margin:0 0 6px;font-size:clamp(30px,5vw,40px)}.invitation-access p{margin:0;line-height:1.6}.invitation-access .button{margin:6px 0}.invitation-access .invitation-access-help{max-width:380px;font-size:13px}.rsvp-garden[data-saved]:not([hidden]){flex-direction:column;justify-content:safe center;padding:80px 0 24px;display:flex}.rsvp-garden[data-saved] .reply-garden-header{position:absolute;top:0;left:0;right:0}.rsvp-garden[data-saved] .reply-garden-body{max-height:calc(var(--invitation-height,100dvh) - 180px);flex:0 auto;justify-content:flex-start;gap:28px;width:100%;padding:0 28px 24px}.rsvp-garden[data-saved] .reply-garden-magic{display:none}.rsvp-garden[data-saved] .reply-garden-intro h1{max-width:640px;margin:0 0 12px;font-size:clamp(28px,3vw,36px)}.rsvp-garden[data-saved] .reply-garden-intro p{max-width:460px;line-height:1.5}.rsvp-garden[data-saved] .rsvp-success{flex-direction:column;align-items:center;gap:16px;padding:0;display:flex}.rsvp-garden[data-saved] .rsvp-success h3,.rsvp-garden[data-saved] .rsvp-success p{margin:0}.rsvp-garden[data-saved] .reply-guest-list{width:100%;max-width:380px;margin:8px 0 4px}.rsvp-garden[data-saved] .reply-guest-list li{padding:12px 0}.rsvp-garden[data-saved] .rsvp-success>.text-button{min-height:44px;color:var(--muted);margin-top:-8px;font-size:13px;font-weight:400}.rsvp-garden[data-saved] .rsvp-actions{grid-template-columns:minmax(0,1fr);width:min(100%,320px)}.rsvp-garden[data-saved] .reply-garden-footer{flex-shrink:0;width:100%;padding-bottom:0}@media (max-width:700px){.rsvp-garden[data-saved]:not([hidden]){padding-top:calc(64px + env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}.rsvp-garden[data-saved] .reply-garden-body{gap:20px;padding-bottom:20px}.rsvp-garden[data-saved] .rsvp-success{gap:12px}.rsvp-garden[data-saved] .reply-guest-list li{padding:10px 0}}.gift-account-details{width:var(--gift-card-width);max-width:100%;color:var(--ink);font-family:var(--serif);text-align:center;background:#fffdf8;border:1px solid #a8b49e66;border-radius:8px;margin:16px auto 0;padding:24px;box-shadow:0 5px 18px #253b3106}.gift-account-details dt{color:var(--muted);font-size:11px;line-height:1.4}.gift-account-details dd{overflow-wrap:anywhere;margin:0 0 16px;font-size:21px;font-weight:500;line-height:1.45}.gift-account-details .gift-account-number{font-family:var(--sans);letter-spacing:.04em;font-variant-numeric:lining-nums tabular-nums;border-top:1px solid #253b3114;margin-bottom:0;padding-top:14px;font-size:18px;font-weight:400}.gift-number-row{justify-content:center;align-items:center;min-height:44px;padding-inline:44px;display:flex;position:relative}.gift-number-row>span{white-space:nowrap;-webkit-user-select:text;user-select:text}.gift-copy-number{min-width:44px;min-height:44px;color:var(--sage);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.gift-copy-number:hover{background:var(--sage-light)}.physical-invitation.chapter-monetary-gifts .journey-viewport{overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}@media (max-width:360px){.gift-account-details{padding:18px 16px}.gift-account-details .gift-account-number{letter-spacing:0;font-size:18px}}.wedding-finale:not([hidden]){height:var(--invitation-height,100dvh);z-index:20;color:#fffaf1;background:#17243d;animation:1.2s both finale-arrive;position:fixed;inset:0;overflow:hidden}.finale-castle,.finale-shade,.finale-fireworks{width:100%;height:100%;position:absolute;inset:0}.finale-castle{object-fit:cover;object-position:center}.finale-shade{background:linear-gradient(#0000 35%,#15213940 55%,#101a2deb 100%)}.finale-fireworks{pointer-events:none}.finale-burst{width:1px;height:1px;position:absolute}.finale-burst span{background:var(--burst-color);width:4px;height:4px;box-shadow:0 0 7px var(--burst-color);opacity:0;animation:finale-spark 5.8s var(--burst-delay) ease-out infinite;border-radius:50%;position:absolute}.finale-message{bottom:max(36px, env(safe-area-inset-bottom));text-align:center;max-width:760px;margin:auto;position:absolute;left:24px;right:24px}.physical-invitation .finale-message h2{color:#fffaf1;text-shadow:0 2px 16px #111c35;margin:0 0 16px;font-size:clamp(30px,4vw,50px)}.physical-invitation .finale-message h2 em{color:#efbdcc}.finale-message p{color:#fffaf1;margin:0 0 12px;font-size:16px}.finale-signature{font-family:var(--serif);color:#f2d5dc;font-size:20px;font-style:italic;display:block}.finale-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.finale-actions button{color:#fffaf1;min-height:48px;font-family:var(--sans);background:#18263dd9;border:1px solid #fffaf180;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:14px;display:inline-flex}.finale-actions button:hover{background:#29415b}@keyframes finale-spark{0%,15%{opacity:0;transform:translate(0)scale(.4)}20%{opacity:1}48%{opacity:.8;transform:translate(var(--spark-x), var(--spark-y)) scale(.8)}68%,to{opacity:0;transform:translate(var(--spark-x), calc(var(--spark-y) + 24px)) scale(.3)}}@keyframes finale-arrive{0%{opacity:0}to{opacity:1}}@media (max-width:700px){.finale-message{bottom:max(24px, env(safe-area-inset-bottom));left:20px;right:20px}.finale-actions{gap:10px;margin-top:22px}.finale-actions button{width:min(100%,300px)}.finale-signature{font-size:18px}}@media (prefers-reduced-motion:reduce){.wedding-finale:not([hidden]),.finale-burst span{animation:none}}@keyframes keepsake-paper-open-vertical{0%{opacity:1;transform:perspective(1200px)rotateX(0)translateY(0)scale(1)}45%{opacity:1;transform:perspective(1200px)rotateX(9deg)translateY(-8px)scale(1.04)}to{opacity:0;transform:perspective(1200px)rotateX(0)translateY(-20px)scale(1.14)}}@keyframes keepsake-cover-arrive-vertical{0%{opacity:0;transform:perspective(1200px)rotateX(7deg)translateY(12px)scale(.97)}to{opacity:1;transform:perspective(1200px)rotateX(0)translateY(0)scale(1)}}@media (max-width:700px){.opening-unfolding .envelope-letter{animation-name:keepsake-paper-open-vertical}.opening-unfolding .envelope-letter:after{background:linear-gradient(#0000 45%,#253b3118 50%,#0000 55%)}.physical-invitation .book-closed .folded-cover{animation-name:keepsake-cover-arrive-vertical}}@media (prefers-reduced-motion:reduce){.opening-unfolding .envelope-letter,.physical-invitation .book-closed .folded-cover{animation:none}}.gift-provider-brand{justify-content:center;align-items:center;min-height:30px;display:flex}.gift-provider-brand img{object-fit:contain;width:auto;max-width:130px;height:28px;display:block}.gift-provider-brand{min-height:40px}.gift-qr-card-gcash .gift-provider-brand img{box-sizing:content-box;background:#fff;border-radius:6px;padding:6px 10px}
