/*! 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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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;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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.start{inset-inline-start:var(--spacing)}.resize{resize:both}}@font-face{font-family:IranYekan;src:url(/fonts/IRANYekanX-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IranYekan;src:url(/fonts/IRANYekanX-DemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IranYekan;src:url(/fonts/IRANYekanX-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/GreatVibes-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#283c32;--sage:#71806f;--cream:#f7f1e5;--wine:#6f2432}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:IranYekan,sans-serif}button,input{font:inherit}.landing-shell{background:radial-gradient(circle at 50% 42%,#fffdf7 0,#f8f2e7 46%,#eee4d2 100%);min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid #283c3221;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,6vw,92px);display:flex}.brand{color:var(--ink);letter-spacing:.17em;font-size:19px;text-decoration:none}.brand i{letter-spacing:0;color:var(--wine);font-weight:400}.nav-note{text-transform:uppercase;letter-spacing:.18em;color:#738077;font:11px Arial,sans-serif}.landing-hero{text-align:center;min-height:calc(100vh - 76px);padding:clamp(62px,8vh,100px) 22px 80px;position:relative}.eyebrow{letter-spacing:.35em;color:#728072;margin:0 0 25px;font:10px Arial,sans-serif}h1{z-index:1;letter-spacing:-.045em;max-width:900px;margin:0 auto;font-size:clamp(48px,7.4vw,104px);font-weight:400;line-height:.91;position:relative}h1 em{color:var(--wine);font-weight:400}.hero-copy{color:#5f6d65;max-width:540px;margin:28px auto 34px;font:16px/1.65 Arial,sans-serif}.domain-form{z-index:2;max-width:730px;margin:0 auto;position:relative}.domain-form label{text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font:11px Arial,sans-serif;display:block}.domain-field{background:#ffffffd6;border:1px solid #283c3233;border-radius:100px;align-items:center;padding:7px;display:flex;box-shadow:0 18px 50px #45341f1a}.domain-field input{min-width:80px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:15px 3px 15px 20px;font:16px Arial,sans-serif}.domain-field span{white-space:nowrap;color:#849087;font:14px Arial,sans-serif}.domain-field button{background:var(--wine);color:#fff;cursor:pointer;border:0;border-radius:100px;margin-left:14px;padding:15px 23px;font:13px Arial,sans-serif;transition:all .25s}.domain-field button:hover{background:#55202b;transform:translateY(-2px)}.domain-field b{margin-left:8px}.domain-form small{color:#8b918b;margin-top:12px;font:11px Arial,sans-serif;display:block}.sample-link{width:max-content;max-width:100%;color:var(--wine);background:#ffffff61;border:1px solid #6f243247;border-radius:100px;justify-content:center;align-items:center;gap:14px;margin:0 auto 24px;padding:13px 22px;text-decoration:none;transition:all .25s;display:flex}.sample-link span{color:#68746c;font-size:11px}.sample-link b{font-size:13px}.sample-link small{color:#8b756e;direction:ltr;font-size:11px}.sample-link:hover{background:#fffaf0;transform:translateY(-2px)}.preview-card{aspect-ratio:1.45;background:#fffcf4b8;border:1px solid #283c3236;flex-direction:column;justify-content:center;align-items:center;width:min(390px,76vw);margin:64px auto 0;display:flex;transform:rotate(-1.5deg);box-shadow:0 30px 80px #49382124}.preview-label,.preview-date{letter-spacing:.26em;color:#71806f;text-transform:uppercase;font:9px Arial,sans-serif}.preview-monogram{color:var(--wine);margin:16px 0;font-size:52px}.preview-monogram i{color:#9a8d76;font-size:22px}.botanical{opacity:.34;width:260px;height:520px;position:absolute;top:130px;transform:rotate(-18deg)}.botanical-left{left:-70px}.botanical-right{right:-70px;transform:scaleX(-1)rotate(-18deg)}.botanical:before{content:"";background:#71806f;width:1px;height:100%;position:absolute;top:0;left:126px;transform:rotate(13deg)}.botanical i{border-top:1px solid #71806f;border-bottom:0;border-left:0;border-right:1px solid #71806f;border-radius:0 100%;width:72px;height:24px;position:absolute;left:112px;transform:rotate(-27deg)}.botanical i:first-child{top:74px}.botanical i:nth-child(2){top:145px;left:58px;transform:scaleX(-1)rotate(-28deg)}.botanical i:nth-child(3){top:225px}.botanical i:nth-child(4){top:310px;left:58px;transform:scaleX(-1)rotate(-28deg)}.botanical i:nth-child(5){top:390px}@media (max-width:650px){.nav-note{display:none}.topbar{justify-content:center}.landing-hero{padding-top:58px}.domain-field{border-radius:22px;flex-wrap:wrap;padding:10px}.domain-field input{width:55%}.domain-field button{width:100%;margin:8px 0 0}.botanical{opacity:.18}.hero-copy{font-size:14px}}@media (prefers-reduced-motion:no-preference){.preview-card{animation:5s ease-in-out infinite float}.landing-hero>*{animation:.8s both rise}.landing-hero>:nth-child(5){animation-delay:.12s}.landing-hero>:nth-child(6){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes float{50%{transform:rotate(1.2deg)translateY(-10px)}}}.builder-page{background:#f8f2e7;min-height:100vh;padding:42px max(24px,7vw) 90px}.builder-brand{display:inline-block}.builder-intro{margin:80px 0 48px}.builder-intro h1{text-align:left;margin:0;font-size:clamp(52px,8vw,94px)}.builder-intro>p:last-child{color:#69746d;font:16px/1.6 Arial,sans-serif}.builder-form{background:#ffffff94;border:1px solid #d7cebe;max-width:820px;margin-left:auto;padding:clamp(24px,5vw,58px)}.builder-form label{letter-spacing:.15em;text-transform:uppercase;margin-bottom:25px;font:10px Arial,sans-serif;display:block}.builder-form input,.builder-form textarea{width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #a7ab9f;outline:none;padding:12px 0;font:18px Georgia,serif;display:block}.builder-form input:focus,.builder-form textarea:focus{border-color:var(--wine)}.field-pair{grid-template-columns:1fr 1fr;gap:30px;display:grid}.slug-input{border-bottom:1px solid #a7ab9f;align-items:center;display:flex}.slug-input input{border:0}.slug-input span{color:#818b82;text-transform:none;letter-spacing:0;font:14px Arial,sans-serif}.save-button,.rsvp a,.venue a{background:var(--wine);color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:40px;padding:17px 27px;font:12px Arial,sans-serif;text-decoration:none;display:inline-block}.form-error{color:var(--wine);font:13px Arial,sans-serif}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100vh;padding:60px;display:flex}.not-found a:last-child{color:var(--wine)}.invitation{color:#263b31;background:#f4eedf;overflow:hidden}.envelope-gate{z-index:30;cursor:pointer;background:#f5efdf;border:0;flex-direction:column;justify-content:center;align-items:center;gap:32px;width:100%;height:100%;transition:opacity 1s,visibility 1s;display:flex;position:fixed;inset:0}.is-open .envelope-gate{opacity:0;visibility:hidden}.envelope{aspect-ratio:1.45;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,50% 58%,100% 0,100% 100%,0 100%,0 0,50% 58%);background:#eee5d2;border:1px solid #cabda6;place-items:center;width:min(390px,76vw);display:grid;box-shadow:0 30px 60px #5f4d2c20}.envelope i{background:var(--wine);color:#ead8ac;border-radius:50%;place-items:center;width:72px;height:72px;font-size:24px;display:grid;box-shadow:0 5px 12px #0004}.envelope-gate b{letter-spacing:.3em;text-transform:uppercase;color:#758176;font:10px Arial,sans-serif}.invite-hero{text-align:center;background:radial-gradient(circle,#fbf7ec,#e9deca);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:60px 20px;display:flex;position:relative}.invite-names{align-items:center;gap:clamp(12px,3vw,42px);display:flex}.invite-names h1{font-size:clamp(62px,12vw,168px);line-height:.82}.invite-names i{color:var(--wine);font-size:clamp(24px,4vw,52px)}.invite-date{letter-spacing:.28em;text-transform:uppercase;margin-top:40px;font:11px Arial,sans-serif}.scroll-cue{letter-spacing:.2em;font:9px Arial,sans-serif;position:absolute;bottom:34px}.love-note,.schedule,.venue,.rsvp{flex-direction:column;justify-content:center;min-height:84vh;padding:clamp(90px,13vw,190px) max(24px,12vw);display:flex}.love-note{background:var(--ink);color:#f7f0e1;text-align:center;align-items:center}.love-note h2,.schedule h2,.venue h2,.rsvp h2{margin:20px 0 45px;font-size:clamp(48px,8vw,110px);font-weight:400;line-height:.95}.love-note>p:not(.eyebrow){color:#d8ded9;max-width:580px;font:16px/1.8 Arial,sans-serif}.countdown{background:#c5c8b8;justify-content:center;align-items:center;gap:5vw;min-height:74vh;padding:70px 20px;display:flex}.giant-number{letter-spacing:-.09em;color:#f7f0e2;font-size:clamp(140px,31vw,420px);line-height:.7}.countdown h2{margin:0;font-size:clamp(30px,5vw,72px);font-weight:400}.countdown p{letter-spacing:.2em;text-transform:uppercase;font:11px Arial,sans-serif}.schedule h2{margin-top:20px}.timeline{border-top:1px solid #aeb4aa}.timeline article{border-bottom:1px solid #aeb4aa;grid-template-columns:130px 1fr 1fr;gap:20px;padding:30px 0;display:grid}.timeline b,.timeline p{font:12px Arial,sans-serif}.timeline h3{margin:0;font-size:27px;font-weight:400}.timeline p{color:#727d75}.venue{text-align:center;color:#fff;background:#7d8b77;align-items:center}.venue p{margin-bottom:32px;font:16px Arial,sans-serif}.venue a{color:var(--ink);background:#f5eddf}.details-grid{background:#f8f3e9;grid-template-columns:1fr 1fr;display:grid}.details-grid article{border-right:1px solid #d9cfbd;flex-direction:column;justify-content:center;min-height:60vh;padding:8vw;display:flex}.details-grid span{color:#d1c5b1;font-size:70px}.details-grid h3{font-size:clamp(30px,4vw,58px);font-weight:400}.rsvp{text-align:center;align-items:center}.rsvp>p:not(.eyebrow){margin:-20px 0 34px;font:16px Arial,sans-serif}.invitation footer{text-align:center;background:var(--wine);color:#f6eadc;padding:70px 24px;font-size:clamp(36px,6vw,80px)}.invitation footer i{color:#d9b4a3}.invitation footer small{letter-spacing:.25em;text-transform:uppercase;margin-top:30px;font:9px Arial,sans-serif;display:block}.is-open .invite-hero .invite-names{animation:1.2s both rise}@media (max-width:650px){.field-pair,.details-grid{grid-template-columns:1fr}.timeline article{grid-template-columns:74px 1fr}.timeline p{grid-column:2}.countdown{text-align:center;flex-direction:column}.details-grid article{min-height:45vh}.builder-intro{margin-top:55px}}body *{font-family:IranYekan,sans-serif!important}.invitation{--paper:#f4eee3;--rose:#712839;background:var(--paper)}.invitation .envelope-gate{background:radial-gradient(circle at 50% 40%,#faf5eb,#e9decd);overflow:hidden}.invitation .envelope-gate:before,.invitation .envelope-gate:after{content:"";opacity:.25;filter:saturate(.75);background:url(/garden-invitation.png) 50%/cover;width:280px;height:460px;position:absolute}.invitation .envelope-gate:before{bottom:-60px;left:-150px}.invitation .envelope-gate:after{top:-70px;right:-150px;transform:rotate(180deg)}.invitation .envelope{clip-path:none;width:min(410px,82vw);transform-style:preserve-3d;background:linear-gradient(145deg,#f9f5ed,#e9dfd0);border:1px solid #d2c4b0;animation:4s ease-in-out infinite envelopeBreathe;position:relative;box-shadow:0 35px 80px #4c382e26}.invitation .envelope:before{content:"";opacity:.7;background:linear-gradient(33deg,#0000 49.5%,#cfc0ab 50%,#0000 50.5%),linear-gradient(-33deg,#0000 49.5%,#cfc0ab 50%,#0000 50.5%);position:absolute;inset:0}.invitation .envelope i{z-index:2;background:radial-gradient(circle at 35% 25%,#963f50,#641d2c 65%);border:4px double #9c5360;width:78px;height:78px;font-size:18px;position:relative;box-shadow:0 8px 18px #2d101744}.invitation .invite-hero{color:#5d2733;background:linear-gradient(#f8f1e6aa,#f8f1e61f),url(/garden-invitation.png) 50%/cover no-repeat;min-height:100svh}.invitation .invite-hero:after{content:"";pointer-events:none;background:linear-gradient(#f7f0e3aa 0%,#0000 33% 78%,#ede2d2aa 100%);position:absolute;inset:0}.invitation .invite-hero>*{z-index:1;position:relative}.invitation .invite-names{flex-direction:column;gap:0}.invitation .invite-names h1{text-shadow:0 2px 20px #fff;font-size:clamp(58px,13vw,118px);line-height:1.05}.invitation .invite-date{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:1px solid #8b5d6538;border-radius:100px;padding:8px 18px}@keyframes envelopeBreathe{50%{transform:translateY(-10px)rotate(.8deg);box-shadow:0 45px 95px #4c382e30}}.invitation{max-width:920px;margin:auto;position:relative;box-shadow:0 0 100px #4931231c}.invitation:before,.invitation:after{content:"";z-index:-1;background:#e8ded0;position:fixed;inset:0}.invitation:after{filter:blur(20px);opacity:.16;background:url(/garden-invitation.png) 50%/cover;transform:scale(1.08)}.envelope-gate small{color:#9c8d7a;letter-spacing:.08em;font-size:10px}.is-open .envelope-gate{filter:blur(8px);transform:scale(1.08)}.love-note,.schedule,.rsvp{isolation:isolate;color:#5d2733;background-color:#f7f0e5;position:relative}.love-note:before,.schedule:before,.rsvp:before{content:"";z-index:-1;opacity:.14;filter:saturate(.7);background:url(/garden-invitation.png) bottom/cover no-repeat;position:absolute;inset:0}.love-note:after,.schedule:after,.rsvp:after{content:"❦";color:#873548;font-size:28px;position:absolute;top:54px;left:50%;translate:-50%}.love-note h2 em{color:#8d394c}.countdown{text-align:center;color:#692b39;background:linear-gradient(#faf5ecdd,#f1e6d7dd),url(/garden-invitation.png) 50%/cover;flex-direction:column;gap:4px;min-height:100svh;position:relative}.countdown:before{content:"";border:1px solid #96556666;border-radius:50%;width:190px;height:190px;position:absolute;box-shadow:0 0 0 18px #fff8,0 0 0 19px #96556633}.countdown>*{position:relative}.countdown>.eyebrow{margin-bottom:26px}.giant-number{color:#702b3a;text-shadow:0 4px #fff;font-size:clamp(130px,33vw,300px);line-height:.75}.countdown h2{font-size:clamp(30px,6vw,55px)}.schedule{background:#f8f1e6;padding-inline:clamp(30px,10vw,110px)}.schedule h2,.schedule>.eyebrow{text-align:center}.timeline{border:0;width:100%;max-width:650px;margin:auto;position:relative}.timeline:before{content:"";background:#9f7380;width:1px;position:absolute;top:10px;bottom:10px;right:95px}.timeline article{border:0;grid-template-columns:75px 1fr;padding:34px 125px 34px 0;position:relative}.timeline article:before{content:"";background:#f8f1e6;border:5px solid #7a3141;border-radius:50%;width:19px;height:19px;position:absolute;top:45px;right:86px;box-shadow:0 0 0 5px #f8f1e6}.timeline b{color:#7b3343;position:absolute;top:45px;right:0}.timeline h3{color:#642936;font-size:30px}.timeline p{color:#8a7477;grid-column:2}.venue{isolation:isolate;color:#fff;background:linear-gradient(#5f28399c,#3d1724b8),url(/garden-invitation.png) 50%/cover;min-height:100svh;position:relative}.venue:before{content:"";z-index:-1;border:1px solid #fff8;border-radius:50%;width:min(360px,70vw);height:min(360px,70vw);position:absolute;box-shadow:0 0 0 18px #ffffff12,0 0 0 19px #fff4}.venue h2{text-shadow:0 3px 22px #32111c;font-size:clamp(50px,10vw,92px)}.venue a{color:#682a38;background:#f8f0e4;box-shadow:0 15px 35px #2d10173d}.details-grid{background:#f3eadd}.details-grid article{border-color:#cdbeb1;min-height:66vh;position:relative;overflow:hidden}.details-grid article:after{content:"";opacity:.2;background:url(/garden-invitation.png) 50%/cover;border-radius:50%;width:210px;height:380px;position:absolute;bottom:-190px;left:-80px}.details-grid span{color:#b27e88}.details-grid h3{color:#632a37;max-width:480px}.rsvp{min-height:100svh;overflow:hidden}.rsvp:before{opacity:.22}.rsvp h2{font-size:clamp(52px,10vw,95px)}.rsvp a{background:radial-gradient(circle at 35% 25%,#984556,#611d2c 65%);border:7px double #ae6b77;border-radius:50%;place-items:center;width:145px;height:145px;padding:0;line-height:1.7;display:grid;position:relative;box-shadow:0 15px 30px #45152255}.rsvp a:after{content:"";border:1px dashed #8f5963;border-radius:50%;animation:22s linear infinite sealSpin;position:absolute;inset:-18px}.invitation footer{color:#6d2c3b;background:#f2e8dc;border-top:1px solid #d7c7b5}.petals{z-index:20;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petals i{background:#c9909d99;border-radius:100% 0;width:10px;height:16px;animation:11s linear infinite petalFall;position:absolute;top:-30px}.petals i:first-child{animation-delay:-1s;left:8%}.petals i:nth-child(2){animation-delay:-7s;left:17%;scale:.7}.petals i:nth-child(3){animation-delay:-4s;left:29%}.petals i:nth-child(4){animation-delay:-9s;left:42%;scale:.6}.petals i:nth-child(5){animation-delay:-2s;left:54%}.petals i:nth-child(6){animation-delay:-6s;left:68%;scale:.8}.petals i:nth-child(7){animation-delay:-3s;left:81%}.petals i:nth-child(8){animation-delay:-8s;left:94%;scale:.6}.petals i:nth-child(9){animation-delay:-5s;left:36%}.petals i:nth-child(10){animation-delay:-10s;left:74%}.petals i:nth-child(11){animation-delay:-11s;left:12%;scale:.65}.petals i:nth-child(12){animation-delay:-.5s;left:88%;scale:.8}.reveal{animation:linear both sectionReveal;animation-timeline:view();animation-range:entry 8% cover 30%}.landing-shell{background:linear-gradient(#f8f1e8ed,#f8f1e8ed),url(/garden-invitation.png) 50%/cover fixed}.preview-card{background:linear-gradient(#fff9,#fff9),url(/garden-invitation.png) 50% 65%/cover;border-color:#b9979f}.builder-page{background:linear-gradient(#f8f2e7ec,#f8f2e7ec),url(/garden-invitation.png) 50%/cover fixed}.builder-form{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}@keyframes petalFall{0%{opacity:0;transform:translateY(-5vh)rotate(0)}10%{opacity:.65}to{opacity:0;transform:translate(80px,110vh)rotate(520deg)}}@keyframes sectionReveal{0%{opacity:.35;transform:translateY(60px)scale(.98)}to{opacity:1;transform:none}}@keyframes sealSpin{to{transform:rotate(360deg)}}@media (max-width:650px){.timeline:before{right:65px}.timeline article{padding-right:95px}.timeline article:before{right:56px}.timeline b{right:0}.sample-link span{display:none}.invitation{box-shadow:none}}@media (prefers-reduced-motion:reduce){.petals{display:none}.reveal,.invitation .envelope,.rsvp a:after{animation:none}}.invitation{color:#766b61;background:#f6efdf;max-width:520px;box-shadow:0 0 70px #51443724}.invitation section{min-height:auto}.invitation .music-toggle{z-index:25;color:#fff;cursor:pointer;background:#741c2d;border:0;border-radius:50%;width:54px;height:54px;font-size:18px;position:fixed;bottom:22px;left:max(22px,50vw - 236px);box-shadow:0 8px 20px #48101d45}.invitation .envelope-gate{max-width:none}.invitation .envelope-gate:before,.invitation .envelope-gate:after{display:none}.invitation .envelope{aspect-ratio:941/1280;background:linear-gradient(#f8f2e8e8,#eee5d7e8),url(/garden-invitation.png) 50%/cover;border-color:#d8cbb6;width:min(390px,78vw);height:auto}.invitation .envelope:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);background:linear-gradient(32deg,#0000 49.8%,#c9baa3 50%,#0000 50.3%),linear-gradient(-32deg,#0000 49.8%,#c9baa3 50%,#0000 50.3%),linear-gradient(#f7f0e5 0 42%,#0000 42%)}.invitation .envelope i{letter-spacing:.04em;font-size:16px;top:12%}.invitation .invite-hero{background:url(/garden-invitation.png) 50%/cover no-repeat;justify-content:flex-start;height:100svh;min-height:760px;padding:64px 22px 42px}.hero-kicker{color:#917129;margin:45px 0 8px;font-size:19px}.invitation .invite-date{color:#927331;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0;font-size:13px}.invitation .invite-names{margin-top:54px}.invitation .invite-names h1{color:#8b6d26;text-shadow:0 3px 16px #fff;font-size:clamp(60px,18vw,92px);font-weight:400}.invitation .invite-names i{color:#9c8151}.invitation .scroll-cue{color:#8f7437;bottom:30px}.love-note{background:linear-gradient(#f6efdfd9,#f6efdfd9),url(/garden-invitation.png) top/cover;padding:105px 26px 86px}.love-note:before,.love-note:after,.schedule:after,.rsvp:after{display:none}.torn-card{filter:drop-shadow(0 14px 18px #5c483010);clip-path:polygon(0 2%,5% 1%,10% 2.5%,16% 1.2%,22% 2.2%,29% .8%,36% 2%,44% 1%,52% 2.3%,60% 1%,68% 2%,76% .7%,84% 2.3%,92% 1%,100% 2%,100% 98%,94% 99.2%,88% 97.8%,80% 99.3%,72% 98%,64% 99.2%,56% 97.7%,48% 99%,40% 98%,32% 99.2%,24% 97.8%,16% 99%,8% 98%,0 99%);background:#f4eddf;width:100%;padding:64px 34px;position:relative}.love-note h2{color:#a08034;margin:14px 0 30px;font-size:35px}.love-note>p:not(.eyebrow){color:inherit}.love-note .torn-card>p:not(.eyebrow){color:#7e746b;font-size:14px;line-height:2}.invitation .eyebrow{color:#9c7c31;letter-spacing:.08em}.invitation .countdown{color:#8d6f2c;background:#f6efdf;min-height:430px;padding:80px 18px}.countdown:before{display:none}.invitation .countdown h2{margin:0 0 42px;font-size:28px;font-weight:400}.count-grid{direction:ltr;justify-content:center;align-items:flex-start;gap:8px;display:flex}.count-grid div{flex-direction:column;min-width:62px;display:flex}.count-grid b{color:#7b6541;font-size:30px;font-weight:400}.count-grid span{color:#9b8d79;margin-top:8px;font-size:10px}.count-grid i{color:#b4a488;font-size:28px;font-style:normal}.schedule{background:#f6efdf;padding:70px 25px}.schedule:before{display:none}.schedule-card{padding:58px 35px}.schedule-card>.eyebrow{text-align:center;font-size:18px}.invitation .timeline{margin-top:34px}.invitation .timeline:before{background:#9b8b75;top:28px;bottom:28px;right:50%}.invitation .timeline article{grid-template-columns:1fr 32px 1fr;align-items:center;min-height:62px;padding:18px 0;display:grid}.invitation .timeline article:before{display:none}.invitation .timeline b{text-align:left;color:#756a60;grid-column:1;font-size:18px;font-weight:400;position:static}.invitation .timeline h3{text-align:right;color:#6d6259;grid-column:3;font-size:16px}.invitation .timeline article>span{z-index:1;color:#958879;text-align:center;grid-area:1/2;font-size:9px}.invitation .timeline .rose-dot{color:#b37d83;font-size:27px}.invitation .venue{color:#756a60;background:#f6efdf;padding:80px 24px 90px}.venue h2{color:#9a7b32;text-shadow:none;margin:14px 0;font-size:27px}.venue>p{font-size:13px;line-height:1.8}.venue-sketch{filter:sepia(.35)grayscale(.3);background:url(/garden-invitation.png) 50% 69%/180% no-repeat;width:90%;height:190px;margin:20px auto 26px;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.invitation .venue iframe{pointer-events:none;background:#eee;border:1px solid #ad9252;border-radius:15px;width:86%;height:230px;margin-bottom:20px}.invitation .venue a{color:#8c6e28;box-shadow:none;background:0 0;border:1px solid #9f813c;padding:13px 24px}.details-grid{background:#f6efdf;padding:60px 25px 80px;display:block}.notes-card{background:linear-gradient(#f4eddfe8,#f4eddfe8),url(/garden-invitation.png) 50%/cover;padding:58px 36px}.details-grid .notes-card article{text-align:center;border:0;min-height:0;padding:28px 0;overflow:visible}.details-grid .notes-card article:after{display:none}.details-grid h3{color:#776b62;font-size:17px;font-weight:400;line-height:2}.details-grid .eyebrow{margin-bottom:16px;font-size:20px}.invitation .rsvp{background:#f6efdf;min-height:760px;padding:100px 28px 70px}.rsvp:before{opacity:.16;background:url(/garden-invitation.png) bottom/cover}.invitation .rsvp h2{color:#97762d;margin:16px 0 25px;font-size:30px}.invitation .rsvp>p:not(.eyebrow){color:#8c8075;font-size:13px;line-height:2}.rsvp-seal{color:#f1d8b5;cursor:pointer;background:radial-gradient(circle at 35% 25%,#984556,#611d2c 65%);border:7px double #ae6b77;border-radius:50%;width:126px;height:126px;margin:90px auto 40px;position:relative;box-shadow:0 14px 28px #45152248}.rsvp-seal span{font-size:18px}.rsvp-seal small{color:#8d7133;width:180px;font-size:10px;position:absolute;top:142px;right:50%;translate:50%}.rsvp-letter{opacity:0;grid-template-rows:0fr;transition:grid-template-rows 1s,opacity 1s;display:grid;overflow:hidden}.rsvp-letter>*{min-height:0}.rsvp-open .rsvp-letter{opacity:1;grid-template-rows:auto auto auto;margin-top:70px}.rsvp-letter h3{color:#97762d;font-size:28px;font-weight:400}.rsvp-letter p{font-size:18px}.rsvp-letter a{width:auto;height:auto;box-shadow:none;background:#721e30;border:0;border-radius:30px;padding:13px 25px}.rsvp-letter a:after{display:none}.invitation footer{color:#9a7930;background:#f6efdf;padding:55px 20px;font-size:36px}.invitation footer small{color:#9a8b76}@media (max-width:540px){.invitation{max-width:none}.invitation .music-toggle{left:20px}.invitation .invite-hero{min-height:100svh}.torn-card{padding-inline:28px}}.invitation .invite-hero{background:#efe4d1;justify-content:flex-start;overflow:hidden}.swan-video{z-index:0;object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.invitation .invite-hero:after{z-index:1;background:linear-gradient(#fff8ed52 0%,#0000 34% 70%,#ead8c07d 100%)}.invitation .invite-hero>:not(.swan-video){z-index:2}.invitation .invite-names{gap:14px;margin-top:72px;padding:10px 26px}.invitation .invite-names h1{letter-spacing:.025em;text-shadow:0 4px 24px #fff,0 1px 3px #fff;margin:0;line-height:1.16}.invitation .invite-names i{margin:3px 0;font-size:25px}.hero-kicker{margin-top:54px}.invitation .invite-date{margin-top:8px}.love-note{background:linear-gradient(#f6efe0c7,#f6efe0c7),url(/generated/love-note.png) 50%/cover no-repeat}.love-note .torn-card{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f7efe2d9}.invitation .countdown{text-shadow:0 2px 12px #fff;background:linear-gradient(#f8f0dfad,#f8f0dfad),url(/generated/countdown.png) 50%/cover no-repeat;flex-direction:column;min-height:560px}.invitation .countdown h2{margin-bottom:48px;font-size:34px;font-weight:650}.count-grid{gap:10px}.count-grid div{min-width:76px}.count-grid b{color:#654b22;font-size:clamp(42px,11vw,62px);font-weight:800;line-height:1}.count-grid span{font-size:12px;font-weight:600}.count-grid i{font-size:42px;font-weight:700}.schedule{background:linear-gradient(#f5ecdbc4,#f5ecdbc4),url(/generated/timeline.png) 50%/cover no-repeat}.schedule-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f8f0e3d6}.timeline-flower{z-index:4;width:30px;height:30px;transform:translateY(calc(var(--flower-y) - 15px));pointer-events:none;background:#fff2e9;border:1px solid #c78c9a;border-radius:50%;place-items:center;transition:transform .14s linear;display:grid;right:calc(50% - 15px);box-shadow:0 4px 12px #6e32413d;color:#a85268!important;font-size:20px!important;position:absolute!important;top:0!important}.invitation .timeline article{padding-block:24px}.invitation .timeline h3{padding-right:8px;line-height:1.8}.invitation .timeline b{padding-left:8px}.invitation .venue{color:#695d55;background:linear-gradient(#faf2e6d4,#f4eadbd9),url(/generated/countdown.png) 50%/cover no-repeat}.venue-sketch{filter:none;mix-blend-mode:multiply;background:url(/generated/palace-rose.png) 50%/contain no-repeat;width:100%;height:270px;margin:12px auto 20px;-webkit-mask-image:linear-gradient(#0000 0,#000 10% 88%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 10% 88%,#0000 100%)}.details-grid{background-color:#0000;background-image:linear-gradient(#f5eddfbd,#f5eddfbd),url(/generated/details.png);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:auto,cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.notes-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f7efe3dc}.invitation .rsvp{background:linear-gradient(#f7efdf66,#f7efdf66),url(/generated/rsvp.png) 50%/cover no-repeat}.rsvp:before{display:none}.invitation .rsvp>p:not(.eyebrow){max-width:350px;margin-bottom:42px}.rsvp-seal{margin-top:105px}@media (max-width:540px){.invitation .invite-names{gap:18px;margin-top:68px}.invitation .invite-names h1{font-size:clamp(64px,19vw,94px)}.count-grid{gap:5px}.count-grid div{min-width:66px}.count-grid b{font-size:40px}.count-grid i{font-size:34px}.venue-sketch{height:235px}}.invitation{background:#f6eedf url(/garden-invitation.png) top/520px no-repeat fixed;min-height:100vh;margin:0 auto}.invitation .envelope-gate{background:#f5eddf;gap:0;padding:0;overflow:hidden}.letter-poster,.letter-opening-video{object-fit:cover;object-position:center;border:0;width:min(100vw,520px);height:100svh;display:block}.letter-wax-label{z-index:2;color:#f5d78d;letter-spacing:.02em;text-shadow:0 1px 2px #3b0710;background:radial-gradient(at 40% 30%,#9a3140,#5b101d 70%);border:4px double #c99e55;border-radius:50%;place-items:center;width:138px;height:70px;font-family:Georgia,serif;font-size:20px;font-style:italic;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 7px 15px #2a0d164c}.envelope-gate.is-opening .letter-wax-label{animation:4.8s linear both waxOpen}.envelope-gate>b{z-index:3;color:#6f2432;background:#fff8edc7;border-radius:30px;padding:10px 18px;position:absolute;bottom:62px}.envelope-gate>small{z-index:3;color:#796b5f;position:absolute;bottom:34px}@keyframes waxOpen{0%,50%{top:50%;scale:1}to{top:19%;scale:.92}}.invitation .invite-hero{background:#eee3cf;width:100%;height:100svh;min-height:700px;padding:0}.swan-video{object-fit:cover;object-position:center center;width:100%;height:100%}.invitation .hero-kicker{color:#9b741d;margin:0;font-size:21px;position:absolute;top:17%}.invitation .invite-date{letter-spacing:.06em;color:#98711d;margin:0;font-size:15px;font-weight:600;position:absolute;top:23%}.invitation .invite-names{gap:14px;width:100%;margin:0;padding:0 22px;position:absolute;top:35%}.invitation .invite-names h1{color:#a27920;font-size:clamp(66px,18vw,94px)}.invitation .scroll-cue{color:#8c671e;background:#fff8ed70;border-radius:30px;padding:8px 16px;font-size:11px;bottom:15%}.invitation .love-note,.invitation .countdown,.invitation .schedule,.invitation .venue,.invitation .details-grid,.invitation .rsvp,.invitation footer{background-color:#0000;background-image:linear-gradient(#f7efdfd9,#f7efdfd9),url(/garden-invitation.png);background-position:top;background-size:520px;background-attachment:fixed}.invitation .love-note,.invitation .schedule,.invitation .venue,.invitation .rsvp{padding-top:90px;padding-bottom:90px}.love-note .torn-card,.schedule-card,.notes-card{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#f7efe3c9;box-shadow:0 15px 40px #75604418}.invitation .countdown{min-height:520px;margin:0}.invitation .venue,.details-grid,.invitation .rsvp{margin:0}.reveal{animation:none}@media (max-width:540px){.letter-poster,.letter-opening-video{width:100vw}.letter-wax-label{width:122px;height:64px;font-size:18px}.invitation,.invitation .love-note,.invitation .countdown,.invitation .schedule,.invitation .venue,.invitation .details-grid,.invitation .rsvp,.invitation footer{background-size:100%}.invitation .invite-names{top:36%}}.plan-editor{border:1px solid #cfc1ad;margin:8px 0 30px;padding:25px}.plan-editor legend{color:#6f2432;padding:0 10px;font-weight:700}.plan-row{grid-template-columns:125px 1fr 42px;gap:12px;margin:14px 0;display:grid}.plan-row input{background:0 0;border:0;border-bottom:1px solid #a7ab9f;outline:0;width:100%;padding:12px 6px}.plan-row button,.add-plan{color:#6f2432;cursor:pointer;background:#fffaf1;border:1px solid #bba992}.plan-row button{border-radius:50%;align-self:center;width:38px;height:38px;font-size:21px}.add-plan{border-radius:30px;margin-top:12px;padding:11px 18px}.plan-row input:focus{border-color:#6f2432}@media (max-width:650px){.plan-editor{padding:18px 12px}.plan-row{grid-template-columns:100px 1fr 38px;gap:7px}}.letter-wax-label{display:none}.hero-flower{pointer-events:none;transform-origin:bottom;filter:drop-shadow(0 8px 16px #684d3020);width:46%;max-width:250px;animation:4.8s ease-in-out infinite flowerBreathe;bottom:-8px;z-index:3!important;position:absolute!important}.hero-flower-right{animation-delay:-2.4s;right:-10px}@keyframes flowerBreathe{0%,to{transform:scale(.96)rotate(-.7deg)}50%{transform:scale(1.045)rotate(.7deg)}}.invitation .love-note{min-height:0;padding:38px 22px 44px}.love-note .torn-card{clip-path:none;outline-offset:-13px;background:linear-gradient(135deg,#fffaf0e8,#eee2cce8);border:1px solid #9d7a3e;outline:5px double #bfa26e;padding:48px 38px 42px;box-shadow:inset 0 0 0 1px #e2d1b4,0 14px 32px #5c483018}.love-note .torn-card:before,.love-note .torn-card:after{content:"❦";color:#9a7337;font:25px Georgia,serif;position:absolute;top:12px}.love-note .torn-card:before{right:19px;transform:rotate(35deg)}.love-note .torn-card:after{left:19px;transform:scaleX(-1)rotate(35deg)}.love-note h2{margin:10px 0 22px;font-family:Georgia,IranYekan,serif}.availability{margin-top:10px;font-size:12px;display:block}.availability.available{color:#356c4a}.availability.taken{color:#8b2638}.availability.checking,.availability.idle{color:#887b6e}.signup-card{max-width:620px}.save-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:540px){.hero-flower{width:49%}.invitation .love-note{padding:26px 17px 34px}.love-note .torn-card{padding:43px 29px 37px}}.seal-free-letter{aspect-ratio:941/1200;perspective:1100px;filter:drop-shadow(0 25px 35px #594a3530);width:min(390px,82vw);display:block;position:relative}.letter-back,.letter-flap{background:#f2eadc;border:1px solid #d4c6b2;display:block;position:absolute;inset:0}.letter-back{background:linear-gradient(145deg,#fbf7ed,#e8dcc9)}.letter-back:after{content:"";background:radial-gradient(circle at 20% 30%,#fff9,#0000 35%),linear-gradient(45deg,#0000 48%,#d7c8b255 50%,#0000 52%);border:1px solid #e0d3bf;position:absolute;inset:6%}.letter-flap{clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(#fbf7ef,#e9decd)}.letter-flap:after{content:"❦";color:#c9b89e;font:42px Georgia,serif;position:absolute;top:21%;left:50%;translate:-50% -50%}.letter-card{z-index:0;color:#8a6a32;background:#fffaf0;border:5px double #b59a6c;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:74%;font:25px Georgia,IranYekan,serif;display:flex;position:absolute;bottom:5%;left:8%;right:8%}.letter-card small{font-family:IranYekan,sans-serif;font-size:18px}.is-opening .letter-flap{z-index:3;animation:.85s ease-in forwards flapOpen}.is-opening .letter-card{z-index:2;animation:1.65s ease-in-out .55s forwards cardRise}@keyframes flapOpen{to{transform:rotateX(178deg)}}@keyframes cardRise{0%{transform:translateY(0)}60%{transform:translateY(-39%)}to{transform:translateY(-25%)scale(1.04)}}.hero-flower{object-fit:contain;object-position:bottom;transform-origin:bottom;width:52%;max-width:none;height:auto;bottom:-2.5%}.timeline-flower{width:44px;height:41px;box-shadow:none;transform:translateY(calc(var(--flower-y) - 20px));filter:drop-shadow(0 4px 5px #5a322b38);background:url(/flower-cursor.webp) 50%/contain no-repeat;border:0;right:calc(50% - 22px);color:#0000!important;font-size:0!important}.ornate-card,.schedule-card,.notes-card{outline-offset:-13px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid #9d7a3e;outline:5px double #bfa26e;width:100%;max-width:470px;margin-inline:auto;position:relative;box-shadow:inset 0 0 0 1px #e2d1b4,0 14px 32px #5c483018;clip-path:none!important;background:linear-gradient(135deg,#fffaf0df,#eee2ccdf)!important;padding:48px 38px 42px!important}.ornate-card:before,.ornate-card:after,.schedule-card:before,.schedule-card:after,.notes-card:before,.notes-card:after{content:"❦";color:#9a7337;font:25px Georgia,serif;position:absolute;top:12px}.ornate-card:before,.schedule-card:before,.notes-card:before{right:19px;transform:rotate(35deg)}.ornate-card:after,.schedule-card:after,.notes-card:after{left:19px;transform:scaleX(-1)rotate(35deg)}.invitation .countdown,.invitation .venue,.invitation .details-grid,.invitation .rsvp{min-height:0;padding:38px 22px 44px}.invitation .countdown .ornate-card{padding-top:56px!important;padding-bottom:56px!important}.invitation .venue .ornate-card,.invitation .rsvp .ornate-card{text-align:center}.invitation .venue iframe{width:100%}.invitation .rsvp .ornate-card>p:not(.eyebrow){color:#8c8075;font-size:13px;line-height:2}.invitation .rsvp .rsvp-seal{margin-top:72px}.details-grid .notes-card article{padding-inline:5px}@media (max-width:540px){.hero-flower{width:55%;bottom:-1.5%}.hero-flower-left{left:-3%}.hero-flower-right{right:-3%}.ornate-card,.schedule-card,.notes-card{padding:43px 28px 38px!important}.invitation .countdown,.invitation .venue,.invitation .details-grid,.invitation .rsvp{padding-inline:17px}}.invitation .countdown{padding:72px 18px 78px}.invitation .countdown h2{margin-bottom:42px}.invitation .countdown>.ornate-card{display:contents}.love-note .torn-card{padding:66px 52px 58px!important}.love-note .torn-card>p:not(.eyebrow){margin:16px 0;line-height:2.15}.seal-free-letter{background:url(/generated/fancy-letter-v2.webp) 50%/cover no-repeat;border:1px solid #d4c09e}.seal-free-letter .letter-back{background:url(/generated/fancy-letter-v2.webp) 50%/cover no-repeat;border-color:#cdb68e}.seal-free-letter .letter-flap{filter:drop-shadow(0 5px 5px #74582c24);background:url(/generated/fancy-letter-v2.webp) top/100% no-repeat;border:0}.seal-free-letter .letter-flap:after{display:none}.seal-free-letter .letter-card{background:linear-gradient(145deg,#fffdf7,#f3e7d3);border-color:#b48b4c;box-shadow:inset 0 0 30px #c7a66f1f}@media (max-width:540px){.hero-flower{width:56%;bottom:-6%}.love-note .torn-card{padding:56px 36px 48px!important}}.hero-flower{width:55%;bottom:-15%}.hero-flower-left{left:-3%}.hero-flower-right{right:-3%}.picture-letter{filter:drop-shadow(0 22px 34px #5b452b2b);transform-origin:50%;border-radius:3px;width:min(430px,88vw);height:min(88svh,760px);display:block;position:relative;overflow:hidden}.picture-letter img{object-fit:cover;width:100%;height:100%;display:block}.picture-letter small{white-space:nowrap;color:#9a762f;text-shadow:0 2px 9px #fff,0 1px 2px #fff;background:0 0;border:0;padding:0;font-size:16px;font-weight:600;position:absolute;top:50%;left:50%;translate:-50% -50%}.is-opening .picture-letter{animation:1.35s ease-in-out forwards pictureLetterOpen}@keyframes pictureLetterOpen{0%{opacity:1;transform:scale(1)}55%{opacity:1;transform:scale(1.035)}to{opacity:0;transform:scale(1.09)}}@media (max-width:540px){.hero-flower{width:58%;bottom:-14%}.picture-letter{border-radius:0;width:100vw;height:100svh}}.invitation .hero-kicker{top:10%}.invitation .invite-date{top:16%}.invitation .invite-names{top:27%}.hero-flower{animation-duration:4.8s;bottom:-25%;animation-delay:0s!important}.hero-flower-right{animation-delay:0s!important}@media (max-width:540px){.invitation .hero-kicker{top:8%}.invitation .invite-date{top:14%}.invitation .invite-names{top:25%}.hero-flower{bottom:-24%}}.picture-letter small{letter-spacing:.025em;font-size:21px;top:42%}.invitation .invite-hero{z-index:2;overflow:visible}.hero-flower{z-index:12!important}.invitation .love-note{z-index:1}@media (max-width:540px){.picture-letter small{font-size:20px;top:40%}}.picture-letter{background:#f3ecdf;width:min(100vw,520px);height:100svh}.hero-flower{bottom:-12.5%}@media (max-width:540px){.invitation .hero-kicker{top:15%}.invitation .invite-date{top:22%}.invitation .invite-names{top:35%}.hero-flower{bottom:-12%}.picture-letter small{top:43%}}.picture-letter{width:min(430px,88vw);height:min(88svh,760px)}.picture-letter img{object-fit:cover;object-position:center}.swan-video{object-fit:contain;object-position:center;background:#efe4d1}@media (max-width:540px){.picture-letter{width:88vw;height:min(88svh,760px)}.picture-letter small{font-size:23px;top:36%}}.picture-letter{background:#f3ecdf;border-radius:0;width:min(100vw,520px);height:100svh}.picture-letter img{object-fit:contain;object-position:center;width:100%;height:100%}.picture-letter small{font-size:24px;top:39%}.swan-video{object-fit:contain;object-position:center;background:#efe4d1;width:100%;height:100%;inset:0;transform:scale(.96)}.invitation{background:#f6eedf url(/garden-invitation.png) top/auto 100svh no-repeat fixed}.invitation .love-note,.invitation .countdown,.invitation .schedule,.invitation .venue,.invitation .details-grid,.invitation .rsvp,.invitation footer{background:#f7efdfd1}.invitation footer{background-color:#f7efdfb8}@media (max-width:540px){.picture-letter{width:100vw;height:100svh}.picture-letter small{font-size:23px;top:40%}.swan-video{transform:scale(.97)}.invitation{background-size:auto 100svh}}.picture-letter{width:min(100vw,520px);height:100svh;overflow:hidden}.picture-letter img{object-fit:cover;object-position:center;transform:scale(1.07)}.swan-video{object-fit:cover;object-position:center;background:#efe4d1;transform:scale(1.055)}@media (max-width:540px){.picture-letter img{transform:scale(1.08)}.swan-video{object-position:50% 48%;transform:scale(1.06)}}.hero-flower{bottom:0;translate:0 40%}@media (max-width:540px){.hero-flower{bottom:0;translate:0 40%}}.invitation-loading{background:#f5efdf;min-height:100svh;position:fixed;inset:0}.invitation-story{visibility:hidden;opacity:0;pointer-events:none}.invitation.is-open .invitation-story{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .45s}.envelope-gate{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.picture-letter,.picture-letter img{pointer-events:none}@media (prefers-reduced-motion:reduce){.is-opening .picture-letter{animation:.3s ease-out forwards pictureLetterOpen}}.invitation .invite-hero .invite-names h1{letter-spacing:.01em;font-size:clamp(76px,21vw,108px);font-weight:400;line-height:.95;font-family:Great Vibes,Snell Roundhand,Segoe Script,cursive!important}.invitation .invite-hero .invite-names i{font-size:clamp(24px,7vw,35px);line-height:.7;font-family:Great Vibes,Snell Roundhand,Segoe Script,cursive!important}.admin-loading{color:#765e2d;background:#f6efe3;place-items:center;min-height:100vh;display:grid}.admin-login{background:linear-gradient(#f7efe4df,#f7efe4df),url(/garden-invitation.png) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login form{background:#fffaf1e8;border:1px solid #bda46d;width:min(430px,100%);padding:48px 42px;box-shadow:0 25px 70px #51371b26}.admin-login h1{margin:10px 0 35px;font-size:45px}.admin-login label,.admin-editor label{color:#705f45;margin:18px 0 6px;font-size:13px;display:block}.admin-login input,.admin-editor input,.admin-editor textarea{background:#fffdf8;border:1px solid #d5c6a7;border-radius:8px;outline:none;width:100%;margin-top:7px;padding:12px;display:block}.admin-login input:focus,.admin-editor input:focus,.admin-editor textarea:focus{border-color:#8c6d2b;box-shadow:0 0 0 3px #a8863b18}.admin-shell{color:#554b3e;background:#f5eee2;min-height:100vh}.admin-shell>header{background:#fffaf2;border-bottom:1px solid #d9cdb8;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(20px,4vw,60px);display:flex}.admin-shell>header>div{align-items:center;gap:25px;display:flex}.admin-shell>header p{color:#8b7b63;font-size:12px}.admin-shell>header button{color:#755d31;cursor:pointer;background:0 0;border:1px solid #aa9570;border-radius:30px;padding:9px 20px}.admin-layout{grid-template-columns:300px 1fr;min-height:calc(100vh - 82px);display:grid}.admin-layout aside{background:#eee4d5;border-left:1px solid #d2c4ad;padding:25px 18px;overflow:auto}.admin-layout aside>strong{color:#806832;margin:0 8px 18px;display:block}.admin-layout aside>button{text-align:right;color:#685d4e;cursor:pointer;background:#fffaf188;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:5px;width:100%;margin-bottom:8px;padding:14px;display:flex}.admin-layout aside>button.active{background:#fffaf2;border-color:#a98b4f;box-shadow:0 8px 20px #6c51231a}.admin-layout aside b{font-size:12px;font-family:Arial,sans-serif!important}.admin-layout aside span{font-size:13px}.admin-layout aside small{color:#977634}.admin-layout>section{padding:clamp(22px,4vw,55px);overflow:auto}.admin-empty{color:#92846f;place-items:center;min-height:60vh;display:grid}.admin-editor{background:#fffaf3;border:1px solid #d8c8aa;max-width:900px;margin:auto;padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #50371612}.admin-title{border-bottom:1px solid #e1d6c3;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:24px;display:flex}.admin-title h2{color:#886827;margin:6px 0;font-size:44px;font-weight:400;font-family:Great Vibes,cursive!important}.admin-title a{color:#765b27;border:1px solid #bba474;border-radius:25px;padding:10px 16px;font-size:12px;text-decoration:none}.admin-grid{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}.admin-editor textarea{resize:vertical;min-height:90px}.admin-editor fieldset{border:1px solid #d5c6a7;border-radius:10px;margin:28px 0;padding:20px}.admin-editor legend{color:#80652f;padding:0 10px}.admin-plan{grid-template-columns:120px 1fr 42px;align-items:end;gap:10px;margin-bottom:10px;display:grid}.admin-plan button,.admin-add{color:#7d293a;cursor:pointer;background:#fffaf2;border:1px solid #c9b793;border-radius:8px;height:43px}.admin-add{color:#785f2b;padding:0 18px}.form-notice{color:#387047;background:#edf7ef;border-radius:8px;padding:12px}@media (max-width:760px){.admin-layout{grid-template-columns:1fr}.admin-layout aside{border:0;border-bottom:1px solid #d2c4ad;max-height:270px}.admin-grid{grid-template-columns:1fr}.admin-title{flex-direction:column}.admin-layout>section{padding:16px}.admin-editor{padding:24px 18px}.admin-plan{grid-template-columns:105px 1fr 40px}}
