@font-face{font-family:Bodoni Moda;src:url(/fonts/bodoni-moda-latin-400-normal.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin-400-normal.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin-400-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}:root{--bordeaux:#5b0f1a;--ivory:#f8f5ee;--blush:#dcc9c0;--serif:"Cormorant Garamond", "Palatino Linotype", Palatino, Georgia, serif;--display:"Bodoni Moda", Didot, "Times New Roman", serif;color:var(--bordeaux);background:var(--ivory);font-family:var(--serif);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-underline-offset:.3em}:focus-visible{outline:2px solid var(--bordeaux);outline-offset:5px}p,h1{margin:0}.stationery{flex-direction:column;min-height:100svh;margin:0;padding:clamp(12px,2.25vw,32px);display:flex;position:relative}.stationery:before{content:"";border:1px solid var(--blush);pointer-events:none;position:absolute;inset:clamp(12px,2.25vw,32px)}.page-header{justify-content:center;padding:12px 8px 0;display:flex}.languages{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.languages button{appearance:none;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 11px;font-size:1.0625rem;line-height:1.4;position:relative}.languages button[aria-pressed=true]:after{content:"";background:var(--bordeaux);height:1px;position:absolute;bottom:8px;left:11px;right:11px}.languages button:hover{text-underline-offset:5px;text-decoration:underline}.invitation{flex:1;justify-content:center;align-items:center;padding:36px 16px 44px;display:flex}.invitation-content{text-align:center;width:100%;max-width:780px}.monogram{width:clamp(132px,16vw,186px);height:auto;margin:0 auto 28px;display:block}h1{font-family:var(--display);letter-spacing:.035em;text-wrap:balance;font-size:clamp(2.35rem,6.8vw,4rem);font-weight:400;line-height:1.3}.date-group{margin-top:26px}.save-date{letter-spacing:.18em;text-transform:uppercase;font-size:1rem;line-height:1.7}.wedding-date{margin-top:10px;font-size:clamp(1.625rem,3.2vw,2rem);line-height:1.35}.fine-rule{background:var(--blush);width:40px;height:1px;margin:26px auto 24px}.venue-name{font-size:1.5rem;line-height:1.4}.venue-location{margin-top:3px;font-size:1.125rem;line-height:1.6}.closing{margin-top:24px;font-size:1.25rem;font-style:italic;line-height:1.5}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 30px;margin-top:29px;display:flex}.actions a{border-bottom:1px solid var(--blush);justify-content:center;align-items:center;gap:9px;min-height:48px;padding:7px 1px;font-size:1.125rem;line-height:1.4;text-decoration:none;transition:border-color .16s ease-out;display:inline-flex}.actions svg{flex-shrink:0;width:18px;height:18px}.actions a:hover{border-color:var(--bordeaux)}.end-mark{background:var(--bordeaux);width:4px;height:4px;margin:0 auto 24px;transform:rotate(45deg)}.skip-link{z-index:1;background:var(--ivory);padding:12px;position:absolute;top:16px;left:24px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.status-page{text-align:center;place-content:center;gap:32px;min-height:100svh;padding:24px;display:grid}.status-page h1{font-size:2rem}@media (width>=700px){.page-header{justify-content:flex-end;padding:12px 24px 0}.invitation{padding-top:26px;padding-bottom:44px}.languages button{font-size:1rem}}@media (width<=380px){.invitation{padding-inline:14px}h1{letter-spacing:.02em}.actions{flex-direction:column;gap:8px;margin-top:22px}.languages button{padding-inline:8px}}@media (prefers-reduced-motion:no-preference){.invitation-content>*{animation:1.4s cubic-bezier(.22,.61,.36,1) both invitation-reveal}.invitation-content>.monogram{animation-duration:1.8s}.invitation-content>h1{animation-delay:.2s}.date-group{animation-delay:.4s}.fine-rule{animation-delay:.5s}.venue{animation-delay:.6s}.closing{animation-delay:.7s}.actions{animation-delay:.8s}.invitation-content:focus-within>*{animation:none}@keyframes invitation-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
