/* The weekend guide shares the invitation's chocolate, ivory paper and typefaces. */
.quick-details{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:26;color:var(--ivory-soft);font-size:11px;letter-spacing:.04em;padding:9px 0;border-bottom:1px solid #dcc9ad66;white-space:nowrap}.opening .quick-details,.film-active .quick-details,.opened .quick-details{display:none}.card-details-link{font-size:11px;color:var(--ink-soft);padding:14px 0 0;text-underline-offset:4px;text-decoration:underline}
.weekend-guide{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;border:0;background:var(--bg);color:var(--ivory);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.weekend-guide::backdrop{background:var(--bg)}.guide-header{position:relative;height:90px;max-width:1160px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.guide-header .brand{font-size:32px}.guide-header-date{font:italic 19px Cormorant,serif;color:var(--ivory-soft)}.guide-close{display:flex;align-items:center;gap:20px;font-size:10px;color:var(--ivory-soft)}.guide-close span{font:30px Cormorant,serif}.guide-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:35px;padding:18px 24px;background:#3a271ef5;backdrop-filter:blur(14px);border-top:1px solid #dcc9ad22;border-bottom:1px solid #dcc9ad44;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.guide-nav a{font:11px Manrope,sans-serif;text-decoration:none;color:var(--ivory-soft)}.guide-nav a:hover,.guide-nav .nav-rsvp{color:var(--ivory)}.guide-content{width:min(1040px,calc(100% - 64px));margin:0 auto 40px;background-color:var(--paper);background-image:linear-gradient(#f4edddd9,#f4edddd9),url('assets/ivory-paper.webp');background-size:auto,700px;color:var(--ink);box-shadow:0 30px 90px #170e0966}.guide-content section{scroll-margin-top:75px}.guide-hero{text-align:center;padding:84px 64px 0}.eyebrow,.small-label{font:500 9px/1.6 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 22px}.guide-hero h2{font:400 clamp(48px,5.8vw,76px)/1.06 'NT Valentino',serif;margin:0 0 26px}.guide-content h2 em{font-style:italic;color:#8c6b4e}.guide-lead{font:24px/1.5 Cormorant,serif;margin:0;color:#6a5340}.guide-date{font:30px Cormorant,serif;margin:32px 0 28px}.guide-date>span{display:block;font:italic 19px Cormorant,serif;margin-top:7px;color:var(--ink-soft)}.guide-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:24px 0}.guide-hero .guide-actions{justify-content:center}.paper-button{display:inline-flex;justify-content:center;align-items:center;padding:17px 24px;background:var(--ink);color:var(--ivory);font:500 11px/1.5 Manrope,sans-serif;letter-spacing:.04em;text-decoration:none;border:1px solid var(--ink);border-radius:1px;min-height:48px}.paper-button:hover{background:#5b3c29}.paper-button:disabled{opacity:.55;cursor:wait}.text-link{display:inline-block;font:500 11px/1.7 Manrope,sans-serif;color:var(--ink-soft);text-underline-offset:5px;text-decoration:underline;padding:8px 0}.calendar-strip{border-top:1px solid #3b2a2029;border-bottom:1px solid #3b2a2029;margin-top:44px;padding:20px 0;display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap}.calendar-strip>span{font:italic 19px Cormorant,serif}.calendar-strip a{font:10px/1.7 Manrope,sans-serif;text-underline-offset:4px}.guide-section{padding:66px 64px;border-bottom:1px solid #3b2a2024}.section-heading{max-width:670px}.section-heading h2,.contact-section h2{font:400 clamp(34px,4vw,49px)/1.14 'NT Valentino',serif;margin:0 0 20px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p:not(.eyebrow),.contact-section>p:not(.eyebrow){font:21px/1.5 Cormorant,serif;color:#6a5340;margin:0 0 20px}.weekend-days{display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:24px;margin-top:38px}.day-card{padding:25px 0 10px}.day-card.wedding-day{padding:25px 24px;border-left:1px solid #3b2a2033;border-right:1px solid #3b2a2033}.day-number{font:54px/1 'NT Valentino',serif;margin:0;color:#9b7a59}.day-number span{font:11px Manrope,sans-serif;margin-left:10px;letter-spacing:.08em}.day-card h3{font:31px 'NT Valentino',serif;margin:20px 0 6px}.day-subtitle{font:italic 18px/1.4 Cormorant,serif;color:var(--ink-soft);margin:0}.day-timeline{padding:0 0 0 13px;margin:28px 0;list-style:none;border-left:1px solid #ab8e6844}.day-timeline li{position:relative;margin:0 0 23px}.day-timeline li::before{position:absolute;content:'';width:5px;height:5px;border-radius:50%;background:#ab8e68;left:-16px;top:7px}.day-timeline span{font:19px/1.25 Cormorant,serif;display:block}.day-timeline small{font:10px/1.7 Manrope,sans-serif;display:block;color:var(--ink-soft);margin-top:6px}.day-note{font:italic 16px/1.5 Cormorant,serif;color:var(--ink-soft)}.place-section{display:grid;grid-template-columns:1.15fr 1fr;gap:64px}.place-notes{padding-top:40px}.place-notes h3,.stay-grid h3{font:27px 'NT Valentino',serif;margin:0 0 12px}.place-notes p,.stay-grid p{font:18px/1.5 Cormorant,serif;color:var(--ink-soft);margin:0 0 30px}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0 0}.stay-grid>div{border:1px solid #9b7a594d;padding:24px}.stay-grid .small-label{display:block;margin-bottom:14px}.stay-grid p{margin:0}.gentle-note{border-left:2px solid #ab8e68;padding:10px 0 10px 16px;font:italic 18px/1.45 Cormorant,serif;color:var(--ink-soft);margin:24px 0}.stay-facts,.contact-placeholders{display:grid;grid-template-columns:1fr 1fr;gap:32px}.stay-facts strong,.contact-placeholders strong{display:block;font:19px Cormorant,serif;margin-bottom:8px}.stay-facts span,.contact-placeholders span{font:11px/1.8 Manrope,sans-serif;color:var(--ink-soft)}.section-heading .deadline-note{font:italic 18px Cormorant,serif!important}.rsvp-empty{padding:24px 28px;border:1px solid #9b7a594d;margin-top:30px}.rsvp-empty p{font:19px/1.5 Cormorant,serif;color:var(--ink-soft);margin:0 0 12px}.household-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:30px 0 16px}.household-heading h3{font:30px 'NT Valentino',serif;margin:0}.placeholder-tag{font:9px/1.7 Manrope,sans-serif;letter-spacing:.04em;border:1px solid #9b7a5966;padding:5px 10px;color:var(--ink-soft)}.guide-content fieldset{border:0;border-top:1px solid #3b2a2033;padding:24px 0;margin:0}.guide-content legend{font:25px Cormorant,serif;padding:0 12px 0 0}.member-type{font:10px Manrope,sans-serif;letter-spacing:.04em;color:var(--ink-soft);margin-left:10px}.guide-content label{display:block;font:11px/1.7 Manrope,sans-serif;color:var(--ink);margin-bottom:18px}.guide-content input:not([type=checkbox]),.guide-content select,.guide-content textarea{display:block;width:100%;min-height:46px;margin-top:7px;padding:12px;border:1px solid #9b7a5977;background:#fffaf04d;color:var(--ink);font:14px/1.6 Cormorant,serif;border-radius:0;outline-offset:3px}.guide-content select{font:15px Cormorant,serif}.guide-content textarea{resize:vertical}.guide-content .check-label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0 0 14px}.check-label input{accent-color:var(--ink);width:17px;height:17px;margin:2px 0 0;flex-shrink:0}.field-help{font:italic 17px/1.5 Cormorant,serif;color:var(--ink-soft);margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.optional{font-weight:400;color:var(--ink-soft);font-size:9px;margin-left:5px}.attendance-details{margin-top:12px}.subfield-title{font:20px Cormorant,serif;margin:16px 0}.attendance-details .gentle-note{font-size:16px;margin:0 0 22px}.guest-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-error{padding:16px;border:1px solid #8d4735;background:#8d47350c;color:#71311e;font:13px/1.6 Manrope,sans-serif}.response-person{padding:18px 0;border-bottom:1px solid #3b2a2026}.response-person h4{font:25px Cormorant,serif;margin:0 0 8px}.response-person p,.response-contact p{font:17px/1.5 Cormorant,serif;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.response-contact{margin-top:25px}.response-person .small-label{font:10px Manrope,sans-serif}.rsvp-section #rsvp-review h3{font:34px 'NT Valentino',serif;margin:10px 0 20px}#rsvp-save-status{font:italic 19px Cormorant,serif}.faq-list{margin-top:30px}.faq-list details{border-top:1px solid #3b2a2033}.faq-list summary{cursor:pointer;font:23px/1.4 Cormorant,serif;padding:21px 28px 21px 0}.faq-list p{font:19px/1.5 Cormorant,serif;color:var(--ink-soft);margin:0 0 22px;max-width:660px}.contact-section{text-align:center}.contact-section .eyebrow{margin-bottom:16px}.contact-placeholders{text-align:left;margin-top:32px}.contact-placeholders p{border-top:1px solid #3b2a2033;padding-top:20px}.guide-footer{text-align:center;padding:42px 24px 50px}.guide-footer p{font:italic 22px Cormorant,serif;color:var(--ink-soft);margin:0 0 12px}.guide-footer>span{font:36px 'NT Valentino',serif}.guide-footer>span em{color:#9b7a59}.guide-footer a{display:block;font:10px Manrope,sans-serif;margin-top:26px;color:var(--ink-soft)}
@media(max-width:700px){.quick-details{bottom:24px;font-size:10px}.guide-header{height:74px;padding:0 22px}.guide-header-date{display:none}.guide-close{font-size:9px;gap:12px}.guide-nav{justify-content:flex-start;gap:23px;padding:16px 22px}.guide-nav a{font-size:10px}.guide-content{width:calc(100% - 24px);margin-bottom:12px}.guide-content section{scroll-margin-top:70px}.guide-hero{padding:48px 24px 0}.guide-hero h2{font-size:43px}.guide-lead{font-size:20px}.guide-lead br{display:none}.guide-date{font-size:27px;margin-top:24px}.guide-date>span{font-size:17px}.guide-actions{gap:15px;align-items:flex-start;flex-direction:column}.guide-hero .guide-actions{align-items:center}.paper-button{font-size:10px;padding:15px 19px}.calendar-strip{flex-direction:column;gap:13px;padding:22px 0;margin-top:30px}.guide-section{padding:42px 25px}.section-heading h2,.contact-section h2{font-size:35px}.section-heading>p:not(.eyebrow),.contact-section>p:not(.eyebrow){font-size:20px}.eyebrow{font-size:8px}.weekend-days{grid-template-columns:1fr;gap:0;margin-top:10px}.day-card,.day-card.wedding-day{padding:27px 0;border:0;border-bottom:1px solid #3b2a2029;display:grid;grid-template-columns:66px 1fr;column-gap:18px}.day-card:last-child{border-bottom:0}.day-number{font-size:43px;grid-row:1 / 5}.day-number span{display:block;margin:10px 0;font-size:10px}.day-card h3{font-size:28px;margin:0 0 6px}.day-subtitle{font-size:17px}.day-timeline{grid-column:2;margin:24px 0 0}.day-note{grid-column:2;margin-bottom:0}.place-section{display:block}.place-notes{padding-top:15px}.place-notes p:last-child{margin-bottom:0}.stay-grid,.stay-facts,.contact-placeholders,.form-grid,.guest-choices{grid-template-columns:1fr;gap:0}.stay-grid{gap:15px}.stay-grid>div{padding:22px}.stay-facts p{margin:10px 0}.household-heading h3{font-size:27px}.guide-content fieldset{padding:20px 0}.guide-content legend{font-size:24px}.rsvp-empty{padding:20px}.contact-placeholders{text-align:center}.guide-footer>span{font-size:31px}.guide-close span{font-size:28px}}
@media(prefers-reduced-motion:reduce){.weekend-guide{scroll-behavior:auto}}

.weekend-guide>.guide-header{position:sticky;top:0;z-index:7;background:var(--bg);max-width:none;padding-left:max(48px,calc((100% - 1064px)/2));padding-right:max(48px,calc((100% - 1064px)/2))}.weekend-guide .guide-nav{top:90px}.weekend-guide #rsvp-review{scroll-margin-top:165px}@media(max-width:700px){.weekend-guide>.guide-header{padding:0 22px}.weekend-guide .guide-nav{top:74px}.weekend-guide #rsvp-review{scroll-margin-top:145px}}

@media(max-width:700px){.guide-nav{justify-content:center;gap:28px}.guide-nav a[href="#weekend"],.guide-nav a[href="#practical"]{display:none}}

.guide-content input:not([type=checkbox]),.guide-content select,.guide-content textarea{font-size:16px}.guide-music{font:10px Manrope,sans-serif;color:var(--ivory-soft);padding:8px 0;border-bottom:1px solid #dcc9ad44}
/* Native URL-fragment scrolling must also leave room for both sticky bars. */
.guide-content section{scroll-margin-top:164px}
@media(max-width:700px){.guide-content section{scroll-margin-top:140px}}

.weekend-days.single-day{grid-template-columns:1fr}.weekend-days.single-day .wedding-day{border:0;padding-left:0}.weekend-days.two-days{grid-template-columns:1fr 1fr}@media(max-width:700px){.weekend-days.two-days{grid-template-columns:1fr}}

/* The guest invitation: only the essentials, with comfortable reading and touch targets. */
.quick-details{font-size:14px;min-height:44px;padding:12px 0}
.simple-invite{scroll-behavior:auto}
.simple-invite>.guide-header{height:72px;padding:0 max(24px,calc((100% - 740px)/2));gap:24px}
.simple-invite .guide-header .brand{margin-right:auto}
.simple-invite .guide-close,.simple-invite .guide-music{font:14px/1.5 Manrope,sans-serif;min-height:44px;gap:10px}
.simple-invite .guide-content{width:min(740px,calc(100% - 32px));margin:16px auto 32px;background-image:linear-gradient(#f4eddded,#f4eddded),url('assets/ivory-paper.webp');font:17px/1.65 Manrope,sans-serif}
.simple-invite .guide-content section{scroll-margin-top:88px}
.simple-invite .simple-hero{padding:38px 40px 30px;text-align:center}
.simple-invite .eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:14px}
.simple-invite #guide-title{font:400 56px/1.12 'NT Valentino',serif;margin:0 0 30px;text-wrap:balance}
.simple-facts{display:grid;grid-template-columns:1fr 1.15fr;text-align:left;gap:26px;margin:0}
.simple-facts dt{font:500 12px/1.5 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin:0 0 6px}
.simple-facts dd{font:600 19px/1.5 Manrope,sans-serif;margin:0}
.simple-facts dd span{display:block;font:400 16px/1.6 Manrope,sans-serif;margin-top:5px;color:#725a46}
.simple-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin-top:24px}
.simple-links a,.simple-invite .text-link{font:15px/1.6 Manrope,sans-serif;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;color:var(--ink);letter-spacing:0;text-transform:none}
.simple-invite .simple-rsvp{padding:32px 40px 10px;border-top:1px solid #8b71503d}
.simple-rsvp>h2{font:400 42px/1.2 'NT Valentino',serif;margin:0 0 10px}
.simple-invite .simple-lead,.simple-invite .simple-help{font:16px/1.65 Manrope,sans-serif;color:#705742;margin:0 0 24px}
.simple-invite .simple-help{margin:0 0 22px}
.simple-invite .guide-content .guest-card{min-width:0;border:1px solid #9b7a5959;padding:24px;background:#fffaf042;margin:28px 0 32px}
.simple-invite .guest-card>legend{font:400 30px/1.2 'NT Valentino',serif;padding:0 10px;max-width:100%;overflow-wrap:anywhere}
.simple-invite .guide-content .question{border:0;padding:0;margin:0 0 24px;min-width:0}
.simple-invite .question>legend,.simple-invite .contact-fields>legend{font:600 17px/1.5 Manrope,sans-serif;padding:0;margin:0 0 12px;max-width:100%}
.simple-invite .answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.simple-invite .guide-content .answer-option{font:400 16px/1.5 Manrope,sans-serif;display:flex;align-items:flex-start;gap:11px;border:1px solid #a78b6b77;padding:13px 14px;margin:0;min-height:54px;cursor:pointer;background:#fffaf03d;overflow-wrap:anywhere}
.simple-invite .answer-option:has(input:checked){border-color:#6d5036;background:#dbc5a434;box-shadow:inset 0 0 0 1px #6d503633}
.simple-invite .answer-option:has(input:focus-visible){outline:2px solid #715237;outline-offset:3px}
.simple-invite .answer-option input[type=radio],.simple-invite .answer-option input[type=checkbox]{display:inline-block;width:22px;height:22px;min-height:22px;flex-shrink:0;margin:1px 0 0;padding:0;accent-color:#57402d;appearance:auto}
.simple-invite .answer-option span{min-width:0}
.simple-invite .attendance-details{margin-top:0}
.simple-invite .allergy-question>.answer-option{border:0;padding:8px 0;background:none;box-shadow:none}
.simple-invite .allergy-details{padding-top:14px}
.simple-invite .guide-content label{font:400 16px/1.6 Manrope,sans-serif;margin-bottom:10px}
.simple-invite .guide-content textarea,.simple-invite .guide-content input[type=text]{font:400 17px/1.6 Manrope,sans-serif;background:#fffaf07d;border:1px solid #a78b6ba6;min-height:54px;padding:12px 14px;margin-top:7px}
.simple-invite .guide-content .contact-fields{border:0;padding:0;margin:0 0 28px}
.simple-invite .paper-button{font:500 16px/1.5 Manrope,sans-serif;min-height:54px;padding:15px 24px;letter-spacing:0;text-transform:none}
.simple-invite .preview-note{display:block;font:15px/1.6 Manrope,sans-serif;background:#dbc5a44d;padding:12px 16px;margin:20px 0}
.simple-invite .household-heading{margin:0}
.simple-invite .rsvp-empty{padding:20px;margin:24px 0;font:17px/1.6 Manrope,sans-serif}
.simple-invite .form-error{font:16px/1.6 Manrope,sans-serif;margin:22px 0}
.simple-invite #rsvp-loading{font:17px/1.6 Manrope,sans-serif;margin:26px 0}
.simple-invite #rsvp-review{scroll-margin-top:90px;outline:none}
.simple-invite #rsvp-review h3{font:400 36px/1.2 'NT Valentino',serif;margin:8px 0 24px}
.simple-invite #review-label{font-size:11px;margin-top:30px}
.simple-invite .response-person{padding:22px 0}
.simple-invite .response-person h4{font:400 28px/1.3 'NT Valentino',serif;margin:0 0 12px}
.simple-invite .response-person p,.simple-invite .response-contact p{font:16px/1.7 Manrope,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.simple-invite .response-contact{margin-bottom:24px}
.simple-invite .guide-actions{align-items:center;gap:12px 22px}
.simple-invite #rsvp-save-status{font:16px/1.6 Manrope,sans-serif}
.simple-footer{padding:24px 24px 30px;text-align:center;color:var(--ink-soft)}
.simple-footer p{font:italic 22px/1.4 Cormorant,serif;margin:0}
.simple-footer a{display:inline-block;font:14px/1.7 Manrope,sans-serif;margin-top:16px;text-underline-offset:4px}
@media(max-width:600px){.simple-invite>.guide-header{height:66px;padding:0 20px;gap:18px}.simple-invite .guide-close,.simple-invite .guide-music{font-size:13px}.simple-invite .guide-content{width:calc(100% - 24px);margin:6px auto 12px}.simple-invite .simple-hero{padding:30px 22px 24px}.simple-invite #guide-title{font-size:40px;margin-bottom:26px}.simple-facts{grid-template-columns:1fr;gap:22px}.simple-facts dd{font-size:19px}.simple-facts dd span{font-size:16px}.simple-links{gap:2px 22px;justify-content:flex-start;margin-top:18px}.simple-invite .simple-rsvp{padding:28px 20px 6px}.simple-rsvp>h2{font-size:36px}.simple-invite .guest-card>legend{font-size:28px}.simple-invite .guide-content .guest-card{padding:20px 14px;margin:26px 0}.simple-invite .answer-option{padding:12px 10px}.simple-invite .answer-options{gap:9px}.simple-invite .question>legend{font-size:16px}.simple-invite .guide-actions{align-items:stretch}.simple-invite .paper-button{width:100%}.simple-invite .guide-content textarea,.simple-invite .guide-content input[type=text]{font-size:16px}.simple-invite #rsvp-review h3{font-size:32px}.simple-invite .simple-lead{font-size:16px}.simple-invite .simple-footer{padding-top:22px}.quick-details{font-size:12px}}
@media(max-width:360px){.simple-invite .answer-options{grid-template-columns:1fr}.simple-invite #guide-title{font-size:35px}.simple-invite .simple-rsvp{padding-left:16px;padding-right:16px}}
/* The final card keeps its stationery titles, with easier-to-read essential facts. */
.invitation .card-facts dt{font:500 11px/1.5 Manrope,sans-serif;letter-spacing:.1em;color:#705742}
.invitation .card-facts dd{font:500 17px/1.55 Manrope,sans-serif;color:var(--ink)}
.invitation .details-button{font:500 16px/1.5 Manrope,sans-serif;min-height:52px;padding:14px 24px;letter-spacing:0;text-transform:none}

@media(max-width:600px){.simple-invite .question[data-question=stay] .answer-options{grid-template-columns:1fr}}

.invitation .card-kicker{font-size:26px;line-height:1.35}
.invitation .details-button{align-self:center;flex-shrink:0;margin:24px auto 0}
.simple-invite .guide-content .standalone-stay{min-width:0;border:1px solid #9b7a5959;padding:24px;background:#fffaf042;margin:28px 0 32px}
.simple-invite .standalone-stay>legend{font:400 30px/1.2 'NT Valentino',serif;padding:0 10px}
.simple-invite .standalone-stay .question{margin-bottom:0}
@media(max-width:600px){.invitation .card-kicker{font-size:24px}.simple-invite .guide-content .standalone-stay{padding:20px 14px}.simple-invite .standalone-stay>legend{font-size:28px}}
