:root{--ink:#0a0a0a;--ivory:#f4f1eb;--paper:#fbfaf7;--line:#c9c5bd;--serif:'Cormorant Garamond',serif;--sans:'Montserrat',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}.nav{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;background:linear-gradient(#0008,transparent)}.nav a{color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:9px;margin-left:28px}.mark{font:300 28px var(--serif)!important;letter-spacing:0!important;margin:0!important}.mark span{font-style:italic}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;background:#000}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:grayscale(1)}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#000a,transparent 55%),linear-gradient(90deg,#0005,transparent 65%)}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:90px 20px 30px}.hero-copy>p{font-size:9px;letter-spacing:.28em;text-transform:uppercase}.hero-copy img{width:min(320px,60vw);filter:invert(1);mix-blend-mode:screen}.hero-copy h1{font:300 clamp(54px,8vw,118px)/.9 var(--serif);margin:14px 0}.scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.3em;font-size:8px}.kicker{text-transform:uppercase;letter-spacing:.28em;font-size:9px}.welcome{padding:130px 8vw;text-align:center;max-width:1200px;margin:auto}.welcome h2,.day h2,.section-title h2,.detail h2,.gallery h2,.rsvp h2{font:300 clamp(58px,8vw,112px)/.9 var(--serif);margin:18px 0}.welcome h2 em,.day h2 em,.detail h2 em,.gallery h2 em{font-weight:300}.welcome>p:not(.kicker){max-width:670px;margin:25px auto;line-height:1.9}.countdown{display:flex;justify-content:center;gap:4vw;margin-top:70px}.countdown div{min-width:90px}.countdown strong{display:block;font:300 54px var(--serif)}.countdown span{text-transform:uppercase;letter-spacing:.22em;font-size:8px}.story{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--ivory)}.proposal-wrap{display:flex;flex-direction:column;justify-content:center;padding:7vw;background:#111}.proposal-wrap img{width:100%;height:auto;max-height:560px;object-fit:contain;image-rendering:auto;filter:grayscale(1)}.proposal-wrap span{color:#aaa;margin-top:14px;text-transform:uppercase;letter-spacing:.2em;font-size:8px}.story-copy{padding:9vw 8vw}.story-copy h2{font:300 clamp(60px,7vw,108px)/.8 var(--serif);margin:16px 0 30px}.story-copy p{line-height:1.82;font-size:14px}.rule{display:block;width:100px;border-top:1px solid;margin:35px 0}.story-copy blockquote{font:italic 300 27px/1.35 var(--serif);margin:35px 0 0}.day{padding:130px 7vw}.day-head{text-align:center;margin-bottom:70px}.day-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;max-width:1300px;margin:auto}.timeline>div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:20px 0}.timeline>div:last-child{border-bottom:1px solid var(--line)}.timeline time{font-weight:500}.ring{margin:0}.ring img{width:100%;height:700px;object-fit:cover;filter:grayscale(1)}.ring figcaption{text-transform:uppercase;letter-spacing:.2em;font-size:8px;margin-top:12px}.dining{background:#090909;color:#fff;padding:130px 6vw}.section-title{text-align:center;margin-bottom:60px}.section-title p:last-child{color:#aaa}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:1200px;margin:auto}.menu-art{border:0;background:var(--ivory);padding:25px;cursor:pointer;color:#111;text-align:left}.menu-art span{display:block;font:300 48px var(--serif);padding:5px 10px 20px}.menu-art img{display:block;width:100%;height:760px;object-fit:contain;background:#fff}.details{display:grid;grid-template-columns:1fr 1fr}.detail{padding:110px 7vw;min-height:680px;background:var(--ivory)}.detail.dark{background:#101010;color:#fff}.detail p{line-height:1.9}.detail h3{font:300 30px var(--serif);margin-top:45px}.detail a{display:inline-block;color:inherit;margin-top:25px;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.gallery{display:grid;grid-template-columns:1.2fr .8fr;min-height:760px}.gallery>img{width:100%;height:760px;object-fit:cover;filter:grayscale(1)}.gallery-copy{padding:10vw 7vw;align-self:center}.rsvp{background:#0c0c0c;color:#fff;padding:130px 7vw}.rsvp-inner{max-width:760px;margin:auto;text-align:center}.rsvp form{text-align:left;margin-top:50px}.rsvp label,.rsvp legend{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;margin:20px 0}.rsvp input[type=text],.rsvp input:not([type]),.rsvp textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #666;color:#fff;padding:12px 0;font:300 18px var(--serif);outline:none}.rsvp fieldset{border:0;padding:0}.rsvp fieldset label{text-transform:none;letter-spacing:0;font-size:13px;display:inline-block;margin-right:25px}.rsvp button{width:100%;padding:18px;margin-top:25px;background:transparent;color:#fff;border:1px solid #fff;text-transform:uppercase;letter-spacing:.24em;font-size:9px;display:flex;justify-content:space-between}.note{font-size:10px;color:#999}footer{background:#000;color:#fff;text-align:center;padding:70px 20px}footer img{width:150px;filter:invert(1);opacity:.8}footer p{text-transform:uppercase;letter-spacing:.2em;font-size:8px}.song{position:fixed;z-index:30;right:20px;bottom:20px;background:#f6f3ed;color:#111;border:1px solid #ccc;padding:12px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:9px}.lightbox{position:fixed;inset:0;background:#000e;z-index:50;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:92vh;max-width:92vw}.lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.nav div{display:none}.story,.day-grid,.menu-grid,.details,.gallery{grid-template-columns:1fr}.proposal-wrap{padding:50px 20px}.story-copy,.day,.dining,.detail,.rsvp{padding:85px 25px}.ring img,.gallery>img{height:520px}.menu-art img{height:auto}.gallery-copy{padding:85px 25px}.countdown{gap:12px}.countdown strong{font-size:38px}.countdown div{min-width:60px}.song span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}
.hero-black{background:#050505;position:relative}.hero-black:before{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle at 50% 30%,#2a2a2a 0,transparent 42%)}.hero-black .hero-copy{z-index:1}.hero-black .hero-copy img{filter:invert(1);mix-blend-mode:screen;width:min(360px,62vw)}.hero-black .hero-copy h1{margin-top:24px}.rsvp input[type=email],.rsvp input[type=number]{width:100%;background:transparent;border:0;border-bottom:1px solid #666;color:#fff;padding:12px 0;font:300 18px var(--serif);outline:none}.rsvp button[disabled]{opacity:.55;cursor:wait}.note.success{color:#d8f4dd}.note.error{color:#ffd3d3}
