:root{--bg-deep:#070e12;--bg-forest:#0d211c;--gold-bright:#fde68a;--gold-main:#f59e0b;--gold-warm:#d97706;--gold-border:#f5c45161;--text-light:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--font-display:"Cinzel", Georgia, serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-deep);min-height:100%;color:var(--text-light);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding:0}.page-shell{background:radial-gradient(80% 50% at 50% -5%,#14532d73,#0000 70%),radial-gradient(60% 45% at 85% 90%,#7f1d1d38,#0000 70%),linear-gradient(#0a1816 0%,#070d12 60%,#05080b 100%);min-height:100vh;position:relative;overflow-x:hidden}.ambient-glow{pointer-events:none;filter:blur(90px);z-index:0;border-radius:50%;position:fixed}.glow-top{background:#f59e0b1c;width:540px;height:260px;top:-80px;left:50%;transform:translate(-50%)}.glow-bottom{background:#10b98114;width:480px;height:240px;bottom:-80px;left:50%;transform:translate(-50%)}.snowfall{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.snowflake{background:radial-gradient(circle,#fff 0%,#fffaf0a6 100%);border-radius:50%;animation-name:snowfall-drop;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-16px}@keyframes snowfall-drop{0%{transform:translateY(-20px)}to{transform:translate3d(var(--drift,16px), 105vh, 0)}}@media (prefers-reduced-motion:reduce){.snowflake{animation:none;display:none}}.content-container{z-index:2;max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 4rem;position:relative}.hero-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:3rem;display:flex}.festive-pill{border:1px solid var(--gold-border);color:var(--gold-bright);letter-spacing:.05em;text-transform:uppercase;background:#f59e0b1f;border-radius:999px;align-items:center;gap:.45rem;padding:.38rem .95rem;font-size:.78rem;font-weight:600;display:inline-flex}.pill-icon{color:#fbbf24}.hero-title{font-family:var(--font-display);letter-spacing:.01em;color:#fffbeb;margin:.9rem 0 .85rem;font-size:clamp(2rem,4.6vw,3.25rem);font-weight:700;line-height:1.15}.gold-gradient-text{background:linear-gradient(135deg,#fef3c7 0%,#fbbf24 50%,#d97706 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtitle{max-width:670px;color:var(--text-secondary);margin:0 auto 1.4rem;font-size:1.02rem;line-height:1.65}.hero-subtitle strong{color:#fef3c7;font-weight:600}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.25rem;padding:.5rem .75rem 2.5rem;display:grid}@media (width<=680px){.calendar-grid{grid-template-columns:1fr;gap:1.75rem;padding:.25rem .25rem 2rem}}.door-shrine{perspective:1300px;z-index:1;border-radius:18px;min-height:340px;position:relative}.door-shrine.is-closing{z-index:20}.door-shrine.is-open{z-index:30}.inner-chamber{z-index:1;background:radial-gradient(circle at 50% 12%,#fbbf242b,#0000 62%),linear-gradient(#132029 0%,#0b1319 100%);border:1px solid #f5c4516b;border-radius:18px;flex-direction:column;justify-content:space-between;gap:1rem;height:100%;min-height:340px;padding:1.35rem 1.45rem;display:flex;position:relative;box-shadow:inset 0 0 36px #fbbf2414,0 20px 45px #0009}.chamber-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chamber-date-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.chamber-date-pill{color:#fde68a;letter-spacing:.03em;background:#fbbf2424;border:1px solid #fbbf2452;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.chamber-time-pill{color:#94a3b8;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:inline-flex}.chamber-close-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .2s,color .2s;display:inline-flex}.chamber-close-btn:hover{color:#fff;background:#ffffff26}.chamber-body{text-align:center;flex:1;justify-content:center;align-items:center;display:flex}.chamber-title{font-family:var(--font-display);color:#fffbeb;text-wrap:balance;margin:0;font-size:1.55rem;font-weight:700;line-height:1.25}.registration-form{position:relative}.honeypot-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.input-row{flex-direction:column;gap:.55rem;display:flex}.email-input-wrap{flex:1;min-width:0;position:relative}.input-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.email-input{color:#f8fafc;background:#070d12d9;border:1px solid #fbbf244d;border-radius:10px;outline:none;width:100%;padding:.65rem .75rem .65rem 2.25rem;font-family:inherit;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.email-input::placeholder{color:#64748b}.email-input:focus{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2429}.invite-submit-btn{color:#1c1917;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 55%,#d97706 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.68rem 1rem;font-family:inherit;font-size:.84rem;font-weight:700;transition:transform .15s,filter .15s,opacity .2s;display:inline-flex}.invite-submit-btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.invite-submit-btn:disabled{opacity:.6;cursor:not-allowed}.spin-icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-error-msg{color:#fca5a5;margin:.45rem 0 0;font-size:.78rem}.registration-success{color:#d1fae5;background:#10b98121;border:1px solid #10b98161;border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;display:flex}.success-icon{color:#34d399;flex-shrink:0;margin-top:1px}.success-copy{flex-direction:column;gap:.15rem;font-size:.8rem;line-height:1.4;display:flex}.success-copy strong{color:#ecfdf5;font-size:.9rem}.registration-result{flex-direction:column;gap:.55rem;display:flex}.add-another-btn{color:#fde68a;cursor:pointer;background:#fbbf240f;border:1px dashed #fbbf2473;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.6rem 1rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.add-another-btn:hover{background:#fbbf2424;border-color:#fbbf24bf}.double-doors{z-index:4;transform-style:preserve-3d;cursor:pointer;outline:none;position:absolute;inset:0}.double-doors:focus-visible .door-wing{box-shadow:0 0 0 3px #fbbf24}.door-shrine.is-open .double-doors{pointer-events:none}.door-shrine.is-open .door-wing{pointer-events:auto;cursor:pointer}.door-wing{background:radial-gradient(circle at 50% 45%,#ef44442e,#0000 70%),linear-gradient(165deg,#7f1d1d 0%,#561013 55%,#37090c 100%);width:50%;transition:transform .95s cubic-bezier(.22,1,.36,1),box-shadow .45s;position:absolute;top:0;bottom:0;overflow:hidden;box-shadow:inset 0 0 24px #0000007a}.door-shrine[data-theme=pine] .door-wing{background:radial-gradient(circle at 50% 45%,#10b98126,#0000 70%),linear-gradient(165deg,#14532d 0%,#0e3820 55%,#072112 100%)}.door-left{transform-origin:0;border:1px solid #f5c4518c;border-right-color:#f5c45173;border-radius:18px 0 0 18px;left:0}.door-right{transform-origin:100%;border:1px solid #f5c4518c;border-left-color:#0000008c;border-radius:0 18px 18px 0;right:0}.door-shrine:not(.is-open):not(.is-locked) .double-doors:hover .door-left{transform:rotateY(-13deg);box-shadow:8px 0 20px #0006,inset 0 0 20px #fbbf2424}.door-shrine:not(.is-open):not(.is-locked) .double-doors:hover .door-right{transform:rotateY(13deg);box-shadow:-8px 0 20px #0006,inset 0 0 20px #fbbf2424}.door-shrine.is-open .door-left{transform:rotateY(-108deg);box-shadow:14px 8px 28px #0009}.door-shrine.is-open .door-right{transform:rotateY(108deg);box-shadow:-14px 8px 28px #0009}@media (width<=640px){.door-shrine.is-open .door-left{transform:rotateY(-98deg)}.door-shrine.is-open .door-right{transform:rotateY(98deg)}}.door-molding{pointer-events:none;border:1px solid #f3d27a52;border-radius:8px;position:absolute;inset:14px 12px}.corner-star{color:#fde04799;font-size:.7rem;line-height:1;position:absolute}.top-left{top:6px;left:7px}.bottom-left{bottom:6px;left:7px}.top-right{top:6px;right:7px}.bottom-right{bottom:6px;right:7px}.brass-handle{background:linear-gradient(#fef08a 0%,#d97706 60%,#78350f 100%);border-radius:999px;width:7px;height:30px;margin-top:48px;position:absolute;top:50%;box-shadow:0 2px 6px #000000a6}.door-left .brass-handle{right:11px}.door-right .brass-handle{left:11px}.shared-seal-layer{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;width:200%;display:flex;position:absolute;top:0;bottom:0}.door-left .shared-seal-layer{left:0}.door-right .shared-seal-layer{left:-100%}.wreath-medallion{background:radial-gradient(circle at 35% 28%,#fef9c3 0%,#f59e0b 48%,#92400e 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:98px;height:98px;display:flex;position:relative;box-shadow:0 8px 22px #0009,0 0 0 4px #fef08a38,inset 0 2px 4px #ffffffb3}.wreath-svg{pointer-events:none;width:120px;height:120px;position:absolute;inset:-11px}.medallion-number{font-family:var(--font-display);color:#3b0a0d;text-shadow:0 1px #ffffff8c;font-size:2.35rem;font-weight:800;line-height:1}.medallion-label{letter-spacing:.12em;text-transform:uppercase;color:#451a03;margin-top:2px;font-size:.62rem;font-weight:800}.door-plaque{text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0000006b;border:1px solid #f3d27a66;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;width:calc(100% - 30px);max-width:200px;padding:.55rem .5rem;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff0f}.plaque-main{color:#fef08a;text-wrap:balance;font-size:.8rem;font-weight:700;line-height:1.3}.door-shrine.is-locked .double-doors{cursor:not-allowed}.door-shrine.is-locked .door-wing{filter:saturate(.5)brightness(.72)}.frost-lock{pointer-events:none;border-radius:18px;position:absolute;inset:0;overflow:hidden;transform:translateZ(2px)}.frost-veil{background:radial-gradient(110% 55% at 0 0,#e0f2fe61,#0000 55%),radial-gradient(110% 55% at 100% 100%,#e0f2fe52,#0000 55%),radial-gradient(80% 45% at 100% 0,#bae6fd3d,#0000 60%),radial-gradient(80% 45% at 0 100%,#bae6fd3d,#0000 60%),linear-gradient(#bae6fd1a,#bae6fd0d);border:1px solid #e0f2fe8c;border-radius:18px;position:absolute;inset:0;box-shadow:inset 0 0 42px #e0f2fe59,inset 0 0 6px #ffffff8c}.frost-chain{filter:drop-shadow(0 3px 4px #0000008c)drop-shadow(0 0 6px #bae6fd73);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'%3E%3Crect x='2' y='4' width='22' height='12' rx='6' fill='none' stroke='%23dbeefa' stroke-width='3.2'/%3E%3Crect x='2' y='4' width='22' height='12' rx='6' fill='none' stroke='%23ffffff' stroke-opacity='0.55' stroke-width='1'/%3E%3Crect x='21' y='8.4' width='17' height='3.2' rx='1.6' fill='%239cc3da'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat-x;background-size:40px 20px;width:130%;height:20px;margin-top:-10px;position:absolute;top:64%;left:-15%}.chain-a{transform:rotate(-6deg)}.chain-b{transform:rotate(6deg)}.frost-padlock{transform-origin:50% 0;filter:drop-shadow(0 4px 8px #0009)drop-shadow(0 0 10px #bae6fd80);width:50px;height:58px;margin:-32px 0 0 -25px;position:absolute;top:64%;left:50%}.frost-padlock svg{width:100%;height:100%}.door-shrine.is-locked .door-right .plaque-main{color:#e0f2fe}.door-shrine.is-shaking .double-doors{animation:.55s cubic-bezier(.36,.07,.19,.97) door-shake}.door-shrine.is-shaking .frost-padlock{animation:.55s ease-out padlock-swing}@keyframes door-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)rotate(-.6deg)}30%{transform:translate(6px)rotate(.5deg)}45%{transform:translate(-5px)rotate(-.4deg)}60%{transform:translate(4px)rotate(.3deg)}75%{transform:translate(-2px)}}@keyframes padlock-swing{0%,to{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-11deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.door-shrine.is-shaking .double-doors{animation-duration:.3s}}.invite-note{color:#fde68a;text-align:left;background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:12px;justify-content:center;align-items:center;gap:.6rem;width:fit-content;max-width:100%;margin:.5rem auto 0;padding:.75rem 1.25rem;font-size:.92rem;line-height:1.45;display:flex}.invite-note svg{color:#fbbf24;flex-shrink:0}.invite-note strong{color:#fef3c7}.site-footer{text-align:center;color:#64748b;margin-top:3rem;font-size:.8rem}
