:root{--card-w:min(86vw, calc(72svh * 5 / 7), 460px);--serif:"Cormorant Garamond", Georgia, serif;--script:"Pinyon Script", cursive;font-family:var(--serif);font-variant-numeric:lining-nums;color:var(--ink)}*,:before,:after{box-sizing:border-box;margin:0}html,body{background:var(--table,#d9cfc1);-webkit-tap-highlight-color:transparent;height:100%;overflow:hidden}button{font:inherit;color:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#scene{opacity:0;transition:opacity .8s;position:fixed;inset:0}#scene.is-ready{opacity:1}#scene canvas{touch-action:manipulation;display:block}.hint{left:50%;bottom:calc(max(6svh, env(safe-area-inset-bottom)) + 8px);letter-spacing:.04em;white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;padding:12px 22px;font-size:1.3rem;font-style:italic;transition:opacity .8s;position:fixed;translate:-50%}.hint.is-visible{opacity:1;pointer-events:auto}.hint:after{content:"";background:var(--gold);width:40%;height:1px;margin:6px auto 0;animation:2.4s ease-in-out infinite hint-line;display:block}@keyframes hint-line{50%{width:70%}}.card-stage{pointer-events:none;place-items:center;height:100svh;display:grid}.letters{width:var(--card-w);aspect-ratio:5/7;transition:opacity .7s,translate .9s cubic-bezier(.6,0,.3,1);position:relative}.card-stage.is-leaving .letters{opacity:0;translate:0 -40px}.card,.letter-img{opacity:0;visibility:hidden;cursor:pointer;transition:opacity .7s,visibility .7s,filter .9s}.card.is-front,.letter-img.is-front{cursor:auto}.card{background:50%/100% 100% no-repeat;width:100%;height:100%;position:relative;container-type:inline-size}.letter-img{-webkit-user-select:none;user-select:none;width:96%;height:auto;margin:auto;display:block;position:absolute;inset:0}.card.is-visible,.letter-img.is-visible{opacity:1;visibility:visible;pointer-events:auto;filter:drop-shadow(0 18px 28px #3c281438)}.next-letter{border:1px solid var(--goldInk);background:var(--paper);white-space:nowrap;cursor:pointer;opacity:0;visibility:hidden;border-radius:999px;min-height:40px;padding:6px 20px;font-size:1.05rem;font-style:italic;transition:opacity .7s .3s,visibility .7s .3s}.next-letter.is-visible{opacity:1;visibility:visible;pointer-events:auto}.card-stage.is-leaving .next-letter{opacity:0;visibility:hidden;transition-delay:0s}.next-letter:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.card__bottom{text-align:center;flex-direction:column;justify-content:space-evenly;align-items:center;display:flex;position:absolute;inset:61.5% 9% 7.5%}.card__label{color:var(--goldInk);font-size:4.4cqw;font-style:italic}.countdown{display:flex}.countdown>div{flex-direction:column;align-items:center;width:18cqw;display:flex;position:relative}.countdown>div+div:before{content:"";border-left:1px solid color-mix(in srgb, var(--gold) 55%, transparent);height:52%;position:absolute;top:12%;left:0}.countdown span{font-variant-numeric:lining-nums tabular-nums;font-size:10.5cqw;font-weight:500;line-height:1}.countdown small{letter-spacing:.25em;text-transform:uppercase;color:var(--goldInk);margin-top:1.4cqw;font-size:2.5cqw}.enter{border:1px dashed var(--gold);color:var(--goldInk);cursor:not-allowed;background:0 0;border-radius:999px;align-items:center;gap:2cqw;padding:2.4cqw 5cqw;font-size:3.7cqw;font-style:italic;transition:background .6s,color .6s,box-shadow .6s;display:inline-flex}.enter__lock{width:3.8cqw;height:3.8cqw}.enter:not(:disabled){background:var(--wax);color:#f6ead8;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px 0 #fff3, 0 6px 14px color-mix(in srgb, var(--wax) 40%, transparent);border:1px solid #0000;padding-inline:8cqw;font-size:3.6cqw;font-style:normal;animation:2.6s ease-in-out infinite enter-glow}.enter:not(:disabled) .enter__lock{display:none}.enter:focus-visible,.hint:focus-visible,.sections__back:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@keyframes enter-glow{50%{box-shadow:inset 0 1px 0 #fff3, 0 6px 22px color-mix(in srgb, var(--wax) 65%, transparent)}}.journal{background:var(--table);opacity:0;transition:opacity .8s;position:fixed;inset:0;overflow:hidden auto}.journal.is-visible{opacity:1}.journal__surface{padding:max(56px, env(safe-area-inset-top)) calc(var(--band-w) + 6px) 72px}.journal__surface>*{max-width:960px;margin-inline:auto}.reveal{opacity:0;transition:opacity .9s,translate .9s;translate:0 24px}.reveal.is-in{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;translate:none}}.ornament{color:var(--gold);align-items:center;gap:8px;display:inline-flex}.ornament i{background:currentColor;width:56px;height:1px}.ornament b{border:1px solid;width:7px;height:7px;rotate:45deg}.tape{z-index:2;background:color-mix(in srgb, var(--liner) 65%, transparent);width:96px;height:26px;position:absolute;box-shadow:0 1px 2px #00000014}.tape--left{top:-10px;left:18px;rotate:-8deg}.tape--right{top:-10px;right:18px;rotate:7deg}.journal__header{text-align:center}.journal__kicker,.journal__date{letter-spacing:.3em;text-transform:uppercase;font-size:.95rem}.journal__names{font-family:var(--script);margin:10px 0 6px;font-size:clamp(3rem,12vw,5.5rem);font-weight:400;line-height:1.1}.journal__index{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.journal__index a{background:var(--paper) var(--paper-img) center / cover;min-width:96px;color:var(--ink);flex-direction:column;align-items:center;gap:2px;padding:12px 14px 10px;font-size:1.15rem;text-decoration:none;transition:translate .3s;display:flex;box-shadow:0 1px 2px #3c281426,0 6px 14px #3c28141a}.journal__index a:first-child{rotate:-2deg}.journal__index a:nth-child(2){rotate:1deg}.journal__index a:nth-child(3){rotate:-1deg}.journal__index a:hover{translate:0 -3px}.journal__index span{letter-spacing:.2em;color:var(--goldInk);font-size:.8rem}.journal__index a:focus-visible,.journal__back:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.journal__section{padding-top:72px;scroll-margin-top:8px}.sec-head{text-align:center;margin-bottom:32px}.sec-head__num{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--wax) 80%, #fff 20%), var(--wax) 60%);color:#f6ead8;letter-spacing:.05em;width:46px;height:46px;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--wax) 75%, #000 25%), 0 2px 6px #3c14144d;border-radius:50%;place-items:center;font-size:1rem;display:inline-grid}.sec-head__kicker{letter-spacing:.3em;text-transform:uppercase;margin-top:14px;font-size:.85rem}.sec-head__title{font-family:var(--script);font-size:clamp(2.5rem,9vw,3.8rem);font-weight:400;line-height:1.15}.film{background:var(--paper) var(--paper-img) center / cover;max-width:760px;margin:0 auto;padding:14px 14px 10px;position:relative;rotate:-.6deg;box-shadow:0 1px 2px #3c281426,0 16px 32px #3c28142e}.film__frame{aspect-ratio:16/9;background:#241d19;position:relative;overflow:hidden}.film__video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.film__empty{color:#efe4cf;background:radial-gradient(circle at 50% 40%,#4a3d33,#241d19);place-content:center;justify-items:center;gap:14px;font-size:1.2rem;font-style:italic;display:grid;position:absolute;inset:0}.film__play{border:1px solid #efe4cf99;border-radius:50%;width:64px;height:64px;position:relative}.film__play:after{content:"";border:11px solid #0000;border-left:18px solid #efe4cf;border-right-width:0;position:absolute;top:50%;left:54%;translate:-50% -50%}.film figcaption{text-align:center;margin-top:8px;font-family:Caveat,cursive;font-size:1.45rem}.journal__help{text-align:center;margin-top:16px;font-style:italic}.journal__footer{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:88px;display:flex}.journal__sign{font-family:var(--script);font-size:2.2rem}.journal__back{cursor:pointer;background:0 0;border:0;padding:10px 16px;font-size:1.1rem;font-style:italic}.book{--foil:#e8d5a3;flex-direction:column;align-items:center;display:flex}.book__stage{aspect-ratio:3/4;perspective:2200px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;width:min(86vw,400px,49.5svh);position:relative}.book--spread .book__stage{aspect-ratio:3/2;width:min(92vw,880px,93svh)}.book__stage:focus-visible{outline:2px solid var(--ink);outline-offset:10px}.book__leaves{transform-style:preserve-3d;transition:translate .7s cubic-bezier(.6,0,.3,1);position:absolute;inset:0}.book--spread.is-closed-front .book__leaves{translate:-25%}.book--spread.is-closed-back .book__leaves{translate:25%}.book__block{background:var(--paper);width:100%;box-shadow:1px 1px 0 color-mix(in srgb, var(--paper) 85%, #000 15%), 2px 2px 0 color-mix(in srgb, var(--paper) 92%, #000 8%), 0 18px 34px #3c281447;border-radius:2px;position:absolute;top:0;bottom:0;left:0;transform:translateZ(-2px)}.book--spread .book__block--left{width:50%}.book--spread .book__block--right{width:50%;left:50%}.book:not(.book--spread) .book__block--left,.book:not(.has-left) .book__block--left,.book:not(.has-right) .book__block--right{display:none}.leaf{transform-origin:0;width:100%;transform-style:preserve-3d;will-change:transform;position:absolute;top:0;bottom:0;left:0}.book--spread .leaf{width:50%;left:50%}.page{backface-visibility:hidden;background:var(--paper) var(--paper-img) center / cover;color:var(--ink);position:absolute;inset:0;overflow:hidden;container-type:inline-size}.page--back{transform:rotateY(180deg)}.page:before{content:"";z-index:3;pointer-events:none;width:10%;position:absolute;top:0;bottom:0}.page--front:before{background:linear-gradient(90deg,#3c281429,#0000);left:0}.page--back:before{background:linear-gradient(270deg,#3c281429,#0000);right:0}.page:after{content:"";z-index:3;pointer-events:none;opacity:var(--curl,0);background:linear-gradient(90deg,#0000 25%,#28190a4d);position:absolute;inset:0}.page--back:after{background:linear-gradient(270deg,#0000 25%,#28190a4d)}.page--cover{background-color:var(--cover);color:var(--foil);background-image:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#0000000f 0 1px,#0000 1px 3px),radial-gradient(circle at 30% 20%,#ffffff14,#0000 60%);background-size:auto;place-items:center;display:grid}.page--cover-album{--cover:#55694f}.page--cover-story{--cover:#6b1c27}.page--cover.page--front:before{background:linear-gradient(90deg,#00000059,#ffffff0f 40%,#0000);width:7%}.page--cover.page--back:before{background:linear-gradient(270deg,#00000059,#ffffff0f 40%,#0000);width:7%}.cover__frame{border:1px solid color-mix(in srgb, var(--foil) 70%, transparent);outline:1px solid color-mix(in srgb, var(--foil) 40%, transparent);outline-offset:-2.2cqw;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3.5cqw;display:flex;position:absolute;inset:7% 8% 7% 11%}.cover__names,.cover__title,.cover__monogram{background:linear-gradient(110deg,#c9a96a,#f5e6ba 40%,#b8955a 62%,#efdcaa);color:#0000;-webkit-background-clip:text;background-clip:text}.cover__names{font-family:var(--script);font-size:10cqw;line-height:1.2}.cover__title{letter-spacing:.22em;text-transform:uppercase;font-size:6.2cqw;font-weight:500}.cover__date{letter-spacing:.3em;font-size:3.4cqw}.page--cover .ornament i{width:12cqw}.cover__monogram{font-family:var(--script);font-size:11cqw}.page--endpaper{background:var(--liner) var(--liner-img) center / cover}.page--paper{padding:11% 12% 12%}.page--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4cqw;display:flex}.page .ornament{gap:2cqw}.page .ornament i{width:14cqw}.page .ornament b{width:1.8cqw;height:1.8cqw}.page__script{font-family:var(--script);font-size:9cqw;line-height:1.25}.page__lead{max-width:88%;font-size:5cqw;font-style:italic;line-height:1.45}.page__title{letter-spacing:.12em;text-transform:uppercase;font-size:7cqw;font-weight:500}.page__title--small{font-size:5.4cqw}.page__byline{color:var(--goldInk);font-size:4.6cqw;font-style:italic}.page__date{letter-spacing:.3em;color:var(--goldInk);font-size:3.8cqw}.page--text{flex-direction:column;display:flex}.page__body{text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-size:4.5cqw;line-height:1.55}.page__body p+p{margin-top:.7em}.page--chapter .page__body>p:first-child:first-letter{float:left;font-family:var(--serif);color:var(--wax);margin-top:.06em;padding-right:.08em;font-size:3.3em;font-weight:500;line-height:.82}.chapter__head{text-align:center;flex-direction:column;align-items:center;gap:1.6cqw;margin:4cqw 0 7cqw;display:flex}.chapter__num{letter-spacing:.3em;text-transform:uppercase;color:var(--goldInk);font-size:3.4cqw}.chapter__title{font-family:var(--script);font-size:10.5cqw;font-weight:400;line-height:1.1}.chapter__when{color:var(--goldInk);font-size:3.8cqw;font-style:italic}.page__folio{letter-spacing:.1em;text-align:center;color:var(--goldInk);font-size:3.4cqw;position:absolute;bottom:5.5%;left:0;right:0}.page--toc{flex-direction:column;align-items:center;gap:3cqw;padding-top:18%;display:flex}.toc{gap:4.5cqw;width:100%;margin-top:5cqw;padding:0;font-size:4.6cqw;list-style:none;display:grid}.toc li{align-items:baseline;gap:2cqw;display:flex}.toc__num{letter-spacing:.1em;width:9cqw;color:var(--goldInk);font-size:.8em}.toc__dots{border-bottom:1px dotted color-mix(in srgb, var(--ink) 45%, transparent);flex:1;translate:0 -.3em}.page--photos{flex-direction:column;justify-content:center;align-items:center;gap:7cqw;padding:10%;display:flex}.photo{rotate:var(--tilt);background:#fbf8f2;padding:3.5cqw 3.5cqw 0;position:relative;box-shadow:0 1px 1px #00000014,0 3cqw 5cqw #3c28142e}.page--photos-1 .photo{width:84%}.page--photos-2 .photo{width:62%}.page--photos-2 .photo:first-child{align-self:flex-start}.page--photos-2 .photo:nth-child(2){align-self:flex-end}.photo__img{aspect-ratio:4/3;overflow:hidden}.page--photos-1 .photo__img{aspect-ratio:4/5}.photo img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.photo__empty{width:100%;height:100%;color:var(--goldInk);letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,#e6ddce,#d3c7b4);place-content:center;justify-items:center;gap:2cqw;font-size:3.4cqw;display:grid}.photo__empty svg{width:10cqw}.photo figcaption{text-align:center;padding:1.6cqw 0 2.6cqw;font-family:Caveat,cursive;font-size:5.2cqw;line-height:1.1}.photo .tape{width:28cqw;height:6.5cqw;top:-2.6cqw;left:50%;translate:-50%;rotate:-4deg}.book__nav{align-items:center;gap:18px;margin-top:22px;display:flex}.book__btn{border:1px solid var(--goldInk);background:var(--paper);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1}.book__btn:disabled{opacity:.35;cursor:default}.book__btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.book__count{font-variant-numeric:lining-nums tabular-nums;letter-spacing:.12em;text-align:center;min-width:96px;font-size:1rem}:root{--band-w:20px}@media (width>=760px){:root{--band-w:30px}}.table{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;position:fixed;inset:0;overflow:hidden}.table.is-open{overflow:hidden auto}.cloth{isolation:isolate;background:var(--table) var(--cloth-img) 0 0 / 512px 512px;min-height:100%;position:relative}.cloth:before,.cloth:after{content:"";z-index:0;width:var(--band-w);background:var(--cloth-band) 0 0 / 100% auto repeat-y;pointer-events:none;position:absolute;top:0;bottom:0}.cloth:before{left:0}.cloth:after{right:0;scale:-1 1}.cloth>*{z-index:1;position:relative}.cloth>#scene{z-index:0;position:fixed}.cloth-picker{top:max(8px, env(safe-area-inset-top));z-index:50;border:1px solid var(--goldInk);background:var(--paper);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 8px;font-size:.85rem;display:flex;position:fixed;right:8px}.cloth-picker[hidden]{display:none}.cloth-picker button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:28px;padding:0 9px}.cloth-picker button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cloth-picker button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.cats{z-index:5;image-rendering:pixelated;pointer-events:none;opacity:0;transition:opacity .8s .5s;position:absolute;top:0;left:0}.cats.is-visible{opacity:1}.cats-hit{z-index:6;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute}.cats-hit[hidden]{display:none}.cats-hit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stage-actions{bottom:max(8px, env(safe-area-inset-bottom));z-index:4;align-items:center;gap:12px;display:flex;position:absolute;left:50%;translate:-50%}.more-cue{border:1px solid var(--goldInk);background:var(--paper);min-height:40px;color:var(--ink);white-space:nowrap;opacity:0;visibility:hidden;border-radius:999px;align-items:center;padding:6px 14px;font-size:1.05rem;font-style:italic;text-decoration:none;transition:opacity .7s .3s,visibility .7s .3s;display:inline-flex}.table.is-open .more-cue{opacity:1;visibility:visible;pointer-events:auto}.card-stage.is-leaving .more-cue{opacity:0;visibility:hidden}.more-cue:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.table-more{padding:40px calc(var(--band-w) + 8px) 72px;display:none}.table.is-open .table-more{display:block}.directions{background:var(--paper) var(--paper-img) center / cover;text-align:center;max-width:560px;margin:0 auto;padding:34px 22px 26px;scroll-margin-top:56px;position:relative;rotate:-.5deg;box-shadow:0 1px 2px #3c281426,0 16px 32px #3c28142e}.directions__title{font-family:var(--script);font-size:clamp(2.5rem,10vw,3.4rem);font-weight:400;line-height:1.15}.directions__details{gap:14px;margin:20px 0;display:grid}.directions__details dt{letter-spacing:.25em;text-transform:uppercase;color:var(--goldInk);font-size:.8rem}.directions__details dd{margin:2px 0 0;font-size:1.3rem;font-weight:500;line-height:1.25}.directions__map{margin:0}.map{border:1px solid var(--gold);background:#f0e8d8;width:100%;height:auto;display:block}.map__minor,.map__major{fill:none;stroke-linecap:round;stroke-linejoin:round}.map__minor{stroke:#d8cbb2;stroke-width:3px}.map__major{stroke:#c2ae8a;stroke-width:7px}.map__label{fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#f0e8d8;stroke-width:3px;font-size:15px;font-style:italic;font-weight:500}.map__label--here{fill:var(--wax);font-weight:600}.map__pin path{fill:var(--wax);stroke:#f6ead8;stroke-width:2px}.directions__map figcaption{color:var(--goldInk);margin-top:4px;font-size:.8rem;font-style:italic}.directions__links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.directions__link{border:1px solid var(--goldInk);min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:8px 20px;font-size:1.1rem;text-decoration:none;display:inline-flex}.directions__link--main{background:var(--wax);color:#f6ead8;border-color:#0000}.directions__link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.table-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px;max-width:960px;margin:44px auto 0;display:grid}@media (width>=760px){.table-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}}.table-photo{rotate:var(--tilt);background:#fbf8f2;margin:0;padding:8px 8px 0;position:relative;box-shadow:0 1px 1px #0000001a,0 12px 20px #3c281433}.table-photo:nth-child(2n){margin-top:18px}.table-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.table-photo figcaption{text-align:center;padding:6px 0 9px;font-family:Caveat,cursive;font-size:1.25rem;line-height:1.1}.table-photo .tape{width:72px;height:20px;top:-10px;left:50%;translate:-50%;rotate:-4deg}
