:root{--ink:#0c0c0d;--charcoal:#171719;--paper:#f4f0e9;--muted:#aaa59c;--gold:#c6a66a;--line:rgba(244,240,233,.17);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px}.grain{position:fixed;inset:0;opacity:.07;pointer-events:none;z-index:9;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.preloader{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:var(--ink);transition:opacity .8s ease,visibility .8s ease}.preloader--done{opacity:0;visibility:hidden}.preloader__mark{font:500 22px var(--serif);letter-spacing:.3em;color:var(--gold);animation:pulse 1.2s infinite alternate}@keyframes pulse{to{opacity:.35;letter-spacing:.45em}}.site-header{position:absolute;z-index:5;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:29px 5.5vw}.wordmark{color:var(--paper);text-decoration:none;letter-spacing:.16em;font-size:11px;font-weight:600}.wordmark i{font-family:var(--serif);font-weight:500;letter-spacing:.1em}.header-link{color:var(--paper);text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.18em}.header-link span{color:var(--gold);padding-left:5px}.section{padding:130px 9vw}.opening{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse at 50% 64%,#282522 0,transparent 43%),var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:10px;color:var(--gold);margin:0 0 27px;font-weight:500}.opening__title,.display{font:500 clamp(3.5rem,9vw,8.5rem)/.92 var(--serif);letter-spacing:-.05em;margin:0}.opening__title em,.display em{font-weight:500;color:var(--gold)}.opening__subtitle{font:400 12px/1.8 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:35px 0}.scroll-cue{position:absolute;bottom:42px;color:var(--paper);font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.scroll-cue span{display:block;width:1px;height:39px;background:var(--gold);margin:12px auto 0}.watch-section{background:var(--charcoal);min-height:800px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.watch-section__copy .body-copy{max-width:440px}.body-copy{font:400 16px/1.8 var(--sans);color:#cac5bd;margin:32px 0}.text-link{display:inline-block;margin-top:8px;color:var(--paper);font-size:11px;text-transform:uppercase;letter-spacing:.17em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:8px}.text-link span{color:var(--gold);padding-left:8px}.watch-stage{min-height:550px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#46413b 0,transparent 54%)}.watch-watch{height:430px;width:260px;position:relative;filter:drop-shadow(0 25px 35px #000)}.watch-strap{position:absolute;left:61px;width:138px;height:160px;background:linear-gradient(90deg,#777 0,#e8e5df 35%,#817e79 52%,#e5e2dd 72%,#777);z-index:0}.watch-strap--top{top:0;border-radius:14px 14px 0 0}.watch-strap--bottom{bottom:0;border-radius:0 0 14px 14px}.watch-case{position:absolute;top:110px;left:22px;width:215px;height:215px;border-radius:50%;background:linear-gradient(130deg,#878787,#f7f4ee 44%,#747474 75%);z-index:1;padding:10px}.watch-crown{position:absolute;right:-16px;top:92px;width:20px;height:32px;background:#b7b5b1;border-radius:4px}.watch-dial{position:relative;width:100%;height:100%;border-radius:50%;border:2px solid #393938;background:radial-gradient(circle at 35% 25%,#faf9f4,#c7c5bd 56%,#87847d);color:#252523}.watch-dial b{position:absolute;top:30px;left:0;right:0;text-align:center;font:700 12px var(--sans);letter-spacing:.18em}.dial-mark{position:absolute;font:600 11px var(--sans)}.mark-12{top:50px;left:87px}.mark-3{right:22px;top:96px}.mark-6{bottom:20px;left:93px}.mark-9{left:22px;top:96px}.hand{position:absolute;left:50%;top:50%;height:2px;background:#1e1e1c;transform-origin:0 50%;z-index:3}.hand--minute{width:62px;transform:rotate(-58deg)}.hand--hour{width:44px;height:3px;transform:rotate(165deg)}.hand--second{width:72px;height:1px;background:#a27c42;transform:rotate(43deg)}.subdial{position:absolute;width:45px;height:45px;border:1px solid #79766f;border-radius:50%}.subdial--one{left:28px;top:80px}.subdial--two{right:28px;top:80px}.reserved{position:absolute;bottom:20px;text-transform:uppercase;letter-spacing:.24em;font-size:9px;color:var(--gold)}.photo-slot{position:relative;background:#252422;overflow:hidden}.photo-slot.has-image{background-size:cover;background-position:center}.photo-slot__fallback{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;color:var(--muted);position:relative;background:linear-gradient(125deg,#242321,#101011)}.photo-slot__fallback span{font:500 45px var(--serif);color:#5e5546}.photo-slot__fallback p{font-size:10px;line-height:1.8;text-transform:uppercase;letter-spacing:.12em}.photo-slot__fallback code{font-family:var(--sans);color:var(--gold);text-transform:none}.has-image .photo-slot__fallback{display:none}.hero-photo{height:min(92vh,960px);padding:0}.hero-photo__caption{position:absolute;z-index:2;left:9vw;bottom:10vw}.hero-photo__overlay,.closing__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),transparent 65%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}.section--narrow{max-width:1000px;margin:auto;padding-top:180px;padding-bottom:180px}.story__text{max-width:680px;margin-left:auto}.story__text p{color:#c7c3bb;line-height:1.9;margin:0 0 23px}.story__text .lead{font:500 26px/1.42 var(--serif);color:var(--paper);margin-bottom:35px}.little-things{background:var(--charcoal)}.little-things__heading{margin-bottom:90px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.fact{padding:30px 28px 42px 0;border-bottom:1px solid var(--line);margin-right:28px}.fact:nth-child(3n){margin-right:0;padding-right:0}.fact span{font:500 12px var(--serif);color:var(--gold)}.fact h3{font:500 25px var(--serif);margin:36px 0 10px}.fact p{color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:250px}.journey__intro{margin-bottom:70px}.gallery{display:grid;grid-template-columns:1fr 1.3fr;gap:22px}.gallery-card{height:510px;margin:0}.gallery-card--tall{height:630px}.gallery-card--wide{height:430px}.gallery-card figcaption{position:absolute;z-index:2;inset:auto 25px 24px;color:var(--paper);display:flex;flex-direction:column;gap:8px}.gallery-card figcaption b{font:500 23px var(--serif)}.gallery-card figcaption i{font:400 12px/1.5 var(--sans);color:#e5e1d9;max-width:290px}.gallery-card:nth-child(2){margin-top:100px}.gallery-card:nth-child(4){margin-top:-80px}.gift{text-align:center;max-width:1000px;margin:auto;padding-top:200px;padding-bottom:200px}.gift .body-copy{max-width:540px;margin:35px auto 0}.contribute{background:var(--charcoal);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.contribute__intro .display{font-size:clamp(3rem,5.6vw,5.5rem)}.contribution-card{background:#20201f;border:1px solid var(--line);padding:35px}.progress-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.progress-head strong{font-weight:500;color:var(--gold)}.progress-track{height:3px;background:#4a4843;margin:20px 0 11px}.progress-fill{height:100%;width:0;background:var(--gold);transition:width 1.3s cubic-bezier(.2,.7,.2,1)}.progress-note{font:400 12px/1.6 var(--sans);color:var(--muted);margin:0 0 42px}.bank-details{border-top:1px solid var(--line);padding-top:22px}.bank-row{display:grid;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;font-size:13px}.bank-row span{color:var(--muted)}.bank-row b{font-weight:500}.copy-button{width:100%;margin-top:30px;padding:15px;background:transparent;border:1px solid var(--gold);color:var(--paper);font:500 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.copy-button:hover{background:var(--gold);color:var(--ink)}.copy-button span{padding-left:8px;font-size:16px}.payment-note{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0}.closing{height:min(95vh,950px);padding:0;background-position:center}.closing__copy{position:absolute;z-index:2;left:9vw;bottom:11vh;max-width:610px}.closing__copy p{font:400 17px/1.7 var(--serif);color:#eee9df;margin:0 0 18px}.closing__copy h2{font:500 clamp(2.5rem,5vw,5rem)/1 var(--serif);margin:45px 0 0;color:var(--gold)}footer{display:flex;justify-content:space-between;padding:31px 5.5vw;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.16em;text-transform:uppercase}footer i{font:400 9px var(--sans);letter-spacing:.1em;text-transform:none}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.site-header{padding:22px 6vw}.section{padding:90px 6vw}.watch-section,.contribute{grid-template-columns:1fr;gap:45px}.watch-section{min-height:auto}.watch-stage{min-height:400px;order:-1}.watch-watch{transform:scale(.8)}.hero-photo{height:85svh}.hero-photo__caption{left:6vw;bottom:15vw}.section--narrow{padding-top:105px;padding-bottom:105px}.story__text{margin-left:0}.story__text .lead{font-size:23px}.little-things__heading{margin-bottom:50px}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(3n){margin-right:18px;padding-right:0}.fact:nth-child(2n){margin-right:0}.gallery{grid-template-columns:1fr;gap:18px}.gallery-card,.gallery-card--tall,.gallery-card--wide{height:450px!important;margin:0!important}.gift{padding-top:125px;padding-bottom:125px}.contribution-card{padding:24px}.bank-row{grid-template-columns:105px 1fr;font-size:12px}.closing__copy{left:6vw;right:6vw;bottom:9vh}.closing__copy p{font-size:15px}footer{padding:26px 6vw;display:block;line-height:2}footer span:last-child{float:right}}
