/* The schedule and locations use their own classes so older animation styles cannot hide them. */
.forest-info .schedule-page,.forest-info .locations-page{position:relative;isolation:isolate;display:flex;min-height:100svh;overflow:hidden;color:var(--butter);background:#19230f;border-bottom:1px solid #fff0a52a;scroll-margin-top:0}
.schedule-background,.locations-background{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.schedule-background{display:block;object-fit:cover;object-position:70% center}
.schedule-page::after,.locations-page::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}
.schedule-page::after{background:linear-gradient(90deg,#0a190dec 0%,#0a190da8 40%,#0a190d0a 78%)}
.schedule-content{position:relative;z-index:2;align-self:center;width:min(52%,660px);padding:120px 0 90px;margin-left:7%}
.forest-info .schedule-content h2{font:clamp(72px,8vw,128px)/.95 'Instrument Serif',Georgia,serif;letter-spacing:-.04em;margin:0 0 8px}
.schedule-content h2 em{font-family:'Pinyon Script',serif;font-style:normal;font-size:1.1em}
.schedule-date{font:clamp(52px,5vw,76px)/1 'Instrument Serif',Georgia,serif;letter-spacing:-.04em;margin:0 0 36px}
.day-timeline{list-style:none;margin:0;padding:0 0 0 24px;border-left:1px solid #fff0a5a0;width:fit-content}
.day-timeline li{position:relative;display:flex;gap:24px;margin:0;padding:5px 0;font:clamp(22px,2.1vw,30px)/1.3 'DM Sans',Arial,sans-serif}
.day-timeline li::before{content:'';position:absolute;left:-29px;top:calc(50% - 4px);width:9px;height:9px;border-radius:50%;background:var(--butter)}
.day-timeline time{font-variant-numeric:tabular-nums;min-width:58px;flex-shrink:0}
.section-forward{display:inline-flex;align-items:center;gap:28px;margin-top:40px;padding:12px 0;border-bottom:1px solid #fff0a580;font:16px 'Instrument Serif',serif}
.locations-page{align-items:center;justify-content:center}
.locations-background{overflow:hidden;background:#34401b}
.locations-background img{position:absolute;display:block;width:733.334%;height:267.33%;max-width:none;left:-146.492%;top:-148.296%;object-fit:fill;opacity:.85}
.locations-page::after{background:radial-gradient(ellipse at center,#14210ede 15%,#14210e93 62%,#14210e25)}
.locations-content{position:relative;z-index:2;width:min(100%,1100px);padding:125px 6% 75px;text-align:center}
.forest-info .locations-content h2{font:clamp(64px,6vw,92px)/.95 'Instrument Serif',Georgia,serif;letter-spacing:-.04em;margin:0 0 52px}
.locations-content h2 em{font-family:'Pinyon Script',serif;font-style:normal;font-size:1.15em}
.venue-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;text-align:left}
.location-venue+ .location-venue{border-left:1px solid #fff0a58a;padding-left:48px}
.location-label{font:13px 'Instrument Serif',serif;letter-spacing:1.5px;margin:0 0 15px}
.forest-info .location-venue h3{font:30px/1.15 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 12px}
.location-venue address{font:23px/1.4 'Instrument Serif',Georgia,serif;font-style:normal;margin:0 0 22px;min-height:65px}
.location-venue .forest-pill{font:19px 'Instrument Serif',Georgia,serif;min-width:225px}
.station-directions{border-top:1px solid #fff0a580;padding-top:24px;margin:36px auto 0;font:21px/1.4 'Instrument Serif',Georgia,serif;max-width:700px}
@media(max-width:750px){
 .schedule-background{object-position:64% top}
 .schedule-page::after{background:linear-gradient(0deg,#0b190ef0 0%,#0b190ed2 42%,#0b190e15 85%)}
 .schedule-content{align-self:flex-end;width:100%;margin:0;padding:38svh 7% 70px}
 .forest-info .schedule-content h2{font-size:clamp(66px,17vw,92px)}
 .schedule-date{font-size:clamp(51px,13vw,70px);margin-bottom:25px}
 .day-timeline{border-left:0;padding:0;width:100%;max-width:400px}
 .day-timeline li{border:0;padding:12px 0;font-size:24px;gap:20px}
 .day-timeline li:last-child{border-bottom:0}
 .day-timeline li::before{display:none}
 .locations-content{padding:125px 7% 65px;text-align:left}
 .forest-info .locations-content h2{font-size:clamp(58px,15vw,80px);margin-bottom:44px}
 .venue-columns{grid-template-columns:1fr;gap:34px}
 .location-venue+ .location-venue{border:0;padding:0}
 .location-label{display:flex;align-items:center;gap:18px;font-size:14px}
 .location-label::after{content:'';width:110px;height:1px;background:#fff0a58a}
 .forest-info .location-venue h3{font-size:29px}
 .location-venue address{font-size:22px;min-height:0}
 .station-directions{font-size:21px;max-width:350px;margin:32px 0 0}
 .locations-page::after{background:linear-gradient(90deg,#14210edb 0%,#14210eb3 55%,#14210e22)}
 .section-forward{margin-top:25px}
}
@media(max-width:380px){.day-timeline li{font-size:21px;gap:14px}.day-timeline time{min-width:50px}.location-venue .forest-pill{min-width:210px}.forest-info .location-venue h3{font-size:26px}}
#inside.forest-info #day.schedule-page{padding:0;min-height:100svh;align-items:stretch;opacity:1;visibility:visible;transform:none}

/* A quiet default emphasis that follows the hovered or focused schedule row. */
.day-timeline li{color:#b6bab0;transition:color .2s ease,opacity .2s ease;outline-offset:4px}
.day-timeline li::before{background:currentColor}
.day-timeline li.default-highlight{color:var(--butter)}
.day-timeline:has(li:hover) li,.day-timeline:has(li:focus) li{color:#a2a69d}
.day-timeline:has(li:hover) li:hover,.day-timeline:has(li:focus) li:focus{color:var(--butter)}
.day-timeline li:focus-visible{outline:1px solid var(--butter)}
.forest-info .locations-page{background:rgb(85 94 54 / 70%)}
.locations-page::after{display:none}
.location-venue h3{display:flex;align-items:center;gap:10px}
.venue-map{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;margin:-6px 0;border-radius:50%;color:var(--butter);transition:background .2s ease}
.venue-map:hover{background:#fff0a51a}
.venue-map:focus-visible{outline:1px solid currentColor;outline-offset:2px}
.location-venue address{margin-bottom:0}
@media(max-width:750px){.day-timeline li{font-size:18px;padding:6px 0;gap:18px}.day-timeline time{min-width:46px}.schedule-date{font-size:44px;margin-bottom:22px}.forest-info .schedule-content h2{font-size:60px}.venue-map{width:38px;height:38px}.location-venue h3{gap:6px}}
@media(prefers-reduced-motion:reduce){.day-timeline li,.venue-map{transition:none}}

/* Light outlined invitations, rising into view as their chapter is reached. */
.forest-info .locations-page{--butter:#102218;background:#f5f2e9;color:var(--butter);border-bottom-color:#1022182a}
.locations-content{width:min(100%,1180px);padding:130px 7% 110px;text-align:center}
.forest-info .locations-content #locations-title{font:italic clamp(46px,5vw,72px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:0 0 54px;text-align:center}
.venue-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:center}
.location-venue,.location-venue+ .location-venue{position:relative;width:100%;max-width:none;min-width:0;min-height:260px;margin:0;padding:38px 24px 42px;border:1px solid #555e3680;justify-self:stretch;background:transparent}
.location-label{display:block;font:12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:3px;margin:0 0 24px}
.location-label::after{content:'';display:block;width:32px;height:1px;background:currentColor;margin:18px auto 0;opacity:.75}
.forest-info .location-venue h3{display:flex;align-items:center;justify-content:center;gap:8px;font:clamp(26px,2.5vw,34px)/1.2 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 22px}
.location-venue address{font:clamp(20px,1.9vw,25px)/1.4 'Instrument Serif',Georgia,serif;font-style:normal;min-height:0;margin:0;overflow-wrap:break-word}
.venue-map{width:34px;height:38px;margin:0}
.venue-reveal-ready #locations-title,.venue-reveal-ready .location-venue{opacity:0;transform:translateY(48px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.venue-reveal-ready #locations-title.is-visible,.venue-reveal-ready .location-venue.is-visible{opacity:1;transform:translateY(0)}
.venue-reveal-ready .location-venue:nth-child(1){transition-delay:.12s}
.venue-reveal-ready .location-venue:nth-child(2){transition-delay:.24s}
@media(max-width:750px){
 .locations-content{padding:120px 7% 80px}
 .forest-info .locations-content #locations-title{font-size:46px;margin-bottom:36px}
 .venue-columns{grid-template-columns:minmax(0,1fr);gap:20px}
 .location-venue,.location-venue+ .location-venue{padding:30px 16px 34px;min-height:230px}
 .location-label{font-size:11px;margin-bottom:20px}
 .forest-info .location-venue h3{font-size:26px;gap:5px;margin-bottom:18px}
 .location-venue address{font-size:21px}
 .venue-map{width:30px}
 .venue-reveal-ready .location-venue:nth-child(2){transition-delay:.12s}
}
@media(max-width:380px){.forest-info .location-venue h3{font-size:23px}.location-venue address{font-size:19px}}
@media(prefers-reduced-motion:reduce){.venue-reveal-ready #locations-title,.venue-reveal-ready .location-venue{opacity:1;transform:none;transition:none}}

/* A compact closing chapter with native, keyboard-accessible accordions. */
.forest-info .faq-page{background:#202b20;color:var(--butter);padding:70px 7% 85px;border-top:1px solid #fff0a529}
.faq-content{max-width:850px;margin:auto}
.faq-eyebrow{font:10px 'DM Sans',Arial,sans-serif;letter-spacing:2px;opacity:.65;margin:0 0 14px}
.forest-info .faq-content h2{font:italic clamp(38px,4vw,52px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:0 0 32px}
.faq-list{border-top:1px solid #fff0a54a}
.faq-list details{border-bottom:1px solid #fff0a54a}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;cursor:pointer;padding:23px 0;font:27px/1.25 'Instrument Serif',Georgia,serif}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:focus-visible{outline:1px solid var(--butter);outline-offset:6px}
.faq-plus{position:relative;width:17px;height:17px;flex-shrink:0;opacity:.8}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;top:8px;left:0;width:17px;height:1px;background:currentColor}
.faq-plus::after{transform:rotate(90deg);transition:transform .25s ease}
.faq-list details[open] .faq-plus::after{transform:rotate(0)}
.faq-answer{padding:0 38px 24px 0;max-width:760px;font:14px/1.85 'DM Sans',Arial,sans-serif;color:#fff0a5d6}
.faq-answer p{margin:0 0 14px}.faq-answer p:last-child{margin:0}
.faq-answer a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#fff0a570}
.faq-list details[open] .faq-answer{animation:faq-answer-in .3s ease-out}
@keyframes faq-answer-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:750px){.forest-info .faq-page{padding:55px 7% 75px}.faq-list summary{font-size:23px;padding:21px 0}.faq-answer{font-size:13px;line-height:1.8;padding-right:15px}.forest-info .faq-content h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.faq-list details[open] .faq-answer{animation:none}.faq-plus::after{transition:none}}

/* Give the dietary prompt a little more presence. */
.rsvp-card label[for="dietary"]{font-size:15px}

.venues-map-note{margin:32px auto 0;font:12px/1.6 "DM Sans",Arial,sans-serif;text-align:center;color:var(--butter);opacity:.8;max-width:100%}
.venues-map-note svg{display:inline-block;vertical-align:middle;margin:0 3px}

/* A centered date above the schedule; The Day occupies the former date slot. */
.schedule-top-date{position:absolute;z-index:2;top:40px;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap;font:12px/1.6 'DM Sans',Arial,sans-serif;color:var(--butter)}
.forest-info .schedule-content h2{font-size:clamp(52px,5vw,76px);line-height:1;margin:0 0 36px}
@media(max-width:750px){.schedule-top-date{top:88px}.forest-info .schedule-content h2{font-size:44px;margin-bottom:22px}}

/* Match the date to the venues heading, scaling to fit narrow screens. */
.schedule-top-date{top:96px;width:90%;white-space:normal;text-align:center;font:clamp(46px,5vw,72px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em}
@media(max-width:750px){.schedule-top-date{top:96px;font-size:clamp(30px,8.5vw,46px)}}

/* End the RSVP chapter close to its strip, retaining enlarged-photo clearance. */
.forest-info .carousel-chapter{min-height:0;padding-bottom:12px}
.carousel-chapter .carousel-window{padding-bottom:clamp(49px,calc(4.275vw + 8px),71px)}
@media(max-width:750px){.carousel-chapter .carousel-window{padding-bottom:51px}}

/* One shared venue for the ceremony and dinner. */
.venue-columns--single{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}
.venue-columns--single .location-venue h3 span{min-width:0}
.venue-columns--single .venue-map{flex-shrink:0}
.locations-page .location-venue{background:transparent;color:var(--butter)}
.locations-page .venue-map:hover{background:#555e361a}

/* Bouquet backdrop for The Day; the venue retains its plain forest green. */
.forest-info .schedule-page{background:#17221a}
.schedule-page .schedule-background{object-position:center;opacity:.45;pointer-events:none}
.schedule-page::after{display:none}

/* Full-bleed photograph with transparent venue panels. */
.locations-page .venue-background{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:.9;pointer-events:none}
.locations-page .locations-content{box-sizing:border-box;width:100%;max-width:1180px;min-height:100svh;margin:0;padding:100px clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:transparent;border:0;color:var(--butter)}
.locations-page .location-venue{border:0;background:transparent}
@media(max-width:750px){.locations-page .locations-content{padding:100px 24px 80px}}

/* Scroll-driven background crossfades, followed by rising chapter content. */
.info-scroll-backgrounds{display:none}
.scroll-chapters-active{position:relative;isolation:isolate}
.scroll-chapters-active>.info-scroll-backgrounds{display:block;position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0;pointer-events:none;overflow:hidden}
.info-scroll-layer{position:absolute;inset:0;overflow:hidden}
.info-scroll-layer--day{background:#17221a}
.info-scroll-layer--venue{background:#f5f2e9;opacity:0}
.info-scroll-layer--rsvp{background:#18210e;opacity:0}
.info-scroll-layer--questions{background:#18210e;opacity:0}
.info-scroll-layer>.schedule-background,.info-scroll-layer>.venue-background{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.info-scroll-layer>.schedule-background{opacity:.45;object-position:center}
.info-scroll-layer>.venue-background{opacity:.9;object-position:65% center}
#inside.forest-info .scroll-chapters-active>#day,#inside.forest-info .scroll-chapters-active>#travel{position:relative;z-index:1;background:transparent;border:0}
.scroll-chapters-active>#day>.schedule-background,.scroll-chapters-active>#travel>.venue-background{display:none}
.scroll-chapters-active>.rsvp-static-chapter,.scroll-chapters-active>.qa-static-chapter{z-index:1;background:transparent}
.scroll-chapters-active>.rsvp-static-chapter>.rsvp-floral,.scroll-chapters-active>.qa-static-chapter>.rsvp-floral{display:none}

/* Hold the venue in place for a reading interval before ordinary scrolling resumes. */
#inside.forest-info .scroll-chapters-active>#day{min-height:var(--chapter-height,100svh)}
#inside.forest-info .scroll-chapters-active>#travel{min-height:calc(var(--chapter-height,100svh) * 1.65);overflow:visible;align-items:flex-start}
.scroll-chapters-active>#travel>.locations-content{position:sticky;top:0;min-height:var(--chapter-height,100svh);align-self:flex-start;text-shadow:0 1px 5px #f5f2e9cc}
.locations-page .venues-map-note{opacity:1}
/* Separate, full-screen RSVP and Q&A sections with static backgrounds. */
.rsvp-static-chapter{position:relative;isolation:isolate;background:#18210e;min-height:calc(var(--rsvp-page-height,100svh) * 1.65)}
.rsvp-static-chapter>.rsvp-floral{position:sticky;inset:auto;top:0;width:100%;height:var(--rsvp-backdrop-height,var(--rsvp-page-height,100svh));margin-bottom:calc(var(--rsvp-backdrop-height,var(--rsvp-page-height,100svh)) * -1);pointer-events:none}
#inside.forest-info .rsvp-static-chapter>#rsvp{position:sticky;top:0;isolation:auto;background:transparent;border:0;overflow:visible;min-height:var(--rsvp-page-height,100svh);justify-content:center;padding:100px 0}
@media(prefers-reduced-motion:reduce){.rsvp-static-chapter{min-height:0}.rsvp-static-chapter>.rsvp-floral{position:absolute;inset:0;height:auto;margin:0}#inside.forest-info .rsvp-static-chapter>#rsvp{position:relative}}
.forest-info #questions.faq-page{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;padding:80px 0 0;background:#18210e;border-top:1px solid #fff0a533}
#questions>.faq-content{position:relative;z-index:1;width:min(850px,86%);margin:0 auto}
#questions>.memory-carousel{position:relative;z-index:1;width:100%;margin-top:auto;padding-top:36px}
#questions .carousel-window{padding:70px 0 clamp(49px,calc(4.275vw + 8px),71px);mask-image:none}
@media(max-width:750px){#questions .carousel-window{padding-bottom:51px}}
.forest-info .rsvp-card .rsvp-section-title{font:400 clamp(64px,8vw,96px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:0 0 22px;color:var(--butter);text-align:center}
@media(max-width:750px){
 /* Cover the full mobile viewport even after browser toolbars collapse. */
 .scroll-chapters-active>.info-scroll-backgrounds{height:100lvh;margin-bottom:-100lvh}
 .rsvp-static-chapter{--rsvp-backdrop-height:max(var(--rsvp-page-height,100svh),100lvh)}
}

/* A quiet direction cue shared by every scrollable section. */
.scroll-cue{position:fixed;z-index:30;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid #fff0a52a;border-radius:24px;background:#17221ad9;color:#fff0a5;font:11px/1.4 'DM Sans','Noto Sans KR',sans-serif;letter-spacing:.04em;pointer-events:none;white-space:nowrap;backdrop-filter:blur(8px)}
.scroll-cue[hidden]{display:none}
.scroll-cue{pointer-events:auto;cursor:pointer;min-height:44px}
.scroll-cue:hover{background:#253520ed;border-color:#fff0a580}
.qa-cue{position:fixed;z-index:31;left:50%;bottom:-8px;transform:translateX(-50%);box-sizing:border-box;min-width:120px;min-height:64px;padding:20px 28px 18px;border:1px solid #fff0a52a;border-bottom:0;border-radius:50% 50% 0 0 / 100% 100% 0 0;background:#17221ad9;backdrop-filter:blur(8px);color:#fff0a5;font:400 14px/1.4 'DM Sans','Noto Sans KR',sans-serif;letter-spacing:.04em;cursor:pointer;animation:qa-cue-rise .5s ease-out both,qa-cue-bob 2.4s .5s ease-in-out infinite}
.qa-cue[hidden]{display:none}
.qa-cue:hover{background:#253520ed;border-color:#fff0a580}
@keyframes qa-cue-rise{from{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes qa-cue-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}
@media(prefers-reduced-motion:reduce){.qa-cue{animation:none}}
@media(max-width:750px){.scroll-cue{bottom:max(17px,env(safe-area-inset-bottom));padding:8px 10px;font-size:10px;gap:6px}}

/* Center the schedule while retaining left-aligned event rows. */
.schedule-heading{position:absolute;z-index:2;top:96px;left:50%;transform:translateX(-50%);width:90%;text-align:center}
.forest-info .schedule-heading #schedule-title{font:italic clamp(46px,5vw,72px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:0 0 14px}
.forest-info .schedule-page .schedule-content{width:min(86%,620px);margin:0 auto;padding:180px 0 100px;align-self:center}
.schedule-date-line{font:400 clamp(18px,1.8vw,24px)/1.2 'DM Sans',Arial,sans-serif;letter-spacing:0;text-align:center;margin:0}
.schedule-page .day-timeline{margin:28px auto 0;text-align:left}
@media(max-width:750px){.forest-info .schedule-page .schedule-content{padding:150px 0 80px}.schedule-date-line{font-size:16px;max-width:340px;margin:auto}}

/* Q&A gets its own backdrop transition and a native pinned reading interval. */
.qa-static-chapter{position:relative;isolation:isolate;background:#18210e}
.qa-static-chapter>.rsvp-floral{position:absolute;inset:0;pointer-events:none}
.qa-static-chapter.qa-motion-active{min-height:calc(var(--qa-page-height,100svh) * 1.65)}
.qa-motion-active>.rsvp-floral{position:sticky;inset:auto;top:0;width:100%;height:var(--qa-backdrop-height,var(--qa-page-height,100svh));margin-bottom:calc(var(--qa-backdrop-height,var(--qa-page-height,100svh)) * -1)}
.forest-info .qa-static-chapter>#questions{background:transparent;border-top:0}
.forest-info .qa-motion-active>#questions{position:sticky;top:0;min-height:var(--qa-page-height,100svh)}
@media(max-width:750px){.qa-static-chapter{--qa-backdrop-height:max(var(--qa-page-height,100svh),100lvh)}}

/* Editorial refinement confined to the venue section. */
.forest-info #travel .locations-content{padding:104px 24px 88px;text-shadow:none}
.forest-info #travel .locations-content #locations-title{font:italic clamp(64px,7vw,96px)/1.06 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 28px}
#travel .venue-columns{width:100%;max-width:660px;margin:0 auto;gap:0}
#travel .location-venue{min-height:0;padding:0;border:0;background:transparent;text-align:center}
#travel .location-label{font-size:11px;line-height:1.5;letter-spacing:.23em;margin:0 0 18px}
#travel .location-label::after{display:none}
.forest-info #travel .location-venue h3{display:block;max-width:22ch;margin:0 auto;font:400 clamp(32px,3.4vw,46px)/1.02 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;text-wrap:balance}
#travel .location-venue address{margin:14px 0 0;min-height:0;font:400 clamp(20px,1.8vw,23px)/1.25 'Instrument Serif',Georgia,serif;letter-spacing:.005em}
#travel .venue-map-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:22px;padding:5px 0;font:400 14px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.02em;color:inherit;text-decoration:underline;text-decoration-color:#10221866;text-underline-offset:5px;transition:text-decoration-color .2s ease}
#travel .venue-map-link svg{flex-shrink:0}
#travel .venue-map-link:hover{ text-decoration-color:currentColor }
.info-scroll-layer--venue::after,#travel::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#f5f2e926, #f5f2e912 55%,transparent 85%)}
.scroll-chapters-active>#travel::before{display:none}
@media(max-width:750px){
 .forest-info #travel .locations-content{padding:104px 24px 80px}
 .forest-info #travel .locations-content #locations-title{font-size:clamp(56px,12vw,72px);margin-bottom:24px}
 #travel .location-label{font-size:10px;letter-spacing:.2em;margin-bottom:16px}
 .forest-info #travel .location-venue h3{font-size:clamp(28px,7.8vw,34px);line-height:1.02}
 #travel .location-venue address{font-size:18px;line-height:1.25;margin-top:12px}
 #travel .venue-map-link{font-size:13px;margin-top:20px}
}

/* Gift accounts use independent, accessible nested disclosure groups. */
#gift-accounts{margin-top:24px}
#gift-accounts .gift-account-group{border:0;border-top:1px solid #fff0a540}
#gift-accounts .gift-account-summary{font:400 16px/1.5 'DM Sans',sans-serif;padding:17px 0;letter-spacing:0}
#gift-accounts .gift-account-group:not([open])>.gift-account-summary .faq-plus::after{transform:rotate(90deg)}
#gift-accounts .gift-account-group[open]>.gift-account-summary .faq-plus::after{transform:rotate(0)}
#gift-accounts .gift-account-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #fff0a51c}
#gift-accounts .gift-account-info{min-width:0}
#gift-accounts .gift-account-label{font-weight:500;margin:0 0 4px;color:var(--butter)}
#gift-accounts .gift-account-bank,#gift-accounts .gift-account-number,#gift-accounts .gift-account-pending{font-size:13px;line-height:1.7;margin:0}
#gift-accounts .gift-account-number{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;user-select:all}
#gift-accounts .gift-account-pending{opacity:.65}
#gift-accounts .gift-account-copy{border:1px solid #fff0a56b;border-radius:24px;background:transparent;color:var(--butter);min-width:68px;min-height:44px;padding:8px 12px;font:12px/1.4 'DM Sans',sans-serif}
#gift-accounts .gift-account-copy:disabled{opacity:.4;cursor:default}
#gift-accounts .gift-account-copy:focus-visible{outline:1px solid var(--butter);outline-offset:4px}
#gift-accounts .gift-account-status{font-size:12px;line-height:1.6;margin:12px 0 0}
html[lang=ko] #gift-accounts .gift-account-summary,html[lang=ko] #gift-accounts .gift-account-copy{font-family:'Noto Sans KR',sans-serif}
 #gift-accounts .gift-account-person{padding:8px 0 18px}
 #gift-accounts .gift-account-person-title{font:500 16px/1.6 'DM Sans','Noto Sans KR',sans-serif;margin:12px 0}
 #gift-accounts .gift-account-section-title{font-size:14px;line-height:1.7;margin:16px 0 4px}
 #gift-accounts .gift-account-holder{font-size:13px;line-height:1.7;margin:4px 0 10px}
#gift-accounts .gift-account-person{border:0;border-top:1px solid #fff0a526;padding:0}
#gift-accounts .gift-account-person-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;margin:0;min-height:52px;cursor:pointer}
#gift-accounts .gift-account-person:not([open])>.gift-account-person-title .faq-plus::after{transform:rotate(90deg)}
#gift-accounts .gift-account-person[open]>.gift-account-person-title .faq-plus::after{transform:rotate(0)}
html[lang=ko] #gift-accounts .gift-account-person{margin-left:20px}
html[lang=ko] #gift-accounts .gift-account-person-title{font-family:'Noto Sans KR',sans-serif;font-size:14px;font-weight:400}
#gift-accounts .gift-account-country{margin-left:20px;border:0;border-top:1px solid #fff0a526}
#gift-accounts .gift-account-country:first-child{border-top:0}
html[lang=en] #gift-accounts .gift-account-person>.gift-account-row:first-child{border-top:0}
.reply-polaroid{position:relative;padding:0;background:transparent}
.reply-polaroid img{aspect-ratio:auto;height:auto;object-fit:contain}
.reply-polaroid figcaption{position:absolute;left:5%;bottom:7%;width:90%;margin:0;font:400 clamp(24px,3vw,36px)/1.2 'Instrument Serif',Georgia,serif;letter-spacing:0;text-align:center}
html[lang=ko] .reply-polaroid figcaption{font-family:'Gowun Batang',serif;font-size:clamp(22px,2.6vw,30px)}
html[lang=en] #rsvp-confirmation .reply-polaroid figcaption{font-family:'Courier Prime','Courier New',monospace;font-size:clamp(14px,calc(4.3vw - 2px),24px);line-height:1.35}
/* Fit the answer field closely around its text in both languages. */
#rsvp-form input:not([type=radio]),#rsvp-form textarea{padding:2px 0 1px;line-height:1.2;min-height:0}
#rsvp-form input:not([type=radio]):focus-visible,#rsvp-form textarea:focus-visible{outline-offset:2px}
#rsvp-form textarea{resize:none;overflow:hidden}
html[lang=ko] #rsvp-form input:not([type=radio]),html[lang=ko] #rsvp-form textarea{line-height:1.2}
#gift-accounts .gift-account-country-title{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:16px 0;font:400 14px/1.6 'DM Sans','Noto Sans KR',sans-serif;letter-spacing:0;cursor:pointer}
#gift-accounts .gift-account-country:not([open])>.gift-account-country-title .faq-plus::after{transform:rotate(90deg)}
#gift-accounts .gift-account-country[open]>.gift-account-country-title .faq-plus::after{transform:rotate(0)}
/* Consistent compact spacing for the four main FAQ/account headings. */
.faq-list>details>summary,#gift-accounts .gift-account-summary{padding:8px 0}
#gift-question>.faq-answer{padding-bottom:0}
#gift-accounts .gift-account-status:empty{display:none}
@media(max-width:750px){.faq-list>details>summary,#gift-accounts .gift-account-summary{padding:12px 0}}
@media(max-width:750px){html[lang=en] #rsvp-confirmation #confirmation-title{white-space:nowrap}}
/* Keep 1–5+ together, using horizontal space rather than smaller type. */
#rsvp-form .count-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(4px,1.5vw,10px);width:min(100%,368px);margin-inline:auto}
#rsvp-form .count-choices .choice{min-width:0}
#rsvp-form .count-choices .choice>span{width:100%;min-width:0;padding-inline:4px;white-space:nowrap}

/* Transport follows the existing FAQ rhythm, with a single-line title. */
#transport-question>summary{gap:12px}
#transport-question>summary>span:first-child{white-space:nowrap}
.transport-answer{display:flex;align-items:flex-start;gap:12px}
.transport-answer>svg{flex:0 0 20px;margin-top:3px}


/* Keep the confirmation action close to the photograph. */
#rsvp-confirmation .reply-polaroid{margin-bottom:12px}
#rsvp-confirmation #rsvp-rewrite{margin-top:0}

/* Keyboard positioning is independent of the scroll-reveal translation. */
body.rsvp-answering #rsvp .rsvp-card{transform:translateY(var(--rsvp-input-shift,0px));transition:none}
body.rsvp-answering .scroll-cue,body.rsvp-answering .qa-cue{display:none}



/* Clear the screen corners while answering and while the keyboard settles. */
body.rsvp-answering #progress,
body.rsvp-answering #language-toggle,
body.rsvp-answering #home{visibility:hidden;pointer-events:none}

/* Option C: one clear primary action immediately after the answer. */
.carousel-chapter .rsvp-actions--stacked{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:22px}
.rsvp-actions--stacked #rsvp-next{width:100%;min-height:46px;padding:12px 24px;font-size:14px}
.rsvp-actions--stacked #rsvp-back{align-self:center;min-height:36px;padding:8px 12px}
body.rsvp-answering #rsvp .rsvp-card{max-height:var(--rsvp-visible-height,none);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}
body.rsvp-answering #rsvp .rsvp-card::-webkit-scrollbar{display:none}

/* Match the direction cue palette and keep dress-code paragraphs compact. */
.dress-code-copy p{margin:0 0 6px}
.dress-code-copy p:last-child{margin:0}

/* Keep the Korean half-oval cue readable on one line. */
.qa-cue{white-space:nowrap}
html[lang=ko] .qa-cue{min-width:230px;max-width:calc(100vw - 32px)}

/* Give desktop RSVP answers a complete, compact outline in both languages. */
@media(min-width:751px){
 #rsvp-form input:not([type=radio]),#rsvp-form textarea{box-sizing:border-box;border:1px solid #fff0a580;border-radius:0;padding-inline:10px}
}
