:root{--stable-vh:100svh;--cream:#fdfbf7;--cream-2:#faf5f0;--cream-3:#f2eae1;--sage:#e2b4b1;--sage-dark:#ba7a76;--sage-deep:#8a4f4c;--sage-light:#f7dcda;--sage-pale:#fff9f8;--sage-border:#eac9c7;--gold:#d4af37;--gold-light:#e8ce73;--gold-pale:#f7efc8;--text-dark:#2c2a29;--text-mid:#5a5552;--text-light:#8c8480;--border:#f0e5db;--white:#fff;--primary-rgb:226, 180, 177;--primary-dark-rgb:186, 122, 118;--primary-deep-rgb:138, 79, 76;--accent-rgb:212, 175, 55;--shadow:0 24px 64px -12px rgba(var(--primary-deep-rgb), .12);--shadow-sm:0 8px 24px rgba(var(--primary-deep-rgb), .06);--img-aspect-w:1080;--img-aspect-h:1920;--seal-y:54%;--seal-x:50%;--seal-size:46%;--ink-base:#ddc4b0;--ink-light:#f4e3c4;--ink-shadow:#3a2410;--env-bg:#14060a;--font-hint:"Italianno", "Pinyon Script", cursive}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text-dark);font-family:Cormorant Garamond,Georgia,serif;overflow-x:hidden}html.platform-preview,html.platform-preview body{scrollbar-width:none;-ms-overflow-style:none}html.platform-preview::-webkit-scrollbar{width:0;height:0;display:none}html.platform-preview body::-webkit-scrollbar{width:0;height:0;display:none}#audio-btn{z-index:9500;background:var(--white);border:1px solid var(--border);width:52px;height:52px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:28px;right:28px}#audio-btn:hover{transform:scale(1.14)}#audio-btn svg{width:20px;height:20px;color:var(--sage-dark)}.shimmer{background:linear-gradient(105deg,var(--sage-deep) 15%,var(--sage-dark) 30%,var(--sage) 45%,var(--sage-light) 55%,var(--sage-dark) 70%,var(--sage-deep) 85%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4.5s linear infinite shimmer}@keyframes shimmer{to{background-position:200%}}#petals-canvas{pointer-events:none;z-index:9000;opacity:0;width:100%;height:100dvh;transition:opacity 2s;position:fixed;top:0;left:0}#petals-canvas.active{opacity:1}.reveal{opacity:0;transition:opacity 1.2s ease-out,transform 1.2s ease-out;transform:translateY(28px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.12s}.reveal-d2{transition-delay:.24s}.reveal-d3{transition-delay:.36s}.entry-gate-container{width:100%;height:var(--stable-vh,100svh);max-height:var(--stable-vh,100svh);z-index:9999;cursor:pointer;background-color:#0000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.frame{cursor:pointer;z-index:10;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.flap{z-index:10;will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.flap--top{clip-path:polygon(-1% -1%,101% -1%,50% 51%);z-index:13}.flap--bottom{clip-path:polygon(-1% 101%,101% 101%,50% 49%);z-index:12}.flap--left{clip-path:polygon(-1% -1%,-1% 101%,51% 50%);z-index:11}.flap--right{clip-path:polygon(101% -1%,101% 101%,49% 50%);z-index:10}.reveal-flash{z-index:100;pointer-events:none;opacity:0;transform-origin:50% var(--seal-y);background:radial-gradient(circle at 50% var(--seal-y), #fff8dc8c 0%, #ffdea861 14%, #ffc38233 30%, #ffa56414 52%, #b4784600 75%);mix-blend-mode:screen;will-change:opacity, transform;position:absolute;inset:0;transform:scale(.35)}.tap-hint{top:calc(var(--seal-y) - 19%);z-index:60;pointer-events:none;text-align:center;will-change:transform, opacity;position:absolute;left:50%;transform:translate(-50%)}.entry-overlay--dark .tap-hint,.entry-overlay--dark .envelope__message{color:var(--ink-light)}.entry-overlay--light .tap-hint,.entry-overlay--light .envelope__message{color:#2c1810}.tap-hint__text{font-family:var(--font-hint);letter-spacing:.02em;opacity:.85;font-size:clamp(36px,6vw,56px);line-height:1;animation:3.6s ease-in-out infinite hint-breathe;display:block}.entry-overlay--dark .tap-hint__text{text-shadow:0 2px 14px #00000073}.entry-overlay--light .tap-hint__text{text-shadow:0 1px 10px #ffffffa6}.tap-hint__rule{opacity:.5;background:currentColor;width:clamp(40px,6vw,64px);height:.5px;margin:14px auto 0;display:block}@keyframes hint-breathe{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.95;transform:translateY(-3px)}}.envelope__message{text-align:center;z-index:60;pointer-events:none;width:95%;font-family:var(--font-hint);opacity:.9;will-change:transform, opacity;word-wrap:break-word;overflow-wrap:break-word;text-wrap:pretty;font-size:clamp(34px,4.8vw,48px);line-height:1.35;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.entry-overlay--dark .envelope__message{text-shadow:0 2px 12px #00000080}.entry-overlay--light .envelope__message{text-shadow:0 1px 8px #ffffff8c}.seal{top:var(--seal-y);left:var(--seal-x);width:var(--seal-size);aspect-ratio:1;z-index:50;will-change:transform, opacity;filter:drop-shadow(0 16px 28px #0000008c)drop-shadow(0 3px 6px #0006);animation:6s ease-in-out infinite seal-breathe;position:absolute;transform:translate(-50%,-50%)}@keyframes seal-breathe{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.012)}}.seal__image{background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.seal__initials{pointer-events:none;width:64%;height:64%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seal__initials svg{width:100%;height:100%;display:block;overflow:visible}.initials__letter{fill:var(--ink-base);font-family:Cormorant Garamond,serif;font-size:76px;font-style:italic;font-weight:300}.initials__amp{fill:var(--ink-base);opacity:.95;font-family:Tangerine,cursive;font-size:72px;font-style:normal;font-weight:700}#main-content{visibility:hidden;opacity:0;transition:opacity .8s}#main-content.visible{visibility:visible;opacity:1}section{content-visibility:auto;contain-intrinsic-size:900px}#entry-gate,#hero{content-visibility:visible}.sec-label{letter-spacing:.38em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:.85rem;font-weight:600;display:block}.sec-heading{font-family:var(--heading-font,"Pinyon Script",cursive);color:var(--sage-dark);text-align:center;margin-bottom:.5rem;font-size:clamp(3rem,9vw,5rem);line-height:1.1}.tc{text-align:center}#hero{background:var(--hero-bg,var(--cream-2));justify-content:center;align-items:center;min-height:100dvh;padding:3rem 1rem 6rem;display:flex;position:relative;overflow:hidden}#hero:before{content:"";background:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(var(--primary-rgb),var(--hero-glow-opacity,.18)) 0%,transparent 65%);position:absolute;inset:0}.hero-corner{pointer-events:none;z-index:2;position:absolute;inset:1.25rem}.hero-corner:before,.hero-corner:after,.hero-corner span:before,.hero-corner span:after{content:"";border-color:var(--gold);opacity:.7;border-style:solid;width:54px;height:54px;position:absolute}.hero-corner:before{border-width:2px 0 0 2px;top:0;left:0}.hero-corner:after{border-width:2px 2px 0 0;top:0;right:0}.hero-corner span:before{border-width:0 0 2px 2px;bottom:0;left:0}.hero-corner span:after{border-width:0 2px 2px 0;bottom:0;right:0}.hero-card{z-index:3;-webkit-backdrop-filter:blur(18px);border:1px solid rgba(var(--accent-rgb),.32);width:100%;max-width:620px;box-shadow:var(--shadow),0 0 0 4px rgba(var(--primary-rgb),.15) inset;text-align:center;word-wrap:break-word;overflow-wrap:break-word;background:#fdfbf7ed;border-radius:2.2rem;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(2.5rem,5.5vw,3.5rem) clamp(1.75rem,5vw,2.5rem);display:flex;position:relative;overflow:visible}.hero-icon{width:70px;height:70px;filter:drop-shadow(0 6px 18px rgba(var(--accent-rgb),.4));object-fit:contain;flex-shrink:0;animation:4s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.god-quote{color:var(--sage-deep);letter-spacing:.04em;text-align:center;white-space:pre-line;text-wrap:pretty;width:100%;max-width:90%;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.5}.god-quote:empty{display:none}.intro-text{color:var(--sage-dark);letter-spacing:.02em;white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;text-wrap:pretty;width:100%;max-width:95%;margin:0;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;line-height:1.6}.intro-text:empty{display:none}.parent-sub{letter-spacing:.02em;color:var(--text-mid);white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;text-align:center;text-wrap:pretty;width:100%;max-width:95%;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;font-weight:500;line-height:1.5}.parent-sub:empty{display:none}.hero-couple-partner{flex-direction:column;align-self:stretch;align-items:center;width:100%;display:flex}.couple-block{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:100%;display:flex}.couple-name{letter-spacing:.02em;box-sizing:border-box;text-align:center;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;width:100%;max-width:100%;padding:.2em .35em;font-family:Pinyon Script,cursive;font-size:clamp(2.5rem,12vw,5rem);font-weight:600;line-height:1.35;display:block;overflow:visible}.couple-name:empty{display:none}.couple-name.shimmer{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.22em .45em;line-height:1.45}.amp-row{justify-content:center;align-items:center;gap:1rem;width:100%;margin:0;display:flex}.amp-line{background:var(--border);width:44px;height:1px}.amp{color:var(--gold);font-family:Pinyon Script,cursive;font-size:2.6rem;line-height:1}.scroll-indicator{z-index:10;opacity:0;cursor:pointer;flex-direction:column;align-items:center;gap:6px;animation:1.5s 1.5s forwards fadeIn;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.25em;text-transform:uppercase;color:var(--sage-dark);font-family:Cormorant Garamond,serif;font-size:.7rem;font-weight:600}.scroll-indicator svg{width:20px;height:20px;color:var(--sage-dark);animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes fadeIn{to{opacity:1}}#scratch-section{background:var(--cream);text-align:center;flex-direction:column;justify-content:center;min-height:75vh;padding:5rem 1.5rem 7rem;display:flex;position:relative}.scratch-row{justify-content:center;align-items:flex-start;gap:clamp(14px,4vw,30px);margin-top:3rem;margin-bottom:2.5rem;display:flex}.scratch-unit{flex-direction:column;align-items:center;gap:12px;display:flex}.scratch-lbl{letter-spacing:.28em;text-transform:uppercase;color:var(--text-light);font-family:Cormorant Garamond,serif;font-size:.85rem;font-weight:600}@keyframes prompt-shake{0%,to{transform:translate(0)}5%,15%{transform:translate(-4px)rotate(-2deg)}10%,20%{transform:translate(4px)rotate(2deg)}25%{transform:translate(0)}}.scratch-card{border:1px solid var(--border);background:var(--white);width:clamp(88px,23vw,126px);height:clamp(128px,28vw,172px);box-shadow:var(--shadow);border-radius:14px;animation:3.5s ease-in-out infinite prompt-shake;position:relative;overflow:hidden}.scratch-card.glow{box-shadow:0 0 0 2px var(--sage-light),0 16px 40px rgba(var(--primary-dark-rgb),.28);transition:box-shadow .8s;animation:none}.scratch-inner{background:var(--white);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.sc-val{color:var(--sage-dark);text-align:center;padding:0 5px;font-family:Cormorant Garamond,serif;font-size:clamp(21px,5.5vw,32px);font-style:italic;font-weight:600;line-height:1.1}.sc-rule{background:var(--sage-border);width:36px;height:1px;margin:5px auto 0}.scratch-canvas{z-index:10;cursor:crosshair;touch-action:none;position:absolute;inset:0}.scratch-hint{letter-spacing:.28em;text-transform:uppercase;color:var(--sage-deep);font-family:Cormorant Garamond,serif;font-size:.75rem;font-weight:600;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}#locked{opacity:0;transition:opacity 1.5s,transform 1.5s;display:none;transform:translateY(36px)}#locked.unlocked{display:block}#locked.visible{opacity:1;transform:translateY(0)}#countdown-section{background:var(--cream);padding:3rem 1.5rem 5rem}.cd-card{background:var(--white);border:1px solid var(--border);max-width:460px;box-shadow:var(--shadow);text-align:center;border-radius:2.2rem;margin:0 auto;padding:3rem 2rem}.cd-quote{color:var(--text-mid);margin-bottom:.5rem;font-size:1.15rem;font-style:italic;line-height:1.65}.cd-script{color:var(--sage-dark);margin-bottom:.25rem;font-family:Pinyon Script,cursive;font-size:2.2rem;line-height:1.2;display:block}.cd-date{letter-spacing:.22em;color:var(--sage-deep);text-transform:uppercase;margin-top:1.25rem;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:600;display:block}.cd-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.cd-unit{flex-direction:column;align-items:center;gap:.4rem;display:flex}.cd-num{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,9vw,3.4rem);font-weight:300;line-height:1;position:relative}.cd-num:after{content:"";background:linear-gradient(to right,transparent,var(--sage-light),transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.cd-lbl{letter-spacing:.25em;text-transform:uppercase;color:var(--sage-deep);font-family:Cormorant Garamond,serif;font-size:.85rem;font-weight:600}#story-section{height:calc(var(--stable-vh) * 2.8);background:linear-gradient(180deg,var(--cream),var(--sage-pale) 30%,var(--cream) 70%)}.story-sticky{height:var(--stable-vh);padding:32px 0 calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.story-text{text-align:center;z-index:10;flex-shrink:0;width:100%;max-width:600px;padding:0 24px 8px}.story-chapter{letter-spacing:.3em;color:var(--sage-deep);background:var(--gold-pale);text-transform:uppercase;border-radius:50px;margin:8px 0 10px;padding:6px 20px;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:600;transition:opacity .4s;display:inline-block}.story-p{color:var(--text-mid);text-wrap:pretty;margin-bottom:0;font-family:Cormorant Garamond,serif;font-size:clamp(15px,2.8vw,19px);font-style:italic;line-height:1.65;transition:opacity .5s,transform .5s}.ls-stack{width:min(340px,88vw);min-height:min(420px,calc(var(--stable-vh) * .52));max-height:calc(var(--stable-vh) * .62);z-index:3;flex:auto;margin-top:.5rem;position:relative}.ls-card{box-shadow:0 8px 30px rgba(var(--primary-deep-rgb),.15);transform:translateY(120vh) rotate(calc(var(--r)*2)) scale(.9);will-change:transform;background:#fff;border-radius:8px;padding:12px 12px 60px;transition:transform 1.5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.ls-card:first-child{--r:-3.5deg;z-index:1}.ls-card:nth-child(2){--r:4.8deg;z-index:2}.ls-card:nth-child(3){--r:-2.6deg;z-index:3}.ls-card:nth-child(4){--r:5.2deg;z-index:4}.ls-card.visible{transform:translateY(0) rotate(var(--r)) scale(1)}.ls-card.stacked{transform:translateY(calc(var(--d,0)*-6px)) rotate(calc(var(--r)*.4)) scale(calc(1 - var(--d,0)*.03))}.ls-card img{object-fit:cover;border-radius:4px;width:100%;height:100%;display:block}.ls-caption{justify-content:center;align-items:center;height:60px;display:flex;position:absolute;bottom:0;left:0;right:0}.ls-caption span{color:var(--sage-deep);font-family:Pinyon Script,cursive;font-size:1.4rem}#story-frame-section{background:linear-gradient(180deg,var(--cream),var(--sage-pale) 45%,var(--cream));border-top:1px solid var(--border);padding:5rem 1.5rem}.story-frame-wrap{max-width:380px;margin:2.5rem auto 0;position:relative}.story-frame-wrap:before{content:"";border:1px solid rgba(var(--primary-dark-rgb),.35);pointer-events:none;border-radius:1.75rem;position:absolute;inset:-10px;transform:rotate(2deg)}.story-frame-wrap:after{content:"";border:1px solid rgba(var(--accent-rgb),.25);pointer-events:none;border-radius:1.6rem;position:absolute;inset:-5px;transform:rotate(-1deg)}.story-frame-inner{z-index:1;border:1px solid var(--sage-border);box-shadow:var(--shadow-md);background:var(--white);border-radius:1.25rem;position:relative;overflow:hidden}.story-frame-stack{aspect-ratio:1080/1600;background:var(--sage-pale);width:100%;position:relative}.story-frame-layer{opacity:0;pointer-events:none;transition:opacity .85s ease-in-out;position:absolute;inset:0}.story-frame-layer.active{opacity:1;pointer-events:auto}.story-frame-layer img,.story-frame-layer video{object-fit:cover;width:100%;height:100%;display:block}.story-frame-footnote{text-align:center;color:var(--text-mid);max-width:420px;margin-top:2rem;margin-left:auto;margin-right:auto;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.55}#venue-section{background:var(--cream);padding:5rem 1.5rem}.card-corner{border-color:rgba(var(--primary-dark-rgb),.35);border-style:solid;width:32px;height:32px;position:absolute}.card-corner.tl{border-width:1px 0 0 1px;border-radius:4px 0 0;top:16px;left:16px}.card-corner.tr{border-width:1px 1px 0 0;border-radius:0 4px 0 0;top:16px;right:16px}.card-corner.bl{border-width:0 0 1px 1px;border-radius:0 0 0 4px;bottom:16px;left:16px}.card-corner.br{border-width:0 1px 1px 0;border-radius:0 0 4px;bottom:16px;right:16px}.venue-card{background:var(--white);border:1px solid var(--sage-border);text-align:center;max-width:460px;box-shadow:var(--shadow-md);border-radius:1.5rem;margin:3rem auto 0;padding:2.5rem 2rem;position:relative}.venue-img-wrap{aspect-ratio:16/10;border:1px solid var(--sage-border);width:100%;box-shadow:0 12px 36px -8px rgba(var(--primary-deep-rgb),.15);border-radius:1rem;margin-bottom:1.5rem;overflow:hidden}.venue-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.venue-img-wrap:hover img{transform:scale(1.04)}.venue-name{color:var(--text-dark);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.venue-addr{color:var(--text-mid);margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.6}.venue-btn{background:var(--sage-deep);color:#fff;letter-spacing:.18em;text-transform:uppercase;border-radius:9999px;padding:.85rem 2rem;font-family:Cormorant Garamond,serif;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.venue-btn:hover{background:var(--sage-dark);transform:translateY(-2px)}#events-section{background:var(--cream);border-top:1px solid var(--border);padding:5rem 1.5rem 0}.event-block{max-width:480px;margin:0 auto 4rem;position:relative}.evt-details{background:var(--white);border:1px solid var(--sage-border);max-width:480px;box-shadow:var(--shadow-sm);border-radius:1rem;margin:1.25rem auto 0;padding:1.5rem}.evt-details:empty{display:none}.evt-tagline{color:var(--text-mid);text-align:center;white-space:pre-line;text-wrap:pretty;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;line-height:1.55;display:block}.evt-tagline:empty{display:none}.evt-tagline:empty+.evt-dresscode,.evt-tagline:empty+.evt-venue{margin-top:0}.evt-dresscode{text-align:center;border-bottom:1px dashed var(--sage-border);flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.evt-dresscode:empty,.evt-dresscode.is-empty{display:none}.evt-dresscode-lbl{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:.75rem;font-weight:600}.evt-dresscode-dots{justify-content:center;align-items:center;gap:8px;display:flex}.evt-dresscode-dot{width:18px;height:18px;box-shadow:0 2px 6px rgba(var(--primary-deep-rgb),.15);border:1px solid #00000014;border-radius:50%}.evt-dresscode-names{color:var(--text-mid);font-family:Cormorant Garamond,serif;font-size:.9rem;font-style:italic}.evt-dresscode-note{color:var(--text-light);font-family:Cormorant Garamond,serif;font-size:.8rem;font-style:italic}.evt-dresscode-note:empty{display:none}.evt-venue{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.evt-venue:empty{display:none}.evt-venue-name{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600;line-height:1.4}.evt-venue-name:empty{display:none}.evt-dir-btn{background:var(--sage-deep);color:#fff;letter-spacing:.18em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:6px;padding:.55rem 1.25rem;font-family:Cormorant Garamond,serif;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.evt-dir-btn:hover{background:var(--sage-dark);box-shadow:0 6px 18px rgba(var(--primary-deep-rgb),.25);transform:translateY(-2px)}.evt-dir-btn svg{width:14px;height:14px}#rsvp-section{background:var(--cream);color:var(--text-dark);padding:5rem 1.5rem 6rem}.rsvp-wrap,.rsvp-form{max-width:520px;margin:0 auto}.rsvp-card{background:var(--white);border:1px solid var(--border);box-shadow:0 4px 24px rgba(var(--primary-deep-rgb),.05);border-radius:1.5rem;margin-bottom:1.25rem;padding:2rem;transition:opacity .3s}.rsvp-card-title{color:var(--sage-dark);margin-bottom:.35rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;font-weight:300;line-height:1.2}#rsvp-section .field-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:.4rem;font-family:Tenor Sans,sans-serif;font-size:.6rem;font-weight:400;display:block}#rsvp-section .field-input,#rsvp-section select.field-input{border:0;border-bottom:1.5px solid var(--border);width:100%;color:var(--text-dark);box-shadow:none;background:0 0;border-radius:0;outline:none;padding:.65rem .15rem .55rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:300;transition:border-color .2s}#rsvp-section .field-input::placeholder{color:var(--text-light);opacity:.75}#rsvp-section .field-input:focus,#rsvp-section select.field-input:focus{border-bottom-color:var(--sage-dark)}#rsvp-section select.field-input{appearance:none;cursor:pointer;background-color:#0000;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238A4F4C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .35rem center;background-repeat:no-repeat;background-size:12px;padding-right:2rem}#rsvp-section .field-textarea{background:var(--cream);border:1px solid var(--border);width:100%;color:var(--text-dark);resize:vertical;min-height:5.5rem;box-shadow:none;border-radius:.75rem;outline:none;padding:.85rem 1rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:300;line-height:1.55;transition:border-color .2s,box-shadow .2s;display:block}#rsvp-section .field-textarea::placeholder{color:var(--text-light);opacity:.75}#rsvp-section .field-textarea:focus{border-color:var(--sage-border);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}#rsvp-section .field-group{margin-bottom:1.25rem}#rsvp-section .radio-pill-row{flex-wrap:wrap;gap:.75rem;display:flex}#rsvp-section .radio-pill{cursor:pointer;border:1.5px solid var(--border);letter-spacing:.15em;text-transform:uppercase;min-width:180px;color:var(--text-mid);background:var(--white);text-align:center;border-radius:9999px;flex:1;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-family:Tenor Sans,sans-serif;font-size:.65rem;font-weight:400;transition:all .25s;display:inline-flex;position:relative}#rsvp-section .radio-pill input{opacity:0;pointer-events:none;position:absolute}#rsvp-section .radio-pill:has(input:checked){background:var(--sage-deep);color:#fff;border-color:var(--sage-deep);box-shadow:0 4px 16px rgba(var(--primary-deep-rgb),.2)}#rsvp-section .checkbox-row{flex-direction:column;gap:.6rem;display:flex}#rsvp-section .checkbox-pill{border:1.5px solid var(--border);cursor:pointer;color:var(--text-mid);text-align:left;background:var(--white);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;transition:all .25s;display:flex}#rsvp-section .checkbox-pill input[type=checkbox]{width:20px;height:20px;accent-color:var(--sage-deep)}#rsvp-section .checkbox-pill:has(input:checked){background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}#rsvp-section .checkbox-pill:has(input:checked) small{color:#ffffffd9}#rsvp-section .checkbox-date{letter-spacing:.1em;opacity:.7;text-transform:uppercase;margin-top:.2rem;font-family:Tenor Sans,sans-serif;font-size:.65rem;display:block}#rsvp-section .submit-btn{background:var(--sage-deep);color:#fff;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;width:100%;box-shadow:0 6px 24px rgba(var(--primary-deep-rgb),.35);border:none;border-radius:9999px;margin-top:1.5rem;padding:1.1rem 2rem;font-family:Tenor Sans,sans-serif;font-size:.72rem;font-weight:400;transition:all .3s;display:block;position:relative;overflow:hidden}#rsvp-section .submit-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}#rsvp-section .submit-btn:hover:after{transform:translate(100%)}#rsvp-section .submit-btn:hover{background:var(--sage-dark);box-shadow:0 10px 32px rgba(var(--primary-deep-rgb),.45);transform:translateY(-2px)}#rsvp-section .submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}#rsvp-modal{z-index:10000;-webkit-backdrop-filter:blur(10px);background:#2c2a2985;justify-content:center;align-items:center;padding:1.25rem;display:none;position:fixed;inset:0}#rsvp-modal.open{display:flex}#rsvp-modal .modal-card{background:var(--white);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;border-radius:1.5rem;padding:2.25rem 1.75rem 1.75rem;animation:.45s cubic-bezier(.16,1,.3,1) both rsvpModalIn;position:relative}@keyframes rsvpModalIn{0%{opacity:0;transform:scale(.92)translateY(18px)}to{opacity:1;transform:scale(1)translateY(0)}}#rsvp-modal .modal-dismiss{border:1px solid var(--border);background:var(--cream);width:2rem;height:2rem;color:var(--text-light);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:background .2s,color .2s,border-color .2s;display:flex;position:absolute;top:.85rem;right:.85rem}#rsvp-modal .modal-dismiss:hover{background:var(--sage-pale);color:var(--sage-deep);border-color:var(--sage-border)}#rsvp-modal .modal-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.15rem;display:flex}#rsvp-modal .modal-icon svg{width:36px;height:36px}#rsvp-modal .modal-title{margin:0 0 .5rem;font-family:Pinyon Script,cursive;font-size:clamp(2.25rem,8vw,2.75rem);line-height:1.1}#rsvp-modal .modal-msg{color:var(--text-mid);margin:0 0 1.5rem;padding:0 .25rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.65}#rsvp-modal .modal-close{background:var(--sage-deep);color:#fff;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;width:100%;box-shadow:0 6px 20px rgba(var(--primary-deep-rgb),.25);border:none;border-radius:9999px;justify-content:center;align-items:center;padding:.9rem 1.5rem;font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s;display:inline-flex}#rsvp-modal .modal-close:hover{background:var(--sage-dark);transform:translateY(-1px)}#footer-section{background:var(--sage-deep);text-align:center;border-top:1px solid var(--gold-light);padding:6rem 1.5rem 2.5rem}.footer-msg{max-width:580px;color:var(--cream-2);white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;text-wrap:pretty;margin:0 auto 2.5rem;font-size:1.15rem;font-style:italic;line-height:1.75}.footer-msg:empty{display:none}.footer-subheading{color:var(--sage-light);white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;text-align:center;text-wrap:pretty;max-width:580px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic;line-height:1.5;display:block}.footer-subheading:empty{display:none}.footer-regards{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:.85rem;font-weight:600;display:block}.footer-name{color:var(--gold-light);margin:1.5rem 0;font-family:Pinyon Script,cursive;font-size:clamp(3.5rem,10vw,5rem);line-height:1.1;display:block}.footer-credit{color:var(--cream-2);opacity:.85;border-top:1px solid #ffffff1a;margin-top:3.5rem;padding-top:1.5rem;font-size:13px}.footer-credit a{color:var(--gold-light);letter-spacing:.03em;text-decoration:none}.footer-credit a:hover{opacity:1;text-decoration:underline}.event-invite-frame{--invite-pad-top:20.5%;--invite-pad-bottom:80.5%;border:1px solid var(--border);box-shadow:var(--shadow-sm);aspect-ratio:9/16;background:#1a1528;border-radius:1rem;max-height:min(92vh,720px);margin:0 auto;position:relative;overflow:hidden}.event-invite-bg{object-fit:cover;object-position:center bottom;width:100%;height:100%;display:block;position:absolute;inset:0}.event-invite-overlay{text-align:center;padding:var(--invite-pad-top) 0 var(--invite-pad-bottom);pointer-events:none;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.event-invite-stack{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:0;display:flex}.event-invite-title{font-family:var(--font-mussica-swash), "Pinyon Script", cursive;letter-spacing:.01em;flex-shrink:0;max-width:100%;margin:0;font-size:1.9rem;font-weight:400;line-height:1.1}.event-invite-title.is-multiline{line-height:1.55}.event-invite-stack .event-date-row{margin-top:clamp(.35rem,2.6vw,.72rem)}.event-invite-stack .event-invite-time{margin-top:clamp(.22rem,1.8vw,.48rem)}.event-date-row{text-transform:none;letter-spacing:.04em;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.35rem .5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.2rem,3.9vw,1.14rem);font-weight:900;line-height:1.2;display:flex}.event-date-row .event-date-bar{opacity:.45;margin:0 .05rem;font-weight:400}.event-date-row .event-date-num{margin:0 .15rem;font-size:clamp(2rem,8.5vw,2.85rem);font-weight:700;line-height:1}.event-invite-time{letter-spacing:.06em;flex-shrink:0;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.1rem,3.55vw,1.15rem);font-style:normal;font-weight:600}.event-invite--light .event-invite-title,.event-invite--arch .event-invite-title{color:#b4236f}.event-invite--light .event-date-row,.event-invite--light .event-invite-time,.event-invite--arch .event-date-row,.event-invite--arch .event-invite-time{color:#2c1810}.event-invite--dark .event-invite-title{color:#f5ecd4;text-shadow:0 2px 18px #00000073,0 0 36px #d4af3747}.event-invite--dark .event-date-row,.event-invite--dark .event-invite-time{color:#fffffff2;text-shadow:0 1px 12px #00000059}.event-invite--sunset .event-invite-title{color:#fffef8;text-shadow:0 2px 14px #00000080,0 0 28px #8b5a2b59}.event-invite--sunset .event-date-row,.event-invite--sunset .event-invite-time{color:#fffffffa;text-shadow:0 1px 10px #00000073,0 0 20px #0003}.event-invite--sunset .event-date-row .event-date-bar{opacity:.65}#entry-gate{z-index:9999;cursor:pointer;-webkit-user-select:none;user-select:none;background:#000;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}#entry-gate video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#entry-gate-poster{object-fit:cover;z-index:1;background:#000;width:100%;height:100%;position:absolute;inset:0}#entry-gate.video-ready #entry-gate-poster{opacity:0;transition:opacity .3s}#entry-gate.fade-out{opacity:0;pointer-events:none}.entry-gate-message{z-index:2;pointer-events:none;text-align:center;width:95%;font-family:var(--font-hint,"Italianno", "Pinyon Script", cursive);opacity:.9;word-wrap:break-word;overflow-wrap:break-word;text-wrap:pretty;will-change:transform, opacity;white-space:pre-line;font-size:clamp(34px,4.8vw,48px);line-height:1.35;transition:opacity .9s;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.entry-gate-message.hidden{opacity:0}.entry-overlay--dark .entry-gate-message{color:var(--ink-light,#f5f0e8);text-shadow:0 2px 12px #00000080}.entry-overlay--light .entry-gate-message{color:#2c1810;text-shadow:0 1px 8px #ffffff8c}
@font-face{font-family:mussicaSwash;src:url(../media/MussicaSwash-s.p.14p2l4kc9v7p5.otf?dpl=dpl_fZw4eEY5tjriF6PSVCfuiBioR3p4)format("opentype");font-display:swap;font-weight:400}@font-face{font-family:mussicaSwash Fallback;src:local(Arial);ascent-override:116.26%;descent-override:95.48%;line-gap-override:0.75%;size-adjust:93.84%}.mussicaswash_cbf5cd0e-module__YhA5QG__className{font-family:mussicaSwash,mussicaSwash Fallback;font-weight:400}.mussicaswash_cbf5cd0e-module__YhA5QG__variable{--font-mussica-swash:"mussicaSwash", "mussicaSwash Fallback"}
