@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Montserrat:wght@400;500;600&display=swap');
:root{--pink:#d3a0ad;--pale:#f9eff1;--ink:#573f48;--muted:#816b74;--line:#d9b8c1;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:#fffcfc;color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #865068;outline-offset:6px}header{height:66px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fcf5f5;position:relative;z-index:10;border-bottom:1px solid #e9d6dd}.brand{font-size:27px;letter-spacing:-2px}.brand span{font-family:var(--sans);font-size:9px;letter-spacing:3px;margin-left:12px}nav{display:flex;gap:32px;font-family:var(--sans);font-size:9px;letter-spacing:1.5px;text-transform:uppercase}nav a:hover{color:#a15f77}.hero{height:calc(100svh - 66px);min-height:720px;max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:#753f54;color:#fff2f3}.hero-photo{position:absolute;inset:0;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:scale(1.035)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#39172755,transparent 44%,#391727a8)}.hero-title{position:absolute;top:5%;left:5%;width:90%;text-align:center}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:3px;font-weight:500;line-height:1.8;margin:0 0 22px}h1{font-size:clamp(74px,8vw,120px);font-weight:300;line-height:.9;letter-spacing:1px;margin:25px 0 18px}h1 span{margin-left:15px}.xvs{font-family:var(--sans);font-size:13px;letter-spacing:8px;margin:22px 0}.hero-bottom{position:absolute;bottom:26px;left:0;width:100%;text-align:center}.date{font-size:25px;letter-spacing:3px;margin:0 0 18px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:20px;border-top:1px solid #fff6;border-bottom:1px solid #fff6;width:fit-content;margin:auto;padding:15px 18px}.countdown>div{min-width:48px}.countdown span{display:block;font-size:44px;line-height:1}.countdown small{font-family:var(--sans);font-size:8px;letter-spacing:1.6px;display:block;margin-top:9px}.countdown i{font-size:28px;font-style:normal;opacity:.6}.scroll-link{font-family:var(--sans);font-size:8px;letter-spacing:2px;display:block;margin:24px auto 0}.scroll-link span{font-size:20px;display:block;margin-top:9px}.music-bar{padding:22px;text-align:center;background:#f5e6eb}.music-bar button{background:none;border:none;display:flex;gap:15px;align-items:center;margin:auto;color:var(--ink)}.music-symbol{font-size:27px}#music-label{font-style:italic;font-size:19px}#music-action{font-family:var(--sans);font-size:8px;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:15px}.paper{background-color:#fcf8f7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.04' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}section:not(.hero):not(.closing){text-align:center;padding:100px 24px}h2{font-size:clamp(40px,4.5vw,65px);font-weight:300;line-height:1.08;margin:0 0 30px}h2 em{font-weight:300}h3{font-weight:400}.body-copy{font-size:23px;line-height:1.65;color:var(--muted)}.monogram{width:170px;height:120px;margin:0 auto 25px;overflow:hidden;mix-blend-mode:multiply}.monogram img{width:260px;height:260px;max-width:none;transform:translate(-45px,-70px)}.fine-line{display:block;width:55px;height:1px;background:var(--line);margin:32px auto}.signature{font-size:36px;font-style:italic;margin:22px 0 30px}.button{font-family:var(--sans);font-size:9px;letter-spacing:2px;line-height:1.6;padding:19px 29px;display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#946277;border:1px solid #946277;color:white;transition:background .2s,transform .2s}.button:hover{background:#794d60;transform:translateY(-2px)}.outline{color:var(--ink);border-color:var(--line);background:transparent}.outline:hover{background:#f0dfe5}.reception{background:linear-gradient(120deg,#f5e4e8,#fffafa 55%,#f1dce3)}.event{max-width:520px;margin:48px auto 0;border:1px solid var(--line);padding:40px 24px 45px;position:relative}.line-icon{width:90px;height:90px;color:#ab7a8d;margin-bottom:15px}.event h3{font-size:34px;letter-spacing:3px;margin:16px 0}.event>p:not(.eyebrow){margin:14px 0}.event-time{font-size:38px}.event-time span{font-size:20px}.event .button{margin-top:22px}.formal{font-size:43px;font-style:italic;margin:0 0 25px}.dress-options{display:flex;justify-content:center;gap:85px}.dress-options svg{height:90px;width:70px;color:#98717f}.dress-options h3{font-size:25px;margin:10px 0}.dress-options p{font-size:19px;color:var(--muted);margin:0}.gallery{overflow:hidden}.gallery-track{max-width:1200px;display:flex;gap:22px;margin:50px auto 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 15px}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{background:#f4e4e8;border:0;padding:0;flex:0 0 calc((100% - 66px)/4);aspect-ratio:3/4;overflow:hidden;scroll-snap-align:center}.gallery-item img{width:100%;height:100%;object-fit:cover;transform:scale(1.045);transition:transform .5s}.gallery-item:hover img{transform:scale(1.085)}.gallery-controls{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:17px}.gallery-controls button{border:1px solid var(--line);color:var(--ink);background:transparent;width:38px;height:38px;border-radius:50%}.gallery-controls span{font-family:var(--sans);font-size:8px;letter-spacing:2px}.gifts{background:#d5a6b2}.gifts .eyebrow{color:#573947}.gift-box{background:#fff9f7;max-width:640px;margin:45px auto 0;padding:35px 25px 45px}.envelope{width:125px;height:105px;color:#a36e84}.gift-box h3{font-size:36px;margin:15px 0 20px}.gift-box p{font-size:21px;line-height:1.65}.gift-box .thanks{font-style:italic;margin-bottom:0}.rsvp form{text-align:left;max-width:540px;margin:45px auto 0;font-family:var(--sans);font-size:11px}.rsvp fieldset{padding:0;border:0;margin:0 0 30px}.rsvp legend{margin-bottom:17px;font-size:11px}.radio{display:inline-flex!important;align-items:center;gap:8px;margin:0 22px 0 0!important}.radio input{accent-color:#946277}.rsvp label{display:block;margin:22px 0 10px;line-height:1.6}.rsvp label span{color:#8c7980}.rsvp input:not([type=radio]),.rsvp select,.rsvp textarea{border:1px solid #decbd2;background:#fffdfc;width:100%;border-radius:0;color:var(--ink);padding:16px;font-size:13px;outline-color:#98667b}.rsvp textarea{resize:vertical}.rsvp small{display:block;font-size:9px;margin:9px 0;color:var(--muted);line-height:1.7}.rsvp .button{width:100%;margin-top:26px}.form-note{text-align:center;font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px}#form-status{text-align:center;line-height:1.8}.closing{display:grid;grid-template-columns:1fr 1fr;background:#e9c9d2;min-height:630px}.closing-photo{overflow:hidden;max-height:850px}.closing-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025)}.closing-text{align-self:center;text-align:center;padding:60px 35px}.closing-text h2{font-size:clamp(37px,4vw,59px)}.closing-text .signature{font-size:42px}footer{text-align:center;padding:32px 20px;font-family:var(--sans);font-size:8px;letter-spacing:2px}footer span{margin:0 12px;color:#b17f92}dialog{border:0;background:transparent;padding:0;max-width:95vw;max-height:94svh;overflow:visible}dialog::backdrop{background:#24141beb;backdrop-filter:blur(5px)}dialog img{max-width:85vw;max-height:85svh;display:block}dialog button{position:absolute;color:white;background:#34212e88;border:0;width:42px;height:42px;font-size:28px}#lightbox-close{right:0;top:0}#lightbox-prev{left:0;top:48%}#lightbox-next{right:0;top:48%}
@media(min-width:1000px){.hero-photo img{object-fit:contain;transform:scale(1.035)}.hero-photo{inset:0 17%}.hero:before{content:'';position:absolute;inset:-30px;background:linear-gradient(#63344555,#63344555),url('assets/hero.jpg') center 40%/cover;filter:blur(30px)}.hero-title{top:4%}h1{font-size:90px}.hero-title .eyebrow{margin-bottom:12px}.hero-title h1{margin:12px 0}.hero-title .xvs{margin-top:15px}}
@media(max-width:700px){header{height:58px;padding:0 20px}.brand{font-size:25px}nav{gap:0}nav a{display:none}nav a:last-child{display:block;font-size:8px;letter-spacing:1px}.hero{min-height:750px;height:calc(100svh - 58px);max-height:1000px}.hero-photo img{object-position:50% 28%;transform:scale(1.04)}.hero-title{top:auto;bottom:240px}.hero-title .eyebrow{display:none}h1{font-size:63px;line-height:.92;margin:0;text-shadow:0 2px 25px #35102066}h1 span{display:block;margin:3px 0 0}.hero-title .xvs{margin:18px 0 0;font-size:10px}.hero-shade{background:linear-gradient(180deg,transparent 28%,#3214210a 40%,#321421aa 75%,#321421d9)}.date{font-size:18px;letter-spacing:2px}.countdown{gap:12px;padding:12px 10px}.countdown>div{min-width:40px}.countdown span{font-size:37px}.countdown small{font-size:7px}.scroll-link{margin-top:18px;font-size:7px}.hero-bottom{bottom:22px}.scroll-link span{margin-top:5px}section:not(.hero):not(.closing){padding:75px 22px}.music-bar{padding:18px 10px}.music-bar button{gap:10px}#music-label{font-size:17px}#music-action{font-size:7px;padding-left:10px}h2{font-size:42px}.eyebrow{font-size:8px;letter-spacing:2.4px}.body-copy{font-size:21px}.intro .button{font-size:8px}.dress-options{gap:55px}.gallery-track{margin-top:32px;gap:16px;overflow-x:auto}.gallery-item{flex-basis:82%}.gallery-controls{margin-top:12px}.gift-box{padding:28px 16px 35px}.gift-box p{font-size:19px}.gift-box p br{display:none}.radio{margin-right:14px!important}.closing{display:flex;flex-direction:column}.closing-photo{height:auto;aspect-ratio:1106/1600;max-height:none}.closing-photo img{object-fit:cover}.closing-text{padding:55px 20px;width:100%}.closing-text h2{font-size:42px}.closing-text .signature{font-size:38px}footer{font-size:7px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Persistent countdown navigation, matching the reference's responsive menu. */
.site-header{position:sticky;top:0;z-index:30;height:78px;padding:0 5%;gap:24px;background:#fcf5f5f5;backdrop-filter:blur(12px);border-bottom:1px solid #e5cdd6}
.header-countdown{display:flex;align-items:center;gap:9px;flex-shrink:0;text-align:center}
.header-countdown-label{font-family:var(--sans);font-size:8px;letter-spacing:2px;margin-right:7px}
.header-unit{min-width:28px;display:flex;flex-direction:column;gap:3px}
.header-unit b{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1;font-variant-numeric:tabular-nums}
.header-unit small{font-family:var(--sans);font-size:6px;letter-spacing:1.3px}
.header-countdown i{font-size:19px;font-style:normal;opacity:.5;margin-top:-8px}
.site-header nav{display:flex;gap:24px;font-size:9px;letter-spacing:1px}
.site-header nav a{display:block}
.menu-toggle{display:none;background:transparent;border:0;padding:10px;width:44px;height:44px;color:var(--ink)}
.menu-toggle span{display:block;width:23px;height:1.5px;background:currentColor;margin:5px 0;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
html{scroll-padding-top:94px}
.hero{height:calc(100svh - 78px)}
.music-bar{display:flex;align-items:center;justify-content:center;gap:15px;min-height:60px;padding:12px 20px;background:#d5a6b2;color:#573f48}
.music-bar button{margin:0;gap:9px;border-left:1px solid #96647766;padding:8px 0 8px 20px;min-height:36px}
#music-label{font-size:19px;font-style:italic}
#music-action{border:0;padding:0;font-size:9px;letter-spacing:1.6px}
.music-bar svg[hidden]{display:none}
@media(max-width:1100px) and (min-width:901px){.site-header{padding:0 3%;gap:15px}.site-header nav{gap:15px;font-size:8px}.header-countdown-label{display:none}}
@media(max-width:900px){.site-header{height:65px;padding:0 20px;gap:10px}.header-countdown{gap:8px}.header-countdown-label{font-size:7px;letter-spacing:1.5px;margin-right:4px}.header-unit{min-width:26px}.header-unit b{font-size:25px}.header-unit small{font-size:6px}.menu-toggle{display:block}.site-header nav{position:absolute;top:65px;left:0;right:0;display:none;flex-direction:column;gap:0;background:#fcf5f5;border-bottom:1px solid var(--line);padding:14px 25px 22px;box-shadow:0 12px 18px #573f4812}.site-header nav.open{display:flex}.site-header nav a{display:block;padding:14px 3px;font-size:10px;letter-spacing:1.4px}.hero{height:calc(100svh - 65px)}html{scroll-padding-top:81px}}
@media(max-width:700px){.music-bar{gap:10px;padding:10px 13px;min-height:58px}.music-bar button{padding:8px 0 8px 12px;gap:7px}#music-label{font-size:16px}#music-action{font-size:8px;letter-spacing:1px}}
@media(max-width:360px){.site-header{padding:0 12px}.header-countdown{gap:5px}.header-countdown-label{display:none}.music-bar{gap:7px}#music-label{font-size:15px}}

/* Quiet date treatment from the supplied header reference. */
.header-date{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.25em;white-space:nowrap;line-height:1;padding:12px 0}.header-date time{font-variant-numeric:tabular-nums}
@media(max-width:900px){.header-date{font-size:11px;letter-spacing:.25em}}

/* Original NA monogram alongside the minimal event date. */
.header-date{display:flex;align-items:center;gap:23px;padding:0}.header-monogram{display:block;position:relative;width:65px;height:42px;overflow:hidden;mix-blend-mode:multiply;flex-shrink:0}.header-monogram img{position:absolute;width:110px;height:110px;max-width:none;left:-22.5px;top:-34px}
@media(max-width:900px){.header-date{gap:18px}.header-monogram{width:58px;height:38px}.header-monogram img{width:100px;height:100px;left:-21px;top:-31px}}

/* Uppercase two-line name, as in the supplied reference. */
.hero-title h1{text-transform:uppercase;letter-spacing:.045em;line-height:.95}.hero-title h1 span{display:block;margin:6px 0 0}
@media(max-width:700px){.hero-title h1{font-size:clamp(40px,14vw,63px);letter-spacing:.035em}}

/* Two supplied photographs between the welcome and the reception. */
.pink-photo-pair{display:grid;grid-template-columns:1.55fr 1fr;align-items:center;gap:28px;max-width:1240px;margin:0 auto;padding:75px 40px;background:#fffcfc}.pink-photo{margin:0;overflow:hidden;background:#773d52}.pink-photo.landscape{aspect-ratio:1174/864}.pink-photo.portrait{aspect-ratio:864/1294}.pink-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.035)}
@media(max-width:700px){.pink-photo-pair{grid-template-columns:1fr;gap:24px;padding:48px 22px}.pink-photo.portrait{width:85%;justify-self:center}}
