:root{--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--font-display: "Fraunces", ui-serif, Georgia, serif;--ink: #2a2a2a;--muted: rgba(42, 42, 42, .6);--muted2: rgba(42, 42, 42, .45);--paper: #f9f6f3;--paper2: #ffffff;--line: rgba(42, 42, 42, .08);--line-soft: rgba(42, 42, 42, .05);--gold: #b09663;--gold-underline: rgba(176, 150, 99, .3);--gold-wash: rgba(176, 150, 99, .08);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .02), 0 10px 15px -3px rgba(0, 0, 0, .04), 0 20px 40px -4px rgba(0, 0, 0, .04);--shadow-soft: 0 2px 4px rgba(0, 0, 0, .02), 0 6px 12px rgba(0, 0, 0, .03);--focus: 0 0 0 3px rgba(176, 150, 99, .2);--r: 32px;--r2: 20px;--ease: cubic-bezier(.2, 0, .2, 1);--ease-spring: cubic-bezier(.3, 1.4, .65, 1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fadeUp .8s var(--ease) forwards;opacity:0}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:#f2efe9;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E"),radial-gradient(at 0% 0%,rgba(255,255,255,.7) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(240,230,220,.5) 0px,transparent 50%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;transition:opacity .2s}.container{width:min(720px,calc(100% - 40px));margin:60px auto 100px}.topRow,.topbar{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:24px}.card .navBar{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.03);width:100%}.navItem{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:600;padding:8px 16px;border-radius:99px;transition:all .2s var(--ease);position:relative}.navItem:hover{color:var(--ink);background:#00000008}.navItemActive{color:var(--gold);background:#b89b5e1f}.linkBtn{border:none;background:transparent;text-decoration:none;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:8px 12px;border-radius:99px;transition:all .2s var(--ease)}.linkBtn:hover{color:var(--ink);background:#fff6}.h1{font-family:var(--font-display);font-size:48px;line-height:1.1;margin:0;letter-spacing:-.02em;font-weight:400;color:#1a1a1a}.subtle{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.6}.card{position:relative;background:#fffcf8;border:1px solid rgba(255,255,255,1);border-radius:var(--r);box-shadow:0 1px 2px #00000005,0 20px 60px #b89b5e1f,0 8px 20px #00000008;padding:48px;overflow:hidden}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;opacity:.6;mix-blend-mode:multiply;z-index:0}.card:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:calc(var(--r) - 12px);border:1px solid rgba(184,155,94,.15);pointer-events:none;z-index:1}.card>*{position:relative;z-index:2}.cardTitle{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;color:var(--gold)}.cardDesc{margin:0 0 20px;color:var(--muted);font-size:15px;line-height:1.6}.hr{height:1px;background:radial-gradient(circle,var(--line) 0%,transparent 100%);border:0;margin:40px 0;opacity:.6}.small{font-size:13px;color:var(--muted2);line-height:1.5;font-style:italic;font-family:var(--font-display)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.inviteHeader{text-align:center;padding:0 8px}.inviteKicker{margin-top:8px;font-size:13px;letter-spacing:.35em;text-transform:uppercase;color:#1a1a1a99;font-weight:600}.inviteNames{font-family:var(--font-display);font-size:56px;line-height:1;margin:12px 0 8px;letter-spacing:-.04em;color:#111;font-weight:400}.inviteMeta{font-family:var(--font-display);font-style:italic;font-size:16px;color:#1a1a1a99;margin-top:4px}.inviteMeta a{text-decoration:none;border-bottom:1px solid var(--gold-underline);padding-bottom:1px;color:#1a1a1acc}.inviteMeta a:hover{border-bottom-color:var(--gold);opacity:1}.inviteIntro{font-family:var(--font-display);font-size:18px;line-height:1.5;color:var(--muted);text-align:center;margin:24px auto 0;max-width:480px;font-style:italic}.guestName{font-family:var(--font-body);font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;color:var(--gold);margin-left:4px}.inviteHero{position:relative;margin:0 -48px 12px;height:320px;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.03)}.inviteHeroImg{width:100%;height:100%;object-fit:cover;object-position:50% 40%;mask-image:linear-gradient(to bottom,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 95%,transparent 100%)}@media(max-width:640px){.h1{font-size:38px}.inviteNames{font-size:42px}.card{padding:24px}.inviteHero{margin:0 -24px 20px;height:240px}}.inviteStamp{position:absolute;left:50%;bottom:14px;transform:translate(-50%);width:44px;height:44px;opacity:.92;pointer-events:none}.statusBox{border:1px solid rgba(26,26,26,.04);border-radius:2px;background:#28282803;padding:24px}.statusRow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(26,26,26,.06)}.statusRow:last-child{border-bottom:none}.statusLabel{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:600}.statusValue{font-family:var(--font-display);font-style:italic;font-size:18px;color:var(--ink)}.twoCards{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:720px){.twoCards{grid-template-columns:1fr 1fr}}.miniCard{text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;border-radius:4px;border:1px solid rgba(184,155,94,.2);background:#fffcf9;padding:24px 16px;transition:all .3s var(--ease);position:relative}.miniCard:hover{transform:translateY(-3px);box-shadow:0 10px 20px #b89b5e26;border-color:#b89b5e80;background:#fff}.miniTitle{font-family:var(--font-display);font-size:20px;margin:0 0 8px;color:var(--ink);font-weight:500;letter-spacing:-.01em}.miniSub{font-size:12px;color:var(--gold);line-height:1.5;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.miniStatus{margin-top:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);background:#0000000a;padding:4px 10px;border-radius:99px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.formSection{margin-bottom:24px}.grid2{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:600px){.grid2{grid-template-columns:1fr 1fr}}.rowWrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.label{display:block;font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--gold);margin-bottom:6px}.label .opt{text-transform:none;font-style:italic;font-weight:400;color:var(--muted2);letter-spacing:0}.input,.select{display:block;width:100%;height:48px;border-radius:4px;border:1px solid rgba(26,26,26,.12);padding:0 16px;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:15px;outline:none;transition:all .2s var(--ease)}.input:focus,.select:focus{border-color:var(--gold);box-shadow:0 0 0 4px #b89b5e1a}.optionGroup{display:flex;gap:12px;flex-wrap:wrap}.optionBtn{flex:1;min-width:80px;height:48px;border:1px solid rgba(26,26,26,.12);background:#fff;border-radius:4px;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .2s var(--ease)}.optionBtn:hover{border-color:var(--gold);background:#fffcf8}.optionBtn.active{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600;box-shadow:0 4px 12px #b89b5e40}.btn{height:48px;border-radius:4px;border:1px solid transparent;padding:0 24px;background:#1a1a1a0d;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:14px;transition:all .2s var(--ease);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);line-height:normal}.btn:hover{transform:translateY(-1px)}.btnPrimary{background:var(--ink);color:#fff;box-shadow:0 4px 14px #00000026}.btnPrimary:hover{background:#000;box-shadow:0 6px 20px #0003}.errorBox{margin:12px 0;background:#fff1f2;border:1px solid rgba(239,68,68,.2);color:#991b1b;border-radius:4px;padding:12px 14px;font-size:13px}.toast{position:fixed;right:24px;bottom:24px;background:#1a1a1a;color:#fff;padding:14px 20px;border-radius:4px;font-size:14px;box-shadow:0 10px 30px #0003}.rsvpCard{background:#ffffffb3;border:1px solid rgba(26,26,26,.08);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rsvpTitle{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em}.rsvpSubtitle{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.65}.rsvpLabel{font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#1a1a1a9e}.rsvpInput,.rsvpSelect,.rsvpTextarea{width:100%;border:1px solid rgba(26,26,26,.14);border-radius:18px;padding:12px 14px;font-size:15px;background:#ffffffeb;outline:none;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.rsvpInput:focus,.rsvpSelect:focus,.rsvpTextarea:focus{border-color:#b89b5e99;box-shadow:var(--focus)}.rsvpChoiceRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.rsvpChip{padding:10px 14px;border-radius:999px;border:1px solid rgba(26,26,26,.14);background:#ffffffdb;color:#1a1a1ae0;font-weight:650;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease)}.rsvpChip:hover{transform:translateY(-1px)}.rsvpChipActive{border-color:#b89b5e99;background:#b89b5e29}.rsvpSavedBox{border:1px solid rgba(184,155,94,.22);background:#b89b5e1a;border-radius:var(--r2);padding:14px;margin-top:14px}.inviteMeta{margin:12px 0 0;font-size:14px;color:#1a1a1a9e;font-style:italic}.guestName{font-family:var(--font-display);font-style:italic;text-transform:uppercase;letter-spacing:.01em;font-size:14px;color:#1a1a1ac7}
