/* Guest-facing keepsake and practical visit tools. */
.invitation-tools{margin-top:28px}.invitation-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.invite-help{font-size:.75rem;line-height:1.65;color:var(--muted);margin:13px 0 0}.invitation-fields .field input{background:transparent}.invitation-preview{margin-top:25px}.invitation-heading h3{overflow-wrap:anywhere;font-family:"Open Sans",sans-serif;letter-spacing:-.025em;font-size:1.7rem;line-height:1.25}.invitation-preview #invitation-address{margin-bottom:20px;color:var(--ink);font-size:.8rem}.invitation-draft{display:block;margin-top:23px;padding-top:15px;border-top:1px solid #ddd5c6;font-size:.62rem;color:var(--muted);line-height:1.6}.invitation-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 0}.invitation-actions .button{font-size:.81rem;padding-inline:20px}#invitation-status{font-size:.8rem;line-height:1.6;margin:12px 0;color:var(--violet-dark);min-height:26px}.booking-story h2{font-family:"Open Sans",sans-serif;font-size:2.15rem;font-weight:550;letter-spacing:-.03em;line-height:1.2}.booking-story .lead{margin-top:16px;font-size:.88rem}.form-paper h3{font-family:"Open Sans",sans-serif;font-weight:550;font-size:1.65rem}.form-paper .paper-top{margin-bottom:24px}
.visit-finder{margin:-10px 0 30px}.visit-choices{display:flex;flex-wrap:wrap;gap:10px}.visit-choice{background:transparent;color:var(--ink);border:1px solid #b5aabd;border-radius:7px;min-height:46px;padding:11px 18px;font-size:.86rem}.visit-choice.selected{background:#6e62a9;color:#fff;border-color:#6e62a9}.visit-recommendation{font-size:.88rem;line-height:1.7;color:var(--muted);max-width:740px;margin-top:20px;min-height:3.4em}.location-tab{position:relative}.location-tab .recommended-label{display:block;font-family:"Open Sans",sans-serif;color:var(--violet-dark);font-size:.65rem;font-weight:600;margin-top:8px}.location-tab.recommended{box-shadow:inset 0 -3px #6e62a9}.locations .section-heading{margin-bottom:30px}.locations h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:2.1rem;letter-spacing:-.03em}.locations .location-info h3{font-family:"Open Sans",sans-serif;font-weight:550;font-size:1.8rem}
.entrance-guide{padding:55px 0 10px}.entrance-guide-heading{margin-bottom:25px}.entrance-guide-heading h2{font-family:"Open Sans",sans-serif;font-size:1.8rem;font-weight:550;letter-spacing:-.025em}.entrance-guide-heading p{font-size:.87rem;color:var(--muted);margin-top:9px}.entrance-guide-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:55px;align-items:start}.entrance-guide figure{margin:0}.entrance-guide figure>img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:78% center}.entrance-guide figcaption{font-size:.67rem;line-height:1.6;color:var(--muted);padding-top:10px}.entrance-steps{list-style:none;counter-reset:entrance;padding:0;margin:0}.entrance-steps li{counter-increment:entrance;position:relative;padding:0 0 20px 43px;margin-bottom:20px;border-bottom:1px solid var(--line)}.entrance-steps li:last-child{margin-bottom:0}.entrance-steps li:before{content:'0'counter(entrance);position:absolute;left:0;top:3px;font-size:.74rem;color:var(--violet-dark)}.entrance-steps b{font-weight:550;font-size:1.06rem;display:block}.entrance-steps p{color:var(--muted);font-size:.87rem;line-height:1.7;margin-top:9px}.entrance-steps a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.venue-party h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:1.65rem;letter-spacing:-.025em}.venue-party{padding-block:45px}.visit-grid h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:2rem}.after-heading h2,.crew-title h2,.first-visit h2{font-size:2.4rem}.crew-activities h3,.activity-list h3{font-size:1.4rem}.day-title h2{font-size:clamp(2rem,3.4vw,3rem)}.day-end>p{font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.25}.table-note h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:2.05rem;letter-spacing:-.03em}.team-section .section-heading h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:2rem;letter-spacing:-.025em}.faq-grid h2{font-family:"Open Sans",sans-serif;font-weight:550;font-size:1.75rem}.table-note{padding-block:70px}.team-section{padding-top:65px}.team-section .section-heading{margin-bottom:30px}
.footer-hero{border:0;background:transparent;padding:0;position:relative;min-width:44px;min-height:44px;align-self:end;border-radius:12px}.footer-hero:hover{background:#ffffff08}.footer-hero:focus-visible{outline-color:#c9d525}.hero-effects-hint{font-size:.72rem;color:#d9cee2;text-align:center;margin:13px 0}.footer .night-message{font-size:.68rem;color:#bbb0c5}body:not(.home) .hero-effects-hint{display:none}#chibi-effect-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:90}.stop-hero-effect{position:fixed;bottom:18px;right:18px;z-index:91;background:#24202b;color:#fff;border:1px solid #b4a3c9;min-height:44px;padding:11px 16px;border-radius:9px;font-size:.78rem}.effect-static{position:absolute;right:5%;top:0;width:22px;height:22px;border:2px solid #c9d525;border-radius:50%;box-shadow:0 0 0 5px #c9d52525;pointer-events:none}.effect-static-alien{border-radius:2px;transform:rotate(45deg)}
#invitation-print{display:none}
@media(max-width:850px){.invitation-fields{grid-template-columns:1fr;gap:18px}.invitation-actions{gap:9px}.invitation-actions .button{font-size:.73rem;padding-inline:13px}.invitation-heading h3{font-size:1.35rem}.entrance-guide-grid{gap:30px}.entrance-steps b{font-size:.95rem}.entrance-steps p{font-size:.82rem}}
@media(max-width:700px){.invitation-tools{margin-top:22px}.invitation-fields{grid-template-columns:1fr;gap:17px}.invitation-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:9px;margin-top:23px}.invitation-actions .button{font-size:.7rem;padding:12px 9px;white-space:nowrap}.invitation-heading h3{font-size:1.5rem}.invitation-draft{font-size:.61rem}.invite-help{font-size:.71rem}.booking-story h2{font-size:1.8rem}.booking-story .lead{font-size:.84rem}.form-paper h3{font-size:1.4rem}.visit-finder{margin:0 0 23px}.visit-choices{gap:8px}.visit-choice{font-size:.76rem;padding:10px 13px;min-height:44px}.visit-recommendation{font-size:.8rem;margin-top:16px;min-height:0}.location-tab .recommended-label{font-size:.56rem;line-height:1.4;margin-top:6px}.locations h2{font-size:1.8rem}.locations .location-info h3{font-size:1.55rem}.entrance-guide{padding-top:35px}.entrance-guide-heading{margin-bottom:20px}.entrance-guide-heading h2{font-size:1.5rem}.entrance-guide-heading p{font-size:.81rem}.entrance-guide-grid{grid-template-columns:1fr;gap:25px}.entrance-guide figure>img{aspect-ratio:1.7}.entrance-guide figcaption{font-size:.63rem}.entrance-steps li{padding-left:33px;margin-bottom:17px;padding-bottom:17px}.entrance-steps b{font-size:1rem}.entrance-steps p{font-size:.83rem}.venue-party{padding-block:30px}.venue-party h2{font-size:1.5rem}.after-heading h2,.crew-title h2,.first-visit h2{font-size:1.9rem}.day-title h2{font-size:2rem}.day-end>p{font-size:1.8rem}.table-note{padding-block:48px}.table-note h2{font-size:1.75rem}.team-section{padding-top:48px}.team-section .section-heading h2{font-size:1.65rem}.hero-effects-hint{font-size:.67rem}.footer .night-message{font-size:.62rem}.stop-hero-effect{bottom:12px;right:12px;font-size:.73rem}}
@media(max-width:360px){.invitation-actions{grid-template-columns:1fr}.invitation-heading h3{font-size:1.25rem}.visit-choice{font-size:.7rem;padding-inline:10px}.day-title h2{font-size:1.75rem}}
@media print{
 @page chibi-invitation{size:A5 portrait;margin:8mm}
 html:has(body.printing-invitation),body.printing-invitation{margin:0!important;padding:0!important;background:#fff!important;min-height:0!important}
 body.printing-invitation>*:not(#invitation-print){display:none!important}
 body.printing-invitation #invitation-print{page:chibi-invitation;display:block!important;width:100%;margin:0;padding:0;break-inside:avoid}
 body.printing-invitation #invitation-print img{display:block;width:100%;height:auto;max-height:190mm;object-fit:contain;margin:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

.invitation-fields .field:first-child{grid-column:1/-1}.invitation-fields input,.invitation-fields select{min-width:0;width:100%}
