:root{--paper: #f1e7d2;--paper-edge: #e8dcc1;--paper-shadow: #d8c8a3;--ink: #2a1118;--ink-soft: #5a3640;--wine: #7a1d2a;--olive: #5e6a35;--sky: #2f4f7d;--gold: #b08a4a;--blush: #c47358;--serif: "Fraunces", "Newsreader", "EB Garamond", Georgia, serif;--serif-body: "Newsreader", "Fraunces", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif-body);font-weight:350;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.16 0 0 0 0 0.07 0 0 0 0 0.10 0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.18;mix-blend-mode:multiply}body:after{content:"";position:fixed;inset:0;z-index:49;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 0%,transparent 55%,rgba(168,124,70,.12) 100%)}.page{position:relative;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:1fr auto auto;grid-template-areas:"hero" "manifest" "foot";padding:clamp(1.5rem,3vw,2.25rem) clamp(1.25rem,4vw,3rem);gap:clamp(1.75rem,4vw,3rem);border:1px solid rgba(42,17,24,.12);outline:1px solid rgba(42,17,24,.05);outline-offset:.4rem}.eyebrow{margin:0 0 clamp(1.25rem,3vw,1.75rem);font-family:var(--mono);font-size:.7rem;font-weight:400;letter-spacing:.36em;text-transform:lowercase;color:var(--wine);opacity:0;animation:fade-in .8s ease 60ms both}.hero{grid-area:hero;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1.5rem,6vw,4rem) 0}.hero__top-ornament{width:clamp(2.5rem,7vw,4rem);height:auto;color:var(--wine);opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) .12s both}.names{display:flex;flex-direction:column;align-items:center;gap:clamp(-.4rem,-.5vw,-.2rem);margin:clamp(2rem,5vw,3rem) 0 clamp(1.5rem,4vw,2.25rem);font-family:var(--serif);font-weight:350;font-style:normal;font-size:clamp(3rem,11vw,8rem);line-height:.95;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 144,"SOFT" 30}.names__line{display:block;opacity:0;transform:translateY(.4em);animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}.names__line--first{animation-delay:.24s}.names__line--second{animation-delay:.52s}.names__amp{display:block;font-family:var(--serif);font-style:italic;font-weight:300;font-size:.85em;line-height:.7;margin:-.15em 0 -.05em;color:var(--wine);font-variation-settings:"opsz" 144,"SOFT" 100;opacity:0;transform:scale(.85) rotate(-4deg);transform-origin:center;animation:amp-in 1.3s cubic-bezier(.2,.7,.2,1) .4s both}.rule{display:flex;align-items:center;gap:.85rem;width:clamp(12rem,30vw,20rem);margin:clamp(.75rem,2vw,1.25rem) 0 clamp(2rem,5vw,2.75rem);color:var(--ink-soft);opacity:0;animation:fade-in .9s ease .7s both}.rule__line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(42,17,24,.45) 50%,transparent)}.rule__ornament{width:2.4rem;height:auto;color:var(--wine)}.date{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,2.6vw,1.7rem);letter-spacing:.32em;color:var(--ink);font-variation-settings:"opsz" 96,"SOFT" 0;display:inline-flex;gap:.4em;opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) .8s both}.date__sep{color:var(--wine);opacity:.7}.place{margin:.75rem 0 0;font-family:var(--serif-body);font-size:clamp(.95rem,1.7vw,1.05rem);font-weight:350;letter-spacing:.05em;color:var(--ink-soft);opacity:0;animation:fade-in .9s ease .95s both}.place em{font-family:var(--serif);font-style:italic;font-weight:300;color:var(--wine)}.place__sep{margin:0 .6em;color:var(--wine);opacity:.5}.manifest{grid-area:manifest;align-self:center;justify-self:center;width:min(100%,28rem);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) 1.1s both}.cal-btn{display:inline-flex;align-items:center;gap:.7rem;padding:.75rem 1.35rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:lowercase;color:var(--ink);background:transparent;border:1px solid rgba(42,17,24,.55);text-decoration:none;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}.cal-btn:hover,.cal-btn:focus-visible{background:var(--wine);color:var(--paper);border-color:var(--wine);outline:none}.cal-btn:focus-visible{box-shadow:0 0 0 3px #7a1d2a40}.cal-btn__arrow{display:inline-block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.cal-btn:hover .cal-btn__arrow,.cal-btn:focus-visible .cal-btn__arrow{transform:translate(3px)}.manifest__note{margin:1.4rem 0 0;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.45rem}.caret{color:var(--wine);font-weight:500}.cursor{display:inline-block;width:.4rem;height:.82rem;background:var(--ink);margin-left:.15rem;animation:blink 1.1s steps(2,end) infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.foot{grid-area:foot;display:flex;align-items:center;justify-content:center;gap:.85rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;color:#2a11186b;padding-top:clamp(.5rem,2vw,1rem);border-top:1px solid rgba(42,17,24,.12);opacity:0;animation:fade-in .8s ease 1.3s both}.foot__host{transition:color .24s ease,letter-spacing .24s ease}.foot__host.is-active{color:var(--wine);letter-spacing:.22em}.foot__sep{color:var(--wine);opacity:.5;font-size:.7rem}@media (max-width: 480px){.foot{flex-direction:column;gap:.35rem;font-size:.62rem}.foot__sep{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes amp-in{0%{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(-2deg)}}@media (prefers-reduced-motion: reduce){.topbar,.hero__top-ornament,.names__line,.names__amp,.rule,.date,.place,.manifest,.foot{animation:none!important;opacity:1!important;transform:none!important}.cursor{animation:none}}
