@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Serif+Ethiopic:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,500&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Alex+Brush&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Great+Vibes&display=swap";:root{--green-deep: #16301f;--green-deep-soft: #1c3a26;--sage: #e6ead9;--cream: #f8f5ec;--cream-alt: #f3efe2;--gold: #a98f52;--ink: #24291f;--ink-muted: #5c6152;--white: #ffffff;--line: rgba(255, 255, 255, .25);--line-dark: rgba(36, 41, 31, .15);--font-display: "Playfair Display", Georgia, serif;--font-body: "Cormorant Garamond", Georgia, serif;--font-script: "Alex Brush", cursive;--container: 1160px;--gap: 20px;--radius: 2px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);font-size:17px;line-height:1.5}.wed{max-width:480px;margin:0 auto;background:var(--cream);overflow-x:hidden;height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}@media (min-width: 1024px){.wed{max-width:none}}button{font-family:inherit;cursor:pointer}.eyebrow{font-family:var(--font-body);font-size:13px;letter-spacing:.14em;color:var(--gold);margin:0 0 8px;text-transform:uppercase}.eyebrow--on-dark{color:#cbb98a}.section{padding:56px 24px}.section-heading{font-family:var(--font-body);font-weight:500;font-size:20px;line-height:1.2;margin:0 0 16px;color:var(--ink);text-align:center}.section-headingAm{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.2;margin:0 0 16px;color:var(--ink);text-align:center}.section-heading--on-dark{color:var(--white)}.divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0}.divider:before,.divider:after{content:"";width:34px;height:1px;background:currentColor;opacity:.5}.btn{margin-bottom:10px;display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:var(--green-deep);color:var(--white);border:1px solid var(--gold);border-radius:var(--radius);font-family:var(--font-body);font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .2s ease,color .2s ease}.btn:hover{background:transparent;color:var(--green-deep)}.btn--on-dark{background:var(--cream);color:var(--green-deep);border-color:var(--cream)}.btn--on-dark:hover{background:transparent;color:var(--cream)}.icon{width:20px;height:20px;flex-shrink:0}.header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;color:var(--white)}.header__mark{font-family:var(--font-script);font-size:26px;letter-spacing:.02em;display:none}.header__toggle{background:none;border:none;color:var(--white);display:none;flex-direction:column;gap:5px;padding:6px}.header__toggle span{width:22px;height:1.5px;background:currentColor;display:block}.header__nav,.header__invited{display:none}@media (min-width: 1024px){.header{padding:28px 48px}.header__toggle{display:none}.header__nav{display:flex;gap:36px;list-style:none;margin:0;padding:0;font-size:15px;letter-spacing:.02em}.header__nav a{color:var(--white);text-decoration:none;padding-bottom:4px}.header__nav a.is-active{border-bottom:1px solid var(--white)}.header__invited{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.04em}}.hero{position:relative;display:flex;align-items:flex-end;width:100%;height:var(--initial-viewport-height);min-height:var(--initial-viewport-height);color:var(--white);overflow:hidden;isolation:isolate;background-size:cover;background-position:center center;background-repeat:no-repeat;scroll-snap-align:start}@media screen and (min-width: 600px){.hero{height:760px;min-height:760px}}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0a2a1df0,#0d3524d6 18%,#123e2a9e 34%,#14422c40 55%,#14422c00 75%),linear-gradient(0deg,#082318b8,#08231833 32%,#08231800 58%)}.hero__frame{position:absolute;top:9px;right:9px;bottom:9px;left:9px;z-index:5;pointer-events:none;border:1px solid rgba(224,195,126,.85)}.hero__frame:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(247,242,225,.38)}.hero__botanical{position:absolute;z-index:4;pointer-events:none;opacity:.92;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}.hero__botanical--top{top:-8px;left:-8px;width:145px;height:auto}.hero__botanical--bottom{right:-10px;bottom:-12px;width:155px;height:auto}.hero__monogram{position:absolute;top:27px;left:29px;z-index:6;font-family:Cormorant Garamond,serif;font-size:25px;font-style:italic;font-weight:500;letter-spacing:1px;color:#faf5e7f2;text-shadow:0 2px 8px rgba(0,0,0,.28)}.hero__content{position:relative;z-index:3;width:100%;max-width:360px;padding:0 32px 55px;text-align:left}.hero__together{margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#faf5e7eb}.hero__names{margin:0;font-family:Great Vibes,Allura,cursive;font-size:clamp(54px,14vw,76px);font-weight:400;line-height:.92;letter-spacing:0;color:#e4c27d;text-shadow:0 2px 12px rgba(0,0,0,.28)}.hero__ornament{display:flex;align-items:center;gap:9px;width:150px;margin:18px 0 17px}.hero__ornament span{flex:1;height:1px;background:#dcbc73b3}.hero__ornament i{font-family:serif;font-size:10px;font-style:normal;color:#dfbd77}.hero__invite{max-width:260px;margin:0 0 22px;font-family:Cormorant Garamond,serif;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.15em;text-transform:uppercase;color:#faf5e7f2}.hero__meta{display:flex;flex-direction:column;gap:14px;margin-bottom:25px}.hero__meta-row{display:flex;align-items:flex-start;gap:11px;color:#f7f0dc;font-family:Cormorant Garamond,serif;font-size:15px;line-height:1.15}.hero__meta-row svg{flex:0 0 auto;width:22px;height:22px;color:#e0bd75;stroke-width:1.5}.hero__meta-row span{display:block}.hero__meta-row small{display:block;margin-top:4px;font-family:Cormorant Garamond,serif;font-size:12px;letter-spacing:.04em;color:#f7f0dcc7}.hero__rsvp{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:145px;padding:10px 17px;border:1px solid rgba(224,190,116,.95);border-radius:30px;background:#0f3a2861;color:#f8f1df;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .3s ease,transform .3s ease,border-color .3s ease}.hero__rsvp b{font-size:17px;font-weight:400;line-height:1;color:#dfbd77}.hero__rsvp:hover{background:#154a33b3;border-color:#efd28f;transform:translateY(-2px)}.hero__rsvp--done{min-width:150px}@media screen and (min-width: 600px){.hero__content{max-width:580px;padding:0 48px 70px}.hero__names{font-size:86px}.hero__invite{max-width:350px}}@media screen and (min-width: 1024px){.hero{align-items:center}.hero__content{max-width:650px;padding:0 70px}.hero__names{font-size:96px}.hero__meta{flex-direction:row;gap:30px}.hero__botanical--top{width:190px}.hero__botanical--bottom{width:200px}}@media (prefers-reduced-motion: reduce){.hero__rsvp{transition:none}}.story{position:relative;isolation:isolate;width:100%;padding:70px 18px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.65),transparent 45%),var(--cream-alt);overflow:hidden}.story__card{position:relative;z-index:2;width:100%;max-width:760px;margin:0 auto;padding:55px 25px 48px;background:linear-gradient(#ffffff61,#ffffff61),var(--cream);border:1px solid rgba(159,126,61,.42);box-shadow:0 18px 45px #193d2d14;text-align:center}.story__card:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(159,126,61,.18);pointer-events:none}.story__botanical{position:absolute;z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none}.story__botanical--top-left{top:-5px;left:-8px;width:155px;height:auto}.story__botanical--top-right{top:5px;right:-15px;width:145px;height:auto}.story__botanical--bottom{bottom:-5px;left:50%;width:100%;max-width:1000px;transform:translate(-50%);opacity:.9}.story__ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-left:auto;margin-right:auto}.story__ornament span{display:block;width:55px;height:1px;background:#9f7e3d99}.story__ornament i{font-family:Georgia,serif;font-size:15px;font-style:normal;color:#a17d3b}.story__ornament--top{margin-bottom:22px}.story__ornament--bottom{margin-top:35px}.story__ornament--bottom i{font-size:21px}.story__eyebrow{position:relative;z-index:2;margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:#8b6d36}.story__heading{position:relative;z-index:2;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(30px,7vw,52px);font-weight:500;line-height:1.05;color:var(--green-deep);letter-spacing:-.5px}.story__divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px auto 24px;width:100%}.story__divider span{width:55px;height:1px;background:#9f7e3d8c}.story__divider i{font-family:Georgia,serif;font-size:14px;font-style:normal;color:#a17d3b}.story__intro{position:relative;z-index:2;max-width:600px;margin:0 auto 30px;font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.65;color:var(--ink-muted)}.story__couple{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:22px;margin:25px auto 30px}.story__person{flex:1;max-width:250px}.story__person-title{display:block;margin-bottom:3px;font-family:Cormorant Garamond,serif;font-size:14px;font-style:italic;color:#8b6d36}.story__person-name{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(25px,6vw,39px);font-weight:500;line-height:1.05;color:var(--green-deep)}.story__ampersand{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:45px;height:45px;font-family:Cormorant Garamond,serif;font-size:31px;font-style:italic;color:#a17d3b}.story__message{position:relative;z-index:2;max-width:610px;margin:0 auto;padding:5px 12px}.story__message p{margin:0;font-family:Cormorant Garamond,serif;font-size:17px;line-height:1.75;color:var(--ink-muted)}.story__signatures{position:relative;z-index:2;display:flex;justify-content:center;gap:45px;margin:40px auto 0;max-width:580px}.story__signature{flex:1;max-width:220px}.story__signature-line{display:block;width:100%;height:1px;margin-bottom:9px;background:#193d2d4d}.story__signature p{margin:0;font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;color:var(--green-deep)}.story--amharic .story__eyebrow,.story--amharic .story__heading,.story--amharic .story__intro,.story--amharic .story__person-title,.story--amharic .story__person-name,.story--amharic .story__message p,.story--amharic .story__signature p{font-family:"Noto Serif Ethiopic",Noto Sans Ethiopic,serif}.story--amharic .story__heading{line-height:1.35}.story--amharic .story__intro,.story--amharic .story__message p{line-height:2}@media screen and (min-width: 600px){.story{padding:90px 35px}.story__card{padding:70px 55px 60px}.story__botanical--top-left{width:220px}.story__botanical--top-right{width:210px}.story__intro{font-size:19px}.story__message p{font-size:18px}}@media screen and (min-width: 1024px){.story{padding:120px 50px}.story__card{max-width:850px;padding:85px 90px 70px}.story__botanical--top-left{width:280px}.story__botanical--top-right{width:260px}.story__botanical--bottom{width:900px}.story__person-name{font-size:42px}.story__message p{font-size:19px}}@media screen and (max-width: 420px){.story{padding:55px 12px}.story__card{padding:48px 18px 42px}.story__card:before{top:7px;right:7px;bottom:7px;left:7px}.story__botanical--top-left{width:120px;top:0;left:-12px}.story__botanical--top-right{width:110px;top:5px;right:-12px}.story__couple{gap:7px}.story__person-name{font-size:23px}.story__person-title{font-size:12px}.story__ampersand{width:32px;height:32px;font-size:25px}.story__intro{font-size:16px}.story__message p{font-size:16px;line-height:1.65}.story__signatures{gap:18px}.story__signature p{font-size:14px}}.event-info{position:relative;isolation:isolate;width:100%;padding:35px 5px 25px;overflow:hidden}.event-info__photo{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;z-index:-2;background-position:center center;background-repeat:no-repeat;background-size:cover;transform-origin:center center;animation:eventPhotoMotion 16s ease-in-out infinite;will-change:transform}@keyframes eventPhotoMotion{0%{transform:scale(1.05) translateZ(0)}20%{transform:scale(1.08) translate3d(-.8%,-.5%,0)}40%{transform:scale(1.11) translate3d(.7%,-1%,0)}60%{transform:scale(1.09) translate3d(1%,.7%,0)}80%{transform:scale(1.07) translate3d(-.6%,.5%,0)}to{transform:scale(1.05) translateZ(0)}}@keyframes eventPhotoDrift{0%{background-position:48% 30%;background-size:100% 100%}25%{background-position:51% 29%;background-size:103% 103%}50%{background-position:52% 32%;background-size:105% 105%}75%{background-position:49% 31%;background-size:102% 102%}to{background-position:48% 30%;background-size:100% 100%}}.event-info__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#14372685,#1437266b 45%,#0a281b94);pointer-events:none}.event-info:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 20%,rgba(214,181,107,.12),transparent 45%);pointer-events:none}.event-info__content{position:relative;width:100%;max-width:850px;margin:0 auto}.event-info__heading{text-align:center;margin-bottom:15px}.event-info__eyebrow{margin:0 0 7px;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:600;letter-spacing:3px;color:#d6b56b}.event-info__heading h2{margin:0;font-family:Cormorant Garamond,serif;font-size:35px;font-weight:500;line-height:1;color:#fffdf7}.event-info__heading h2 span{color:#d6b56b;font-size:.62em}.event-info__intro{max-width:400px;margin:10px auto 0;font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;line-height:1.4;color:#ffffffc7}.event-info__ornament{display:flex;align-items:center;justify-content:center;gap:9px;margin:13px auto}.event-info__ornament span{width:40px;height:1px;background:#d6b56ba6}.event-info__ornament i{color:#d6b56b;font-style:normal;font-size:12px}.event-calendar{width:94%;max-width:620px;margin:0 auto;padding:15px 12px 11px;background:#faf7ef8a;border:1px solid rgba(214,181,107,.78);box-shadow:0 14px 35px #0000002e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:calendarFloat 7s ease-in-out infinite}.event-calendar:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(155,120,61,.22);pointer-events:none}.event-calendar{animation:calendarFloat 7s ease-in-out infinite}.event-calendar__header{display:flex;align-items:baseline;justify-content:space-between;padding:0 7px 13px;border-bottom:1px solid rgba(25,61,45,.13)}.event-calendar__header span{font-family:Cormorant Garamond,serif;font-size:14px;color:#193d2d}.event-calendar__header strong{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:500;letter-spacing:2px;color:#9b783d}.event-calendar__weekdays,.event-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr)}.event-calendar__weekdays{margin-top:13px}.event-calendar__weekdays span{text-align:center;font-family:Cormorant Garamond,serif;font-size:9px;font-weight:600;letter-spacing:1px;color:#8b6d36}.event-calendar__day{position:relative;display:flex;align-items:center;justify-content:center;height:42px;aspect-ratio:auto;font-family:Cormorant Garamond,serif;font-size:15px;color:#294b3b}.event-calendar__day>span:first-child{position:relative;z-index:2}.event-calendar__day--wedding{color:#fff}.event-calendar__day--wedding:before{content:"";position:absolute;width:37px;height:37px;border-radius:50%;background:#193d2d;animation:weddingPulse 2s ease-in-out infinite}.event-calendar__heart{position:absolute;z-index:3;top:0;right:3px;font-size:10px;color:#d6b56b;animation:heartBeat 1.3s ease-in-out infinite}.event-calendar__date{margin-top:1px;padding-top:2px;text-align:center;border-top:1px solid rgba(25,61,45,.13);display:none}.event-calendar__date span{display:block;font-family:Cormorant Garamond,serif;font-size:8px;letter-spacing:2.5px;color:#9b783d}.event-calendar__date strong{display:block;margin-top:2px;font-family:Cormorant Garamond,serif;font-size:17px;font-weight:500;color:#193d2d}.event-info__details{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.event-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:12px 5px;text-align:center;background:#0c2c1dc7;border:1px solid rgba(214,181,107,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.event-detail__icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:6px;border:1px solid rgba(214,181,107,.7);border-radius:50%;font-size:15px;color:#d6b56b}.event-detail small{display:block;font-family:Cormorant Garamond,serif;font-size:7px;letter-spacing:1.5px;color:#d6b56b}.event-detail strong{display:block;margin-top:2px;font-family:Cormorant Garamond,serif;font-size:15px;font-weight:500;line-height:1.1;color:#fffdf7}.event-detail p{margin:2px 0 0;font-family:Cormorant Garamond,serif;font-size:10px;line-height:1.2;color:#ffffffad}.event-countdown{margin-top:20px;padding-top:15px;text-align:center;border-top:1px solid rgba(214,181,107,.38)}.event-countdown__label{margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:9px;letter-spacing:2.5px;color:#d6b56b}.event-countdown__timer{display:flex;align-items:center;justify-content:center;gap:5px}.event-countdown__unit{min-width:55px}.event-countdown__unit strong{display:block;font-family:Cormorant Garamond,serif;font-size:27px;font-weight:500;line-height:1;color:#fffdf7}.event-countdown__unit span{display:block;margin-top:4px;font-family:Cormorant Garamond,serif;font-size:7px;letter-spacing:1px;color:#ffffffa6}.event-countdown__separator{margin-top:-10px;font-family:Cormorant Garamond,serif;font-size:20px;color:#d6b56b}.event-countdown__heart{margin-top:10px;font-size:15px;color:#d6b56b;animation:heartBeat 1.5s ease-in-out infinite}@keyframes weddingPulse{0%,to{transform:scale(.95);box-shadow:0 3px 10px #193d2d40}50%{transform:scale(1.08);box-shadow:0 6px 18px #193d2d66}}@keyframes heartBeat{0%,to{transform:scale(1)}30%{transform:scale(1.3)}50%{transform:scale(1)}70%{transform:scale(1.18)}}@media screen and (min-width: 600px){.event-info{padding:15px 5px 10px!important}.event-info__heading h2{font-size:55px}.event-calendar{padding:28px 30px 22px}.event-calendar__day{font-size:20px}.event-calendar__day--wedding:before{width:43px;height:43px}.event-detail{padding:15px}.event-detail strong{font-size:18px}.event-detail p{font-size:12px}.event-countdown__unit{min-width:70px}.event-countdown__unit strong{font-size:35px}}@media screen and (min-width: 900px){.event-info{padding:110px 40px 90px}.event-info__heading{margin-bottom:35px}.event-info__heading h2{font-size:65px}.event-calendar{max-width:760px;margin:0 auto}.event-info__details{max-width:760px;margin-left:auto;margin-right:auto}.event-countdown{max-width:650px;margin-left:auto;margin-right:auto}}.venue{position:relative;isolation:isolate;width:100%;padding:42px 12px 48px;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.75),transparent 52%),var(--cream-alt);overflow:hidden}.venue__botanical{position:absolute;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none}.venue__botanical--top-left{top:-5px;left:-5px;width:125px;opacity:.92}.venue__botanical--top-right{top:-5px;right:-5px;width:125px;opacity:.92}.venue__botanical--bottom-left{left:-5px;bottom:0;width:115px;opacity:.85}.venue__botanical--bottom-right{right:-5px;bottom:0;width:115px;opacity:.85}.venue__botanical--faint-left{left:-25px;top:38%;width:105px;opacity:.3}.venue__botanical--faint-right{right:-25px;top:48%;width:105px;opacity:.3}.venue__botanical--palm{right:1%;top:27%;width:95px;opacity:.32;transform:rotate(7deg)}.venue__botanical--grass{left:50%;bottom:-3px;width:115%;max-width:850px;opacity:.55;transform:translate(-50%)}.venue__inner{position:relative;z-index:2;width:100%;max-width:720px;margin:0 auto}.venue__heading{margin-bottom:20px;text-align:center}.venue__eyebrow{margin:0 0 5px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;color:#8b6d36}.venue__heading h2{max-width:500px;margin:0 auto;font-family:var(--font-display);font-size:clamp(28px,7vw,42px);font-weight:500;line-height:1.03;letter-spacing:-.4px;color:var(--green-deep)}.venue__ornament{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px auto 9px}.venue__ornament span{display:block;width:42px;height:1px;background:#9f7e3d8c}.venue__ornament i{font-family:Georgia,serif;font-size:12px;font-style:normal;color:#a17d3b}.venue__intro{margin:0 auto;max-width:480px;font-family:var(--font-display);font-size:15px;line-height:1.45;color:var(--ink-muted)}.venue__card{position:relative;width:100%;padding:22px 15px 23px;background:linear-gradient(#ffffff6b,#ffffff6b),var(--cream);border:1px solid rgba(159,126,61,.42);box-shadow:0 14px 34px #193d2d17}.venue__card:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(159,126,61,.15);pointer-events:none}.venue__details{position:relative;z-index:2;text-align:center}.venue__pin{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 7px;border-radius:50%;background:var(--green-deep);box-shadow:0 6px 15px #193d2d2e}.venue__pin span{font-size:16px;color:#dfc17b}.venue__label{margin:0 0 2px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2.5px;color:#8b6d36}.venue__details h3{margin:0;font-family:var(--font-display);font-size:clamp(25px,6vw,35px);font-weight:500;line-height:1.05;color:var(--green-deep)}.venue__location{margin:4px 0 0;font-family:var(--font-display);font-size:14px;color:var(--ink-muted)}.venue__divider{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto}.venue__divider span{width:38px;height:1px;background:#9f7e3d6b}.venue__divider i{font-family:Georgia,serif;font-size:11px;font-style:normal;color:#a17d3b}.venue__map{position:relative;z-index:2;width:100%;height:185px;overflow:hidden;border:1px solid rgba(25,61,45,.18);box-shadow:0 7px 18px #193d2d14}.venue__map iframe{display:block;width:100%;height:100%;border:0}.venue__maps-button{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:9px auto 0;padding:10px 14px;background:var(--green-deep);border:1px solid var(--green-deep);color:var(--cream);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.2px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.venue__maps-button:hover{transform:translateY(-1px);box-shadow:0 6px 15px #193d2d2e}.venue__maps-icon{font-size:15px;color:#dfc17b}.venue__maps-arrow{font-size:14px;color:#dfc17b}.venue__contact{position:relative;z-index:2;margin-top:17px;padding-top:13px;border-top:1px solid rgba(159,126,61,.22);text-align:center}.venue__contact-label{margin:0 0 7px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2px;color:#8b6d36}.venue__phones{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;font-family:var(--font-display);font-size:14px}.venue__phones a{color:var(--green-deep);text-decoration:none;font-weight:600}.venue__phones span{color:#a17d3b}.venue__bottom-ornament{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:17px}.venue__bottom-ornament span{font-size:15px;color:#315c476b}.venue__bottom-ornament i{font-family:Georgia,serif;font-size:11px;font-style:normal;color:#a17d3b}@media screen and (min-width: 600px){.venue{padding:65px 25px}.venue__heading{margin-bottom:25px}.venue__card{padding:30px 28px 28px}.venue__map{height:260px}.venue__botanical--top-left,.venue__botanical--top-right{width:175px}.venue__botanical--bottom-left,.venue__botanical--bottom-right{width:155px}}@media screen and (min-width: 1024px){.venue{padding:80px 45px 75px}.venue__heading h2{font-size:45px}.venue__card{padding:35px 45px 32px}.venue__map{height:300px}.venue__botanical--top-left,.venue__botanical--top-right{width:230px}.venue__botanical--bottom-left,.venue__botanical--bottom-right{width:200px}.venue__botanical--faint-left,.venue__botanical--faint-right{width:145px}}@media screen and (max-width: 380px){.venue{padding:38px 10px 43px}.venue__heading h2{font-size:27px}.venue__intro{font-size:14px}.venue__card{padding:20px 12px 21px}.venue__map{height:170px}.venue__phones{flex-direction:column;gap:2px}.venue__phones span{display:none}.venue__botanical--top-left,.venue__botanical--top-right{width:95px}.venue__botanical--bottom-left,.venue__botanical--bottom-right{width:90px}.venue__botanical--faint-left,.venue__botanical--faint-right{width:85px}.venue__botanical--palm{width:75px}}.timeline{background:var(--sage);padding:48px 24px;text-align:center}.timeline .section-heading{text-align:center}.timeline__list{display:flex;flex-direction:column;gap:22px;margin-top:28px;text-align:left}.timeline__item{display:flex;align-items:center;gap:16px}.timeline__icon{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--green-deep);flex-shrink:0}.timeline__time{font-family:var(--font-display);font-size:15px;margin:0}.timeline__label{font-size:14px;color:var(--ink-muted);margin:2px 0 0}@media (min-width: 1024px){.timeline{padding:80px 48px}.timeline__list{flex-direction:row;justify-content:center;gap:56px;max-width:var(--container);margin:32px auto 0}.timeline__item{flex-direction:column;text-align:center;gap:12px}}.gallery{position:relative;isolation:isolate;width:100%;padding:48px 10px 52px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.72),transparent 55%),var(--cream);overflow:hidden}.gallery__header{position:relative;z-index:5;text-align:center;margin-bottom:18px}.gallery__eyebrow{margin:0 0 5px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2.8px;color:#8b6d36}.gallery__title{margin:0;font-family:"Noto Serif Ethiopic",Noto Sans Ethiopic,serif;font-size:27px;font-weight:500;line-height:1.25;color:var(--green-deep)}.gallery__ornament{display:flex;align-items:center;justify-content:center;gap:9px;margin:9px auto 0}.gallery__ornament span{display:block;width:38px;height:1px;background:#9f7e3d8c}.gallery__ornament i{font-family:Georgia,serif;font-size:12px;font-style:normal;color:#a17d3b}.gallery__carousel{position:relative;width:100%;display:flex;align-items:center;justify-content:center;touch-action:pan-y;-webkit-user-select:none;user-select:none}.gallery__stage{position:relative;width:min(92vw,700px);height:clamp(245px,62vw,430px);margin:0 auto}.gallery__card{position:absolute;top:50%;left:50%;display:block;padding:5px;border:0;border-radius:12px;background:var(--cream);box-shadow:0 15px 35px #193d2d2e;cursor:pointer;overflow:hidden;transform-origin:center center;will-change:transform,opacity;transition:transform .55s cubic-bezier(.22,.75,.25,1),opacity .4s ease,filter .45s ease,box-shadow .45s ease;-webkit-tap-highlight-color:transparent}.gallery__card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px;pointer-events:none;-webkit-user-select:none;user-select:none}.gallery__card--active{z-index:3;width:86%;height:100%;transform:translate(-50%,-50%) scale(1);opacity:1;filter:none;box-shadow:0 22px 48px #193d2d3b;cursor:grab}.gallery__card--active:active{cursor:grabbing}.gallery__card--previous{z-index:2;width:68%;height:88%;transform:translate(-78%,-50%) scale(.88) rotate(-4deg);opacity:.88;filter:brightness(.88);box-shadow:0 13px 28px #193d2d29}.gallery__card--next{z-index:2;width:68%;height:88%;transform:translate(-22%,-50%) scale(.88) rotate(4deg);opacity:.88;filter:brightness(.88);box-shadow:0 13px 28px #193d2d29}.gallery__carousel--next .gallery__card--next{animation:galleryNextPeek .55s ease}.gallery__carousel--prev .gallery__card--previous{animation:galleryPreviousPeek .55s ease}@keyframes galleryNextPeek{0%{transform:translate(-10%,-50%) scale(.8) rotate(8deg);opacity:.55}to{transform:translate(-22%,-50%) scale(.88) rotate(4deg);opacity:.88}}@keyframes galleryPreviousPeek{0%{transform:translate(-90%,-50%) scale(.8) rotate(-8deg);opacity:.55}to{transform:translate(-78%,-50%) scale(.88) rotate(-4deg);opacity:.88}}.gallery__arrow{position:absolute;top:50%;z-index:10;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(159,126,61,.6);border-radius:50%;background:#faf7efeb;color:var(--green-deep);font-family:Georgia,serif;font-size:27px;line-height:1;transform:translateY(-50%);cursor:pointer;box-shadow:0 7px 18px #193d2d1f;transition:transform .2s ease,background .2s ease}.gallery__arrow:hover{background:var(--cream);transform:translateY(-50%) scale(1.06)}.gallery__arrow--left{left:2px}.gallery__arrow--right{right:2px}.gallery__dots{position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:8px;margin-top:13px}.gallery__dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#9f7e3d59;cursor:pointer;transition:transform .25s ease,background .25s ease}.gallery__dot--active{width:9px;height:9px;background:var(--green-deep);transform:scale(1.05)}@media screen and (min-width: 600px){.gallery{padding:65px 20px}.gallery__header{margin-bottom:25px}.gallery__eyebrow{font-size:11px}.gallery__title{font-size:34px}.gallery__stage{width:min(88vw,850px);height:430px}.gallery__card--active{width:68%}.gallery__card--previous{width:57%;transform:translate(-83%,-50%) scale(.88) rotate(-4deg)}.gallery__card--next{width:57%;transform:translate(-17%,-50%) scale(.88) rotate(4deg)}.gallery__arrow{width:46px;height:46px;font-size:31px}.gallery__arrow--left{left:2%}.gallery__arrow--right{right:2%}}@media screen and (min-width: 1024px){.gallery{padding:78px 40px 75px}.gallery__title{font-size:42px}.gallery__stage{width:min(90vw,1000px);height:500px}.gallery__card--active{width:66%}.gallery__card--previous{width:54%;height:84%;transform:translate(-86%,-50%) scale(.88) rotate(-4deg)}.gallery__card--next{width:54%;height:84%;transform:translate(-14%,-50%) scale(.88) rotate(4deg)}.gallery__arrow{width:50px;height:50px;font-size:34px}.gallery__arrow--left{left:3%}.gallery__arrow--right{right:3%}}@media screen and (max-width: 380px){.gallery{padding:40px 7px 45px}.gallery__title{font-size:25px}.gallery__stage{width:100vw;height:235px}.gallery__card{border-radius:10px;padding:4px}.gallery__card img{border-radius:7px}.gallery__card--active{width:88%}.gallery__card--previous{width:70%;transform:translate(-78%,-50%) scale(.86) rotate(-4deg)}.gallery__card--next{width:70%;transform:translate(-22%,-50%) scale(.86) rotate(4deg)}.gallery__arrow{width:34px;height:34px;font-size:24px}.gallery__arrow--left{left:0}.gallery__arrow--right{right:0}}.gallery__botanical{position:absolute;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none}.gallery__botanical--top-left{top:-5px;left:-5px;width:120px;opacity:.78}.gallery__botanical--top-right{top:-5px;right:-5px;width:120px;opacity:.78}.gallery__botanical--bottom-left{left:-5px;bottom:0;width:110px;opacity:.72}.gallery__botanical--bottom-right{right:-5px;bottom:0;width:110px;opacity:.72}.gallery__botanical--faint-left{top:34%;left:-35px;width:110px;opacity:.18}.gallery__botanical--faint-right{top:47%;right:-35px;width:110px;opacity:.18}.gallery__botanical--palm{top:20%;right:1%;width:90px;opacity:.22;transform:rotate(5deg)}.gallery__botanical--grass{left:50%;bottom:-3px;width:120%;max-width:850px;opacity:.42;transform:translate(-50%)}.rsvp{position:relative;isolation:isolate;width:100%;padding:52px 14px;background:var(--green-deep);overflow:hidden}.rsvp:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;background-image:var(--rsvp-bg);background-size:cover;background-position:center center;transform:scale(1.03)}.rsvp:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(180deg,#143726b8,#143726c7,#0a281bd6)}.rsvp__card{position:relative;z-index:2;width:100%;max-width:680px;margin:0 auto;padding:34px 20px 28px;background:transparent;border:1px solid rgba(159,126,61,.7);box-shadow:0 20px 45px #193d2d29}.rsvp__card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(214,181,107,.22);pointer-events:none}.rsvp__ornament{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:17px}.rsvp__ornament span{width:42px;height:1px;background:#d6b56ba6}.rsvp__ornament i{font-family:Georgia,serif;font-size:12px;font-style:normal;color:#d6b56b}.rsvp__intro{position:relative;z-index:2;text-align:center}.rsvp__eyebrow{margin:0 0 7px;font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:2.5px;color:#d6b56b}.rsvp__intro h2{max-width:570px;margin:0 auto;font-family:var(--font-display);font-size:clamp(14px,3 vw,20px);font-weight:500;line-height:1.08;color:var(--cream)}.rsvp__intro-text{max-width:480px;margin:12px auto 24px;font-family:var(--font-display);font-size:12px;line-height:1.5;color:#faf7efb8}.rsvp__form{position:relative;z-index:2;display:flex;flex-direction:column;gap:17px}.rsvp__field label{display:block;margin-bottom:7px;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#faf7efc7}.rsvp__field label span{margin-left:6px;font-size:9px;font-weight:400;letter-spacing:0;text-transform:none;color:#faf7ef73}.rsvp__attendance{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rsvp__choice{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid rgba(250,247,239,.22);border-radius:3px;background:transparent;color:#faf7efb8;font-family:var(--font-display);font-size:13px;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}.rsvp__choice--active{border-color:#d6b56b;background:#d6b56b1f;color:var(--cream)}.rsvp__choice-dot{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border:1px solid rgba(250,247,239,.45);border-radius:50%;font-size:11px;color:#d6b56b}.rsvp__choice--active .rsvp__choice-dot{border-color:#d6b56b;background:#d6b56b;color:var(--green-deep)}.rsvp__field select,.rsvp__field textarea{width:100%;box-sizing:border-box;background:#faf7effa;border:1px solid rgba(214,181,107,.25);border-radius:3px;font-family:var(--font-display);font-size:15px;color:var(--green-deep);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.rsvp__field select{height:44px;padding:0 12px;cursor:pointer}.rsvp__field textarea{display:block;min-height:88px;padding:11px 12px;resize:vertical}.rsvp__field select:focus,.rsvp__field textarea:focus{border-color:#d6b56b;box-shadow:0 0 0 2px #d6b56b1f}.rsvp__field textarea::placeholder{color:#8d948e}.rsvp__submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:47px;margin-top:2px;border:1px solid #d6b56b;border-radius:2px;background:transparent;color:var(--cream);font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,transform .2s ease}.rsvp__submit b{font-size:17px;font-weight:400;color:#d6b56b}.rsvp__submit:hover{background:#d6b56b;color:var(--green-deep);transform:translateY(-1px)}.rsvp__submit:hover b{color:var(--green-deep)}.rsvp__bottom-ornament{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:22px}.rsvp__bottom-ornament span{font-size:15px;color:#d6b56b73}.rsvp__bottom-ornament i{font-family:Georgia,serif;font-size:11px;font-style:normal;color:#d6b56b}.rsvp__botanical{position:absolute;z-index:1;font-family:Georgia,serif;font-size:120px;line-height:1;color:#193d2d17;pointer-events:none}.rsvp__botanical--left{left:-28px;top:30px;transform:rotate(25deg)}.rsvp__botanical--right{right:-28px;bottom:35px;transform:rotate(-155deg)}@media screen and (min-width: 600px){.rsvp{padding:70px 25px}.rsvp__card{padding:45px 45px 35px}.rsvp__intro h2{font-size:42px}.rsvp__intro-text{font-size:17px;margin-bottom:30px}.rsvp__form{gap:20px}.rsvp__botanical{font-size:180px}}@media screen and (max-width: 420px){.rsvp{padding:42px 10px}.rsvp__card{padding:28px 15px 24px}.rsvp__card:before{top:6px;right:6px;bottom:6px;left:6px}.rsvp__intro h2{font-size:27px}.rsvp__intro-text{font-size:14px;margin-bottom:20px}.rsvp__attendance{grid-template-columns:1fr}.rsvp__choice{min-height:42px}.rsvp__botanical{font-size:95px}}.footer{background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--white);padding:32px 24px;text-align:center;border-top:1px solid var(--line)}.footer__mark{font-family:var(--font-script);font-size:26px;margin-bottom:14px}.footer__quote{font-style:italic;color:#ffffffbf;font-size:15px;max-width:320px;margin:0 auto 20px;line-height:1.6}.footer__quote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.08em;margin-top:8px;opacity:.7}.footer__social{display:flex;justify-content:center;gap:18px;margin-bottom:14px}.footer__social a{color:var(--white);display:flex}.footer__hashtag{font-size:13px;letter-spacing:.06em;opacity:.75}@media (min-width: 1024px){.footer{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:32px 48px}.footer__quote{margin:0}}.thank-you{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;isolation:isolate}.thank-you__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e2319b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:thankYouFade .3s ease}.thank-you__card{position:relative;z-index:2;width:100%;max-width:430px;padding:34px 24px 27px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.7),transparent 55%),var(--cream);border:1px solid rgba(159,126,61,.65);box-shadow:0 25px 70px #00000047;text-align:center;animation:thankYouCardIn .45s cubic-bezier(.22,.75,.25,1)}.thank-you__card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(159,126,61,.2);pointer-events:none}.thank-you__corner{position:absolute;z-index:2;font-family:Georgia,serif;font-size:46px;color:#315c4740;line-height:1}.thank-you__corner--tl{top:10px;left:12px;transform:rotate(-25deg)}.thank-you__corner--br{right:12px;bottom:10px;transform:rotate(155deg)}.thank-you__ornament{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:15px}.thank-you__ornament span{width:42px;height:1px;background:#9f7e3d99}.thank-you__ornament i{font-family:Georgia,serif;font-size:12px;font-style:normal;color:#a17d3b}.thank-you__eyebrow{position:relative;z-index:2;margin:0 0 5px;font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:3px;color:#8b6d36}.thank-you__card h2{position:relative;z-index:2;margin:0;font-family:var(--font-display);font-size:43px;font-weight:500;line-height:1;color:var(--green-deep)}.thank-you__divider{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;margin:16px auto 14px}.thank-you__divider span{width:42px;height:1px;background:#9f7e3d73}.thank-you__divider i{font-family:Georgia,serif;font-size:12px;font-style:normal;color:#a17d3b}.thank-you__main{position:relative;z-index:2;margin:0;font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--green-deep)}.thank-you__message{position:relative;z-index:2;max-width:320px;margin:9px auto 0;font-family:var(--font-display);font-size:14px;line-height:1.55;color:var(--ink-muted)}.thank-you__signature{position:relative;z-index:2;margin:18px 0;font-family:var(--font-display);font-size:13px;font-style:italic;line-height:1.5;color:var(--ink-muted)}.thank-you__signature strong{display:block;margin-top:2px;font-size:19px;font-weight:500;color:var(--green-deep)}.thank-you__button{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:9px 17px;background:var(--green-deep);border:1px solid var(--green-deep);color:var(--cream);font-family:var(--font-display);font-size:11px;letter-spacing:1px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.thank-you__button span{font-size:15px;color:#d6b56b}.thank-you__button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #193d2d33}.thank-you__bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px}.thank-you__bottom span{font-size:14px;color:#315c4766}.thank-you__bottom i{font-family:Georgia,serif;font-size:10px;font-style:normal;color:#a17d3b}@keyframes thankYouFade{0%{opacity:0}to{opacity:1}}@keyframes thankYouCardIn{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media screen and (max-width: 420px){.thank-you{padding:12px}.thank-you__card{padding:29px 19px 23px}.thank-you__card h2{font-size:39px}.thank-you__main{font-size:18px}.thank-you__message{font-size:13px}}.floating-bar:hover{transform:translateY(-2px);border-color:#efd18a;box-shadow:0 13px 32px #001e145c,inset 0 0 0 1px #f5e7c114}.upload-photos-btn{height:32px;display:flex;align-items:center;gap:6px;padding:0 10px 0 6px;border:1px solid rgba(214,181,107,.28);border-radius:999px;background:#f4f1e8;color:#073826;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.15px;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.upload-photos-btn:hover{transform:translateY(-1px);background:#fff;box-shadow:0 4px 12px #00000026}.upload-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0b6847;color:#f8f4e9}.upload-icon svg{width:15px;height:15px}.upload-photos-label{white-space:nowrap}.upload-info-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:1px solid rgba(220,188,116,.7);border-radius:50%;background:#fffdf714;color:#e5c27b;font-family:Cormorant Garamond,serif;font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease}.upload-info-btn:hover,.upload-info-btn:focus-visible{transform:scale(1.06);background:#fffdf724}.floating-language{display:flex;align-items:center;justify-content:center;gap:1px;margin-left:0;font-family:var(--font-body);font-size:12px;line-height:1}.floating-language button{min-width:42px;min-height:40px;display:flex;align-items:center;justify-content:center;padding:5px;border:none;border-radius:999px;background:transparent;color:#ffffffb8;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.3px;cursor:pointer;-webkit-tap-highlight-color:transparent}.floating-language button.active{color:#f0cf82;font-weight:700;background:#dcbc741a}.floating-language span{color:#dcbc7480;font-size:12px}.upload-info-box{position:absolute;bottom:calc(100% + 10px);top:auto;right:auto;width:min(300px,calc(100vw - 28px));padding:14px 16px;background:#dce5dd;color:#f4f1e8;border:1px solid rgba(220,188,116,.8);border-radius:14px;box-shadow:0 10px 30px #001e144d,0 2px 8px #00000024;z-index:100000}.upload-info-box strong{display:block;margin-bottom:5px;color:#193d2d;font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600}.upload-info-box p{margin:0;color:#65756b;font-family:Cormorant Garamond,serif;font-size:14px;line-height:1.35}@keyframes uploadInfoIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.upload-photos-btn{height:38px;padding:0 10px 0 7px;gap:7px;font-size:11px}.upload-icon{width:29px;height:29px}.upload-info-btn{width:32px;height:32px}.floating-language{gap:1px}.floating-language button{min-width:40px;min-height:40px;font-size:13px}}.photo-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#031e149e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10000;animation:modalFadeIn .25s ease}.photo-modal{width:min(480px,100%);max-height:90vh;overflow-y:auto;padding:28px;background:linear-gradient(145deg,#f9f8f2,#eef2e8);border:1px solid rgba(8,70,45,.15);border-radius:24px;box-shadow:0 30px 80px #001e1459,0 8px 25px #00000026;animation:modalSlideUp .3s ease}.photo-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-eyebrow{display:block;margin-bottom:5px;color:#6d8d78;font-size:9px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.photo-modal h2{margin:0;color:#073826;font-family:var(--font-script);font-size:30px;font-weight:500;line-height:1.1}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#07382614;color:#073826;font-size:22px;line-height:1;cursor:pointer;transition:.2s ease}.modal-close:hover{background:#07382626}.photo-modal-description{margin:18px 0 22px;color:#66756c;font-size:13px;line-height:1.7;text-align:center}.photo-select-button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px dashed #73917d;border-radius:14px;background:#ffffff8c;color:#174b36;font-size:13px;font-weight:600;cursor:pointer;transition:.2s ease}.photo-select-button:hover{background:#ffffffe6;border-color:#32684e}.select-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0b6847;color:#fff;font-size:19px;font-weight:300}.photo-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:18px}.photo-preview{aspect-ratio:1;overflow:hidden;border-radius:10px;background:#dce5dd;box-shadow:0 3px 8px #0028191f}.photo-preview img{width:100%;height:100%;display:block;object-fit:cover}.photo-upload-error{margin:12px 0;color:#a44848;font-size:11px;text-align:center}.submit-photo-button{width:100%;height:48px;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:999px;background:#073826;color:#f7f4e9;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #07382633;transition:.2s ease}.submit-photo-button:hover:not(:disabled){background:#0b6847;transform:translateY(-1px)}.submit-photo-button:disabled{opacity:.45;cursor:not-allowed}.upload-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.photo-thank-you{padding:20px 8px 8px;text-align:center}.thank-you-heart{width:62px;height:62px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dfeadf;color:#0b6847;font-size:27px;box-shadow:0 8px 20px #0738261f}.photo-thank-you h2{margin-top:3px;margin-bottom:14px;font-size:34px}.photo-thank-you p{max-width:350px;margin:0 auto 24px;color:#66756c;font-size:13px;line-height:1.8}.thank-you-close{height:44px;padding:0 28px;border:none;border-radius:999px;background:#073826;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:.2s ease}.thank-you-close:hover{background:#0b6847}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.photo-modal-backdrop{padding:14px}.photo-modal{padding:23px 18px;border-radius:21px}.photo-modal h2{font-size:27px}.photo-modal-description{font-size:12px;margin-top:14px}.photo-preview-grid{grid-template-columns:repeat(3,1fr)}}.upload-status{position:fixed;right:20px;bottom:90px;display:flex;align-items:center;gap:12px;padding:12px 18px;background:#14372af5;color:#f8f4e8;border:1px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 10px 30px #00000040;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:uploadStatusIn .3s ease}.upload-status strong{display:block;font-size:14px;font-weight:600}.upload-status small{display:block;margin-top:3px;font-size:12px;opacity:.75}.upload-status .upload-spinner{flex-shrink:0;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:uploadSpin .8s linear infinite}.upload-success{background:#315c47f7}.upload-success-heart{font-size:22px}.upload-progress-text{margin:12px 0;text-align:center;font-size:13px;color:#315c47}@keyframes uploadSpin{to{transform:rotate(360deg)}}@keyframes uploadStatusIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.envelope-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.95),transparent 45%),linear-gradient(135deg,#f7f5ed,#eeeade,#e8e5d8);overflow:hidden;transition:opacity .8s ease,visibility .8s ease}.guest-name{color:#8c7544;font-size:larger}.envelope-screen:before,.envelope-screen:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(49,92,71,.08);pointer-events:none}.envelope-screen:before{top:-150px;left:-130px}.envelope-screen:after{bottom:-160px;right:-140px}.invitation-card{position:relative;z-index:2;width:min(100%,390px);min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 24px 35px;background:linear-gradient(145deg,#fffffff5,#f9f7eff0);border:1px solid rgba(49,92,71,.12);box-shadow:0 25px 70px #23392d29,0 5px 18px #23392d14;overflow:hidden}.invitation-card:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(49,92,71,.12);pointer-events:none}.invitation-eyebrow{margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:10px;letter-spacing:3px;color:#315c47;text-align:center;font-weight:500}.invitation-names{margin:0;display:flex;flex-direction:column;align-items:center;color:#193d2d;font-family:Cormorant Garamond,serif;font-size:clamp(48px,15vw,70px);line-height:.78;font-weight:400;text-align:center;letter-spacing:-2px}.invitation-names span{margin:7px 0;font-family:Cormorant Garamond,serif;font-size:25px;line-height:1;font-style:italic;color:#b89b5e}.luxury-envelope{position:relative;width:min(82vw,285px);aspect-ratio:1.48 / 1;margin-top:25px;cursor:pointer;perspective:1000px;filter:drop-shadow(0 18px 20px rgba(24,50,38,.22));transition:transform .35s ease,filter .35s ease}.luxury-envelope:hover{transform:translateY(-5px);filter:drop-shadow(0 23px 25px rgba(24,50,38,.27))}.luxury-envelope:active{transform:translateY(-1px) scale(.99)}.envelope-back{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#234f3b,#193e2e);border-radius:3px;overflow:hidden}.envelope-back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 4px);pointer-events:none}.envelope-front{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#2e654b,#1b4533);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);z-index:3}.envelope-front:before{content:"";position:absolute;left:0;bottom:0;width:50%;height:100%;background:#ffffff09;clip-path:polygon(0 0,100% 54%,0 100%)}.envelope-front:after{content:"";position:absolute;right:0;bottom:0;width:50%;height:100%;background:#0000000f;clip-path:polygon(100% 0,0 54%,100% 100%)}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:58%;background:linear-gradient(145deg,#315f49,#1d4734);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;z-index:5;transition:transform .9s cubic-bezier(.22,.61,.36,1),z-index 0s linear .45s;box-shadow:0 4px 8px #00000014}.flap-inner{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 55%);clip-path:polygon(0 0,100% 0,50% 100%)}.wax-seal{position:absolute;left:50%;top:54%;width:65px;height:65px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9c48a,#b99c5d 45%,#8c7544);border:3px solid #e3d49e;box-shadow:0 4px 8px #00000040,inset 0 2px 3px #ffffff4d;z-index:10;transition:transform .6s ease,opacity .4s ease}.wax-seal span{font-family:Cormorant Garamond,serif;font-size:17px;font-weight:600;color:#315c47;letter-spacing:1px}.luxury-envelope.open .envelope-flap{transform:rotateX(180deg);z-index:1}.luxury-envelope.open .wax-seal{transform:translate(-50%,-50%) scale(.7);opacity:0}.luxury-envelope.open{transform:translateY(-8px)}.envelope-instruction{margin:30px 0 0;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:2.5px;color:#315c47;text-align:center;animation:invitationPulse 2.4s ease-in-out infinite}@keyframes invitationPulse{0%,to{opacity:.55}50%{opacity:1}}.invitation-decoration{display:flex;align-items:center;gap:10px;margin-top:25px;opacity:.7}.invitation-decoration span{width:38px;height:1px;background:#b89b5e}.invitation-decoration i{color:#b89b5e;font-size:11px;font-style:normal}.invitation-page-fade{animation:weddingPageReveal 1.2s ease forwards}@keyframes weddingPageReveal{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}.envelope-screen.is-open{animation:envelopeScreenExit 1.15s ease forwards;pointer-events:none}@keyframes envelopeScreenExit{0%{opacity:1}65%{opacity:1}to{opacity:0;visibility:hidden}}@media (max-width: 480px){.envelope-screen{padding:15px}.invitation-card{min-height:610px;padding:40px 20px 30px}.invitation-names{font-size:54px}.invitation-names span{font-size:22px}.luxury-envelope{width:min(82vw,280px);margin-top:22px}.wax-seal{width:59px;height:59px}.envelope-instruction{margin-top:26px;font-size:10px}}@media (max-height: 680px){.invitation-card{min-height:570px;padding-top:28px}.invitation-names{font-size:48px}.luxury-envelope{margin-top:28px;width:245px}.envelope-instruction{margin-top:20px}.invitation-decoration{margin-top:15px}}.wed{overflow-x:hidden}html,body,#root{width:100%;min-width:0}html,body{overflow-x:hidden}.photo-modal-backdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box;z-index:999999!important;overflow-y:auto!important;overflow-x:hidden!important}.photo-modal{position:relative!important;width:min(480px,100%)!important;max-width:480px;max-height:calc(100dvh - 32px)!important;margin:auto;overflow-y:auto!important;overflow-x:hidden;box-sizing:border-box}.upload-status{position:fixed!important;right:20px!important;left:auto!important;top:auto!important;bottom:90px!important;z-index:999999!important}.photo-modal-backdrop{padding:12px!important}.photo-modal{width:100%!important;max-height:calc(100dvh - 24px)!important}.upload-status{left:12px!important;right:12px!important;bottom:76px!important}.language-toggle{position:fixed!important;top:13px;right:16px;display:flex;align-items:center;gap:8px;padding:5px 10px;background:#fffdf7eb;border:1px solid rgba(171,139,75,.45);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999999}.language-toggle button{border:none;background:transparent;color:#65756b;font-size:11px;letter-spacing:1px;cursor:pointer}.language-toggle button.active{color:#193d2d;font-weight:700}.language-toggle span{color:#ab8b4b;opacity:.6}.scroll-reveal{opacity:0;transition:opacity .8s ease}.scroll-reveal--visible{opacity:1}@media (prefers-reduced-motion: reduce){.scroll-reveal{opacity:1;transition:none}}.snap-section{scroll-snap-align:start;scroll-snap-stop:always}.floating-bar .upload-photos-btn{width:100%!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;padding:0 10px 0 6px!important;border:none!important;border-radius:999px!important;background:#f4f1e8!important;color:#073826!important;font-family:var(--font-body);font-size:10px!important;font-weight:600;white-space:nowrap;cursor:pointer}.floating-bar .upload-icon{width:24px!important;height:24px!important;flex-shrink:0;display:flex;align-items:center;justify-content:center}.floating-bar .upload-icon svg{width:15px!important;height:15px!important}body>.floating-bar .upload-info-btn{width:34px!important;height:28px!important;align-self:center;display:flex;align-items:center;justify-content:center;padding:0!important;border:1px solid rgba(220,188,116,.45);border-radius:999px;background:#ffffff12;color:#e5c27b;font-family:Georgia,serif;font-size:15px;cursor:pointer}.floating-bar .floating-language{width:100%;display:flex!important;align-items:center;justify-content:center!important;gap:2px!important;margin:0!important;font-size:12px!important;line-height:1}body>.floating-bar .floating-language button{min-width:34px!important;min-height:30px!important;padding:5px!important;border:none;background:transparent;color:#fff9;font-family:var(--font-body);font-size:12px!important;cursor:pointer}.floating-bar .floating-language button.active{color:#e5c27b;font-weight:700}.floating-bar .floating-language span{color:#dcbc748c}.floating-bar .upload-info-box{position:absolute!important;right:calc(100% + 10px)!important;bottom:0!important;top:auto!important;width:min(300px,calc(100vw - 90px))!important;padding:14px 16px!important;color:#f4f1e8;border:1px solid rgba(220,188,116,.8);border-radius:14px;box-shadow:0 10px 30px #001e144d,0 2px 8px #00000024;z-index:100000}.upload-photo-img{padding:0;width:100px!important}.floating-bar-container{position:fixed;top:0;right:3%;display:flex;flex-direction:column;background-color:red}.floating-bar{position:absolute!important;top:10%!important;right:20%!important;transform:none!important;width:30px!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:7px!important;background:#073726f5!important;border:1px solid rgba(220,188,116,.85)!important;border-radius:18px!important;box-shadow:0 10px 30px #001e1447,0 2px 8px #0000001f!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:99990!important}.floating-bar .upload-photos-btn{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:none!important;border-radius:12px!important;background:#f4f1e8!important;color:#073826!important;cursor:pointer}.floating-bar .upload-icon{width:22px!important;height:22px!important;display:flex!important;align-items:center;justify-content:center;flex-shrink:0}.floating-bar .upload-photos-label{display:none!important}.floating-bar .upload-info-btn{width:23px!important;height:23px!important;display:flex!important;align-items:center;justify-content:center;align-self:center;padding:0!important;border:1px solid rgba(220,188,116,.45)!important;border-radius:50%!important;background:#ffffff12!important;color:#e5c27b!important;font-family:Georgia,serif;font-size:14px!important;cursor:pointer}.floating-bar .floating-language{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;margin:0!important;font-size:10px!important;line-height:1!important}.floating-bar .floating-language button{width:38px!important;min-width:38px!important;min-height:28px!important;display:flex!important;align-items:center;justify-content:center;padding:4px!important;border:none!important;background:transparent!important;color:#fff9;font-family:var(--font-body);font-size:10px!important;cursor:pointer}body>.floating-bar .floating-language button.active{color:#e5c27b!important;font-weight:700}body>.floating-bar .floating-language span{display:block!important;width:18px!important;height:1px!important;margin:0!important;overflow:hidden;color:transparent!important;background:#dcbc7473}body>.floating-bar .upload-info-box{position:absolute!important;right:calc(100% + 10px)!important;bottom:0!important;top:auto!important;width:min(300px,calc(100vw - 90px))!important;padding:14px 16px!important;background:#cbb98a!important;color:#f4f1e8!important;border:1px solid rgba(220,188,116,.8);border-radius:14px;box-shadow:0 10px 30px #001e144d,0 2px 8px #00000024;z-index:100000}.floating-bar .upload-info-box strong{display:block;margin-bottom:6px;font-size:12px}.floating-bar .upload-info-box p{margin:0;font-size:11px;line-height:1.6}:root{--gold: #b08d57;--cream: #fdf8f0;--ink: #3a2e2e;font-family:Georgia,serif}body{margin:0;background:var(--cream);color:var(--ink)}.envelope-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4e9da,#e8d6bd)}.envelope{width:280px;height:190px;background:var(--cream);border:2px solid var(--gold);border-radius:4px;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #00000026;transition:transform .3s ease}.envelope:hover{transform:translateY(-4px) scale(1.02)}.envelope-flap{position:absolute;top:-1px;left:-1px;right:-1px;height:95px;background:var(--gold);clip-path:polygon(0 0,100% 0,50% 100%);opacity:.85}.envelope-label{margin-top:60px;font-size:1.2rem;letter-spacing:.1em;color:var(--ink)}.envelope-hint{margin-top:16px;opacity:.7}.fade-in{animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.invitation-page,.admin-panel{max-width:640px;margin:0 auto;padding:32px 20px 80px;text-align:center}.hero-image{width:100%;border-radius:8px;margin-bottom:20px}h1{font-size:2.2rem;color:var(--gold)}.invite-line{font-size:1.1rem}.section{margin-top:36px;text-align:left}.rsvp-form{display:flex;flex-direction:column;gap:14px;max-width:420px}.rsvp-form.inline-form{flex-direction:row;max-width:none;margin-bottom:24px}.rsvp-form label{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:8px;border:1px solid #ccc;border-radius:4px;font-family:inherit}.rsvp-form button{background:var(--gold);color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;font-size:1rem}.rsvp-confirmed{background:#f0e6d6;padding:10px 14px;border-radius:6px}.map-frame{border-radius:8px;overflow:hidden;margin-top:10px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.upload-button{display:inline-block;background:var(--gold);color:#fff;padding:10px 16px;border-radius:4px;cursor:pointer}.error{color:#b03434}.guest-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.guest-table th,.guest-table td{border-bottom:1px solid #ddd;padding:8px 6px}
