@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/build/assets/montserrat-cyrillic-ext-300-normal-AjyHH-nA.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-ext-300-normal-Ctr4ZZfs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/build/assets/montserrat-cyrillic-300-normal-DyQnI4ta.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-300-normal-BVP0yxL_.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/build/assets/montserrat-vietnamese-300-normal-BIrGnxdC.woff2) format("woff2"),url(/build/assets/montserrat-vietnamese-300-normal-F69v1y7v.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/build/assets/montserrat-latin-ext-300-normal-DiDe5dVi.woff2) format("woff2"),url(/build/assets/montserrat-latin-ext-300-normal-BCbSOsYO.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/build/assets/montserrat-latin-300-normal-BgP24wlQ.woff2) format("woff2"),url(/build/assets/montserrat-latin-300-normal-sTRdVzlf.woff) format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/build/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/build/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/build/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/build/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/build/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/build/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(/build/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format("woff2"),url(/build/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2) format("woff2"),url(/build/assets/montserrat-latin-ext-800-normal-Wjq_OapB.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/build/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff");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:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/dancing-script-vietnamese-600-normal-B_5hiXq4.woff2) format("woff2"),url(/build/assets/dancing-script-vietnamese-600-normal-DmBNuN3D.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/dancing-script-latin-ext-600-normal-B3h_y-4p.woff2) format("woff2"),url(/build/assets/dancing-script-latin-ext-600-normal-C2Rto93b.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/dancing-script-latin-600-normal-CUtcW3hj.woff2) format("woff2"),url(/build/assets/dancing-script-latin-600-normal-8nA_0nHX.woff) format("woff");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:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2) format("woff2"),url(/build/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/dancing-script-latin-ext-700-normal-DuhEb1O2.woff2) format("woff2"),url(/build/assets/dancing-script-latin-ext-700-normal-vV212RL9.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/build/assets/dancing-script-latin-700-normal-LI5MgW9m.woff) format("woff");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}.tpl-den-pho{--t-font-display: "Montserrat", system-ui, sans-serif;--t-font-script: "Dancing Script", cursive;--t-font-body: "Montserrat", system-ui, sans-serif;--t-radius: 14px;--dp-b: var(--dp-brick, #3a1d22);--dp-m: var(--dp-mortar, #1a0d10);--dp-neon: 0 0 2px #fff, 0 0 6px var(--t-primary), 0 0 14px var(--t-primary), 0 0 32px color-mix(in srgb, var(--t-primary) 70%, transparent), 0 0 60px color-mix(in srgb, var(--t-primary) 45%, transparent);font-variant-numeric:lining-nums}.tpl-den-pho .inv-count__num,.tpl-den-pho .inv-gift__acc{font-variant-numeric:lining-nums tabular-nums}.tpl-den-pho .inv-input option{color:#222}.tpl-den-pho .inv-input,.tpl-den-pho .inv-choice span{background:color-mix(in srgb,var(--t-bg) 70%,var(--t-surface))}.tpl-den-pho .inv-envelope__back{background:var(--dp-m)}.tpl-den-pho .inv-envelope__front{background:linear-gradient(160deg,var(--dp-b),var(--t-bg))}.tpl-den-pho .inv-envelope__flap{background:linear-gradient(180deg,color-mix(in srgb,var(--dp-b) 80%,#fff),var(--dp-b))}.tpl-den-pho .inv-envelope__letter{background:var(--t-surface);color:var(--t-ink)}.tpl-den-pho .inv-map__placeholder{background-color:color-mix(in srgb,var(--t-bg) 70%,#000)}.tpl-den-pho .inv-watermark{background:transparent}.tpl-den-pho .inv-form__msg.is-error{background:#4a1c1c;color:#ffd9d9}.tpl-den-pho .inv-stage{background:var(--t-bg)}.tpl-den-pho .inv-eyebrow{font-weight:600;letter-spacing:.34em;color:var(--t-accent);text-shadow:0 0 10px color-mix(in srgb,var(--t-accent) 60%,transparent)}.tpl-den-pho .inv-title{font-family:var(--t-font-script);font-size:42px;font-weight:700;color:var(--t-primary);text-shadow:var(--dp-neon)}.tpl-den-pho .inv-divider{color:var(--t-primary)}.tpl-den-pho .inv-card{background:color-mix(in srgb,var(--t-surface) 90%,transparent);border:1px solid color-mix(in srgb,var(--t-primary) 35%,transparent);box-shadow:0 0 30px -10px color-mix(in srgb,var(--t-primary) 50%,transparent)}.tpl-den-pho .inv-btn{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px;box-shadow:0 0 18px color-mix(in srgb,var(--t-primary) 55%,transparent)}.tpl-den-pho .inv-count__cell{background:var(--t-surface);border:1px solid color-mix(in srgb,var(--t-primary) 35%,transparent)}.tpl-den-pho .inv-count__num{font-weight:300;color:var(--t-primary);text-shadow:0 0 12px color-mix(in srgb,var(--t-primary) 70%,transparent)}.tpl-den-pho .inv-tl__time{font-weight:800;color:var(--t-accent)}.tpl-den-pho .inv-tl__title{font-family:var(--t-font-script);font-size:24px;font-weight:700}.tpl-den-pho .inv-footer__thanks{font-family:var(--t-font-script);font-weight:700;color:var(--t-primary);text-shadow:var(--dp-neon)}.dp-wall{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dp-mortar{fill:var(--dp-m)}.dp-brick{fill:var(--dp-b)}.dp-brick--alt{fill:color-mix(in srgb,var(--dp-b) 88%,#fff)}.dp-brick--dark{fill:color-mix(in srgb,var(--dp-b) 85%,#000)}.dp-vignette{position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 40%,transparent 30%,rgba(0,0,0,.6) 100%);pointer-events:none}.dp-cover{gap:16px;padding:80px 26px 100px;overflow:hidden;background:var(--t-bg)}.dp-halo{position:absolute;left:50%;top:40%;width:520px;height:420px;margin:-210px 0 0 -260px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t-primary) 30%,transparent),transparent);pointer-events:none}.dp-tag{position:relative;padding:6px 14px;border:1.5px solid var(--t-accent);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#fff;box-shadow:0 0 8px var(--t-accent),inset 0 0 8px color-mix(in srgb,var(--t-accent) 60%,transparent);text-shadow:0 0 8px var(--t-accent)}.dp-sign{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--t-font-script);font-size:60px;font-weight:700;line-height:1.05;color:#fff;text-shadow:var(--dp-neon);animation:dp-buzz 7s steps(1) infinite}@keyframes dp-buzz{0%,to{opacity:1}91%{opacity:.6}92%{opacity:1}93%{opacity:.75}94%{opacity:1}}.dp-heart{width:40px;height:34px;margin:4px 0;fill:none;stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 0 3px var(--t-accent)) drop-shadow(0 0 10px var(--t-accent))}.dp-tagline{position:relative;max-width:28ch;margin:0 auto;font-size:14px;font-weight:300;color:color-mix(in srgb,var(--t-ink) 80%,transparent)}.dp-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:10px;padding:12px 22px;border:2px solid var(--t-primary);border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--t-ink) 85%,transparent);box-shadow:0 0 10px var(--t-primary),inset 0 0 10px color-mix(in srgb,var(--t-primary) 50%,transparent)}.dp-box strong{font-size:26px;font-weight:800;letter-spacing:.08em;color:#fff;text-shadow:0 0 10px var(--t-primary)}@property --dp-ang{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.dp-open{display:block;background:none}.dp-open:before,.dp-open:after{content:"";position:absolute;top:0;bottom:0;width:calc(50% - min(50%,var(--stage) / 2));background:var(--dp-m);transition:opacity .6s ease 2.9s}.dp-open:before{left:0}.dp-open:after{right:0}.dp-open.is-opening:before,.dp-open.is-opening:after{opacity:0}.dp-open__stage{position:absolute;top:0;bottom:0;left:50%;width:min(100%,var(--stage));margin-left:calc(min(100%,var(--stage))/-2);overflow:hidden;perspective:900px;perspective-origin:50% 100%}.dp-open__wall{position:absolute;inset:0;background:var(--dp-m);transform-origin:50% 100%;filter:brightness(.55)}.dp-open.is-opening .dp-open__wall{animation:dp-power 1.6s ease .3s both,dp-fall 1.1s cubic-bezier(.55,0,.8,.4) 2.8s forwards}@keyframes dp-power{to{filter:brightness(1)}}@keyframes dp-fall{to{transform:rotateX(78deg);opacity:0;filter:brightness(1.2)}}.dp-open__wash{position:absolute;left:50%;top:40%;width:560px;height:460px;margin:-230px 0 0 -280px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t-primary) 40%,transparent),transparent);opacity:0;pointer-events:none}.dp-open.is-opening .dp-open__wash{opacity:1;transition:opacity 1.2s ease .7s}.dp-open__tube,.dp-open__current{position:absolute;inset:8% 6% 30%;border:3px solid color-mix(in srgb,var(--t-accent) 30%,#555);border-radius:18px;pointer-events:none}.dp-open.is-opening .dp-open__tube{animation:dp-tube .6s steps(1) 1.6s both}@keyframes dp-tube{0%{border-color:color-mix(in srgb,var(--t-accent) 30%,#555);box-shadow:none}15%{border-color:var(--t-accent);box-shadow:0 0 10px var(--t-accent)}28%{border-color:color-mix(in srgb,var(--t-accent) 30%,#555);box-shadow:none}40%,to{border-color:var(--t-accent);box-shadow:0 0 10px var(--t-accent),0 0 24px color-mix(in srgb,var(--t-accent) 60%,transparent),inset 0 0 12px color-mix(in srgb,var(--t-accent) 50%,transparent)}}.dp-open__current{border-color:#fff;box-shadow:0 0 12px #fff,0 0 24px var(--t-accent);-webkit-mask:conic-gradient(from var(--dp-ang) at 50% 50%,#000 0deg 26deg,transparent 26deg 360deg);mask:conic-gradient(from var(--dp-ang) at 50% 50%,#000 0deg 26deg,transparent 26deg 360deg);opacity:0}.dp-open.is-opening .dp-open__current{animation:dp-current .85s linear 1.9s both}@keyframes dp-current{0%{opacity:0;--dp-ang: 0deg}3%{opacity:1}92%{opacity:1}to{opacity:0;--dp-ang: 360deg}}.dp-open__spark{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:radial-gradient(circle,#fff 0 10%,transparent 12%),conic-gradient(from 10deg,transparent 0 20deg,#fff 20deg 24deg,transparent 24deg 70deg,var(--t-accent) 70deg 74deg,transparent 74deg 130deg,#fff 130deg 133deg,transparent 133deg 200deg,var(--t-accent) 200deg 204deg,transparent 204deg 280deg,#fff 280deg 283deg,transparent 283deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);opacity:0;scale:.3;pointer-events:none}.dp-open__spark--a{left:6%;top:8%}.dp-open__spark--b{left:94%;top:8%}.dp-open__spark--c{left:94%;top:70%}.dp-open__spark--d{left:6%;top:70%}.dp-open.is-opening .dp-open__spark--a{animation:dp-spark .35s ease-out 1.9s both}.dp-open.is-opening .dp-open__spark--b{animation:dp-spark .35s ease-out 2.1s both}.dp-open.is-opening .dp-open__spark--c{animation:dp-spark .35s ease-out 2.33s both}.dp-open.is-opening .dp-open__spark--d{animation:dp-spark .35s ease-out 2.55s both}@keyframes dp-spark{30%{opacity:1;scale:1.2}to{opacity:0;scale:1.8;rotate:40deg}}.dp-open__sign{position:absolute;top:13%;left:8%;right:8%;height:54%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.dp-open__small{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#ffffff2e}.dp-open__names{margin:0;display:flex;flex-direction:column;align-items:center;font-family:var(--t-font-script);font-size:54px;font-weight:700;line-height:1.05}.dp-ch{color:#ffffff24;text-shadow:0 1px 0 rgba(0,0,0,.6)}.dp-open__heart{width:40px;height:34px;margin:6px 0;fill:none;stroke:#ffffff29;stroke-width:2.5}.dp-open__date{font-size:15px;font-weight:600;letter-spacing:.32em;color:#ffffff29}.dp-open.is-opening .dp-ch{animation:dp-ignite .55s steps(1) both;animation-delay:calc(.3s + var(--i) * 85ms)}@keyframes dp-ignite{0%{color:#ffffff24;text-shadow:none}8%{color:#fff;text-shadow:var(--dp-neon)}15%{color:#fff3;text-shadow:none}30%{color:#fff;text-shadow:var(--dp-neon)}45%{color:#ffffff59;text-shadow:none}60%,to{color:#fff;text-shadow:var(--dp-neon)}}.dp-open.is-opening .dp-open__heart{animation:dp-heart-on .5s steps(1) 1.45s both}@keyframes dp-heart-on{0%,20%{stroke:#ffffff29;filter:none}10%,40%{stroke:#fff;filter:drop-shadow(0 0 3px var(--t-accent)) drop-shadow(0 0 12px var(--t-accent))}to{stroke:#fff;filter:drop-shadow(0 0 3px var(--t-accent)) drop-shadow(0 0 12px var(--t-accent))}}.dp-open.is-opening .dp-open__small,.dp-open.is-opening .dp-open__date{animation:dp-text-on .4s steps(1) 1.7s both}@keyframes dp-text-on{0%{color:#ffffff29;text-shadow:none}12%{color:#fff;text-shadow:0 0 8px var(--t-accent)}25%{color:#fff3;text-shadow:none}50%,to{color:#fff;text-shadow:0 0 8px var(--t-accent),0 0 18px var(--t-accent)}}.dp-open__guest{position:absolute;left:0;right:0;top:72%;text-align:center;color:#fff9}.dp-open__guest strong{color:#fff}.dp-open__switch{position:absolute;z-index:2;left:50%;bottom:15%;width:64px;height:96px;margin-left:-32px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));-webkit-tap-highlight-color:transparent}.dp-open__switch svg{width:100%;height:100%}.dp-plate{fill:#e9e4dc;stroke:#bdb6aa}.dp-screw{fill:#a9a196}.dp-slot{fill:#cfc8bc}.dp-lever{fill:#fff;stroke:#b4ada2;transition:transform .22s cubic-bezier(.5,0,.5,1.6)}.dp-open.is-opening .dp-lever{transform:translateY(20px)}.dp-open__switch:after{content:"";position:absolute;inset:-12px -16px;border-radius:18px;border:1.5px solid color-mix(in srgb,var(--t-primary) 70%,transparent);animation:inv-ping 2.4s ease-out infinite;pointer-events:none}.dp-open__switch:focus-visible{outline:1px solid var(--t-primary);outline-offset:10px}.dp-open.is-opening .dp-open__switch{pointer-events:none}.dp-open.is-opening .dp-open__switch:after{animation:none;opacity:0}.dp-open__bottom{position:absolute;left:0;right:0;bottom:max(24px,calc(env(safe-area-inset-bottom) + 10px));display:flex;flex-direction:column;align-items:center;gap:6px;transition:opacity .4s ease}.dp-open .inv-btn{margin:0;padding:9px 18px;animation:none;background:transparent;color:var(--t-primary);box-shadow:inset 0 0 0 1px var(--t-primary);font-family:var(--t-font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.dp-open .inv-open__hint{color:#ffffff80}.dp-open.is-opening .dp-open__bottom{opacity:0;pointer-events:none}@media(max-height:720px){.dp-open__names{font-size:44px}.dp-open__switch{bottom:13%;scale:.85}}@media(prefers-reduced-motion:reduce){.dp-sign,.dp-open.is-opening .dp-open__wall,.dp-open.is-opening .dp-ch,.dp-open.is-opening .dp-open__current,.dp-open.is-opening [class*=dp-open__spark]{animation:none}}
