:root{--wine:#77545a;--paper:#fff;--ink:#35332f;--muted:#6d716f;--line:#e4e2dc;--gold:#947d51;--green:#fff;--serif:'Cormorant',Georgia,serif;--sans:'Ysabeau',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:0}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #80604c;background:var(--wine);color:var(--paper);position:relative;z-index:20}.monogram{font:36px var(--serif);letter-spacing:-3px}.monogram span{font-style:italic;font-size:24px;margin:0 3px;color:#ccb793}nav{display:flex;gap:38px;align-items:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase}nav a{transition:color .2s}nav a:hover{color:#d9c49d}.nav-rsvp{border-bottom:1px solid #b7a17a;padding:8px 0}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:500;line-height:1.9}.hero{background:var(--wine);color:var(--paper);text-align:center;padding:46px 7% 35px;overflow:hidden}.hero-title .eyebrow{color:#d9c49d;margin:0 0 15px}.hero h1{font:400 clamp(80px,9.7vw,158px)/1.03 var(--serif);letter-spacing:-.038em;margin:0}.hero h1 em{font-size:.7em;color:#c9af88;margin:0 .08em;font-weight:400}.hero-subtitle{font:italic 23px var(--serif);margin:13px 0 38px;color:#e0d4c3}.hero-triptych{max-width:1130px;margin:auto;display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:35px;align-items:center}.hero-center{padding:8px;border:1px solid #9f8155}.hero-center img{height:445px;width:100%;object-fit:cover;object-position:center 50%}.hero-wing{padding-top:12px}.hero-wing img{height:290px;width:100%;object-fit:cover}.hero-wing figcaption{font:italic 19px var(--serif);color:#d5c5ae;margin-top:18px}.hero-meta{display:flex;justify-content:center;align-items:center;gap:35px;margin:37px 0 17px;font-size:11px;letter-spacing:.16em}.tiny-diamond{color:#bea374;font-size:18px}.hero-invite{display:inline-block;color:#d9c49d;font-size:11px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid #9a7c57;padding-bottom:5px}.section{padding:115px 8%;scroll-margin-top:25px}.invitation{text-align:center;max-width:1360px;margin:auto;padding-top:120px;padding-bottom:120px}.invitation>.eyebrow{color:#8d744a}.invitation:before{content:'K & P';display:block;font:italic 22px var(--serif);margin-bottom:27px;color:#856d49}h2{font:400 clamp(48px,5.1vw,78px)/1.08 var(--serif);letter-spacing:-.025em;margin:22px 0 32px}h2 em{font-weight:400}h3{font:400 33px/1.2 var(--serif);margin:16px 0 12px}.intro{max-width:600px;margin:auto;color:var(--muted);font-size:15px;line-height:1.95}.invitation-grid{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;max-width:970px;margin:52px auto 30px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.invitation-grid p{font-size:14px}.invitation-divider{font:italic 58px var(--serif);color:var(--gold)}.text-link{border:0;border-bottom:1px solid var(--gold);padding:7px 0;background:none;font-size:13px;display:inline-block;white-space:normal;letter-spacing:.02em}.quiet{font-size:13px;color:var(--muted)}.story{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:90px;padding-bottom:90px}.story-photo{position:relative;padding:9px;border:1px solid #8c8d71}.story-photo img{width:100%;height:650px;object-fit:cover}.story-photo span{display:block;text-align:center;margin:14px 0 7px;font:italic 20px var(--serif);color:#e2d6bd}.story-copy>p{color:#d9d8c9;font-size:15px}.story .eyebrow{color:#c5b28b}.chapter-tabs{display:flex;margin:35px 0 25px;border-bottom:1px solid #727c68}.chapter-tabs button{background:none;border:0;color:#c5c8b8;padding:12px 6px;font-size:12px;flex:1;border-bottom:1px solid transparent}.chapter-tabs button[aria-selected=true]{color:#fff9ec;border-bottom-color:#e1c89c}.chapter-panel{min-height:235px}.chapter-panel p{font-size:15px;color:#dedecf}.chapter-panel h3{font-size:30px}.countdown{text-align:center;padding:65px 20px;border-bottom:1px solid var(--line)}.countdown .eyebrow{color:#8d744a}.countdown-line{display:flex;align-items:center;justify-content:center;gap:22px}.countdown-number{font:88px/1.15 var(--serif)}.countdown-line span:not(.countdown-number){font:italic 29px var(--serif)}.moments{overflow:hidden}.section-heading{text-align:center;margin-bottom:55px}.section-heading .eyebrow{color:#8d744a}.section-heading p{font-size:14px;color:var(--muted);margin:0 auto}.section-heading h2{margin-bottom:25px}.photo-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:35px;align-items:start}.photo-button{border:0;padding:0;background:none;text-align:center}.photo-button img{height:460px;width:100%;object-fit:cover;transition:opacity .3s}.photo-button:nth-child(2){margin-top:75px}.photo-button:nth-child(2) img{height:490px}.photo-button span{display:block;font:italic 22px var(--serif);margin:20px 0 0}.photo-button:hover img{opacity:.86}.details{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;padding-top:90px;padding-bottom:85px}.details-intro .eyebrow{color:#8d744a}.details-intro p{color:var(--muted);max-width:320px;font-size:15px}.details details{border-bottom:1px solid var(--line);padding:23px 0}.details details:first-child{padding-top:0}.details summary{font:26px var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.details summary::-webkit-details-marker{display:none}.details summary:after{content:'+';font:20px var(--sans);color:#927750}.details details[open] summary:after{content:'−'}.details details p{font-size:14px;color:var(--muted);margin:20px 0 5px}.registry{display:flex;align-items:center;justify-content:space-between;gap:50px;border-top:1px solid var(--line);padding-top:55px;padding-bottom:70px}.registry p{max-width:580px;color:var(--muted);font-size:14px}.rsvp{margin:15px 8% 100px;border:1px solid #bba680;padding:80px 30px;text-align:center;outline:1px solid #d9cbb2;outline-offset:-9px}.rsvp .eyebrow{color:#8d744a}.rsvp h2{margin:20px 0 30px}.rsvp p:not(.eyebrow){max-width:540px;margin:0 auto 25px;color:var(--muted);font-size:15px}footer{text-align:center;background:var(--wine);color:var(--paper);padding:65px 25px 35px}footer>.eyebrow{color:#c9b18d}.footer-monogram{font:57px var(--serif);letter-spacing:-6px;margin:25px auto;width:95px;height:95px;border:1px solid #a68a60;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-right:5px}.footer-monogram span{font-style:italic;font-size:35px;color:#b99e74}footer p{font-size:12px;letter-spacing:.08em}.footer-names{font:clamp(40px,6vw,80px) var(--serif);letter-spacing:-.02em;margin:12px 0}footer a{font-size:11px;display:inline-block;margin-top:30px;border-bottom:1px solid #876c57;color:#d3c0a3}dialog{background:var(--wine);border:1px solid #bba680;color:white;padding:22px;max-width:92vw;max-height:94dvh}dialog::backdrop{background:#18080eed}dialog img{max-height:75dvh;max-width:80vw;margin:auto}dialog button{display:block;margin:0 0 15px auto;border:0;background:none;color:white;font-size:14px}dialog p{text-align:center;font:italic 22px var(--serif);margin:15px 0 0}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .9s,transform .9s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:1000px){nav{gap:22px;font-size:11px}.hero{padding-left:5%;padding-right:5%}.hero-triptych{gap:20px}.hero-center img{height:410px}.hero-wing img{height:265px}.story{gap:7%;padding-left:6%;padding-right:6%}.story-photo img{height:600px}.photo-grid{gap:20px}.photo-button img{height:360px}.photo-button:nth-child(2) img{height:390px}.details{gap:7%}}@media(max-width:700px){header{height:76px;padding:0 7%}.monogram{font-size:32px}.menu-toggle{display:block;background:none;border:0;border-bottom:1px solid #ab926c;font-size:12px;letter-spacing:.08em;padding:4px 0}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--wine);padding:28px 8%;border-bottom:1px solid #967b52;flex-direction:column;align-items:stretch;gap:20px;font-size:13px}nav.open{display:flex}.nav-rsvp{text-align:center;border:1px solid #967b52;padding:9px}.hero{padding:35px 6% 28px}.hero-title .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:16px}.hero h1{font-size:clamp(62px,12vw,87px);letter-spacing:-.04em;white-space:nowrap}.hero h1 em{margin:0 .02em}.hero-subtitle{font-size:19px;max-width:270px;margin:15px auto 30px}.hero-triptych{display:grid;grid-template-columns:1fr;max-width:365px}.hero-wing{display:none}.hero-center{padding:7px}.hero-center img{height:465px;object-position:center 50%}.hero-meta{flex-direction:column;gap:9px;margin:25px 0 20px;font-size:10px;letter-spacing:.14em}.tiny-diamond{display:none}.hero-invite{font-size:10px}.section{padding:75px 7%}.invitation{padding-top:80px;padding-bottom:75px}h2{font-size:51px}.invitation-grid{grid-template-columns:1fr;margin:35px 0 25px;gap:23px;padding:30px 0}.invitation-divider{font-size:40px}.invitation-grid h3{font-size:30px}.invitation-grid p{font-size:13px}.story{display:flex;flex-direction:column-reverse;gap:32px}.story-photo{width:100%}.story-photo img{height:510px}.story-copy{width:100%}.chapter-panel{min-height:240px}.chapter-tabs button{font-size:12px}.countdown{padding:45px 20px}.countdown-line{gap:12px}.countdown-line span:not(.countdown-number){font-size:23px}.countdown-number{font-size:66px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:49px}.photo-grid{grid-template-columns:1fr 1fr;gap:24px 15px}.photo-button img{height:270px}.photo-button:nth-child(2){margin-top:55px}.photo-button:nth-child(2) img{height:270px}.photo-button:nth-child(3){grid-column:1/-1;width:77%;justify-self:center}.photo-button:nth-child(3) img{height:365px}.photo-button span{font-size:18px;margin-top:12px}.details{display:block}.details-intro{margin-bottom:40px}.details summary{font-size:25px}.registry{display:block;padding-top:40px;padding-bottom:50px}.registry h3{font-size:33px}.rsvp{margin:10px 6% 65px;padding:55px 25px}.rsvp h2{font-size:48px}.rsvp .eyebrow{font-size:10px}.footer-names{font-size:50px}footer{padding-top:45px}}@media(max-width:380px){.hero h1{font-size:16vw}.hero-center img{height:415px}.hero-subtitle{font-size:18px}.photo-button img,.photo-button:nth-child(2) img{height:220px}.countdown-line{gap:9px}.countdown-line span:not(.countdown-number){font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Readable guest information and controls. */
nav{font-size:14px;letter-spacing:.04em}.text-link{font-size:14px}.hero-meta{font-size:14px;letter-spacing:.1em}.intro,.story-copy>p,.chapter-panel p,.details-intro p,.details details p,.registry p,.rsvp p:not(.eyebrow){font-size:16px}.chapter-tabs button{font-size:14px}.hero-invite{font-size:12px}@media(max-width:1000px){nav{gap:21px;font-size:12px}}@media(max-width:700px){nav{font-size:14px}.hero-meta{font-size:12px}.chapter-tabs button{font-size:13px}.menu-toggle{font-size:14px}}

/* White editorial composition, rooted in the original wedding site. */
header{height:88px;background:white;color:var(--ink);border:0;padding:0 5%}.monogram{font:500 14px var(--sans);letter-spacing:.19em;text-transform:uppercase}nav{gap:30px;font-size:13px;letter-spacing:.09em}nav a:hover{color:var(--wine)}.nav-rsvp{border:1px solid #a99a88;padding:9px 25px;border-radius:0}.hero{position:relative;margin:0 26px;background:#363b32;padding:0;height:690px;min-height:580px;display:flex;align-items:center;justify-content:center;color:#fff}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#19231b28,#17201949 50%,#18231928);pointer-events:none}.hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero-title{position:relative;z-index:1;text-shadow:0 2px 30px #1c241a55}.hero-title .eyebrow{font-size:14px;letter-spacing:.28em;color:white;margin:0 0 25px}.hero h1{font:400 clamp(80px,8.4vw,128px)/.9 var(--serif);letter-spacing:.02em;margin:0}.hero h1 span{display:block;text-transform:uppercase}.hero h1 em{display:block;font:54px/.9 'Pinyon Script',cursive;text-transform:none;color:white;margin:15px 0 19px}.hero-subtitle{font:500 14px var(--sans);letter-spacing:.19em;text-transform:uppercase;color:#fff;margin:36px 0 0;max-width:none}.hero-subtitle span{padding:0 13px}.hero-invite{position:absolute;bottom:28px;z-index:1;font-size:12px;letter-spacing:.2em;color:white;border-bottom:1px solid #ffffff80;padding-bottom:5px}.invitation{padding-top:110px;padding-bottom:100px;max-width:1200px}.invitation:before{display:none}.invitation>.eyebrow{color:var(--gold)}h2{font-weight:400}.intro{max-width:610px;line-height:1.85}.signature{font:38px 'Pinyon Script',cursive;color:var(--wine);margin:28px 0 0}.invitation-grid{grid-template-columns:1fr 1px 1fr;gap:45px;max-width:950px;padding:45px 0;margin-top:65px}.invitation-divider{height:160px;background:var(--line)}.calendar-date{display:flex;flex-direction:column;align-items:center;margin:15px 0 12px}.calendar-date>span{font-size:13px;text-transform:uppercase;letter-spacing:.15em}.calendar-date strong{font:80px/.95 var(--serif);color:var(--ink);font-weight:400;margin:8px 0 12px}.invitation-grid h3{font-size:36px}.invitation-grid .eyebrow{color:var(--gold)}.story{background:#fff;color:var(--ink);border-top:1px solid var(--line);gap:12%;padding-top:100px;padding-bottom:95px}.story-photo{border:0;padding:0}.story-photo img{height:650px}.story-photo span{color:var(--muted);font:italic 20px var(--serif);text-align:left;margin:15px 0 0}.story-copy>p,.chapter-panel p{color:var(--muted)}.story .eyebrow{color:var(--gold)}.chapter-tabs{border-bottom:1px solid var(--line)}.chapter-tabs button{color:var(--muted);font-size:14px}.chapter-tabs button[aria-selected=true]{color:var(--wine);border-bottom:1px solid var(--wine)}.countdown{margin:0 8%;border-top:1px solid var(--line);padding:45px 20px;background:#fff}.countdown .eyebrow{font:italic 30px var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:14px}.countdown-line{gap:25px}.countdown-number{color:var(--wine);font-size:75px}.countdown-line span:not(.countdown-number){font:16px var(--sans);color:var(--muted)}.section-heading{text-align:left;display:flex;justify-content:space-between;align-items:end;gap:45px}.section-heading>p{max-width:270px;margin:0 0 8px;font-size:15px}.section-heading h2{margin-bottom:0}.photo-grid{gap:30px}.photo-button:nth-child(2){margin-top:50px}.photo-button:nth-child(2) img{height:430px}.photo-button img{height:420px}.photo-button span{font-size:21px;color:var(--muted)}.details{padding-top:85px;padding-bottom:75px}.details summary{font-size:27px}.details details p{line-height:1.8}.rsvp{border:0;outline:0;border-top:1px solid var(--line);padding:75px 25px 0;margin-bottom:90px}.rsvp h2{font-size:65px}.registry .eyebrow{color:var(--gold)}footer{background:#fff;border-top:1px solid var(--line);color:var(--ink);padding:50px 25px 35px}footer>.eyebrow{color:var(--muted);font-size:12px}.footer-monogram{border:0;border-radius:0;width:auto;height:auto;font:32px var(--serif);letter-spacing:.04em;color:var(--gold);margin:20px 0 10px}.footer-names{font-size:58px}footer p{color:var(--muted)}footer a{color:var(--muted);border-bottom-color:var(--line)}dialog{background:#fff;color:var(--ink);border:0}dialog button{color:var(--ink)}dialog::backdrop{background:#1a211cdf}.menu-toggle{border-bottom-color:var(--gold)}
@media(min-width:1500px){.hero{height:760px}.hero h1{font-size:140px}}
@media(max-width:1000px){nav{gap:18px;font-size:12px}.hero{height:640px}.hero-subtitle{font-size:12px;letter-spacing:.14em}.story{gap:7%}.section-heading{gap:25px}.photo-button img{height:350px}.photo-button:nth-child(2) img{height:370px}}
@media(max-width:700px){header{height:76px;padding:0 7%}.monogram{font-size:12px;letter-spacing:.16em}.menu-toggle{font-size:14px;color:var(--ink)}nav{background:white;border-bottom:1px solid var(--line);font-size:14px;gap:20px}.nav-rsvp{border:1px solid var(--gold)}.hero{margin:0 12px;height:650px;min-height:0;padding:0}.hero-cover{object-position:50% 42%}.hero:after{background:#17201940}.hero-title .eyebrow{font-size:12px;letter-spacing:.24em;margin-bottom:23px}.hero h1{font-size:85px;white-space:normal}.hero h1 em{font-size:45px;margin:14px 0 18px}.hero-subtitle{font-size:11px;letter-spacing:.1em;max-width:285px;line-height:2.1;margin:27px auto 0}.hero-subtitle span{padding:0 5px}.hero-invite{font-size:11px;bottom:22px}.section{padding:75px 7%}.invitation{padding-top:75px}.invitation h2{font-size:46px}.invitation-grid{grid-template-columns:1fr;gap:28px;margin-top:40px;padding:30px 0}.invitation-divider{width:50px;height:1px;margin:auto}.calendar-date strong{font-size:70px}.invitation-grid h3{font-size:31px}.story{padding-top:65px;gap:32px}.story-photo img{height:480px}.chapter-panel{min-height:230px}.chapter-tabs button{font-size:14px}.countdown{padding:35px 10px;margin:0 7%}.countdown-line{gap:20px}.countdown-number{font-size:68px}.section-heading{display:block}.section-heading>p{max-width:300px;margin:22px 0 0}.section-heading h2{font-size:48px}.photo-grid{gap:24px 16px}.photo-button img,.photo-button:nth-child(2) img{height:250px}.photo-button:nth-child(2){margin-top:40px}.photo-button:nth-child(3) img{height:345px}.photo-button span{font-size:19px}.details{padding-top:65px}.rsvp{padding:55px 15px 0;margin-bottom:65px}.rsvp h2{font-size:48px}.footer-names{font-size:48px}.footer-monogram{font-size:29px}}
@media(max-width:380px){.hero{height:590px}.hero h1{font-size:75px}.hero-subtitle{max-width:250px;font-size:10px}.photo-button img,.photo-button:nth-child(2) img{height:220px}}

/* Live wedding-day countdown. */
.countdown{padding:65px 20px 55px}.countdown h2{font:italic 400 clamp(32px,3.5vw,48px)/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 36px}.countdown-clock{max-width:710px;margin:0 auto;display:grid;grid-template-columns:1.25fr auto 1fr auto 1fr auto 1fr;gap:20px;align-items:start}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:0}.countdown-value{font:400 clamp(54px,6.5vw,86px)/1.1 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:var(--wine);letter-spacing:-.025em}.countdown-label{font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:13px}.countdown-colon{font:300 40px/1.8 var(--serif);color:#c8bfb9}#countdown-note{font-size:14px;color:var(--muted);margin:35px 0 0;letter-spacing:.04em}.countdown-footnote{font-size:13px;color:var(--muted);margin:9px 0 0}#countdown-arrived{font:italic 40px var(--serif);color:var(--wine);margin:25px 0}.countdown [hidden]{display:none!important}@media(max-width:700px){.countdown{padding:45px 0 40px}.countdown h2{font-size:34px;margin-bottom:28px}.countdown-clock{gap:7px}.countdown-value{font-size:clamp(40px,11vw,65px)}.countdown-colon{font-size:24px;line-height:1.85}.countdown-label{font-size:12px;letter-spacing:.05em;margin-top:9px}#countdown-note{font-size:13px;margin-top:28px}.countdown-footnote{font-size:12px;max-width:280px;margin:9px auto 0}}

.attire-colors{margin-top:25px}.details .attire-label{font-size:14px;color:var(--ink);margin:0 0 18px}.color-swatches{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:24px 32px}.color-swatches li{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:76px;font-size:14px;color:var(--muted)}.color-circle{width:46px;height:46px;border-radius:50%;display:block;border:1px solid #00000012}.swatch-burgundy{background:#641e32}.swatch-maroon{background:#390e16}.swatch-white{background:#fff;border-color:#d9d6cf}.details .attire-note{font-size:14px;margin-top:22px;max-width:430px}@media(max-width:380px){.color-swatches{gap:18px}.color-swatches li{min-width:70px}}

.swatch-olive{background:#586044}

.schedule{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;border-top:1px solid var(--line)}.schedule-intro .eyebrow{color:var(--gold)}.schedule-intro>p:last-child{color:var(--muted);font-size:16px}.schedule-list{list-style:none;padding:0;margin:0}.schedule-list li{display:grid;grid-template-columns:155px 1fr;gap:26px;border-bottom:1px solid var(--line);padding:22px 0}.schedule-list li:first-child{padding-top:0}.schedule-time{color:var(--wine);font-size:16px;padding-top:4px;white-space:nowrap}.schedule-list h3{font-size:30px;margin:0;font-weight:400}.schedule-list p{font-size:14px;color:var(--muted);margin:5px 0 0}@media(max-width:1000px){header nav{gap:16px}.schedule{gap:7%}.schedule-list li{grid-template-columns:135px 1fr;gap:18px}}@media(max-width:700px){.schedule{display:block}.schedule-intro{margin-bottom:38px}.schedule-list li{grid-template-columns:115px 1fr;gap:18px;padding:19px 0}.schedule-time{font-size:14px}.schedule-list h3{font-size:26px}}
.rsvp-form{max-width:760px;margin:40px auto 0;text-align:left;border:1px solid var(--line);padding:32px}.rsvp-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0 0 32px;gap:12px;font-size:14px;color:var(--muted)}.rsvp-progress li{padding-bottom:12px;border-bottom:1px solid var(--line)}.rsvp-progress [aria-current]{color:var(--wine);border-color:var(--wine)}.rsvp-form fieldset{margin:0;padding:0;border:0;min-width:0}.rsvp-form legend{font:36px var(--serif);padding:0;margin-bottom:25px}.rsvp-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rsvp-fields .full{grid-column:1/-1}.rsvp-form label{display:flex;flex-direction:column;gap:7px;font-size:16px}.rsvp-form label>span{font-size:14px;color:var(--muted)}.rsvp-form input:not([type=radio]),.rsvp-form textarea,.rsvp-form select{width:100%;min-width:0;font:16px var(--sans);color:var(--ink);background:white;border:1px solid #c9c6be;padding:12px;border-radius:0}.rsvp-form textarea{resize:vertical}.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-form select:focus{outline:2px solid var(--gold);outline-offset:2px}.rsvp .form-help{font-size:14px;line-height:1.6;margin:16px 0 22px;max-width:none;color:var(--muted)}.attendance-choices{display:grid;gap:12px}.attendance-choices label{flex-direction:row;align-items:center;border:1px solid var(--line);padding:15px;gap:12px}.attendance-choices input{accent-color:var(--wine);width:18px;height:18px}.guest-row{display:grid;grid-template-columns:1fr 100px 64px;gap:12px;align-items:end;margin-bottom:20px}.remove-guest{border:0;background:none;font-size:13px;padding:12px 0;color:var(--muted);text-decoration:underline}.rsvp-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.rsvp-primary,.rsvp-secondary{padding:12px 27px;border:1px solid var(--wine);font-size:16px}.rsvp-primary{background:var(--wine);color:white}.rsvp-secondary{background:white}.rsvp-primary:disabled{opacity:.6;cursor:wait}.rsvp [hidden]{display:none!important}.rsvp-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rsvp #rsvp-error{color:#8d2239;margin:20px 0;font-size:16px}#rsvp-review{margin:0}#rsvp-review dt{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:22px 0 5px}#rsvp-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}#rsvp-success{max-width:650px;margin:40px auto;padding:35px;border:1px solid var(--line)}@media(max-width:700px){.rsvp-form{padding:22px 16px}.rsvp-fields{grid-template-columns:1fr}.rsvp-progress{gap:8px;font-size:12px}.rsvp-form legend{font-size:30px}.guest-row{grid-template-columns:1fr 90px;gap:10px}.remove-guest{grid-column:1/-1;justify-self:end;padding:0}.rsvp-primary,.rsvp-secondary{padding:12px 20px}.rsvp{margin-left:4%;margin-right:4%}}

.rsvp-progress{grid-template-columns:repeat(2,1fr)}
/* Full engagement album: original proportions, quiet spacing, on-demand large views. */
.engagement-album{columns:3;column-gap:20px}.album-photo{display:block;width:100%;padding:0;margin:0 0 20px;border:0;background:#f6f4f1;break-inside:avoid;cursor:zoom-in;overflow:hidden}.album-photo img{display:block;width:100%;height:auto;transition:transform .35s ease}.album-photo:hover img{transform:scale(1.025)}.album-photo:focus-visible{outline:2px solid var(--wine);outline-offset:4px}.album-end{text-align:center;font:italic 32px var(--serif);margin:40px 0 0;color:var(--muted)}
#photo-dialog{width:min(1100px,96vw);max-width:96vw;height:auto;max-height:95dvh;padding:48px 20px 12px;border:0;background:#fff;color:var(--ink);overflow:auto}#photo-dialog::backdrop{background:rgba(26,25,23,.85)}#photo-dialog>img{display:block;width:100%;height:calc(85dvh - 100px);max-height:none;object-fit:contain;margin:0 auto}#close-photo{position:absolute;right:20px;top:14px;background:white;color:var(--ink);border:0;font:16px var(--sans);cursor:pointer}.album-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.album-controls button{border:0;background:transparent;color:var(--ink);font:16px var(--sans);padding:12px;cursor:pointer}#photo-caption{margin:0;font:14px var(--sans);color:var(--muted)}
@media(max-width:700px){.engagement-album{columns:2;column-gap:10px}.album-photo{margin-bottom:10px}#photo-dialog{padding-left:8px;padding-right:8px}.album-controls button{padding:12px 6px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.album-photo img{transition:none}.album-photo:hover img{transform:none}}
/* Compact album preview; all photographs remain available in the viewer. */
.engagement-album{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.album-photo{margin:0;aspect-ratio:4/5}.album-photo[hidden]{display:none}.album-photo img{width:100%;height:100%;object-fit:cover}.album-invitation{text-align:center;margin-top:30px}.album-invitation .album-end{font-size:26px;margin-top:18px}@media(max-width:700px){.engagement-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:700px){.engagement-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
/* Balance the wedding details and remove adjacent section rules. */
.invitation{padding-bottom:48px}.invitation-grid{margin-bottom:24px}.invitation .quiet{font-size:20px;line-height:1.65;color:var(--ink);margin:24px auto 0;max-width:720px}.invitation .quiet .text-link{display:table;margin:10px auto 0;font-size:18px;padding:4px 0}.invitation-grid p{font-size:18px}.invitation-grid .text-link{font-size:18px}.countdown{padding-top:45px;padding-bottom:42px;border-bottom:0}.countdown+.rsvp{margin-top:0;padding-top:48px}#countdown-note{font-size:17px}.countdown-footnote{font-size:16px}.section-heading>p{font-size:18px}
@media(max-width:700px){.invitation{padding-bottom:32px}.invitation .quiet{font-size:18px}.invitation .quiet .text-link,.invitation-grid .text-link{font-size:17px}.invitation-grid p{font-size:17px}.countdown{padding-top:34px;padding-bottom:34px}.countdown+.rsvp{padding-top:36px}#countdown-note{font-size:16px}.countdown-footnote{font-size:15px}}
