*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#eee;background:#050505;margin:0;font-family:Courier New,monospace;font-size:14px;line-height:1.6}a{color:inherit;text-underline-offset:5px}main{max-width:1440px;margin:auto;padding:0 7vw}header{letter-spacing:.13em;border-bottom:1px solid #292929;justify-content:space-between;align-items:center;padding:30px 0;font-size:10px;display:flex}.brand{letter-spacing:-.07em;font-size:22px;text-decoration:none}.invitation{text-align:center;padding:72px 0 60px}.eyebrow{letter-spacing:.2em;color:#a0a0a0;font-size:10px}.hero{width:100%;max-width:1100px;height:auto;margin:35px auto 15px;display:block}h1{letter-spacing:.23em;margin:26px 0 60px;font-size:18px;font-weight:400}.details{text-align:left;justify-content:center;gap:100px;font-size:13px;display:flex}.details p{margin:0}.details strong{font-weight:400}.invitation-only{letter-spacing:.15em;color:#888;margin:40px 0 0;font-size:10px}.rsvp{border-top:1px solid #333;grid-template-columns:1fr 1fr;gap:10vw;padding:70px 0 90px;display:grid}h2 span{color:#a2a2a2}.form-intro>p:last-child{color:#999;font-size:12px}form>label{letter-spacing:.1em;margin-bottom:22px;font-size:10px;display:block}input:not([type=checkbox]):not([type=radio]),select{color:#fff;outline-offset:5px;background:0 0;border:0;border-bottom:1px solid #666;border-radius:0;width:100%;margin-top:5px;padding:15px 0;font:14px Courier New,monospace;display:block}select{background:#050505}:is(input:focus,select:focus,button:focus-visible){outline:2px solid #eee}fieldset{border:0;margin:28px 0;padding:0}legend{letter-spacing:.1em;margin-bottom:12px;font-size:10px}.choices{gap:22px;font-size:11px;display:flex}.choices label{align-items:center;gap:8px;display:flex}input[type=radio],input[type=checkbox]{accent-color:#fff;min-width:16px;min-height:16px;margin:0}.consent{align-items:flex-start;gap:13px;margin-top:32px;letter-spacing:0!important;font-size:12px!important;display:flex!important}.consent small{color:#999;margin-top:7px;font-size:10px;display:block}.privacy{color:#999;margin:22px 0;font-size:10px;line-height:1.7}button{color:#000;letter-spacing:.1em;cursor:pointer;background:#eee;border:1px solid #fff;width:100%;padding:19px;font:12px Courier New,monospace}button:hover{background:#cfcfcf}button:disabled{opacity:.6;cursor:wait}.trap{position:absolute!important;left:-9999px!important}.error{color:#ff9797}.success{text-align:center;grid-column:1/-1;padding:30px 0 60px}.success>a{margin-top:25px;font-size:11px;display:inline-block}footer{color:#999;border-top:1px solid #292929;justify-content:space-between;align-items:center;gap:20px;padding:35px 0 45px;font-size:10px;display:flex}footer p{color:#fff;font-size:18px}footer span{letter-spacing:.1em;font-size:9px}.admin{padding:50px 0}.admin h1{text-align:left;letter-spacing:-.04em;font-size:30px}.admin table{border-collapse:collapse;width:100%;font-size:12px}.admin td,.admin th{text-align:left;border-bottom:1px solid #333;padding:12px}.admin nav{gap:24px;margin:30px 0;display:flex}.privacy-page{max-width:720px;padding:60px 0}.privacy-page h1{letter-spacing:-.04em;font:40px Arial}.privacy-page h2{letter-spacing:0;margin-top:35px;font:22px Arial}@media (max-width:700px){main{padding:0 6vw}header{padding:23px 0}header>span{text-align:right;max-width:150px;font-size:8px}.invitation{padding:48px 0}.hero{width:112%;max-width:none;margin-top:40px;margin-left:-6%}h1{letter-spacing:.17em;margin:26px 0 40px;font-size:12px}.details{gap:30px;font-size:11px}.rsvp{grid-template-columns:1fr;gap:28px;padding:40px 0 55px}.form-intro h2{font-size:52px}.form-intro h2 br,.form-intro>p:last-child{display:none}footer{flex-wrap:wrap;gap:12px}footer span{width:100%}.admin{overflow:auto}}header{border-bottom:0;justify-content:center;padding:32px 0}.brand{line-height:0;display:block}.brand img{filter:invert();width:62px;height:auto;display:block}.invitation{padding-top:10px}.hero{margin-top:20px}h1{margin-bottom:30px}.dedication{letter-spacing:.1em;color:#e5e5e5;margin:0 0 48px;font-size:11px;font-weight:400;line-height:1.9}h2{letter-spacing:.08em;margin:18px 0 22px;font-family:Courier New,Courier,monospace;font-size:clamp(20px,2.2vw,29px);font-weight:400;line-height:1.5}.form-intro h2{font-size:clamp(20px,2.2vw,29px)}@media (max-width:700px){header{padding:27px 0 15px}.brand img{width:50px}.invitation{padding-top:12px}.hero{margin-top:20px}.dedication{letter-spacing:.05em;margin-bottom:34px;font-size:9px}h1{margin-bottom:23px}.form-intro h2{font-size:22px}}
