@font-face{font-family: 'Allura';font-style: normal;font-weight: 400;font-display: swap;src: url(../assets/fonts/allura-normal-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Allura';font-style: normal;font-weight: 400;font-display: swap;src: url(../assets/fonts/allura-normal-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Cormorant Garamond';font-style: italic;font-weight: 400;font-display: swap;src: url(../assets/fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Cormorant Garamond';font-style: italic;font-weight: 400;font-display: swap;src: url(../assets/fonts/cormorant-garamond-italic-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Cormorant Garamond';font-style: italic;font-weight: 500;font-display: swap;src: url(../assets/fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Cormorant Garamond';font-style: italic;font-weight: 500;font-display: swap;src: url(../assets/fonts/cormorant-garamond-italic-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 400;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 400;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 500;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 500;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 600;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 600;font-display: swap;src: url(../assets/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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: 400 600;font-display: swap;src: url(../assets/fonts/dm-sans-normal-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 400 600;font-display: swap;src: url(../assets/fonts/dm-sans-normal-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #F8F3E6;--paper-light: #FCF9F1;--paper-deep: #EFE6D2;--paper-wash: #E9DBB9;--green: #60784D;--green-deep: #495740;--green-soft: #8FA676;--ink: #3D4935;--ink-soft: #5B6851;--lilac: #A28BB9;--lilac-deep: #6F5A92;--lilac-wash: #CDBBDC;--pink: #D98CA5;--pink-deep: #A9506F;--pink-wash: #EDC3CF;--pond: #84BDBD;--pond-deep: #3F7F82;--gold: #B69A62;--gold-deep: #7C6636;--gold-soft: #D8C597;--pavilion: #E9CFC6;--font-script: 'Allura','Great Vibes','Segoe Script',cursive;--font-serif: 'Cormorant Garamond','Cormorant',Garamond,'Times New Roman',serif;--font-sans: 'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--fs-body: clamp(1rem,0.96rem + 0.2vw,1.0625rem);--fs-small: 0.875rem;--fs-kicker: 0.75rem;--fs-h2: clamp(2.25rem,1.6rem + 3vw,3.75rem);--fs-h3: clamp(1.5rem,1.3rem + 0.9vw,2rem);--lh-body: 1.6;--gutter: clamp(20px,5vw,48px);--content: 1080px;--narrow: 640px;--section-pad: clamp(72px,10vw,140px);--shadow-paper: 0 1px 1px rgba(73,87,64,0.06),0 10px 24px -8px rgba(73,87,64,0.22),0 26px 46px -24px rgba(73,87,64,0.22);--shadow-print: 0 1px 2px rgba(61,73,53,0.12),0 12px 26px -10px rgba(61,73,53,0.34);--hairline: 1px solid rgba(182,154,98,0.55);--ease-out: cubic-bezier(0.22,0.61,0.36,1);--ease-soft: cubic-bezier(0.45,0.05,0.25,1);--t-micro: 180ms;--t-card: 520ms;--tex-paper: url('../assets/textures/paper-tile.webp');--tex-sheet-tall: url('../assets/textures/paper-sheet-tall.webp');--tex-sheet-wide: url('../assets/textures/paper-sheet-wide.webp');--tex-sheet-square: url('../assets/textures/paper-sheet-square.webp')}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: 72px}body,h1,h2,h3,h4,p,figure,blockquote,ol,ul,dl,dd,fieldset{margin: 0}ol,ul{padding: 0;list-style: none}fieldset{border: 0;padding: 0;min-width: 0}legend{padding: 0}img,svg,video,canvas{display: block;max-width: 100%}img{height: auto}button,input,textarea,select{font: inherit;color: inherit}button{cursor: pointer;background: none;border: 0;padding: 0}[hidden]{display: none !important}a{color: inherit}body{min-height: 100vh;background-color: var(--paper);background-image: var(--tex-paper);background-size: 384px 384px;color: var(--ink);font-family: var(--font-sans);font-size: var(--fs-body);line-height: var(--lh-body);overflow-x: hidden;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility}@supports (overflow: clip){body{overflow-x: clip}}.js:not(.intro-done) body{overflow: hidden}::selection{background: rgba(162,139,185,0.35);color: var(--ink)}.sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip-link{position: fixed;left: 12px;top: 12px;z-index: 1000;padding: 10px 16px;background: var(--green-deep);color: var(--paper-light);font-size: var(--fs-small);text-decoration: none;border-radius: 3px;transform: translateY(-160%);transition: transform var(--t-micro) var(--ease-out)}.skip-link:focus{transform: none}:focus-visible{outline: 2px solid var(--gold-deep);outline-offset: 3px;border-radius: 2px}.sprite{position: absolute;width: 0;height: 0;overflow: hidden}.noscript{max-width: 40ch;margin: 40px auto;padding: 0 var(--gutter);text-align: center;font-family: var(--font-serif);font-size: 1.25rem}.section-head{position: relative;z-index: 2;max-width: 680px;margin: 0 auto clamp(40px,6vw,72px);text-align: center}.kicker{display: inline-flex;align-items: center;gap: 0.9em;font-family: var(--font-sans);font-size: var(--fs-kicker);font-weight: 600;letter-spacing: 0.28em;text-transform: uppercase;color: var(--gold-deep)}.kicker::before,.kicker::after{content: '';width: 22px;height: 1px;background: currentColor;opacity: 0.55}.section-title{margin-top: 0.35em;font-family: var(--font-serif);font-weight: 500;font-size: var(--fs-h2);line-height: 1.04;letter-spacing: -0.005em;color: var(--green-deep);text-wrap: balance}.section-title em{font-family: var(--font-script);font-style: normal;font-weight: 400;font-size: 1.28em;line-height: 0.8;color: var(--lilac-deep);margin-inline: 0.04em;position: relative;top: 0.06em}.section-intro{max-width: 46ch;margin: 1em auto 0;font-family: var(--font-serif);font-style: italic;font-size: clamp(1.15rem,1.05rem + 0.4vw,1.35rem);line-height: 1.45;color: var(--ink-soft);text-wrap: pretty}.ornament{width: 168px;height: 20px;margin: 18px auto 0;color: var(--gold)}.icon{width: 1.15em;height: 1.15em;flex: none}.is-placeholder{color: var(--ink-soft);font-style: italic}.preview-tag,.demo-banner{display: inline-block;margin-top: 18px;padding: 6px 12px;font-size: 0.8125rem;line-height: 1.4;color: var(--lilac-deep);background: rgba(205,187,220,0.28);border: 1px dashed rgba(111,90,146,0.45);border-radius: 3px}.demo-banner{display: block;margin: 0 0 20px}.demo-banner strong{font-weight: 600}.btn{--btn-bg: transparent;--btn-fg: var(--green-deep);position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 0.55em;min-height: 48px;padding: 0.85em 1.7em;font-family: var(--font-sans);font-size: 0.8125rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;line-height: 1.2;text-decoration: none;text-align: center;color: var(--btn-fg);background: var(--btn-bg);border-radius: 3px 6px 4px 7px / 7px 4px 6px 3px;transition: transform var(--t-micro) var(--ease-out),box-shadow var(--t-micro) var(--ease-out),background-color var(--t-micro),color var(--t-micro);-webkit-tap-highlight-color: transparent;touch-action: manipulation}.btn--primary{--btn-bg: var(--green-deep);--btn-fg: #FBF8EF;background-image: linear-gradient(180deg,rgba(255,255,255,0.08),rgba(0,0,0,0.06));box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14),inset 0 0 0 4px var(--green-deep),inset 0 0 0 5px rgba(216,197,151,0.55),0 8px 18px -10px rgba(61,73,53,0.7)}.btn--primary:hover{--btn-bg: #3F4C37;transform: translateY(-1px);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14),inset 0 0 0 4px #3F4C37,inset 0 0 0 5px rgba(216,197,151,0.7),0 12px 22px -10px rgba(61,73,53,0.75)}.btn--ghost{--btn-bg: rgba(252,249,241,0.72);box-shadow: inset 0 0 0 1px rgba(73,87,64,0.7),inset 0 0 0 4px rgba(252,249,241,0.72),inset 0 0 0 5px rgba(182,154,98,0.5)}.btn--ghost:hover{--btn-bg: rgba(252,249,241,0.98);transform: translateY(-1px)}.btn--text{min-height: 44px;padding: 0.6em 0.4em;letter-spacing: 0.12em;text-decoration: underline;text-decoration-color: rgba(182,154,98,0.7);text-underline-offset: 6px;text-decoration-thickness: 1px}.btn--text:hover{color: var(--pink-deep)}.btn--small{min-height: 44px;padding: 0.7em 1.25em;font-size: 0.75rem}.btn:active{transform: translateY(1px)}.btn[disabled],.btn[aria-disabled='true']{opacity: 0.55;cursor: not-allowed;transform: none}.quiet,.scene{position: relative;padding: var(--section-pad) var(--gutter)}.scene{isolation: isolate}.scene__decor{position: absolute;inset: 0;z-index: -1;pointer-events: none}.art{position: absolute;max-width: none;height: auto;user-select: none;-webkit-user-drag: none;pointer-events: none}.wash{position: absolute;display: block;pointer-events: none;background: var(--wash-color);-webkit-mask: var(--wash-mask,url('../assets/textures/wash-1.webp')) center / 100% 100% no-repeat;mask: var(--wash-mask,url('../assets/textures/wash-1.webp')) center / 100% 100% no-repeat;opacity: var(--wash-opacity,0.55)}.wash--gold{--wash-color: radial-gradient(60% 70% at 40% 45%,#E8CF92,#EEDDB0 60%,#F0E3BE)}.wash--lilac{--wash-color: radial-gradient(60% 70% at 55% 40%,#C3ADDA,#D6C7E6 70%);--wash-mask: url('../assets/textures/wash-2.webp');--wash-opacity: 0.42}.wash--green{--wash-color: radial-gradient(60% 70% at 50% 50%,#B5C59A,#CCD8B6 70%);--wash-mask: url('../assets/textures/wash-3.webp');--wash-opacity: 0.38}.wash--pink{--wash-color: radial-gradient(60% 70% at 50% 50%,#E9AFC2,#F1CCD7 70%);--wash-mask: url('../assets/textures/wash-2.webp');--wash-opacity: 0.4}.wash--blue{--wash-color: radial-gradient(60% 70% at 50% 50%,#9FD0CF,#C3E2E0 70%);--wash-mask: url('../assets/textures/wash-3.webp');--wash-opacity: 0.4}.paper{position: relative;background: var(--tex-sheet-wide) center / 100% 100% no-repeat;padding: clamp(40px,9%,84px) clamp(34px,12%,104px)}.paper--tall{background-image: var(--tex-sheet-tall);padding: clamp(46px,11%,90px) clamp(34px,13%,92px)}.paper--square{background-image: var(--tex-sheet-square)}.print{position: relative;margin: 0;padding: 9px 9px 12px;background: #FFFDF8;box-shadow: var(--shadow-print);border-radius: 1px}.print img{width: 100%;height: 100%;object-fit: cover;background: var(--photo-color,var(--paper-deep))}.print--taped::before{content: '';position: absolute;z-index: 2;left: 50%;top: -12px;width: 88px;height: 26px;transform: translateX(-50%) rotate(-3deg);background: linear-gradient(90deg,rgba(205,187,220,0.75),rgba(220,205,230,0.6));-webkit-mask: linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent 0),repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.75) 3px 5px);box-shadow: 0 1px 2px rgba(61,73,53,0.12)}.photo-placeholder{display: grid;place-items: center;align-content: center;gap: 10px;height: 100%;min-height: 160px;padding: 18px;text-align: center;background: radial-gradient(60% 55% at 50% 45%,rgba(233,219,185,0.65),transparent 72%),var(--paper-light);border: 1px dashed rgba(182,154,98,0.6);font-family: var(--font-serif);font-style: italic;font-size: 1.05rem;line-height: 1.3;color: var(--ink-soft)}.photo-placeholder img{position: static;width: 46px;height: auto;object-fit: contain;background: none;opacity: 0.9}.form-title{font-family: var(--font-serif);font-weight: 500;font-size: var(--fs-h3);line-height: 1.15;color: var(--green-deep);margin-bottom: 14px}.field{display: grid;gap: 6px;margin-bottom: 20px}.field label,.field legend{font-size: 0.875rem;font-weight: 600;letter-spacing: 0.02em;color: var(--ink)}.field__hint{font-weight: 400;color: var(--ink-soft)}.field input[type='text'],.field input[type='number'],.field textarea{width: 100%;min-height: 48px;padding: 12px 14px;font-family: var(--font-sans);font-size: 1rem;line-height: 1.45;color: var(--ink);background: rgba(255,253,247,0.85);border: 1px solid rgba(96,120,77,0.38);border-bottom-width: 2px;border-radius: 3px;transition: border-color var(--t-micro),box-shadow var(--t-micro),background-color var(--t-micro)}.field textarea{resize: vertical;min-height: 112px}.field input:focus,.field textarea:focus{outline: none;border-color: var(--green);background: #FFFEFA;box-shadow: 0 0 0 3px rgba(182,154,98,0.35)}.field [aria-invalid='true']{border-color: var(--pink-deep) !important}.field__error{min-height: 0;font-size: 0.8125rem;color: var(--pink-deep)}.field__error:empty{display: none}.field__meta{font-size: 0.75rem;color: var(--ink-soft);text-align: right}.hp-field{position: absolute !important;left: -9999px;width: 1px;height: 1px;overflow: hidden}.form-actions{display: flex;flex-wrap: wrap;align-items: center;gap: 12px 18px}.form-status{margin-top: 14px;font-size: 0.9375rem;line-height: 1.5}.form-status:empty{display: none}.form-status.is-error{color: var(--pink-deep)}.form-status.is-success{color: var(--green-deep)}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important}}.nowrap{white-space: nowrap}.envelope-gate{position: fixed;inset: 0;z-index: 200;display: none;flex-direction: column;align-items: center;justify-content: center;padding: max(56px,env(safe-area-inset-top)) var(--gutter) max(32px,env(safe-area-inset-bottom));overflow: hidden;background-color: var(--paper);background-image: var(--tex-paper);background-size: 384px 384px}.js:not(.intro-done) .envelope-gate,.envelope-gate.is-replaying{display: flex}.gate__backdrop{position: absolute;inset: 0;pointer-events: none}.gate__wash-a{width: 130vmax;height: 100vmax;left: 50%;top: 46%;transform: translate(-50%,-50%);--wash-opacity: 0.5}.gate__wash-b{width: 70vmax;height: 56vmax;left: 62%;top: 30%;transform: translate(-50%,-50%);--wash-opacity: 0.22}.gate__wisteria{position: absolute;top: -2vw;width: min(78vw,720px)}.gate__wisteria--l{left: -10vw;transform: scaleX(-1)}.gate__wisteria--r{right: -10vw}.gate__wisteria .art{position: relative;width: 100%}.gate__corner{display: none;position: absolute;top: -2vw;width: min(36vw,620px)}.gate__corner .art{position: relative;width: 100%}.gate__corner--l{left: -3vw}.gate__corner--r{right: -3vw;transform: scaleX(-1)}.gate__lotus{bottom: -2vh}.gate__lotus--a{left: 3vw;width: clamp(56px,15vw,120px)}.gate__lotus--b{left: 16vw;width: clamp(70px,20vw,150px);bottom: -4vh}.gate__lotus--c{right: 6vw;width: clamp(60px,17vw,130px)}.gate__lotus--d{right: 24vw;width: clamp(26px,7vw,54px);bottom: -1vh}.gate__skip{position: absolute;z-index: 3;top: max(14px,env(safe-area-inset-top));right: max(14px,env(safe-area-inset-right));min-height: 44px;padding: 10px 14px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.16em;text-transform: uppercase;color: var(--ink-soft);background: rgba(248,243,230,0.85);border-radius: 3px}.gate__skip:not(:focus-visible){opacity: 0;pointer-events: none}.gate__inner{position: relative;z-index: 2;display: flex;flex-direction: column;align-items: center;justify-content: center;width: 100%}.envelope{position: relative;width: min(90vw,560px);max-width: 100%;aspect-ratio: 600 / 410;border-radius: 8px;touch-action: none;cursor: grab;user-select: none;-webkit-user-select: none}.envelope[data-dragging]{cursor: grabbing}.envelope:focus-visible{outline-offset: 10px;border-radius: 8px}.envelope::before{content: '';position: absolute;inset: 9% 1.5% 4%;border-radius: 6px;background: var(--paper-deep) var(--tex-paper);box-shadow: var(--shadow-paper);opacity: 0.45;transition: opacity 0.6s var(--ease-out)}.envelope-gate.is-3d .envelope::before{opacity: 0}@media (prefers-reduced-motion: no-preference){.envelope-gate:not(.is-3d) .envelope::before{animation: envelope-loading 1.4s var(--ease-soft) infinite alternate}}@keyframes envelope-loading{from{opacity: 0.25}to{opacity: 0.55}}.envelope-3d{position: absolute;inset: 0;z-index: 1;width: 100%;height: 100%;pointer-events: none;opacity: 0;transition: opacity 0.8s var(--ease-out)}.envelope-gate.is-3d .envelope-3d{opacity: 1}@media (min-width: 900px){.gate__corner{display: block}.gate__wisteria--l{display: none}.gate__wisteria--r{right: auto;left: 50%;top: -1.8vw;width: min(36vw,620px);transform: translateX(-50%) scaleX(-1)}.gate__lotus--a{left: 12vw}.gate__lotus--b{left: 18vw}.gate__lotus--c{right: 14vw}.gate__lotus--d{right: 26vw}}@media (max-height: 640px){.envelope{width: min(84vw,480px,68vh)}}.hero{position: relative;isolation: isolate;display: flex;flex-direction: column;min-height: 100vh;min-height: 100svh;overflow: hidden}@supports (overflow: clip){.hero{overflow: clip}}.hero__wash{position: absolute;inset: 0;z-index: -3}.hero__wash-a{width: 150vw;height: 125vw;left: -38vw;top: 14vw;--wash-opacity: 0.55}.hero__wash-b{width: 120vw;height: 100vw;right: -50vw;top: 70vw;--wash-mask: url('../assets/textures/wash-3.webp');--wash-opacity: 0.45}.hero__wash-c{width: 80vw;height: 60vw;left: 10vw;top: -16vw;--wash-opacity: 0.28}.hero__canopy{position: absolute;inset: 0;z-index: -1;pointer-events: none}.hero__wisteria,.hero__garland,.hero__banana{position: absolute}.hero__wisteria .art,.hero__garland .art,.hero__banana .art{position: relative;width: 100%}.hero__wisteria--l{left: -7vw;top: -4vw;width: 84vw}.hero__wisteria--r{right: -14vw;top: -7vw;width: 72vw;transform: scaleX(-1)}.hero__garland{display: none}.hero__banana{right: -10vw;bottom: 43vw;width: 42vw}.hero__content{position: relative;z-index: 2;padding: calc(33vw + 32px + env(safe-area-inset-top)) 7vw 0;text-align: center}.hero__overline{max-width: 28ch;margin-inline: auto;font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.24em;line-height: 1.7;text-transform: uppercase;color: var(--gold-deep);text-wrap: balance}@media (min-width: 700px){.hero__overline{max-width: 32ch;letter-spacing: 0.3em}}.hero__names{margin-top: 0.3em;display: flex;flex-direction: column;align-items: center;font-family: var(--font-script);font-weight: 400;color: var(--green-deep);font-size: clamp(3.3rem,14.6vw,8.5rem);line-height: 0.98;outline: none}.hero__name{display: block;width: 100%;overflow-wrap: normal;padding-inline: 0.12em}.hero__name.is-placeholder{color: rgba(73,87,64,0.72);font-style: normal}.hero__amp{font-family: var(--font-serif);font-style: italic;font-size: 0.4em;line-height: 1.1;color: var(--gold-deep)}.hero__headline{max-width: 22ch;margin: 0.7em auto 0;font-family: var(--font-serif);font-style: italic;font-size: clamp(1.2rem,1rem + 1.2vw,1.6rem);line-height: 1.35;color: var(--ink-soft);text-wrap: balance}.hero__orn{margin-top: 14px;width: 150px}.hero__date{margin-top: 10px;font-family: var(--font-serif);font-weight: 600;font-size: clamp(1.15rem,1rem + 0.8vw,1.45rem);letter-spacing: 0.04em;color: var(--green-deep)}.hero__date.is-placeholder{font-weight: 500}.hero__stage{position: relative;flex: none;height: 102vw;margin-top: -10vw;pointer-events: none}.hero__stage .art{position: absolute}.hero__stage .hero__banana .art{position: relative}.hero__palm{left: -15vw;bottom: 21vw;width: 44vw;transform-origin: 50% 100%}.hero__rail--l{left: -3vw;bottom: 25vw;width: 64vw}.hero__rail--r{display: none}.hero__urn{left: 37vw;bottom: 25vw;width: 13vw}.hero__pavilion{right: -17vw;bottom: 25vw;width: 72vw}.hero__peacock{right: 3vw;bottom: 17vw;width: 36vw;z-index: 1}.hero__lotus{z-index: 1}.hero__shrub{left: 10vw;bottom: 15vw;width: 50vw}.hero__pond{position: absolute;left: -12vw;bottom: 0.5vw;width: 124vw}.hero__pond .art{position: relative;width: 100%}.hero__lotus{transform-origin: 50% 100%}.hero__lotus--leaf-a{left: -2vw;bottom: 1vw;width: 24vw}.hero__lotus--bloom{left: 8vw;bottom: 5vw;width: 15vw}.hero__lotus--tall{left: 55vw;bottom: 3vw;width: 12vw}.hero__lotus--small{right: 5vw;bottom: 7vw;width: 8vw}.hero__lotus--float{left: 36vw;bottom: 3vw;width: 19vw}.hero__lotus--bud{left: 75vw;bottom: 9vw;width: 5.5vw}.hero__lotus--leaf-b{right: -5vw;bottom: 0;width: 22vw}.ripple{position: absolute;border-radius: 50%;border: 1px solid rgba(255,255,255,0.75);opacity: 0;pointer-events: none}.hero__pond .ripple--a{left: 30%;top: 66%;width: 11%;aspect-ratio: 3 / 1}.hero__pond .ripple--b{left: 62%;top: 72%;width: 8%;aspect-ratio: 3 / 1}@media (min-width: 700px){.hero{justify-content: center;min-height: max(100vh,700px)}.hero__content{padding: clamp(178px,calc(17vh + 48px),248px) 0 clamp(230px,29vh,320px);width: min(64vw,620px);margin-inline: auto}.hero__names{font-size: clamp(4rem,min(9vw,11vh),7rem)}.hero__headline{max-width: 30ch}.hero__overline{font-size: 0.75rem}.hero__stage{position: absolute;inset: 0;height: auto;margin: 0}.hero__wisteria--l{left: -5vw;top: -3vw;width: 57vw}.hero__wisteria--r{right: -5vw;top: -3.6vw;width: 57vw}.hero__banana{right: -4vw;bottom: 7vh;width: 26vw}.hero__pavilion{right: -6vw;bottom: 6vh;width: 46vw}.hero__peacock{right: 28vw;bottom: 4vh;width: 17vw}.hero__palm{left: -6vw;bottom: 6vh;width: 34vw}.hero__urn{left: 22vw;bottom: 7vh;width: 10vw}.hero__rail--l{left: -2vw;bottom: 7vh;width: 52vw}.hero__shrub{left: 4vw;bottom: 2vh;width: 30vw}.hero__pond{left: 18vw;bottom: -3vh;width: 64vw}.hero__lotus--leaf-a{left: 0;bottom: -1vh;width: 15vw}.hero__lotus--bloom{left: 9vw;bottom: 1vh;width: 9vw}.hero__lotus--tall{left: 70vw;bottom: 0;width: 7vw}.hero__lotus--small{right: 3vw;bottom: 3vh;width: 5vw}.hero__lotus--float{left: 42vw;bottom: 0;width: 11vw}.hero__lotus--bud{left: 84vw;bottom: 4vh;width: 3.4vw}.hero__lotus--leaf-b{right: -2vw;bottom: -2vh;width: 13vw}}@media (min-width: 1024px){.hero__overline{max-width: none}.hero__content{width: min(46vw,660px);padding-top: clamp(164px,calc(16vh + 48px),228px);padding-bottom: clamp(190px,26vh,280px)}.hero__names{font-size: clamp(4rem,min(7vw,11vh),7rem)}.hero__wisteria--l{left: -3vw;top: -2.4vw;width: 40vw}.hero__wisteria--r{right: -3vw;top: -2.4vw;width: 40vw}.hero__garland{display: block;left: 31vw;top: -3.2vw;width: 38vw;transform: scaleX(-1)}.hero__banana{right: -3vw;bottom: 5vw;width: 20vw}.hero__pavilion{right: 2vw;bottom: 5vw;width: 30vw}.hero__peacock{right: 25.5vw;bottom: 3.6vw;width: 12vw}.hero__palm{left: -2vw;bottom: 4.6vw;width: 21vw}.hero__urn{left: 16.5vw;bottom: 5.4vw;width: 6.6vw}.hero__rail--l{left: -1vw;bottom: 5.4vw;width: 35vw}.hero__rail--r{display: block;left: 50vw;bottom: 5.4vw;width: 26vw}.hero__shrub{left: 8vw;bottom: 1.4vw;width: 19vw}.hero__pond{left: 27vw;bottom: -2.6vw;width: 46vw}.hero__lotus--leaf-a{left: 1vw;bottom: -1vw;width: 11vw}.hero__lotus--bloom{left: 23vw;bottom: 0.6vw;width: 6.4vw}.hero__lotus--tall{left: 68vw;bottom: 0;width: 5vw}.hero__lotus--small{right: 2vw;bottom: 1.6vw;width: 3.6vw}.hero__lotus--float{left: 44vw;bottom: 0.2vw;width: 8vw}.hero__lotus--bud{left: 80vw;bottom: 2.6vw;width: 2.4vw}.hero__lotus--leaf-b{right: 10vw;bottom: -1.4vw;width: 9vw}.hero__wash-a{width: 90vw;height: 70vw;left: 5vw;top: -6vw}.hero__wash-b{width: 60vw;height: 50vw;right: -14vw;top: 16vw}.hero__wash-c{width: 50vw;height: 38vw;left: -10vw;top: 30vw}}.date-section{overflow-x: clip}.date-section__wash{width: 130vw;height: 90vw;max-width: 1500px;max-height: 1000px;left: 50%;top: 50%;transform: translate(-50%,-50%);--wash-mask: url('../assets/textures/wash-2.webp');--wash-opacity: 0.32;z-index: -1}.date-section,.note-section,.gallery-section,.venue-section,.video-section,.rsvp-section{isolation: isolate}.story-scene{overflow-x: clip}.story-scene__wash-a{width: 120vw;height: 90vw;left: -40vw;top: 10%}.story-scene__wash-b{width: 100vw;height: 80vw;right: -40vw;top: 55%}.story-scene__wisteria{position: absolute;right: -12vw;top: -9vw;width: 54vw;transform: scaleX(-1)}.story-scene__wisteria .art{position: relative;width: 100%}.story-scene__palm{left: -16vw;bottom: 0;width: 48vw;opacity: 0.95}.story-scene__shrub{right: -10vw;bottom: -2vw;width: 44vw}@media (min-width: 1024px){.story-scene__wisteria{width: 30vw;right: -3vw;top: -3vw}.story-scene__palm{left: -3vw;width: 20vw}.story-scene__shrub{right: 2vw;width: 18vw}.story-scene__wash-a{width: 60vw;height: 46vw;left: -14vw}.story-scene__wash-b{width: 56vw;height: 44vw;right: -16vw}}.gallery-section{overflow-x: clip}.gallery-section__wash{width: 120vw;height: 90vw;max-width: 1600px;max-height: 1100px;left: 50%;top: 30%;transform: translateX(-50%);z-index: -1;--wash-opacity: 0.26}.courtyard{overflow-x: clip;padding-top: calc(var(--section-pad) + 12vw);padding-bottom: calc(var(--section-pad) + 18vw)}.courtyard__wash-a{width: 120vw;height: 90vw;left: -30vw;top: 20%}.courtyard__wash-b{width: 110vw;height: 80vw;right: -40vw;top: 50%;--wash-opacity: 0.4}.courtyard__garland{position: absolute;top: -2vw;width: 74vw}.courtyard__garland .art{position: relative;width: 100%}.courtyard__garland--l{left: -12vw;transform: scaleX(-1)}.courtyard__garland--r{right: -12vw}.courtyard__urn{bottom: 9vw;width: 21vw;z-index: 1}.courtyard__urn--l{left: 1vw}.courtyard__urn--r{right: 1vw}.courtyard__rail{position: absolute;left: 0;right: 0;bottom: 0;height: 21vw;background: url('../assets/optimized/art/balustrade-950.webp') left bottom / auto 100% repeat-x;opacity: 0.95}@media (min-width: 1024px){.courtyard{padding-top: calc(var(--section-pad) + 5vw);padding-bottom: calc(var(--section-pad) + 8vw)}.courtyard__garland{width: 56vw;top: -3.4vw}.courtyard__garland--l{left: -4vw}.courtyard__garland--r{right: -4vw}.courtyard__urn{width: 8vw;bottom: 5.4vw}.courtyard__urn--l{left: 4vw}.courtyard__urn--r{right: 4vw}.courtyard__rail{height: 8.4vw;background-size: auto 100%}.courtyard__wash-a{width: 70vw;height: 54vw;left: -14vw}.courtyard__wash-b{width: 60vw;height: 46vw;right: -16vw}}.wishing-garden{overflow-x: clip}.wishing-garden__wash-a{width: 130vw;height: 100vw;left: -20vw;top: 0}.wishing-garden__wash-b{width: 90vw;height: 70vw;right: -30vw;top: 35%}.wishing-garden__wash-c{width: 100vw;height: 70vw;left: -30vw;bottom: 5%}@media (min-width: 1024px){.wishing-garden__wash-a{width: 80vw;height: 56vw;left: 10vw;top: 6%}.wishing-garden__wash-b{width: 50vw;height: 40vw;right: -10vw}.wishing-garden__wash-c{width: 50vw;height: 36vw;left: -10vw}}.finale{position: relative;isolation: isolate;overflow: hidden;padding: var(--section-pad) var(--gutter) 0;text-align: center}@supports (overflow: clip){.finale{overflow: clip}}.finale__wash{width: 140vw;height: 110vw;max-width: 1500px;max-height: 1100px;left: 50%;top: 0;transform: translateX(-50%);z-index: -1;--wash-opacity: 0.5}.finale__monogram{position: relative;width: min(76vw,380px);aspect-ratio: 1;margin: 0 auto}.finale__ring{position: absolute;inset: 0;width: 100%;height: 100%}.finale__initials{position: absolute;inset: 0;display: grid;place-items: center;font-family: var(--font-script);font-size: clamp(3.6rem,17vw,6.4rem);line-height: 1;color: var(--green-deep);padding-top: 4%}.finale__initials .amp{font-family: var(--font-serif);font-style: italic;font-size: 0.42em;color: var(--gold-deep);margin-inline: 0.12em}.finale__initials .amp--solo{font-size: 1.05em}.finale__title{max-width: 22ch;margin: 28px auto 0;font-family: var(--font-serif);font-weight: 500;font-style: italic;font-size: clamp(1.7rem,1.3rem + 2vw,2.5rem);line-height: 1.2;color: var(--green-deep);text-wrap: balance}.finale__names{margin-top: 10px;font-family: var(--font-script);font-size: clamp(2rem,1.6rem + 2vw,3rem);color: var(--lilac-deep);line-height: 1.1}.finale__date{margin-top: 8px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.26em;text-transform: uppercase;color: var(--gold-deep)}.finale__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px 16px;margin-top: 28px}.finale__mode{margin-top: 18px;font-size: 0.75rem;color: var(--ink-soft)}.finale__garden{position: relative;height: 74vw;margin-top: 24px;pointer-events: none}.finale__garden .art,.finale__garden>div{position: absolute}.finale__garden>div .art{position: relative;width: 100%}.finale__rail{left: 10vw;bottom: 30vw;width: 80vw}.finale__palm{right: -16vw;bottom: 18vw;width: 50vw}.finale__peacock{left: -2vw;bottom: 18vw;width: 36vw;transform: scaleX(-1);z-index: 1}.finale__pond{left: -12vw;bottom: 0;width: 124vw}.finale__pond .ripple--a{left: 40%;top: 70%;width: 10%;aspect-ratio: 3 / 1}.finale__lotus{transform-origin: 50% 100%;z-index: 1}.finale__lotus--a{left: 4vw;bottom: 4vw;width: 16vw}.finale__lotus--b{right: 14vw;bottom: 3vw;width: 12vw}.finale__lotus--c{left: 34vw;bottom: 0;width: 20vw}.finale__lotus--d{left: 60vw;bottom: 2vw;width: 16vw}.finale__lotus--e{right: 4vw;bottom: 6vw;width: 5vw}@media (min-width: 1024px){.finale__garden{height: 24vw;margin-top: 10px}.finale__rail{left: 24vw;bottom: 12.5vw;width: 52vw}.finale__palm{right: 8vw;bottom: 5vw;width: 18vw}.finale__peacock{left: 16vw;bottom: 5.6vw;width: 11vw}.finale__pond{left: 24vw;bottom: -2vw;width: 52vw}.finale__lotus--a{left: 21vw;bottom: 1vw;width: 6vw}.finale__lotus--b{right: 22vw;bottom: 1vw;width: 4.6vw}.finale__lotus--c{left: 36vw;bottom: -0.4vw;width: 7vw}.finale__lotus--d{left: 58vw;bottom: 0.4vw;width: 6vw}.finale__lotus--e{right: 18vw;bottom: 2.4vw;width: 2vw}}.garden-nav{position: fixed;z-index: 60;left: 50%;top: max(10px,env(safe-area-inset-top));display: flex;align-items: center;gap: 2px;padding: 4px;background-color: rgba(252,249,241,0.96);background-image: var(--tex-paper);background-size: 256px;border: var(--hairline);border-radius: 4px;box-shadow: 0 10px 24px -14px rgba(61,73,53,0.55);transform: translate(-50%,calc(-100% - 24px));visibility: hidden;transition: transform 380ms var(--ease-out),visibility 0s linear 380ms}.garden-nav.is-visible{transform: translate(-50%,0);visibility: visible;transition: transform 380ms var(--ease-out),visibility 0s}.js:not(.intro-done) .garden-nav{display: none}.garden-nav__link{display: inline-flex;align-items: center;min-height: 44px;padding: 0 14px;font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.16em;text-transform: uppercase;text-decoration: none;color: var(--ink);border-radius: 3px;white-space: nowrap}.garden-nav__link:hover{background: rgba(233,219,185,0.5)}.garden-nav__link--wide{display: none}.garden-nav__link--rsvp{background: var(--green-deep);color: #FBF8EF}.garden-nav__link--rsvp:hover{background: #3F4C37}@media (min-width: 820px){.garden-nav__link--wide{display: inline-flex}}.date-duo{position: relative;z-index: 1;display: grid;gap: 22px;max-width: 980px;margin: 0 auto;justify-items: center}.scratch{width: min(100%,540px);text-align: center}.scratch__label{font-family: var(--font-serif);font-style: italic;font-size: 1.2rem;line-height: 1.35;color: var(--ink-soft);text-wrap: balance}.scratch__surface{position: relative;margin: 14px auto 0;width: 100%;max-width: 420px;aspect-ratio: 16 / 10.5;border-radius: 3px;overflow: hidden;background: radial-gradient(80% 70% at 50% 45%,#FFFDF7,#F7F0DF);box-shadow: inset 0 0 0 1px rgba(182,154,98,0.55),inset 0 0 0 6px #FFFDF7,inset 0 0 0 7px rgba(182,154,98,0.35)}.scratch__reveal{position: absolute;inset: 0;display: grid;place-content: center;justify-items: center;gap: 2px;padding: 14px}.scratch__weekday{font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.3em;text-transform: uppercase;color: var(--gold-deep)}.scratch__day{font-family: var(--font-serif);font-weight: 500;font-size: clamp(3.6rem,16vw,5rem);line-height: 0.95;color: var(--green-deep);font-variant-numeric: lining-nums}.scratch__month{font-family: var(--font-script);font-size: clamp(2rem,8vw,2.6rem);line-height: 1;color: var(--lilac-deep)}.scratch__time{margin-top: 4px;font-size: 0.8125rem;letter-spacing: 0.08em;color: var(--ink-soft)}.scratch__tba{font-family: var(--font-script);font-size: clamp(2.2rem,9vw,3rem);line-height: 1;color: var(--green-deep)}.scratch__tba-sub{font-family: var(--font-serif);font-style: italic;font-size: 1.05rem;color: var(--ink-soft)}.scratch__surface,.scratch__canvas{cursor: pointer}.scratch__canvas{position: absolute;inset: 0;width: 100%;height: 100%;touch-action: none;transition: opacity 900ms var(--ease-out)}.scratch.is-revealed .scratch__canvas{opacity: 0;pointer-events: none}.scratch__controls{display: flex;flex-wrap: wrap;justify-content: center;gap: 8px 14px;margin-top: 16px}.petal{position: absolute;z-index: 5;width: 12px;height: 8px;border-radius: 80% 10% 80% 10%;pointer-events: none;will-change: transform,opacity}.countdown{width: min(100%,420px);text-align: center}.countdown__sprig{position: absolute;top: -18px;right: 7%;width: 54px;transform: rotate(10deg)}.countdown__title{font-family: var(--font-serif);font-weight: 500;font-size: clamp(1.6rem,1.3rem + 1.2vw,2.1rem);line-height: 1.15;color: var(--green-deep);padding-inline: 30px}.countdown__units{display: grid;grid-template-columns: repeat(4,1fr);margin-top: 18px}.countdown__unit{display: grid;gap: 6px;padding: 4px 2px}.countdown__unit + .countdown__unit{border-left: 1px solid rgba(182,154,98,0.45)}.countdown__num{font-family: var(--font-serif);font-weight: 500;font-size: clamp(2.1rem,9vw,3rem);line-height: 1;color: var(--green-deep);font-variant-numeric: lining-nums tabular-nums}.countdown__label{font-size: 0.625rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ink-soft)}.countdown__status{margin-top: 16px;font-family: var(--font-serif);font-style: italic;font-size: 1.1rem;line-height: 1.4;color: var(--ink-soft)}.countdown.is-inactive .countdown__num{color: rgba(73,87,64,0.35)}.countdown__ics{margin-top: 16px}@media (min-width: 900px){.date-duo{grid-template-columns: 1.12fr 0.88fr;align-items: center;justify-items: stretch;gap: 0}.scratch{justify-self: end;transform: rotate(-1.4deg);z-index: 1}.countdown{justify-self: start;margin-left: -56px;transform: rotate(1.6deg) translateY(44px);z-index: 2}}.note{position: relative;z-index: 1;display: grid;justify-items: center;max-width: 1000px;margin: 0 auto}.letter{width: min(100%,640px);text-align: center}.letter__sprig{top: -8%;left: 50%;width: 64px;transform: translateX(-50%) rotate(-4deg)}.letter__lotus{right: 7%;top: 5%;width: 34px;transform: rotate(18deg)}.letter__leaf{left: 4%;bottom: 3%;width: 66px;transform: rotate(-16deg);opacity: 0.9}.letter__title{margin-top: 10px;font-family: var(--font-serif);font-weight: 500;font-size: clamp(2rem,1.5rem + 2.4vw,3rem);line-height: 1.08;color: var(--green-deep);text-wrap: balance}.letter__orn{margin-top: 12px}.letter__greeting{margin-top: 22px;font-family: var(--font-script);font-size: clamp(1.9rem,1.6rem + 1.4vw,2.5rem);line-height: 1.1;color: var(--lilac-deep)}.letter__body{margin-top: 14px;text-align: left}.letter__body p{font-family: var(--font-serif);font-size: clamp(1.18rem,1.1rem + 0.35vw,1.32rem);line-height: 1.62;color: var(--ink);text-wrap: pretty}.letter__body p + p{margin-top: 0.85em}.letter__signoff{margin-top: 26px;font-family: var(--font-serif);font-style: italic;font-size: 1.2rem;color: var(--ink-soft)}.letter__signature{font-family: var(--font-script);font-size: clamp(2.1rem,1.7rem + 1.8vw,2.9rem);line-height: 1.1;color: var(--green-deep)}.letter__families{margin-top: 0.9rem;font-size: 0.82rem;letter-spacing: 0.04em;color: var(--ink-soft,inherit);opacity: 0.85;text-wrap: balance}.note__portrait{width: min(70vw,280px);aspect-ratio: 3 / 2;margin-bottom: -34px;transform: rotate(-3deg);z-index: 2}.note__portrait img{height: 100%}@media (min-width: 900px){.note{grid-template-columns: 640px 260px;justify-content: center;align-items: start}.letter{grid-column: 1;grid-row: 1}.note__portrait{grid-column: 2;grid-row: 1;width: 320px;margin: 90px 0 0 -70px;transform: rotate(4deg)}}.story{position: relative;max-width: 1040px;margin: 0 auto;padding-bottom: 20px}.story__path{position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible;z-index: 0;pointer-events: none}.story__list{position: relative;z-index: 1;display: grid;gap: clamp(64px,10vw,120px)}.milestone{position: relative;display: grid;padding-left: 66px}.milestone__marker{position: absolute;left: 0;top: 6px;width: 54px;height: 76px;display: grid;place-items: end center}.milestone__marker img{position: static;width: auto;max-width: 100%;height: 100%;object-fit: contain;object-position: bottom}.milestone__print{width: min(100%,320px);aspect-ratio: var(--ratio,4 / 3);transform: rotate(var(--tilt,-1.5deg))}.milestone__print img{height: 100%}.milestone__body{margin-top: 20px;max-width: 40ch}.milestone__chapter{font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.26em;text-transform: uppercase;color: var(--gold-deep)}.milestone__title{margin-top: 4px;font-family: var(--font-serif);font-weight: 600;font-size: clamp(1.7rem,1.4rem + 1vw,2.2rem);line-height: 1.1;color: var(--green-deep)}.milestone__date{margin-top: 6px;font-size: 0.8125rem;font-weight: 500;letter-spacing: 0.08em;color: var(--ink-soft)}.milestone__text{margin-top: 10px;font-family: var(--font-serif);font-size: 1.2rem;line-height: 1.55;color: var(--ink)}.milestone__text.is-placeholder,.milestone__date.is-placeholder{color: var(--ink-soft)}@media (min-width: 900px){.milestone{grid-template-columns: 1fr 140px 1fr;align-items: center;padding-left: 0}.milestone__marker{position: relative;left: auto;top: auto;grid-column: 2;grid-row: 1;justify-self: center;width: 80px;height: 110px}.milestone__print{grid-column: 1;grid-row: 1;justify-self: end;width: min(100%,380px)}.milestone__body{grid-column: 3;grid-row: 1;margin-top: 0;justify-self: start}.milestone:nth-child(even) .milestone__print{grid-column: 3;justify-self: start}.milestone:nth-child(even) .milestone__body{grid-column: 1;justify-self: end;text-align: right}}.path-wash{fill: none;stroke: #E9DBB9;stroke-linecap: round;stroke-linejoin: round;opacity: 0.32}.path-wash--inner{stroke: #E2CFA4;opacity: 0.3}.path-stone{stroke: rgba(140,120,86,0.28);stroke-width: 0.7;opacity: 0.92}.path-flower{opacity: 0.85}.path-vine{fill: none;stroke: #7E9862;stroke-linecap: round;opacity: 0.75}.path-leaf{fill: #8AA36C;opacity: 0.7}.path-leaf--alt{fill: #A8B98A}.gallery{position: relative;z-index: 1;display: flex;gap: clamp(14px,2.4vw,30px);max-width: 1120px;margin: 0 auto;align-items: flex-start}.gallery__col{position: relative;isolation: isolate;flex: 1 1 0;min-width: 0;display: grid;gap: clamp(18px,2.6vw,34px)}.gallery__col:nth-child(2){margin-top: clamp(36px,7vw,90px)}.gallery__col:nth-child(3){margin-top: clamp(12px,3vw,34px)}.gallery__item{display: block;width: 100%;padding: 0;text-align: left;border-radius: 1px;transform: rotate(var(--tilt,0deg));transition: transform var(--t-card) var(--ease-out),box-shadow var(--t-card) var(--ease-out)}.gallery__item .print{padding: clamp(6px,1vw,10px)}.gallery__item img{aspect-ratio: var(--ratio,4 / 5)}.gallery__item:hover{transform: rotate(0deg) translateY(-3px)}.gallery__item:focus-visible{outline-offset: 5px}.gallery__note{padding: 22px 18px;text-align: center;font-family: var(--font-script);font-size: clamp(1.45rem,1.2rem + 1vw,2.1rem);line-height: 1.15;color: var(--lilac-deep);background: var(--paper-light) var(--tex-paper);box-shadow: var(--shadow-print);transform: rotate(-2deg)}.gallery__note img{position: static;width: 56px;margin: 0 auto 6px}.gallery__sprig{position: absolute;pointer-events: none}.gallery__sprig--a{z-index: -1;top: -58px;left: 6px;width: 38px;transform: rotate(-14deg);transform-origin: 50% 100%}.gallery__sprig--b{bottom: -30px;right: -14px;width: 70px;transform: rotate(10deg)}.gallery__empty{width: 100%}.lightbox{width: 100vw;height: 100vh;height: 100dvh;max-width: none;max-height: none;margin: 0;padding: 0;border: 0;background: transparent;color: var(--paper-light);overflow: hidden}.lightbox::backdrop{background: rgba(33,39,29,0.9)}.lightbox[open]{display: grid}.lightbox__inner{position: relative;display: grid;place-items: center;width: 100%;height: 100%;padding: 64px 12px 24px;touch-action: pan-y}.lightbox__figure{display: grid;justify-items: center;gap: 12px;max-width: 100%;max-height: 100%}.lightbox__img{max-width: min(100%,1400px);max-height: calc(100dvh - 150px);width: auto;height: auto;object-fit: contain;border: 8px solid #FFFDF8;box-shadow: 0 20px 60px rgba(0,0,0,0.45);background: #2B3226}.lightbox__caption{display: flex;flex-wrap: wrap;justify-content: center;gap: 4px 12px;padding-inline: 50px;font-size: 0.875rem;text-align: center;color: #EDE6D4}.lightbox__count{font-weight: 600;letter-spacing: 0.14em;color: var(--gold-soft)}.lightbox__btn{position: absolute;display: grid;place-items: center;width: 48px;height: 48px;border-radius: 50%;color: #FBF8EF;background: rgba(252,249,241,0.12);box-shadow: inset 0 0 0 1px rgba(216,197,151,0.55);transition: background-color var(--t-micro)}.lightbox__btn:hover{background: rgba(252,249,241,0.24)}.lightbox__btn svg{width: 22px;height: 22px}.lightbox__btn--close{top: max(12px,env(safe-area-inset-top));right: 12px}.lightbox__btn--prev{left: 10px;top: 50%;transform: translateY(-50%)}.lightbox__btn--next{right: 10px;top: 50%;transform: translateY(-50%)}@media (max-width: 699px){.lightbox__btn--prev,.lightbox__btn--next{top: auto;bottom: max(14px,env(safe-area-inset-bottom));transform: none}.lightbox__inner{padding-bottom: 80px}.lightbox__img{max-height: calc(100dvh - 190px);border-width: 5px}}.arches{position: relative;z-index: 1;display: flex;flex-wrap: wrap;justify-content: center;gap: 30px 26px;max-width: 1120px;margin: 0 auto}.arch{--tint: var(--pink);--tint-wash: url('../assets/textures/wash-1.webp');position: relative;width: min(100%,330px);padding: 128px 26px 30px;text-align: center;background-color: var(--paper-light);background-image: var(--tex-paper);background-size: 256px;border-radius: 50% 50% 6px 6px / 150px 150px 6px 6px;box-shadow: var(--shadow-paper)}.arch::before{content: '';position: absolute;inset: 9px;border: 1px solid rgba(182,154,98,0.6);border-radius: inherit;pointer-events: none}.arch__wash{position: absolute;left: 12%;right: 12%;top: 18px;height: 120px;pointer-events: none;background: var(--tint);opacity: 0.38;-webkit-mask: var(--tint-wash) center / 100% 100% no-repeat;mask: var(--tint-wash) center / 100% 100% no-repeat}.arch__art{position: absolute;left: 50%;top: 22px;height: 100px;width: auto;transform: translateX(-50%)}.arch__art--sangeet{height: 96px}.arch__art--wedding{height: 104px;top: 18px}.arch__title{font-family: var(--font-serif);font-weight: 600;font-size: clamp(1.75rem,1.5rem + 0.8vw,2.1rem);line-height: 1.1;color: var(--green-deep)}.arch__desc{margin-top: 6px;font-family: var(--font-serif);font-style: italic;font-size: 1.08rem;line-height: 1.4;color: var(--ink-soft)}.arch__meta{display: grid;gap: 10px;margin: 18px auto 0;max-width: 250px;text-align: left}.arch__meta li{display: grid;grid-template-columns: 20px 1fr;gap: 10px;align-items: start;font-size: 0.9375rem;line-height: 1.4}.arch__meta .icon{width: 18px;height: 18px;margin-top: 2px;color: var(--gold-deep)}.arch__meta small{display: block;font-size: 0.8125rem;color: var(--ink-soft)}.arch__dress{margin-top: 16px;padding-top: 14px;border-top: 1px dashed rgba(182,154,98,0.55);font-size: 0.8125rem;letter-spacing: 0.04em;color: var(--ink-soft)}.arch__dress strong{display: block;font-size: 0.6875rem;letter-spacing: 0.22em;text-transform: uppercase;color: var(--gold-deep)}.arch__actions{margin-top: 16px}.arch--featured{width: min(100%,370px)}.arch--featured .arch__title{font-size: clamp(2rem,1.7rem + 1vw,2.5rem)}.arch--gold{--tint: #E2C16F}.arch--green{--tint: #9FB582;--tint-wash: url('../assets/textures/wash-3.webp')}.arch--lilac{--tint: #B9A0D4;--tint-wash: url('../assets/textures/wash-2.webp')}.arch--pink{--tint: #E7A2B9}.arch--blue{--tint: #8DC8C7;--tint-wash: url('../assets/textures/wash-3.webp')}@media (min-width: 900px){.arches{gap: 40px 30px;align-items: flex-start}.arch{width: 310px}.arch--featured{width: 360px}.arch:nth-child(3n + 2){margin-top: 44px}}.venues{position: relative;z-index: 1;display: grid;gap: 36px;max-width: 980px;margin: 0 auto}.venue{display: grid;gap: 22px;justify-items: center;text-align: center}.venue__vignette{position: relative;width: min(66vw,280px);aspect-ratio: 1}.venue__vignette .art{position: absolute}.venue__ring{inset: 0;width: 100%;height: 100%}.venue__pavilion{left: 50%;top: 52%;width: 62%;transform: translate(-50%,-50%)}.venue__label{font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.24em;text-transform: uppercase;color: var(--gold-deep)}.venue__name{margin-top: 6px;font-family: var(--font-serif);font-weight: 600;font-size: clamp(1.8rem,1.5rem + 1.2vw,2.5rem);line-height: 1.1;color: var(--green-deep)}.venue__address{margin-top: 10px;font-size: 1rem;line-height: 1.55;color: var(--ink);font-style: normal}.venue__note{margin-top: 8px;font-family: var(--font-serif);font-style: italic;font-size: 1.1rem;color: var(--ink-soft)}.venue__events{margin-top: 10px;font-size: 0.8125rem;color: var(--ink-soft)}.venue__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-top: 20px}.venue__map{width: 100%;margin-top: 20px;aspect-ratio: 16 / 10;border: 6px solid #FFFDF8;box-shadow: var(--shadow-print);background: var(--paper-deep)}.venue__map iframe{width: 100%;height: 100%;border: 0;display: block}.venue__soon{margin-top: 10px;font-family: var(--font-serif);font-style: italic;font-size: 1.2rem;color: var(--ink-soft)}@media (min-width: 900px){.venue{grid-template-columns: 300px 1fr;justify-items: start;text-align: left;gap: 48px;align-items: center}.venue__actions{justify-content: flex-start}}.video-frame{position: relative;max-width: 920px;margin: 0 auto;padding: clamp(10px,2vw,20px);background: var(--paper-light) var(--tex-paper);box-shadow: var(--shadow-paper)}.video-frame::before{content: '';position: absolute;inset: 5px;border: 1px solid rgba(182,154,98,0.55);pointer-events: none}.video-frame__sprig{top: -38px;width: 56px;z-index: 2}.video-frame__sprig--l{left: 6%;transform: rotate(-10deg)}.video-frame__sprig--r{right: 6%;transform: scaleX(-1) rotate(-10deg)}.video-frame__lotus{left: -18px;bottom: -22px;width: 64px;z-index: 2;transform: rotate(-12deg)}.video-frame__leaf{right: -22px;bottom: -26px;width: 84px;z-index: 2}.video-frame__screen{position: relative;aspect-ratio: 16 / 9;overflow: hidden;background: #2F3A2B}.video-frame__screen video,.video-frame__poster{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.video-play{position: absolute;inset: 0;display: grid;place-items: center;align-content: center;gap: 12px;width: 100%;color: #FBF8EF;background: linear-gradient(180deg,rgba(33,39,29,0.05),rgba(33,39,29,0.45))}.video-play__disc{display: grid;place-items: center;width: 84px;height: 84px;border-radius: 50%;background: rgba(252,249,241,0.94);color: var(--green-deep);box-shadow: 0 0 0 6px rgba(252,249,241,0.3),inset 0 0 0 1px rgba(182,154,98,0.8),0 10px 30px rgba(0,0,0,.3);transition: transform var(--t-micro) var(--ease-out)}.video-play__disc svg{width: 30px;height: 30px;margin-left: 4px}.video-play:hover .video-play__disc{transform: scale(1.05)}.video-play__label{font-size: 0.75rem;font-weight: 600;letter-spacing: 0.2em;text-transform: uppercase;text-shadow: 0 1px 8px rgba(0,0,0,.4)}.video-frame__placeholder{position: absolute;inset: 0;display: grid;place-items: center;align-content: center;gap: 10px;padding: 20px;text-align: center;background: radial-gradient(60% 70% at 50% 45%,#FBF6EA,#EFE5CF 75%,#E7DAC0);color: var(--ink-soft);font-family: var(--font-serif);font-style: italic;font-size: 1.2rem}.video-frame__placeholder-art{width: min(40%,260px);height: auto;opacity: 0.9}.video-close{position: absolute;z-index: 3;top: 10px;right: 10px}.wish-tree{position: relative;z-index: 1;max-width: 1160px;margin: 0 auto;padding-top: clamp(84px,20vw,190px)}.wish-tree__bough{position: absolute;top: 0;left: calc(var(--gutter) * -1);right: calc(var(--gutter) * -1);height: 40vw;max-height: 300px;pointer-events: none}.wish-tree__garland{position: absolute;top: -2vw;width: 72%}.wish-tree__garland .art{position: relative;width: 100%}.wish-tree__garland--l{left: -6%;transform: scaleX(-1)}.wish-tree__garland--r{right: -6%}.wish-tree__garland--c{display: none;left: 50%;width: 36%;transform: translateX(-50%);z-index: 1}.wish-notes{position: relative;columns: 2;column-gap: 14px}.wish-note{--thread: 30px;position: relative;padding-top: var(--thread);transform-origin: 50% 0;break-inside: avoid}.wish-note:nth-child(1){--thread: 34px}.wish-note:nth-child(2){--thread: 22px}.wish-note:nth-child(3){--thread: 76px}.wish-note:nth-child(4){--thread: 24px}.wish-note:nth-child(5){--thread: 26px}.wish-note::before{content: '';position: absolute;left: 50%;top: 0;width: 1px;height: calc(var(--thread) + 10px);background: linear-gradient(rgba(124,102,54,0.15),rgba(124,102,54,0.75))}.wish-note__card{position: relative;padding: 30px 14px 16px;background-color: #FFFCF3;background-image: var(--tex-paper);background-size: 256px;clip-path: polygon(16% 0,84% 0,100% 11%,100% 100%,0 100%,0 11%);filter: drop-shadow(0 6px 8px rgba(61,73,53,0.16));transform: rotate(var(--tilt,0deg))}.wish-note__card::before{content: '';position: absolute;left: 50%;top: 9px;width: 10px;height: 10px;margin-left: -5px;border-radius: 50%;background: var(--paper);box-shadow: inset 0 0 0 1.5px rgba(124,102,54,0.55)}.wish-note__card::after{content: '';position: absolute;inset: 22px 8px 8px;border: 1px solid rgba(182,154,98,0.3);pointer-events: none}.wish-note--tint-1 .wish-note__card{background-color: #FBF2F4}.wish-note--tint-2 .wish-note__card{background-color: #F5F1F8}.wish-note--tint-3 .wish-note__card{background-color: #F6F7EC}.wish-note__msg{position: relative;font-family: var(--font-serif);font-style: italic;font-size: 1.05rem;line-height: 1.4;color: var(--ink);overflow-wrap: anywhere}.wish-note__msg.is-clamped{display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;overflow: hidden}.wish-note__name{position: relative;margin-top: 10px;font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.16em;text-transform: uppercase;color: var(--gold-deep);overflow-wrap: anywhere}.wish-note__tag{display: inline-block;margin-left: 4px;padding: 1px 5px;font-size: 0.5625rem;letter-spacing: 0.1em;color: var(--lilac-deep);border: 1px solid rgba(111,90,146,0.4);border-radius: 2px;vertical-align: middle}.wish-note__more{position: relative;margin-top: 6px;min-height: 32px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.08em;color: var(--green-deep);text-decoration: underline;text-underline-offset: 3px}.wish-note.is-new .wish-note__card{box-shadow: 0 0 0 2px rgba(217,140,165,0.6)}.wish-tree__empty{margin: 30px auto 0;text-align: center;font-family: var(--font-serif);font-style: italic;font-size: 1.2rem;color: var(--ink-soft)}.wish-tree__more{display: flex;justify-content: center;margin-top: 30px}.wish-tree__ground{position: relative;height: 120px;margin-top: 10px;pointer-events: none}.wish-ground__lotus{bottom: 0}.wish-ground__lotus--a{left: 4%;width: 54px}.wish-ground__lotus--b{left: 12%;width: 86px;bottom: -14px}.wish-ground__lotus--c{right: 18%;width: 22px}.wish-ground__lotus--d{left: 44%;width: 80px;bottom: -6px}.wish-ground__lotus--e{right: 6%;width: 36px}.bloom{position: absolute;z-index: 6;width: 90px;pointer-events: none}.wish-form{width: min(100%,1080px);margin: 30px auto 0;padding: clamp(30px,4vw,46px) clamp(34px,8%,88px)}.wish-form__heading{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 16px;margin-bottom: 18px}.wish-form__heading .form-title{margin: 0}.wish-form__preview{font-size: 0.6875rem;letter-spacing: 0.08em;text-transform: uppercase;color: var(--lilac-deep)}.wish-form__row{display: grid;grid-template-columns: minmax(0,1fr) 56px;align-items: start;gap: 14px}.wish-form .field{min-width: 0;margin-bottom: 0}.wish-form__name{grid-column: 1 / -1}.wish-form .field input,.wish-form .field textarea{min-height: 56px;border-radius: 5px}.wish-form .field textarea{height: 56px;resize: vertical}.wish-form .field input::placeholder,.wish-form .field textarea::placeholder{color: var(--ink-soft);opacity: 0.8}.wish-form__send{width: 56px;height: 56px;padding: 0}.wish-form__send svg{flex: none}.wish-form .form-actions:has(>[hidden]:only-child){display: none}.wish-form .form-actions{margin-top: 12px}@media (min-width: 700px){.wish-form__row{grid-template-columns: minmax(0,3fr) minmax(0,6fr) 56px}.wish-form__name{grid-column: auto}}@media (min-width: 700px){.wish-notes{columns: 3;column-gap: 22px}.wish-note:nth-child(3){--thread: 40px}.wish-note:nth-child(4){--thread: 96px}}@media (min-width: 1024px){.wish-notes{columns: auto;display: flex;justify-content: center;align-items: flex-start;gap: 0 28px;padding-inline: 20px}.wish-note{flex: 0 1 210px}.wish-note{--thread: 56px}.wish-note:nth-child(2){--thread: 120px}.wish-note:nth-child(3){--thread: 74px}.wish-note:nth-child(4){--thread: 136px}.wish-note:nth-child(5){--thread: 64px}.wish-tree__bough{max-height: 300px}.wish-tree__garland{width: 50%;top: -4vw}.wish-tree__garland--l{left: -1%}.wish-tree__garland--r{right: -1%}.wish-tree__garland--c{display: block;top: -3.4vw;width: 34%}}.sheet{width: min(94vw,640px);max-height: 88vh;margin: auto;padding: 0;border: 0;background: transparent;overflow: visible}.sheet::backdrop{background: rgba(33,39,29,0.55)}.sheet__inner{max-height: 88vh;overflow-y: auto;overscroll-behavior: contain}.sheet__close{position: absolute;top: 4%;right: 6%;display: grid;place-items: center;width: 44px;height: 44px;border-radius: 50%;color: var(--green-deep);box-shadow: inset 0 0 0 1px rgba(73,87,64,0.35);background: var(--paper-light)}.sheet__close svg{width: 20px;height: 20px}.sheet__list{display: grid;gap: 14px;margin-top: 8px}.sheet__item{padding: 14px 16px;background: rgba(255,253,247,0.85);border-left: 2px solid var(--pink)}.sheet__item p{font-family: var(--font-serif);font-style: italic;font-size: 1.1rem;line-height: 1.45;overflow-wrap: anywhere}.sheet__meta{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 12px;margin-top: 8px;font-size: 0.75rem;letter-spacing: 0.06em;color: var(--ink-soft)}.sheet__meta strong{color: var(--gold-deep);letter-spacing: 0.14em;text-transform: uppercase;font-size: 0.6875rem}.sheet__meta button{min-height: 32px;font-size: 0.75rem;text-decoration: underline;text-underline-offset: 3px;color: var(--pink-deep)}.sheet__more{display: flex;justify-content: center;margin-top: 18px}.music-toggle{position: fixed;z-index: 65;right: max(12px,env(safe-area-inset-right));bottom: max(12px,env(safe-area-inset-bottom));display: grid;place-items: center;width: 44px;height: 44px;color: var(--green-deep);background: rgba(252,249,241,0.94);border: 1px solid rgba(182,154,98,0.65);border-radius: 50%;box-shadow: 0 4px 18px -9px rgba(61,73,53,0.4);touch-action: manipulation}.music-toggle svg{pointer-events: none}.music-toggle[aria-pressed='false'] .music-toggle__waves,.music-toggle[aria-pressed='true'] .music-toggle__slash{display: none}.js:not(.intro-done) .music-toggle,body:has(input:focus,textarea:focus,select:focus) .music-toggle{visibility: hidden}.postcard{position: relative;z-index: 1;display: grid;gap: 26px;max-width: 1020px;margin: 0 auto}.postcard__side{position: relative;padding-right: 96px}.postcard__side .kicker{letter-spacing: 0.2em}.postcard__stamp{position: absolute;top: -6px;right: 0;width: 76px;height: 90px;padding: 6px;background: #FFFDF8;-webkit-mask: linear-gradient(#000 0 0) center / calc(100% - 8px) calc(100% - 8px) no-repeat,radial-gradient(circle at 4px 4px,transparent 2.4px,#000 2.8px) -4px -4px / 8px 8px;mask: linear-gradient(#000 0 0) center / calc(100% - 8px) calc(100% - 8px) no-repeat,radial-gradient(circle at 4px 4px,transparent 2.4px,#000 2.8px) -4px -4px / 8px 8px;filter: drop-shadow(0 2px 2px rgba(61,73,53,0.18));transform: rotate(4deg)}.postcard__stamp .art{position: relative;width: 100%;height: 100%;object-fit: cover;object-position: 30% 20%;background: linear-gradient(160deg,#E4EDE3,#D2E3E3)}.postcard__postmark{position: absolute;top: 46px;right: 54px;display: grid;place-content: center;width: 76px;height: 76px;border-radius: 50%;border: 1.5px solid rgba(124,102,54,0.5);box-shadow: inset 0 0 0 5px transparent,inset 0 0 0 6px rgba(124,102,54,0.35);font-family: var(--font-serif);font-size: 0.8125rem;font-weight: 600;letter-spacing: 0.2em;text-transform: uppercase;line-height: 1.2;text-align: center;color: rgba(124,102,54,0.7);transform: rotate(-14deg);pointer-events: none}.postcard__title{margin-top: 10px;font-family: var(--font-script);font-weight: 400;font-size: clamp(3rem,2.4rem + 3vw,4.4rem);line-height: 1;color: var(--green-deep)}.postcard__deadline{margin-top: 12px;font-family: var(--font-serif);font-weight: 600;font-size: 1.15rem;color: var(--pink-deep)}.postcard__text{margin-top: 10px;font-family: var(--font-serif);font-style: italic;font-size: 1.15rem;line-height: 1.5;color: var(--ink-soft);max-width: 30ch}.postcard__lotus{display: none}.postcard__form,.postcard__done,.postcard__closed{position: relative}.postcard__done{padding: 10px 0;outline: none}.postcard__done p{font-family: var(--font-serif);font-size: 1.2rem;line-height: 1.55}.postcard__done .btn{margin-top: 16px}.postcard__closed{font-family: var(--font-serif);font-style: italic;font-size: 1.25rem;color: var(--ink-soft)}.attend__options{display: grid;gap: 10px;margin-top: 4px}.attend__option{position: relative;display: grid;grid-template-columns: 26px 1fr;align-items: center;gap: 12px;min-height: 60px;padding: 12px 14px;cursor: pointer;background: rgba(255,253,247,0.8);border: 1px solid rgba(96,120,77,0.35);border-radius: 3px;transition: border-color var(--t-micro),background-color var(--t-micro),box-shadow var(--t-micro)}.attend__option input{position: absolute;opacity: 0;width: 1px;height: 1px}.attend__mark{width: 22px;height: 22px;border-radius: 50%;border: 1.5px solid var(--green);background: #FFFEFA;position: relative}.attend__mark::after{content: '';position: absolute;inset: 4px;border-radius: 50%;background: var(--pink-deep);transform: scale(0);transition: transform var(--t-micro) var(--ease-out)}.attend__text strong{display: block;font-family: var(--font-serif);font-weight: 600;font-size: 1.2rem;line-height: 1.2;color: var(--green-deep)}.attend__text small{font-size: 0.8125rem;color: var(--ink-soft)}.attend__option:has(input:checked){border-color: var(--green-deep);background: #F6F1E2;box-shadow: inset 0 0 0 1px var(--green-deep)}.attend__option:has(input:checked) .attend__mark::after{transform: scale(1)}.attend__option:has(input:focus-visible){outline: 2px solid var(--gold-deep);outline-offset: 3px}.attend__option input:checked + .attend__mark::after{transform: scale(1)}.stepper{display: inline-flex;align-items: stretch;width: max-content;border: 1px solid rgba(96,120,77,0.38);border-radius: 3px;background: rgba(255,253,247,0.85)}.stepper__btn{width: 48px;min-height: 48px;font-size: 1.4rem;line-height: 1;color: var(--green-deep)}.stepper__btn:hover{background: rgba(233,219,185,0.45)}.field .stepper input[type='number']{width: 64px;min-height: 48px;text-align: center;border: 0;border-inline: 1px solid rgba(96,120,77,0.25);border-radius: 0;background: transparent;-moz-appearance: textfield;appearance: textfield;font-weight: 600}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance: none;margin: 0}@media (min-width: 900px){.postcard{grid-template-columns: 0.85fr 1.15fr;gap: 0}.postcard__side{padding: 6px 52px 0 0;border-right: 1px dashed rgba(182,154,98,0.6)}.postcard__form,.postcard__done,.postcard__closed{padding-left: 48px}.postcard__stamp{right: 34px}.postcard__postmark{right: 92px;top: 52px}.postcard__lotus{display: block;left: -8px;bottom: -30px;width: 70px;transform: rotate(-6deg)}.attend__options{grid-template-columns: 1fr 1fr}}@media (prefers-reduced-motion: no-preference){.sway{animation: sway-hang 9s var(--ease-soft) infinite alternate;transform-origin: 50% 0;will-change: transform}.sway--leaf{animation-name: sway-leaf;animation-duration: 7.5s;transform-origin: 40% 100%}.sway--stem{animation-name: sway-stem;animation-duration: 6s;transform-origin: 50% 100%}.sway--late{animation-delay: -3.2s}.sway--slow{animation-duration: 12s}.bob{animation: bob 6.5s var(--ease-soft) infinite alternate}.bob--late{animation-delay: -2.4s}.hero__lotus.bob{animation-name: garden-float;animation-duration: 4.8s}.hero__lotus.sway--stem{animation-name: garden-stem;animation-duration: 5s}.hero__lotus.hero__lotus--bloom{animation-delay: -0.8s}.hero__lotus.hero__lotus--small{animation-delay: -1.7s;animation-duration: 5.8s}.hero__lotus.hero__lotus--bud{animation-duration: 6.6s}.hero__lotus.hero__lotus--leaf-b{animation-duration: 6.2s}.ripple{animation: ripple 7s ease-out infinite}.ripple--b{animation-delay: -3.5s}.wish-note{animation: note-sway 7s var(--ease-soft) infinite alternate}.wish-note:nth-child(2n){animation-duration: 8.5s;animation-delay: -2s}.wish-note:nth-child(3n){animation-duration: 6.2s;animation-delay: -4s}.is-offscreen .sway,.is-offscreen .bob,.is-offscreen .ripple,.is-offscreen .wish-note,.is-hidden-tab .sway,.is-hidden-tab .bob,.is-hidden-tab .ripple,.is-hidden-tab .wish-note{animation-play-state: paused}}@keyframes sway-hang{from{transform: rotate(-0.7deg)}to{transform: rotate(0.8deg)}}@keyframes sway-leaf{from{transform: rotate(-1.2deg) skewX(-0.4deg)}to{transform: rotate(1deg) skewX(0.5deg)}}@keyframes sway-stem{from{transform: rotate(-2deg)}to{transform: rotate(2deg)}}@keyframes bob{from{transform: translateY(0) rotate(-1deg)}to{transform: translateY(-3px) rotate(1deg)}}@keyframes garden-float{from{transform: translate(-3px,0) rotate(-2deg)}to{transform: translate(3px,-12px) rotate(2deg)}}@keyframes garden-stem{from{transform: translateY(2px) rotate(-4deg)}to{transform: translateY(-5px) rotate(4deg)}}@keyframes note-sway{from{transform: rotate(-1.4deg)}to{transform: rotate(1.4deg)}}@keyframes ripple{0%{opacity: 0;transform: scale(0.4)}15%{opacity: 0.8}60%,100%{opacity: 0;transform: scale(2.2)}}@property --ink{syntax: '<percentage>';inherits: false;initial-value: 130%}.ink{-webkit-mask-image: linear-gradient(100deg,#000 calc(var(--ink) - 18%),rgba(0,0,0,0.4) calc(var(--ink) - 6%),transparent var(--ink));mask-image: linear-gradient(100deg,#000 calc(var(--ink) - 18%),rgba(0,0,0,0.4) calc(var(--ink) - 6%),transparent var(--ink))}@keyframes bloom-open{0%{opacity: 0;transform: translate(-50%,-50%) scale(0.2) rotate(-30deg)}55%{opacity: 1;transform: translate(-50%,-50%) scale(1.08) rotate(4deg)}100%{opacity: 0;transform: translate(-50%,-80%) scale(1) rotate(0deg)}}.bloom{animation: bloom-open 1100ms var(--ease-out) forwards}.petal-rain{position: fixed;inset: 0;z-index: 5;overflow: hidden;pointer-events: none;contain: strict}.falling-petal{position: absolute;left: var(--petal-x);top: -24px;width: var(--petal-width);height: calc(var(--petal-width) * 1.6);background: #b88425;-webkit-mask: url('../assets/optimized/art/petal-falling-64.webp') center / contain no-repeat;mask: url('../assets/optimized/art/petal-falling-64.webp') center / contain no-repeat;opacity: 0}@media (prefers-reduced-motion: no-preference){.falling-petal{animation: petal-rain var(--petal-duration) linear var(--petal-delay) infinite}html:not(.intro-done) .falling-petal,.is-hidden-tab .falling-petal,html:has(dialog[open]) .falling-petal{animation-play-state: paused}}html:not(.intro-done) .petal-rain,html:has(dialog[open]) .petal-rain{visibility: hidden}@media (prefers-reduced-motion: reduce){.petal-rain{display: none}}@keyframes petal-rain{0%{transform: translate3d(0,-24px,0) rotate(var(--petal-turn)) rotateY(0);opacity: 0}3%{opacity: 0.8}25%{transform: translate3d(calc(var(--petal-drift) * 0.7),25svh,0) rotate(calc(var(--petal-turn) + 45deg)) rotateY(35deg)}55%{transform: translate3d(var(--petal-drift),55svh,0) rotate(calc(var(--petal-turn) + 110deg)) rotateY(-25deg)}80%{transform: translate3d(var(--petal-end),80svh,0) rotate(calc(var(--petal-turn) + 160deg)) rotateY(40deg)}97%{opacity: 0.7}100%{transform: translate3d(var(--petal-end),calc(100svh + 48px),0) rotate(calc(var(--petal-turn) + var(--petal-spin))) rotateY(-30deg);opacity: 0}}