:root{--navy:#06182a;--gold:#c99745;--cream:#f7f1e7;--ink:#0c1e31}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:#06182a}body{margin:0;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.poster-shell{width:100%;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#153e66,#071a2d 62%,#061525);min-height:100vh}.poster{position:relative;width:min(100vw,1100px);line-height:0;box-shadow:0 0 70px rgba(0,0,0,.3);overflow:hidden;container-type:inline-size}.poster-img{display:block;width:100%;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.hotspot{position:absolute;z-index:4;display:block;border-radius:10px;cursor:pointer;background:transparent;border:0;padding:0}.hotspot:focus-visible{outline:3px solid rgba(255,198,92,.9);outline-offset:2px}.hotspot:hover{background:rgba(255,255,255,.035)}.home{left:64.6%;top:1%;width:7%;height:3.1%}.details-link{left:72.8%;top:1%;width:8.8%;height:3.1%}.rsvp-nav{left:81.9%;width:7.4%}.faq,.rsvp-nav{top:1%;height:3.1%}.faq{left:90.3%;width:6.6%}.rsvp-main{left:33.7%;top:61%;width:32.7%;height:4.05%;border-radius:999px}.anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none}#details{top:34.8%}#plan{top:70.6%}.time-patch{position:absolute;z-index:3;left:30.2%;top:54.9%;width:15.8%;height:3.4%;background:#f5f2e8;color:#1c2b45;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:1.75cqw;line-height:1.38;letter-spacing:.005em}.lang-pill{position:fixed;right:14px;bottom:14px;z-index:50;display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(6,24,42,.82);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lang-btn{border:none;background:transparent;color:#c8d2e2;font:inherit;font-size:12px;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:999px;cursor:pointer}.lang-btn:hover{color:#fff}.lang-btn-active{background:var(--gold);color:var(--navy)}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(2,12,22,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal.open{display:flex}.card{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#f7f1e7;color:#0b1d30;border-radius:22px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.44);line-height:1.35}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:32px;color:#586270;cursor:pointer}.kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:#ae7d31;margin-bottom:7px}.card h2{font-size:34px;line-height:1.05;margin:0 35px 10px 0}.card>p{margin:0 0 22px;color:#465363}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.card label{font-size:12px;font-weight:800;letter-spacing:.03em}.card input,.card select,.card textarea{width:100%;padding:12px 13px;border-radius:11px;border:1px solid #d5cbbb;background:#fffdf9;color:#102034;font:inherit;outline:none}.card input:focus,.card select:focus,.card textarea:focus{border-color:#c99745;box-shadow:0 0 0 3px rgba(201,151,69,.14)}.card select:disabled{opacity:.5}.card textarea{min-height:90px;resize:vertical}.form-error{margin-top:14px;background:#fbe6e0;color:#8c2f1b;border-radius:10px;padding:10px 13px;font-size:14px}.submit{margin-top:17px;width:100%;border:0;border-radius:999px;padding:15px;background:linear-gradient(90deg,#b17d2d,#d5ab5d,#b17d2d);color:#fff;font-weight:900;letter-spacing:.09em;cursor:pointer;font-size:15px}.submit:disabled{opacity:.65;cursor:wait}.card-success{text-align:center;padding:26px 6px}.card-success-emoji{font-size:52px;line-height:1;margin-bottom:14px}.card-success h2{margin:0;font-size:26px}@media (max-width:650px){.poster{width:100vw}.modal{align-items:flex-end;padding:0}.card{border-radius:24px 24px 0 0;padding:26px 20px 24px;max-height:92vh}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.card h2{font-size:30px}}.admin-body{background:#f2f0ea;color:#1b2a41;min-height:100vh}.admin-login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.admin-login-card{width:min(360px,100%);background:#fff;border-radius:16px;padding:2.2rem 2rem;box-shadow:0 14px 40px rgba(27,42,65,.14);display:flex;flex-direction:column;gap:1rem}.admin-login-card h1{font-size:1.3rem;text-align:center;margin:0}.admin-login-card input{font:inherit;padding:.8rem .95rem;border:2px solid rgba(27,42,65,.2);border-radius:10px}.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(90deg,#b17d2d,#d5ab5d,#b17d2d);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:999px;padding:.9rem 2rem;cursor:pointer}.btn-block{width:100%}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--gold);color:#a87c2c;background:transparent;font-weight:700;border-radius:999px;padding:.4rem 1.1rem;font-size:.85rem;cursor:pointer}.admin{max-width:1000px;margin:0 auto;padding:2.4rem 1.4rem 4rem}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}.admin-header h1{font-size:1.5rem;margin:0}.admin-stats{display:flex;gap:1rem;margin-bottom:1.8rem;flex-wrap:wrap}.stat{background:#fff;border-radius:14px;padding:1.1rem 1.8rem;box-shadow:0 6px 18px rgba(27,42,65,.08);min-width:150px}.stat-number{font-size:2rem;font-weight:900;color:#a87c2c}.stat-label{font-size:.82rem}.admin-empty,.stat-label{color:#45526b}.admin-table-wrap{overflow-x:auto;background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(27,42,65,.08)}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table td,.admin-table th{text-align:left;padding:.75rem 1rem;border-bottom:1px solid rgba(27,42,65,.08);vertical-align:top}.admin-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#45526b;white-space:nowrap}.admin-name{font-weight:700;white-space:nowrap}.admin-no{color:#8c2f1b;font-weight:700}.admin-yes{color:#2e7d43;font-weight:700}.admin-note{max-width:260px;color:#45526b;font-size:.86rem}.btn-danger{border:none;background:transparent;color:#b3452c;font-size:.95rem;cursor:pointer;padding:.2rem .5rem;border-radius:6px}.btn-danger:hover{background:#fbe6e0}