@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-cyrillic-wght-normal-5WvUvBgz.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-vietnamese-wght-normal-Cabi7G8-.woff2)format("woff2-variations");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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-latin-ext-wght-normal-CT1r92Rl.woff2)format("woff2-variations");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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-latin-wght-normal-BOwq7MWX.woff2)format("woff2-variations");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{--font-head:"Playfair Display Variable", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:10px;--theme-fade:.25s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--text);background-color:var(--bg-base);transition:color var(--theme-fade), background-color var(--theme-fade);margin:0;font-size:1rem;line-height:1.55;overflow-x:hidden}body:before{content:"";z-index:-1;background:var(--bg-gradient);position:fixed;inset:0}body.modal-open{overflow:hidden}a{color:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}#app{max-width:1120px;margin:0 auto;padding:0 16px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 0 0;display:flex}.topbar-group{flex-wrap:wrap;gap:10px;display:flex}.menu{position:relative}.menu-button{border:1px solid var(--accent);background:var(--surface);min-height:44px;color:var(--surface-text);font:inherit;cursor:pointer;transition:color var(--theme-fade), background-color var(--theme-fade);border-radius:999px;align-items:center;gap:10px;padding:0 14px 0 10px;font-size:.92rem;display:inline-flex}.menu-button:hover{background:var(--accent);color:var(--accent-text)}.menu-button .chevron{transition:transform .2s}.menu-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.swatch{border:1px solid var(--accent);border-radius:50%;flex:none;width:24px;height:24px;box-shadow:inset 0 0 0 2px #ffffff40}.menu-panel{z-index:50;border:1px solid var(--accent);background:var(--modal-bg);width:250px;color:var(--modal-text);border-radius:14px;padding:14px;animation:.15s panel-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #00000073}.topbar-group .menu-panel{left:0;right:auto}@media (width<=420px){.menu-prefix{display:none}.menu-panel{width:min(250px,100vw - 32px)}}.menu-panel[hidden]{display:none}.menu-title{font-family:var(--font-head);margin:0 0 8px;padding:0 6px;font-size:1.05rem}.menu-options{gap:2px;display:grid}.menu-option{cursor:pointer;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:6px;display:flex;position:relative}.menu-option:hover{background:#7f7f7f2e}.menu-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.menu-option .swatch{width:28px;height:28px}.menu-option:has(input:checked){background:#7f7f7f38;font-weight:700}.menu-option:has(input:checked):after{content:"";border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:14px;height:8px;margin-left:auto;transform:translateY(-2px)rotate(-45deg)}.menu-option:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:1px}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.site-header{text-align:center;padding:18px 0 28px}.logo{justify-content:center;align-items:center;min-width:180px;height:64px;margin-bottom:18px;display:inline-flex}.logo img{width:auto;max-height:64px}.logo.is-placeholder{border:1px dashed var(--accent);color:var(--accent);font-family:var(--font-head);letter-spacing:.22em;text-transform:uppercase;border-radius:4px;padding:0 30px;font-size:.95rem}.site-title{font-family:var(--font-head);letter-spacing:.01em;color:var(--text);margin:0;font-size:clamp(2.4rem,8vw,4.2rem);font-weight:600;line-height:1.08}.site-subtitle{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 0;font-size:.95rem}.ornament{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--accent));width:min(110px,22vw);height:1px}.ornament:after{transform:scaleX(-1)}.ornament span{background:var(--accent);width:9px;height:9px;transform:rotate(45deg)}.main{max-width:1040px;margin:0 auto}.demo-note{border:1px solid var(--accent);background:var(--surface);color:var(--surface-text);text-align:center;border-radius:999px;margin:0 0 18px;padding:9px 16px;font-size:.88rem}.site-footer{text-align:center;margin-top:48px;padding:28px 0 40px}.site-footer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:1px;margin:0 auto 28px;display:block}.social{flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 16px;padding:0;list-style:none;display:flex}.social a{border:1px solid var(--accent);width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;transition:background-color .15s,color .15s;display:grid}.social a:hover{background:var(--accent);color:var(--accent-text)}.credit{color:var(--text-muted);margin:0}.credit a{color:var(--text);font-weight:700}.load-error{text-align:center;grid-column:1/-1;padding:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-theme=red]{--bg-base:#3a0910;--bg-gradient:radial-gradient(ellipse 120% 80% at 50% 0%, #8e1b2d 0%, #561021 48%, #2b060d 100%);--surface:#0000004d;--surface-text:#fbf3e0;--door-face:linear-gradient(150deg, #a52238 0%, #7c1428 55%, #5a0d1c 100%);--door-edge:#33060e;--door-text:#f3dc9a;--door-foil:linear-gradient(135deg, #fbeab0 0%, #e0b350 38%, #f6dc8c 60%, #b88a2c 100%);--door-frame:#e8c872cc;--inside-bg:radial-gradient(circle at 50% 42%, #fff6dc 0%, #f3d98f 62%, #d6aa4f 100%);--inside-text:#5a0d1c;--accent:#e8bf55;--accent-text:#3a0a10;--text:#fbf3e0;--text-muted:#ecdcc0;--modal-bg:#4a0b16;--modal-text:#fbf3e0;--modal-muted:#ecdcc0;--focus-ring:#ffd966;--error:#ffb8b8;--field-bg:#fffaf0;--field-text:#2b1608}[data-theme=green]{--bg-base:#0a2b19;--bg-gradient:radial-gradient(ellipse 120% 80% at 50% 0%, #1b6b3c 0%, #0f4026 48%, #06190d 100%);--surface:#0000004d;--surface-text:#fbf3e0;--door-face:linear-gradient(150deg, #20704a 0%, #144a2c 55%, #0b3220 100%);--door-edge:#04170c;--door-text:#f3dc9a;--door-foil:linear-gradient(135deg, #fbeab0 0%, #e0b350 38%, #f6dc8c 60%, #b88a2c 100%);--door-frame:#e8c872cc;--inside-bg:radial-gradient(circle at 50% 42%, #fff6dc 0%, #f3d98f 62%, #d6aa4f 100%);--inside-text:#0b3220;--accent:#e8bf55;--accent-text:#0b2e1b;--text:#fbf3e0;--text-muted:#e6ecd6;--modal-bg:#0f3d22;--modal-text:#fbf3e0;--modal-muted:#e6ecd6;--focus-ring:#ffd966;--error:#ffb8b8;--field-bg:#fffaf0;--field-text:#12301c}[data-theme=snow]{--bg-base:#f1ebe0;--bg-gradient:radial-gradient(ellipse 120% 80% at 50% 0%, #fff 0%, #f1ebe0 55%, #ddd2bf 100%);--surface:#ffffffbf;--surface-text:#2a1f1a;--door-face:linear-gradient(150deg, #8f1a30 0%, #701226 55%, #520c1c 100%);--door-edge:#3a0812;--door-text:#f3dc9a;--door-foil:linear-gradient(135deg, #fbeab0 0%, #e0b350 38%, #f6dc8c 60%, #b88a2c 100%);--door-frame:#e8c872d9;--inside-bg:radial-gradient(circle at 50% 42%, #fffdf6 0%, #f8ecc9 62%, #ead08a 100%);--inside-text:#701226;--accent:#8a1a2e;--accent-text:#fff4dc;--text:#2a1f1a;--text-muted:#4a3d33;--modal-bg:#fffdf8;--modal-text:#2a1f1a;--modal-muted:#4a3d33;--focus-ring:#1f3a8a;--error:#a0141e;--field-bg:#fff;--field-text:#2a1f1a}[data-theme=midnight]{--bg-base:#0a1530;--bg-gradient:radial-gradient(ellipse 120% 80% at 50% 0%, #25437a 0%, #132850 48%, #070e24 100%);--surface:#00000052;--surface-text:#fbf3e0;--door-face:linear-gradient(150deg, #2f5090 0%, #1f3868 55%, #122448 100%);--door-edge:#050b1d;--door-text:#f3dc9a;--door-foil:linear-gradient(135deg, #fbeab0 0%, #e0b350 38%, #f6dc8c 60%, #b88a2c 100%);--door-frame:#e8c872cc;--inside-bg:radial-gradient(circle at 50% 42%, #fff6dc 0%, #f3d98f 62%, #d6aa4f 100%);--inside-text:#122448;--accent:#e8bf55;--accent-text:#0a1530;--text:#fbf3e0;--text-muted:#dde4f2;--modal-bg:#14284b;--modal-text:#fbf3e0;--modal-muted:#dde4f2;--focus-ring:#ffd966;--error:#ffb8b8;--field-bg:#fffaf0;--field-text:#0f1d38}.swatch[data-swatch=red]{background:radial-gradient(circle at 30% 25%,#a52238,#3d0812)}.swatch[data-swatch=green]{background:radial-gradient(circle at 30% 25%,#20704a,#06190d)}.swatch[data-swatch=snow]{background:radial-gradient(circle at 30% 25%,#fff,#ddd2bf)}.swatch[data-swatch=midnight]{background:radial-gradient(circle at 30% 25%,#2f5090,#070e24)}.main{container-type:inline-size}.calendar{--cols:3;--gap:12px;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-auto-rows:calc((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols) * 1.3);gap:var(--gap);margin:0;padding:0;list-style:none;display:grid}@media (width>=560px){.calendar{--gap:16px}}@media (width>=900px){.calendar{--gap:20px}}.door-cell{min-width:0;min-height:0;container-type:size}.door{width:100%;height:100%;font:inherit;cursor:pointer;perspective:900px;background:0 0;border:0;border-radius:6px;padding:0;display:block;position:relative}.door-inside,.door-panel{border-radius:6px;place-items:center;display:grid;position:absolute;inset:0}.door-inside{background:var(--inside-bg);color:var(--inside-text);align-content:center;gap:2cqmin;box-shadow:inset 14px 0 22px -12px #00000059,inset 0 0 0 1px #0000001f}.door-inside-number{font-family:var(--font-head);font-variant-numeric:lining-nums;opacity:.85;font-size:clamp(1.3rem,24cqmin,4.2rem);font-weight:600;line-height:1}.door-tick{opacity:0;width:clamp(18px,16cqmin,44px);height:auto}.door.is-open .door-tick{opacity:.9}.door-panel{background:linear-gradient(115deg, #ffffff29 0%, #fff0 42%), var(--door-face);border:1px solid var(--door-edge);transform-origin:0;backface-visibility:hidden;transition:transform .45s,box-shadow .2s;box-shadow:inset 0 1px #ffffff47,inset 0 -2px 6px #00000040,0 10px 22px -8px #0009,0 2px 4px #0000004d}.door-panel:before,.door-panel:after{content:"";pointer-events:none;border-radius:3px;position:absolute}.door-panel:before{border:1px solid var(--door-frame);inset:7px}.door-panel:after{border:1px solid var(--door-frame);opacity:.4;inset:11px}.door-number{font-family:var(--font-head);font-variant-numeric:lining-nums;color:var(--door-text);background:var(--door-foil);-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px #00000073);-webkit-background-clip:text;background-clip:text;padding:.05em .1em;font-size:clamp(1.6rem,30cqmin,5.6rem);font-weight:600;line-height:1}.door-knob{background:radial-gradient(circle at 35% 30%,#fff3c4,#d9a93f 55%,#8c6420 100%);border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%;right:13px;box-shadow:0 1px 2px #0000008c}.door-lock{width:16px;height:16px;color:var(--door-text);opacity:.9;margin-left:-8px;position:absolute;bottom:16px;left:50%}[data-size=wide] .door-lock,[data-size=large] .door-lock{width:20px;height:20px;margin-left:-10px;bottom:20px}[data-size=large] .door-knob{width:12px;height:12px;margin-top:-6px;right:20px}.door:not(.is-open):not(.is-locked):hover .door-panel{transform:rotateY(-14deg);box-shadow:inset 0 1px #ffffff47,inset 0 -2px 6px #00000040,10px 12px 22px -6px #0009}.door.is-open .door-panel{pointer-events:none;transform:rotateY(-112deg)}.door.is-shaking{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (forced-colors:active){.door-number{-webkit-text-fill-color:CanvasText;background:0 0}}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal{border:2px solid var(--accent);background:var(--modal-bg);width:100%;max-width:580px;max-height:calc(100dvh - 32px);color:var(--modal-text);border-radius:14px;animation:.22s pop-in;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal:focus{outline:none}.modal-head{z-index:1;background:var(--modal-bg);border-bottom:1px solid var(--accent);align-items:center;gap:14px;padding:16px 16px 12px 20px;display:flex;position:sticky;top:0}.modal-number{background:var(--accent);width:44px;height:44px;color:var(--accent-text);font-family:var(--font-head);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.modal-title{font-family:var(--font-head);flex:1;margin:0;font-size:1.45rem;line-height:1.2}.modal-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.modal-close:hover{background:#7f7f7f40}.modal-body{padding:20px}.modal-body p,.modal-body ul{margin:0 0 1em}.modal-body ul{padding-left:1.3em}.modal-body li{margin-bottom:.4em}.modal-body>:last-child{margin-bottom:0}.modal-body a{color:inherit}.media{margin:0}.media img,.video-frame img{border-radius:8px;width:100%;height:auto;display:block}.media figcaption,.video-caption{color:var(--modal-muted);margin-top:12px}.video-frame{aspect-ratio:16/10;background:#000;border-radius:8px;width:100%;margin-bottom:4px;position:relative;overflow:hidden}.video-frame img{object-fit:cover;height:100%}.video-frame iframe,video.video-frame{border:0;width:100%;height:100%}.video-play{color:var(--accent);cursor:pointer;background:#00000040;border:0;place-items:center;display:grid;position:absolute;inset:0}.video-play:hover{background:#0000001a}.side-note{border-left:3px solid var(--accent);color:var(--modal-muted);margin:8px 0 0;padding:8px 12px;font-size:.85rem;font-style:italic}.btn{background:var(--accent);min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:11px 24px;font-weight:700;text-decoration:none;display:inline-block;color:var(--accent-text)!important}.btn:hover{filter:brightness(1.08)}.comp-intro{margin:0 0 1em}.comp-form{gap:18px;display:grid}.field{border:0;min-width:0;margin:0;padding:0}.field legend,.field>label{margin-bottom:8px;padding:0;font-weight:700;display:block}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice{border:1px solid var(--accent);cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:flex}.choice:has(input:checked){background:var(--accent);color:var(--accent-text)}.choice input,.consent-label input{width:20px;height:20px;accent-color:var(--accent-text);flex:none;margin:0}.field input[type=text],.field input[type=email]{border:2px solid var(--accent);background:var(--field-bg);width:100%;min-height:46px;color:var(--field-text);font:inherit;border-radius:8px;padding:10px 12px}.field input[aria-invalid=true][type=text],.field input[aria-invalid=true][type=email]{border-color:var(--error);border-style:dashed}.consent-label{cursor:pointer;align-items:flex-start;gap:10px;display:flex;font-weight:400!important}.consent-label input{accent-color:var(--accent);margin-top:2px}.field-error{color:var(--error);margin:6px 0 0;font-size:.9rem;font-weight:600}.field-error[hidden]{display:none}.comp-thanks-title{font-family:var(--font-head);margin:0 0 8px;font-size:1.4rem}.comp-thanks-title:focus{outline:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (width<=420px){.choices{grid-template-columns:1fr}}.coupon{border:2px dashed var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:4px 0 8px;padding:16px;display:flex}.coupon-label{letter-spacing:.18em;text-transform:uppercase;color:var(--modal-muted);flex:1 0 100%;font-size:.8rem}.coupon-code{letter-spacing:.12em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.4rem,6vw,2rem);font-weight:700}.btn-outline{border:2px solid var(--accent);background:0 0;color:var(--modal-text)!important}.btn-outline:hover{background:var(--accent);filter:none;color:var(--accent-text)!important}.coupon-status{min-height:1.4em;margin:0 0 8px;font-size:.9rem;font-weight:600}
