@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/cormorant-garamond-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/cormorant-garamond-latin-300-italic.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2)format("woff2")}:root{--ivory:#f6f1e9;--ink:#1f1c18;--gold:#b4935a;--gold-text:#7e6234;--sage:#c9d1c3;--sage-text:#5f6e5b;--muted:#6b655c;--serif:"Cormorant Garamond", "Cormorant", Garamond, Georgia, serif;--sans:"Jost", "Futura", "Helvetica Neue", Arial, sans-serif;--tracking:.3em;--hairline:1px;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(1.5rem, 6vw, 3rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ivory);min-height:100svh;color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1.125rem;font-weight:300;line-height:1.5;overflow-x:hidden}h1,h2,p,figure{margin:0}h1,h2{font-weight:300}img,svg{max-width:100%;display:block}a{color:inherit}::selection{background:var(--sage);color:var(--ink)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}.label{font-family:var(--sans);letter-spacing:var(--tracking);text-transform:uppercase;margin-right:calc(var(--tracking) * -1);font-size:.75rem;font-weight:300;line-height:1.6}.rule{width:64px;height:var(--hairline);background:var(--gold);display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.grain{z-index:50;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.1 0 0 0 0 0.08 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;position:fixed;top:0;bottom:0;left:0;right:0}.js .reveal{opacity:0}.is-static .reveal,.is-static .hero__title,.is-static .hero__names,.is-static .scroll-cue{opacity:1!important}.is-static .hero__rule,.is-static .mask__inner{transform:none!important}.is-static .arch__frame{clip-path:none!important}.hero{min-height:100svh;padding:calc(env(safe-area-inset-top) + 2.5rem) var(--gutter) calc(env(safe-area-inset-bottom) + 6rem);place-items:center;display:grid;position:relative}.hero__inner{text-align:center;flex-direction:column;align-items:center;display:flex}.hero__rule{width:120px;height:var(--hairline);background:var(--gold);transform-origin:50%;display:block}.hero__title{letter-spacing:-.01em;white-space:nowrap;margin:.22em 0 .32em;font-size:clamp(3.4rem,16.5vw,8.5rem);font-style:italic;line-height:1.05}.hero__title .char{will-change:transform, opacity, filter}.arch{aspect-ratio:3/4;height:clamp(240px,min(48svh,100vw),580px);position:relative}.arch__frame{clip-path:inset(0);background:#e8dccb;border-radius:999px 999px 0 0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.arch__media{position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.arch__img{object-fit:cover;transform-origin:50% 65%;width:100%;height:100%}.arch__stroke{pointer-events:none;width:calc(100% + 20px);max-width:none;height:calc(100% + 10px);position:absolute;top:-10px;left:-10px;overflow:visible}.arch__stroke-path{fill:none;stroke:var(--gold);stroke-width:var(--hairline);vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.hero__names{color:var(--ink);margin-top:1.9rem;font-size:clamp(.8rem,3.4vw,1rem)}.scroll-cue{left:50%;bottom:calc(env(safe-area-inset-bottom) + 1.4rem);flex-direction:column;align-items:center;gap:.7rem;display:flex;position:absolute;transform:translate(-50%)}.scroll-cue__line{width:var(--hairline);background:var(--gold);transform-origin:50% 0;height:40px;display:block}.scroll-cue.is-pulsing .scroll-cue__line{animation:cue-pulse 2.8s var(--ease) infinite}.scroll-cue__text{color:var(--muted);font-size:.625rem}@keyframes cue-pulse{0%{opacity:1;transform:scaleY(0)}55%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.js .hero__rule{transform:scaleX(0)}.js .hero__title,.js .hero__names,.js .scroll-cue{opacity:0}.js .arch__frame{clip-path:inset(100% 0 0)}.js .arch__stroke-path{stroke-dashoffset:1px}@media (min-width:768px){.hero__names{margin-top:2.4rem}}@media (prefers-reduced-motion:reduce){.scroll-cue.is-pulsing .scroll-cue__line{animation:none}}.date{text-align:center;padding:clamp(5rem, 16vw, 9rem) var(--gutter);flex-direction:column;align-items:center;display:flex}.date__label{color:var(--gold-text)}.date__big{font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;margin-top:1.6rem;font-size:clamp(3.3rem,16vw,8.5rem);line-height:1}.date__digits{align-items:center;display:inline-flex}.mask{padding:.04em .02em .1em;display:inline-block;overflow:hidden}.mask__inner{display:inline-block}.js .mask__inner{transform:translateY(110%)}.date__dot{color:var(--gold);margin:0 .18em;font-size:.5em}.date__weekday{margin-top:1.1rem;font-size:clamp(1.5rem,6vw,2.1rem);font-style:italic;line-height:1.2}.date__place{flex-direction:column;align-items:center;gap:.35rem;margin-top:2.6rem;display:flex}.date__city{font-size:clamp(1.6rem,6.5vw,2.25rem);line-height:1.1}.date__location{color:var(--muted)}.countdown{border-block:var(--hairline) solid color-mix(in srgb, var(--gold) 55%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,26rem);margin-top:3.4rem;padding:1.6rem 0;display:grid}.countdown__cell{flex-direction:column;align-items:center;gap:.45rem;display:flex}.countdown__cell+.countdown__cell{border-left:var(--hairline) solid color-mix(in srgb, var(--gold) 55%, transparent)}.countdown__value{font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2.4rem,10vw,3.4rem);line-height:1}.countdown__label{color:var(--muted);font-size:.625rem}.date__note{color:var(--gold-text);margin-top:2.6rem;font-size:1.25rem;font-style:italic}.calendar{text-align:center;padding:clamp(4.5rem, 14vw, 8rem) var(--gutter) clamp(5rem, 14vw, 8rem);background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--sage) 26%, transparent) 55%, transparent);flex-direction:column;align-items:center;display:flex}.calendar .label{color:var(--sage-text);margin-top:2rem}.calendar__title{margin-top:.6rem;font-size:clamp(2.1rem,9vw,3.4rem);font-style:italic;line-height:1.1}.calendar__actions{flex-direction:column;gap:1rem;width:min(100%,20rem);margin-top:2.6rem;display:flex}.btn{border:var(--hairline) solid var(--gold);min-height:3.5rem;color:var(--ink);font-family:var(--sans);letter-spacing:var(--tracking);text-transform:uppercase;isolation:isolate;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:1rem 2rem;font-size:.75rem;font-weight:400;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--gold);transform-origin:50% 100%;transition:transform .7s var(--ease);position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleY(0)}.btn__text{margin-right:calc(var(--tracking) * -1)}@media (hover:hover){.btn:hover:before{transform:scaleY(1)}}.btn:active:before{transform:scaleY(1)}.btn:focus-visible:before{transform:scaleY(1)}.calendar__feedback{min-height:2rem;color:var(--gold-text);opacity:0;margin-top:1.6rem;font-size:1.3rem;font-style:italic}.calendar__feedback svg{vertical-align:-.05em;width:.8em;height:.8em;margin-left:.3em;display:inline-block}@media (min-width:640px){.calendar__actions{flex-direction:row;width:auto}.btn{min-width:15.5rem}}@media (prefers-reduced-motion:reduce){.btn:before{transition-duration:10ms}}.footer{padding:3.5rem var(--gutter) calc(env(safe-area-inset-bottom) + 3rem);text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.monogram{letter-spacing:.02em;font-size:2.6rem;line-height:1}.monogram__amp{color:var(--gold-text);margin:0 .12em;font-size:.55em;font-style:italic}.footer__date{color:var(--muted);font-size:.625rem}
