:root{--story-paper:var(--ivory);--story-ink:oklch(29.5% .095 9);--story-line:color-mix(in oklab, var(--wine) 35%, transparent);--winter-snow:oklch(100% 0 0);--storybook-gold:oklch(57% .075 80);--storybook-fir:oklch(43% .035 145);--storybook-frost:oklch(99% .006 95);--storybook-velvet:oklch(34% .115 12);--storybook-highlight:oklch(62% .085 18);--storybook-gold-bright:oklch(84% .09 85)}.christmas-background{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.christmas-trees,.christmas-snowmen{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.christmas-trees{opacity:.93}.christmas-snowmen{z-index:2}.christmas-background .snowfall{z-index:3;position:absolute}.winter-flake{background:var(--winter-snow);border-radius:50%;animation:linear infinite winter-descent;position:absolute;top:-5%}@keyframes winter-descent{0%{transform:translate(-12px,-5vh)}to{transform:translate(20px,110vh)}}.christmas-story{z-index:4;color:var(--story-ink);font-family:var(--invitation-sans);text-align:center;position:absolute;inset:0}.story-viewport{touch-action:pan-y;width:100%;height:100%;overflow:hidden}.story-track{height:100%;display:flex}.story-page{background:var(--story-paper);border:1px solid var(--story-line);flex-direction:column;flex:0 0 100%;justify-content:flex-start;align-items:center;min-width:0;height:100%;padding:26px 20px 72px;display:flex;position:relative}.story-header{z-index:1;width:100%;color:var(--storybook-gold);flex:none;justify-content:center;align-items:center;gap:10px;margin:0 0 20px;display:flex;position:relative}.story-header-rule{background:var(--storybook-gold);flex:0 32px;height:1px}.story-header-title{color:var(--story-ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:600;line-height:1.3}.story-body{z-index:1;flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.story-stanza{text-wrap:pretty;width:100%;margin:0;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:600;line-height:1.5}.story-line{margin-bottom:12px;display:block}.story-line:first-child{font-style:italic}.story-line:last-child{margin-bottom:0}.story-page--final .story-stanza{font-size:16px;line-height:1.45}.story-page--final .story-line{margin-bottom:8px}.story-details{width:100%;margin-top:16px}.christmas-story .story-title{color:var(--story-ink);letter-spacing:0;margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500;line-height:1.25}.story-date{margin:0;font-size:12px;font-weight:600;line-height:1.5}.story-time{background:var(--story-paper);margin:0;padding:24px;font-size:29px;font-weight:600;line-height:1.2}.story-navigation{z-index:5;color:var(--story-ink);grid-template-columns:44px 1fr 44px;align-items:center;display:grid;position:absolute;bottom:14px;left:12px;right:12px}.story-navigation .story-arrow{width:44px;height:44px;color:var(--story-ink);background:0 0;border-radius:0;padding:0}.story-arrow svg{width:23px;height:23px}.story-progress{flex-direction:column;align-items:center;gap:4px;display:flex}.story-count{font-size:11px;line-height:1.4}.story-cue{font-size:10px;line-height:1.5}@media (height<=740px){.story-page{padding-top:20px;padding-bottom:60px}.story-stanza{font-size:16px;line-height:1.55}.story-line{margin-bottom:8px}.story-page--final .story-stanza{font-size:14px;line-height:1.5}.story-page--final .story-line{margin-bottom:5px}.story-details{margin-top:10px}.christmas-story .story-title{margin-bottom:6px;font-size:18px}.story-time{font-size:25px}.story-navigation{bottom:7px}}@media (prefers-reduced-motion:reduce){.winter-flake{top:var(--flake-rest);animation:none}}.story-illustration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.storybook-double-border{border:3px double var(--story-ink);position:absolute;inset:5px}.storybook-gold-rule{border:1px solid var(--storybook-gold);opacity:.75;position:absolute;inset:12px}.story-page--rsvp{justify-content:stretch;padding:0}.rsvp-scroll{z-index:1;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;height:100%;padding:14px 18px max(14px, env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:relative;overflow:hidden auto}body:has(.story-page--rsvp){touch-action:pan-y}.rsvp-scroll-cue{z-index:3;background:var(--story-paper);border-top:1px solid var(--storybook-gold);color:var(--story-ink);font-family:var(--invitation-sans);letter-spacing:0;text-align:center;pointer-events:none;padding:12px 4px;font-size:13px;font-weight:700;line-height:1.3;position:absolute;bottom:6px;left:13px;right:13px}.rsvp-scroll-cue[data-visible=false]{visibility:hidden}.rsvp-scroll>*{flex:none}.christmas-story .rsvp-title{margin:0 0 8px;font-size:24px;font-style:italic}.rsvp-poem{width:100%;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:normal;font-weight:500;line-height:1.45}.rsvp-couplet{text-wrap:pretty;margin:0 0 10px}.rsvp-couplet .story-line,.rsvp-couplet .story-line:first-child{margin:0;font-style:normal}.rsvp-time{margin:2px 0;font-size:26px;font-weight:600;line-height:1.2}.rsvp-by{letter-spacing:.16em;text-transform:uppercase;color:var(--storybook-gold);margin:0;font-size:11px;font-weight:600}.rsvp-form{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.rsvp-label{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.rsvp-input{width:100%;min-height:44px;color:var(--story-ink);background:color-mix(in oklab, var(--story-paper) 70%, var(--winter-snow));border:1px solid var(--story-line);border-radius:2px;outline:none;padding:8px 12px;font-size:16px}.rsvp-input:focus{border-color:var(--story-ink)}.rsvp-choices{flex-direction:column;gap:4px;display:flex}.rsvp-choice{cursor:pointer;align-items:center;gap:10px;min-height:40px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;display:flex;position:relative}.rsvp-choice input{opacity:0;width:1px;height:1px;position:absolute}.rsvp-box{border:1.5px solid var(--story-ink);border-radius:2px;flex:none;place-items:center;width:20px;height:20px;display:grid}.rsvp-choice[data-checked=true] .rsvp-box:after{content:"✓";color:var(--story-ink);font-size:15px;line-height:1}.rsvp-choice input:focus-visible+.rsvp-box{outline:2px solid var(--storybook-gold);outline-offset:2px}.rsvp-error{color:var(--storybook-velvet);margin:0;font-size:13px;font-weight:600}.rsvp-submit{border:1px solid var(--storybook-gold);background:var(--storybook-velvet);width:100%;min-height:46px;color:var(--story-paper);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;margin-top:4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.rsvp-submit:disabled{opacity:.7}.rsvp-confirm{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;flex:1 0 auto!important}.rsvp-confirm-lead{margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-style:italic;font-weight:600;line-height:1.4}.rsvp-address{margin:8px 0 0;font-size:14px;font-weight:600;line-height:1.5}.rsvp-maps{margin-top:12px}@media (height<=740px){.rsvp-scroll{padding-top:12px}.rsvp-poem{font-size:15px}.christmas-story .rsvp-title{margin-bottom:6px;font-size:21px}.rsvp-time{font-size:22px}}.invitation-experience .teaser-line{text-align:center;letter-spacing:0;width:min(72vw,22rem);color:var(--storybook-gold-bright);text-wrap:balance;text-shadow:0 2px 2px var(--ink), 0 0 8px var(--ink), 0 0 16px var(--ink);font-size:18px;font-weight:700;line-height:1.45;top:max(88px,50% - min(23.84vw,6.81rem) - 150px);bottom:auto}.invitation-experience[data-phase=closed] .teaser-line{opacity:1}.invitation-experience .open-cue{text-align:center;letter-spacing:0;width:min(72vw,24rem);text-shadow:0 2px 2px var(--ink), 0 0 8px var(--ink), 0 0 16px var(--ink);flex-direction:column;gap:8px;line-height:1.4;display:flex}.open-cue-request{color:var(--storybook-gold-bright);letter-spacing:0;text-wrap:balance;font-size:16px;font-weight:700}.open-cue-hint{color:var(--story-paper);letter-spacing:0;font-size:13px}.rsvp-scroll .story-header{margin-bottom:4px}.christmas-story .rsvp-title{margin-bottom:6px}.rsvp-poem{font-size:15px;line-height:1.4}.rsvp-couplet{margin-bottom:8px}.rsvp-details{margin:0 0 6px}.rsvp-time{font-size:24px}.rsvp-form{gap:5px}.rsvp-choice{min-height:38px}@media (height<=740px){.rsvp-scroll{padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px))}.rsvp-scroll .story-header{margin-bottom:0}.christmas-story .rsvp-title{margin-bottom:4px;font-size:19px}.rsvp-poem{font-size:14px;line-height:1.32}.rsvp-couplet{margin-bottom:5px}.rsvp-details .story-date{font-size:11.5px;line-height:1.3}.rsvp-time{margin:0;font-size:20px}.rsvp-details{margin-bottom:4px}.rsvp-form{gap:3px}.rsvp-label{font-size:10.5px}.rsvp-input{min-height:40px;padding-block:6px}.rsvp-choices{gap:0}.rsvp-choice{min-height:34px;font-size:15px}.rsvp-submit{min-height:42px;margin-top:2px}}
