/*! 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{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Italiana;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/italiana-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#283c36;--sage:#55745d;--paper:#faf7ef;--lavender:#9381b2;--line:#e3e2d6}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:#243c33;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #9683b6}a{color:inherit;text-decoration:none}p{margin:10px 0;font-size:14px;line-height:1.7}h1,h2,h3,p{overflow-wrap:break-word}h2,h3{margin:0;font-family:Italiana,Georgia,serif;font-weight:400}.world{background:radial-gradient(at top,#61766055,#0000 70%),repeating-linear-gradient(90deg,#ffffff03 0 1px,#0000 1px 40px),#243c33;justify-content:center;align-items:center;height:100dvh;display:flex}.scene{isolation:isolate;background:#99b9c5;width:min(100vw,66.6667dvh);height:100dvh;position:relative;overflow:hidden}.sky-shade{pointer-events:none;background:linear-gradient(#f2f1da11 0%,#0000 40% 88%,#1d352eaa 100%);position:absolute;inset:0}.scene-heading{text-align:center;z-index:3;color:#faf5e3;text-shadow:0 2px 10px #283c3633;pointer-events:none;width:90%;position:absolute;top:5.7%;left:5%}.eyebrow{letter-spacing:2.5px;text-transform:uppercase;font-family:Space Mono,monospace;font-size:9px;line-height:1.6;display:block}.scene-heading h1{letter-spacing:-2px;white-space:nowrap;margin:10px 0 12px;font-family:Italiana,Georgia,serif;font-size:clamp(38px,7.3dvh,72px);font-weight:400;line-height:1.1}.scene-heading h1 span{margin:0 .03em;font-size:.65em;font-style:italic}.date-line{letter-spacing:3px;justify-content:center;align-items:center;gap:16px;font-family:Space Mono,monospace;font-size:10px;display:flex}.date-line span{background:#faf5e388;width:24px;height:1px}.scene-heading p{margin-top:12px;font-family:Georgia,serif;font-size:12px;font-style:italic}.top-tools{z-index:4;gap:7px;display:flex;position:absolute;top:2%;right:4%}.icon-button{color:#3c5648;background:#faf7efb3;border:1px solid #f9f6ed77;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.icon-button.active{background:#e0d3ed}.hotspot{z-index:5;color:var(--ink);background:0 0;border:0;border-radius:12px;position:absolute;transform:translate(-50%,-50%)}.spot-label{white-space:nowrap;opacity:0;background:#fffcf0ed;border:1px solid #7a856a;align-items:center;gap:5px;padding:5px 7px;font-size:9px;font-weight:600;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:2px 2px #354c3d44}.hotspot:hover .spot-label,.hotspot:focus-visible .spot-label,.show-hints .spot-label{opacity:1;transform:translate(-50%,-3px)}.spot-gift .spot-label{left:40%}.hotspot:hover .hotspot:focus-visible{outline-offset:0;outline:2px dashed #fff6ce}.scene-footer{text-align:center;color:#fff9e9;z-index:4;pointer-events:none;width:100%;position:absolute;bottom:1.9%;left:0}.scene-footer p{letter-spacing:.4px;text-shadow:0 1px 3px #132c1c;margin:3px 0 8px;font-size:10px}.tiny-heart{color:#efc1cd;font-size:11px}.footer-date{letter-spacing:2px;opacity:.7;font:7px Space Mono,monospace}.cover{z-index:6;background:linear-gradient(#0000 25%,#31452c16 38%,#182f2de6 100%);flex-direction:column;justify-content:flex-end;align-items:center;animation:.7s fade-in;display:flex;position:absolute;inset:0}.cover-intro{text-align:center;color:#fff8ed;text-shadow:1px 2px 4px #263a25;position:absolute;top:42%}.pixel-heart{color:#ffdcdf;font-size:27px;animation:3s infinite sparkle;display:block}.cover-intro p{margin-top:9px;font-family:Italiana,serif;font-size:29px;line-height:1.2}.guest-envelope{text-align:center;color:#fff9eb;width:85%;margin-bottom:8%}.guest-envelope .eyebrow{opacity:.75;font-size:8px}.guest-envelope h2{margin-top:7px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:500}.guest-envelope p{opacity:.85;margin:14px 0 20px;font-size:11px;line-height:1.8}.open-button{color:#30463d;background:#fcf5de;border:1px solid #fffbe7;justify-content:center;align-items:center;gap:25px;margin:0 auto;padding:14px 25px;font-size:12px;font-weight:600;transition:transform .2s;display:flex;box-shadow:3px 3px #b1bc9980}.open-button:hover{transform:translateY(-3px)}.cover-footnote{letter-spacing:2px;opacity:.6;margin-top:25px;font:7px Space Mono,monospace;display:block}.is-open .scene-heading{animation:1s fade-in}.fireflies{pointer-events:none;z-index:2;position:absolute;inset:0}.fireflies i{background:#fff1ad;width:3px;height:3px;animation:6s ease-in-out infinite float;position:absolute;box-shadow:0 0 8px 3px #fff1ad44}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#172b25a8;justify-content:center;align-items:center;padding:24px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--paper);scrollbar-width:thin;scrollbar-color:#bcc3ad transparent;border:1px solid #f3eee0;width:100%;max-width:650px;max-height:min(88dvh,850px);animation:.3s modal-in;position:relative;overflow:hidden auto;box-shadow:8px 8px #10251e33}.modal-header{border-bottom:1px solid var(--line);background:var(--paper);z-index:2;justify-content:space-between;align-items:flex-start;gap:15px;padding:32px 36px 24px;display:flex;position:sticky;top:0}.modal-header .eyebrow{color:#7b8270;letter-spacing:2px;font-size:8px}.modal-header h2{margin-top:7px;font-size:35px;line-height:1.2}.close-button{color:var(--ink);background:0 0;border:1px solid #d8dccf;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.close-button:hover{background:#e7ecdf}.modal-footer{border-top:1px solid var(--line);letter-spacing:1.7px;color:#7d8575;justify-content:space-between;padding:15px 36px;font:8px Space Mono,monospace;display:flex}.modal-footer span{color:#a393b1}.intro{color:#6a7567;margin:0 0 25px;font-size:13px;line-height:1.85}.actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.primary-button,.secondary-button{border:1px solid var(--sage);justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:11px;font-weight:500;line-height:1.4;transition:background .2s;display:inline-flex}.primary-button{background:var(--sage);color:#fffdf6}.primary-button:hover{background:#3d5b46}.secondary-button{color:var(--sage);background:0 0;border-color:#c5cdbd}.secondary-button:hover{background:#e8eddf}.data-note{color:#858a7d;margin-top:20px;font-size:10px;line-height:1.7}.couple-profile{grid-template-columns:1fr 1.15fr;align-items:center;gap:30px;display:grid}.portrait{background:#b2c499;border:7px solid #eeede1;height:340px;position:relative;overflow:hidden}.portrait span{text-align:center;color:#fff9e8;letter-spacing:2px;text-shadow:0 1px 3px #233c27;width:100%;font:8px Space Mono;position:absolute;bottom:14px;left:0}.profile-copy{padding-top:22px}.profile-copy .eyebrow{color:var(--lavender);font-size:8px}.profile-copy h3{margin-top:6px;font-size:54px;line-height:1.1}.profile-copy h3 span{color:#7d8575;margin-top:12px;font:11px DM Sans;display:block}.profile-copy strong{font-weight:500}.profile-copy blockquote{border-top:1px solid var(--line);color:#6e8066;margin:25px 0 0;padding-top:20px;font:italic 16px/1.7 Georgia,serif}.social-link{color:#827298;align-items:center;gap:8px;margin-top:20px;font-size:11px;display:flex}.event-date{align-items:center;gap:25px;padding-bottom:24px;display:flex}.event-date b{color:var(--sage);letter-spacing:-7px;font-family:Italiana;font-size:112px;font-weight:400;line-height:1}.event-date span{letter-spacing:2px;font:11px Space Mono}.event-date p{color:#798170;margin-top:7px;font-size:11px}.event-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.event-grid article{padding:24px 0}.event-grid article+article{border-left:1px solid var(--line);padding-left:25px}.event-grid .eyebrow{letter-spacing:1.6px;color:#8c947e;font-size:7px}.event-grid h3{margin-top:10px;font-size:28px}.event-grid p{margin-bottom:5px;font-size:12px}.event-grid small{color:#85907a;font-size:10px}.dress-code{align-items:center;gap:5px;padding:24px 0 0;display:flex}.swatch{flex-shrink:0;width:16px;height:32px}.swatch.sage{background:#819476}.swatch.lavender{background:#b8a4c3}.swatch.cream{background:#e7dabd}.dress-code div{margin-left:13px}.dress-code strong{font-size:11px;font-weight:600}.dress-code p{color:#7b826f;margin:4px 0;font-size:11px;line-height:1.6}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;margin:45px 0 40px;display:grid}.countdown div{text-align:center}.countdown b{letter-spacing:-4px;font-family:Space Mono,monospace;font-size:48px;font-weight:400;line-height:1}.countdown span{letter-spacing:2px;color:#849078;margin-top:15px;font:8px Space Mono;display:block}.countdown-foot{border-top:1px solid var(--line);text-align:center;padding-top:28px}.countdown-foot>svg{color:var(--lavender);margin:auto auto 15px}.countdown-foot h3{font-size:30px}.countdown-foot p{color:#7b8472;margin-bottom:20px;font-size:12px}.story-visual{height:160px;margin-bottom:30px;position:relative;overflow:hidden}.story-visual img{object-fit:cover;filter:brightness(.8);width:100%;height:100%}.story-visual span{color:#fff7e4;letter-spacing:2px;text-shadow:0 1px 3px #273d2a;font:8px Space Mono;position:absolute;bottom:16px;left:20px}.timeline article{grid-template-columns:60px 1fr;gap:24px;padding:0 0 28px;display:grid}.timeline article>b{color:#9c8eac;border-right:1px solid #dcd8e4;padding-top:4px;font:13px Space Mono;position:relative}.timeline article>b:after{content:"";background:#9c8eac;width:5px;height:5px;position:absolute;top:10px;right:-3px}.timeline h3{font-size:25px}.timeline p{color:#7a826f;margin-bottom:0;font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;align-items:start;gap:18px 14px;margin-bottom:24px;display:grid}.photo{margin:0}.photo-1{margin-top:42px}.photo-2{grid-column:1/-1}.photo-open{aspect-ratio:4/3;background:#e8eadd;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.photo-0 .photo-open{aspect-ratio:3/4}.photo-2 .photo-open{aspect-ratio:16/9}.photo-open img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.photo-open:hover img{transform:scale(1.04)}.photo-open span{color:#fff;align-items:center;gap:7px;font:9px Space Mono;display:flex;position:absolute;bottom:10px;left:9px}.photo figcaption{color:#808777;justify-content:space-between;align-items:center;gap:5px;margin-top:6px;font-size:9px;display:flex}.photo figcaption button{color:#778366;background:0 0;border:0;padding:4px}.venue-map{background-color:#e6ebdb;background-image:linear-gradient(90deg,#0000 49%,#d4dfc2 50%,#0000 51%),linear-gradient(#0000 49%,#d4dfc2 50%,#0000 51%);background-position:0 0;background-repeat:repeat;background-size:26px 26px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #d7dfcb;height:240px;margin-bottom:25px;position:relative;overflow:hidden}.road{color:#a49c85;letter-spacing:1px;background:#f9f5e8;border:1px solid #d7d2bf;justify-content:center;align-items:center;font:7px Space Mono;display:flex;position:absolute}.road-one{width:130%;height:32px;bottom:42px;left:-15%;transform:rotate(-14deg)}.road-two{transform-origin:30%;width:120%;height:30px;top:15px;left:0;transform:rotate(64deg)}.map-garden{color:#566d4e;background:#d1dfc4;border:2px solid #a6b790;flex-direction:column;justify-content:center;align-items:center;width:150px;height:110px;display:flex;position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);box-shadow:5px 5px #aec29a44}.map-garden svg{color:#9b81a9;margin-bottom:5px}.map-garden b{letter-spacing:2px;font:10px Space Mono}.map-garden small{font-size:10px}.map-compass{color:#7d8c6c;font:11px Space Mono;position:absolute;top:15px;right:16px}.map-note{letter-spacing:1px;color:#98a488;font:7px Space Mono;position:absolute;bottom:11px;right:12px}.venue-title{font-size:30px}.venue-title+p{color:#75826e;font-size:12px}.bank-card{background:#eff2e7;border:1px solid #dce1d3;margin-bottom:16px;padding:22px;position:relative}.bank-card>span{color:#4c6476;font:italic 26px Georgia,serif}.bank-card>small{letter-spacing:2px;color:#8b9480;margin:5px 0 17px;font:7px Space Mono;display:block}.bank-card h3{color:#8d9583;font:23px Space Mono}.bank-card p{color:#7e8974;font-size:11px}.bank-card .secondary-button{padding:8px 11px;font-size:10px}.bank-card:nth-of-type(2){background:#f0ece5}.mail-gift{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.mail-gift h3{font-size:25px}.mail-gift p{color:#7e8974;font-size:12px}.form{flex-direction:column;gap:17px;display:flex}.form label{flex-direction:column;gap:8px;font-size:11px;font-weight:500;display:flex}.form input,.form textarea,.form select{color:var(--ink);background:#fffdf6;border:1px solid #d9dfce;border-radius:0;width:100%;min-width:0;padding:12px;font-size:12px}.form textarea{resize:vertical;min-height:85px}.form .primary-button{align-self:flex-start;min-width:170px;margin-top:3px}.form .data-note{margin:0}.success-note{background:#edf2e5;border:1px solid #c9d5bd;align-items:flex-start;gap:10px;margin-bottom:22px;padding:12px;font-size:11px;line-height:1.7;display:flex}.success-note svg{flex-shrink:0;margin-top:2px}.error-note{color:#955749;background:#f5e9e1;border:1px solid #e9d7cb;padding:12px;font-size:11px}.guest-notes{margin-top:28px}.guest-notes article{border-top:1px solid var(--line);gap:12px;padding:20px 0;display:flex}.note-avatar{background:#e2e7d9;flex-shrink:0;place-items:center;width:30px;height:30px;font:14px Italiana;display:grid}.guest-notes article>div{flex:1}.guest-notes strong{font-size:11px;font-weight:600}.guest-notes small{color:#989d90;margin-top:3px;font-size:9px;display:block}.guest-notes p{color:#77836d;margin-bottom:0;font-size:12px;line-height:1.8}.guest-notes article>svg{color:#b4a5be}.lightbox{z-index:50;color:#fff9eb;background:#16251ef5;justify-content:center;align-items:center;padding:60px 70px 115px;display:flex;position:fixed;inset:0}.lightbox>img{object-fit:contain;max-width:100%;max-height:100%}.lightbox button{color:#fff;background:#273e32;border:1px solid #fff4;place-items:center;width:36px;height:36px;display:grid;position:absolute}.lightbox-close{top:20px;right:20px}.lightbox-prev{top:45%;left:18px}.lightbox-next{top:45%;right:18px}.lightbox-caption{text-align:center;position:absolute;bottom:25px;left:70px;right:70px}.lightbox-caption p{margin:0 0 5px;font-size:12px}.lightbox-caption small{color:#c4cbbd;font:9px/1.7 Space Mono}.lightbox-caption span{color:#a2b097;margin-top:10px;font:9px Space Mono;display:block}.toast{z-index:80;color:#4f6652;background:#fffaf0;border:1px solid #bdc7b0;align-items:center;gap:10px;width:max-content;max-width:90vw;padding:13px 18px;font-size:11px;animation:.2s fade-in;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:3px 3px #1a302944}.toast svg{flex-shrink:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkle{0%,to{opacity:.55}50%{opacity:1}}@keyframes float{0%,to{opacity:0;transform:translate(0)}30%{opacity:.9}60%{opacity:.5;transform:translate(10px,-22px)}}@media (width<=600px){.scene{width:100vw}.scene-heading h1{font-size:clamp(37px,12vw,60px)}.scene-heading{top:6%}.modal-backdrop{padding:12px}.modal{max-height:92dvh}.modal-header{padding:25px 22px 20px}.modal-header h2{font-size:29px}.modal-body{padding:24px 22px}.modal-footer{padding:15px 22px}.couple-profile{grid-template-columns:.85fr 1fr;gap:18px}.portrait{height:270px}.profile-copy h3{font-size:42px}.profile-copy blockquote{font-size:13px}.profile-copy p{font-size:10px}.countdown{gap:5px}.countdown b{letter-spacing:-3px;font-size:34px}.event-date b{font-size:90px}.event-grid h3{font-size:25px}.event-grid article+article{padding-left:15px}.event-grid .eyebrow{letter-spacing:1px;font-size:6px}.lightbox{padding:65px 48px 125px}.lightbox-caption{left:25px;right:25px}.spot-label{padding:4px 5px;font-size:8px}.scene-footer p{font-size:10px}.guest-envelope{margin-bottom:11%}.form input,.form select,.form textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.pixel-garden{z-index:0;pointer-events:none;isolation:isolate;background:#8fbad0;position:absolute;inset:0;overflow:hidden}.scene{width:min(100vw,430px,60dvh);container-type:inline-size}.pixel-garden img{image-rendering:pixelated;image-rendering:crisp-edges;image-rendering:pixelated;-webkit-user-select:none;user-select:none}.pixel-layer{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.pixel-venue{z-index:2}.pixel-object{object-fit:contain;max-width:none;height:auto;display:block;position:absolute}.pixel-foliage{z-index:14}.sky-shade{z-index:1}.scene-heading h1{letter-spacing:-1.5px;font-size:clamp(25px,8.8cqw,40px)}.spot-countdown .spot-label{left:0}.guest-greeting{letter-spacing:.6px!important;text-transform:none!important;font-family:DM Sans,sans-serif!important;font-size:10px!important}.guest-envelope .cover-wedding-date{margin:9px 0 12px;font:9px Space Mono,monospace}.scene-footer{bottom:1.3%}.scene-footer p{margin-bottom:5px}.scene-footer .closing-trigger{pointer-events:auto;cursor:pointer;background:0 0;border:0;min-width:38px;min-height:24px;padding:3px;font-size:14px;line-height:1}.site-credit{letter-spacing:.15px;color:#fffbe8;text-shadow:1px 1px #294832;opacity:.95;margin-top:5px;font:9px/1.4 DM Sans,sans-serif}.cover-intro{top:35%}.cover-intro p{font-size:25px}.cover-credit{text-align:center;color:#fff9eb;width:100%;position:absolute;bottom:1.3%;left:0}.love-button{color:#839271;background:0 0;border:1px solid #d8dfcd;flex-shrink:0;align-self:flex-start;align-items:center;gap:5px;min-width:34px;min-height:30px;padding:7px;font-size:10px;display:flex}.love-button.liked{color:#a56883;background:#f3e9ee}.love-button.liked svg{fill:#dba8be}.blessing-content,.closing-content{text-align:center}.blessing-heart{color:#ab84a2;margin:5px 0 18px;font-size:24px;display:block}.blessing-content h3,.closing-content h3{margin:15px 0;font-size:30px}.blessing-content p,.closing-content p{color:#6b7861;font-size:13px;line-height:1.9}.blessing-content blockquote{color:#788a69;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0;padding:20px 0;font:italic 20px/1.8 Georgia,serif}.closing-content>img{width:64px;height:64px;image-rendering:pixelated;display:inline-block}.closing-content .actions{justify-content:center}.lightbox{touch-action:pan-y}.spot-blessing .spot-label{bottom:65%}.modal-backdrop{padding:12px}.modal{max-width:430px;max-height:92dvh}.modal-header{padding:25px 22px 20px}.modal-header h2{font-size:29px}.modal-body{padding:24px 22px}.modal-footer{padding:15px 22px}.couple-profile{grid-template-columns:.85fr 1fr;gap:18px}.portrait{height:270px}.profile-copy h3{font-size:42px}.profile-copy blockquote{font-size:13px}.profile-copy p{font-size:10px}.countdown{gap:5px}.countdown b{letter-spacing:-3px;font-size:34px}.event-date b{font-size:90px}.event-grid h3{font-size:25px}.event-grid article+article{padding-left:15px}.event-grid .eyebrow{letter-spacing:1px;font-size:6px}.lightbox{width:min(100vw,430px);padding:65px 48px 125px;left:50%;right:auto;transform:translate(-50%)}.lightbox-caption{left:25px;right:25px}.spot-label{padding:4px 6px;font-size:8px}.guest-envelope{margin-bottom:max(15%,58px)}.form input,.form select,.form textarea{font-size:16px}.hotspot{border-radius:0;min-width:40px;min-height:44px}.hotspot:hover,.hotspot:active{background:0 0}.hotspot:focus-visible{outline-offset:-2px;outline:2px dashed #fff6ce}.spot-label{border-radius:0;padding:5px 7px;font-size:9px;box-shadow:2px 2px #354c3d88}.portrait{background:linear-gradient(#e4e9d9 0% 72%,#c0ccaa 72% 76%,#9bb17f 76%);position:relative}.portrait:after{content:"";z-index:0;background:#6e845d33;width:70%;height:9px;position:absolute;bottom:20%;left:15%}.portrait img,.groom .portrait img{object-fit:contain;width:160px;max-width:none;height:160px;image-rendering:pixelated;z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portrait span{z-index:2;color:#536747;text-shadow:none}.story-visual img,.photo-open img,.lightbox>img{image-rendering:pixelated}.photo-open img{object-position:center}@media (width<=600px){.portrait img,.groom .portrait img{width:160px;height:160px}.spot-label{padding:4px 6px;font-size:8px}.scene-heading{top:5.8%}}@media (width<=360px){.portrait img,.groom .portrait img{width:120px;height:120px}.site-credit{font-size:8px}}.blessing-tabs{margin:26px 0}.blessing-tablist{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding-bottom:6px;display:grid}.blessing-tablist button{color:#68775e;cursor:pointer;background:0 0;border:1px solid #0000;min-height:44px;padding:9px 4px;font:600 12px DM Sans,sans-serif}.blessing-tablist button[aria-selected=true]{color:#405537;background:#e8eddf;border-color:#a7b397;box-shadow:2px 2px #87987544}.blessing-tablist button:focus-visible,.blessing-tabs [role=tabpanel]:focus-visible{outline-offset:3px;outline:2px solid #82936b}.blessing-tabs [role=tabpanel]{padding-top:12px;animation:.25s fade-in}.blessing-content .blessing-arabic{color:#526647;margin:15px 0;font:26px/2.1 Traditional Arabic,Times New Roman,serif}.blessing-content .blessing-latin{color:#78836b;font:italic 12px/1.9 Georgia,serif}.blessing-tabs blockquote{margin:15px 0}.blessing-source{color:#657854;text-underline-offset:3px;margin-bottom:12px;font:10px/1.7 DM Sans,sans-serif;display:inline-block}@media (prefers-reduced-motion:reduce){.blessing-tabs [role=tabpanel]{animation:none}}.wallet-card{background:#e7eeea}.wallet-card>span{letter-spacing:-1px;font-family:DM Sans,sans-serif;font-size:30px;font-weight:600}.qris-card{text-align:center;border:1px solid var(--line);background:#f0efe6;margin:20px 0;padding:24px}.qris-card h3{margin:9px 0;font:32px Georgia,serif}.qris-card>p{color:#74806a;font-size:12px}.qris-preview{width:min(100%,200px);height:auto;image-rendering:pixelated;margin:20px auto 10px;display:block}.qris-card .qris-demo-label{letter-spacing:.6px;color:#826a58;font-size:10px}.qris-expand{margin:18px 0}.qris-expand summary{cursor:pointer;color:#526647;min-height:44px;padding:12px;font-size:12px}.qris-expand img{width:100%;height:auto;image-rendering:pixelated;margin:12px auto;display:block}.qris-download{justify-content:center;text-decoration:none;display:inline-flex}.pixel-object{transition:filter .18s}.is-open:has(.spot-countdown:is(:hover,:active,:focus-visible)) .pixel-venue{filter:brightness(1.16)}.is-open:has(.spot-blessing:is(:hover,:active,:focus-visible)) .pixel-object-wedding-arch{filter:brightness(1.16)}.is-open:has(.spot-details:is(:hover,:active,:focus-visible)) .pixel-object-signpost{filter:brightness(1.16)}.is-open:has(.spot-location:is(:hover,:active,:focus-visible)) .pixel-object-signpost{filter:brightness(1.16)}.is-open:has(.spot-bride:is(:hover,:active,:focus-visible)) .pixel-object-bride{filter:brightness(1.16)}.is-open:has(.spot-groom:is(:hover,:active,:focus-visible)) .pixel-object-groom{filter:brightness(1.16)}.is-open:has(.spot-story:is(:hover,:active,:focus-visible)) .pixel-object-bench{filter:brightness(1.16)}.is-open:has(.spot-gallery:is(:hover,:active,:focus-visible)) .pixel-object-photo-camera{filter:brightness(1.16)}.is-open:has(.spot-rsvp:is(:hover,:active,:focus-visible)) .pixel-object-registration-table{filter:brightness(1.16)}.is-open:has(.spot-guestbook:is(:hover,:active,:focus-visible)) .pixel-object-guestbook-table{filter:brightness(1.16)}:is(.is-open:has(.spot-gift:is(:hover,:active,:focus-visible)) .pixel-object-gift-blue,.is-open:has(.spot-gift:is(:hover,:active,:focus-visible)) .pixel-object-gift-box){filter:brightness(1.16)}.gift-tabs .intro{margin-bottom:20px;font-size:12px;line-height:1.8}.gift-tablist{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:16px;padding-bottom:6px;display:grid}.gift-tablist button{color:#68775e;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;min-height:44px;padding:9px 2px;font:600 11px DM Sans,sans-serif}.gift-tablist button[aria-selected=true]{color:#405537;background:#e8eddf;border-color:#a7b397;box-shadow:2px 2px #87987544}.gift-tablist button:focus-visible,.gift-tabs [role=tabpanel]:focus-visible{outline-offset:3px;outline:2px solid #82936b}.gift-tabs .bank-card{margin:12px 0;padding:18px}.gift-tabs .bank-card>span{font-size:28px}.gift-tabs .bank-card h3{margin:16px 0 10px;font-size:26px}.gift-tabs .bank-card p{margin-bottom:14px;font-size:12px}.gift-tabs .qris-card{margin:0;padding:18px}.gift-tabs .qris-preview{width:min(100%,160px);margin:12px auto 8px}.gift-tabs .mail-gift{border:1px solid var(--line);background:#f0efe6;margin:0;padding:20px}.gift-tabs .mail-gift h3{margin:0 0 15px;font-size:25px}.gallery-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:24px;margin:0}.gallery-grid .photo{min-width:0;margin:0}.gallery-grid .photo-open{background:#e8eadd;border:1px solid #dce1d2;box-shadow:3px 3px #788b6814}.gallery-grid .photo-open img{object-fit:contain;transform:none}.gallery-grid .photo-open span{color:#fff9eb;background:#243c33bb;padding:5px 7px;bottom:10px;left:10px}.gallery-grid .photo figcaption{color:#68775f;align-items:center;gap:12px;min-height:36px;margin-top:7px;font-size:11px;line-height:1.6}.gallery-grid .photo figcaption>span{overflow-wrap:anywhere;min-width:0}.gallery-grid .photo figcaption button{background:#eef1e7;border:1px solid #dce1d2;flex-shrink:0;place-items:center;min-width:36px;min-height:36px;display:grid}.object-glitter{pointer-events:none;opacity:0;background:#fff9dc;width:3px;height:3px;animation:8s linear infinite object-glitter;position:absolute;top:57%;left:48%;box-shadow:0 0 4px #fff3b9}.object-glitter:before,.object-glitter:after{content:"";background:#fff1bd;width:2px;height:2px;position:absolute}.object-glitter:before{top:5px;left:-9px}.object-glitter:after{width:1px;height:1px;top:-7px;left:9px}@keyframes object-glitter{0%,82%,to{opacity:0;transform:scale(.6)}85%,88%{opacity:.9;transform:scale(1)}91%{opacity:0;transform:scale(.8)}94%{opacity:.6;transform:scale(1)}97%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.object-glitter{animation:none}}.scene-heading{color:#28443d;text-shadow:0 1px #fff7df88}.scene-heading h1{color:#203e37;text-shadow:0 1px #fffae6bb}.scene-heading .eyebrow{letter-spacing:2px;font-weight:600}.scene-heading .date-line{color:#28443d}.scene-heading .date-line span{background:#28443d66}.scene-heading>p{color:#344e45;text-shadow:0 1px #fff7df88}.explore-guide{z-index:6;color:#354d3c;background:#fcf7e9f5;border:1px solid #87977c;justify-content:space-between;align-items:flex-start;gap:10px;width:86%;padding:12px 13px;animation:.3s fade-in;display:flex;position:absolute;bottom:9%;left:7%;box-shadow:3px 3px #344d3b44}.explore-guide p{margin:0 0 4px;font-size:12px;line-height:1.5}.guide-help{color:#59704b;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:5px;min-height:28px;padding:2px 0;font-size:11px;text-decoration:underline;display:flex}.guide-close{color:#59704b;background:0 0;border:0;place-items:center;min-width:32px;min-height:32px;display:grid}@media (prefers-reduced-motion:reduce){.explore-guide{animation:none}}
