@font-face{font-family:"CSTM Xprmntl 03 Blackletter";src:url(../fonts/cstm-blackletter.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Halvar Breitschrift;src:url(../fonts/halvar-exp.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Halvar Breitschrift;src:url(../fonts/halvar-slanted.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:CoFo Cinema1909;src:url(../fonts/cofo-cinema.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Marck Script;src:url(../fonts/marck-sig-cyr.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Marck Script;src:url(../fonts/marck-sig-lat.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unica77 LL;src:url(../fonts/unica-reg.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Unica77 LL;src:url(../fonts/unica-med.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--paper:#e9e8e6;--paper-hi:#fbf9f3;--ink:#161614;--ink-soft:#4b4942;--rule:#d9d5c9;--display:"CoFo Cinema1909", Georgia, serif;--sans:"Unica77 LL", "Helvetica Neue", Arial, sans-serif;--halvar:"Halvar Breitschrift", Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}.js body.css-ready{opacity:1;transition:opacity .25s}body{background-color:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='92'%3E%3Cg fill='none' stroke='%23161614' stroke-opacity='.028' stroke-width='1.2'%3E%3Cpath d='M-10 23 Q 50 1 110 23 T 250 23'/%3E%3Cpath d='M-70 69 Q -10 47 50 69 T 190 69 T 310 69'/%3E%3C/g%3E%3C/svg%3E");margin:0;overflow-x:clip}button{font:inherit;color:inherit;background:0 0;border:0;padding:0}img{max-width:100%;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.js body[data-lb=on]{overscroll-behavior:none;overflow:hidden}.js body[data-lock=on]{overscroll-behavior:none;height:100svh;overflow:hidden}main{transition:opacity .7s var(--ease), translate .7s var(--ease)}.js body.ceremony-on main{opacity:0;pointer-events:none;translate:0 44px}.js body.ceremony-off main{transition:none}.grain{z-index:97;pointer-events:none;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.lang{z-index:95;border:1.6px solid var(--ink);background:var(--paper);cursor:pointer;transition:background-color .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:12px 17px 10px;font-size:14px;font-weight:500;line-height:1;position:absolute;top:18px;left:50%;translate:-50%}.lang:hover{background:var(--ink);color:var(--paper)}.lang:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.hero{height:100svh;min-height:560px;position:relative;overflow:clip}#stage3d{width:100%;height:100%;display:block;position:absolute;inset:0}.hero__vignette{display:none}.hero__open{cursor:pointer;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.hero__open:focus-visible{outline:2px solid color-mix(in oklab, var(--ink) 55%, transparent);outline-offset:-14px;border-radius:24px}.hero__static{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:none;position:absolute;inset:0}.no-js .hero__static,.no3d .hero__static{display:flex}.no-js #stage3d,.no3d #stage3d,.no-js .hero__open,.no3d .hero__open{display:none}.hero__names{font-family:var(--display);margin:0;font-size:clamp(44px,9vw,110px);font-weight:400;line-height:1.08}.hero__date{color:var(--ink-soft);margin:0}.hint{letter-spacing:.04em;color:var(--ink-soft);opacity:0;transition:opacity .7s var(--ease), translate .7s var(--ease);pointer-events:none;align-items:center;gap:10px;margin:0;font-size:14px;display:inline-flex;position:absolute;bottom:clamp(26px,5.5vh,64px);left:50%;translate:-50%}.hint.is-on{opacity:1}.hint[hidden]{display:none}.hint--scroll{cursor:pointer}.hint--scroll.is-on{pointer-events:auto}.hint--scroll svg{animation:dip 1.8s var(--ease) infinite}@keyframes dip{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}.section{text-align:center;max-width:1060px;margin:0 auto;padding:clamp(74px,12vh,150px) clamp(22px,5vw,56px)}.eyebrow{letter-spacing:.05em;color:var(--ink-soft);margin:0 0 14px;font-size:14px}.display{font-family:var(--display);margin:0 0 clamp(13px,1.7vw,23px);font-size:clamp(36px,5.6vw,72px);font-weight:400;line-height:1.08}@media (max-width:780px){.display{margin-bottom:clamp(16px,3vw,24px);font-size:clamp(56px,15vw,76px);line-height:1.02}}#program{padding-top:calc(1.9*clamp(74px,12vh,150px))}.sub{font-family:var(--sans);color:var(--ink);margin:clamp(34px,4vw,54px) 0 12px;font-size:clamp(15px,1.3vw,18px);font-weight:500}.link{color:var(--ink);border-bottom:1px solid color-mix(in oklab, var(--ink) 45%, transparent);transition:border-color .25s var(--ease), opacity .25s var(--ease);margin-top:10px;font-size:15px;text-decoration:none;display:inline-block}.link:hover{border-color:var(--ink);opacity:.75}.reel{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;margin-top:calc(clamp(74px,12vh,150px)/-1.28205);padding:8px 0 clamp(56px,9vh,110px);overflow:clip}.reel.is-drag{cursor:grabbing}.reel__track{will-change:transform;gap:clamp(12px,1.6vw,20px);width:max-content;display:flex}.reel__card{flex:none;width:clamp(300px,36vw,420px);margin:0}.reel__card img{aspect-ratio:3/4;object-fit:cover;pointer-events:none;opacity:0;width:100%;transition:opacity .5s var(--ease)}.reel__card img.is-ready{opacity:1}.reel__card{cursor:zoom-in}.reel--venue{margin-top:clamp(38px,6vh,78px)}.reel--venue .reel__card{width:auto}.reel--venue .reel__card img{aspect-ratio:auto;width:auto;height:clamp(240px,34vh,360px)}.lightbox{z-index:96;background:var(--paper);cursor:zoom-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox .lb__wrap{will-change:transform;touch-action:none;margin:0}.lightbox img{will-change:transform;max-width:min(92vw,1100px);max-height:88vh;box-shadow:0 30px 80px -34px color-mix(in oklab, var(--ink) 42%, transparent), 0 0 0 1px color-mix(in oklab, var(--ink) 12%, transparent);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.tl3{text-align:center;grid-template-columns:1fr 1fr minmax(180px,1.05fr) 1fr;align-items:start;gap:clamp(20px,3vw,44px);width:100vw;margin:clamp(30px,4vw,48px) calc(50% - 50vw) 0;padding:0 clamp(24px,5vw,90px);display:grid}.tl3__col{flex-direction:column;align-items:center;display:flex}.tl3__time{font-family:var(--display);color:var(--ink);font-size:clamp(44px,5.2vw,74px);font-weight:400;line-height:1}.tl3__name{font-family:var(--sans);color:var(--ink);margin:12px 0 0;font-size:clamp(15px,1.3vw,18px);font-weight:500}.tl3__text{color:var(--ink-soft);max-width:34ch;margin:10px 0 0;font-size:clamp(14px,1.15vw,16px);line-height:1.55}.tl3{align-items:stretch}.tl3__gap{justify-content:center;align-items:center;display:flex}.tl3__arrow{width:min(100%,285px);height:auto;max-height:clamp(135px,16vw,225px);color:var(--ink);opacity:.5;overflow:visible;rotate:10deg}.tl3__arrow--h path{stroke-width:3.33px}.tl3__arrow--v{display:none}@media (max-width:780px){.tl3{grid-template-columns:1fr;gap:0;padding:0 clamp(18px,5vw,32px)}.tl3__arrow--h{display:none}.tl3__arrow--v{width:clamp(64px,22vw,96px);max-height:none;display:block}.tl3__gap{padding:clamp(6px,2vw,14px) 0}.tl3__col{padding:clamp(22px,6vw,30px) 0}.tl3__text{max-width:34ch}}.tl__coda{text-align:center;color:var(--ink-soft);margin:clamp(20px,2.6vw,30px) 0 0;font-size:clamp(16px,1.3vw,19px)}.place{gap:clamp(28px,4vw,44px);display:grid}.place .sub{margin-top:0}.place .lede{margin-bottom:0}@media (min-width:1024px){.place{grid-template-columns:1fr 1fr;align-items:start}}.contact{text-align:center;flex-direction:column;align-items:center;gap:0;display:flex}.contact__ava{object-fit:cover;border-radius:50%;flex:none;width:clamp(96px,11vw,132px);height:clamp(96px,11vw,132px);margin-bottom:clamp(18px,2.4vw,26px)}.contact__body{flex-direction:column;align-items:center;display:flex}.contact__name{font-family:var(--sans);margin:0 0 12px;font-size:clamp(15px,1.3vw,18px);font-weight:500}.contact__lede{color:var(--ink-soft);margin:0 0 20px;font-size:clamp(15px,1.25vw,17px)}.contact__links{flex-wrap:wrap;justify-content:center;gap:12px;margin:0;display:flex}.pill{border:1.6px solid var(--ink);color:var(--ink);transition:background-color .25s var(--ease), color .25s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:14px 19px 12px;font-size:15px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.pill:hover{background:var(--ink);color:#fff}.pill:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.pill__ico{flex:none;display:block;translate:0 -1px}.lede .pill{margin-top:14px}.section--rsvp{text-align:center}.lede{max-width:48ch;color:var(--ink-soft);margin:0 auto clamp(30px,4vw,44px);font-size:clamp(16px,1.3vw,19px);line-height:1.6}.button{background:var(--ink);color:#fff;cursor:pointer;transition:opacity .25s var(--ease), transform .25s var(--ease);border:0;border-radius:999px;padding:18px 27px 16px;font-size:16px;font-weight:500;text-decoration:none;display:inline-block}.button:hover{opacity:.82;transform:translateY(-1px)}.button:active{opacity:.9;transform:none}.button:disabled{opacity:.35;cursor:default;transform:none}.button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.survey{text-align:left;max-width:640px;margin:0 auto}.survey .q{border:0;min-inline-size:0;margin:0;padding:clamp(22px,2.8vw,30px) 0}.survey label[for],.survey legend{float:left;width:100%;color:var(--ink);margin:0 0 14px;padding:0;font-size:clamp(16px,1.4vw,19px);font-weight:500;display:block}.survey legend+*{clear:both}.survey input[type=text]{width:100%;font-family:var(--display);color:var(--ink);caret-color:var(--ink);background:0 0;border:0;border-radius:0;padding:2px 0 6px;font-size:clamp(24px,2.6vw,34px);font-weight:400;line-height:1.2;display:block}.survey textarea{width:100%;font-family:var(--display);color:var(--ink);caret-color:var(--ink);resize:vertical;background:0 0;border:0;border-radius:0;min-height:3.4em;padding:2px 0 6px;font-size:clamp(19px,2vw,26px);font-weight:400;line-height:1.35;display:block}.survey textarea:focus-visible{outline:none}.survey textarea::placeholder,.survey input[type=text]::placeholder{color:color-mix(in oklab, var(--ink-soft) 72%, transparent)}.survey input[type=text]:focus-visible{outline:none}.opt{cursor:pointer;color:var(--ink-soft);align-items:center;gap:14px;padding:9px 0;font-size:clamp(15px,1.25vw,17px);line-height:1.45;display:flex}.opt span{position:relative;top:1px}.opt input{appearance:none;font:inherit;border:1.4px solid color-mix(in oklab, var(--ink) 45%, transparent);cursor:pointer;width:22px;height:22px;transition:border-color .2s var(--ease), background-color .2s var(--ease);background:0 0;border-radius:6px;flex:none;margin:0}.opt:hover input{border-color:var(--ink)}.opt input[type=radio]{border-radius:50%}.opt input[type=checkbox]:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.4 3.5L15 6.5' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 78% no-repeat;border-color:var(--ink)}.opt input[type=radio]:checked{border-color:var(--ink);background:radial-gradient(circle, var(--ink) 0 40%, transparent 46%)}.opt input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.opt:hover{color:var(--ink)}.survey .button{margin-top:clamp(26px,3vw,38px)}.survey__status{color:var(--ink-soft);min-height:1.4em;margin:16px 0 0;font-size:15px}.loop{height:175svh}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), translate .8s var(--ease);translate:0 18px}.js [data-reveal].in{opacity:1;translate:0}html.js:not(.no3d) .hero{z-index:40;pointer-events:none;height:100svh;min-height:0;position:fixed;inset:0}html.js:not(.no3d) .hero__open,html.js:not(.no3d) .hint--scroll.is-on{pointer-events:auto}html.js:not(.no3d) main{z-index:1;padding-top:100svh;position:relative}@media (min-width:1024px){html.js:not(.no3d) #survey{text-align:left;max-width:none;padding-left:52vw;padding-right:clamp(28px,5vw,64px)}html.js:not(.no3d) #survey .lede,html.js:not(.no3d) #survey .survey{margin-left:0}}@media (max-width:720px){.lang{top:12px}}@media (max-width:1023px){.loop{height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transition:none;translate:0}.hint--scroll svg{animation:none}.lightbox{transition:none}}
