/* Enabled only after the complete invitation has been assembled into pages. */
.h5-enhanced{--h5-dock:98px;overflow:hidden;height:100%;scroll-behavior:auto}
.h5-enhanced body{height:var(--h5-viewport,100dvh);overflow:hidden;padding:0}
.h5-enhanced #invitation-pages{position:relative;height:calc(var(--h5-viewport,100dvh) - var(--h5-dock) - env(safe-area-inset-bottom,0px));overflow:hidden;isolation:isolate}
.h5-page{position:absolute;inset:0;transform:translate3d(0,var(--slide-offset,100%),0);transition:transform .62s cubic-bezier(.22,.75,.2,1);background:var(--paper);overflow:hidden;pointer-events:none}
.h5-page.is-active{pointer-events:auto}
.h5-instant .h5-page{transition:none}
.h5-scroll{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e9ad4a transparent;scroll-padding:20px}
.h5-page .section{max-width:1040px;width:100%;padding:38px 40px;margin:0 auto}
.h5-page .section-tag{font-size:10px;letter-spacing:2px}
.h5-page h2{font-size:34px;line-height:1.35;margin:13px 0 16px}
.h5-page .section-copy{font-size:13px;line-height:1.85}
.h5-page header{height:76px;max-width:1040px}
.h5-page .hero{min-height:calc(var(--h5-viewport,100dvh) - var(--h5-dock) - 112px);padding:55px 40px 45px;display:flex;align-items:center}
.h5-page .hero-inner{width:100%;max-width:960px}
.h5-page h1{font-size:58px;margin-top:20px;margin-bottom:22px}
.h5-page .hero-visual{min-height:0;margin:15px 23px 30px}
.h5-page .hero-date{margin-top:18px}
.h5-page .hero-copy .primary{margin-top:20px}
.h5-page .ribbon{font-size:9px;padding:8px 0;box-shadow:none;transform:none}
.h5-page .welcome{min-height:100%;align-content:center}
.h5-page .activities{min-height:100%;display:flex;align-items:center}
.h5-page .activities .moments{margin-top:23px}
.h5-page .h5-memory-section{min-height:100%;display:flex;flex-direction:column;justify-content:center}
.h5-page .guide-memory{margin:16px 0 0}
.h5-page .guide-section{min-height:100%;display:flex;flex-direction:column;justify-content:center}
.h5-page .event-strip{margin-top:15px}
.h5-page .location-card{margin-top:24px;margin-bottom:16px}
.h5-page .h5-questions-section{min-height:100%;display:grid;grid-template-columns:1fr 1.2fr;gap:0 45px;align-content:center}
.h5-questions-section>.section-tag,.h5-questions-section>h2{grid-column:1/3}
.h5-questions-section .reserve-photo-pair{align-self:center;margin:10px 5px 20px}
.h5-questions-section .faq{margin-top:0}
.h5-page .reservation{min-height:calc(100% - 60px);grid-template-columns:.8fr 1.2fr;align-content:center;gap:45px}
.h5-page .reserve-left{align-self:center}
.h5-page .form-card{padding:29px 25px 23px;margin:10px 6px 10px 0}
.h5-page footer{max-width:1040px;margin:auto;padding:14px 40px 20px;font-size:9px;min-height:0}
.h5-dock{display:flex!important;flex-direction:column;gap:9px;align-items:stretch;height:calc(var(--h5-dock) + env(safe-area-inset-bottom,0px));padding:10px max(24px,calc((100vw - 960px)/2)) calc(10px + env(safe-area-inset-bottom,0px));box-sizing:border-box;border-top:1px solid #e1bb69;background:#fff9eaf5;backdrop-filter:blur(14px);z-index:12}
.h5-dock-controls{display:flex;align-items:center;gap:12px;min-height:42px}
.h5-dots{display:flex;justify-content:center;gap:6px;height:21px;align-items:center}
.h5-dots button{position:relative;border:0;background:transparent;padding:8px;width:22px;height:22px;border-radius:50%}
.h5-dots button:after{content:'';position:absolute;inset:7px;border-radius:6px;background:#cbbd94;transition:background .3s,transform .3s}
.h5-dots button[aria-current=step]{width:35px}
.h5-dots button[aria-current=step]:after{background:#eb7a21;transform:scaleY(1.15)}
.h5-prev,.h5-next{border:1px solid #b6cbd0;background:#edf4ee;color:#23566b;border-radius:24px;min-height:40px;padding:8px 16px;font-size:12px;font-weight:700;white-space:nowrap}
.h5-prev{width:40px;padding:0;font-size:20px;flex-shrink:0}
.h5-prev:disabled{opacity:.3;cursor:default}
.h5-page-info{flex:1;min-width:0}
#h5-page-count{display:block;font-size:11px;font-weight:800;color:#245568;white-space:nowrap;letter-spacing:.5px}
#h5-gesture-hint{display:block;font-size:9px;color:#967449;letter-spacing:.5px;margin-top:1px}
.h5-dock .primary{margin:0;min-width:140px;padding:10px 19px;font-size:12px;white-space:nowrap;justify-content:center;gap:10px}
.h5-dock .primary.on-reserve{background:#24566a;box-shadow:none}
.h5-next[hidden]{display:none}
@media(max-width:799px){
 .h5-enhanced{--h5-dock:92px}
 .h5-page .section{padding:28px 30px 30px}
 .h5-page h2{font-size:29px;margin:10px 0 14px}
 .h5-page header{height:65px;padding:0 22px}
 .h5-page .brand-logo{height:33px;width:43px}.h5-page .brand{font-size:17px}
 .h5-page .top-link{font-size:9px;padding:4px 9px}
 .h5-page .hero{min-height:0;padding:36px 27px 38px;display:block}
 .h5-page .hero-inner{display:flex;flex-direction:column;gap:0;align-items:stretch}
 .h5-page .hero-copy{z-index:2}.h5-page .hero-copy:after{display:none}
 .h5-page h1{font-size:42px;margin:15px 0 18px;line-height:1.16}
 .h5-page .hero .eyebrow{font-size:8px;padding:4px 9px}
 .h5-page .hero .intro{font-size:11px;line-height:1.85}
 .h5-page .hero-date{padding:9px 13px;margin-top:15px;gap:14px}
 .h5-page .date-big{font-size:28px}.h5-page .hero-date .date-note{font-size:9px;line-height:1.65}
 .h5-page .free-promise{margin-top:12px;font-size:9px}
 .h5-page .hero-copy .primary,.h5-page .hero-copy>.little-note{display:none}
 .h5-page .hero-visual{width:72%;max-width:250px;margin:32px auto 17px}
 .h5-page .hero-visual .art-frame{padding:29px 7px 8px;box-shadow:5px 6px 0 #e8a449,8px 9px 0 #fff4c0}
 .h5-page .poster-art .hero-memory .photo-open{aspect-ratio:2/1}
 .h5-page .art-label{top:10px;font-size:6px}.h5-page .hero-memory figcaption{font-size:7px;margin-top:6px}
 .h5-page .hero-visual .sticker{width:54px;height:54px;font-size:8px;top:-18px;right:-17px;outline-width:3px}
 .h5-page .hero-visual .sun-sticker{width:42px;height:42px;font-size:25px;top:-20px}
 .h5-page .sun-sticker:after{font-size:5px;bottom:6px}
 .h5-page .hero-visual .ticket{font-size:7px;bottom:-8px;padding:4px 7px}
 .h5-page .hero-visual .bbq-badge{font-size:10px;bottom:-24px;padding:4px 7px}.h5-page .bbq-badge small{font-size:6px}
 .h5-page .hero-visual .balloons{display:none}.h5-page .hero-visual>.spark{font-size:22px;top:35px}
 .h5-page .ribbon{font-size:7px;letter-spacing:.2px;padding:7px 0}.h5-page .ribbon span{margin:0 6px}
 .h5-page .welcome{gap:20px;align-content:center}
 .h5-page .welcome>.note-card{order:2}.h5-page .welcome>.letter-photo{order:3}
 .h5-page .welcome .letter-photo .photo-open{aspect-ratio:2.8/1}
 .h5-page .note-card{padding:23px 19px 20px}.h5-page .note-card p{font-size:11px;line-height:1.9}
 .h5-page .note-card .salute{font-size:10px;margin-bottom:10px}.h5-page .signature{font-size:11px}
 .h5-page .activities .section{padding:29px 25px 28px}
 .h5-page .activities .section-copy{font-size:11px;line-height:1.8}
 .h5-page .activities .moments{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}
 .h5-page .moment{display:grid;grid-template-columns:105px 1fr;gap:0 12px;padding:9px;border-radius:9px;transform:rotate(-1deg)}
 .h5-page .moment:nth-child(even){transform:rotate(1deg)}
 .h5-page .moment-photo{grid-column:1;grid-row:1/3;margin:0}
 .h5-page .moment-photo .photo-open{aspect-ratio:1/1}
 .h5-page .moment-photo figcaption{font-size:7px;text-align:center;margin-top:4px}
 .h5-page .moment-heading{padding:3px 0 0;gap:6px;align-items:baseline}
 .h5-page .moment-heading .num{font-size:18px}.h5-page .moment-heading h3{font-size:14px}
 .h5-page .moment>p{font-size:10px;line-height:1.8;margin:5px 0 0;align-self:start}
 .h5-page .photo-source-note{font-size:8px;line-height:1.8}
 .h5-page .guide-memory{padding:20px 16px;margin-top:15px;gap:18px}
 .h5-page .guide-memory-copy h3{font-size:22px}.h5-page .guide-memory-copy p{font-size:11px}
 .h5-page .guide-memory .group-photo .photo-open{aspect-ratio:4/3}
 .h5-page .event-strip{gap:18px 14px;padding:20px 16px;margin-top:14px}
 .h5-page .event-label{font-size:8px}.h5-page .event-value{font-size:12px}
 .h5-page .location-card{padding:21px 15px 15px;margin-top:24px;margin-bottom:12px}
 .h5-page .location-info h3{font-size:17px}.h5-page .location-info p{font-size:11px}
 .h5-page .event-footnote{font-size:9px;line-height:1.85}
 .h5-page .h5-questions-section{display:flex;flex-direction:column;justify-content:center;gap:0}
 .h5-questions-section .reserve-photo-pair{width:100%;margin:7px 0 18px;gap:18px}
 .h5-questions-section .reserve-photo-pair .photo-open{aspect-ratio:1.8/1}
 .h5-questions-section .reserve-photo-pair .memory-photo:last-child{margin-top:10px}
 .h5-questions-section .faq{margin:0}.h5-questions-section .faq details{padding:13px 0}
 .h5-questions-section .faq summary{font-size:12px}.h5-questions-section .faq details p{font-size:11px;line-height:1.9}
 .h5-page .reservation{display:block;min-height:0;padding-top:24px;padding-bottom:20px}
 .h5-page .reserve-left h2{font-size:27px;margin:9px 0 9px}.h5-page .reserve-left h2 br{display:none}
 .h5-page .reserve-left h2:after{display:none}.h5-page .reserve-left .section-copy{display:none}
 .h5-page .reserve-help{font-size:10px;line-height:1.85;margin-top:8px;margin-bottom:18px}
 .h5-page .form-card{padding:23px 18px 18px;margin:26px 4px 8px 0;box-shadow:5px 6px 0 #e6c77f}
 .h5-page .form-card .field{margin-bottom:15px}.h5-page .form-top{margin-bottom:17px}
 .h5-page .consent{font-size:9px;line-height:1.8}.h5-page .form-tip{font-size:8px}
 .h5-page footer{padding:10px 26px 19px;font-size:8px;gap:4px;flex-direction:column}
 .h5-page footer:before{display:none}
 .h5-dock{gap:5px;padding:7px 17px calc(8px + env(safe-area-inset-bottom,0px))}
 .h5-dock-controls{gap:8px}.h5-dots{height:21px;gap:3px}
 .h5-prev{width:34px;min-height:36px;font-size:17px}.h5-next{padding:8px 11px;font-size:10px;min-height:36px}
 #h5-page-count{font-size:9px;letter-spacing:0}#h5-gesture-hint{font-size:8px;letter-spacing:0}
 .h5-dock .primary{min-width:87px;padding:9px 10px;font-size:10px;gap:5px;min-height:36px}
}
@media(max-width:360px){.h5-page h1{font-size:37px}.h5-page .section{padding-left:23px;padding-right:23px}.h5-page .hero{padding-left:23px;padding-right:23px}.h5-page .moment{grid-template-columns:88px 1fr;gap:0 10px}.h5-page .moment-heading h3{font-size:12px}.h5-page .moment>p{font-size:9px}.h5-dock{padding-left:11px;padding-right:11px}.h5-dock-controls{gap:6px}.h5-dock .primary{min-width:78px}.h5-next{padding-left:8px;padding-right:8px}#h5-page-count{font-size:8px}#h5-gesture-hint{font-size:7px}}
@media(prefers-reduced-motion:reduce){.h5-page,.h5-dots button:after{transition:none}}
@media print{.h5-enhanced,.h5-enhanced body{height:auto;overflow:visible}.h5-enhanced #invitation-pages{height:auto;overflow:visible}.h5-page{position:static;transform:none!important;break-after:page}.h5-scroll{height:auto;overflow:visible}.h5-dock,.ribbon-sky{display:none!important}}
