:root{--black:#070707;--black-soft:#0e0d0b;--panel:#100f0d;--gold:#c9a227;--gold-light:#e6cf8a;--gold-deep:#8a6e1f;--gold-hair:rgba(201,162,39,0.32);--emerald:#0d5c43;--emerald-light:#2f8f6d;--cream:#ede6d6;--muted:#9c9284}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--black);color:var(--cream);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}body:before{content:"";position:fixed;inset:0;background:radial-gradient(60% 45% at 50% 0,rgba(201,162,39,.13),transparent 70%),radial-gradient(50% 40% at 50% 100%,rgba(13,92,67,.14),transparent 70%);pointer-events:none;z-index:0}.serif{font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif}.page{z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:clamp(1rem,4vw,2.5rem) clamp(.75rem,4vw,2rem)}.card,.page{position:relative}.card{width:100%;max-width:580px;background:linear-gradient(180deg,var(--panel),var(--black-soft));border:1px solid var(--gold-hair);padding:clamp(1.75rem,6vw,3rem) clamp(1.25rem,5vw,2.75rem);box-shadow:0 30px 90px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.02)}.card:before{border:1px solid rgba(201,162,39,.18)}.card:after,.card:before{content:"";position:absolute;inset:10px;pointer-events:none}.card:after{background:linear-gradient(var(--gold),var(--gold)) left 0 top 0 /22px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) left 0 top 0 /2px 22px no-repeat,linear-gradient(var(--gold),var(--gold)) right 0 top 0 /22px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) right 0 top 0 /2px 22px no-repeat,linear-gradient(var(--gold),var(--gold)) left 0 bottom 0 /22px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) left 0 bottom 0 /2px 22px no-repeat,linear-gradient(var(--gold),var(--gold)) right 0 bottom 0 /22px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) right 0 bottom 0 /2px 22px no-repeat;opacity:.85}.monogram{text-align:center;font-size:clamp(2rem,7vw,2.9rem);letter-spacing:.1em;color:var(--gold);line-height:1}.monogram-rule{width:90px;height:1px;margin:.65rem auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}.monogram-rule:after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;transform:translateX(-50%) rotate(45deg);background:var(--emerald-light);box-shadow:0 0 8px rgba(47,143,109,.8)}.eyebrow{text-transform:uppercase;letter-spacing:.34em;font-size:clamp(.6rem,2vw,.72rem);font-weight:600;color:var(--gold);text-align:center}.rule{width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:1.15rem auto}h1.display{font-size:clamp(2.1rem,10vw,3.4rem);font-weight:500;color:var(--gold-light);line-height:1.02;letter-spacing:.09em}.display-sub,h1.display{text-align:center;text-transform:uppercase}.display-sub{letter-spacing:.42em;font-size:clamp(.72rem,2.6vw,.95rem);color:var(--gold);margin-top:.5rem}.greeting{text-align:center;color:var(--cream);margin-top:1.1rem;font-size:clamp(.98rem,3vw,1.12rem)}.tagline{text-align:center;color:var(--muted);font-style:italic;margin-top:.4rem;font-size:clamp(.86rem,2.6vw,1rem)}.date-plaque{display:flex;align-items:center;justify-content:center;gap:clamp(.6rem,3vw,1.1rem);margin:1.4rem auto 0;padding:.6rem clamp(.9rem,4vw,1.6rem);border:1px solid var(--gold-hair);width:-moz-fit-content;width:fit-content}.date-plaque .d{font-size:clamp(1.5rem,6vw,2rem);color:var(--gold-light);letter-spacing:.04em}.date-plaque .sep{width:1px;height:26px;background:var(--gold-hair)}.date-plaque .m{text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.72rem,2.6vw,.9rem);color:var(--gold)}.countdown{display:flex;justify-content:center;gap:clamp(.75rem,4vw,1.6rem);margin-top:1.3rem}.countdown .unit{text-align:center;min-width:46px}.countdown .n{font-size:clamp(1.2rem,5vw,1.6rem);color:var(--gold-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.countdown .l{text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;color:var(--muted);margin-top:.2rem}form{margin-top:2rem}.field{margin-bottom:1.05rem}.field>label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.4rem}input[type=email],input[type=tel],input[type=text],select{width:100%;padding:.72rem .85rem;border:1px solid rgba(201,162,39,.25);background:rgba(255,255,255,.028);color:var(--cream);font-size:1rem;border-radius:2px}input::placeholder{color:#6d6559}input:focus,select:focus{outline:none;border-color:var(--gold);background:rgba(201,162,39,.06)}select option{background:var(--panel);color:var(--cream)}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}@media (max-width:460px){.row{grid-template-columns:1fr}}.choice{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.choice label{display:flex;align-items:center;justify-content:center;padding:.85rem .5rem;cursor:pointer;border:1px solid rgba(201,162,39,.25);color:var(--cream);font-size:.93rem;text-align:center;transition:border-color .15s,background .15s,color .15s;border-radius:2px}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label:has(input:checked){border-color:var(--gold);background:linear-gradient(180deg,rgba(201,162,39,.14),rgba(201,162,39,.05));color:var(--gold-light)}.attend-dependent{display:none}form:has(input[name=attending][value=yes]:checked) .attend-dependent{display:block}.partner-block{display:none}form:has(input[name=partner][value=yes]:checked) .partner-block{display:block}.section-label{text-transform:uppercase;letter-spacing:.24em;font-size:.66rem;font-weight:700;color:var(--gold);margin:1.9rem 0 .85rem;text-align:center}.section-label:after{content:"";display:block;width:34px;height:1px;background:var(--gold-hair);margin:.55rem auto 0}button.primary{width:100%;margin-top:1.9rem;padding:1rem;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#14110a;border:none;border-radius:2px;font-size:.86rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.22em;transition:filter .15s,transform .1s}button.primary:hover{filter:brightness(1.09)}button.primary:active{transform:scale(.995)}.footer{margin-top:1.6rem;text-align:center;font-size:.8rem;color:var(--muted)}.consent a,.footer a{color:var(--gold)}.consent{font-size:.72rem;color:#6f6759;margin-top:1rem;line-height:1.5}.center,.consent{text-align:center}.detail-line{margin:.4rem 0;color:var(--cream)}.subtle{color:var(--muted)}.seal{width:68px;height:68px;margin:0 auto 1.2rem;border:1px solid var(--gold);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(201,162,39,.13),transparent)}.seal span{transform:rotate(-45deg);font-size:1.6rem;color:var(--gold-light)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;margin-top:1.4rem;text-align:center}.detail-grid>div{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .3rem;border:1px solid var(--gold-hair)}.dt-l{text-transform:uppercase;letter-spacing:.14em;font-size:.56rem;color:var(--muted)}.dt-v{font-size:.8rem;color:var(--cream)}@media (max-width:460px){.detail-grid{grid-template-columns:1fr}}.uber-note{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--gold-hair);background:rgba(201,162,39,.04);font-size:.85rem;color:var(--cream);line-height:1.5}.uber-note .dt-l{display:block;margin-bottom:.25rem}.person{border:1px solid var(--gold-hair);padding:1.1rem 1rem .4rem;margin-top:1.4rem}.person legend{padding:0 .6rem;color:var(--gold-light);font-size:1.1rem;letter-spacing:.05em}.admin{position:relative;z-index:1;min-height:100dvh;padding:clamp(.75rem,3vw,2rem);max-width:1180px;margin:0 auto}.admin-top{justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gold-hair);flex-wrap:wrap}.admin-brand,.admin-top{display:flex;align-items:center}.admin-brand{gap:.7rem}.admin-brand .mono{color:var(--gold);font-size:1.4rem;letter-spacing:.1em}.admin-brand .t{font-size:.9rem;color:var(--muted)}.admin-nav{display:flex;gap:.4rem;flex-wrap:wrap}.admin-nav a{padding:.45rem .85rem;font-size:.82rem;color:var(--cream);border:1px solid var(--gold-hair);text-decoration:none;border-radius:2px}.admin-nav a.active,.admin-nav a:hover{border-color:var(--gold);color:var(--gold-light);background:rgba(201,162,39,.06)}.admin h2{color:var(--gold-light);font-weight:500;letter-spacing:.04em;margin:1.5rem 0 .9rem;font-size:1.15rem}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.7rem;gap:.7rem}.tile{border:1px solid var(--gold-hair);padding:.9rem 1rem;text-decoration:none;display:block;transition:border-color .15s,background .15s}.tile:hover{border-color:var(--gold);background:rgba(201,162,39,.05)}.tile .n{font-size:1.9rem;color:var(--gold-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.tile .l{text-transform:uppercase;letter-spacing:.12em;margin-top:.4rem}.tile .l,.tile .sub{font-size:.72rem;color:var(--muted)}.tile .sub{margin-top:.3rem}.tile .n.warn{color:#e0a15a}.tile .n.good{color:var(--emerald-light)}.admin table{width:100%;border-collapse:collapse;font-size:.84rem}.admin th{text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--gold-hair);font-weight:600}.admin td{padding:.55rem .6rem;border-bottom:1px solid rgba(201,162,39,.12);color:var(--cream);vertical-align:top}.admin tr:hover td{background:rgba(201,162,39,.035)}.admin .table-wrap{overflow-x:auto;border:1px solid var(--gold-hair)}.pill{display:inline-block;padding:.12rem .5rem;font-size:.68rem;border-radius:2px;border:1px solid;letter-spacing:.04em}.pill.yes{color:var(--emerald-light);border-color:rgba(47,143,109,.5)}.pill.no{color:#d98a8a;border-color:rgba(217,138,138,.4)}.pill.pending{color:#e0a15a;border-color:rgba(224,161,90,.4)}.pill.delivered{color:var(--emerald-light);border-color:rgba(47,143,109,.5)}.pill.failed,.pill.redelivery{color:#d98a8a;border-color:rgba(217,138,138,.5)}.pill.muted{color:var(--muted);border-color:var(--gold-hair)}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.9rem}.toolbar input,.toolbar select{width:auto;min-width:180px;padding:.5rem .7rem;font-size:.85rem}.toolbar .spacer{flex:1 1}.btn{padding:.5rem .9rem;font-size:.8rem;border:1px solid var(--gold);color:var(--gold-light);background:rgba(201,162,39,.06);text-decoration:none;border-radius:2px;cursor:pointer}.btn:hover{background:rgba(201,162,39,.14)}.btn.solid{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#14110a;border:none;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.admin-note{font-size:.78rem;color:var(--muted);margin-top:.6rem}.count{color:var(--muted);font-size:.8rem}