:root{--parchment:#e8dcc0;--parchment-dim:#b8a888;--ochre:#b3502a;--gold:#c9a227;--ink:#0a0805}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{color:var(--parchment);-webkit-font-smoothing:antialiased;background:#000;font-family:Cormorant Garamond,Hoefler Text,Garamond,Georgia,serif;overflow-x:hidden}#scroll-space{height:1600vh}#scene{touch-action:pan-y;width:100vw;height:100dvh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#overlay{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.hidden{visibility:hidden;opacity:0!important}.veil{background:#000;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;transition:opacity 2.5s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#loading{z-index:40}.candle-dot{background:#ffb84d;border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite flicker;box-shadow:0 0 18px 6px #ffa53c8c}@keyframes flicker{0%,to{opacity:.85;transform:scale(1)}30%{opacity:1;transform:scale(1.25)}55%{opacity:.7;transform:scale(.9)}75%{opacity:.95;transform:scale(1.1)}}#loading-text{letter-spacing:.35em;text-transform:lowercase;color:var(--parchment-dim);font-variant:small-caps;font-size:.95rem}#intro{z-index:30;background:0 0}.intro-line{font-variant:small-caps;letter-spacing:.3em;color:var(--parchment);opacity:0;text-align:center;text-shadow:0 0 24px #000000e6;padding:0 2rem;font-size:clamp(1rem,2.6vw,1.5rem);transition:opacity 3s}.intro-line.lit{opacity:.92}#title-card{text-align:center;width:100%;transition:opacity 3s;position:absolute;top:7vh}#title-card h1{letter-spacing:.42em;text-indent:.42em;color:var(--parchment);text-shadow:0 2px 30px #000000d9;font-family:Cinzel,Cormorant Garamond,Georgia,serif;font-size:clamp(1.3rem,3.4vw,2.4rem);font-weight:500}#title-card .subtitle{letter-spacing:.5em;text-indent:.5em;color:var(--parchment-dim);margin-top:.7rem;font-size:clamp(.65rem,1.4vw,.85rem)}#hint{text-align:center;font-variant:small-caps;letter-spacing:.3em;width:100%;color:var(--parchment-dim);font-size:.85rem;transition:opacity 2s;position:absolute;bottom:5vh}.hint-arrow{margin-right:.6em;animation:2.4s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}#seam-tip{letter-spacing:.08em;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0805d1;border:1px solid #c9a22759;padding:.45rem .9rem;font-size:.85rem;transition:opacity .35s;position:absolute;transform:translate(-50%,-140%)}#seam-year{color:var(--gold);font-variant:small-caps;margin-right:.7em}#seam-text{color:var(--parchment);font-style:italic}#plaque{text-align:center;background:linear-gradient(#0c0905c7,#0c0905e0);border-top:1px solid #c9a22780;border-bottom:1px solid #c9a22740;width:min(560px,86vw);padding:1.4rem 2rem 1.2rem;transition:opacity .8s;position:absolute;bottom:6vh;left:50%;transform:translate(-50%)}.plaque-year{color:var(--gold);letter-spacing:.45em;margin-bottom:.4rem;font-size:.8rem}.plaque-title{font-variant:small-caps;letter-spacing:.35em;text-indent:.35em;color:var(--parchment);margin-bottom:.7rem;font-family:Cinzel,Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:500}.plaque-text{color:var(--parchment);opacity:.92;font-size:1.02rem;font-style:italic;line-height:1.55}.plaque-peel{letter-spacing:.32em;text-transform:uppercase;color:var(--parchment-dim);margin-top:.9rem;font-size:.72rem;animation:3s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}.plaque-reveal{letter-spacing:.14em;color:var(--gold);margin-top:.9rem;font-size:.8rem;transition:opacity .6s}#medallion-tip{text-align:center;background:#0a0805d9;border:1px solid #b8a8884d;max-width:320px;padding:.6rem 1.1rem;transition:opacity .35s;position:absolute;transform:translate(-50%,-130%)}.med-name{font-variant:small-caps;letter-spacing:.22em;color:var(--parchment);font-size:.92rem}.med-line{color:var(--parchment-dim);margin-top:.25rem;font-size:.88rem;font-style:italic}#outro{flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;transition:opacity 3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.outro-line{font-variant:small-caps;letter-spacing:.35em;text-align:center;color:var(--parchment);text-shadow:0 0 30px #000000e6;opacity:0;font-size:clamp(1.1rem,3vw,1.7rem);transition:opacity 3s}.outro-line.lit{opacity:.95}#begin-again{pointer-events:auto;color:var(--gold);font-variant:small-caps;letter-spacing:.3em;cursor:pointer;opacity:0;background:0 0;border:1px solid #c9a22773;margin-top:2rem;padding:.7rem 1.8rem;font-family:inherit;font-size:.85rem;transition:opacity 2s 2s,background .3s}#outro.shown #begin-again{opacity:1}#begin-again:hover{background:#c9a2271f}#sound-toggle{pointer-events:auto;color:var(--parchment-dim);cursor:pointer;opacity:.7;z-index:35;background:0 0;border:none;padding:.5rem;transition:opacity .3s;position:absolute;top:1.2rem;right:1.2rem}#sound-toggle:hover{opacity:1}#colophon-toggle{pointer-events:auto;color:var(--parchment-dim);font-variant:small-caps;letter-spacing:.25em;cursor:pointer;opacity:.45;background:0 0;border:none;font-family:inherit;font-size:.7rem;transition:opacity .3s;position:absolute;bottom:1rem;left:1.2rem}#colophon-toggle:hover{opacity:.9}#colophon{pointer-events:auto;background:#050402f0;padding:8vh 8vw;transition:opacity .5s;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}#colophon h3{letter-spacing:.4em;color:var(--gold);margin-bottom:1.2rem;font-family:Cinzel,Georgia,serif;font-weight:500}.colophon-note{color:var(--parchment-dim);max-width:60ch;margin-bottom:1.2rem;font-style:italic}#colophon-list{columns:2;column-gap:3rem;margin-bottom:1.6rem;list-style:none}#colophon-list li{color:var(--parchment);opacity:.85;break-inside:avoid;margin-bottom:.5rem;font-size:.85rem}#colophon-list li span{color:var(--parchment-dim);font-style:italic}#colophon-close{pointer-events:auto;color:var(--gold);font-variant:small-caps;letter-spacing:.3em;cursor:pointer;background:0 0;border:1px solid #c9a22773;padding:.5rem 1.4rem;font-family:inherit;font-size:.8rem}@media (max-width:700px){#colophon-list{columns:1}}@media (max-width:640px){#plaque{padding:1rem 1.2rem .9rem;bottom:3vh}.plaque-text{font-size:.92rem}#hint{font-size:.75rem}}
