/* The invitation is a self-contained addition to the existing site. */
.speakeasy{--se-gold:#d7b779;--se-mx:50%;--se-my:40%;--se-rx:0deg;--se-ry:0deg;--se-dx:0px;--se-dy:0px;background:#080b09;padding:52px max(20px,4vw);border-block:1px solid #baa26866;isolation:isolate;color:#f5e8cc}
.se-topline,.se-bottomline{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;gap:25px;font:500 10px/1.6 'Josefin Sans',sans-serif;letter-spacing:.17em;color:#a99a79;padding:15px 2px}.se-bottomline{padding-top:20px}.se-stage{max-width:1320px;position:relative;margin:auto;perspective:1600px;overflow:hidden;border:1px solid #c6a361;box-shadow:0 25px 90px #0009,0 0 0 6px #0b110e,0 0 0 7px #a18b5144;background:radial-gradient(ellipse at 50% 10%,#34423466,transparent 70%),#101711;min-height:850px}
.se-stage:after{content:'';position:absolute;inset:10px;pointer-events:none;z-index:16;border:1px solid #b89a5a50}
.se-atmosphere{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;opacity:.9;transition:opacity 2s}
.se-controls{position:absolute;inset:25px 30px auto;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:21;pointer-events:none}.se-controls>*{pointer-events:auto}.se-motion,.se-edition{font:500 11px/1.5 'Josefin Sans',sans-serif;letter-spacing:.1em;color:#d3c4a2}.se-motion{border:1px solid #c6a76544;background:#0c120cc9;padding:9px 12px;min-height:36px}.se-motion:hover{border-color:#d6b576}.se-edition i{font-style:normal;color:#d8bb7b;margin:0 10px}
.se-entrance{position:absolute;inset:0;z-index:6;perspective:1600px}.se-entrance[hidden]{display:none}.se-door{position:absolute;top:0;bottom:0;width:50.1%;background:linear-gradient(90deg,#050a08c9,#111b14bd),url('/assets/gatsby-salon-wallpaper.png') center/940px;backface-visibility:hidden;transition:transform 2.2s cubic-bezier(.65,0,.2,1),filter 2s;will-change:transform;box-shadow:inset 0 0 80px #000c}
.se-door-left{left:0;transform-origin:left center;border-right:2px solid #a78649}.se-door-right{right:0;transform-origin:right center;border-left:2px solid #dec483}
.se-door-inlay{position:absolute;inset:45px 20px 45px 42px;border:1px solid #ccb07155;box-shadow:inset 0 0 0 6px #0b110933,inset 0 0 0 7px #a88c4b55}.se-door-right .se-door-inlay{inset:45px 42px 45px 20px}.se-door-inlay:before{content:'';position:absolute;inset:12px;border:1px solid #e5bd6144;clip-path:polygon(0 0,100% 0,100% 10%,90% 10%,90% 90%,100% 90%,100% 100%,0 100%,0 90%,10% 90%,10% 10%,0 10%)}
.se-handle{position:absolute;top:48%;right:15px;width:6px;height:86px;background:linear-gradient(90deg,#795928,#e6d2a0,#997441);border-radius:8px;box-shadow:3px 2px 12px #000}.se-door-right .se-handle{right:auto;left:15px}
.se-tracery{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);stroke:#d8b975;stroke-width:1.1;z-index:5;pointer-events:none;opacity:.9;transition:opacity .7s}.se-trace{stroke-dasharray:3600;stroke-dashoffset:3600;animation:se-draw 4s .25s ease forwards}.se-trace-two{animation-delay:1s;opacity:.5}.se-active .se-trace{animation-play-state:running}.se-quiet .se-trace{animation-play-state:paused}
.se-invitation{position:relative;z-index:10;text-align:center;width:min(700px,75%);margin:93px auto 0;transform:rotateX(var(--se-rx)) rotateY(var(--se-ry));transform-style:preserve-3d;transition:opacity .8s,filter .8s;pointer-events:none}.se-invitation button{pointer-events:auto}.se-kicker{display:block;font:600 11px/1.6 'Josefin Sans',sans-serif;letter-spacing:.22em;color:#d5b97d}.se-fan{width:115px;margin:25px auto 16px;transform:translate3d(calc(var(--se-dx) * -1),calc(var(--se-dy) * -1),30px)}.se-fan svg{display:block;stroke:#d8bb80;stroke-width:.8;filter:drop-shadow(0 0 10px #d4b67b25)}.se-present{font:400 12px/1.6 'Josefin Sans',sans-serif;letter-spacing:.23em;color:#c5bda7;margin:0 0 22px}
#se-title{font-family:'Limelight',Georgia,serif;margin:0;line-height:1.02;transform:translate3d(var(--se-dx),var(--se-dy),60px);letter-spacing:0}#se-title span{display:block;font-size:clamp(36px,4vw,56px);font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;letter-spacing:.015em;color:#e8d8b6;margin-bottom:4px}#se-title strong{display:block;font-weight:400;font-size:clamp(44px,6.7vw,96px);background:linear-gradient(115deg,#a98546 5%,#e0c994 22%,#fff3d0 40%,#b99151 58%,#f3e1b0 75%,#c7a767 95%);background-size:230% 100%;background-position:var(--se-mx) center;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 12px 60px #d2b47120}
.se-whisper{font:italic 25px/1.35 'Cormorant Garamond',Georgia,serif;color:#e0d4bb;margin:27px 0 29px;transform:translate3d(calc(var(--se-dx) * .4),0,25px)}.se-password{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 auto;background:linear-gradient(110deg,#191d13,#0b110c);color:#e8cf94;border:1px solid #d2b878;padding:17px 26px;box-shadow:inset 0 0 0 4px #0b100b,inset 0 0 0 5px #9e844652,0 10px 30px #0005;font:500 16px/1.4 'Josefin Sans',sans-serif;transition:box-shadow .3s,background .3s,transform .3s}.se-password:hover,.se-password:focus-visible{background:#2d2b1a;box-shadow:inset 0 0 0 4px #0b100b,inset 0 0 0 5px #a98c55,0 0 45px #bf9e3c35;transform:translateY(-3px)}.se-keyhole{font-size:26px;line-height:1}.se-password:disabled{cursor:default;opacity:.65}.se-secret{min-height:28px;margin:17px 0 18px;font:500 14px/1.4 'Josefin Sans',sans-serif;letter-spacing:.2em;color:#fbe2a1}.se-secret:not(:empty){animation:se-secret-in .65s ease both}.se-bottom-note{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font:400 10px/1.7 'Josefin Sans',sans-serif;letter-spacing:.17em;color:#b6a889}.se-bottom-note span+span{color:#d8bf89}.se-knock-note{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);font:italic 18px/1.4 'Cormorant Garamond',Georgia,serif;white-space:nowrap;color:#b8a582;z-index:11}.se-skip{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font:400 11px/1.4 'Josefin Sans',sans-serif;background:none;color:#b4ae9a;text-decoration:underline;text-underline-offset:3px;border:0;z-index:12;padding:5px}
.se-reveal{position:relative;z-index:3;padding:83px 65px 34px;min-height:850px}.se-enhanced:not(.se-open) .se-reveal{visibility:hidden}.se-welcome{text-align:center;position:relative;z-index:9}.se-welcome h3{font:400 clamp(35px,4vw,55px)/1.2 'Limelight',Georgia,serif;margin:12px 0}.se-welcome h3 em{font:italic 1.12em 'Cormorant Garamond',Georgia,serif;color:#e1bd79}.se-welcome p{font:italic 23px/1.4 'Cormorant Garamond',Georgia,serif;margin:0 0 30px;color:#d3c7af}
.se-memories{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin:0 10px 26px;perspective:1000px}.se-print{border:1px solid #b9a373;background:#ece0c5;padding:9px 9px 0;color:#302a1f;box-shadow:0 18px 45px #0009;position:relative;z-index:10;transform:rotate(-2deg);transition:transform .5s,box-shadow .5s;min-width:0}.se-print-two{transform:rotate(2deg)}.se-print img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none;max-height:300px;background:#111810}.se-print span{display:block;padding:10px 5px;font:italic 17px/1.3 'Cormorant Garamond',Georgia,serif}.se-print:hover,.se-print:focus-visible{transform:rotate(0deg) translateY(-6px) scale(1.025);box-shadow:0 24px 50px #0009}.se-memory-controls{display:flex;justify-content:center;align-items:center;gap:15px;position:relative;z-index:10;margin:0 0 28px}.se-memory-controls button{border:1px solid #d3b57888;background:#111a10;color:#edce8b;width:42px;height:38px;font-size:21px}.se-memory-count{font:500 11px 'Josefin Sans',sans-serif;letter-spacing:.12em;min-width:137px;text-align:center}.se-photo-hint{font:italic 17px 'Cormorant Garamond',Georgia,serif;color:#bcb8a4;padding-left:10px}.se-event{position:relative;z-index:10;border-block:1px solid #c5a35c66;padding:28px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center}.se-event h3{font:400 35px/1.2 'Limelight',Georgia,serif;margin:12px 0}.se-event p{font:500 19px/1.5 'Cormorant Garamond',Georgia,serif;margin:0;color:#cfc9b7}.se-event-actions{display:flex;flex-direction:column;align-items:center;gap:15px}.se-coming{font:italic 25px 'Cormorant Garamond',Georgia,serif;color:#ebcd91}.se-event .btn{font-size:12px;letter-spacing:.06em}.se-event .text-link{font-size:18px}.se-signoff{position:relative;z-index:10;display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:23px;color:#c6b28d;font:italic 18px 'Cormorant Garamond',Georgia,serif}.se-replay{border:0;background:none;color:#c8b78f;text-decoration:underline;text-underline-offset:4px;font:400 11px/1.5 'Josefin Sans',sans-serif;padding:8px}
.se-opening .se-door-left,.se-open .se-door-left{transform:translateX(-92%) rotateY(-72deg);filter:brightness(.3)}.se-opening .se-door-right,.se-open .se-door-right{transform:translateX(92%) rotateY(72deg);filter:brightness(.3)}.se-opening .se-invitation,.se-open .se-invitation{opacity:0;filter:blur(8px);pointer-events:none}.se-opening .se-tracery,.se-open .se-tracery,.se-opening .se-knock-note,.se-open .se-knock-note,.se-opening .se-skip,.se-open .se-skip{opacity:0;pointer-events:none}.se-open .se-entrance{pointer-events:none}.se-open .se-invitation button{pointer-events:none}
.se-open .se-print-one{animation:se-photo-left 1.65s .1s cubic-bezier(.16,1,.3,1) both}.se-open .se-print-two{animation:se-photo-right 1.8s .3s cubic-bezier(.16,1,.3,1) both}.se-open .se-welcome{animation:se-arrive 1.2s .25s both}.se-open .se-event,.se-open .se-memory-controls,.se-open .se-signoff{animation:se-arrive 1s .85s both}.se-open .se-atmosphere{opacity:.35}
.se-instant *,.se-paused *{animation-play-state:paused!important}.se-instant .se-reveal>*{animation:none!important}.se-instant .se-print{animation:none!important}.se-instant .se-door,.se-instant .se-invitation{transition:none!important}.se-paused .se-invitation{transform:none}.se-paused #se-title,.se-paused .se-fan,.se-paused .se-whisper{transform:none}.se-quiet *{animation-play-state:paused!important}
@keyframes se-draw{to{stroke-dashoffset:0}}@keyframes se-secret-in{from{opacity:0;filter:blur(7px);transform:translateY(9px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes se-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes se-photo-left{from{opacity:0;transform:translate3d(140px,100px,-500px) rotate(14deg)}65%{opacity:1;transform:translate3d(-6px,-10px,25px) rotate(-4deg)}to{opacity:1;transform:rotate(-2deg)}}@keyframes se-photo-right{from{opacity:0;transform:translate3d(-150px,100px,-600px) rotate(-16deg)}65%{opacity:1;transform:translate3d(8px,-12px,25px) rotate(4deg)}to{opacity:1;transform:rotate(2deg)}}
@media(max-width:1000px){.se-reveal{padding-inline:35px}.se-memories{gap:25px}.se-event{grid-template-columns:1fr 1fr;gap:20px}.se-event .btn{gap:10px;padding-inline:18px}.se-photo-hint{display:none}.se-stage{min-height:840px}.se-invitation{margin-top:100px;width:80%}}
@media(max-width:600px){.speakeasy{padding:30px 14px}.se-topline,.se-bottomline{font-size:9px;letter-spacing:.08em;padding-inline:4px}.se-topline span:last-child{display:none}.se-stage{min-height:775px}.se-controls{inset:20px 20px auto}.se-motion{font-size:10px;padding:8px}.se-edition{font-size:9px;letter-spacing:.06em}.se-edition i{margin:0 5px}.se-invitation{margin-top:102px;width:calc(100% - 48px)}.se-fan{width:95px;margin-top:24px}.se-present{font-size:9px;letter-spacing:.1em;margin-bottom:22px}.se-kicker{font-size:9px;letter-spacing:.15em}#se-title strong{font-size:clamp(31px,9.9vw,54px)}#se-title span{font-size:35px}.se-whisper{font-size:23px;margin:23px 0 26px}.se-password{font-size:13px;gap:12px;padding:16px 14px}.se-secret{font-size:12px;letter-spacing:.12em;min-height:35px;margin-top:20px}.se-bottom-note{display:grid;gap:7px;font-size:9px}.se-knock-note{font-size:16px;bottom:53px;white-space:normal;text-align:center;width:75%}.se-skip{font-size:10px;bottom:24px}.se-door-inlay{inset:30px 10px 30px 20px}.se-door-right .se-door-inlay{inset:30px 20px 30px 10px}.se-reveal{padding:83px 23px 27px;min-height:775px}.se-enhanced:not(.se-open) .se-reveal{height:775px;overflow:hidden}.se-welcome h3{font-size:31px}.se-welcome p{font-size:21px;margin-bottom:26px}.se-memories{grid-template-columns:1fr;gap:25px;margin-inline:5px}.se-print{padding:6px 6px 0}.se-print img{max-height:none}.se-print span{font-size:15px;padding:8px 3px}.se-memory-controls{gap:12px;margin:28px 0}.se-event{grid-template-columns:1fr;text-align:center;gap:23px;padding-block:25px}.se-event h3{font-size:30px}.se-event p{font-size:19px}.se-event-actions .btn{font-size:11px;padding-inline:14px}.se-signoff{flex-direction:column;gap:9px;text-align:center;font-size:16px}.se-open .se-atmosphere{opacity:.23}}
@media(prefers-reduced-motion:reduce){.speakeasy *, .speakeasy *:before,.speakeasy *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.se-trace{stroke-dashoffset:0}.se-invitation,#se-title,.se-fan,.se-whisper{transform:none!important}.se-atmosphere{display:none}}
.se-enhanced:not(.se-open) .se-reveal{height:850px;min-height:850px;overflow:hidden}
@media(max-width:600px){.se-enhanced:not(.se-open) .se-reveal{height:775px;min-height:775px}}
