@charset "UTF-8";@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url("./media/great-vibes-latin-400-normal-YJZSDIG6.woff2") format("woff2"),url("./media/great-vibes-latin-400-normal-AYNF25GQ.woff") format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fraunces-latin-400-normal-GYO2WZID.woff2") format("woff2"),url("./media/fraunces-latin-400-normal-FCY2SWG4.woff") format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url("./media/fraunces-latin-600-normal-5VSMB6GO.woff2") format("woff2"),url("./media/fraunces-latin-600-normal-XJWJMTXS.woff") format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url("./media/fraunces-latin-700-normal-XTT3ID7E.woff2") format("woff2"),url("./media/fraunces-latin-700-normal-YIV5WLZD.woff") format("woff")}:root{--night: #1c2a24;--night-deep: #16211c;--night-soft: #22322b;--card: #2c403a;--card-raised: #33483f;--card-border: #3c534b;--card-border-soft: rgba(60, 83, 75, .6);--gold: #d9bc7f;--gold-deep: #c3a15a;--gold-dim: rgba(217, 188, 127, .34);--gold-veil: rgba(217, 188, 127, .12);--blush: #d99aab;--blush-veil: rgba(217, 154, 171, .16);--sage: #85a389;--sage-veil: rgba(133, 163, 137, .18);--ink: #f2ede2;--ink-soft: #c4c9bd;--ink-faint: #93a096;--danger: #e6928b;--danger-veil: rgba(230, 146, 139, .14);--font-script: "Great Vibes", "Segoe Script", cursive;--font-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm: 12px;--radius: 18px;--radius-lg: 26px;--shadow-sm: 0 2px 12px rgba(6, 14, 11, .34);--shadow: 0 10px 30px rgba(6, 14, 11, .44);--shadow-lg: 0 22px 56px rgba(4, 10, 8, .6);--glow-gold: 0 0 0 1px rgba(217, 188, 127, .28), 0 8px 26px rgba(195, 161, 90, .22);--ease: cubic-bezier(.22, .61, .36, 1);--ease-pop: cubic-bezier(.34, 1.5, .5, 1);--nav-height: 68px;--page-max: 720px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--ink);background-color:var(--night);background-image:radial-gradient(1000px 560px at 14% -10%,rgba(217,188,127,.16),transparent 64%),radial-gradient(820px 480px at 90% 2%,rgba(217,154,171,.1),transparent 62%),radial-gradient(900px 620px at 50% 112%,rgba(133,163,137,.14),transparent 66%),linear-gradient(180deg,var(--night-soft),var(--night) 45%,var(--night-deep));background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 20% 30%,rgba(242,237,226,.5) .6px,transparent 1.2px),radial-gradient(circle at 72% 14%,rgba(217,188,127,.55) .7px,transparent 1.4px),radial-gradient(circle at 44% 78%,rgba(242,237,226,.35) .5px,transparent 1.1px);background-size:180px 180px,240px 240px,150px 150px}body>*{position:relative;z-index:1}body.is-locked{overflow:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.18;margin:0 0 .4em;letter-spacing:-.005em}p{margin:0 0 .8em}a{color:var(--gold)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid rgba(217,188,127,.65);outline-offset:2px;border-radius:6px}::selection{background:#d9bc7f59;color:#fff}.page{max-width:var(--page-max);margin:0 auto;padding:22px 18px calc(28px + var(--nav-height) + var(--safe-bottom))}.page-head{text-align:center;margin-bottom:22px}.page-head__eyebrow{font-family:var(--font-body);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}.page-head__title{font-size:clamp(1.8rem,6.6vw,2.4rem);margin:0 0 8px;color:var(--ink)}.page-head__sub{color:var(--ink-soft);margin:0;font-size:.95rem}.card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 42%),var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:0;border-radius:999px;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease),opacity .18s var(--ease)}.btn:active{transform:scale(.975)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{position:relative;overflow:hidden;color:#22322b;background:linear-gradient(135deg,#e7d19c,var(--gold) 46%,var(--gold-deep));box-shadow:0 10px 26px #8b6f2e5c}.btn--primary:after{content:"";position:absolute;inset:0;transform:translate(-120%);background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);pointer-events:none}.btn--primary:not(:disabled):hover:after,.btn--primary:not(:disabled):focus-visible:after{animation:sheen .9s var(--ease) 1}.btn--ghost{background:transparent;color:var(--gold);border:1.5px solid var(--gold-dim)}.btn--ghost:hover{border-color:var(--gold);background:var(--gold-veil)}.btn--soft{background:var(--gold-veil);color:var(--gold);border:1px solid var(--card-border)}.btn--danger{background:transparent;color:var(--danger);border:1.5px solid rgba(230,146,139,.4)}.btn--block{width:100%}.field{display:block}.field__label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.field__input,.field__textarea{width:100%;background:var(--night-deep);border:1.5px solid var(--card-border);border-radius:var(--radius);padding:14px 16px;font-size:1rem;color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.field__input::placeholder,.field__textarea::placeholder{color:var(--ink-faint)}.field__input:focus,.field__textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px #d9bc7f29}.field__hint{font-size:.8rem;color:var(--ink-faint);margin:6px 0 0}.note{border-radius:var(--radius);padding:12px 16px;font-size:.92rem;margin:0 0 14px;border:1px solid transparent}.note--error{background:var(--danger-veil);border-color:#e6928b52;color:var(--danger)}.note--info{background:var(--sage-veil);border-color:#85a3894d;color:#bcd3bf}.divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin:18px 0}.divider:before,.divider:after{content:"";height:1px;flex:1 1 auto;max-width:90px;background:linear-gradient(to right,transparent,var(--gold-dim),transparent)}.divider svg{animation:twinkle 3.4s var(--ease) infinite;filter:drop-shadow(0 0 5px rgba(217,188,127,.45))}.loader{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 0;color:var(--ink-soft);font-size:.92rem}.loader__heart{width:26px;height:26px;color:var(--gold);filter:drop-shadow(0 0 8px rgba(217,188,127,.4));animation:heartbeat 1.25s var(--ease) infinite}.shimmer{background:linear-gradient(100deg,var(--gold-deep) 0%,var(--gold) 34%,#f6e7bf 46%,var(--gold) 58%,var(--gold-deep) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}.sparkles{position:relative}.sparkles:before,.sparkles:after{content:"\2726";position:absolute;color:var(--gold);opacity:.75;pointer-events:none;animation:twinkle 3.6s var(--ease) infinite}.sparkles:before{top:-2px;left:6px;font-size:.7rem}.sparkles:after{top:14px;right:8px;font-size:.5rem;animation-delay:1.4s}@keyframes heartbeat{0%,to{transform:scale(1);opacity:.75}22%{transform:scale(1.22);opacity:1}44%{transform:scale(1);opacity:.9}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@keyframes shimmer{0%{background-position:130% 0}to{background-position:-130% 0}}@keyframes sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.rise-in{animation:rise-in .5s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.shimmer{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--gold)}}
