:root{--ink:#151918;--paper:#f2f0e8;--blue:#168ca8;--line:#d4d5ce}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline:3px solid var(--blue);outline-offset:4px}.invitation{max-width:1400px;margin:auto}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:32px 5%;display:flex}.wordmark{letter-spacing:-3px;font-size:42px;font-weight:950;line-height:.9;text-decoration:none}.wordmark span{letter-spacing:2px;font-size:9px;line-height:2.5;display:block}.header-note,.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700}.main-grid{grid-template-columns:1.2fr 1fr;display:grid}.poster{border-right:1px solid var(--line);padding:56px 11% 105px 8.5%;position:relative;overflow:hidden}h1{letter-spacing:-5px;margin:28px 0;font-size:clamp(52px,6.2vw,88px);font-weight:900;line-height:.96}h1 em{color:var(--blue);font-style:normal}.intro{font-size:19px;line-height:1.5}.date{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);align-items:center;gap:24px;margin:32px 0;padding:22px 0;display:flex}.date>strong{letter-spacing:-4px;font-size:63px}.date>div{letter-spacing:1px;font-size:11px;line-height:1.8}.date b{letter-spacing:.7px;font-size:16px}.address>strong{letter-spacing:1px;font-size:12px}.address p{margin:10px 0;line-height:1.6}.address a{text-underline-offset:4px;font-size:13px}.wave{width:100%;height:90px;position:absolute;bottom:0;left:0}.wave svg{fill:none;width:100%;height:100%;stroke:var(--blue);stroke-width:2px}.rsvp{background:#fbfaf5;padding:56px 12%}h2{letter-spacing:-2px;margin:20px 0;font-size:42px;line-height:1.06}.rsvp>p{max-width:440px;font-size:15px;line-height:1.6}form{margin-top:26px}fieldset{border:0;margin:0 0 20px;padding:0}legend,label{font-size:13px;font-weight:700}legend{margin-bottom:10px}.choices{gap:8px;display:flex}.choices button{border:1px solid var(--line);background:0 0;border-radius:4px;flex:1;padding:13px 8px;font-size:12px}.choices button.active{background:var(--ink);color:#fff;border-color:var(--ink)}label{margin:17px 0;display:block}label>span{color:#666;font-weight:400}input{background:#fff;border:1px solid #babeb6;border-radius:4px;width:100%;min-width:0;margin-top:8px;padding:12px 13px;font-size:15px;display:block}.counter{align-items:center;gap:8px;width:180px;margin:10px 0;display:flex}.counter button{border:1px solid var(--line);background:#fff;border-radius:3px;flex-shrink:0;width:42px;height:42px;font-size:22px}.counter input{text-align:center;-webkit-appearance:textfield;appearance:textfield;margin:0;padding:10px 0}.counter input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.hint{font-size:12px;display:block}.primary,.secondary{border:0;border-radius:4px;padding:16px 20px;font-weight:700}.primary{background:var(--blue);color:#fff;width:100%;margin-top:9px}.secondary{background:var(--ink);color:#fff}.fine{color:#62685f;font-size:11px;line-height:1.5}.privacy{color:#686d64;margin-top:20px;font-size:10px;line-height:1.5}.honeypot{opacity:0;position:absolute;left:-9999px}.error{color:#a32323;font-size:13px}.success{border:1px solid var(--line);margin-top:32px;padding:28px}.success p{line-height:1.5}.check{color:var(--blue);font-size:30px}footer{border-top:1px solid var(--line);letter-spacing:1px;justify-content:space-between;gap:20px;padding:25px 5%;font-size:10px;display:flex}.admin{max-width:1150px;margin:auto;padding:40px 24px}.admin h1{letter-spacing:-2px;font-size:42px}.admin .stats{flex-wrap:wrap;gap:18px;margin:30px 0;display:flex}.stat{border:1px solid var(--line);background:#fff;min-width:170px;padding:22px}.stat b{margin-bottom:4px;font-size:36px;display:block}.table-scroll{background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px}th{white-space:nowrap}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin input,.admin .primary{max-width:400px}.empty{text-align:center;padding:30px}@media (max-width:750px){header{padding:22px 7%}.header-note{letter-spacing:1px;font-size:8px}.main-grid{grid-template-columns:1fr}.poster{border-right:0;border-bottom:1px solid var(--line);padding:40px 7% 105px}h1{letter-spacing:-4px;font-size:64px}.rsvp{padding:36px 7%}.rsvp h2{font-size:36px}footer{flex-direction:column;gap:10px;padding:25px 7%}.date>strong{font-size:58px}.date{gap:22px}}.brand-logos{align-items:center;gap:28px;display:flex}.brand-logos a{line-height:0;display:block}.brand-logo{object-fit:contain;height:auto;display:block}.allin-logo{width:155px}.repair-logo{width:160px}.brand-divider{background:var(--line);width:1px;height:72px}@media (max-width:750px){header{gap:14px;padding:20px 7%}.brand-logos{justify-content:space-between;gap:16px;width:100%;max-width:330px}.allin-logo{width:130px}.repair-logo{width:138px}.brand-divider{height:58px}.header-note{display:none}}@media (max-width:360px){.allin-logo{width:112px}.repair-logo{width:120px}.brand-logos{gap:12px}}.end-note{letter-spacing:0;text-transform:none;margin-top:8px;font-size:12px;line-height:1.5;display:block}
