:root{--vk-display:Georgia,serif;--vk-text:Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b1712;color:#edf5ea;font-family:var(--vk-text);font-size:18px;line-height:1.5}h1,h2,p{margin:0}h1,h2{font-family:var(--vk-display);font-weight:400;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(3.4rem,7.7vw,8rem);view-transition-name:vk-title}h2{font-size:clamp(3rem,6.5vw,7rem)}em{color:#a8d8ac;font-weight:400}p{max-width:38rem}a{color:inherit}a:focus-visible{outline:3px solid #b4efbc;outline-offset:5px}.hero,.return,.explain,.close{padding:32px clamp(24px,6vw,100px)}.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;font-size:16px}.hero-copy{margin:auto 0;position:relative;z-index:1}.eyebrow{font-size:16px;margin-bottom:28px;color:#a8d8ac}.hero-copy>p:not(.eyebrow){margin-top:32px}.hero-copy a{display:inline-block;margin-top:32px;padding:12px 0}.hero-mark{position:absolute;right:-2vw;bottom:-24vw;font:60vw/.8 Georgia;color:#173b29;pointer-events:none}.forget{min-height:180vh;background:#d8e6d6;color:#10231a;padding:16vh clamp(24px,12vw,180px)}.forget .eyebrow{color:#315f43}.forget h2{margin-bottom:12vh}.forget .vanish{font:clamp(1.7rem,3vw,3rem)/1.2 Georgia;max-width:20ch;margin:0 0 25vh}.hint{font-size:16px}.return{padding-top:20vh;padding-bottom:20vh}.return h2{margin-bottom:12vh}.recalled{margin-left:35%;font:clamp(1.5rem,2.7vw,2.7rem)/1.25 Georgia}.recalled p{margin-bottom:2em}.return>p:last-child{margin:8vh 0 0 35%}.strata{height:300vh}.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#10251a}.stage canvas{position:absolute;inset:0;width:100%;height:100%}.stage-heading{position:absolute;top:8%;left:6%;z-index:1}.layer-label{position:absolute;right:6%;bottom:8%;display:flex;gap:2rem;color:#d8f4db;font-size:16px}.explain{background:#c8ddc8;color:#10231a;padding-top:18vh;padding-bottom:18vh}.explain .eyebrow{color:#315f43}.explain h2{max-width:14ch}.explain div{margin:10vh 0 0 40%;max-width:38rem}.explain div p+p{margin-top:2rem}.close{min-height:90svh;display:flex;flex-direction:column;justify-content:center}.close h2{font-size:clamp(4rem,12vw,12rem);margin-bottom:3rem}.close>p:not(.eyebrow){margin-bottom:1.5rem;margin-left:40%}@media(max-width:600px){body{font-size:16px}.top span:last-child{font-size:14px}.hero-mark{bottom:-10vw;font-size:85vw;right:-15vw}.forget{padding:12vh 24px}.return{padding-top:14vh;padding-bottom:14vh}.recalled,.return>p:last-child,.explain div,.close>p:not(.eyebrow){margin-left:0}.stage-heading{left:24px}.layer-label{left:24px;right:auto;gap:1.2rem}.explain{padding-top:14vh;padding-bottom:14vh}.close{min-height:80svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.strata{height:100svh}.vanish{opacity:1!important}}

.threshold,.levels,.example{padding:18vh clamp(24px,6vw,100px);min-height:85svh}.threshold{background:#a8d8ac;color:#10231a}.threshold h2{margin:12vh 0}.threshold>p:last-child,.example>p:last-child{margin-left:40%}.levels{background:#e1ebe0;color:#10231a}.levels>div{margin:12vh 0 0 35%}.levels article{padding:2rem 0}.levels h3{font:400 clamp(2rem,4vw,4rem)/1 Georgia;margin:0 0 1rem}.example{background:#183d29}.example h2{margin:12vh 0}.recover{background:#10231a;color:#fff;border:0;padding:16px 24px;font:inherit;cursor:pointer}.recover:focus-visible{outline:3px solid #315f43;outline-offset:4px}@media(max-width:600px){.threshold>p:last-child,.example>p:last-child,.levels>div{margin-left:0}.threshold,.levels,.example{padding:14vh 24px}}

html:not(.vk-js) .recover{display:none}
@media(prefers-reduced-motion:reduce){.recover{display:none}}
.crystal-fallback{position:absolute;width:min(65vw,700px);height:82%;object-fit:contain;right:8%;top:8%}.webgl-ready .crystal-fallback{display:none}.stage canvas{z-index:0}.stage-heading,.layer-label{z-index:1;pointer-events:none}.layer-stories article{min-height:85svh;padding:13vh clamp(24px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.layer-stories article:nth-child(1){background:#183e2a}.layer-stories article:nth-child(2){background:#346547;color:#f1f9ee}.layer-stories article:nth-child(3){background:#d5e9d4;color:#14291b}.layer-stories span,.session-label{font-size:16px;text-transform:uppercase;letter-spacing:.1em}.layer-stories h2{margin:8vh 0}.layer-stories article p{margin-left:40%;max-width:34rem}.session{margin:2rem 0 5rem 40%;max-width:42rem;border-top:1px solid #8cba98}.session p{padding:1.5rem 0;border-bottom:1px solid #557a5f}.session strong{color:#bcebc5}.session-label{color:#a8d8ac}@media(max-width:600px){.crystal-fallback{width:100%;right:0;top:16%;height:65%}.layer-stories article p,.session{margin-left:0}.layer-stories article{min-height:75svh}.layer-label{flex-wrap:wrap}}
/* Una scena continua: il testo e la materia condividono lo stesso spazio. */
body{background:#030a06;color:#effff1}.story{height:1000vh}.story .stage{background:#030a06}.story canvas{position:absolute;inset:0;width:100%;height:100%}.story .crystal-fallback{width:100%;height:100%;right:0;top:0;object-fit:cover;opacity:.55}.brand{position:absolute;top:28px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:14px;z-index:2}.memory,.scene-caption{position:absolute;left:5vw;right:5vw;top:20%;z-index:2}.memory h1{max-width:17ch;font-size:clamp(3rem,7.5vw,8.5rem);text-shadow:0 2px 24px #000}.memory h1 span{display:inline-block;white-space:pre;transition:opacity .15s}.recover{position:absolute;top:0;left:0;background:#d6ffe0;color:#06200f}.scene-caption{top:25%;opacity:0;pointer-events:none;text-shadow:0 2px 24px #000}.scene-caption h2{font-size:clamp(3.5rem,8vw,9rem);margin:.3em 0}.scene-caption p{max-width:30rem}.scene-caption small{font-size:15px}.return-words{font:clamp(2.5rem,6vw,7rem)/1.05 Georgia;transform:translateY(calc((var(--depth) - .23)*100vh))}.finale h2{font-size:clamp(4rem,12vw,13rem)}.scroll-hint{position:absolute;bottom:30px;left:5vw;font-size:14px}.layer-stories,.explain,.levels,.example{background:#030a06;color:#e7f8e9}.layer-stories article:nth-child(n){background:transparent;color:inherit}.threshold,.levels,.example,.explain{background:transparent;color:inherit}.layer-stories article{min-height:65vh}@media(max-width:600px){.memory,.scene-caption{left:24px;right:24px;top:22%}.memory h1{font-size:clamp(2.8rem,12vw,5rem)}.scene-caption h2{font-size:clamp(3.3rem,13vw,6rem)}.brand{left:24px;right:24px}}
html:not(.vk-js) .story,.story:has(+ .never){height:auto}html:not(.vk-js) .story .stage{position:relative;height:auto;min-height:100vh;overflow:visible;padding:100px 24px}html:not(.vk-js) .memory,html:not(.vk-js) .scene-caption{position:relative;inset:auto;opacity:1;transform:none;margin:5rem 0}html:not(.vk-js) .scroll-hint{display:none}@media(prefers-reduced-motion:reduce){.story{height:auto}.story .stage{position:relative;height:auto;min-height:100vh;overflow:visible;padding:100px 24px}.memory,.scene-caption{position:relative;inset:auto;opacity:1!important;transform:none!important;margin:5rem 0}.memory h1 span{opacity:1!important;transform:none!important}.scroll-hint{display:none}}
.memory h1 .word{display:inline-block;white-space:nowrap}.memory h1 .word span{display:inline-block}
.story canvas,.story .crystal-fallback{opacity:clamp(0,calc((var(--depth) - .19)*8),1)}

.explain .eyebrow{color:#83b895}

/* La materia resta nella scena; le parole si posano seguendo la discesa. */
.mineral{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:clamp(0,calc((var(--depth) - .19)*3),.48)}
.return-words{transform:none;top:38%;max-width:18ch;line-height:1.35}
.return-words .sediment-word{display:inline-block;will-change:transform,opacity}
@media(max-width:600px){.return-words{top:38%;font-size:clamp(2rem,9vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.mineral{opacity:.25}.return-words .sediment-word{opacity:1!important;transform:none!important}}
/* Il minerale rimane visibile nella metà illuminata; la scena nasce in ombra a sinistra. */
.mineral{inset:0 0 0 auto;width:58%;opacity:clamp(0,calc((var(--depth) - .19)*2),.25);mask-image:linear-gradient(to right,transparent,#000 45%)}
@media(max-width:600px){.mineral{width:54%;opacity:clamp(0,calc((var(--depth) - .19)*2),.18)}}
