:root{font-family:var(--font-body);line-height:1.6;font-weight:400;color:var(--color-ink);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg: #f6f2ec;--color-ink: #2b2622;--color-muted: #72675f;--color-border: rgba(71, 59, 50, .18);--color-accent: #c7b2a0;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Work Sans", "Gill Sans", sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-bg)}#root{min-height:100vh}p{font-family:var(--font-body)}::selection{background:#c7b2a059}.app{min-height:100vh;display:grid;place-items:center;padding:0;position:relative;overflow:hidden}.app:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(217,202,187,.35),transparent 45%),radial-gradient(circle at bottom right,rgba(208,193,177,.35),transparent 55%);z-index:0}.app>*{position:relative;z-index:1}@media(max-width:520px){.app{place-items:start center;padding-top:calc(80px + env(safe-area-inset-top))}}.invitation{width:min(720px,100%);margin:0 auto;padding:1.25rem}.paper{position:relative;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,6vw,4rem);border-radius:3px;border:1px solid var(--color-border);background:linear-gradient(160deg,#ffffffe6,#f8f5f0f2);box-shadow:0 30px 70px #16100a14;text-align:center;overflow:hidden}.paper:before,.paper:after{content:"";position:absolute;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.5}.paper:before{top:22px}.paper:after{bottom:22px}.title{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,4.1rem);font-weight:700;letter-spacing:.04em;color:var(--color-ink);margin:0}.divider{width:clamp(84px,18vw,140px);height:1px;margin:clamp(1.5rem,4vw,2rem) auto;background:var(--color-accent);opacity:.7}.subtitle{font-size:clamp(1rem,2.6vw,1.25rem);letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--color-muted)}.location-card{margin:2rem auto 0;padding:1.5rem clamp(1rem,4vw,2rem);border-radius:3px;border:1px solid var(--color-border);background:linear-gradient(160deg,#fffffff2,#f8f5f0f2);box-shadow:0 20px 50px #16100a14;max-width:520px;text-align:center}.location{margin:0;font-size:clamp(1.05rem,2.6vw,1.3rem);letter-spacing:.04em}.location a,.directions a{color:var(--color-ink);text-decoration:none;position:relative}.directions a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--color-accent);opacity:.6;transform-origin:left;transform:scaleX(1);transition:transform .22s ease}.directions a:hover:after,.directions a:focus-visible:after{opacity:1}.underline{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:6px}.directions{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.6rem;font-size:clamp(.95rem,2.4vw,1.15rem);color:var(--color-muted);justify-items:center}[data-animate=location]{animation-delay:.32s}[data-animate=directions]{animation-delay:.42s}[data-animate]{opacity:0;transform:translateY(14px);animation:rise .9s ease forwards}[data-animate=divider]{animation-delay:.14s}[data-animate=subtitle]{animation-delay:.24s}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-animate]{animation:none;opacity:1;transform:none}}
