@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pinyon-script-vietnamese-400-normal-D9IEVGR9.woff2)format("woff2"),url(/assets/pinyon-script-vietnamese-400-normal-DsnOr8jX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pinyon-script-latin-ext-400-normal-DzUoH_k9.woff2)format("woff2"),url(/assets/pinyon-script-latin-ext-400-normal-Cu_llAZZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pinyon-script-latin-400-normal-HCoaxbyT.woff2)format("woff2"),url(/assets/pinyon-script-latin-400-normal-3W0BoeAr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky-top:#b4c2e8;--sky-mid:#d6ddf3;--sky-low:#efedf6;--paper:#fcfbf8;--paper-edge:#efece4;--envelope:#e2e8f6;--envelope-shade:#c9d3ec;--liner:#c4cff0;--ink:#24387a;--ink-soft:#4b5c96;--accent:#3d5bb5;--accent-press:#314a98;--silver:#9aa6bf;--silver-light:#dfe4ee;--error:#a3304a;--script:"Pinyon Script", cursive;--serif:"Cormorant Garamond", "Times New Roman", serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--radius-pill:999px;--radius-field:12px;--z-dust:1;--z-main:2}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--serif);color:var(--ink);background:var(--sky-mid);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.5;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}[hidden]{display:none!important}.sky{background:radial-gradient(120% 60% at 50% 105%, #fbf7f4 0%, transparent 60%), radial-gradient(80% 50% at 85% 10%, #ffffff73 0%, transparent 60%), linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 48%, var(--sky-low) 100%);position:fixed;inset:0}.dust{pointer-events:none;width:100%;height:100%;z-index:var(--z-dust);position:fixed;inset:0}main{z-index:var(--z-main);position:relative}.scene{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;align-items:center;display:flex}.scene__head{animation:rise 1.2s var(--ease-out) both}.scene__kicker{letter-spacing:.02em;color:var(--ink-soft);margin:0;font-size:1.05rem;font-style:italic}.scene__to{font-family:var(--script);color:var(--ink);margin:0;padding-bottom:.1em;font-size:clamp(2.6rem,11vw,3.6rem);line-height:1.25}.stage{--w:min(86vw, 420px, 50dvh);width:var(--w);padding-top:calc(var(--w) * .9);align-self:center;place-items:end center;margin-top:auto;display:grid;position:relative}.stage__castle{bottom:calc(var(--w) * .36);width:calc(var(--w) * .86);filter:drop-shadow(0 18px 30px #5468aa2e);animation:castle-in 1.6s var(--ease-out) .15s both;position:absolute;left:50%;transform:translate(-50%)}.envelope{--h:calc(var(--w) * .68);width:var(--w);height:var(--h);perspective:1400px;animation:env-in 1.2s var(--ease-out) .35s both;position:relative}.envelope__back,.envelope__front,.envelope__letter{position:absolute;inset:0}.envelope__back{background:linear-gradient(180deg, #24387a14, transparent 30%), var(--envelope-shade);border-radius:6px;box-shadow:0 30px 60px -20px #36488c73,0 10px 20px -10px #36488c4d}.envelope__letter{background:var(--paper);will-change:transform;z-index:1;border-radius:3px;place-items:start center;padding-top:8%;display:grid;inset:6% 5% 4%;box-shadow:0 1px 2px #24387a1f}.envelope__letter-name{font-family:var(--script);font-size:calc(var(--w) * .16);color:var(--ink);line-height:1.2}.envelope__front{background:linear-gradient(155deg, transparent 49.6%, #24387a12 50%, transparent 58%), linear-gradient(205deg, transparent 49.6%, #24387a12 50%, transparent 58%), var(--envelope);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);z-index:2;border-radius:0 0 6px 6px}.envelope__front:after,.envelope__flap-face--out:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.15 0 0 0 0 0.2 0 0 0 0 0.45 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.envelope__flap{transform-origin:50% 0;height:62%;transform-style:preserve-3d;z-index:3;position:absolute;inset:0 0 auto}.envelope__flap-face{clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden;position:absolute;inset:0}.envelope__flap-face--out{background:linear-gradient(180deg, #eaeff9 0%, var(--envelope) 70%, #d7dff2 100%);filter:drop-shadow(0 2px 2px #24387a1f)}.envelope__flap-face--in{clip-path:polygon(0 100%,100% 100%,50% 0);background:radial-gradient(circle at 25% 30%, #ffffffbf 0 1.2px, transparent 1.6px) 0 0 / 22px 22px, radial-gradient(circle at 75% 80%, #ffffff8c 0 1px, transparent 1.4px) 0 0 / 22px 22px, linear-gradient(180deg, var(--liner), #b4c1ea);transform:rotateX(180deg)}.seal{z-index:4;width:calc(var(--w) * .27);aspect-ratio:420/443;cursor:pointer;filter:drop-shadow(0 6px 8px #24387a59);transition:transform .4s var(--ease-out), filter .4s var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;margin:0;padding:0;position:absolute;top:62%;left:50%;transform:translate(-50%,-58%)}.seal img{width:100%;height:100%}.seal:after{content:"";opacity:0;pointer-events:none;border:1.5px solid #ffffffd9;border-radius:50%;position:absolute;inset:-10%}@media (hover:hover){.seal:hover{filter:drop-shadow(0 10px 14px #24387a66);transform:translate(-50%,-60%)scale(1.04)}}.seal:active{transform:translate(-50%,-57%)scale(.97)}.seal:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.scene__hint{color:var(--ink-soft);animation:rise 1s var(--ease-out) 1.1s both;margin:22px 0 auto;font-size:1.05rem;font-style:italic}.letter{padding:max(20px, env(safe-area-inset-top)) 12px max(40px, env(safe-area-inset-bottom));justify-items:center;gap:28px;display:grid}.paper{isolation:isolate;width:min(100%,540px);position:relative}.paper__bg{z-index:-1;background:radial-gradient(140% 90% at 50% 40%, var(--paper) 60%, var(--paper-edge) 100%);filter:url(#deckle);position:absolute;inset:0;box-shadow:0 40px 80px -30px #36488c73,0 12px 24px -12px #36488c40}.paper__bg:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.33 0 0 0 0 0.3 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.paper__floral{z-index:1;pointer-events:none;width:min(72%,380px);position:absolute}.paper__floral--tl{top:-34px;left:-40px;transform:rotate(-4deg)}.paper__floral--br{width:min(62%,330px);bottom:-30px;right:-44px;transform:rotate(180deg)}.paper__frame{z-index:2;text-align:center;border:1px solid var(--silver);outline:1px solid var(--silver-light);outline-offset:-6px;margin:14px;padding:clamp(215px,58vw,270px) clamp(18px,6vw,44px) clamp(120px,30vw,170px);position:relative}.once{color:var(--ink-soft);margin:0;font-size:1.15rem;font-style:italic}.name{font-family:var(--script);color:var(--ink);text-shadow:0 1px #fffc;margin:0;padding-bottom:.12em;font-size:clamp(5rem,26vw,8.5rem);font-weight:400;line-height:1.15}.age{justify-items:center;margin:-.4em 0 0;display:grid}.age__pre{color:var(--ink-soft);font-size:1.1rem;font-style:italic}.age__num{color:var(--accent);font-size:clamp(4.5rem,20vw,6rem);font-weight:500;line-height:1}.age__unit{letter-spacing:.32em;text-transform:uppercase;margin-top:4px;padding-left:.32em;font-size:1.05rem}.lead{text-wrap:balance;max-width:30ch;margin:28px auto 0;font-size:1.25rem;line-height:1.45}.when{grid-template-columns:1fr auto 1fr;align-items:center;column-gap:14px;max-width:380px;margin:34px auto 0;display:grid}.when__side{border-block:1px solid var(--silver);letter-spacing:.04em;padding:8px 0;font-size:1.15rem;font-weight:600}.when__day{color:var(--accent);font-size:clamp(4rem,18vw,5.2rem);font-weight:600;line-height:.95}.when__month{letter-spacing:.4em;text-transform:uppercase;grid-column:1/-1;margin-top:6px;padding-left:.4em;font-size:1.05rem;font-weight:600}.where{margin-top:30px}.where p{margin:0}.where__label{font-family:var(--script);color:var(--ink-soft);font-size:2rem;line-height:1.3}.where__name{font-size:1.35rem;font-weight:600}.where__addr{color:var(--ink-soft)}.actions{gap:12px;max-width:340px;margin:32px auto 0;display:grid}.pill{border:1px solid var(--silver);border-radius:var(--radius-pill);min-height:56px;color:var(--ink);cursor:pointer;transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background-color .25s;-webkit-tap-highlight-color:transparent;background:#ffffffd1;grid-template-columns:44px 1fr 44px;align-items:center;padding:5px;font-size:1.15rem;font-weight:600;text-decoration:none;display:grid;box-shadow:0 6px 16px -10px #36488c80}.pill__icon{background:var(--envelope);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.pill__icon svg{width:22px;height:22px}.pill__label{white-space:nowrap}.pill--primary{background:var(--accent);border-color:var(--accent);color:#fdfcff}.pill--primary .pill__icon{color:#fdfcff;background:#ffffff2e}@media (hover:hover){.pill:hover{transform:translateY(-2px);box-shadow:0 12px 22px -12px #36488c99}}.pill:active{transform:translateY(1px)scale(.99)}.pill:focus-visible,.submit:focus-visible,.link:focus-visible,.stepper__btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.carriage{max-width:340px;margin:40px auto 0}.carriage img{width:100%}.countdown{color:var(--ink-soft);margin-top:10px;font-size:1.15rem;font-style:italic}.countdown strong{color:var(--accent);font-style:normal;font-weight:600}.paper--rsvp .paper__bg{background:var(--paper)}.rsvp{padding:40px clamp(20px,7vw,48px) 44px;position:relative}.rsvp__head{text-align:center}.ornament{color:var(--silver);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--silver));height:1px}.ornament:after{background:linear-gradient(90deg, var(--silver), transparent)}.ornament svg{width:22px;height:22px}.rsvp__title{font-family:var(--script);text-wrap:balance;margin:10px 0 0;padding-bottom:.08em;font-size:clamp(2.1rem,9vw,3.1rem);font-weight:400;line-height:1.25}.rsvp.is-done .rsvp__title,.rsvp.is-done .rsvp__sub{display:none}.rsvp__sub{color:var(--ink-soft);margin:4px 0 0}.form{gap:22px;margin-top:28px;display:grid}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.field label,.field legend,.field__label{padding:0;font-size:1.1rem;font-weight:600}.field legend{margin-bottom:8px}.field__opt{color:var(--ink-soft);font-style:italic;font-weight:400}.field input[type=text],.field input[type=tel],.field textarea{border:1px solid var(--silver);border-radius:var(--radius-field);width:100%;color:var(--ink);font:inherit;background:#fff;padding:13px 16px;font-size:1.15rem;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:92px}.field input::placeholder,.field textarea::placeholder{color:#6b7699}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3d5bb538}.field [aria-invalid=true]{border-color:var(--error)}.field__help{color:var(--ink-soft);margin:0;font-size:.98rem}.field__error{min-height:0;color:var(--error);margin:0;font-size:.98rem;font-weight:600}.field__error:empty{display:none}.choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice__opt{cursor:pointer;position:relative}.choice__opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.choice__opt span{border:1px solid var(--silver);border-radius:var(--radius-field);text-align:center;min-height:54px;transition:background-color .2s, border-color .2s, color .2s, transform .2s var(--ease-out);background:#fff;place-items:center;padding:8px 10px;font-size:1.1rem;font-weight:600;display:grid}.choice__opt input:checked+span{background:var(--accent);border-color:var(--accent);color:#fdfcff}.choice__opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.choice__opt:active span{transform:scale(.98)}.counts{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stepper{border:1px solid var(--silver);border-radius:var(--radius-field);background:#fff;grid-template-columns:46px 1fr 46px;align-items:center;display:grid;overflow:hidden}.stepper__btn{background:var(--envelope);height:50px;color:var(--accent);cursor:pointer;border:0;place-items:center;display:grid}.stepper__btn svg{width:20px;height:20px}.stepper__btn:disabled{color:var(--silver);cursor:default}.stepper__val{text-align:center;font-size:1.3rem;font-weight:600}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit{border-radius:var(--radius-pill);background:var(--accent);color:#fdfcff;letter-spacing:.02em;cursor:pointer;min-height:58px;transition:transform .2s var(--ease-out), background-color .2s;border:0;font-size:1.2rem;font-weight:600;position:relative;overflow:hidden;box-shadow:0 14px 26px -14px #314a98cc}.submit:active{background:var(--accent-press);transform:scale(.985)}.submit[aria-busy=true]{cursor:progress}.submit[aria-busy=true]:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff59 50%,#0000 80%);animation:1.1s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.form__status:empty{display:none}.form__status{border-radius:var(--radius-field);color:var(--error);text-align:center;background:#f8e9ed;padding:14px 16px;font-weight:600}.form__status a{color:inherit}.done{text-align:center;outline:none;margin-top:18px}.done__art{width:min(62%,240px);animation:slipper 1.2s var(--ease-out) both;margin:0 auto}.done__title{font-family:var(--script);margin:8px 0 0;padding-bottom:.08em;font-size:clamp(2.4rem,10vw,3rem);font-weight:400;line-height:1.25}.done__text{text-wrap:balance;max-width:30ch;margin:6px auto 0;font-size:1.2rem}.link{color:var(--accent);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:6px 4px;font-size:1.08rem;font-weight:600;text-decoration:underline}.sign{text-align:center;font-family:var(--script);color:var(--ink-soft);font-size:1.9rem;line-height:1.3}.sign p{margin:0}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(18px)}.reveal.is-in{opacity:1;transform:none}.letter.is-entering .paper:first-child{animation:letter-in 1.1s var(--ease-out) both}.seal.is-pulsing:after{animation:ring 2.4s var(--ease-out) 1.6s infinite}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes castle-in{0%{opacity:0;transform:translate(-50%,24px)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes env-in{0%{opacity:0;transform:translateY(40px)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes letter-in{0%{opacity:0;transform:translateY(60px)scale(.96)}to{opacity:1;transform:none}}@keyframes ring{0%{opacity:.9;transform:scale(.92)}70%,to{opacity:0;transform:scale(1.35)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes slipper{0%{opacity:0;transform:translateY(16px)rotate(-6deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@media (width>=768px){.letter{gap:36px;padding-top:56px}.paper__frame{margin:18px}}
