@import "https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--green-dark:#1a3005;--green-mid:#30530f;--green-light:#6b8040;--green-pale:#a8b87a;--cream:#fffaf7;--cream-dim:#fffaf7f2;--text-mid:#30530fb3;--text-light:#30530f80;--glass-bg:#fffaf78c;--glass-border:#6b80402e;--glass-shadow:0 8px 32px #1a300524, 0 2px 8px #1a300512;--font-name:"Playfair Display", "Baskerville", "Times New Roman", serif;--font-body:"Lora", "Times New Roman", serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--green-dark);color:var(--green-mid);-webkit-font-smoothing:antialiased;overflow-x:hidden}.glass-box{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.envelope-cover{z-index:100;background-color:#fff;justify-content:center;align-items:center;transition:opacity .7s,transform .7s;display:flex;position:fixed;inset:0;overflow:hidden}.grid-bg{z-index:0;grid-template-columns:repeat(6,1fr);grid-auto-rows:auto;align-content:start;gap:12px;padding:12px;display:grid;position:absolute;inset:0;overflow:hidden}@media (width<=600px){.grid-bg{grid-template-columns:repeat(3,1fr);gap:10px;padding:10px}}.grid-cell{perspective:1200px;cursor:default;aspect-ratio:1}.grid-cell-inner{width:100%;height:100%;transform-style:preserve-3d;box-sizing:border-box;border:1.5px solid #1a300526;border-radius:16px;transition:transform 1.1s cubic-bezier(.16,1,.3,1);position:relative}.grid-cell:hover .grid-cell-inner{transform:rotateY(180deg)}.grid-cell-front,.grid-cell-back{backface-visibility:hidden;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.grid-cell-front{background:#fff0}.grid-cell-back{font-family:var(--font-body);color:#1a30058c;text-align:center;letter-spacing:.06em;background:linear-gradient(135deg,#6b80401f,#1a300512);font-size:clamp(.65rem,1.3vw,.9rem);font-style:italic;transform:rotateY(180deg)}.envelope-cover.opened{opacity:0;pointer-events:none;transform:scale(1.04)}.envelope-card{z-index:10;filter:drop-shadow(0 40px 80px #1a300526);width:clamp(310px,90vw,560px);position:relative}.envelope-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 60%,#6b80402e 0%,#0000 70%);border-radius:40px;position:absolute;inset:-20px}.envelope-seal{z-index:30;background:radial-gradient(circle at 35% 35%,#3d6a14,#1a3005);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;animation:2.5s ease-in-out infinite sealPulse;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 24px #30530f8c,inset 0 2px 4px #ffffff40,0 0 0 3px #fffaf7e6,0 0 0 4px #6b80404d}@keyframes sealPulse{0%,to{box-shadow:0 4px 20px #30530f80,inset 0 2px 4px #ffffff4d}50%{box-shadow:0 4px 36px #30530fd9,inset 0 2px 4px #ffffff4d}}.envelope-inner{clip-path:inset(0 round 24px);background:#fffaf7f7;border:1px solid #6b80401f;border-radius:24px;position:relative;box-shadow:0 50px 120px -20px #00000059,0 20px 48px #00000026,0 4px 12px #00000014,0 0 0 1px #6b80401a,inset 0 1px #fffffff2}.envelope-floral-tl{opacity:.4;pointer-events:none;width:400px;position:absolute;top:-40px;left:calc(-30% - 50px)}.envelope-floral-br{opacity:.3;pointer-events:none;width:160px;position:absolute;bottom:-40px;right:-40px;transform:rotate(160deg)}.envelope-content{z-index:10;text-align:center;padding:100px 48px 52px;position:relative}.envelope-names{font-family:var(--font-name);color:#30530f;letter-spacing:-.01em;flex-direction:column;align-items:center;margin-bottom:16px;font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.05;display:flex}.envelope-amp{color:var(--green-light);font-size:1rem;font-style:italic;line-height:1.8}.envelope-divider{justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.divider-line-left{background:linear-gradient(90deg,#0000,#6b804080);width:48px;height:1px}.divider-line-right{background:linear-gradient(270deg,#0000,#6b804080);width:48px;height:1px}.divider-ornament{color:var(--green-light);opacity:.6;font-size:.85rem}.envelope-date{color:var(--text-mid);font-family:var(--font-body);letter-spacing:.08em;margin-bottom:10px;font-size:1.05rem}.envelope-greeting{color:var(--text-light);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px;font-size:.95rem;font-weight:300}.open-btn{color:#fffaf7;font-family:var(--font-body);letter-spacing:.06em;cursor:pointer;background:linear-gradient(135deg,#30530f,#3d6a14);border:none;border-radius:9999px;align-items:center;padding:14px 44px;font-size:1.05rem;font-weight:600;transition:transform .25s,box-shadow .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #30530f66,inset 0 1px #ffffff26}.open-btn:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 12px 32px #30530f80,inset 0 1px #ffffff26}.main-page{background:var(--cream);opacity:0;pointer-events:none;min-height:100vh;transition:opacity .6s .1s}.main-page.visible{opacity:1;pointer-events:auto}.hero-section{text-align:center;background:#0f1e05;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-photo-wrap{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-photo-inner{will-change:transform;position:absolute;inset:-15%}.hero-photo{object-fit:cover;object-position:center 30%;width:100%;height:100%;display:block}.hero-photo-overlay{background:linear-gradient(#0a1403bf 0%,#0a14038c 30% 70%,#0a1403d9 100%);position:absolute;inset:0}.hero-bg{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.hero-floral-tl{opacity:.55;width:clamp(280px,45vw,520px);position:absolute;top:-60px;left:calc(-20% - 20px)}.hero-floral-br{opacity:.45;width:clamp(160px,24vw,280px);position:absolute;bottom:-50px;right:-30px;transform:rotate(160deg)}.hero-content{z-index:2;max-width:600px;padding:40px 24px;position:relative}.hero-label{letter-spacing:.45em;text-transform:uppercase;color:#fffaf7f2;text-shadow:0 2px 10px #000000b3;margin-bottom:20px;font-size:.75rem;font-weight:700}.hero-names{font-family:var(--font-name);color:#fffaf7;text-shadow:0 4px 32px #0006;letter-spacing:-.01em;flex-direction:column;align-items:center;margin-bottom:20px;font-size:clamp(3rem,13vw,6rem);line-height:.95;display:flex}.hero-amp{color:var(--green-pale);letter-spacing:.1em;font-size:.38em;font-style:italic;line-height:2}.hero-divider{color:var(--green-pale);opacity:.8;justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.hdl{background:linear-gradient(to right, transparent, var(--green-pale));width:48px;height:1px}.hdr{background:linear-gradient(to left, transparent, var(--green-pale));width:48px;height:1px}.hero-date{color:#fffaf7f2;letter-spacing:.18em;text-shadow:0 2px 12px #000c;margin-bottom:16px;font-size:1rem;font-weight:600}.hero-quote{color:#fffaf7eb;margin-bottom:20px;text-shadow:0 2px 12px #000c;max-width:420px;margin-inline:auto;font-size:.95rem;font-style:italic;font-weight:500;line-height:1.8}.hero-announcement{letter-spacing:.28em;color:#fffaf7e6;text-shadow:0 2px 10px #000c;font-size:.72rem;font-weight:700;line-height:2}.hero-anim-1{animation:.9s .2s both heroFadeUp}.hero-anim-2{animation:.9s .45s both heroFadeUp}.hero-anim-3{animation:.7s .7s both heroFadeUp}.hero-anim-4{animation:.7s .85s both heroFadeUp}.hero-anim-5{animation:.7s 1s both heroFadeUp}.hero-anim-6{animation:.7s 1.15s both heroFadeUp}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.scroll-hint{z-index:2;color:#fffaf773;letter-spacing:.25em;text-transform:uppercase;flex-direction:column;align-items:center;gap:6px;font-size:.68rem;animation:2s ease-in-out infinite scrollBounce;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint:after{content:"";background:linear-gradient(#fffaf766,#0000);width:1px;height:36px}@keyframes scrollBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.section-inner{max-width:760px;margin:0 auto;padding:72px 24px}.section-label{letter-spacing:.35em;text-transform:uppercase;color:var(--green-light);text-align:center;margin-bottom:10px;font-size:.72rem}.section-label.light{color:var(--green-pale)}.section-title{font-family:var(--font-name);color:var(--green-mid);text-align:center;margin-bottom:36px;font-size:clamp(1.5rem,5vw,2.2rem);line-height:1.2}.section-title.light{color:var(--cream)}.family-section{background:var(--cream)}.couple-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:20px;margin-bottom:24px;display:grid}.person-card{text-align:center;border-radius:20px;padding:28px 20px}.person-photo{object-fit:cover;border:3px solid var(--green-light);border-radius:50%;width:110px;height:110px;margin:0 auto 14px;display:block;box-shadow:0 6px 20px #30530f33}.person-role{letter-spacing:.28em;text-transform:uppercase;color:var(--green-light);margin-bottom:4px;font-size:.68rem}.person-name{font-family:var(--font-name);color:var(--green-mid);margin-bottom:8px;font-size:1.3rem}.person-parents{color:var(--text-mid);margin-bottom:8px;font-size:.85rem;line-height:1.65}.person-address{color:var(--text-light);font-size:.78rem;font-style:italic;line-height:1.5}.couple-divider{flex-direction:column;align-items:center;gap:8px;padding-top:40px;display:flex}.cdl{background:linear-gradient(to bottom, transparent, var(--green-light), transparent);width:1px;height:50px}.couple-amp{font-family:var(--font-name);color:var(--green-light);font-size:1.8rem}.ceremony-card,.party-card{text-align:center;border-radius:16px;margin-bottom:16px;padding:24px 28px}.ceremony-label{letter-spacing:.3em;color:var(--green-light);margin-bottom:8px;font-size:.68rem}.ceremony-header{font-family:var(--font-name);color:var(--green-mid);white-space:pre-line;margin-bottom:12px;font-size:1rem;line-height:1.5}.party-venue-title{color:var(--text-mid);margin-bottom:6px;font-size:.9rem}.party-address{color:var(--green-mid);margin-bottom:12px;font-size:.9rem;font-weight:500;line-height:1.5}.ceremony-row{color:var(--text-mid);flex-wrap:wrap;justify-content:center;gap:24px;font-size:.85rem;display:flex}.gallery-section{background:var(--cream)}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;opacity:0;border-radius:10px;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),box-shadow .3s;overflow:hidden;transform:translateY(20px)}.gallery-grid.revealed .gallery-item{opacity:1;transform:translateY(0)}.gallery-item:hover{transform:scale(1.02);box-shadow:0 12px 32px #1a300533}.gallery-item--wide{aspect-ratio:2;grid-column:span 2}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.rsvp-section{background:linear-gradient(135deg,#1a3005,#0f2003)}.rsvp-card{border-radius:20px;max-width:460px;margin:0 auto;padding:36px 28px;background:#fffaf712!important;border-color:#ffffff1c!important;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1f!important}.rsvp-form{flex-direction:column;gap:14px;display:flex}.rsvp-input{font-family:var(--font-body);color:var(--cream);background:#fffaf717;border:1px solid #ffffff24;border-radius:10px;outline:none;width:100%;padding:13px 16px;font-size:.95rem;transition:border-color .2s,background .2s}.rsvp-input::placeholder{color:#fffaf761}.rsvp-input:focus{border-color:var(--green-pale);background:#fffaf724}.rsvp-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rsvp-option{text-align:center;cursor:pointer;color:#fffaf7a6;font-family:var(--font-body);background:#fffaf712;border:1px solid #ffffff1c;border-radius:10px;padding:11px;font-size:.9rem;transition:all .2s}.rsvp-option:hover,.rsvp-option.selected{background:var(--green-mid);border-color:var(--green-light);color:var(--cream)}.rsvp-submit{background:var(--green-mid);color:var(--cream);font-family:var(--font-body);letter-spacing:.12em;cursor:pointer;border:none;border-radius:10px;padding:15px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;position:relative;overflow:hidden}.rsvp-submit:hover{background:#3d6a14;transform:translateY(-1px)}.rsvp-thanks{text-align:center;color:var(--cream);padding:16px 0}.rsvp-thanks-icon{margin-bottom:12px;font-size:2.4rem}.rsvp-thanks-sub{color:var(--green-pale);margin-top:6px;font-size:.88rem}.guestbook-section{background:var(--cream)}.wish-form{flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.wish-input{border:1px solid var(--glass-border);font-family:var(--font-body);color:var(--green-mid);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf7cc;border-radius:10px;outline:none;width:100%;padding:13px 16px;font-size:.95rem;transition:border-color .2s}.wish-input:focus{border-color:var(--green-light)}.wish-textarea{resize:vertical;min-height:90px}.wish-submit{background:var(--green-mid);color:var(--cream);font-family:var(--font-body);letter-spacing:.1em;cursor:pointer;border:none;border-radius:10px;align-self:flex-end;padding:12px 28px;font-size:.88rem;font-weight:600;transition:background .2s,transform .2s}.wish-submit:hover{background:#3d6a14;transform:translateY(-1px)}.wishes-list{flex-direction:column;gap:14px;display:flex}.wish-card{opacity:0;border-radius:14px;padding:18px 22px;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateY(16px)}.wishes-list.revealed .wish-card{opacity:1;transform:translateY(0)}.wish-card:before{content:"\"";font-family:var(--font-name);color:var(--green-light);opacity:.12;pointer-events:none;font-size:3.5rem;line-height:1;position:absolute;top:4px;left:12px}.wish-name{color:var(--green-mid);margin-bottom:5px;font-size:.88rem;font-weight:600}.site-footer{text-align:center;background:linear-gradient(135deg,#1a3005,#081500);padding:56px 24px 40px}.footer-names{font-family:var(--font-name);color:var(--cream);margin-bottom:6px;font-size:1.8rem}.footer-date{color:var(--green-pale);letter-spacing:.2em;margin-bottom:20px;font-size:.88rem}.footer-divider{background:var(--green-light);opacity:.45;width:50px;height:1px;margin:0 auto 20px}@media (width<=580px){.couple-grid{grid-template-columns:1fr}.couple-divider{flex-direction:row;justify-content:center;padding-top:0}.cdl{width:50px;height:1px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item--wide{grid-column:span 2}.envelope-floral-tl{width:260px;left:-60px}.envelope-floral-br{width:120px}.rsvp-card{padding:24px 16px}}.cd-section{background:var(--cream);position:relative;overflow:hidden}.cd-ambient{pointer-events:none;z-index:0;background:radial-gradient(70% 60% at 50% 0,#6b804017 0%,#0000 70%),radial-gradient(50% 40% at 20% 100%,#a8b87a12 0%,#0000 60%);position:absolute;inset:0}.cd-floral-tl{opacity:.18;pointer-events:none;z-index:0;width:clamp(220px,38vw,460px);position:absolute;top:-50px;left:calc(-16% - 20px)}.cd-floral-br{opacity:.15;pointer-events:none;z-index:0;width:clamp(130px,22vw,260px);position:absolute;bottom:-40px;right:-24px;transform:rotate(160deg)}.cd-inner{z-index:1;text-align:center;max-width:720px;margin:0 auto;padding:96px 24px 104px;position:relative}.cd-header,.cd-grid,.cd-footer{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.cd-section.cd-visible .cd-header{opacity:1;transition-delay:50ms;transform:translateY(0)}.cd-section.cd-visible .cd-grid{opacity:1;transition-delay:.2s;transform:translateY(0)}.cd-section.cd-visible .cd-footer{opacity:1;transition-delay:.38s;transform:translateY(0)}.cd-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:var(--green-light);background:#6b804014;border:1px solid #6b80402e;border-radius:9999px;margin-bottom:20px;padding:5px 16px;font-size:.68rem;font-weight:700;display:inline-block}.cd-title{font-family:var(--font-name);color:var(--green-dark);letter-spacing:-.02em;margin-bottom:28px;font-size:clamp(2rem,6.5vw,3.2rem);line-height:1.1}.cd-divider{justify-content:center;align-items:center;gap:16px;margin-bottom:56px;display:flex}.cd-div-line{background:linear-gradient(90deg,#0000,#6b804059);flex:1;max-width:72px;height:1px}.cd-divider .cd-div-line:last-child{background:linear-gradient(270deg,#0000,#6b804059)}.cd-div-icon{width:56px;height:20px;color:var(--green-light);flex-shrink:0}.cd-grid{justify-content:center;align-items:center;gap:12px;margin-bottom:44px;display:flex}.cd-sep{flex-shrink:0;align-items:center;padding-bottom:28px;display:flex}.cd-sep span{font-family:var(--font-name);color:var(--green-light);opacity:.4;-webkit-user-select:none;user-select:none;font-size:clamp(1.4rem,4vw,2rem);line-height:1}.cd-card{flex-direction:column;align-items:center;gap:12px;display:flex}.cd-bezel-outer{background:#6b80400f;border:1px solid #6b804024;border-radius:22px;padding:5px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 12px #1a30050a}.cd-bezel-outer:hover{transform:translateY(-4px);box-shadow:0 16px 40px #1a30051a,0 4px 12px #1a30050f}.cd-bezel-inner{background:#fff;border:1px solid #6b80401a;border-radius:18px;justify-content:center;align-items:center;width:clamp(76px,17vw,112px);height:clamp(84px,18vw,120px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #6b80400f,0 1px 3px #1a30050d}.cd-bezel-inner:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(#fff9,#0000);height:45%;position:absolute;top:0;left:0;right:0}.cd-num-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.cd-num{font-family:var(--font-name);color:var(--green-dark);letter-spacing:-.03em;z-index:1;will-change:transform, opacity;font-size:clamp(2rem,5.5vw,3rem);font-weight:700;line-height:1;position:absolute}.cd-num-exit{transition:none}.cd-animating .cd-num-exit{animation:.42s cubic-bezier(.32,.72,0,1) forwards cdNumExit}.cd-num-enter{opacity:0;transition:none;transform:translateY(14px)}.cd-animating .cd-num-enter{animation:.42s cubic-bezier(.16,1,.3,1) forwards cdNumEnter}@keyframes cdNumExit{to{opacity:0;transform:translateY(-12px)scale(.88)}}@keyframes cdNumEnter{to{opacity:1;transform:translateY(0)scale(1)}}.cd-label{letter-spacing:.32em;text-transform:uppercase;color:var(--green-light);opacity:.8;font-size:.62rem;font-weight:700}.cd-footer{justify-content:center;display:flex}.cd-date-pill{font-family:var(--font-body);color:var(--text-mid);letter-spacing:.04em;background:#6b804012;border:1px solid #6b804029;border-radius:9999px;align-items:center;gap:8px;padding:9px 20px;font-size:.82rem;font-style:italic;display:inline-flex}.cd-date-pill svg{color:var(--green-light);opacity:.75;flex-shrink:0}@media (width<=600px){.cd-inner{padding:72px 16px 80px}.cd-grid{gap:7px}.cd-bezel-outer{border-radius:18px;padding:4px}.cd-bezel-inner{border-radius:14px}.cd-divider{margin-bottom:40px}.cd-title{margin-bottom:22px}}@media (width<=380px){.cd-grid{gap:4px}.cd-sep span{font-size:1.1rem}.cd-date-pill{padding:8px 14px;font-size:.75rem}}.reveal-block{opacity:0;transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal-block.revealed{opacity:1;transform:translateY(0)}.couple-grid.revealed .person-card:first-child{transition-delay:50ms}.couple-grid.revealed .couple-divider{transition-delay:.15s}.couple-grid.revealed .person-card:last-child{transition-delay:.25s}.gallery-grid.revealed .gallery-item{transition-delay:calc(var(--gi,0) * 60ms)}.wishes-list.revealed .wish-card{transition-delay:calc(var(--wi,0) * 80ms)}.info-chip{color:var(--text-mid);font-size:.83rem;font-family:var(--font-body);background:#6b804012;border:1px solid #6b804026;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.info-chip svg{color:var(--green-light);flex-shrink:0}.ceremony-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.map-block{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;margin-top:16px;overflow:hidden}.map-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);background:#fffaf7d9;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.map-label{letter-spacing:.22em;text-transform:uppercase;color:var(--green-light);align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:inline-flex}.map-label svg{flex-shrink:0}.map-link{font-size:.78rem;font-family:var(--font-body);color:var(--green-mid);letter-spacing:.04em;align-items:center;gap:5px;font-weight:600;text-decoration:none;transition:color .2s,gap .2s;display:inline-flex}.map-link:hover{color:var(--green-dark);gap:7px}.map-frame{aspect-ratio:16/7;width:100%;position:relative}.map-frame iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}@media (width<=580px){.map-frame{aspect-ratio:4/3}.map-header{padding:12px 16px}.info-chip{padding:5px 11px;font-size:.78rem}}.sec-divider{justify-content:center;align-items:center;gap:16px;margin-bottom:48px;display:flex}.sec-div-line{background:linear-gradient(90deg,#0000,#6b804059);flex:1;max-width:72px;height:1px}.sec-divider .sec-div-line:last-child{background:linear-gradient(270deg,#0000,#6b804059)}.sec-divider--light .sec-div-line{background:linear-gradient(90deg,#0000,#a8b87a66)}.sec-divider--light .sec-div-line:last-child{background:linear-gradient(270deg,#0000,#a8b87a66)}.sec-div-icon{width:56px;height:20px;color:var(--green-light);flex-shrink:0}.sec-divider--light .sec-div-icon{color:var(--green-pale)}.sec-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:var(--green-light);background:#6b804014;border:1px solid #6b80402e;border-radius:9999px;margin-bottom:16px;padding:5px 16px;font-size:.68rem;font-weight:700;display:inline-block}.sec-title{font-family:var(--font-name);color:var(--green-dark);letter-spacing:-.02em;text-align:center;margin-bottom:24px;font-size:clamp(1.9rem,6vw,3rem);line-height:1.1}.sec-floral-tl{opacity:.13;pointer-events:none;z-index:0;width:clamp(200px,34vw,420px);position:absolute;top:-40px;left:calc(-15% - 10px)}.sec-floral-br{opacity:.1;pointer-events:none;z-index:0;width:clamp(120px,20vw,240px);position:absolute;bottom:-30px;right:-20px;transform:rotate(160deg)}.sec-floral-tl--right{left:auto;right:calc(-15% - 10px);transform:scaleX(-1)}.sec-floral-br--left{left:-20px;right:auto;transform:rotate(-20deg)}.sec-ambient{pointer-events:none;z-index:0;background:radial-gradient(65% 55% at 50% 0,#6b804014 0%,#0000 70%),radial-gradient(45% 35% at 80% 100%,#a8b87a0f 0%,#0000 60%);position:absolute;inset:0}.sec-ambient--warm{background:radial-gradient(65% 55% at 50% 100%,#6b804012 0%,#0000 70%),radial-gradient(45% 35% at 20% 0,#a8b87a0d 0%,#0000 60%)}.rsvp-section--new{background:var(--cream);position:relative;overflow:hidden}.rsvp-section--new .section-inner{text-align:center;z-index:1;position:relative}.rsvp-bezel-outer{background:#6b80400f;border:1px solid #6b804024;border-radius:28px;max-width:460px;margin:0 auto;padding:6px;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 24px #1a30050d}.rsvp-bezel-outer.revealed{animation:.7s cubic-bezier(.16,1,.3,1) both rsvpCardIn}@keyframes rsvpCardIn{0%{opacity:0;transform:translateY(32px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.rsvp-bezel-inner{background:#fff;border:1px solid #6b80401a;border-radius:23px;padding:36px 32px;box-shadow:inset 0 1px #ffffffe6,0 1px 4px #1a30050a}.rsvp-field{background:#6b80400d;border:1px solid #6b804024;border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:0 16px;transition:border-color .2s,background .2s;display:flex}.rsvp-field:focus-within{border-color:var(--green-light);background:#6b804014}.rsvp-field svg{color:var(--green-light);opacity:.7;flex-shrink:0}.rsvp-field .rsvp-input{font-family:var(--font-body);color:var(--green-dark);background:0 0;border:none;outline:none;width:100%;padding:13px 0;font-size:.95rem}.rsvp-field .rsvp-input::placeholder{color:var(--text-light)}.rsvp-options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.rsvp-option{cursor:pointer;color:var(--text-mid);font-family:var(--font-body);background:#6b80400d;border:1px solid #6b804024;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:12px;font-size:.88rem;font-weight:500;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.rsvp-option:hover{border-color:var(--green-light);background:#6b80401a;transform:translateY(-1px)}.rsvp-option.selected{background:var(--green-mid);border-color:var(--green-mid);color:var(--cream);transform:translateY(-2px);box-shadow:0 6px 20px #30530f40}.rsvp-option svg{flex-shrink:0}.rsvp-submit-new{background:linear-gradient(135deg, var(--green-mid), #3d6a14);width:100%;color:var(--cream);font-family:var(--font-body);letter-spacing:.14em;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:15px 24px;font-size:.88rem;font-weight:700;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #30530f4d,inset 0 1px #ffffff26}.rsvp-submit-new:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f,#0000);position:absolute;inset:0}.rsvp-submit-new:hover{transform:translateY(-3px);box-shadow:0 12px 32px #30530f61,inset 0 1px #ffffff26}.rsvp-submit-new:active{transform:translateY(-1px)scale(.99)}.rsvp-thanks{text-align:center;padding:16px 0;animation:.6s cubic-bezier(.16,1,.3,1) both thanksFadeIn}@keyframes thanksFadeIn{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.rsvp-thanks-ring{width:64px;height:64px;color:var(--green-mid);background:#6b804014;border:1px solid #6b804033;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;animation:.5s cubic-bezier(.16,1,.3,1) .1s both ringPop;display:flex}@keyframes ringPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.rsvp-thanks-name{font-family:var(--font-name);color:var(--green-dark);margin-bottom:8px;font-size:1.2rem}.rsvp-thanks-sub{color:var(--text-mid);font-size:.88rem;font-style:italic}.guestbook-section--new{background:var(--cream);position:relative;overflow:hidden}.guestbook-section--new .section-inner{text-align:center;z-index:1;position:relative}.gb-form-wrap{margin-bottom:32px}.gb-bezel-outer{background:#6b80400f;border:1px solid #6b804024;border-radius:24px;padding:5px;box-shadow:0 4px 20px #1a30050a}.gb-bezel-inner{background:#fff;border:1px solid #6b80401a;border-radius:20px;padding:28px 28px 24px;box-shadow:inset 0 1px #ffffffe6}.wish-field{background:#6b80400d;border:1px solid #6b804021;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:0 14px;transition:border-color .2s,background .2s;display:flex}.wish-field:focus-within{border-color:var(--green-light);background:#6b804014}.wish-field svg{color:var(--green-light);opacity:.65;flex-shrink:0;margin-top:14px}.wish-field .wish-input{font-family:var(--font-body);color:var(--green-dark);resize:none;background:0 0;border:none;outline:none;width:100%;padding:13px 0;font-size:.92rem}.wish-field .wish-input::placeholder{color:var(--text-light)}.wish-field--textarea svg{margin-top:14px}.wish-field .wish-textarea{min-height:80px}.wish-submit-new{background:var(--green-mid);color:var(--cream);font-family:var(--font-body);letter-spacing:.12em;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;margin-left:auto;padding:11px 22px;font-size:.82rem;font-weight:700;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;display:flex;box-shadow:0 4px 16px #30530f40,inset 0 1px #ffffff1f}.wish-submit-new:hover{transform:translateY(-2px);box-shadow:0 8px 24px #30530f52,inset 0 1px #ffffff1f}.wish-submit-new:active{transform:translateY(0)scale(.98)}.wishes-list{text-align:left;flex-direction:column;gap:12px;display:flex}.wish-card-new{opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),box-shadow .25s;transition-delay:calc(var(--wi,0) * 90ms);background:#6b80400d;border:1px solid #6b804021;border-radius:18px;padding:20px 24px 20px 28px;position:relative;overflow:hidden;transform:translateY(16px)}.wishes-list.revealed .wish-card-new{opacity:1;transform:translateY(0)}.wish-card-new:hover{transform:translateY(-2px);box-shadow:0 8px 28px #1a300514}.wish-card-quote{font-family:var(--font-name);color:var(--green-light);opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:4rem;line-height:1;position:absolute;top:2px;left:12px}.wish-name{color:var(--green-mid);letter-spacing:.04em;margin-bottom:6px;font-size:.85rem;font-weight:700}.wish-text{color:var(--text-mid);font-size:.9rem;font-style:italic;line-height:1.7}.site-footer{text-align:center;background:linear-gradient(160deg,#1a3005 0%,#0f2003 55%,#1a3005 100%);padding:72px 24px 52px;position:relative;overflow:hidden}.footer-inner{z-index:1;opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);position:relative;transform:translateY(24px)}.footer-visible .footer-inner{opacity:1;transform:translateY(0)}.footer-names{font-family:var(--font-name);color:var(--cream);letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(1.6rem,5vw,2.2rem)}.footer-date{color:var(--green-pale);letter-spacing:.28em;opacity:.8;margin-bottom:28px;font-size:.85rem}.footer-note{color:#fffaf773;max-width:380px;margin:0 auto;font-size:.82rem;font-style:italic;line-height:1.7}@media (width<=580px){.rsvp-bezel-inner{padding:24px 18px}.gb-bezel-inner{padding:20px 16px}.sec-divider{margin-bottom:32px}.sec-title{font-size:clamp(1.6rem,7vw,2.2rem)}.wish-card-new{padding:16px 18px 16px 22px}}.banking-section{background:var(--cream);position:relative;overflow:hidden}.banking-section .section-inner{text-align:center;z-index:1;position:relative}.bk-subtitle{color:var(--text-mid);max-width:480px;margin:-24px auto 40px;font-size:.9rem;font-style:italic;line-height:1.8}.bk-tabs{background:#6b804012;border:1px solid #6b804026;border-radius:9999px;gap:8px;margin-bottom:32px;padding:5px;display:inline-flex}.bk-tab{font-family:var(--font-body);color:var(--text-mid);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:8px;padding:9px 22px;font-size:.88rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.bk-tab:hover{color:var(--green-mid)}.bk-tab--active{color:var(--green-dark);background:#fff;box-shadow:0 2px 12px #1a30051a,0 1px 3px #1a30050f}.bk-tab-avatar{object-fit:cover;border:1.5px solid #6b804040;border-radius:50%;width:26px;height:26px}.bk-card-container{max-width:400px;margin:0 auto;overflow:hidden}.bk-card-slider{gap:0;transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex}.bk-card-slider--bride{transform:translate(-100%)}.bk-card-wrap{min-width:100%}.bk-bezel-outer{background:#6b80400f;border:1px solid #6b804024;border-radius:28px;padding:6px;box-shadow:0 4px 28px #1a30050f}.bk-bezel-inner{background:#fff;border:1px solid #6b80401a;border-radius:23px;padding:28px 28px 24px;box-shadow:inset 0 1px #ffffffe6,0 1px 4px #1a300508}.bk-role-badge{text-align:left;border-bottom:1px solid #6b80401a;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.bk-avatar{object-fit:cover;border:2px solid #6b804040;border-radius:50%;flex-shrink:0;width:48px;height:48px;box-shadow:0 3px 10px #1a30051a}.bk-role{letter-spacing:.3em;text-transform:uppercase;color:var(--green-light);margin-bottom:2px;font-size:.65rem;font-weight:700}.bk-person-name{font-family:var(--font-name);color:var(--green-dark);font-size:1.15rem;line-height:1.2}.bk-qr-wrap{flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;display:flex}.bk-qr-bezel{background:#6b80400d;border:1px solid #6b804021;border-radius:18px;padding:12px;box-shadow:inset 0 1px #fffc}.bk-qr-img{object-fit:contain;border-radius:10px;width:180px;height:180px;display:block}.bk-qr-hint{color:var(--text-light);letter-spacing:.08em;font-size:.72rem;font-style:italic}.bk-info{flex-direction:column;gap:10px;display:flex}.bk-info-row{background:#6b80400a;border:1px solid #6b80401a;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.bk-info-label{color:var(--text-light);letter-spacing:.06em;white-space:nowrap;flex-shrink:0;font-size:.75rem}.bk-info-value{color:var(--green-dark);text-align:right;font-size:.88rem;font-weight:600}.bk-info-value--bank{color:var(--green-mid);font-family:var(--font-name);font-size:.95rem}.bk-info-row--account{background:#6b804012;border-color:#6b80402e}.bk-account-wrap{align-items:center;gap:8px;display:flex}.bk-account-num{color:var(--green-dark);letter-spacing:.06em;font-size:1rem;font-weight:700;font-family:var(--font-name)}.bk-copy-btn{color:var(--green-light);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:#6b804012;border:1px solid #6b804038;border-radius:8px;align-items:center;gap:5px;padding:5px 11px;font-size:.72rem;font-weight:600;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.bk-copy-btn:hover{border-color:var(--green-light);background:#6b804024;transform:translateY(-1px)}.bk-copy-btn--done{background:var(--green-mid);border-color:var(--green-mid);color:var(--cream);transform:translateY(-1px)}@media (width<=480px){.bk-bezel-inner{padding:22px 18px 20px}.bk-qr-img{width:155px;height:155px}.bk-tabs{justify-content:center;width:100%}.bk-tab{flex:1;justify-content:center;padding:9px 12px}.bk-account-num{font-size:.9rem}}.it-section{background:var(--cream);position:relative;overflow:hidden}.it-section .section-inner{text-align:center;z-index:1;position:relative}.it-tabbar{background:#6b804012;border:1px solid #6b804029;border-radius:9999px;gap:0;margin-bottom:32px;padding:5px;display:inline-flex;position:relative}.it-tab{z-index:1;font-family:var(--font-body);color:var(--text-mid);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9999px;align-items:center;gap:7px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:color .25s;display:flex;position:relative}.it-tab svg{flex-shrink:0;transition:color .25s}.it-tab--active{color:var(--green-dark)}.it-tab--active svg{color:var(--green-mid)}.it-tab-indicator{width:calc(33.3333% - 3.33333px);transform:translateX(calc(var(--tab-i,0) * 100%));pointer-events:none;background:#fff;border-radius:9999px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:5px;bottom:5px;box-shadow:0 2px 12px #1a30051a,0 1px 3px #1a30050f}.it-content{max-width:460px;margin:0 auto}.it-panel-wrap{animation:.32s cubic-bezier(.16,1,.3,1) both itPaneFade}@keyframes itPaneFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.it-pane{text-align:left}.it-bezel-outer{background:#6b80400f;border:1px solid #6b804024;border-radius:26px;padding:5px;box-shadow:0 4px 24px #1a30050d}.it-bezel-inner{background:#fff;border:1px solid #6b80401a;border-radius:22px;padding:28px 26px 24px;box-shadow:inset 0 1px #ffffffe6,0 1px 4px #1a300508}.bk-card-body{padding:24px 22px 20px}.bk-who-tabs{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.bk-who-tab{font-family:var(--font-body);color:var(--text-mid);cursor:pointer;background:#6b80400d;border:1px solid #6b804029;border-radius:9999px;align-items:center;gap:7px;padding:8px 18px;font-size:.84rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.bk-who-tab:hover{color:var(--green-mid);background:#6b80401a}.bk-who-tab.active{background:var(--green-mid);border-color:var(--green-mid);color:var(--cream);box-shadow:0 4px 16px #30530f38}.bk-qr-img{object-fit:contain;border-radius:10px;width:175px;height:175px;animation:.35s cubic-bezier(.16,1,.3,1) both qrFadeIn;display:block}@keyframes qrFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.it-pane .wishes-list{flex-direction:column;gap:10px;display:flex}.it-pane .wish-card-new{opacity:1;animation:.4s cubic-bezier(.16,1,.3,1) both wishSlideIn;animation-delay:calc(var(--wi,0) * 70ms);transform:none}@keyframes wishSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.it-tab{gap:5px;padding:9px 13px;font-size:.78rem}.it-tab svg{display:none}.it-bezel-inner{padding:22px 18px 20px}.bk-qr-img{width:150px;height:150px}}@media (width<=360px){.it-tab{padding:8px 10px;font-size:.74rem}}.it-spinner{border:2px solid #fffaf759;border-top-color:var(--cream);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite itSpin}@keyframes itSpin{to{transform:rotate(360deg)}}.rsvp-submit-new:disabled,.wish-submit-new:disabled{opacity:.75;cursor:not-allowed;transform:none}.wish-skeleton{height:72px;animation:1.4s ease-in-out infinite shimmer;animation-delay:calc(var(--wi,0) * .15s);background:linear-gradient(90deg,#6b804012 25%,#6b804021 50%,#6b804012 75%) 0 0/200% 100%;border-radius:18px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wish-empty{color:var(--text-light);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;font-size:.88rem;font-style:italic;display:flex}.wish-empty svg{opacity:.4;color:var(--green-light)}
