/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--wine:#6d1726;--wine-dark:#4a0d19;--cream:#f1e6d2}*{box-sizing:border-box}html,body{background:#e6d8c3;min-height:100%;margin:0;overflow:hidden}body{color:var(--wine);font-family:Georgia,Times New Roman,serif}button,a{-webkit-tap-highlight-color:transparent}.page-shell{background:radial-gradient(circle at 50% 30%,#fffaf0c2,#0000 54%),#d9c9b1;place-items:center;width:100%;min-height:100dvh;display:grid;position:relative;overflow:hidden}.portrait-invitation{isolation:isolate;background:url(/assets/floral-background.webp) 50%/cover no-repeat;width:100%;max-width:none;height:100dvh;position:relative;overflow:hidden;box-shadow:0 0 70px #4b2a1933}.portrait-invitation:before{content:"";z-index:-1;background:radial-gradient(circle at 50% 49%,#fffbf247,#0000 48%);position:absolute;inset:0}.top-stamps,.top-monogram,.top-tassel,.invited-line,.couple-names,.closed-envelope,.open-envelope,.invitation-card,.corner-flower,.card-accent,.bottom-fan,.bottom-sprig{pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;display:block;position:absolute}.top-stamps{z-index:20;filter:drop-shadow(0 5px 7px #5836211f);width:19%;animation:7s ease-in-out infinite stamps-drift;top:2.2%;left:2.2%;transform:rotate(-4deg)}.monogram-group{z-index:20;pointer-events:none;width:22%;height:16%;animation:5.8s ease-in-out infinite monogram-float;position:absolute;top:1.6%;right:2.3%}.top-monogram{filter:drop-shadow(0 5px 7px #5836211a);width:100%;inset:0 auto auto 0}.top-tassel{transform-origin:50% 5%;filter:drop-shadow(0 5px 5px #5836211f);width:38%;animation:4.8s ease-in-out infinite tassel-sway;top:41%;left:31%}.invited-line{z-index:18;filter:drop-shadow(0 2px 2px #5b1c2614);width:64%;transition:opacity .42s,transform .62s cubic-bezier(.2,.72,.2,1);animation:6s ease-in-out infinite text-glide;top:26.3%;left:50%;transform:translate(-50%)}.couple-names{z-index:18;object-fit:contain;filter:drop-shadow(0 3px 3px #5b1c2614);width:82%;height:11.5%;transition:opacity .42s,transform .62s cubic-bezier(.2,.72,.2,1);animation:6.8s ease-in-out .7s infinite reverse text-glide;top:70.2%;left:50%;transform:translate(-50%)}.envelope-scene{z-index:6;position:absolute;inset:0}.closed-envelope{z-index:6;filter:drop-shadow(0 15px 15px #49121b33);width:90%;transition:opacity .42s .12s,transform .72s cubic-bezier(.18,.76,.2,1);animation:4.6s ease-in-out infinite envelope-breathe;top:37.5%;left:50%;transform:translate(-50%)}.envelope-shine{z-index:7;aspect-ratio:2048/1365;pointer-events:none;opacity:.7;clip-path:polygon(1% 2%,99% 2%,99% 97%,1% 97%);width:90%;transition:opacity .28s;animation:4.6s ease-in-out infinite envelope-breathe;position:absolute;top:37.5%;left:50%;overflow:hidden;transform:translate(-50%)}.envelope-shine:after{content:"";filter:blur(2px);background:linear-gradient(90deg,#0000,#ffecdb33,#ffffff7a,#ffecdb2e,#0000);width:20%;animation:4.8s ease-in-out 1.1s infinite envelope-shine;position:absolute;top:-22%;bottom:-22%;left:-42%;transform:skew(-18deg)}.open-envelope{z-index:6;opacity:0;filter:drop-shadow(0 17px 18px #49121b30);width:69%;transition:opacity .48s .34s,transform .9s cubic-bezier(.17,.82,.2,1) .28s;top:43.3%;left:50%;transform:translate(-50%,6%)scale(.92)}.invitation-card{z-index:8;opacity:0;transform-origin:50% 100%;filter:drop-shadow(0 14px 16px #482d1d33);width:74%;transition:top 1.05s cubic-bezier(.16,.88,.24,1) .42s,opacity .38s .42s,transform 1.05s cubic-bezier(.16,.88,.24,1) .42s;top:38%;left:50%;transform:translate(-50%,24%)scale(.68)}.seal-hit-area{z-index:15;aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:20%;padding:0;transition:opacity .28s,transform .42s;position:absolute;top:48.8%;left:50%;transform:translate(-50%,-50%)}.seal-hit-area:before,.seal-hit-area:after{content:"";border-radius:50%;animation:2.4s ease-out infinite seal-pulse;position:absolute;inset:18%;box-shadow:0 0 #ffe8d680}.seal-hit-area:after{animation-delay:1.15s}.seal-hit-area span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.seal-hit-area:focus-visible,.map-button:focus-visible,.music-toggle:focus-visible{outline-offset:4px;outline:3px solid #701a2973}.corner-flower{z-index:10;filter:drop-shadow(0 9px 10px #4e311b24);width:49%;transition:top .9s cubic-bezier(.18,.8,.2,1) .34s,transform .9s cubic-bezier(.18,.8,.2,1) .34s;animation:5.6s ease-in-out infinite floral-breathe;top:54.7%}.flower-left{left:-10.5%;transform:rotate(4deg)}.flower-right{animation-delay:.85s;right:-10.5%;transform:scaleX(-1)rotate(4deg)}.card-accent{z-index:13;opacity:0;filter:drop-shadow(0 8px 9px #462a191f);transition:opacity .48s .95s,transform .72s cubic-bezier(.2,.8,.2,1) .88s;transform:translateY(12px)scale(.86)}.card-bow{width:17%;top:21.6%;left:12.2%;transform:translateY(12px)rotate(-8deg)scale(.86)}.card-wax{width:18%;top:22.6%;right:11.8%}.card-calligraphy{object-fit:contain;width:25%;max-height:27%;top:51.5%;left:.5%;transform:translate(-8px,12px)rotate(-5deg)scale(.86)}.map-button{z-index:24;color:#fff5e8;opacity:0;pointer-events:none;background:linear-gradient(#741b2b,#5b111f);border:1px solid #9b5a55;border-radius:0;justify-content:center;align-items:center;gap:8px;width:30%;min-height:clamp(24px,3.2vh,32px);padding:5px 8px;text-decoration:none;transition:opacity .5s 1.24s,transform .66s cubic-bezier(.2,.8,.2,1) 1.17s;display:flex;position:absolute;top:82.5%;left:50%;transform:translate(-50%,15px);box-shadow:inset 0 0 0 2px #efbd9a1f,0 7px 15px #4d141d33}.map-button svg{fill:none;stroke:#e6be8f;stroke-width:1.7px;width:10px;height:10px}.map-button span{letter-spacing:.14em;text-transform:uppercase;direction:ltr;font-size:clamp(6px,1.65vw,8px);font-weight:700}.music-toggle{z-index:25;width:clamp(24px,3.2vh,32px);height:clamp(24px,3.2vh,32px);color:var(--wine);cursor:pointer;opacity:0;pointer-events:none;background:#faefdddb;border:1px solid #6f1c294d;border-radius:50%;place-items:center;padding:0;transition:opacity .5s 1.32s,transform .66s cubic-bezier(.2,.8,.2,1) 1.25s;display:grid;position:absolute;top:82.55%;right:8%;transform:translateY(15px);box-shadow:0 7px 14px #4d141d1f}.music-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:14px;height:14px}.bottom-fan{z-index:4;filter:drop-shadow(0 8px 9px #50311b1a);width:42%;animation:7.4s ease-in-out infinite corner-drift;bottom:-4.2%;left:-11%;transform:rotate(4deg)}.bottom-sprig{z-index:4;filter:drop-shadow(0 8px 9px #50311b1a);width:35%;animation:6.6s ease-in-out .8s infinite reverse corner-drift;bottom:-4.5%;right:-10%;transform:rotate(-7deg)}.is-open .invited-line{opacity:0;transform:translate(-50%,-12px)scale(.95)}.is-open .couple-names{opacity:0;transform:translate(-50%,12px)scale(.95)}.is-open .closed-envelope{opacity:0;transform:translate(-50%)scale(.94)}.is-open .envelope-shine{opacity:0}.is-open .open-envelope{opacity:1;animation:5.8s ease-in-out 1.35s infinite open-scene-float;transform:translate(-50%)scale(1)}.is-open .invitation-card{opacity:1;animation:6.4s ease-in-out 1.5s infinite card-breathe;top:21.2%;transform:translate(-50%)scale(1)}.is-open .seal-hit-area{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.72)}.is-open .corner-flower{top:65.5%}.is-open .flower-left{transform:translate(-2%)rotate(-2deg)}.is-open .flower-right{transform:translate(2%)scaleX(-1)rotate(-2deg)}.is-open .card-accent{opacity:1;transform:translateY(0)scale(1)}.is-open .card-bow{animation:5.2s ease-in-out 1.65s infinite accent-float;transform:translateY(0)rotate(-8deg)scale(1)}.is-open .card-wax{animation:5.5s ease-in-out 1.8s infinite reverse accent-float}.is-open .card-calligraphy{animation:5.8s ease-in-out 1.9s infinite reverse accent-float;transform:translate(0)rotate(-5deg)scale(1)}.is-open .map-button,.is-open .music-toggle{opacity:1;pointer-events:auto;transform:translate(-50%)}.is-open .music-toggle{transform:translateY(0)}.screen-reader-status{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes seal-pulse{0%,30%{opacity:0;box-shadow:0 0 #ffe8d680}42%{opacity:1}to{opacity:0;box-shadow:0 0 0 17px #ffe8d600}}@keyframes envelope-shine{0%,48%{opacity:0;left:-42%}57%{opacity:.88}74%{opacity:.48;left:124%}to{opacity:0;left:124%}}@keyframes stamps-drift{0%,to{translate:0;rotate:none}50%{translate:2px 3px;rotate:-1.2deg}}@keyframes monogram-float{0%,to{translate:0}50%{translate:0 3px}}@keyframes tassel-sway{0%,to{rotate:-1deg}50%{rotate:2.2deg}}@keyframes text-glide{0%,to{translate:0}50%{translate:0 -3px}}@keyframes envelope-breathe{0%,to{translate:0}50%{translate:0 -4px}}@keyframes floral-breathe{0%,to{translate:0;scale:1}50%{translate:0 -2px;scale:1.018}}@keyframes open-scene-float{0%,to{translate:0}50%{translate:0 3px}}@keyframes card-breathe{0%,to{translate:0}50%{translate:0 -3px}}@keyframes corner-drift{0%,to{translate:0}50%{translate:3px -3px}}@keyframes accent-float{0%,to{translate:0}50%{translate:0 -3px}}@media (hover:hover) and (pointer:fine) and (width>=1000px){.portrait-invitation{width:min(50dvh,560px)}.map-button span{font-size:11px}}@media (height<=680px){.music-toggle{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
