:root{--wood: #16090a;--parch: #e7d7b4;--parch-deep: #d8c298;--ink: #46331f;--ink-deep: #33241a;--ink-soft: #6b543a;--ink-faint: #614d34;--sepia: #8a6b42;--gold-glow: 244, 208, 138;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--wood)}body.storybook{font-family:IM Fell English,Georgia,serif;color:var(--ink);-webkit-font-smoothing:antialiased}body.book-mode{overflow:hidden}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.defs{position:absolute;width:0;height:0;overflow:hidden}.room{position:fixed;top:0;right:0;bottom:0;left:0;display:none;background:radial-gradient(120% 90% at 78% 12%,#3a2013 0%,transparent 55%),radial-gradient(110% 90% at 12% 88%,#241108 0%,transparent 60%),linear-gradient(150deg,#221008,#140905 55%,#0a0403)}.book-mode .room{display:block}.book-mode .scroll,html.bk .scroll{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.stage{position:absolute;left:50%;top:50%;translate:-50% -50%;aspect-ratio:4 / 3;width:min(100vw,133.33vh);height:min(75vw,100vh);--lz: 1;--lx: 0%;--ly: 0%;container-type:size;-webkit-mask-image:radial-gradient(125% 125% at 50% 50%,#000 50%,transparent 96%);mask-image:radial-gradient(125% 125% at 50% 50%,#000 50%,transparent 96%)}.spread{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:translate(var(--lx),var(--ly)) scale(var(--lz))}.spread.on{opacity:1}.stage.glide .spread{transition:transform .68s cubic-bezier(.3,.02,.2,1)}.vfreeze{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;pointer-events:none}.vfreeze.on{opacity:1}.vturn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .18s linear;pointer-events:none;--vz: 1;transform:scale(var(--vz))}.vturn.pulling{transition:opacity .18s linear,transform .55s cubic-bezier(.3,.02,.2,1)}.vturn.live{opacity:1}.vhits{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(var(--lx),var(--ly)) scale(var(--lz))}.stage.glide .vhits{transition:transform .68s cubic-bezier(.3,.02,.2,1)}.hitset{display:none}.hitset.on{display:contents}.hit{position:absolute;display:block;min-width:24px;min-height:24px;border:0;padding:0;background:none;cursor:pointer;border-radius:8px;outline:none;-webkit-tap-highlight-color:transparent}.halo{position:absolute;top:-12%;right:-6%;bottom:-12%;left:-6%;border-radius:12px;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(60% 90% at 50% 50%,rgba(var(--gold-glow),.42) 0%,rgba(var(--gold-glow),.18) 50%,transparent 80%);opacity:0;transition:opacity .4s var(--ease)}.hit:hover .halo,.hit:focus-visible .halo{opacity:1}.hit:focus-visible{outline:3px solid rgba(38,24,10,.95);outline-offset:2px;box-shadow:0 0 0 2px #fff4d6f2}.turning .vhits .hit{pointer-events:none}.note{position:absolute;translate:-50% 0;margin:0;padding:.5em 1em;max-width:30%;background:linear-gradient(160deg,#f6efdc,#ece0c4);border:1px solid rgba(70,51,31,.35);border-radius:3px;box-shadow:0 6px 18px #0a05028c;font-style:italic;font-size:clamp(11px,1.5cqw,17px);color:var(--ink-soft);text-align:center;pointer-events:none;z-index:8;transition:opacity .5s var(--ease)}.note.fade{opacity:0}.story-float{position:absolute;left:50%;bottom:clamp(6px,2vh,22px);translate:-50% 0;border:0;background:none;cursor:pointer;font-family:IM Fell English,serif;font-style:italic;font-size:clamp(12px,1.6vh,16px);color:#c9b28a;opacity:.75;transition:opacity .3s var(--ease),color .3s var(--ease)}.story-float:hover,.story-float:focus-visible{opacity:1;color:#e9d9ae;outline:none}.story-float:focus-visible{outline:2px solid rgba(233,217,174,.7);outline-offset:3px}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#080402c7;padding:3vmin}.veil[hidden]{display:none}body.veiled{overflow:hidden}.veil .veil-frame{position:relative;width:min(560px,94vw);max-height:88vh;overflow:hidden;display:flex;padding:0;margin:0}.veil #veilBody{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(122,84,38,.45) transparent;padding:clamp(20px,5vw,36px) clamp(18px,5vw,34px)}.veil-x{position:absolute;top:6px;right:12px;z-index:2;border:0;background:none;cursor:pointer;font-family:IM Fell English,serif;font-size:2rem;line-height:1;color:var(--ink-soft);padding:.1em .2em}.veil-x:hover,.veil-x:focus-visible{color:var(--ink-deep);outline:none}.veil-x:focus-visible{outline:2px solid rgba(122,84,38,.75);outline-offset:2px}.pg .eyebrow{font-family:IM Fell English SC,IM Fell English,serif;font-size:.72em;letter-spacing:.32em;color:var(--ink-faint);margin:0 0 .5em}.pg h2{font-family:Cinzel Decorative,serif;font-weight:700;font-size:1.5em;line-height:1.15;color:var(--ink-deep);margin:0 0 .55em}.pg h3{font-family:IM Fell English SC,serif;font-weight:400;font-size:1.06em;letter-spacing:.08em;color:var(--ink-deep);margin:.9em 0 .35em}.emblem{width:1.5em;height:1.5em;margin:0 .4em -.3em 0;color:var(--sepia)}.pg p{margin:0 0 .7em}.pg a{color:var(--ink-deep);text-decoration-color:#8a6b4299}.pg .lede{font-style:italic;color:var(--ink-soft)}.pg .drop:first-letter{font-family:Cinzel Decorative,serif;font-size:2.9em;line-height:.78;float:left;padding:.06em .12em 0 0;color:#7a5426}.pg .names{font-family:Cinzel Decorative,serif;font-size:1.7em;color:var(--ink-deep);text-align:center;margin:.35em 0}.pg .names .amp{font-family:IM Fell English,serif;font-style:italic;color:var(--sepia)}.pg .bigline{font-family:IM Fell English SC,serif;font-size:1.3em;letter-spacing:.06em;text-align:center;margin:.2em 0;color:var(--ink-deep)}.pg .bigline.year{font-size:1.02em;color:var(--ink-soft)}.pg .script{font-style:italic;font-size:1.12em;text-align:center;color:var(--ink-soft);margin:.9em 8%}.pg .aside{font-size:.85em;font-style:italic;color:var(--ink-faint)}.pg .rule{display:block;width:56%;margin:.2em auto 1em;color:var(--sepia)}.hours{margin:.4em 0 0}.hours div{display:flex;gap:.9em;padding:.28em 0;border-bottom:1px solid rgba(138,107,66,.25)}.hours div:last-child{border-bottom:0}.hours dt{font-family:IM Fell English SC,serif;min-width:3.1em;color:var(--ink-deep)}.hours dd{margin:0;color:var(--ink-soft)}.registry{display:flex;flex-direction:column;gap:.45em}.gal{columns:2;column-gap:.7em;margin:.6em 0 .4em}.gal.gal-3{columns:3}.gal a{display:block;break-inside:avoid;margin:0 0 .7em;padding:.32em .32em .5em;background:linear-gradient(160deg,#f6efdc,#ece0c4);border:1px solid rgba(70,51,31,.28);box-shadow:0 2px 6px #28180a47,inset 0 0 0 1px #fffaeb99;transform:rotate(-.8deg);transition:transform .35s var(--ease),filter .35s var(--ease),box-shadow .35s var(--ease)}.gal a:nth-child(2n){transform:rotate(.9deg)}.gal a:nth-child(3n){transform:rotate(-.4deg)}.gal a img{display:block;width:100%;height:auto;filter:sepia(.12) saturate(.94)}.gal a:hover,.gal a:focus-visible{transform:rotate(0) scale(1.04);box-shadow:0 10px 22px #28180a66,inset 0 0 0 1px #fffaeb99;outline:none;position:relative;z-index:2}.gal a:focus-visible{outline:2px solid #7a5426;outline-offset:3px}.gal:has(a:hover) a:not(:hover){filter:saturate(.55) brightness(.9)}.scroll .card .gal,.scroll .card .gal.gal-3{columns:3;column-gap:10px}.scroll .card .gal a{margin-bottom:10px}@media(max-width:480px){.scroll .card .gal,.scroll .card .gal.gal-3{columns:2}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#080402eb;padding:3vmin}.lightbox[hidden]{display:none}body.lb-open{overflow:hidden}html:not(.bk){scrollbar-gutter:stable}.lb-figure{margin:0;max-width:92vw;display:grid;justify-items:center;gap:.6em}.lb-img{max-width:92vw;max-height:80vh;width:auto;height:auto;padding:clamp(6px,1vw,12px);background:linear-gradient(160deg,#f6efdc,#ece0c4);box-shadow:0 20px 60px #000000b3}.lb-cap{font-family:IM Fell English,serif;font-style:italic;font-size:clamp(1rem,2vw,1.3rem);color:#e9dcc0;text-align:center}.lightbox button{position:absolute;border:0;background:transparent;color:#e9dcc0;font-family:IM Fell English,serif;cursor:pointer;line-height:1;opacity:.8;transition:opacity .25s var(--ease)}.lightbox button:hover,.lightbox button:focus-visible{opacity:1;outline:none}.lightbox button:focus-visible{outline:2px solid rgba(233,220,192,.7);outline-offset:4px}.lb-close{top:14px;right:20px;font-size:2.4rem}.lb-prev,.lb-next{top:50%;translate:0 -50%;font-size:4rem;padding:.2em .3em}.lb-prev{left:8px}.lb-next{right:8px}.lb-count{position:absolute;bottom:14px;left:50%;translate:-50% 0;font-family:IM Fell English SC,serif;letter-spacing:.2em;font-size:.8rem;color:#e9dcc0b3}@media(max-width:640px){.lb-prev,.lb-next{font-size:3rem}}.cd.ink{display:flex;justify-content:center;align-items:flex-end;gap:.9em;margin:.9em 0 .6em}.cd.ink .cd-group{display:flex;flex-direction:column;align-items:center;gap:.25em}.cd.ink .cd-digits{display:flex;gap:.04em;font-family:Cinzel Decorative,serif;font-weight:700;font-size:1.75em;line-height:1;color:var(--ink-deep)}.cd.ink .cd-slot{position:relative;width:.8em;height:1em;overflow:hidden}.cd.ink .cd-roll{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;transition:transform .65s var(--ease)}.cd.ink .cd-roll span{display:block;height:1em;text-align:center}.cd.ink .cd-slot.cd-quiet{display:none}.cd.ink .cd-label{font-family:IM Fell English SC,serif;font-size:.62em;letter-spacing:.2em;color:var(--ink-faint)}.cd.ink .cd-done{display:none;font-style:italic;color:var(--ink-soft)}.cd.ink.cd-over .cd-group{display:none}.cd.ink.cd-over .cd-done{display:block}html.cd-reduced .cd.ink .cd-roll{transition:none}.rsvp{display:grid;gap:.55em}.rsvp label{display:grid;gap:.2em;font-family:IM Fell English SC,serif;font-size:.82em;letter-spacing:.1em;color:var(--ink-soft)}.rsvp label.narrow{max-width:9em}.rsvp input,.rsvp textarea{font-family:IM Fell English,serif;font-size:1.15em;color:var(--ink-deep);background:#fffaeb59;border:0;border-bottom:1.5px solid rgba(70,51,31,.55);padding:.25em .35em;border-radius:2px 2px 0 0}.rsvp input:focus,.rsvp textarea:focus{outline:none;border-bottom-color:#7a5426;background:#fffaeb8c}.rsvp input:focus-visible,.rsvp textarea:focus-visible{outline:2px solid rgba(122,84,38,.75);outline-offset:2px}.rsvp fieldset{border:0;padding:0;margin:0;display:flex;gap:1.2em;flex-wrap:wrap}.rsvp legend{font-family:IM Fell English SC,serif;font-size:.82em;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:.3em}.rsvp .choice{display:flex;flex-direction:row;align-items:center;gap:.4em;font-family:IM Fell English,serif;font-size:1em;letter-spacing:0;color:var(--ink)}.rsvp .choice input{accent-color:#7a5426}.rsvp .seal{justify-self:start;font-family:IM Fell English SC,serif;font-size:1em;letter-spacing:.12em;color:#f3e6c8;background:linear-gradient(170deg,#6d4a24,#4a2f14);border:1px solid rgba(233,210,160,.5);border-radius:3px;padding:.45em 1.4em;cursor:pointer;box-shadow:0 2px 8px #140a0480}.rsvp .seal:hover{background:linear-gradient(170deg,#7c5629,#57381a)}.rsvp code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.scroll{display:block;max-width:720px;margin:0 auto;padding:0 14px 60px}.m-hero{margin:0 -14px}.m-hero img{width:100%;height:auto;display:block}.card{position:relative;margin:26px 0;padding:clamp(20px,5vw,36px) clamp(18px,5vw,34px);border-radius:6px;overflow:hidden;background:radial-gradient(120% 90% at 30% 8%,#efe2c4 0%,transparent 55%),linear-gradient(165deg,var(--parch) 0%,#e0cda6 60%,var(--parch-deep) 100%);box-shadow:0 10px 30px #0000008c,inset 0 0 0 1px #7a542640;font-size:1.05rem;line-height:1.55}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;filter:url(#foxing);background:#b09468;mix-blend-mode:multiply;opacity:.45;pointer-events:none}.card .pg{position:relative}.card .pg+.pg{margin-top:1.1em}.colophon{text-align:center;font-style:italic;color:#c9b28a;padding-top:8px}.colophon a{color:#e3cf9f}.curtain{position:fixed;top:0;right:0;bottom:0;left:0;background:#060302;pointer-events:none;z-index:30;opacity:1;transition:opacity 1.6s var(--ease)}body.lit .curtain{opacity:0}body:not(.book-mode) .curtain{display:none}body.no-curtain .curtain{display:none}.found-line{margin:.1em 0 .6em;font-size:.94em;font-style:italic;line-height:1.45;min-height:4.35em;color:var(--ink-soft)}.found-line.is-found:before{content:"✦ ";opacity:.7}@media(prefers-reduced-motion:reduce){.curtain,.halo,.spread,.vturn,.stage.glide .spread,.stage.glide .vhits{transition:none}}
