@font-face{font-family:Parisienne;src:url('assets/parisienne.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.names,.footer-names{font-family:Parisienne,cursive}
.names{font-size:6rem;line-height:1.08;max-width:100%;overflow-wrap:anywhere}
.names .amp{padding:5px 0}
.invitation-blessing,.invitation-welcome{font:500 1.125rem/1.7 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.1em;color:var(--forest);max-width:100%;margin:0 auto}
.invitation-blessing span,.invitation-welcome span{display:block}
.invitation-blessing{margin-bottom:30px}
.invitation-welcome{margin-top:30px}
.photo{height:auto;background:#fff}
.photo img{width:100%;height:auto;display:block}
.photo:after{display:none}
.reveal{opacity:1;transform:none}
.motion-ready .reveal:not(.show){opacity:0;transform:translateY(20px)}
.gift-grid{gap:24px}
.gift-card{display:block;padding:20px;border-radius:6px;min-width:0}
.gift-card h3{font-size:1.4rem;line-height:1.3;margin:18px 0 6px;overflow-wrap:anywhere}
.gift-card h3:first-child{margin-top:0}
.gift-thumb{display:block;width:100%;height:210px;aspect-ratio:auto;object-fit:contain;background:white;padding:12px}
.gift-card .note{margin:0 0 12px}
.status{display:inline-block;margin:8px 0 16px;font-size:.875rem;letter-spacing:0;border-radius:4px;line-height:1.4}
.gift-card[data-reserved=true] .status{background:#edf1e9;color:#334734}
.gift-actions{gap:10px}
.gift-actions a,.gift-actions button{font:500 .875rem/1.35 Montserrat,sans-serif;letter-spacing:0;text-transform:none;min-height:44px;padding:12px 14px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex:1 1 140px;text-align:center}
.gift-actions button{border:1px solid var(--forest);background:var(--forest);color:white;cursor:pointer}
.gift-actions a{background:white;border:1px solid #9cad94;color:var(--forest)}
button:disabled{opacity:.55;cursor:default}
.cash-option{margin-top:36px;padding-top:30px;border-top:1px solid #c4cfbb}
.cash-option h3{font:600 1.5rem 'Cormorant Garamond',serif;color:var(--forest);margin:0}
.text-button{background:none;border:0;color:var(--forest);font:500 .875rem Montserrat,sans-serif;padding:12px;min-height:44px;text-decoration:underline;cursor:pointer}
.pass{font-size:1.25rem;line-height:1.5}
.attendance-greeting{font:600 1.5rem/1.5 'Cormorant Garamond',serif;color:var(--forest);margin:30px 0 0}
.dress-colors{flex-wrap:wrap;margin:24px 0;gap:18px}
.dress-color{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.875rem}
.swatch.beige{background:#d8c5a5}.swatch.green{background:#55745d}
.swatch:after{color:#8b1e2d;text-shadow:0 0 2px white,0 0 4px white}
.pass small{font-size:.875rem;letter-spacing:0;line-height:1.5;text-transform:none}
form label{display:block;margin-bottom:8px;font-size:.875rem;text-transform:none;letter-spacing:0}
input,select{min-height:48px;border-radius:4px}
input:read-only{background:#f1f3ec}
button.submit{font-size:.875rem;letter-spacing:0;border-radius:4px}
.contact{color:var(--forest);font-size:1rem;display:inline-block;padding:8px}
.error{color:#973c30}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #6e8854;outline-offset:4px}
dialog{border:1px solid #cad4c2;border-radius:8px;background:var(--ivory);color:var(--ink);padding:28px;width:calc(100% - 32px);max-width:440px}
dialog::backdrop{background:#0d281eb8}
dialog h2{font-size:1.8rem;margin:0}
dialog form{margin:0;gap:16px}
dialog p{margin:0;line-height:1.5}
.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.primary{background:var(--forest);color:#fff;border:0;border-radius:4px;padding:12px 16px;min-height:44px;cursor:pointer;font:500 .875rem Montserrat,sans-serif}
.open-gifts{margin-top:16px;padding:15px 24px}
html.gift-list-open{overflow:hidden}
#gift-list-dialog{padding:0;max-width:560px;max-height:calc(100dvh - 48px);text-align:left;overflow:hidden}
#gift-list-dialog[open]{display:flex;flex-direction:column}
.gift-list-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;flex-shrink:0;border-bottom:1px solid #d9dfd0}
.gift-list-header h2{font-size:1.7rem;line-height:1.2;text-transform:none}
.close-gifts{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:4px;color:var(--forest);background:transparent;font:2rem/1 Montserrat,sans-serif;cursor:pointer}
.close-gifts:hover{background:#e9eee3}
.gift-list-body{padding:20px 24px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.gift-list-body #gift-message:not(:empty){margin-top:20px}
@media(max-width:390px){.names{font-size:5rem}.gift-card{padding:16px}.time-row{grid-template-columns:94px 1px minmax(0,1fr);gap:12px}.time-row b{font-size:1.15rem}.paper{padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.show){opacity:1;transform:none}}
