@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap";:root{--ink:#252525;--muted:#6d6d6b;--paper:#f5f4f0;--line:#cccac3;--dark:#20211f;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-weight:300}a{color:inherit;text-decoration:none}.nav{z-index:5;color:#fff;border-bottom:1px solid #ffffff59;justify-content:space-between;align-items:center;width:100%;height:82px;padding:0 5vw;display:flex;position:absolute}.monogram{font-family:var(--serif);border:1px solid;border-radius:50%;place-items:center;width:52px;height:52px;font-size:30px;display:grid}.navLinks{letter-spacing:.08em;gap:36px;font-size:13px;display:flex}.navCta{border-bottom:1px solid;padding:8px 0;font-size:13px}.mobileNav{display:none}.hero{background:#656661;height:100vh;min-height:780px;position:relative;overflow:hidden}.heroPhoto{background:#555;position:absolute;inset:0 38% 0 0;overflow:hidden}.heroPhoto:after{content:"";background:linear-gradient(90deg,#16161414,#1616145c);position:absolute;inset:0}.heroPhoto img{object-fit:cover;object-position:center 58%;width:100%;height:100%}.heroCard{background:#eeeee9;flex-direction:column;justify-content:center;padding:17vh 7vw 7vh;display:flex;position:absolute;inset:0 0 0 62%}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:11px;font-weight:500}.eyebrow span{color:#999;padding:0 12px}h1,h2{font-family:var(--serif);letter-spacing:-.03em;margin:24px 0;font-size:clamp(58px,7vw,108px);font-weight:400;line-height:.95}h1 em,h2 em{color:#858681;font-weight:400}.intro{font-family:var(--serif);max-width:390px;font-size:22px;line-height:1.5}.rule{background:var(--line);height:1px;margin:28px 0}.date{text-transform:uppercase;letter-spacing:.14em;font-size:11px}.button{background:var(--dark);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;justify-content:space-between;align-items:center;max-width:300px;margin-top:30px;padding:17px 22px;font-size:11px;display:flex}.countdown{color:#fff;align-items:center;gap:14px;display:flex;position:absolute;bottom:4vw;left:4vw}.countdown strong{font:54px var(--serif)}.countdown span{text-transform:uppercase;letter-spacing:.15em;width:65px;font-size:10px}.section{padding:120px 8vw}.invitation{text-align:center;background:#ecebe6}.invitation h2{font-size:clamp(48px,6vw,82px)}.invitationCopy{max-width:760px;font:20px/1.75 var(--serif);margin:50px auto 0}.invitationCopy p{margin:0 0 26px}.signature{padding-top:12px}.signature strong{font-size:28px;font-weight:400}.story{text-align:center}.story h2{font-size:clamp(45px,6vw,82px)}.timeline{border-top:1px solid var(--line);max-width:900px;margin:80px auto 0}.milestone{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:30px 0;display:grid}.milestone>span{font:32px var(--serif);color:#888}.milestone h3{font:26px var(--serif);margin:0 0 8px}.milestone p{color:var(--muted);margin:0}.sectionHead{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}.sectionHead h2{margin-bottom:0;font-size:70px}.sectionHead>p{max-width:340px;line-height:1.7}.gallery{grid-template-columns:repeat(12,1fr);gap:28px;display:grid}.photo{grid-column:span 4;margin:0}.photo:nth-child(2),.photo:nth-child(5),.photo:nth-child(8){transform:translateY(45px)}.photo div{aspect-ratio:4/5;background:#999;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo3 img{object-position:58% center}.photo5 img{object-position:center 30%}.photo7 img{object-position:center 40%}.photo8 img{object-position:center 58%}.photo figcaption{font:18px var(--serif);margin-top:12px}.details{background:var(--dark);color:#efefe9;grid-template-columns:1fr 1.5fr;gap:10vw;display:grid}.details h2{font-size:65px}.detailsIntro{color:#aaa;max-width:390px;line-height:1.8}.detailGrid{grid-template-columns:1fr 1fr;display:grid}.detailGrid article{border-bottom:1px solid #444;border-left:1px solid #444;min-height:190px;padding:26px}.detailGrid .wideDetail{grid-column:1/-1;min-height:auto}.detailGrid span{color:#888;font-size:10px}.detailGrid h3{font:25px var(--serif)}.detailGrid p{color:#aaa;line-height:1.7}.rsvp{grid-template-columns:1fr 1.2fr;gap:10vw;display:grid}.rsvp h2{font-size:65px}.rsvpIntro>p:last-child{max-width:420px;color:var(--muted);line-height:1.8}.musicCards{grid-template-columns:1fr 1fr;gap:20px;display:grid}.musicCards article{background:#fff;padding:38px;box-shadow:0 20px 70px #00000012}.musicCards article>span{color:#999;letter-spacing:.15em;font-size:10px}.musicCards h3{font:28px/1.15 var(--serif);margin:22px 0}.musicCards p{color:var(--muted);line-height:1.75}.musicCards .smallNote{font-size:13px}.musicCards .button{margin-top:28px}footer{background:#d2d2cd;justify-content:space-between;align-items:center;padding:70px 8vw;display:flex}footer p{font:26px var(--serif);text-align:center}footer>a{text-transform:uppercase;letter-spacing:.15em;font-size:10px}@media (max-width:800px){.nav{height:70px}.navLinks{display:none}.hero{height:auto;min-height:880px}.heroPhoto{inset:0 0 45%}.heroPhoto img{object-position:center 58%}.heroCard{padding:45px 7vw;inset:55% 0 0}.heroCard h1{margin:15px 0;font-size:60px}.intro{font-size:18px}.rule{margin:12px 0}.button{margin-top:14px}.countdown{top:46%;bottom:auto}.section{padding:85px 6vw}.invitation{text-align:left}.invitationCopy{margin-top:35px;font-size:18px}.story{text-align:left}.milestone{grid-template-columns:90px 1fr}.sectionHead{display:block}.sectionHead h2{font-size:55px}.photo{grid-column:span 1}.photo:nth-child(2),.photo:nth-child(5),.photo:nth-child(8){transform:translateY(25px)}.details,.rsvp{grid-template-columns:1fr;gap:35px}.detailGrid article{padding:18px}.rsvp h2,.details h2{font-size:52px}.musicCards{grid-template-columns:1fr}.musicCards article{padding:28px 22px}footer{text-align:center;flex-direction:column;gap:25px}.mobileNav{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#232320c2;border-top:1px solid #ffffff2e;border-bottom:1px solid #ffffff4d;grid-template-columns:repeat(3,1fr);width:100%;display:grid;position:absolute;top:70px;left:0}.mobileNav a{text-align:center;letter-spacing:.035em;border-right:1px solid #fff3;padding:13px 5px;font-size:11px;line-height:1.2}.mobileNav a:last-child{border-right:0}.gallery{grid-template-columns:1fr;gap:38px}.photo{grid-column:1;transform:none!important}.photo div{aspect-ratio:auto;background:0 0;overflow:visible}.photo img{object-fit:contain;width:100%;height:auto;object-position:center!important}.photo figcaption{margin-top:10px;line-height:1.35}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.personalPage{background:#ecebe6;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.personalPhoto{min-height:100vh;overflow:hidden}.personalPhoto img{object-fit:cover;object-position:center 58%;width:100%;height:100%}.personalCard{flex-direction:column;justify-content:center;padding:10vh 9vw;display:flex}.personalCard h1{font-size:clamp(56px,7vw,92px)}.personalCard>p{max-width:520px;line-height:1.75}.personalCard form{background:#fff;margin-top:22px;padding:36px;box-shadow:0 20px 70px #00000012}label{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:500}input{border:0;border-bottom:1px solid var(--line);width:100%;font:15px var(--sans);background:0 0;border-radius:0;margin:7px 0 25px;padding:13px 0;display:block}input:focus{border-color:#555;outline:0}.submit{width:100%;max-width:none}.success{color:#436c49}.error{color:#9a3a36}.backLink{text-transform:uppercase;letter-spacing:.12em;margin-top:28px;font-size:12px}.adminPage{background:#ecebe6;min-height:100vh;padding:70px 8vw}.adminPage header{justify-content:space-between;align-items:flex-end;margin-bottom:55px;display:flex}.adminPage h1{margin-bottom:0;font-size:70px}.adminPanel{background:#fff;padding:45px}.adminPanel>form{grid-template-columns:1fr auto;align-items:end;gap:30px;display:grid}.adminPanel .button{min-width:230px;margin:0}.inviteList{border-top:1px solid var(--line);margin-top:45px}.inviteList article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.inviteList h2{margin:0 0 5px;font-size:24px}.inviteList p{color:var(--muted);margin:0;font-size:13px}.inviteList button{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;padding:12px 16px}@media (max-width:800px){.personalPage{grid-template-columns:1fr}.personalPhoto{height:42vh;min-height:42vh}.personalCard{padding:60px 6vw}.personalCard form{padding:28px 20px}.adminPage{padding:45px 5vw}.adminPage header{display:block}.adminPage h1{font-size:52px}.adminPanel{padding:25px 18px}.adminPanel>form{grid-template-columns:1fr}.inviteList article{flex-direction:column;align-items:flex-start}}.musicFormCard form{margin-top:28px}.musicFormCard input{margin-bottom:22px}.musicFormCard .success,.musicFormCard .error{margin-top:18px;font-size:14px}.adminActions{justify-content:space-between;align-items:center;gap:20px;display:flex}.adminActions p{color:var(--muted)}.adminActions>div{gap:10px;display:flex}.adminActions button{border:1px solid var(--line);cursor:pointer;background:#fff;padding:13px 17px}.adminActions .darkButton{background:var(--dark);color:#fff;border-color:var(--dark)}@media (max-width:800px){.adminActions{display:block}.adminActions>div{flex-direction:column}.musicCards article{min-width:0}}.heroPhoto img{object-position:center 34%}@media (max-width:800px){.heroPhoto img{object-position:center 32%}}body{color:#20201f;background:#e8e6df;font-weight:400}.heroCard{background:#dfddd6}.intro{color:#20201f}.date,.eyebrow{color:#30302e;font-weight:600}.invitation{background:#d6d3ca}.invitationCopy{font-family:var(--sans);color:#292927;font-size:19px;font-weight:400;line-height:1.8}.story{background:#ebe9e2}.milestone p,.sectionHead>p,.rsvpIntro>p:last-child{color:#41413e;font-weight:400;line-height:1.8}.gallerySection{background:#cbc9c1}.photo figcaption{font-family:var(--sans);color:#292927;font-size:16px;font-weight:600}.detailsIntro,.detailGrid p{color:#deded7;font-weight:400}.musicCards article{background:#f8f7f3}.musicCards p{color:#3b3b38;font-weight:400}.musicCards label{color:#252523;font-weight:600}.musicCards input{color:#20201f;border-bottom-color:#777772}.adminPage{background:#d9d6ce}
