:root{--paper:#f3ede2;--paper-deep:#ebe3d4;--ink:#1f1d1a;--ink-soft:#5d574e;--navy:#1b2f5e;--rule:#cfc5b3;--serif:"Cormorant Garamond", "Georgia", serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0}body{font-family:var(--serif);letter-spacing:.03em;word-spacing:.06em;padding-block:32px 64px;padding-inline:16px;font-size:18px;font-weight:300;line-height:1.6}.wrap{gap:48px;max-width:680px;margin:0 auto;display:grid}.card{border:2px solid var(--navy);aspect-ratio:1;align-items:flex-start;max-width:100%;padding:clamp(28px,9%,72px);display:flex}.card-text{letter-spacing:.04em;margin-top:14%;font-size:clamp(20px,4.6vw,30px);font-style:italic;line-height:1.32}.card-text p{margin:0}.details{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px 32px;padding-top:28px;display:grid}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:0 0 6px;font-size:11px}.details .val{margin:0;font-size:16px}.details .sub{color:var(--ink-soft);font-size:14px;font-style:italic}.details a{color:var(--navy)}.rsvp{border:1px solid var(--navy);gap:24px;padding:clamp(20px,5vw,40px);display:grid}.rsvp h2{margin:0;font-size:26px;font-style:italic;font-weight:300}.rsvp .intro{color:var(--ink-soft);margin:0;font-size:14px}.rsvp .big{margin:0;font-size:22px;font-style:italic}form{gap:20px;display:grid}.field{gap:6px;display:grid}.field label,.legend{letter-spacing:.14em;text-transform:uppercase;color:var(--navy);font-size:11px}input[type=text],input[type=email],select,textarea{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--ink-soft);background:0 0;border-radius:0;width:100%;padding:6px 0}textarea{resize:vertical;min-height:64px}input:focus,select:focus,textarea:focus{border-bottom-color:var(--navy);box-shadow:0 1px 0 var(--navy);outline:none}fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.choices{flex-wrap:wrap;gap:10px;display:flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice span{border:1px solid var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 18px;font-style:italic;display:inline-block}.choice input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--paper)}.choice input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}.row{grid-template-columns:1fr 120px;gap:20px;display:grid}@media (max-width:460px){.row{grid-template-columns:1fr}}.trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}button{font:inherit;letter-spacing:.14em;text-transform:uppercase;background:var(--navy);color:var(--paper);cursor:pointer;border:0;justify-self:start;padding:14px 24px;font-size:13px}button:hover{background:#142449}button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}button[disabled]{opacity:.55;cursor:default}.btn-ghost{color:var(--navy);border:1px solid var(--navy);background:0 0}.btn-ghost:hover{background:var(--paper-deep)}.status{min-height:1.4em;margin:0;font-size:14px;font-style:italic}.status.err{color:#8a2a1c}footer{text-align:center;color:var(--ink-soft);font-size:13px;font-style:italic}@media (prefers-reduced-motion:no-preference){.card-text p{animation:.9s both ink}.card-text p:nth-child(2){animation-delay:.12s}.card-text p:nth-child(3){animation-delay:.24s}.card-text p:nth-child(4){animation-delay:.36s}@keyframes ink{0%{opacity:.15}to{opacity:1}}}
