/* A quieter entrance; the invitation is discovered rather than announced. */
.site-header{justify-content:flex-end}.hero-copy{bottom:10%}.hero .hero-shade{background:linear-gradient(180deg,#111b1d16,transparent 40%,#171a2535 65%,#171a25a8)}
.hero:before{background-image:url('assets/couple-natural.png')!important}.hero-flower{display:none}
.feather-copy{top:11%;left:25px;right:25px}.feather-instruction{font-size:13px;line-height:1.9;letter-spacing:.09em;color:#56425b;text-shadow:0 1px 12px #fff,0 0 24px #fff}.feather-opening.fan-fallback{background:#eee6d8 url('assets/feather-fan.png') center/cover no-repeat}
.announcement{padding-top:65px;padding-bottom:75px}.crest{width:155px;height:232px;object-fit:contain;margin:0 auto 24px;filter:drop-shadow(3px 9px 6px #67533324)}
.announcement-vine{position:absolute;top:-30px;width:220px;opacity:.66;pointer-events:none;filter:drop-shadow(4px 9px 7px #5f4d5520)}.vine-left{left:-65px;transform:rotate(12deg)}.vine-right{right:-65px;transform:scaleX(-1) rotate(12deg)}
.date-reveal{position:relative;max-width:620px;height:410px;margin:48px auto 0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse,#eee6ee55,transparent 70%)}
.date-inside{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--plum);opacity:0;filter:blur(9px);transform:translateY(12px);transition:opacity 1.8s .55s,filter 1.8s .55s,transform 1.8s .55s}
.date-day{font-size:100px;line-height:1.05;color:var(--gold);font-weight:400;margin:10px 0}.date-month{font-family:var(--script);font-size:57px;line-height:1.1}.date-weekday{font-size:11px;letter-spacing:.13em;margin-top:21px}.date-vines{position:absolute;inset:0;pointer-events:none}.date-vine{position:absolute;top:-90px;width:66%;height:540px;object-fit:fill;filter:drop-shadow(4px 12px 9px #59456435);transition:transform 2.8s cubic-bezier(.3,.05,.2,1);transform-origin:50% 0}.date-left{left:-2%}.date-right{right:-2%;transform:scaleX(-1)}
.date-trigger{position:absolute;inset:0;background:none;font-size:12px;letter-spacing:.1em;color:#4b3554;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px 80px;text-shadow:0 0 9px white,0 0 14px white;transition:opacity .4s}.date-trigger em{font-family:var(--script);font-size:36px;font-style:normal;letter-spacing:0;margin-top:10px}.is-revealed .date-left{transform:translateX(-83%) rotate(13deg)}.is-revealed .date-right{transform:translateX(83%) scaleX(-1) rotate(13deg)}.is-revealed .date-inside{opacity:1;filter:blur(0);transform:none}.is-revealed .date-trigger{opacity:0;pointer-events:none}.date-caption{font-size:12px;letter-spacing:.06em;margin:10px 0 0}.pollen{position:absolute;inset:0;pointer-events:none}.pollen i{position:absolute;left:var(--x);top:20%;width:3px;height:3px;border-radius:50%;background:#bb975e;box-shadow:0 0 5px #ddc39e;opacity:0}.is-revealed .pollen i{animation:pollen-fall var(--duration) var(--delay) ease-out both}@keyframes pollen-fall{10%{opacity:.7}100%{opacity:0;transform:translate(var(--dx),260px)}}
/* The locket has a separate inner shell, a hinged lid, a real back and thickness. */
.locket{isolation:auto;transform-style:preserve-3d;perspective:1100px;transform:rotate(-5deg);transition:transform 1.5s}.locket.is-open{transform:translateX(32px) rotate(3deg)}.locket-inside{border:9px ridge #b99a56;box-shadow:3px 5px 0 #96713d,5px 8px 0 #dcc085,9px 18px 25px #5c4c5138,inset 0 0 16px #51412780;transform:translateZ(3px)}.locket-inside:after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 16px #493b5780;background:linear-gradient(120deg,#fff5 0,transparent 35%,transparent 70%,#fff2)}.locket-lid{transform-style:preserve-3d;transform-origin:14% 50%;backface-visibility:visible;filter:none;transition:transform 1.7s cubic-bezier(.25,.75,.25,1)}.locket-lid-front,.locket-lid-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.locket-lid-front{transform:translateZ(6px);filter:drop-shadow(4px 8px 5px #59432250)}.locket-lid-back{inset:13% 14%;transform:rotateY(180deg) translateZ(1px);border-radius:50%;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 33% 23%,#f7e3ac,#bd995b 48%,#8e6937 70%,#e7c886);border:8px ridge #c7a56a;box-shadow:inset 0 0 16px #73502d80,0 0 0 3px #9e773d}.locket-lid-back span{font-family:var(--script);font-size:29px;line-height:1.5;color:#77562d;text-shadow:0 1px 1px #fff8}.locket.is-open .locket-lid{transform:rotateY(-145deg);filter:none}.locket-note{min-height:87px}.locket-note .text-link{font-size:11px;margin-top:7px}.dance-card{margin-bottom:35px}.dance-face{box-shadow:2px 2px #d4c6ac,4px 4px #e3d6c3,10px 15px 25px #59435828}.song-action{font-size:12px;margin-bottom:14px}.event-mark svg{width:43px;height:43px}.event-mark{border-color:#c4b28b85;box-shadow:inset 2px 2px 6px #fff,0 5px 12px #9d805010}
.dress-editorial{max-width:1050px;margin:40px auto 20px}.dress-editorial img{width:100%;border-radius:150px 150px 2px 2px;box-shadow:0 15px 32px #66536f18}.dress-editorial figcaption{font-family:var(--script);font-size:34px;margin-top:20px;color:var(--plum)}
/* Textile envelope from the Saimira reference: hinged flap, pocket and extracted card. */
.lace-scene{max-width:450px;width:100%;margin:0 auto;text-align:center}.lace-stage{position:relative;aspect-ratio:1;perspective:1100px;isolation:isolate}.lace-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.lace-back{z-index:0;clip-path:inset(44% 0 0)}.lace-pocket{z-index:3;clip-path:polygon(0 42%,4% 43%,13% 51%,20% 54%,27% 56%,35% 59%,42% 62%,49% 56%,57% 60%,65% 60%,74% 54%,83% 56%,89% 50%,100% 42%,100% 100%,0 100%)}.lace-flap{z-index:4;clip-path:inset(0 0 56%);transform-origin:50% 44%;transform:rotateX(-180deg);filter:drop-shadow(0 -3px 3px #55402b30)}.lace-card{position:absolute;z-index:2;left:13%;top:50%;width:74%;height:45%;padding:12px 10px 15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;background:linear-gradient(115deg,#fffef8,#f6f0e5);border:1px solid #cabba3;box-shadow:0 5px 12px #5b493025;opacity:0;transform:translateY(0);transition:transform 1.4s .9s cubic-bezier(.22,.65,.3,1),opacity .1s .9s}.lace-card:after{content:'';position:absolute;inset:6px;border:1px solid #c7af8455;pointer-events:none}.lace-card>img{width:34px;height:49px;object-fit:contain}.lace-card p{font-size:14px;line-height:1.45;color:var(--plum)}.lace-card .button{padding:10px 14px;font-size:10px;min-height:35px;z-index:1;margin-top:5px;background:linear-gradient(#84708c,#66536f);box-shadow:inset 0 1px #fff6,0 3px 5px #33233d35}.lace-trigger{position:absolute;z-index:5;top:47%;left:35%;width:30%;height:30%;background:none;padding:0}.lace-trigger img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 5px 4px #593b3840)}.is-open .lace-flap{animation:lace-open 1.1s ease-in-out both}.is-open .lace-card{opacity:1;transform:translateY(-83%)}.is-open .lace-trigger{opacity:0;pointer-events:none;transition:opacity .3s}.lace-scene .object-hint{margin-top:-20px}.lace-scene #reseal{font-size:11px;margin-top:15px}@keyframes lace-open{0%{transform:rotateX(-180deg);z-index:4}49%{z-index:4}50%{z-index:1}100%{transform:rotateX(0);z-index:1;filter:none}}
.rsvp-modal{background-color:#fcf9f1;background-image:radial-gradient(ellipse at 50% 0,#eae2f1aa,transparent 55%);border:1px solid #cab58a;padding-top:30px}.form-crest{width:72px;height:108px;object-fit:contain;margin:0 auto 8px;position:relative;z-index:1}.form-vine{position:absolute;top:0;width:100px;height:210px;object-fit:contain;opacity:.7;pointer-events:none}.form-vine-left{left:0}.form-vine-right{right:0;transform:scaleX(-1)}.rsvp-modal form{position:relative;background:#fffdf8b8;padding:20px 18px 15px;border:1px solid #c7b48d55;box-shadow:0 5px 20px #6350520c}.rsvp-modal h2{margin:7px 0 14px}.rsvp-modal .demo-note{font-size:9px;background:transparent;margin:8px 0 16px;padding:0 25px}.rsvp-modal input,.rsvp-modal select,.rsvp-modal textarea{border-color:#cabbce;background:#fffefa}.optional{font-style:italic;font-size:10px;display:contents}.rsvp-modal .submit{background:linear-gradient(#8a7691,#66536f);box-shadow:inset 0 1px #fff6,0 4px 8px #33233d28}
@media(max-width:760px){.feather-copy{top:10%}.feather-instruction{font-size:11px}.hero-copy{bottom:11%}.hero h1{font-size:76px;line-height:1.18}.crest{width:130px;height:195px;margin-bottom:27px}.announcement-vine{width:160px;top:-20px;opacity:.55}.vine-left{left:-80px}.vine-right{right:-80px}.announcement{padding:45px 22px 65px}.date-reveal{height:350px;margin-top:35px}.date-vine{width:78%;height:430px;top:-40px}.date-left{left:-12%}.date-right{right:-12%}.date-day{font-size:87px}.date-month{font-size:49px}.date-weekday{font-size:9px}.date-inside .eyebrow{font-size:7px}.date-trigger{font-size:10px;padding-bottom:55px}.date-trigger em{font-size:30px}.locket.is-open{transform:translateX(31px) rotate(3deg)}.locket.is-open .locket-lid{transform:rotateY(-133deg)}.keepsake-layout{gap:55px}.dresscode{padding-left:15px;padding-right:15px}.dress-editorial{margin:30px -5px 15px}.dress-editorial img{border-radius:65px 65px 2px 2px}.dress-editorial figcaption{font-size:28px}.rsvp{flex-direction:column-reverse;padding-top:60px;gap:20px}.lace-scene{max-width:370px;margin-top:0}.lace-card{gap:4px;padding-top:8px}.lace-card>img{width:25px;height:38px}.lace-card p{font-size:12px}.lace-card .button{font-size:9px;padding:8px 9px;min-height:32px}.rsvp-modal{padding:25px 18px}.rsvp-modal form{padding:18px 12px}.form-vine{width:90px;height:160px}.rsvp-copy .button{display:none}}
@media(prefers-reduced-motion:reduce){.date-vine,.date-inside,.lace-card,.locket,.locket-lid{transition:none}.is-revealed .pollen i{animation:none}.is-open .lace-flap{animation:none;transform:rotateX(0);z-index:1}}
.feather-opening:not([hidden])~.site-header{visibility:hidden}
