:root{--ink:#253e58;--blue:#9bb5cb;--light:#dce6ee;--paper:#f8f5ef;--line:#b4c1cc;--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 'Jost',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:2px}.monogram{font-family:var(--script);font-size:39px;letter-spacing:0}header a:last-child{font-size:14px;letter-spacing:.5px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px;max-width:1500px;margin:auto}.hero-copy{padding:100px 35px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:3px;font-weight:400}h1{font-family:var(--script);font-weight:400;font-size:clamp(80px,9.5vw,150px);line-height:1.2;margin:32px 0 8px}.xv{letter-spacing:7px;font-size:14px;margin:0}.rule{width:120px;height:1px;background:var(--line);margin:40px auto 14px}.hero-date{font-family:var(--serif);font-size:27px;margin:10px 0 0}.place{font-size:14px;margin-top:5px}.text-link{margin-top:60px;font-size:14px;border-bottom:1px solid var(--line);padding:8px 0}.text-link span{margin-left:24px}.hero-photo{position:relative;margin:28px 28px 28px 0;overflow:hidden;border-radius:46% 46% 0 0}.hero-photo img{height:100%;object-fit:cover;object-position:center 30%}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:60px 20px 26px;text-align:center;color:white;font:italic 22px var(--serif)}.section{padding:100px 24px;text-align:center}h2{font:400 clamp(39px,4.8vw,65px)/1.15 var(--serif);margin:22px 0 30px}h2 em{font-weight:400}.invitation{max-width:800px;margin:auto}.invitation>p{margin:25px auto}.small-rule{height:1px;width:50px;background:var(--line);margin:32px auto}.label{font-size:12px;letter-spacing:2px}.hosts{font:400 34px/1.2 var(--serif)}.hosts span{font:italic 25px var(--serif);color:#70879b}.date-section{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:0 auto;background:var(--light)}.date-photo img{height:100%;max-height:780px;object-fit:cover}.date-copy{text-align:center;padding:55px 25px;align-self:center}.day-name{font:italic 32px var(--serif);margin:28px 0 0}.big-day{font:400 145px/.95 var(--serif);margin:0}.month{font:400 48px var(--script);margin:0}.year{font:400 28px var(--serif);letter-spacing:7px;margin:12px 0}.countdown{display:flex;justify-content:center;gap:24px;margin:24px 0 0}.countdown b{display:block;font:400 32px var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:12px}.events{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:50px auto 0}.events article{padding:5px 25px}.events article+article{border-left:1px solid var(--line)}.events h3{font:400 39px var(--serif);margin:15px}.time{font:400 26px var(--serif)}.wide-photo{position:relative;height:620px;max-width:1400px;margin:auto;overflow:hidden}.wide-photo img{height:100%;object-fit:cover;object-position:center 57%;filter:brightness(.75)}.wide-photo>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;background:#182c3b1a}.wide-photo>div>p:last-child{text-align:center;font:400 64px/1.15 var(--serif);margin:10px}.details{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1100px;margin:auto}.details h2{font-size:43px}.details p{font-size:16px}.black-color{display:flex;gap:10px;align-items:center;justify-content:center}.black-color i{background:#191919;border-radius:50%;width:16px;height:16px}.album{background:var(--paper)}.album-note{font-size:14px;color:#536b80}.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;max-width:1100px;margin:45px auto 0}.gallery button{padding:0;background:none;border:0;cursor:pointer;overflow:hidden}.gallery img{aspect-ratio:2/3;object-fit:contain;object-position:center top;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}button:focus-visible,a:focus-visible{outline:3px solid #597ea3;outline-offset:5px}footer{text-align:center;padding:80px 24px 55px;background:var(--ink);color:var(--paper)}footer>p{font:italic 32px/1.35 var(--serif)}.signature{display:block;font:400 85px var(--script);margin:30px 0}footer .eyebrow{display:block}dialog{border:0;background:#102031f5;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:50px 65px;color:white}dialog::backdrop{background:#102031}dialog[open]{display:flex;align-items:center;justify-content:center}dialog img{height:calc(100dvh - 130px);width:100%;object-fit:contain}dialog button{position:absolute;color:white;background:#12223699;border:1px solid #ffffff55;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:32px;line-height:1}.close{right:18px;top:18px}.prev{left:12px;top:48%}.next{right:12px;top:48%}#photo-count{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:14px}body.modal-open{overflow:hidden}@media(min-width:1000px){.wide-photo img{object-position:center 56%}}@media(max-width:700px){header{height:62px;padding:0 22px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:48px 20px 35px}.hero-copy .eyebrow{font-size:11px}h1{font-size:94px;margin-top:22px}.rule{margin-top:25px}.text-link{margin-top:20px}.hero-date{font-size:25px}.hero-photo{margin:0 24px 15px;height:550px;border-radius:45% 45% 0 0}.hero-photo img{object-position:center 25%}.section{padding:65px 22px}.date-section{grid-template-columns:1fr;margin:0 22px}.date-photo img{max-height:520px;object-position:center 32%}.date-copy{padding:35px 18px 45px}.countdown{gap:25px}.events{gap:10px;margin-top:35px}.events article{padding:0 8px}.events h3{font-size:30px;margin:15px 0}.events article>p:last-child{font-size:14px}.wide-photo{height:560px;margin:0 22px}.wide-photo img{object-position:center}.wide-photo>div>p:last-child{font-size:47px}.details{grid-template-columns:1fr;gap:50px}.details article+article{padding-top:45px;border-top:1px solid var(--line)}.gallery{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.album{padding-left:15px;padding-right:15px}.hosts{font-size:31px}dialog{padding:55px 12px}.prev,.next{top:auto;bottom:20px}.prev{left:24px}.next{right:24px}#photo-count{bottom:18px;pointer-events:none}.photo-caption{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.map-button{display:inline-block;padding:11px 23px;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;font:400 14px 'Jost',sans-serif;margin:12px 0;letter-spacing:.5px}.map-button:hover{background:var(--ink);color:var(--paper)}.rsvp{background:var(--light)}#rsvp-content{max-width:520px;margin:auto}#family-name{font:400 34px var(--serif)}#rsvp-form{text-align:left;max-width:360px;margin:25px auto}#rsvp-form label{display:block;margin:15px 0 8px}select,input{font:inherit;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0;max-width:100%}#rsvp-form select{width:100%}#rsvp-form button{width:100%;margin-top:24px}button:disabled{opacity:.5;cursor:wait}#rsvp-message{max-width:540px;margin:24px auto}


.gallery button.portrait{grid-column:span 2}.gallery button.panorama{grid-column:1/-1}.gallery button.panorama img{aspect-ratio:3/2;object-fit:contain}.gallery button.feature-pair{grid-column:span 3}@media(max-width:700px){.gallery button.portrait,.gallery button.feature-pair{grid-column:span 1}.gallery button.feature-last{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}}

.table-assignment{font:400 28px var(--serif);margin:12px 0 0}
.details{display:block;max-width:950px}.dress-guidance{max-width:650px;margin:0 auto 34px}.dress-guidance strong{font-weight:500;color:#172b40}.dress-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:620px;margin:0 auto}.dress-examples figure{margin:0}.dress-examples img{aspect-ratio:2/3;object-fit:cover;object-position:center top;border-radius:46% 46% 0 0}.dress-examples figcaption{font:400 23px/1.25 var(--serif);margin:14px 0 0}.details .gift-note{max-width:580px;margin:68px auto 0;padding-top:56px;border-top:1px solid var(--line)}@media(max-width:700px){.dress-examples{gap:12px}.dress-examples figcaption{font-size:18px}.details .gift-note{margin-top:56px;padding-top:45px}}
.celebration .adults-only{margin:36px auto 0;max-width:610px;font:italic 400 clamp(23px,2.4vw,30px)/1.3 var(--serif)}
.bank-details{max-width:490px;margin:30px auto 0;padding:24px 18px;border:1px solid var(--line);background:#e7eef3}.bank-details p{margin:8px auto}.bank-details .bank-label{margin-top:18px;font-size:14px;letter-spacing:.7px}.bank-details .bank-number{font:400 clamp(20px,2.5vw,28px)/1.3 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:.8px;white-space:nowrap}.bank-details .bank-holder{margin-bottom:0}
footer>p{font-size:clamp(14px,4.2vw,32px);letter-spacing:-.02em;white-space:nowrap}@media(max-width:400px){footer{padding-left:12px;padding-right:12px}.bank-details{padding-left:10px;padding-right:10px}.bank-details .bank-number{font-size:20px}}

.album .photo-credit{margin:12px 0 0;text-align:right;font-size:.8125rem;font-weight:300;line-height:1.5;letter-spacing:.02em;color:#617486}

.guest-guide{max-width:540px;margin:25px auto 35px;padding:20px;border:1px solid var(--line,#b4c1cc);border-radius:16px;text-align:center}.guest-guide summary{cursor:pointer;font-size:18px;line-height:1.5;color:var(--ink,#253e58);font-weight:500}.guest-guide video{display:block;width:100%;max-width:350px;max-height:70vh;margin:16px auto;border-radius:12px;background:#dce6ee}.guest-guide p{font-size:15px;line-height:1.6}.guest-guide a{color:inherit}
