:root{--ink:#143b39;--paper:#f9f6f0;--sage:#dce4dc;--sand:#e8ddca;--gold:#d6b27b;--muted:#61736d;--line:rgba(20,59,57,.2);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;color:var(--ink);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.section-shell{width:min(1120px,calc(100% - 80px));margin:auto}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;color:#fff;transition:background .35s ease,backdrop-filter .35s ease}.site-header.is-scrolled{background:#143b39ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-block:20px}.wordmark{font:500 23px var(--serif);letter-spacing:.08em}.wordmark i{font-size:17px}.desktop-nav{display:flex;gap:30px;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.desktop-nav a{opacity:.85}.desktop-nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:11px 15px}.menu-toggle,.mobile-nav{display:none}.hero-parallax{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--ink);color:#fff}.hero-backdrop{position:absolute;top:-8%;right:0;bottom:-8%;left:0;transform:translateY(calc(var(--parallax-y,0px) * -1));will-change:transform}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.82)}.hero-backdrop:after,.finale-shade{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0821206b,#0821200d 42%,#082120d1)}.hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.hero-frame{position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:1px solid rgba(255,255,255,.35);pointer-events:none}.hero-content{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;padding:100px 24px 20px}.hero-kicker{margin:0 0 28px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#ffffffc7}.hero h1{margin:0;font:400 clamp(65px,11vw,158px)/.82 var(--serif);letter-spacing:-.06em}.hero h1 em{font-size:.62em;font-weight:400}.hero-subtitle{margin:34px 0 46px;font-size:11px;letter-spacing:.44em;text-transform:uppercase}.hero-scroll{display:flex;flex-direction:column;gap:10px;align-items:center;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#fffc}.hero-scroll b{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font:400 20px var(--serif);transition:transform .2s ease,background .2s ease}.hero-scroll:hover b{transform:translateY(5px);background:#ffffff1f}.hero-stamp{position:absolute;right:42px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#fffc}.hero-stamp span{font-family:var(--serif);font-size:18px;letter-spacing:.1em}.hero-bottom{position:absolute;bottom:28px;left:40px;right:40px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6}.story-chapters{padding:150px 0 170px;background:var(--paper);overflow:hidden}.story-heading{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:end}.eyebrow{margin:0 0 15px;color:#75908a;font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.story-heading h2,.day-top h2,.film-heading h2,.arrival-grid h2{grid-column:2;margin:0;font:400 clamp(44px,6vw,84px)/.92 var(--serif);letter-spacing:-.055em}.story-heading>p:last-child{grid-column:2;max-width:370px;margin:30px 0 0;color:var(--muted);font-size:14px;line-height:1.75}.chapter{width:min(960px,calc(100% - 80px));margin:125px auto 0;display:grid;grid-template-columns:1.15fr .85fr;gap:110px;align-items:center}.chapter-second{grid-template-columns:.85fr 1.15fr}.chapter-copy{max-width:315px}.chapter-mark{display:block;margin-bottom:25px;font:italic 36px var(--serif);color:var(--gold)}.chapter-copy h3{margin:0 0 18px;font:400 28px/1.08 var(--serif);letter-spacing:-.03em}.chapter-copy>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.chapter-collage{position:relative;height:485px}.chapter-collage-right{height:440px}.fragment{position:absolute;object-fit:cover;box-shadow:0 18px 42px #143b391f}.fragment-a{top:15px;right:16%;bottom:20px;left:0;width:68%;height:86%;clip-path:polygon(0 7%,86% 0,100% 92%,13% 100%)}.fragment-b{right:0;top:0;width:43%;height:46%;clip-path:polygon(10% 0,100% 8%,89% 100%,0 87%)}.fragment-c{top:0;right:0;bottom:10px;left:18%;width:76%;height:90%;clip-path:polygon(11% 0,100% 9%,89% 100%,0 90%)}.fragment-d{left:0;bottom:0;width:45%;height:47%;clip-path:polygon(0 8%,93% 0,100% 90%,8% 100%)}.collage-note{position:absolute;bottom:0;left:2px;font:italic 13px var(--serif);color:#9a7853;transform:rotate(-7deg)}.story-bridge{width:min(1120px,calc(100% - 80px));margin:160px auto 0;padding-top:35px;border-top:1px solid var(--line);display:flex;gap:65px;align-items:baseline}.story-bridge span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#75908a}.story-bridge strong{font:400 32px/1.1 var(--serif);letter-spacing:-.03em}.day-section{background:var(--sand);padding:145px 0 120px}.day-top{display:grid;grid-template-columns:1fr 1.15fr;gap:40px}.day-intro{grid-column:2;max-width:360px;margin:65px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.date-orbit{display:flex;align-items:center;gap:27px;margin:85px 0 70px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 15px/1.2 var(--serif)}.date-orbit strong{font-size:80px;font-weight:400;letter-spacing:-.08em}.date-orbit i{height:1px;flex:1;background:var(--line)}.orbit-label{font:600 9px var(--sans);letter-spacing:.17em;text-transform:uppercase}.events-line{display:grid;grid-template-columns:1fr 1fr}.events-line article{display:flex;gap:30px;padding:0 40px 0 0}.events-line article+article{padding-left:40px;border-left:1px solid var(--line)}.event-time{font:400 42px var(--serif);letter-spacing:-.06em}.events-line h3{margin:0 0 12px;font:400 24px var(--serif)}.events-line p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.6}.venue-row{display:flex;justify-content:space-between;align-items:end;margin-top:78px;padding-top:30px;border-top:1px solid var(--line)}.venue-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.venue-row strong{color:var(--ink);font-weight:600}.text-link{display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translate(3px,-3px)}.film-section{padding:145px 0 170px;background:var(--paper);overflow:hidden}.film-heading{margin-bottom:70px}.film-strip{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:5px;width:min(1320px,calc(100% - 80px));margin:auto;background:var(--ink);padding:5px}.film-strip figure{position:relative;height:330px;margin:0;overflow:hidden;background:var(--ink)}.film-strip figure:nth-child(2),.film-strip figure:nth-child(4){margin-top:42px;height:260px}.film-strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .6s ease}.film-strip figure:hover img{transform:scale(1.06)}.film-strip figure span{position:absolute;z-index:1;top:12px;left:12px;color:#fff;font:10px var(--sans);letter-spacing:.16em}.film-caption{width:min(1320px,calc(100% - 80px));margin:18px auto 0;color:#75908a;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.arrival-section{padding:140px 0;background:var(--sage)}.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.arrival-grid h2{grid-column:1}.arrival-address{margin:48px 0 0;font:400 23px/1.3 var(--serif)}.arrival-list{padding-top:34px}.arrival-list p{display:flex;justify-content:space-between;gap:20px;padding:17px 0;margin:0;border-bottom:1px solid var(--line);font-size:12px}.arrival-list strong{font-size:9px;letter-spacing:.14em;text-transform:uppercase}.arrival-list span{color:var(--muted);text-align:right}.arrival-list .text-link{margin-top:35px}.finale{position:relative;min-height:90svh;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;background:var(--ink)}.finale>img{position:absolute;top:-5%;right:0;bottom:-5%;left:0;width:100%;height:110%;object-fit:cover;object-position:center;transform:translateY(calc(var(--parallax-y,0px) * -.15));filter:saturate(.78)}.finale-shade{z-index:1;background:linear-gradient(180deg,#0821208c,#0821204d,#082120d1)}.finale-content{position:relative;z-index:2;padding:100px 24px}.finale h2{margin:0;font:400 clamp(50px,7vw,100px)/.9 var(--serif);letter-spacing:-.06em}.finale h2 em{font-weight:400}.finale-content .primary-button{margin-top:38px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 20px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:background .2s ease,color .2s ease}.primary-button:hover{background:#fff;border-color:#fff}.primary-button span{font-size:17px}.site-footer{display:flex;justify-content:space-between;padding:25px 40px;background:var(--ink);color:#ffffff9e;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.site-footer a{color:var(--gold)}.rsvp-dialog{width:min(460px,calc(100% - 32px));border:0;border-top:5px solid var(--gold);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 22px 80px #0000003d}.rsvp-dialog::backdrop{background:#082120b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rsvp-dialog form{position:relative;padding:45px}.rsvp-dialog h2{margin:0;font:400 44px var(--serif);letter-spacing:-.04em}.rsvp-dialog form>p:not(.eyebrow){margin:18px 0 30px;color:var(--muted);line-height:1.6;font-size:14px}.rsvp-dialog label{display:block;margin-top:18px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.rsvp-dialog input,.rsvp-dialog select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:0;padding:13px;background:#fff;color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none}.dialog-close{position:absolute;top:17px;right:20px;border:0;background:none;color:var(--ink);font-size:27px}.dialog-submit{width:100%;margin-top:28px}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:760px){.section-shell{width:calc(100% - 40px)}.site-header{padding:20px}.site-header.is-scrolled{padding-block:17px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:23px;height:1px;background:#fff;transition:transform .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:8px 20px 18px;background:#143b39fa;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16)}.hero-parallax{min-height:720px}.hero-backdrop{top:0;right:0;bottom:0;left:0}.hero-backdrop img{object-position:57% center}.hero-frame{top:16px;right:16px;bottom:16px;left:16px}.hero h1{font-size:clamp(58px,16vw,82px)}.hero-stamp{right:19px;top:46%;font-size:8px}.hero-bottom{left:20px;right:20px;bottom:22px;font-size:7px}.story-chapters,.film-section{padding-block:95px}.story-heading,.day-top,.arrival-grid{display:block}.story-heading h2,.day-top h2,.film-heading h2,.arrival-grid h2{font-size:47px}.story-heading>p:last-child{margin-top:27px}.chapter,.chapter-second{width:calc(100% - 40px);display:flex;flex-direction:column;gap:35px;margin-top:80px;align-items:stretch}.chapter-second .chapter-collage{order:-1}.chapter-collage,.chapter-collage-right{height:340px}.chapter-copy{max-width:100%}.chapter-copy h3{font-size:27px}.story-bridge{width:calc(100% - 40px);margin-top:100px;display:block}.story-bridge strong{display:block;margin-top:20px;font-size:28px}.day-section,.arrival-section{padding-block:95px}.day-intro{margin:28px 0 0}.date-orbit{margin:55px 0 50px;gap:13px;font-size:13px}.date-orbit strong{font-size:62px}.events-line{display:block}.events-line article,.events-line article+article{padding:0 0 28px;margin-bottom:28px;border-left:0;border-bottom:1px solid var(--line)}.events-line article:last-child{margin-bottom:0}.venue-row{display:block;margin-top:50px}.venue-row .text-link{margin-top:25px}.film-heading{margin-bottom:45px}.film-strip{width:calc(100% - 40px);grid-template-columns:repeat(2,1fr)}.film-strip figure,.film-strip figure:nth-child(2),.film-strip figure:nth-child(4){height:215px;margin:0}.film-caption{width:calc(100% - 40px);line-height:1.5}.arrival-address{margin-top:30px;font-size:22px}.arrival-list{padding-top:48px}.arrival-list p{display:block}.arrival-list span{display:block;text-align:left;margin-top:7px}.finale{min-height:760px}.finale h2{font-size:clamp(46px,13vw,65px)}.site-footer{flex-direction:column;align-items:center;gap:10px;padding:25px 20px;text-align:center}.rsvp-dialog form{padding:38px 26px}.rsvp-dialog h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.hero-backdrop,.finale>img{transform:none!important}}.film-section{height:320vh;padding:0;background:var(--ink);overflow:clip}.film-sticky{position:sticky;top:0;height:100svh;min-height:650px;display:flex;align-items:center;overflow:hidden;background:var(--paper)}.film-story{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.film-copy h2{margin:0;font:400 clamp(45px,6vw,80px)/.92 var(--serif);letter-spacing:-.055em;transition:opacity .28s ease,transform .28s ease}.film-copy h2 em{font-weight:400}.film-copy-body{max-width:270px;margin:30px 0;color:var(--muted);font-size:14px;line-height:1.75;transition:opacity .28s ease}.film-progress{height:2px;width:150px;margin-top:45px;background:#143b3929;transform-origin:left}.film-progress span{display:block;width:100%;height:100%;background:var(--gold);transform-origin:left}.film-copy .film-caption{width:auto;margin:45px 0 0;font-size:9px;transition:opacity .28s ease}.film-viewport{width:100%;overflow:hidden}.film-track{display:flex;width:500%;transform:translate(calc(var(--film-progress,0) * -20%));transition:transform .1s linear;will-change:transform}.film-track figure{position:relative;display:grid;grid-template-columns:1fr 1fr;flex:0 0 20%;height:min(66vh,620px);margin:0;padding:0 8px;overflow:hidden;gap:8px}.film-track figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.84)}.film-track figure span{position:absolute;z-index:1;top:24px;left:30px;color:#fff;font-size:9px;letter-spacing:.18em;text-shadow:0 1px 6px rgba(0,0,0,.3)}@media(max-width:760px){.film-section{height:300vh}.film-sticky{min-height:700px}.film-story{display:block;width:100%}.film-copy{padding:0 20px 36px}.film-copy h2{font-size:46px}.film-copy-body{margin:20px 0;max-width:300px}.film-progress{margin-top:28px}.film-copy .film-caption{margin-top:24px}.film-viewport{width:100%}.film-track figure{height:46vh;min-height:300px;padding:0 5px}.film-track figure span{top:15px;left:20px;font-size:8px}}@media(prefers-reduced-motion:reduce){.film-section{height:auto}.film-sticky{position:relative;height:auto;min-height:0;padding-block:95px}.film-track{width:100%;flex-wrap:wrap;gap:8px;transform:none!important}.film-track figure{flex:1 1 calc(50% - 8px);height:220px}}.film-viewport{position:relative}.film-track{position:relative;display:block;width:100%;height:min(66vh,620px);transform:none!important}.film-track figure{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;flex:none;width:100%;height:100%;padding:0 8px;gap:8px;opacity:0;transform:scale(1.045);transition:opacity .65s ease,transform 1s cubic-bezier(.2,.65,.2,1);pointer-events:none}.film-track figure.is-active{opacity:1;transform:scale(1);z-index:1}.film-copy.is-changing h2,.film-copy.is-changing .film-copy-body,.film-copy.is-changing .film-caption{opacity:0;transform:translateY(8px)}@media(max-width:760px){.film-track{height:46vh;min-height:300px}.film-track figure{height:100%;padding:0 5px;gap:5px}}@media(prefers-reduced-motion:reduce){.film-track{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.film-track figure,.film-track figure.is-active{position:relative;inset:auto;grid-template-columns:1fr;display:block;flex:none;width:auto;height:220px;padding:0;opacity:1;transform:none;pointer-events:auto}.film-track figure img+img{display:none}}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}.js .reveal.is-visible{opacity:1;transform:none}.hero-content{animation:hero-rise 1s .15s both cubic-bezier(.2,.65,.2,1)}.hero-stamp,.hero-bottom{animation:hero-fade 1s .65s both ease-out}.hero-scroll b{animation:scroll-pulse 2.8s 1.5s infinite ease-in-out}.primary-button{position:relative;overflow:hidden}.primary-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff47;transform:translate(-110%) skew(-18deg);transition:transform .55s ease}.primary-button:hover:after{transform:translate(110%) skew(-18deg)}.primary-button>*{position:relative;z-index:1}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}@keyframes scroll-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal.is-visible,.hero-content,.hero-stamp,.hero-bottom,.hero-scroll b{opacity:1;transform:none;animation:none;transition:none}.primary-button:after{display:none}}
