@font-face{font-family:ArmenianSerif;src:url('assets/serif.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:ArmenianSans;src:url('assets/sans.ttf') format('truetype');font-display:swap;font-weight:400}
:root{color-scheme:light;--ink:#674a36;--cream:#f5f0e8;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#eee7db}body{font-family:ArmenianSans,sans-serif;color:var(--ink)}button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.invitation{position:relative;isolation:isolate;min-height:100svh;height:100dvh;width:100%;overflow:hidden;background:#eee7db}.scenery,.scene-drift,.scenery picture,.scenery img,.atmosphere,.glints{position:absolute;inset:0;width:100%;height:100%}.scenery{z-index:-3;transform-origin:50% 60%}.scene-drift{transform:scale(1.018);transform-origin:50% 55%}.scenery picture{display:block}.scenery img{display:block;object-fit:cover;object-position:50% 52%}.atmosphere{z-index:-2;background:radial-gradient(ellipse at 50% 40%,#fffcf522 0%,transparent 43%);pointer-events:none}.intro{position:absolute;left:15%;right:15%;top:30%;text-align:center;text-shadow:0 1px 18px #fffcf5b3}.eyebrow{font-size:clamp(.875rem,1.4vw,1.125rem);font-weight:400;margin:0 0 clamp(14px,2.3vh,26px);line-height:1.7}h1{font-family:ArmenianSerif,serif;font-size:clamp(3rem,7.2vmin,6.2rem);line-height:1.23;font-weight:400;margin:0}h1>span{display:block}.conjunction{font-size:.38em;margin:.34em 0 .5em;font-style:normal;color:#8b725a}.glints{z-index:-1;pointer-events:none}.glints i{position:absolute;width:4px;height:4px;background:#fff9dc;border-radius:50%;box-shadow:0 0 13px 4px #fff6;opacity:0;left:18%;top:70%;animation:glimmer 7s ease-in-out infinite}.glints i:nth-child(2){left:78%;top:56%;animation-delay:-2s;width:3px;height:3px}.glints i:nth-child(3){left:32%;top:82%;animation-delay:-4s}.glints i:nth-child(4){left:71%;top:88%;animation-delay:-1s;width:3px;height:3px}.glints i:nth-child(5){left:84%;top:30%;animation-delay:-5s}.glints i:nth-child(6){left:9%;top:38%;animation-delay:-3s;width:3px;height:3px}.glints i:nth-child(7){left:58%;top:76%;animation-delay:-6s}.controls{position:absolute;z-index:3;bottom:max(20px,env(safe-area-inset-bottom));right:max(22px,env(safe-area-inset-right));display:flex;gap:9px}.controls button{width:44px;height:44px;border:1px solid #ffffffbd;border-radius:50%;background:#fffaf0d9;color:#6b5349;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 14px #4f32431c;backdrop-filter:blur(6px);transition:background .2s,transform .2s}.controls button:hover{background:#fffdf6;transform:translateY(-2px)}.controls button:focus-visible{outline:3px solid #6c5266;outline-offset:4px}.controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.controls .play-icon{display:none}.controls button[aria-pressed=true] .play-icon{display:block}.controls button[aria-pressed=true] .pause-icon{display:none}.status{position:absolute;left:50%;bottom:85px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);margin:0;font-size:.875rem;line-height:1.7;text-align:center;background:#fffcf0ed;border-radius:10px;box-shadow:0 3px 14px #4f324317;z-index:4}.status:not(:empty){padding:12px 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.js:not(.is-ready) .intro{opacity:0}.js:not(.is-ready) .scenery{transform:scale(1.14)}.is-ready .scenery{animation:opening 4.8s var(--ease) both}.is-ready .scene-drift{animation:breathing 18s ease-in-out 4.8s infinite alternate}.is-ready .eyebrow{animation:arrival 1.3s var(--ease) 1.3s both}.is-ready .first-name{animation:arrival 1.6s var(--ease) 1.7s both}.is-ready .conjunction{animation:arrival 1.3s var(--ease) 2.1s both}.is-ready .second-name{animation:arrival 1.6s var(--ease) 2.4s both}.is-ready .controls{animation:arrival 1s var(--ease) .6s both}html[data-motion=paused] .scene-drift,html[data-motion=paused] .glints i{animation-play-state:paused}html[data-motion=paused] .scenery{animation:none;transform:none}html[data-motion=paused] .intro>* ,html[data-motion=paused] h1>span{animation:none;opacity:1;transform:none}.reduced .scenery,.reduced .scene-drift,.reduced .intro>*,.reduced h1>span,.reduced .controls{animation:none!important;transform:none!important;opacity:1!important}.reduced .glints{display:none}
@keyframes opening{from{transform:scale(1.14)}to{transform:scale(1)}}@keyframes breathing{from{transform:scale(1.018) translateY(0)}to{transform:scale(1.042) translateY(-.3%)}}@keyframes arrival{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes glimmer{0%,100%{opacity:0;transform:translateY(14px)}35%{opacity:.65}70%{opacity:0;transform:translateY(-35px)}}
@media(max-aspect-ratio:4/5){.intro{top:32%;left:12%;right:12%}h1{font-size:clamp(2.65rem,11.5vw,5.5rem)}.eyebrow{font-size:clamp(.8125rem,3.8vw,1.05rem);margin-bottom:18px}.conjunction{margin:.35em 0 .5em}.scenery img{object-position:50% 50%}.controls{right:max(15px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom));gap:8px}}
@media(min-aspect-ratio:4/5) and (max-aspect-ratio:6/5){.intro{top:31%}h1{font-size:clamp(3rem,8vw,5rem)}.scenery img{object-position:center}}
@media(max-height:540px) and (min-aspect-ratio:4/5){.intro{top:24%}.eyebrow{font-size:.8125rem;margin-bottom:8px}h1{font-size:clamp(2.1rem,9vh,3.5rem)}.conjunction{margin:.15em 0 .3em}.controls{bottom:12px;right:14px}}
@media(prefers-reduced-motion:reduce){.scenery,.scene-drift,.intro>*,h1>span,.controls{animation:none!important;transform:none!important;opacity:1!important}.glints{display:none}}
/* The invitation continues as a full-width illustrated story. */
html{scroll-behavior:smooth;scroll-padding-top:24px}body{line-height:1.8;background:#f6f0e8}main{overflow:clip}h2,h3,p{margin:0}h2,h3{font-family:ArmenianSerif,serif;font-weight:400}h2{font-size:clamp(2rem,4.3vw,3.8rem);line-height:1.4;text-wrap:balance}a{color:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80617c;outline-offset:5px}.invitation:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:110px;background:linear-gradient(transparent,#f6f0e8);pointer-events:none;z-index:0}.discover{position:absolute;z-index:2;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:7px;font-size:.875rem;text-decoration:none;min-height:44px;padding:7px 18px;background:#fff9ecba;border-radius:26px;color:#674a36;white-space:nowrap}.discover span{width:1px;height:18px;background:#8c725a;animation:scrollCue 2.5s ease-in-out infinite}.controls{bottom:28px}.section-paper{background:#f6f0e8 url('assets/floral-paper.webp') center/cover}.welcome{padding:clamp(90px,12vw,170px) 24px;text-align:center;min-height:640px;display:grid;place-items:center}.reading{max-width:690px;margin:auto}.kicker{font-size:.875rem;color:#8a6b7f;margin-bottom:22px}.lead{font-family:ArmenianSerif,serif;font-size:clamp(1.2rem,2.1vw,1.5rem);line-height:1.85;margin:30px 0 24px}.reading>p:not(.kicker):not(.signature){line-height:1.95}.signature{font-family:ArmenianSerif,serif;font-size:clamp(1.8rem,3vw,2.5rem);margin-top:34px;color:#80617c}.date-section{position:relative;padding:110px 6vw 95px;background:linear-gradient(#f6f0e8,#eee5ec 70%,#eee5ec);}.date-layout{max-width:1010px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.date-copy{text-align:center}.large-date{font-family:ArmenianSerif,serif;font-size:clamp(1.5rem,2.7vw,2.1rem);margin:22px 0 4px}.weekday{color:#8a6b7f}.date-note{font-size:1rem;margin:24px 0;line-height:1.9}.outline-button{background:transparent;border:1px solid #947d6c;border-radius:30px;min-height:48px;padding:10px 24px;color:var(--ink);cursor:pointer;font-size:.875rem;transition:background .25s}.outline-button:hover{background:#ffffff70}.calendar-panel{padding:38px 35px 24px;background:#fffaf0c9;border:1px solid #fff8ef;border-radius:160px 160px 20px 20px;box-shadow:0 20px 60px #6c426009;text-align:center}.calendar-title{font-family:ArmenianSerif,serif;font-size:1.5rem;margin:16px 0 28px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-grid .week-label{font-size:.75rem;padding-bottom:7px;color:#826874}.calendar-grid .day{aspect-ratio:1;display:grid;place-items:center;font-size:1rem;font-variant-numeric:tabular-nums;border-radius:50%}.calendar-grid .chosen{color:#fff;background:#8b6d85;box-shadow:0 4px 14px #77536e26}.calendar-caption{font-size:.875rem;margin-top:24px;color:#8a6b7f}.countdown{text-align:center;margin:80px auto 0;max-width:600px}.countdown>p{font-size:.9375rem;margin-bottom:24px}.countdown-values{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.countdown-values>div{border-right:1px solid #a48b9b40}.countdown-values>div:last-child{border:0}.countdown-values span{display:block;font-family:ArmenianSerif,serif;font-size:clamp(2rem,5vw,3.7rem);line-height:1.25;font-variant-numeric:tabular-nums;color:#785a71}.countdown-values small{display:block;font-size:.875rem;margin-top:10px}.garden-interlude{position:relative;min-height:560px;height:70vh;isolation:isolate;display:grid;place-items:center;text-align:center;padding:30px}.interlude-art{position:absolute;inset:0;z-index:-2;background:url('assets/garden-landscape.webp') center 55%/cover}.garden-interlude:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#eee5ec,transparent 20%,#fffaf04d 45%,transparent 75%,#f6f0e8)}.garden-interlude p{max-width:760px;font-family:ArmenianSerif,serif;font-size:clamp(1.7rem,3.8vw,3.4rem);line-height:1.6;text-shadow:0 1px 18px #fff;background:#fffcf077;padding:20px 30px;border-radius:90px}.program{padding:95px 24px 120px}.section-heading{text-align:center;max-width:680px;margin:auto auto 66px}.section-heading>p:last-child{margin-top:18px}.timeline{list-style:none;max-width:920px;margin:0 auto;padding:0;position:relative}.timeline:before{content:'';position:absolute;top:15px;bottom:25px;left:160px;width:1px;background:linear-gradient(#c3adbd,#c3adbd55)}.timeline li{display:grid;grid-template-columns:120px 1fr;column-gap:80px;padding:0 0 58px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:'';position:absolute;left:155px;top:14px;width:11px;height:11px;background:#94738a;border:3px solid #f6f0e8;border-radius:50%;box-shadow:0 0 0 1px #b89cae}.timeline time{font-family:ArmenianSerif,serif;font-size:2rem;line-height:1.5;text-align:right;color:#8a6b7f}.timeline h3{font-size:1.7rem;margin-bottom:10px}.venue{font-size:1rem;line-height:1.7;margin-bottom:10px}.event-detail{color:#816d63;font-size:.9375rem;line-height:1.8}.map-link{display:inline-block;margin-top:15px;text-underline-offset:5px;font-size:.875rem;min-height:44px;padding-top:8px}.rsvp-section{padding:110px 6vw;background:linear-gradient(125deg,#e8dfe8,#f0e8e4);position:relative}.rsvp-layout{max-width:1080px;margin:auto;display:grid;grid-template-columns:.95fr 1fr;gap:90px;align-items:center}.rsvp-copy>p:not(.kicker){max-width:400px;margin-top:28px}.rsvp-deadline{font-size:.875rem;color:#8a6b7f}.form-card{padding:40px;background:#fffaf4c7;border:1px solid #fff7f0;border-radius:24px;box-shadow:0 20px 60px #6840580a}.form-card label,.form-card legend{font-size:.875rem;display:block;margin-bottom:9px}.form-card input[type=text],.form-card input:not([type]),.form-card select,.form-card textarea{width:100%;background:#fffdfa9c;border:1px solid #cdbbc6;border-radius:11px;padding:13px 14px;font:1rem/1.6 ArmenianSans,sans-serif;color:#674a36;min-height:50px}.form-card input::placeholder,.form-card textarea::placeholder{color:#9c8a91}.form-card textarea{resize:vertical;min-height:104px}.form-card fieldset{border:0;margin:24px 0;padding:0;min-width:0}.attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance-options label{position:relative;margin:0;cursor:pointer}.attendance-options input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.attendance-options span{display:grid;place-items:center;min-height:50px;padding:10px;border:1px solid #cdbbc6;border-radius:11px;font-size:.9375rem;background:#fffcf799}.attendance-options input:checked+span{background:#82627b;color:#fff;border-color:#82627b}.attendance-options input:focus-visible+span{outline:3px solid #674a60;outline-offset:4px}#guestCountField{margin-bottom:24px}.optional{color:#927a88;font-size:.75rem}.primary-button{display:block;width:100%;margin-top:24px;padding:14px 17px;min-height:52px;border:1px solid #82627b;border-radius:12px;color:#fff;background:#82627b;font:1rem/1.5 ArmenianSans,sans-serif;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s,transform .2s}.primary-button:hover{background:#6c5066}.primary-button:active{transform:translateY(1px)}.form-note{font-size:.75rem;line-height:1.8;color:#816d79;margin-top:16px;text-align:center}.text-button{display:block;margin:16px auto 0;min-height:44px;padding:8px 12px;border:0;background:none;color:#785c71;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;cursor:pointer}#rsvpResult h3{font-size:1.65rem;line-height:1.5}#resultCopy{font-size:.9375rem;margin-top:20px}#answerPreview{white-space:pre-wrap;overflow-wrap:anywhere;font: .875rem/1.8 ArmenianSans,sans-serif;background:#efe5ed88;padding:18px;border-radius:12px;margin-top:22px}.closing{padding:120px 24px 30px;text-align:center;min-height:520px}.closing .reading{margin-bottom:100px}.back-top{display:inline-block;margin-top:32px;font-size:.875rem;text-underline-offset:6px;padding:10px}.demo-note{font-size:.75rem;color:#927d8b;max-width:620px;margin:auto;line-height:1.8}.has-reveals .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s var(--ease)}.has-reveals .reveal.visible{opacity:1;transform:none}html[data-motion=paused] .reveal,.reduced .reveal{opacity:1;transform:none;transition:none}html[data-motion=paused] .discover span{animation:none}@keyframes scrollCue{50%{transform:scaleY(.55);transform-origin:top;opacity:.5}}
@media(max-width:760px){.welcome{min-height:600px;padding:95px 25px}.section-paper{background-size:auto 100%;background-position:center}.date-section{padding:75px 24px}.date-layout{grid-template-columns:1fr;gap:38px;max-width:450px}.calendar-panel{padding:32px 22px 24px;max-width:390px;width:100%;margin:auto}.calendar-title{margin-bottom:23px}.countdown{margin-top:50px}.countdown-values span{font-size:2.1rem}.countdown-values small{font-size:.75rem}.garden-interlude{height:480px;min-height:0}.garden-interlude p{padding:20px 8px;font-size:1.65rem}.program{padding:70px 24px 85px}.section-heading{margin-bottom:45px}.timeline:before{left:20px}.timeline li{display:block;padding-left:50px;padding-bottom:40px}.timeline li:before{left:15px;top:15px}.timeline time{display:block;text-align:left;font-size:1.65rem;margin-bottom:10px}.timeline h3{font-size:1.4rem}.rsvp-section{padding:75px 22px}.rsvp-layout{grid-template-columns:1fr;gap:35px;max-width:500px}.rsvp-copy{text-align:center}.rsvp-copy>p:not(.kicker){margin:22px auto 0}.rsvp-copy h2 br{display:none}.form-card{padding:26px 21px}.closing{padding-top:90px}.closing .reading{margin-bottom:70px}.discover{bottom:30px;left:24px;transform:none;font-size:.8125rem;min-height:44px;flex-direction:row;gap:12px;padding:10px 15px}.discover span{height:16px}.controls{right:15px;bottom:30px;gap:6px}.controls button{width:40px;height:40px}.invitation:after{height:90px}.reading>p:not(.kicker){font-size:1rem}.reading .signature{font-size:1.8rem}.timeline .venue{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.has-reveals .reveal{opacity:1;transform:none;transition:none}.discover span{animation:none}}
/* Opening gates, petals and scroll-driven story motion. */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}::selection{background:#e6d3e0;color:#4f3a2c}html.cover-open{overflow:hidden}
.cover{display:none}.js .cover{position:fixed;inset:0;z-index:100;display:grid;place-items:center;perspective:2200px;overflow:hidden;cursor:pointer}.cover[hidden]{display:none!important}.cover-door{position:absolute;top:0;bottom:0;width:50.2%;overflow:hidden;backface-visibility:hidden;transition:transform 2.1s cubic-bezier(.65,0,.2,1) .45s,filter 2.1s ease .45s;will-change:transform}.cover-door:before{content:'';position:absolute;top:0;bottom:0;width:199.2%;background:#f6f0e8 url('assets/floral-paper.webp') center/cover}.cover-door:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(transparent 5%,#c8a874 30%,#e3cfa5 50%,#c8a874 70%,transparent 95%);box-shadow:0 0 18px 3px #6e506a1f}.cover-door.left{left:0;transform-origin:0 50%}.cover-door.left:before{left:0}.cover-door.left:after{right:0}.cover-door.right{right:0;transform-origin:100% 50%}.cover-door.right:before{right:0}.cover-door.right:after{left:0}.cover-content{position:relative;z-index:2;text-align:center;padding:24px;display:flex;flex-direction:column;align-items:center;transition:opacity .7s ease,transform .9s var(--ease),filter .7s ease;animation:coverIn 1.6s var(--ease) .15s both}.cover-kicker{font-size:.8125rem;letter-spacing:.24em;text-transform:uppercase;color:#8a6b7f}.cover-names{font-family:ArmenianSerif,serif;font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.3;margin:18px 0 34px;color:var(--ink)}.cover-names span{display:block}.cover-names .cover-amp{font-size:.42em;color:#8b725a;margin:.25em 0}.seal{position:relative;width:118px;height:118px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fbf1e8;background:radial-gradient(circle at 34% 28%,#b596ab 0,#86677e 42%,#634760 100%);box-shadow:0 14px 34px #5e445959,0 3px 8px #5e44593d,inset 0 2px 5px #ffffff4d,inset 0 -8px 14px #2a102433;transition:transform .5s var(--ease),box-shadow .5s}.seal:before{content:'';position:absolute;inset:-10px;border-radius:50%;border:1px solid #8b6d8580;animation:sealPulse 2.6s ease-out infinite}.seal:hover{transform:scale(1.05) rotate(-3deg)}.seal:focus-visible{outline:3px solid #6c5266;outline-offset:8px}.seal-mono{width:90px;height:90px;border-radius:50%;border:1px dashed #f6e8dc8c;display:grid;place-items:center;font:400 1.75rem/1 ArmenianSerif,serif;letter-spacing:.06em;text-shadow:0 1px 0 #3c22374d}.cover-hint{font-size:.8125rem;margin-top:26px;color:#8a6b7f;animation:hint 2.8s ease-in-out 1.8s infinite}
.cover.opening{cursor:default;pointer-events:none}.cover.opening .cover-content{opacity:0;transform:scale(1.1);filter:blur(6px)}.cover.opening .seal{transform:scale(1.25) rotate(8deg)}.cover.opening .cover-door.left{transform:rotateY(-104deg);filter:brightness(.9)}.cover.opening .cover-door.right{transform:rotateY(104deg);filter:brightness(.9)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}.scroll-progress i{display:block;height:100%;background:linear-gradient(90deg,#c8a874,#a07f98 55%,#82627b);transform:scaleX(0);transform-origin:0 50%;box-shadow:0 0 10px #a07f9866}.cover-open .scroll-progress{opacity:0}
.atmosphere{background:radial-gradient(ellipse 48% 36% at 50% 47%,#fffaf066 0%,transparent 72%),radial-gradient(ellipse at 50% 40%,#fffcf522 0%,transparent 43%)}.intro{transform:translate3d(0,calc(var(--hp,0)*-70px),0);opacity:calc(1 - var(--hp,0)*1.35)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:clamp(.75rem,1.2vw,.95rem)}.is-ready .eyebrow{animation:tracking 1.8s var(--ease) 1.1s both}h1 .ch{display:inline-block}.is-ready h1>span.split{animation:none}.is-ready .first-name .ch{animation:charIn 1.3s var(--ease) calc(1.45s + var(--i)*.08s) both}.is-ready .second-name .ch{animation:charIn 1.3s var(--ease) calc(2.3s + var(--i)*.08s) both}.conjunction{display:flex;align-items:center;justify-content:center;gap:.7em}.conjunction:before,.conjunction:after{content:'';width:2.6em;height:1px;background:linear-gradient(90deg,transparent,#8b725a99)}.conjunction:after{transform:scaleX(-1)}.is-ready .conjunction:before,.is-ready .conjunction:after{animation:lineGrow 1.4s var(--ease) 2.2s both}.is-ready .conjunction:after{animation-name:lineGrowR}.is-ready .discover{animation:discoverIn 1.2s var(--ease) 3.4s both}
.petals{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 2.5s ease 2.6s}.is-ready .petals{opacity:1}.petals i{position:absolute;top:-8%;left:var(--x);animation:fall var(--d) linear var(--delay) infinite}.petals b{display:block;width:var(--s);height:calc(var(--s)*.7);border-radius:150% 0 150% 0;background:linear-gradient(135deg,var(--c),#fffaf4cc);box-shadow:0 2px 6px #8b6d8522;opacity:.88;animation:sway var(--w) ease-in-out var(--delay) infinite alternate}.hero-off .petals i,.hero-off .petals b,.hero-off .glints i,.hero-off .scene-drift{animation-play-state:paused}
.kicker{display:inline-flex;align-items:center;gap:14px;letter-spacing:.08em}.kicker:before,.kicker:after{content:'';width:30px;height:1px;background:linear-gradient(90deg,transparent,currentColor);opacity:.55}.kicker:after{transform:scaleX(-1)}.divider{display:block;width:180px;height:24px;margin:20px auto 6px;overflow:visible}.divider .d-line{fill:none;stroke:#b39aab;stroke-width:1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}.divider circle{fill:#b39aab}.divider .d-heart{fill:#a07f98;fill-opacity:.85;stroke:#8b6d85;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0}
.has-reveals .reveal{opacity:0;transform:translate3d(0,34px,0);filter:blur(6px);transition:opacity 1.1s var(--ease),transform 1.25s var(--ease),filter 1.1s var(--ease)}.has-reveals .reveal[data-reveal=zoom]{transform:translate3d(0,26px,0) scale(.94)}.has-reveals .reveal[data-reveal=blur]{transform:scale(1.06);filter:blur(12px)}.has-reveals .reveal.visible{opacity:1;transform:none;filter:blur(0)}.has-reveals .reveal.stagger{opacity:1;transform:none;filter:none}.has-reveals .stagger>*{opacity:0;transform:translate3d(0,26px,0);filter:blur(5px);transition:opacity 1s var(--ease),transform 1.15s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i,0)*.12s)}.has-reveals .stagger.visible>*{opacity:1;transform:none;filter:blur(0)}.has-reveals .stagger .kicker{letter-spacing:.4em}.has-reveals .stagger.visible .kicker{letter-spacing:.08em;transition-property:opacity,transform,filter,letter-spacing;transition-duration:1s,1.15s,1s,1.6s}.has-reveals .divider path{stroke-dashoffset:1;transition:stroke-dashoffset 1.5s var(--ease) calc(var(--i,0)*.12s + .25s),fill-opacity .8s ease calc(var(--i,0)*.12s + 1.1s)}.has-reveals .divider .d-heart{fill-opacity:0}.has-reveals .divider circle{transform:scale(0);transform-box:fill-box;transform-origin:center;transition:transform .6s cubic-bezier(.3,1.6,.5,1) calc(var(--i,0)*.12s + 1.2s)}.has-reveals .visible .divider path{stroke-dashoffset:0}.has-reveals .visible .divider .d-heart{fill-opacity:.85}.has-reveals .visible .divider circle{transform:scale(1)}.has-reveals .stagger.visible>.signature{animation:write 2s var(--ease) calc(var(--i,0)*.12s + .1s) both}
.has-reveals .calendar-panel .day:not(:empty){opacity:0;transform:scale(.55)}.has-reveals .calendar-panel.visible .day{opacity:1;transform:none;transition:opacity .5s ease,transform .7s var(--ease);transition-delay:calc(var(--i,0)*.018s + .35s)}.calendar-grid .chosen{position:relative}.calendar-grid .chosen:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid #8b6d85;opacity:0}.has-reveals .calendar-panel.visible .chosen{animation:chosenPop .9s cubic-bezier(.3,1.6,.5,1) 1.3s both}.calendar-panel.visible .chosen:after{animation:ring 2.6s ease-out 2s infinite}.reduced .chosen:after{animation:none!important}
.timeline:before{transform:scaleY(var(--tp,1));transform-origin:50% 0}.has-reveals .timeline li:before{transform:scale(0);transition:transform .7s cubic-bezier(.3,1.7,.5,1) .25s}.has-reveals .timeline li.visible:before{transform:scale(1)}.has-reveals .timeline li time{display:block;opacity:0;transform:translate3d(-26px,0,0);transition:opacity 1s var(--ease) .15s,transform 1.1s var(--ease) .15s}.has-reveals .timeline li.visible time{opacity:1;transform:none}.interlude-art{inset:-12% 0;transform:translate3d(0,var(--py,0px),0) scale(1.02);will-change:transform}.scenery picture{transform:translate3d(0,var(--hy,0px),0);will-change:transform}
.outline-button{transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}.outline-button:hover{background:#82627b;color:#fff;border-color:#82627b;transform:translateY(-2px)}.primary-button{position:relative;overflow:hidden}.primary-button:after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);transition:left .9s var(--ease);pointer-events:none}.primary-button:hover:after{left:130%}.form-card input:not([type]),.form-card select,.form-card textarea{transition:border-color .3s,box-shadow .3s,background .3s}.form-card input:not([type]):focus,.form-card select:focus,.form-card textarea:focus{border-color:#82627b;background:#fffefc;box-shadow:0 0 0 4px #82627b1f}.attendance-options span{transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}.attendance-options label:hover span{transform:translateY(-2px)}#rsvpResult:not([hidden]){animation:resultIn 1s var(--ease) both}.countdown-values span{will-change:transform}.heart-burst{position:fixed;z-index:90;pointer-events:none;width:16px;height:16px;color:#a07f98}.heart-burst svg{width:100%;height:100%;fill:currentColor}
html[data-motion=paused] .reveal,html[data-motion=paused] .stagger>*,.reduced .reveal,.reduced .stagger>*{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}html[data-motion=paused] .divider path,.reduced .divider path{stroke-dashoffset:0!important;transition:none!important}html[data-motion=paused] .divider .d-heart,.reduced .divider .d-heart{fill-opacity:.85!important}html[data-motion=paused] .divider circle,html[data-motion=paused] .timeline li:before,html[data-motion=paused] .timeline li time,html[data-motion=paused] .calendar-panel .day,.reduced .divider circle,.reduced .timeline li:before,.reduced .timeline li time,.reduced .calendar-panel .day{opacity:1!important;transform:none!important;transition:none!important}html[data-motion=paused] .signature,html[data-motion=paused] .chosen,.reduced .signature,.reduced .chosen{animation:none!important}html[data-motion=paused] .chosen:after,html[data-motion=paused] .petals i,html[data-motion=paused] .petals b{animation-play-state:paused}html[data-motion=paused] h1 .ch,html[data-motion=paused] .eyebrow,html[data-motion=paused] .conjunction:before,html[data-motion=paused] .conjunction:after,html[data-motion=paused] .discover,.reduced h1 .ch,.reduced .eyebrow,.reduced .conjunction:before,.reduced .conjunction:after,.reduced .discover{animation:none!important;opacity:1!important;transform:none;filter:none!important;letter-spacing:.2em}.reduced .conjunction:after,html[data-motion=paused] .conjunction:after{transform:scaleX(-1)}.reduced .petals{display:none}.reduced .cover-door,.reduced .cover-content{transition-duration:.01s!important;transition-delay:0s!important;animation:none!important}.reduced .cover.opening{opacity:0;transition:opacity .4s}
@keyframes coverIn{from{opacity:0;transform:translateY(18px) scale(.97);filter:blur(6px)}}@keyframes sealPulse{0%{transform:scale(.92);opacity:.9}100%{transform:scale(1.32);opacity:0}}@keyframes hint{50%{opacity:.45}}@keyframes tracking{from{opacity:0;letter-spacing:.7em;filter:blur(4px)}to{opacity:1;letter-spacing:.2em;filter:blur(0)}}@keyframes charIn{from{opacity:0;transform:translate3d(0,.38em,0) rotate(5deg);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes lineGrow{from{transform:scaleX(0);opacity:0}}@keyframes lineGrowR{from{transform:scaleX(0);opacity:0}to{transform:scaleX(-1)}}@keyframes discoverIn{from{opacity:0;translate:0 16px}}@keyframes fall{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--dx),118vh,0)}}@keyframes sway{from{transform:translateX(-16px) rotate(-25deg) rotateY(0)}to{transform:translateX(16px) rotate(170deg) rotateY(180deg)}}@keyframes write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -5% 0 0)}}@keyframes chosenPop{0%{transform:scale(.5)}60%{transform:scale(1.18)}100%{transform:scale(1)}}@keyframes ring{0%{transform:scale(.9);opacity:.85}100%{transform:scale(1.7);opacity:0}}@keyframes resultIn{from{opacity:0;transform:translateY(20px) scale(.97);filter:blur(5px)}}
@media(max-width:760px){.cover-names{margin-bottom:28px}.seal{width:104px;height:104px}.seal-mono{width:80px;height:80px;font-size:1.55rem}.kicker:before,.kicker:after{width:20px}.rsvp-copy .kicker{justify-content:center}.has-reveals .timeline li time{transform:translate3d(18px,0,0)}}
@media(prefers-reduced-motion:reduce){.petals{display:none}.seal:before,.cover-hint{animation:none}}
#rsvpResult:focus{outline:none}
