:root{--paper:#eee8d8;--ink:#efebdd;--muted:#bfc2ac;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", sans-serif;color-scheme:dark}*{box-sizing:border-box}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#303626;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #d6c396}a{color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.invitation-experience{isolation:isolate;background:radial-gradient(at 46% 28%,#596044 0%,#3d442f 40%,#282f23 100%);flex-direction:column;justify-content:center;align-items:center;height:100dvh;min-height:100dvh;padding:22px 24px 16px;display:flex;position:relative;overflow:hidden}.ambient-light{pointer-events:none;z-index:-1;opacity:.25;background:repeating-linear-gradient(105deg,#0000 0 2px,#dfdcc308 3px,#0000 4px 7px);position:absolute;inset:0}.invitation-heading{text-align:center;margin-bottom:20px}.invitation-note{letter-spacing:2.6px;color:#c9cbb6;margin:0 0 5px;font-size:9px;font-weight:500}.invitation-heading h1{white-space:nowrap;font-family:var(--serif);letter-spacing:.2px;margin:0;font-size:33px;font-weight:400;line-height:1.15}.invitation-heading h1 span{color:#b8a879;vertical-align:middle;padding:0 7px;font-size:20px}.invitation-heading h1 em{font-size:28px;font-weight:400}.book-space{perspective:1800px;aspect-ratio:39/62;flex:none;width:auto;height:min(100dvh - 252px,740px);position:relative}.book{width:100%;height:100%;transform-style:preserve-3d;position:relative}.paper-stack{background:#b8b08e;border-radius:2px;transition:transform .7s;position:absolute;inset:0;transform:translate(3px,2px);box-shadow:1px 1px #e6ddc4,2px 2px #a79e7c,3px 3px #d9d0b6,0 7px 15px #151c2140,12px 25px 45px #17201155,25px 40px 90px #17201166}.leaf{transform-origin:0;transform-style:preserve-3d;visibility:hidden;z-index:0;-webkit-user-select:none;user-select:none;touch-action:pan-y;position:absolute;inset:0}.leaf.current{visibility:visible;z-index:2;cursor:grab}.leaf.current:active{cursor:grabbing}.leaf.under{visibility:visible;z-index:1}.leaf.turning{visibility:visible;z-index:3;pointer-events:none}.paper-front,.paper-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:2px;position:absolute;inset:0;overflow:hidden}.paper-front{background:#ede6d8}.printed-source{width:var(--source-width);height:var(--source-height);left:var(--source-x);top:var(--source-y);position:absolute}.printed-source>img{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.paper-back{background:radial-gradient(at 60%,#f3eddf,#d8cfb9);place-items:center;display:grid;transform:rotateY(180deg);box-shadow:inset -10px 0 24px #6e62452b}.paper-back span{font:italic 65px var(--serif);color:#8b80574d;border:1px solid #8b805733;border-radius:50%;padding:10px 24px}.page-shade{pointer-events:none;backface-visibility:hidden;opacity:0;background:linear-gradient(90deg,#433c2640,#0000 12% 70%,#433c2622);position:absolute;inset:0}.leaf.turning .page-shade{opacity:0}.invitation-dock{width:min(470px,100vw - 36px);margin-top:20px}.book-controls{grid-template-columns:1fr 1.05fr 1fr;align-items:center;gap:8px;width:100%;min-height:50px;display:grid}.turn-button{background:0 0;border:1px solid #0000;border-radius:3px;justify-content:flex-start;align-items:center;gap:10px;min-height:46px;padding:8px 10px;transition:color .2s,background .2s,border-color .2s,opacity .2s;display:flex}.turn-button>span[aria-hidden]{font-family:Georgia,serif;font-size:23px;line-height:1;transition:transform .25s}.turn-button .control-text{white-space:nowrap;font-size:12px;font-weight:500}#next{justify-content:flex-end}.turn-button:hover:not(:disabled){color:#fff6dc;background:#eee8d809;border-color:#d6c39630}#next:hover:not(:disabled)>span[aria-hidden]{transform:translate(3px)}#previous:hover:not(:disabled)>span[aria-hidden]{transform:translate(-3px)}.turn-button:active:not(:disabled){background:#eee8d816}.turn-button:disabled{visibility:hidden;pointer-events:none}#next.open-invitation{background:#e9dfb912;border-color:#c5b78880}#next.open-invitation .control-text{font-size:11px}.page-caption{text-align:center}.page-caption p{font-family:var(--serif);white-space:nowrap;margin:0 0 3px;font-size:26px;line-height:1.1}.page-caption>span{letter-spacing:1.5px;color:#c2c6b0;font-variant-numeric:tabular-nums;font-size:10px}.page-markers{justify-content:center;gap:0;height:32px;margin-top:3px;display:flex}.page-markers button{background:0 0;border:0;width:44px;min-height:32px;padding:15px 9px;position:relative}.marker-line{background:#bfc2ac45;width:100%;height:2px;transition:background .3s,transform .3s;display:block}.page-markers [aria-current] .marker-line{background:#e1ce94;transform:scaleY(1.5)}.page-markers button:hover .marker-line{background:#eee7d3}.marker-tooltip{white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background:#252d20;border:1px solid #c6be9750;border-radius:3px;padding:7px 10px;font-size:11px;transition:opacity .15s;position:absolute;bottom:34px;left:50%;translate:-50%}.page-markers button:hover .marker-tooltip,.page-markers button:focus-visible .marker-tooltip{opacity:1;visibility:visible}.page-actions{justify-content:center;align-items:center;gap:16px;min-height:44px;display:flex}.gesture-hint{font-family:var(--serif);color:#c8cbb7;text-align:center;margin:0;font-size:17px;font-style:italic}.context-action{color:#c8cbb7;text-underline-offset:5px;background:0 0;border:0;min-height:44px;padding:10px 12px;font-size:11px}.context-action:hover{color:var(--ink);text-decoration:underline}.context-primary{color:#eee8d8;background:#eee8d809;border:1px solid #d1bd8370;border-radius:3px;justify-content:center;align-items:center;gap:20px;min-height:42px;padding:10px 20px;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.context-primary:hover{background:#eee8d81c}#confirm-action{color:#343c29;background:#eee8d8;border-color:#eee8d8}#confirm-action:hover{background:#fff5db}.location-actions{justify-content:center;align-items:center;gap:12px;display:flex}[hidden]{display:none!important}.is-turning .page-markers{opacity:.55}[aria-disabled=true]{cursor:wait}.hotspot{cursor:pointer;background:0 0;border:0;border-radius:50%;transition:box-shadow .4s,background .4s;display:block;position:absolute}.hotspot:hover{background:#fff4cf12;box-shadow:0 0 20px #dec58b44}.seal-hotspot{width:23%;height:16%;top:66.5%;left:37%}.maps-hotspot{border-radius:30px;width:40%;height:5.8%;top:76%;left:35%}.email-hotspot{border-radius:30px;width:65%;height:8%;top:48%;left:18%}.map-stage{pointer-events:none;position:absolute;inset:42% 7% 30% 13%;overflow:hidden}.vector-map{color:#555737}.vector-map svg{width:100%;height:100%;display:block;overflow:visible}.map-labels,.map-compass,.map-arrival{font-family:Cormorant Garamond,Georgia,serif}.club-label{font-size:27px;font-weight:600}.small-label{letter-spacing:1.2px;font-size:18px}.place-label{letter-spacing:1.1px;font-size:20px}.road-label{letter-spacing:1px;font-size:16.5px}.map-compass text{font-size:19px}.map-arrival{fill:#8b723b;font-size:21px;font-style:italic}.map-footprints use,.destination-ring{opacity:0}.destination-ring{transform-box:fill-box;transform-origin:50%}@keyframes step{0%{opacity:0}8%,65%{opacity:.85}to{opacity:0}}@media (prefers-reduced-motion:no-preference){.book-space{animation:1.2s cubic-bezier(.16,1,.3,1) both unbox}.invitation-heading,.invitation-dock{animation:1s .25s both appear}@keyframes unbox{0%{opacity:0;transform:translateY(22px)rotate(-1.5deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes appear{0%{opacity:0}to{opacity:1}}}@media (width<=600px){.invitation-experience{padding:16px 18px 12px}.invitation-heading{margin-bottom:16px}.invitation-note{letter-spacing:2.2px;margin-bottom:5px;font-size:8px}.invitation-heading h1{font-size:29px}.invitation-heading h1 em{font-size:25px}.book-space{aspect-ratio:39/62;width:min(100vw - 44px,62.903dvh - 143.419px);height:auto}.invitation-dock{width:min(410px,100vw - 30px);margin-top:15px}.book-controls{gap:2px;min-height:48px}.turn-button{gap:6px;padding:8px 6px}.turn-button .control-text{font-size:11px}#next.open-invitation .control-text{font-size:10px}.page-caption p{font-size:23px}.page-caption>span{font-size:9px}.page-markers{height:36px;margin-top:0}.page-markers button{min-height:36px;padding:17px 10px}.gesture-hint{font-size:16px}.context-action{font-size:10px}.context-primary{font-size:11px}.paper-stack{box-shadow:1px 1px #e6ddc4,2px 2px #a79e7c,3px 3px #d9d0b6,8px 15px 25px #17201166,18px 25px 50px #17201155}}@media (width<=350px){.turn-button .control-text{font-size:10px}#next.open-invitation{padding:8px 4px}#next.open-invitation .control-text{font-size:9px}.page-caption p{font-size:21px}}@media (height<=560px) and (width>=600px){.invitation-experience{padding:18px 260px 18px 20px}.invitation-heading{width:220px;position:absolute;top:40px;right:25px}.invitation-heading h1{font-size:28px}.invitation-heading h1 em{font-size:24px}.book-space{height:calc(100dvh - 44px)}.invitation-dock{width:220px;position:absolute;bottom:40px;right:25px}.book-controls{grid-template-columns:1fr 1fr}.page-caption{grid-area:1/1/auto/-1;margin-bottom:16px}.page-actions{margin-top:12px}.gesture-hint{font-size:14px}.location-actions{flex-direction:column;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.dress-stage{pointer-events:none;opacity:0;transition:opacity .5s;position:absolute;inset:0}.dress-stage.ready{opacity:1}.dress-stage canvas{width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.dress-pause{display:none}}.dress-film,.cover-film{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cover-film{opacity:0}.cover-film.playing{opacity:1}.gate-panel{width:50%;transform-style:preserve-3d;backface-visibility:hidden;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.gate-left{transform-origin:0;left:0}.gate-right{transform-origin:100%;right:0}.gate-panel>.paper-front{width:200%}.gate-right>.paper-front{left:-100%}
