@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Great+Vibes&family=Montserrat:wght@400;500;600&display=swap";:root{--violet-dark:#645baa;--violet:#937ec3;--lavender:#bfade1;--blush:#ebc8e8;--soft-pink:#fde2e7;--lavender-50:#faf8ff;--lavender-100:#f4effb;--pink-50:#fff8fa;--ink:#453e69;--text:#655f7a;--muted:#8d849c;--white:#fff;--border:#645baa2e;--shadow:#4f3f7e1f;--nav-height:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--lavender-50)}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--lavender-50);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Montserrat,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}#welcome,#story,#details,#timeline,#entourage,#dresscode,#moments,#gift,#reminders,#share,#rsvp{scroll-margin-top:105px}.wedding-page{isolation:isolate;min-height:100vh;position:relative;overflow-x:hidden}.wedding-page>section{z-index:1;position:relative}.ornate-frame{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #645baa38,inset 0 0 0 5px #bfade112}.ornate-frame__line{opacity:.5;display:block;position:absolute}.ornate-frame__line--top,.ornate-frame__line--bottom{background:linear-gradient(90deg,#0000,#937ec352 10%,#645baa80 50%,#937ec352 90%,#0000);height:1px;left:115px;right:115px}.ornate-frame__line--top{top:16px}.ornate-frame__line--bottom{bottom:16px}.ornate-frame__line--left,.ornate-frame__line--right{background:linear-gradient(#0000,#937ec34d 10%,#645baa7a 50%,#937ec34d 90%,#0000);width:1px;top:115px;bottom:115px}.ornate-frame__line--left{left:16px}.ornate-frame__line--right{right:16px}.ornate-frame__corner{opacity:.72;filter:drop-shadow(0 8px 14px #645baa14);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23937EC3' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' opacity='.78'%3E%3Cpath d='M5 210 C55 185 52 140 82 112 C112 84 157 85 211 30'/%3E%3Cpath d='M35 191 C55 169 70 145 85 115'/%3E%3Cpath d='M70 145 C50 143 36 132 28 117'/%3E%3Cpath d='M83 118 C69 98 66 80 70 62'/%3E%3Cpath d='M113 88 C102 65 106 44 117 29'/%3E%3Cpath d='M141 75 C151 53 169 41 189 35'/%3E%3Cpath d='M161 59 C187 62 206 55 224 42'/%3E%3C/g%3E%3Cg fill='%23BFADE1' opacity='.48'%3E%3Cellipse cx='53' cy='159' rx='8' ry='18' transform='rotate(-52 53 159)'/%3E%3Cellipse cx='70' cy='132' rx='8' ry='18' transform='rotate(42 70 132)'/%3E%3Cellipse cx='80' cy='97' rx='7' ry='17' transform='rotate(-24 80 97)'/%3E%3Cellipse cx='112' cy='69' rx='7' ry='17' transform='rotate(30 112 69)'/%3E%3Cellipse cx='150' cy='56' rx='7' ry='17' transform='rotate(65 150 56)'/%3E%3Cellipse cx='185' cy='47' rx='7' ry='17' transform='rotate(70 185 47)'/%3E%3C/g%3E%3Cg stroke='%23645BAA' stroke-width='1.2'%3E%3Cg transform='translate(90 105)'%3E%3Ccircle r='7' fill='%23FDE2E7'/%3E%3Cellipse rx='12' ry='6' cy='-12' fill='%23EBC8E8'/%3E%3Cellipse rx='12' ry='6' cy='12' fill='%23EBC8E8'/%3E%3Cellipse rx='12' ry='6' cx='-12' fill='%23EBC8E8'/%3E%3Cellipse rx='12' ry='6' cx='12' fill='%23EBC8E8'/%3E%3C/g%3E%3Cg transform='translate(130 72) scale(.8)'%3E%3Ccircle r='7' fill='%23FDE2E7'/%3E%3Cellipse rx='12' ry='6' cy='-12' fill='%23BFADE1'/%3E%3Cellipse rx='12' ry='6' cy='12' fill='%23BFADE1'/%3E%3Cellipse rx='12' ry='6' cx='-12' fill='%23BFADE1'/%3E%3Cellipse rx='12' ry='6' cx='12' fill='%23BFADE1'/%3E%3C/g%3E%3Cg transform='translate(58 153) scale(.65)'%3E%3Ccircle r='7' fill='%23FDE2E7'/%3E%3Cellipse rx='12' ry='6' cy='-12' fill='%23937EC3'/%3E%3Cellipse rx='12' ry='6' cy='12' fill='%23937EC3'/%3E%3Cellipse rx='12' ry='6' cx='-12' fill='%23937EC3'/%3E%3Cellipse rx='12' ry='6' cx='12' fill='%23937EC3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:230px;height:230px;animation:8s ease-in-out infinite floral-breathe;position:absolute}.ornate-frame__corner--tl{top:-26px;left:-26px}.ornate-frame__corner--tr{top:-26px;right:-26px;transform:scaleX(-1)}.ornate-frame__corner--bl{bottom:-26px;left:-26px;transform:scaleY(-1)}.ornate-frame__corner--br{bottom:-26px;right:-26px;transform:scale(-1)}.ornate-frame__side{opacity:.46;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 280'%3E%3Cg fill='none' stroke='%23937EC3' stroke-width='1.2' opacity='.65'%3E%3Cpath d='M38 0 C15 42 53 69 31 105 C10 140 51 168 29 205 C18 225 27 253 39 280'/%3E%3Cpath d='M31 74 C18 68 10 57 8 47'/%3E%3Cpath d='M34 107 C47 98 55 87 58 75'/%3E%3Cpath d='M28 164 C15 155 9 143 8 131'/%3E%3Cpath d='M30 208 C45 200 54 189 57 176'/%3E%3C/g%3E%3Cg fill='%23BFADE1' opacity='.5'%3E%3Cellipse cx='14' cy='54' rx='7' ry='16' transform='rotate(-38 14 54)'/%3E%3Cellipse cx='52' cy='83' rx='7' ry='16' transform='rotate(35 52 83)'/%3E%3Cellipse cx='14' cy='139' rx='7' ry='16' transform='rotate(-35 14 139)'/%3E%3Cellipse cx='51' cy='184' rx='7' ry='16' transform='rotate(35 51 184)'/%3E%3C/g%3E%3Cg fill='%23EBC8E8' stroke='%23645BAA' stroke-width='.8'%3E%3Ccircle cx='32' cy='105' r='5'/%3E%3Ccircle cx='25' cy='99' r='5'/%3E%3Ccircle cx='39' cy='99' r='5'/%3E%3Ccircle cx='32' cy='92' r='5'/%3E%3Ccircle cx='30' cy='205' r='5'/%3E%3Ccircle cx='23' cy='199' r='5'/%3E%3Ccircle cx='37' cy='199' r='5'/%3E%3Ccircle cx='30' cy='192' r='5'/%3E%3C/g%3E%3C/svg%3E");background-position:top;background-repeat:repeat-y;background-size:58px 260px;width:62px;position:absolute;top:13%;bottom:13%}.ornate-frame__side--left{left:-5px}.ornate-frame__side--right{right:-5px;transform:scaleX(-1)}@keyframes floral-breathe{0%,to{opacity:.66}50%{opacity:.82}}.section-heading{text-align:center;width:min(100%,760px);margin:0 auto 62px}.section-heading>p:first-child{letter-spacing:.34em;color:var(--violet);margin:0 0 12px;font-size:.72rem;font-weight:600}.section-heading>h2:not(.script-heading){color:var(--violet-dark);margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500;line-height:1.08}.script-heading{color:var(--violet-dark);margin:0;font-family:Great Vibes,cursive;font-size:clamp(3.3rem,7vw,5.4rem);font-weight:400;line-height:1.08}.section-heading>span{max-width:650px;color:var(--text);margin:12px auto 0;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-style:italic;line-height:1.7;display:block}.section-heading:after{content:"♡";color:#937ec3c2;background:linear-gradient(90deg,#0000 0 4%,#937ec33d 4% 43%,#0000 43% 57%,#937ec33d 57% 96%,#0000 96%) 50%/100% 1px no-repeat;justify-content:center;align-items:center;width:min(260px,70%);height:28px;margin:18px auto 0;font-family:Cormorant Garamond,serif;font-size:1rem;display:flex}.section-divider,.section-separator{color:var(--violet);grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.section-divider{width:min(100%,330px);margin:32px auto 40px}.section-separator{z-index:2;width:min(360px,100% - 60px);margin:-1px auto;padding:16px 0;position:relative}.section-divider span,.section-separator span{background:linear-gradient(90deg, transparent, var(--lavender), transparent);height:1px}.section-divider strong,.section-separator strong{font-family:serif;font-weight:400}.invitation-cover{isolation:isolate;background:#24213b;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.invitation-cover__background{z-index:-3;background:url(/images/cover.jpg) 50%/cover no-repeat;animation:5s ease-out forwards cover-background-zoom;position:absolute;inset:0}.invitation-cover__overlay{z-index:-2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#181f368c,#1d1834ad);position:absolute;inset:0}.invitation-cover__content{z-index:2;text-align:center;color:#fff;flex-direction:column;align-items:center;width:min(900px,100% - 36px);padding:70px 20px;display:flex;position:relative}.invitation-cover__eyebrow{opacity:0;letter-spacing:.2em;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2vw,1.35rem);font-weight:600;animation:.8s .15s forwards invitation-fade-up}.invitation-cover__portrait{opacity:0;background:#ffffff1f;border:1px solid #ebc8e8cc;border-radius:50%;width:180px;height:180px;margin:28px auto 34px;padding:6px;animation:1s cubic-bezier(.2,.8,.2,1) .45s forwards portrait-pop;position:relative;overflow:visible;box-shadow:0 18px 45px #1e143c47}.invitation-cover__portrait>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:50%;width:100%;height:100%}.invitation-cover__monogram{z-index:5;opacity:0;min-width:116px;height:48px;color:var(--violet-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #ffffff80;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:600;animation:.7s 1.1s forwards monogram-slide;display:flex;position:absolute;bottom:-4px;right:-38px;box-shadow:0 10px 26px #1e143c38}.invitation-cover__monogram span{color:var(--violet);font-family:Great Vibes,cursive;font-size:1.25rem}.invitation-cover__names{opacity:0;color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,7vw,5.7rem);font-weight:400;line-height:.95;animation:.9s .9s forwards invitation-fade-up;display:flex}.invitation-cover__names span{color:var(--blush);font-family:Great Vibes,cursive}.invitation-cover__subtitle{opacity:0;color:var(--blush);margin:22px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3vw,2rem);font-style:italic;animation:.8s 1.25s forwards invitation-fade-up}.invitation-cover__message{opacity:0;margin:8px 0 0;font-family:Great Vibes,cursive;font-size:clamp(1.7rem,4vw,2.7rem);animation:.8s 1.45s forwards invitation-fade-up}.invitation-cover__date{opacity:0;letter-spacing:.3em;color:var(--soft-pink);margin:24px 0 0;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600;animation:.8s 1.65s forwards invitation-fade-up}.invitation-cover__button{opacity:0;color:#fff;letter-spacing:.14em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffffbf;margin-top:28px;padding:14px 28px;font-size:.72rem;font-weight:600;transition:background .18s,color .18s,transform .18s,box-shadow .18s;animation:.8s 1.9s forwards invitation-fade-up}.invitation-cover__button:hover{color:var(--violet-dark);background:#fff;transform:translateY(-3px);box-shadow:0 12px 30px #0000002e}@keyframes invitation-fade-up{0%{opacity:0;transform:translateY(36px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes portrait-pop{0%{opacity:0;transform:scale(.65)rotate(-6deg)}70%{opacity:1;transform:scale(1.06)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes monogram-slide{0%{opacity:0;transform:translate(35px)}to{opacity:1;transform:translate(0)}}@keyframes cover-background-zoom{0%{transform:scale(1.08)}to{transform:scale(1.02)}}.wedding-nav{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #937ec324;border-radius:999px;justify-content:space-between;align-items:center;gap:18px;width:min(100% - 32px,920px);min-height:54px;padding:9px 14px 9px 20px;transition:background .28s,box-shadow .28s,border-color .28s,top .28s;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #4f3f7e14}.wedding-nav.is-scrolled{background:#fffffff0;border-color:#645baa33;top:12px;box-shadow:0 12px 34px #4f3f7e29}.wedding-nav__brand{color:var(--violet-dark);flex-shrink:0;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:600;text-decoration:none}.wedding-nav__brand span{color:var(--violet);margin:0 3px;font-family:Great Vibes,cursive}.wedding-nav__links{align-items:center;gap:6px;display:flex}.wedding-nav__links a{letter-spacing:.05em;color:var(--text);border-radius:999px;padding:9px 13px;font-size:.7rem;font-weight:600;text-decoration:none;transition:color .22s,background .22s,transform .22s;position:relative}.wedding-nav__links a:hover,.wedding-nav__links a.is-active{color:var(--violet-dark);background:linear-gradient(135deg,#bfade14d,#ebc8e852)}.wedding-nav__links a.is-active{transform:translateY(-1px)}.wedding-nav__links a.is-active:after{content:"";background:var(--violet);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.wedding-nav__toggle{background:#bfade126;border:0;border-radius:50%;width:42px;height:42px;padding:10px;display:none}.wedding-nav__toggle span{background:var(--violet-dark);border-radius:999px;width:20px;height:2px;margin:4px auto;transition:transform .22s,opacity .22s;display:block}.wedding-nav.is-open .wedding-nav__toggle span:first-child{transform:translateY(6px)rotate(45deg)}.wedding-nav.is-open .wedding-nav__toggle span:nth-child(2){opacity:0}.wedding-nav.is-open .wedding-nav__toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.music-control,.back-to-top{z-index:1100;color:var(--violet-dark);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #645baa3d;position:fixed;box-shadow:0 10px 30px #4f3f7e2e}.music-control{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:54px;min-height:54px;padding:9px 15px;transition:transform .18s,background .18s,box-shadow .18s;display:flex;bottom:24px;right:24px}.music-control:hover{transform:translateY(-2px)}.music-control--playing{background:linear-gradient(135deg, var(--violet-dark), var(--violet));color:#fff}.music-control__icon{font-size:1.25rem;line-height:1}.music-control--playing .music-control__icon{animation:1.4s ease-in-out infinite music-pulse}.music-control__label{letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:600}.back-to-top{opacity:0;visibility:hidden;border-radius:50%;place-items:center;width:46px;height:46px;transition:opacity .22s,visibility .22s,transform .22s,background .22s,color .22s;display:grid;bottom:92px;right:28px;transform:translateY(14px)scale(.9)}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.back-to-top:hover{background:var(--violet-dark);color:#fff}@keyframes music-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}.petal{z-index:25;pointer-events:none;color:#937ec342;animation:9s ease-in-out infinite petal-float;position:fixed}.petal--1{font-size:1.1rem;top:18%;left:8%}.petal--2{font-size:.9rem;animation-delay:-3s;top:42%;right:8%}.petal--3{font-size:1.3rem;animation-delay:-6s;top:72%;left:10%}@keyframes petal-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-18px)rotate(10deg)}}.welcome-section{background:radial-gradient(circle at 5% 10%, #bfade159, transparent 30%), radial-gradient(circle at 95% 85%, #ebc8e852, transparent 30%), linear-gradient(180deg, var(--lavender-100), var(--pink-50) 55%, var(--soft-pink) 140%);padding:115px 20px 125px}.welcome-section__content{text-align:center;width:min(100%,980px);margin:0 auto}.welcome-section__eyebrow{color:var(--violet);margin:0;font-family:Great Vibes,cursive;font-size:clamp(2.3rem,5vw,3.4rem)}.welcome-section__title{color:var(--violet-dark);margin:8px 0;font-family:Cormorant Garamond,serif;font-size:clamp(2.7rem,7vw,4.8rem);font-weight:500}.welcome-section__subtitle{max-width:650px;color:var(--text);margin:0 auto;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-style:italic}.scroll-cue{width:fit-content;color:var(--violet);flex-direction:column;align-items:center;gap:8px;margin:0 auto 42px;text-decoration:none;animation:.9s both scroll-cue-fade;display:flex}.scroll-cue>span{letter-spacing:.2em;text-transform:uppercase;font-size:.62rem;font-weight:600}.scroll-cue__mouse{border:1.5px solid var(--violet);border-radius:999px;width:24px;height:38px;position:relative}.scroll-cue__wheel{background:var(--violet);border-radius:999px;width:3px;height:7px;animation:1.6s ease-in-out infinite scroll-wheel;position:absolute;top:7px;left:50%;transform:translate(-50%)}.scroll-cue__arrow{color:var(--lavender);margin-top:-3px;font-size:.9rem;animation:1.6s ease-in-out infinite scroll-arrow}@keyframes scroll-wheel{0%{opacity:0;transform:translate(-50%)}30%{opacity:1}to{opacity:0;transform:translate(-50%,12px)}}@keyframes scroll-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes scroll-cue-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.welcome-section__gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:175px;gap:10px;width:100%;display:grid}.welcome-section__photo{border:5px solid var(--white);background:var(--lavender);box-shadow:0 12px 30px var(--shadow);overflow:hidden}.welcome-section__photo--large{grid-area:span 2/span 2}.welcome-section__photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.welcome-section__photo-button img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s}.welcome-section__photo-overlay{opacity:0;background:#453e6961;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.welcome-section__photo-overlay span{color:#fff;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #ffffffb3;border-radius:999px;padding:9px 16px;font-size:.66rem;font-weight:600}.welcome-section__photo-button:hover img{transform:scale(1.06)}.welcome-section__photo-button:hover .welcome-section__photo-overlay{opacity:1}.photo-lightbox{z-index:5000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141124e6;justify-content:center;align-items:center;padding:40px 90px;animation:.22s lightbox-fade-in;display:flex;position:fixed;inset:0}.photo-lightbox__content{text-align:center;width:min(1000px,100%);max-height:88vh;animation:.35s cubic-bezier(.22,1,.36,1) lightbox-image-in}.photo-lightbox__content img{-o-object-fit:contain;object-fit:contain;border-radius:18px;max-width:100%;max-height:80vh;margin:0 auto;box-shadow:0 30px 90px #0000006b}.photo-lightbox__content p{color:#ffffffb8;letter-spacing:.16em;margin:14px 0 0;font-size:.72rem}.photo-lightbox__close,.photo-lightbox__nav{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff4d;border-radius:50%;place-items:center;transition:background .18s,transform .18s;display:grid;position:absolute}.photo-lightbox__close{width:48px;height:48px;font-size:2rem;font-weight:300;top:24px;right:30px}.photo-lightbox__nav{width:54px;height:54px;font-family:Cormorant Garamond,serif;font-size:2.5rem;top:50%;transform:translateY(-50%)}.photo-lightbox__nav--previous{left:25px}.photo-lightbox__nav--next{right:25px}.photo-lightbox__close:hover,.photo-lightbox__nav:hover{background:#ffffff2e}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-image-in{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.story-section{background:linear-gradient(180deg, var(--white), var(--lavender-50) 50%, var(--white));padding:120px 20px 140px}.story-section__timeline{flex-direction:column;gap:90px;width:min(100%,980px);margin:0 auto;display:flex}.story-card{grid-template-columns:1fr 1fr;align-items:center;gap:55px;display:grid}.story-card--reverse .story-card__image{order:2}.story-card--reverse .story-card__content{text-align:right;order:1}.story-card__image{border:10px solid var(--white);background:var(--lavender);min-height:470px;box-shadow:0 18px 45px var(--shadow);overflow:hidden}.story-card__image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:470px;transition:transform .8s cubic-bezier(.22,1,.36,1)}.story-card:hover .story-card__image img{transform:scale(1.04)}.story-card__number{color:#937ec32b;margin-bottom:-5px;font-family:Cormorant Garamond,serif;font-size:clamp(4rem,8vw,6.5rem);line-height:1;display:block}.story-card__eyebrow{letter-spacing:.28em;color:var(--violet);margin:0 0 8px;font-size:.7rem;font-weight:600}.story-card h3{color:var(--violet-dark);margin:0 0 18px;font-family:Great Vibes,cursive;font-size:clamp(2.8rem,5vw,4.2rem);font-weight:400}.story-card__content>p:last-child{color:var(--text);margin:0;font-family:Cormorant Garamond,serif;font-size:1.25rem;line-height:1.75}.details-section{background:linear-gradient(180deg, var(--soft-pink), var(--lavender-100) 55%, var(--pink-50));padding:115px 20px 135px}.wedding-date-display{letter-spacing:.08em;color:var(--violet-dark);margin:12px 0 0;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:600}.countdown{border-top:1px solid var(--lavender);border-bottom:1px solid var(--lavender);grid-template-columns:repeat(4,1fr);width:min(100%,760px);margin:0 auto 70px;display:grid}.countdown>div{border-right:1px solid #937ec338;flex-direction:column;align-items:center;padding:27px 10px;display:flex}.countdown>div:last-child{border-right:0}.countdown strong{color:var(--violet-dark);font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:500}.countdown span{letter-spacing:.18em;text-transform:uppercase;color:var(--violet);margin-top:4px;font-size:.68rem;font-weight:600}.venue-grid{grid-template-columns:repeat(2,1fr);gap:24px;width:min(100%,980px);margin:0 auto;display:grid}.venue-card{isolation:isolate;background:var(--violet-dark);border:1px solid #645baa29;border-radius:26px;min-height:430px;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .45s;position:relative;overflow:hidden;box-shadow:0 18px 45px #4f3f7e24}.venue-card img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .6s;position:absolute;inset:0;transform:scale(1)}.venue-card__overlay{z-index:1;background:linear-gradient(#2e23490a,#35274e2e 38%,#2f2246c7 78%,#291e3feb);position:absolute;inset:0}.venue-card__content{z-index:2;text-align:center;color:#fff;flex-direction:column;align-items:center;padding:38px;transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:0;left:0;right:0}.venue-card__content>p{letter-spacing:.3em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff47;border-radius:999px;width:fit-content;margin:0 auto 8px;padding:7px 13px;font-size:.68rem;font-weight:600}.venue-card__content h3{text-shadow:0 4px 18px #140f2359;margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:500}.venue-card__time{color:var(--soft-pink);margin-top:5px;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.venue-card__address{color:#ffffffe0;max-width:340px;margin-top:7px;font-family:Cormorant Garamond,serif;font-size:1rem;line-height:1.45;display:block}.venue-card__map-button{color:#fff;letter-spacing:.16em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffffbf;border-radius:999px;margin-top:20px;padding:11px 18px;font-size:.62rem;font-weight:600;text-decoration:none;transition:transform .25s,background .25s,color .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 8px 24px #140f2329}.venue-card__map-button:before{content:"";background:linear-gradient(110deg,#0000,#ffffff61,#0000);width:55%;transition:left .55s;position:absolute;top:0;bottom:0;left:-80%;transform:skew(-18deg)}.venue-card:hover{border-color:#937ec352;transform:translateY(-9px);box-shadow:0 30px 70px #4f3f7e38}.venue-card:hover img{filter:saturate(1.06)contrast(1.03);transform:scale(1.1)}.venue-card:hover .venue-card__content{transform:translateY(-7px)}.venue-card__map-button:hover{background:var(--soft-pink);color:var(--violet-dark);transform:translateY(-3px)scale(1.02);box-shadow:0 12px 28px #140f2338}.venue-card__map-button:hover:before{left:135%}.venue-card__map-button:focus-visible{outline-offset:4px;outline:3px solid #fde2e78c}.timeline-section{background:linear-gradient(180deg, var(--white), var(--lavender-50), var(--white));padding:115px 20px 135px}.timeline-list{width:min(100%,800px);margin:0 auto;position:relative}.timeline-list:before{display:none}.timeline-list.reveal-timeline{opacity:1!important;transform:none!important}.timeline-list__progress{z-index:0;background:linear-gradient(180deg, #bfade14d, var(--violet) 18%, var(--violet) 55%, var(--blush) 82%, #bfade140);transform-origin:top;border-radius:999px;width:2px;transition:transform 1.8s cubic-bezier(.22,1,.36,1);position:absolute;top:10px;bottom:35px;left:160px;transform:translate(-50%)scaleY(0);box-shadow:0 0 14px #937ec32e}.timeline-list.reveal-timeline.is-visible .timeline-list__progress{transform:translate(-50%)scaleY(1)}.timeline-item{z-index:2;grid-template-columns:130px 60px 1fr;min-height:150px;display:grid;position:relative}.timeline-item__time{text-align:right;color:var(--violet-dark);padding-top:8px;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.timeline-item__dot{z-index:3;border:4px solid var(--white);background:var(--violet);width:15px;height:15px;box-shadow:0 0 0 1px var(--violet);border-radius:50%;margin:11px auto 0;position:relative}.timeline-item__dot:after{content:"";z-index:-1;background:#937ec31a;border-radius:50%;width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-item.is-visible .timeline-item__dot{animation:.65s cubic-bezier(.22,1,.36,1) both timeline-dot-pop}.timeline-item__content{padding:0 0 38px 10px}.timeline-item__content h3{color:var(--violet-dark);margin:0 0 7px;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600}.timeline-item__content p{max-width:480px;color:var(--text);margin:0;font-family:Cormorant Garamond,serif;font-size:1.1rem;line-height:1.6}@keyframes timeline-dot-pop{0%{transform:scale(.45);box-shadow:0 0 #937ec359}65%{transform:scale(1.18);box-shadow:0 0 0 9px #937ec314}to{transform:scale(1);box-shadow:0 0 0 5px #937ec314}}.entourage-section{background:radial-gradient(circle at 8% 15%, #bfade152, transparent 28%), radial-gradient(circle at 92% 85%, #ebc8e84d, transparent 28%), linear-gradient(180deg, var(--soft-pink), var(--lavender-50), var(--pink-50));padding:115px 20px 135px}.entourage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(100%,980px);margin:0 auto;display:grid}.entourage-group{border:1px solid var(--border);text-align:center;box-shadow:0 12px 35px var(--shadow);background:#fffc;border-radius:24px;padding:36px 28px}.entourage-group--wide{grid-column:1/-1}.entourage-group:before{content:"✦";color:var(--lavender);margin-bottom:13px;display:block}.entourage-group h3{color:var(--violet-dark);margin:0 0 18px;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:600}.entourage-group__people{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 18px;display:grid}.entourage-person{border-top:1px solid #937ec31f;padding:10px 8px}.entourage-person__role{letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-bottom:4px;font-size:.62rem;font-weight:600;display:block}.entourage-person strong{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:600;display:block}.entourage-empty{color:var(--muted);margin:0;font-family:Cormorant Garamond,serif;font-style:italic}.entourage-status{border:1px solid var(--border);text-align:center;width:min(700px,100%);color:var(--text);box-shadow:0 12px 30px var(--shadow);background:#ffffffc7;border-radius:20px;margin:0 auto;padding:24px}.entourage-status span{margin-top:8px;line-height:1.6;display:block}.entourage-status--error{color:#874c6b;background:#fff8fb;border-color:#a05c8040}.dresscode-section{background:linear-gradient(180deg, var(--white), var(--lavender-50), var(--white));padding:115px 20px 135px}.dresscode-guide{width:min(760px,100%);margin:32px auto 34px}.dresscode-guide img{width:100%;box-shadow:0 18px 45px var(--shadow);border-radius:24px}.dresscode-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(820px,100%);margin:0 auto;display:grid}.dresscode-card{border:1px solid var(--border);text-align:center;min-height:250px;box-shadow:0 15px 35px var(--shadow);background:linear-gradient(145deg,#bfade129,#fde2e757);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:34px 28px;display:flex}.card-label{letter-spacing:.28em;color:var(--violet);margin:0 0 14px;font-size:.7rem;font-weight:600}.dresscode-card h3,.gift-card h3{color:var(--violet-dark);margin:0 0 15px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600}.dresscode-card>p:not(.card-label){max-width:330px;color:var(--text);margin:0;font-family:Cormorant Garamond,serif;font-size:1.12rem;line-height:1.7}.dresscode-icon{color:var(--violet);margin-top:20px;font-size:2.5rem}.wedding-palette{text-align:center;width:min(100%,650px);margin:34px auto 0}.wedding-palette>p:first-child{letter-spacing:.28em;color:var(--violet);margin:0 0 25px;font-size:.7rem;font-weight:600}.palette-colors{justify-content:center;align-items:center;gap:15px;display:flex}.palette-color{border:5px solid var(--white);width:60px;height:60px;box-shadow:0 6px 18px var(--shadow);border-radius:50%}.palette-color--1{background:#645baa}.palette-color--2{background:#937ec3}.palette-color--3{background:#bfade1}.palette-color--4{background:#ebc8e8}.palette-color--5{background:#fde2e7}.wedding-palette__note{color:var(--text);margin:20px 0 0;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic}.moments-section{background:linear-gradient(#faf8ffb8,#fde2e742,#faf8ffb8);padding:110px 24px;overflow:hidden}.moments-video{width:min(920px,100%);margin:52px auto 0}.moments-video__frame{background:#ffffffe6;border:1px solid #645baa33;border-radius:28px;padding:12px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 24px 65px #4f3f7e24}.moments-video__frame:hover{transform:translateY(-4px);box-shadow:0 30px 75px #4f3f7e2e}.moments-video__frame:before{content:"";z-index:2;pointer-events:none;border:1px solid #bfade147;border-radius:22px;position:absolute;inset:6px}.moments-video__youtube{z-index:1;aspect-ratio:16/9;background:#181525;border-radius:18px;width:100%;position:relative;overflow:hidden}.moments-video__youtube iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.moments-video__start{background:#181525;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0;overflow:hidden}.moments-video__start img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.moments-video__shade{background:linear-gradient(#201a3724,#201a3794);position:absolute;inset:0}.moments-video__play{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:74px;height:74px;padding-left:5px;font-size:1.45rem;transition:transform .25s,background .25s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 40px #00000038}.moments-video__play-text{color:#fff;letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;font-weight:600;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.moments-video__start:hover img{transform:scale(1.045)}.moments-video__start:hover .moments-video__play{background:#937ec3b8;transform:translate(-50%,-50%)scale(1.08)}.moments-video__corner{z-index:4;width:42px;height:42px;color:var(--violet);pointer-events:none;background:#fffffff0;border:1px solid #645baa29;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 8px 20px #4f3f7e24}.moments-video__corner--tl{top:24px;left:24px}.moments-video__corner--br{bottom:24px;right:24px}.moments-video__caption{text-align:center;max-width:650px;color:var(--violet-dark);margin:28px auto 0;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;line-height:1.65}.gift-section{background:linear-gradient(180deg, var(--soft-pink), var(--lavender-100), var(--pink-50));padding:115px 20px 135px}.gift-options{grid-template-columns:repeat(2,1fr);gap:24px;width:min(100%,900px);margin:0 auto 55px;display:grid}.gift-card{border:1px solid var(--border);text-align:center;box-shadow:0 14px 35px var(--shadow);background:#ffffffd1;border-radius:24px;padding:43px 32px}.gift-card__icon{color:var(--violet);margin-bottom:18px;font-size:2.5rem}.gift-card>p:last-child{max-width:330px;color:var(--text);margin:0 auto;font-family:Cormorant Garamond,serif;font-size:1.08rem;line-height:1.65}.gift-qr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(100%,900px);margin:0 auto;display:grid}.gift-qr-card{border:1px solid var(--border);background:var(--white);text-align:center;box-shadow:0 10px 28px var(--shadow);border-radius:22px;padding:25px 20px 28px}.gift-qr-card__image,.gift-qr-placeholder{border-radius:16px;width:150px;height:150px;margin:0 auto 20px}.gift-qr-card__image{-o-object-fit:contain;object-fit:contain;background:#fff;border:1px solid #645baa1f}.gift-qr-placeholder{border:1px dashed var(--violet);background:linear-gradient(135deg, var(--lavender-100), var(--soft-pink));color:var(--violet-dark);flex-direction:column;justify-content:center;align-items:center;display:flex}.gift-qr-placeholder span{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600}.gift-qr-placeholder small{max-width:120px;color:var(--muted);margin-top:5px;font-size:.58rem;line-height:1.35}.gift-qr-card h3{color:var(--violet-dark);margin:0 0 5px;font-family:Cormorant Garamond,serif;font-size:1.45rem}.gift-qr-card__owner,.gift-qr-card__account,.gift-qr-card__detail{color:var(--text);margin:4px 0;font-family:Cormorant Garamond,serif}.gift-qr-card__owner{font-weight:600}.gift-qr-card__account{letter-spacing:.03em;font-size:1.05rem}.gift-qr-card__detail{font-size:.98rem}.gift-section__closing,.reminders-section__closing{text-align:center;color:var(--violet);margin:55px auto 0;font-family:Great Vibes,cursive;font-size:2.1rem}.reminders-section{background:linear-gradient(180deg, var(--white), var(--lavender-50), var(--white));padding:115px 20px 135px}.reminders-grid{grid-template-columns:repeat(2,1fr);gap:24px;width:min(100%,950px);margin:0 auto;display:grid}.reminder-card{border:1px solid var(--border);min-height:250px;box-shadow:0 14px 35px var(--shadow);background:#ffffffdb;border-radius:24px;padding:38px 34px;position:relative;overflow:hidden}.reminder-card__icon{color:var(--violet);font-size:1.5rem;position:absolute;top:28px;right:28px}.reminder-card__number{color:#937ec333;margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:3.4rem;line-height:1;display:block}.reminder-card h3{color:var(--violet-dark);margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:600}.reminder-card p{color:var(--text);margin:0;font-family:Cormorant Garamond,serif;font-size:1.08rem;line-height:1.65}.share-section{background:linear-gradient(180deg, var(--lavender-50), var(--pink-50));padding:100px 24px}.share-card{border:1px solid var(--border);width:min(900px,100%);box-shadow:0 20px 60px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-radius:30px;grid-template-columns:280px 1fr;align-items:center;gap:42px;margin:48px auto 0;padding:38px;display:grid}.share-card__qr{background:linear-gradient(145deg, var(--soft-pink), var(--lavender-100));border-radius:24px;padding:22px;transition:transform .18s,box-shadow .18s;display:block}.share-card__qr:hover{transform:translateY(-3px);box-shadow:0 14px 32px #645baa29}.share-card__qr img{aspect-ratio:1;-o-object-fit:contain;object-fit:contain;background:#fff;border-radius:16px;width:100%}.share-card__content h3{color:var(--violet-dark);margin:8px 0 14px;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:600}.share-card__content>p:not(.card-label){max-width:520px;color:var(--text);line-height:1.8}.share-card__button{background:linear-gradient(135deg, var(--violet-dark), var(--violet));color:#fff;letter-spacing:.12em;border-radius:999px;margin-top:24px;padding:13px 22px;font-size:.7rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-block;box-shadow:0 10px 25px #645baa33}.share-card__button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #645baa47}.rsvp-section{background:linear-gradient(180deg, var(--pink-50), var(--lavender-50));padding:110px 24px 130px}.rsvp-deadline{letter-spacing:.04em;color:var(--violet-dark)!important;margin:16px auto 0!important;font-family:Montserrat,sans-serif!important;font-size:.72rem!important;font-style:normal!important}.rsvp-shell{width:min(820px,100%);margin:48px auto 0;position:relative}.rsvp-shell__ornament{z-index:5;border:1px solid var(--border);width:54px;height:54px;color:var(--violet);background:#fff;border-radius:50%;place-items:center;font-size:1.4rem;display:grid;position:absolute;top:-26px;left:50%;transform:translate(-50%);box-shadow:0 10px 26px #4f3f7e1f}.rsvp-section__card{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border-radius:30px;width:100%;padding:54px 48px 46px;box-shadow:0 24px 60px #4f3f7e1f}.rsvp-section__card section{margin:0}.rsvp-section__card h1,.rsvp-section__card h2,.rsvp-section__card h3{color:var(--violet-dark);font-family:Cormorant Garamond,serif}.rsvp-section__card h1,.rsvp-section__card h2{margin:0 0 12px;font-size:2rem;font-weight:600}.rsvp-section__card h3{margin:28px 0 10px;font-size:1.55rem;font-weight:600}.rsvp-section__card p{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.08rem;line-height:1.6}.rsvp-section__card form{gap:18px;display:grid}.rsvp-section__card label{letter-spacing:.08em;text-transform:uppercase;color:var(--violet-dark);margin-bottom:7px;font-size:.72rem;font-weight:600;display:block}.rsvp-section__card input,.rsvp-section__card select,.rsvp-section__card textarea{width:100%;color:var(--text);background:#fffffff0;border:1px solid #645baa2e;border-radius:12px;outline:none;padding:13px 15px;transition:border .16s,box-shadow .16s}.rsvp-section__card input:focus,.rsvp-section__card select:focus,.rsvp-section__card textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #937ec31f}.rsvp-section__card textarea{resize:vertical;min-height:110px}.rsvp-section__card fieldset{background:#bfade117;border:1px solid #937ec338;border-radius:12px;margin:8px 0;padding:22px}.rsvp-section__card legend{color:var(--violet-dark);padding:0 8px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.rsvp-section__card input[type=radio]{width:auto;accent-color:var(--violet-dark)}.rsvp-section__card fieldset>label:has(input[type=radio]){align-items:center;gap:7px;margin-right:18px;font-weight:500;display:inline-flex}.rsvp-section__card button{background:linear-gradient(135deg, var(--violet-dark), var(--violet));color:#fff;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:999px;width:fit-content;padding:13px 24px;font-size:.72rem;font-weight:600;transition:transform .18s,box-shadow .18s}.rsvp-section__card button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #645baa33}.rsvp-section__card button:disabled{opacity:.55;cursor:not-allowed}.rsvp-section__card [role=alert]{color:#874c6b;background:#fff1f5;border-left:3px solid #a05c80;border-radius:8px;margin:0;padding:10px 12px}.rsvp-guest-summary{text-align:center;border-bottom:1px solid #937ec338;margin-bottom:35px;padding-bottom:28px}.rsvp-guest-summary>p:first-child,.rsvp-confirmation>p:first-of-type{letter-spacing:.28em;color:var(--violet);margin:0 0 8px;font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:600}.rsvp-guest-summary h3{margin:0 0 8px;font-family:Great Vibes,cursive;font-size:2.9rem;font-weight:400}.rsvp-guest-summary>span{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.05rem;display:block}.rsvp-existing-note{border-left:3px solid var(--violet);background:var(--lavender-100);text-align:left;border-radius:8px;padding:12px 16px;margin:18px auto 0!important}.rsvp-confirmation{text-align:center;position:relative;overflow:hidden}.rsvp-confirmation h3{margin:0 0 12px;font-family:Great Vibes,cursive;font-size:3.2rem;font-weight:400}.rsvp-confirmation__success-mark{background:linear-gradient(145deg, var(--lavender-100), var(--soft-pink));width:76px;height:76px;color:var(--violet-dark);border:1px solid #645baa2e;border-radius:50%;place-items:center;margin:0 auto 20px;font-size:2.1rem;animation:.7s cubic-bezier(.22,1,.36,1) both rsvp-success-pop;display:grid;box-shadow:0 12px 30px #4f3f7e21}.rsvp-confirmation__sparkles{pointer-events:none;position:absolute;inset:0}.rsvp-confirmation__sparkles span{color:var(--violet);opacity:0;animation:1.2s ease-out forwards rsvp-sparkle;position:absolute}.rsvp-confirmation__sparkles span:first-child{animation-delay:0s;top:8%;left:14%}.rsvp-confirmation__sparkles span:nth-child(2){animation-delay:80ms;top:14%;right:13%}.rsvp-confirmation__sparkles span:nth-child(3){animation-delay:.14s;top:37%;left:6%}.rsvp-confirmation__sparkles span:nth-child(4){animation-delay:.2s;top:39%;right:8%}.rsvp-confirmation__sparkles span:nth-child(5){animation-delay:.26s;top:67%;left:15%}.rsvp-confirmation__sparkles span:nth-child(6){animation-delay:.32s;top:69%;right:17%}.rsvp-confirmation__sparkles span:nth-child(7){animation-delay:.38s;top:4%;left:42%}.rsvp-confirmation__sparkles span:nth-child(8){animation-delay:.44s;top:22%;right:34%}.rsvp-confirmation__sparkles span:nth-child(9){animation-delay:.5s;bottom:15%;left:35%}.rsvp-confirmation__sparkles span:nth-child(10){animation-delay:.56s;bottom:10%;right:34%}.rsvp-confirmation__status{border-top:1px solid var(--lavender);border-bottom:1px solid var(--lavender);flex-direction:column;gap:7px;width:min(100%,360px);margin:28px auto;padding:22px;display:flex}.rsvp-confirmation__status span{letter-spacing:.2em;text-transform:uppercase;color:var(--violet);font-size:.7rem;font-weight:600}.rsvp-confirmation__status strong{color:var(--violet-dark);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600}.rsvp-confirmation button{margin:0 auto}@keyframes rsvp-success-pop{0%{opacity:0;transform:scale(.5)rotate(-12deg)}70%{opacity:1;transform:scale(1.08)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes rsvp-sparkle{0%{opacity:0;transform:translateY(10px)scale(.5)rotate(0)}35%{opacity:.85}to{opacity:0;transform:translateY(-25px)scale(1.2)rotate(40deg)}}.closing-section{text-align:center;background:linear-gradient(145deg,#645baaf2,#937ec3e0,#ebc8e8d1);justify-content:center;align-items:center;min-height:720px;padding:100px 24px;display:flex;position:relative;overflow:hidden}.closing-section:before,.closing-section:after{content:"";filter:blur(10px);opacity:.35;pointer-events:none;border-radius:50%;width:380px;height:380px;position:absolute}.closing-section:before{background:var(--soft-pink);top:-120px;left:-120px}.closing-section:after{background:var(--lavender);bottom:-130px;right:-130px}.closing-section__overlay{background:radial-gradient(circle,#ffffff14,#0000 60%);position:absolute;inset:0}.closing-section__content{z-index:2;color:#fff;width:min(700px,100%);position:relative}.closing-section__eyebrow{letter-spacing:.28em;color:#fffc;margin:0 0 18px;font-size:.68rem;font-weight:600}.closing-section__content h2{color:#fff;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3.4rem,8vw,6.8rem);font-weight:500;line-height:.9}.closing-section__content h2 span{color:var(--soft-pink);margin:8px 0;font-family:Great Vibes,cursive;font-size:.8em;display:block}.closing-section__message{color:#ffffffe0;max-width:560px;margin:30px auto 0;line-height:1.8}.closing-section__divider{justify-content:center;align-items:center;gap:14px;width:min(300px,70%);margin:32px auto;display:flex}.closing-section__divider span{background:#ffffff59;flex:1;height:1px}.closing-section__divider strong{color:var(--soft-pink)}.closing-section__date{letter-spacing:.12em;color:#fff;margin:0;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.closing-section__location{letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;margin:8px 0 0;font-size:.72rem}.closing-section__rsvp-button{color:#fff;letter-spacing:.14em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffffa6;border-radius:999px;margin-top:30px;padding:13px 28px;font-size:.7rem;font-weight:600;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-block}.closing-section__rsvp-button:hover{color:var(--violet-dark);background:#fff;transform:translateY(-2px)}.closing-section__copyright{letter-spacing:.1em;color:#ffffff8c;margin-top:56px;font-size:.65rem}.reveal-closing{opacity:1!important;transform:none!important}.reveal-closing>*{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal-closing.is-visible>*{opacity:1;transform:translateY(0)}.reveal-closing.is-visible>:first-child{transition-delay:0s}.reveal-closing.is-visible>:nth-child(2){transition-delay:.1s}.reveal-closing.is-visible>:nth-child(3){transition-delay:.2s}.reveal-closing.is-visible>:nth-child(4){transition-delay:.3s}.reveal-closing.is-visible>:nth-child(5){transition-delay:.4s}.reveal-closing.is-visible>:nth-child(6){transition-delay:.5s}.reveal-closing.is-visible>:nth-child(7){transition-delay:.6s}.reveal-closing.is-visible>:nth-child(8){transition-delay:.7s}.reveal-on-scroll{opacity:0;will-change:opacity, transform;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1)}.reveal-up{transform:translateY(70px)}.reveal-left{transform:translate(-100px)}.reveal-right{transform:translate(100px)}.reveal-scale{transform:scale(.86)translateY(36px)}.reveal-up.is-visible,.reveal-left.is-visible,.reveal-right.is-visible,.reveal-scale.is-visible{opacity:1;transform:none}.reveal-heading{opacity:1!important;transform:none!important}.reveal-heading>*{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal-heading.is-visible>*{opacity:1;transform:translateY(0)}.reveal-heading.is-visible>:first-child{transition-delay:0s}.reveal-heading.is-visible>:nth-child(2){transition-delay:.1s}.reveal-heading.is-visible>:nth-child(3){transition-delay:.19s}.reveal-heading.is-visible>:nth-child(4){transition-delay:.26s}.welcome-section__photo:nth-child(2),.venue-card:nth-child(2),.entourage-group:nth-child(2n),.gift-card:nth-child(2),.gift-qr-card:nth-child(2),.reminder-card:nth-child(2){transition-delay:.12s}.welcome-section__photo:nth-child(3),.gift-qr-card:nth-child(3),.reminder-card:nth-child(3){transition-delay:.24s}.welcome-section__photo:nth-child(4),.reminder-card:nth-child(4){transition-delay:.36s}.welcome-section__photo:nth-child(5){transition-delay:.48s}.timeline-item:nth-of-type(3){transition-delay:.1s}.timeline-item:nth-of-type(4){transition-delay:.2s}.timeline-item:nth-of-type(5){transition-delay:.3s}.timeline-item:nth-of-type(6){transition-delay:.4s}@media (width<=900px){.ornate-frame__corner{width:175px;height:175px}.ornate-frame__side{background-size:45px 220px;width:46px}.ornate-frame__line--top,.ornate-frame__line--bottom{left:70px;right:70px}.ornate-frame__line--left,.ornate-frame__line--right{top:70px;bottom:70px}}@media (width<=820px){:root{--nav-height:64px}.wedding-nav{border-radius:24px;width:calc(100% - 20px);min-height:52px;padding:6px 8px 6px 15px;top:10px}.wedding-nav.is-scrolled{top:8px}.wedding-nav__brand{font-size:1.15rem}.wedding-nav__toggle{flex-shrink:0;display:block}.wedding-nav__links{opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:top;background:#fffffff7;border:1px solid #645baa29;border-radius:20px;gap:4px;padding:10px;transition:opacity .2s,visibility .2s,transform .2s;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-8px)scale(.98);box-shadow:0 16px 35px #4f3f7e29}.wedding-nav.is-open .wedding-nav__links{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.wedding-nav__links a{text-align:center;padding:12px 14px;font-size:.72rem}.wedding-nav__links a.is-active:after{bottom:5px}.welcome-section,.story-section,.details-section,.timeline-section,.entourage-section,.dresscode-section,.moments-section,.gift-section,.reminders-section,.share-section,.rsvp-section{padding:90px 18px 105px}.section-heading{margin-bottom:48px}.story-card{grid-template-columns:1fr;gap:28px}.story-card--reverse .story-card__image,.story-card--reverse .story-card__content{order:initial}.story-card--reverse .story-card__content{text-align:left}.story-card__image,.story-card__image img{min-height:360px}.venue-grid,.entourage-grid,.dresscode-content,.gift-options,.reminders-grid{grid-template-columns:1fr}.entourage-group--wide{grid-column:auto}.gift-qr-grid{grid-template-columns:1fr;max-width:360px}.share-card{text-align:center;grid-template-columns:1fr;gap:28px;padding:26px}.share-card__qr{width:min(260px,100%);margin:0 auto}.share-card__content{text-align:center}.share-card__content>p:not(.card-label){margin-left:auto;margin-right:auto}.timeline-list__progress{top:8px;bottom:30px;left:18px;transform:translate(-50%)scaleY(0)}.timeline-list.reveal-timeline.is-visible .timeline-list__progress{transform:translate(-50%)scaleY(1)}.timeline-item{grid-template-columns:36px minmax(0,1fr);min-height:140px}.timeline-item__time{text-align:left;grid-column:2;margin-bottom:5px;padding-top:0}.timeline-item__dot{grid-area:1/1/span 2;margin-top:7px}.timeline-item__content{grid-column:2;padding-left:0;padding-right:8px}.rsvp-section__card{border-radius:22px;padding:42px 22px 28px}.rsvp-section__card button{width:100%}.rsvp-section__card fieldset>label:has(input[type=radio]){margin-right:0;display:flex}.closing-section{min-height:620px;padding:85px 20px}}@media (width<=600px){.ornate-frame__corner{opacity:.55;width:115px;height:115px}.ornate-frame__corner--tl{top:-14px;left:-14px}.ornate-frame__corner--tr{top:-14px;right:-14px}.ornate-frame__corner--bl{bottom:-14px;left:-14px}.ornate-frame__corner--br{bottom:-14px;right:-14px}.ornate-frame__side{opacity:.28;background-size:27px 170px;width:27px}.ornate-frame__side--left{left:-3px}.ornate-frame__side--right{right:-3px}.ornate-frame__line--top,.ornate-frame__line--bottom{left:38px;right:38px}.ornate-frame__line--left,.ornate-frame__line--right{top:38px;bottom:38px}.petal{display:none}.invitation-cover__content{padding:54px 16px}.invitation-cover__portrait{width:155px;height:155px;margin:24px auto 30px}.invitation-cover__monogram{min-width:100px;height:42px;padding:0 11px;font-size:.82rem;bottom:-5px;right:-22px}.invitation-cover__names{font-size:clamp(2.7rem,12vw,4.2rem)}.invitation-cover__date{letter-spacing:.22em;font-size:.85rem}.welcome-section__gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px}.welcome-section__photo--large{grid-area:span 2/span 2}.countdown{grid-template-columns:repeat(2,1fr)}.countdown>div:nth-child(2){border-right:0}.countdown>div:nth-child(-n+2){border-bottom:1px solid #937ec338}.venue-card{border-radius:20px;min-height:370px}.venue-card__content{padding:28px 20px}.venue-card__content h3{font-size:1.8rem}.venue-card__map-button{text-align:center;width:100%;max-width:260px}.palette-colors{gap:8px}.palette-color{width:48px;height:48px}.moments-video{margin-top:36px}.moments-video__frame{border-radius:20px;padding:7px}.moments-video__youtube{border-radius:14px}.moments-video__play{width:58px;height:58px;font-size:1.15rem}.moments-video__play-text{font-size:.58rem;bottom:22px}.photo-lightbox{padding:70px 18px 90px}.photo-lightbox__content img{border-radius:12px;max-height:68vh}.photo-lightbox__close{width:42px;height:42px;top:16px;right:16px}.photo-lightbox__nav{width:44px;height:44px;font-size:2rem;top:auto;bottom:24px;transform:none}.photo-lightbox__nav--previous{left:calc(50% - 58px)}.photo-lightbox__nav--next{right:calc(50% - 58px)}.music-control{border-radius:50%;width:52px;min-width:52px;height:52px;padding:0;bottom:14px;right:14px}.music-control__label{display:none}.back-to-top{width:44px;height:44px;bottom:78px;right:17px}.reveal-left{transform:translate(-45px)}.reveal-right{transform:translate(45px)}.reveal-up{transform:translateY(45px)}.reveal-scale{transform:scale(.92)translateY(25px)}}@media (hover:none){.venue-card:hover{transform:none}.venue-card:hover img{filter:none;transform:scale(1)}.venue-card:hover .venue-card__content,.story-card:hover .story-card__image img{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal-on-scroll,.reveal-up,.reveal-left,.reveal-right,.reveal-scale,.reveal-heading,.reveal-closing,.reveal-heading>*,.reveal-closing>*{opacity:1!important;transform:none!important}.timeline-list__progress{transform:translate(-50%)scaleY(1)!important}}
