/* A first chamber for exploration: one passage in focus, nearby turns held in reserve. */
.stories-entry{padding:clamp(55px,8vw,98px) 0 100px}
.stories-intro{max-width:980px;padding:0 0 clamp(58px,7vw,100px)}
.stories-intro .chapter{margin:0 0 27px}
.stories-intro h1{margin:0 0 30px;font:500 clamp(48px,6vw,78px)/1.02 "EB Garamond",Georgia,serif;letter-spacing:-.02em}
.stories-intro__lead{max-width:35ch;margin:0 0 22px;color:#e2c396;font:400 clamp(23px,2.7vw,33px)/1.3 "EB Garamond",Georgia,serif}
.stories-intro__shortcut{display:inline-flex;align-items:center;gap:13px;min-height:44px;border-bottom:1px solid rgba(226,195,150,.8);color:#f7f2e6;font:500 15px/1.4 "IBM Plex Sans",Arial,sans-serif;text-decoration:none}
.stories-intro__shortcut:hover{color:#e2c396}
.stories-intro__shortcut span{color:#e2c396;font-size:20px}
#stories-paths{scroll-margin-top:24px}
.stories-narrative{display:grid;grid-template-columns:minmax(160px,.43fr) minmax(0,1fr);gap:clamp(36px,7vw,118px);padding:clamp(50px,6vw,82px) 0 clamp(75px,9vw,120px);border-top:1px solid rgba(226,195,150,.7)}
.stories-narrative__margin{padding-top:4px;color:#e2c396;font:italic 19px/1.3 "EB Garamond",Georgia,serif}
.stories-narrative__margin::before{content:"";display:block;width:34px;height:1px;margin-bottom:22px;background:#e2c396}
.stories-narrative__body{min-width:0;max-width:720px}
.stories-narrative h2{max-width:17ch;margin:0 0 39px;font:500 clamp(43px,5vw,66px)/1.06 "EB Garamond",Georgia,serif}
.stories-narrative h3{margin:57px 0 24px;color:#e2c396;font:500 clamp(29px,3vw,38px)/1.12 "EB Garamond",Georgia,serif}
.stories-narrative p{max-width:62ch;margin:0 0 24px;color:#e4ded2;font:400 clamp(19px,1.8vw,22px)/1.55 "EB Garamond",Georgia,serif}
.stories-narrative blockquote{max-width:22ch;margin:49px 0 53px;padding:0 0 0 23px;border-left:1px solid #e2c396;color:#e2c396;font:italic 400 clamp(27px,3vw,39px)/1.18 "EB Garamond",Georgia,serif}
.stories-narrative .stories-narrative__ending{margin:42px 0 0;color:#e2c396;font-size:clamp(22px,2.2vw,28px);line-height:1.4}
.stories-first{display:grid;grid-template-columns:minmax(160px,.43fr) minmax(0,1fr);gap:clamp(36px,7vw,118px);padding:clamp(43px,5vw,70px) 0 clamp(54px,6vw,85px);border-top:1px solid rgba(247,242,230,.2);border-bottom:1px solid rgba(247,242,230,.2)}
.stories-first__margin{padding-top:4px;color:#e2c396;font:italic 19px/1.3 "EB Garamond",Georgia,serif}
.stories-first__margin::before{content:"";display:block;width:34px;height:1px;margin-bottom:22px;background:#e2c396}
.stories-first .chapter{margin:0 0 21px}
.stories-first h2{max-width:18ch;margin:0 0 22px;font:500 clamp(33px,3.8vw,49px)/1.08 "EB Garamond",Georgia,serif}
.stories-first article>p:not(.chapter){max-width:48ch;margin:0 0 25px;color:#d7d1c5;font:400 clamp(18px,1.7vw,21px)/1.5 "EB Garamond",Georgia,serif}
.stories-first__link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-width:235px;min-height:48px;padding:8px 0;border-bottom:1px solid #e2c396;color:#f7f2e6;font:500 17px/1.3 "IBM Plex Sans",Arial,sans-serif;text-decoration:none}
.stories-first__link span{color:#e2c396}
.stories-first__link:hover{color:#e2c396}
.stories-nearby{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1fr);gap:clamp(40px,8vw,130px);padding:clamp(58px,8vw,100px) 0 25px}
.stories-nearby .chapter{margin:0 0 19px}
.stories-nearby h2{max-width:17ch;margin:0;font:500 clamp(31px,3.5vw,46px)/1.12 "EB Garamond",Georgia,serif}
.stories-nearby__paths a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 30px;min-height:150px;padding:23px 0 28px;border-top:1px solid rgba(247,242,230,.27);color:#f7f2e6;text-decoration:none}
.stories-nearby__paths a:last-child{border-bottom:1px solid rgba(247,242,230,.27)}
.stories-nearby__paths a>span{grid-column:1/-1;color:#e2c396;font:italic 17px/1.3 "EB Garamond",Georgia,serif}
.stories-nearby__paths strong{font:500 clamp(26px,2.7vw,36px)/1.1 "EB Garamond",Georgia,serif}
.stories-nearby__paths small{grid-column:1;color:#cfc9bd;font:400 15px/1.45 "IBM Plex Sans",Arial,sans-serif}
.stories-nearby__paths em{grid-column:2;grid-row:2/4;align-self:end;color:#e2c396;font:500 14px/1.4 "IBM Plex Sans",Arial,sans-serif;font-style:normal;white-space:nowrap}
.stories-nearby__paths a:hover strong{text-decoration:underline;text-decoration-color:#e2c396;text-underline-offset:.14em}
.stories-entry a:focus-visible{outline:3px solid #42b6a6;outline-offset:5px}
@media(max-width:800px){.stories-narrative,.stories-first{grid-template-columns:1fr;gap:26px}.stories-narrative__margin::before,.stories-first__margin::before{display:inline-block;vertical-align:middle;margin:0 15px 4px 0}.stories-nearby{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.stories-entry{padding:55px 0 72px}.stories-intro{padding-bottom:62px}.stories-intro h1{margin-bottom:25px}.stories-narrative{padding:40px 0 69px}.stories-narrative h2{margin-bottom:29px}.stories-narrative h3{margin-top:46px}.stories-narrative blockquote{margin:41px 0 44px}.stories-first{padding:41px 0 58px}.stories-first h2{margin-bottom:20px}.stories-nearby{padding-top:62px}.stories-nearby__paths a{grid-template-columns:1fr;gap:10px;min-height:0}.stories-nearby__paths a>span,.stories-nearby__paths small,.stories-nearby__paths em{grid-column:1;grid-row:auto}.stories-nearby__paths em{margin-top:7px}.stories-first__link{width:100%}}

/* Stories entrance: a piece of the world, with one complete story beyond its threshold. */
.stories-hero{position:relative;isolation:isolate;min-height:min(830px,calc(100svh - 76px));overflow:hidden;display:flex;align-items:center;background:#101714}
.stories-hero__art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.stories-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(11,15,14,.97) 0%,rgba(11,15,14,.88) 37%,rgba(11,15,14,.48) 100%),linear-gradient(0deg,rgba(11,15,14,.72),transparent 62%)}
.stories-hero__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(380px,.9fr);align-items:center;gap:clamp(32px,7vw,130px);padding-top:clamp(70px,9vw,135px);padding-bottom:clamp(70px,9vw,135px)}
.stories-hero__introduction{align-self:start}.stories-hero__introduction .chapter{margin-bottom:25px}
.stories-hero h1{max-width:11ch;margin:0 0 25px;font:500 clamp(52px,6vw,88px)/.98 "EB Garamond",Georgia,serif;letter-spacing:-.025em}
.stories-hero__introduction>p:last-child{max-width:28ch;color:#e2c396;font:400 clamp(24px,2.6vw,35px)/1.24 "EB Garamond",Georgia,serif;margin:0}
.opening-module{position:relative;align-self:end;margin-top:95px;padding:clamp(30px,3.5vw,56px);border:1px solid rgba(226,195,150,.54);background:rgba(11,15,14,.91);box-shadow:0 30px 80px rgba(0,0,0,.37);backdrop-filter:blur(8px)}
.opening-module::before{content:"✦";position:absolute;top:-18px;right:27px;display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(226,195,150,.6);background:#101714;color:#e2c396;font-size:16px}
.opening-module__eyebrow{margin:0 0 25px;color:#e2c396;font:500 12px/1.4 "IBM Plex Sans",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.opening-module h2{max-width:15ch;margin:0 0 23px;font:500 clamp(37px,3.9vw,58px)/1.03 "EB Garamond",Georgia,serif}
.opening-module__scene{margin:0 0 19px;color:#f0e6d7;font:400 clamp(20px,1.8vw,25px)/1.38 "EB Garamond",Georgia,serif}
.opening-module__promise{margin:0 0 28px;color:#cfc9bd;font:400 15px/1.55 "IBM Plex Sans",Arial,sans-serif}
.opening-module__link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:9px 0;border-bottom:1px solid #e2c396;text-decoration:none;font:500 15px/1.4 "IBM Plex Sans",Arial,sans-serif}
.opening-module__link:hover{color:#e2c396}.opening-module__link span{color:#e2c396}
.opening-module__rule{display:block;width:38px;height:1px;background:#e2c396;margin-top:33px}
.stories-entry--paths{padding-top:20px}.stories-entry--paths .stories-first{border-top:0}
.story-detail{max-width:1100px}.story-back{display:inline-flex;min-height:44px;align-items:center;color:#e2c396;font:500 15px "IBM Plex Sans",Arial,sans-serif}
.story-detail__intro{padding:65px 0 56px}.story-detail__intro h1{max-width:14ch;margin:0 0 25px;font:500 clamp(49px,6vw,82px)/1 "EB Garamond",Georgia,serif}
.story-detail__intro>p:last-child{max-width:31ch;margin:0;color:#e2c396;font:400 clamp(24px,2.7vw,35px)/1.25 "EB Garamond",Georgia,serif}
.story-detail .stories-narrative{grid-template-columns:130px minmax(0,1fr);gap:clamp(35px,6vw,90px)}
.story-detail__end{display:flex;gap:40px;flex-wrap:wrap;border-top:1px solid rgba(247,242,230,.25);padding:38px 0}.story-detail__end a{font:500 16px "IBM Plex Sans",Arial,sans-serif}
@media(max-width:900px){.stories-hero__inner{grid-template-columns:1fr 1fr;gap:30px}.opening-module{margin-top:70px}.stories-hero h1{font-size:clamp(48px,6.4vw,68px)}}
@media(max-width:700px){.stories-hero{min-height:0}.stories-hero::before{background:linear-gradient(0deg,rgba(11,15,14,.98) 0%,rgba(11,15,14,.87) 64%,rgba(11,15,14,.46) 100%)}.stories-hero__art{object-position:center 28%}.stories-hero__inner{display:block;padding-top:70px;padding-bottom:58px}.stories-hero h1{font-size:clamp(48px,11vw,67px)}.stories-hero__introduction>p:last-child{font-size:clamp(23px,5.5vw,29px)}.opening-module{margin-top:48px;padding:30px 26px}.opening-module h2{font-size:clamp(37px,9vw,50px)}.story-detail__intro{padding:45px 0}.story-detail .stories-narrative{grid-template-columns:1fr;gap:24px}.stories-entry--paths{padding-top:0}}

/* The opening story unfolds in place. Hidden panels still size the grid, so
   changing passages never jumps the rest of the page. Without JS all remain readable. */
.story-carousel{align-self:center;margin-top:0}
.story-carousel .opening-module__eyebrow{margin-bottom:16px}
.story-carousel h2{font-size:clamp(34px,3.3vw,48px);margin-bottom:22px}
.story-carousel__viewport{min-width:0}
.story-carousel.is-ready .story-carousel__viewport{display:grid}
.story-carousel.is-ready .story-panel{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none}
.story-carousel.is-ready .story-panel.is-current{visibility:visible;opacity:1;pointer-events:auto}
.story-panel{min-width:0;padding-top:17px;border-top:1px solid rgba(226,195,150,.36)}
.story-panel + .story-panel:not(.is-current){margin-top:38px}
.story-carousel.is-ready .story-panel + .story-panel{margin-top:0}
.story-panel h3{margin:0 0 17px;color:#e2c396;font:italic 400 clamp(23px,2vw,28px)/1.1 "EB Garamond",Georgia,serif}
.story-panel h3:focus{outline:2px solid #42b6a6;outline-offset:5px}
.story-panel p{margin:0;color:#f0e6d7;font:400 clamp(19px,1.65vw,23px)/1.4 "EB Garamond",Georgia,serif}
.story-panel__continue{display:inline-flex;gap:14px;min-height:44px;align-items:center;margin-top:20px;border-bottom:1px solid #e2c396;color:#f7f2e6;text-decoration:none;font:500 14px/1.4 "IBM Plex Sans",Arial,sans-serif}
.story-panel__continue span{color:#e2c396}
.story-carousel__controls{display:none;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:17px;border-top:1px solid rgba(226,195,150,.36)}
.story-carousel.is-ready .story-carousel__controls{display:flex}
.story-carousel__controls button{min-height:44px;border:1px solid rgba(226,195,150,.6);background:transparent;color:#f7f2e6;font:500 14px "IBM Plex Sans",Arial,sans-serif;cursor:pointer}
.story-carousel__previous{min-width:44px}.story-carousel__next{min-width:106px;padding:0 14px}.story-carousel__next span{color:#e2c396}
.story-carousel__controls button:disabled{opacity:.35;cursor:default}
.story-carousel__controls button:not(:disabled):hover{background:rgba(226,195,150,.16)}
.story-carousel__position{color:#e2c396;font:500 13px "IBM Plex Sans",Arial,sans-serif;white-space:nowrap}
.story-carousel__full{display:inline-flex;align-items:center;gap:14px;min-height:36px;margin-top:14px;color:#cfc9bd;text-decoration:underline;text-decoration-color:rgba(226,195,150,.5);font:400 13px "IBM Plex Sans",Arial,sans-serif}
.story-carousel__full:hover{color:#f7f2e6}
@media(max-width:700px){.stories-hero__inner{padding-top:48px;padding-bottom:48px}.story-carousel{margin-top:32px;padding:28px 24px}.story-carousel h2{font-size:37px}.story-panel p{font-size:19px;line-height:1.36}.story-panel h3{font-size:23px}.story-carousel__controls{margin-top:24px}}

/* Full Arcana gallery: complete cards, with horizontal room to discover them. */
.arcana-gallery{padding:clamp(64px,8vw,112px) 0 clamp(70px,8vw,120px);border-top:1px solid rgba(226,195,150,.25);border-bottom:1px solid rgba(226,195,150,.25);background:#151c1a}
.arcana-gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.arcana-gallery__heading .chapter{margin:0 0 17px}
.arcana-gallery__heading h2{max-width:17ch;margin:0 0 14px;font:500 clamp(37px,4.5vw,61px)/1.04 "EB Garamond",Georgia,serif}
.arcana-gallery__heading p:last-child{max-width:42ch;margin:0;color:#d5cabb;font:400 clamp(18px,1.8vw,22px)/1.4 "EB Garamond",Georgia,serif}
.arcana-gallery__controls{display:flex;align-items:center;gap:9px;flex-shrink:0;flex-wrap:wrap}
.arcana-gallery__controls button{min-width:44px;min-height:44px;padding:0 12px;border:1px solid rgba(226,195,150,.6);background:transparent;color:#f7f2e6;font:500 14px "IBM Plex Sans",Arial,sans-serif;cursor:pointer}
.arcana-gallery__controls button:hover{background:rgba(226,195,150,.15)}
.arcana-gallery__controls .arcana-gallery__start{border:0;border-bottom:1px solid #e2c396;color:#e2c396;padding-inline:2px;margin-right:7px}
.arcana-gallery__hint{margin:0 auto 12px;color:#c4bdb1;font:400 13px/1.4 "IBM Plex Sans",Arial,sans-serif}
.arcana-gallery__rail{--card-gap:clamp(13px,1.7vw,26px);--arcana-duration:160s;overflow:hidden;padding:9px max(24px,calc((100vw - 1320px)/2)) 18px;mask-image:linear-gradient(90deg,transparent,#000 25px,#000 calc(100% - 25px),transparent);touch-action:pan-y;cursor:grab}
.arcana-gallery.is-dragging .arcana-gallery__rail{cursor:grabbing}
.arcana-gallery__track{display:flex;width:max-content;animation:arcana-drift var(--arcana-duration) linear infinite;will-change:transform}
.arcana-gallery__group{display:flex;flex:none;gap:var(--card-gap);padding-right:var(--card-gap)}
.arcana-gallery__card{flex:0 0 clamp(185px,20vw,275px);min-width:0;color:#f7f2e6;text-decoration:none}
.arcana-gallery__rail img{user-select:none;-webkit-user-drag:none}
.arcana-gallery.is-paused .arcana-gallery__track,.arcana-gallery.is-interacting .arcana-gallery__track,.arcana-gallery__rail:focus-within .arcana-gallery__track{animation-play-state:paused}
@keyframes arcana-drift{to{transform:translate3d(-50%,0,0)}}
.arcana-gallery__card img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(0,0,0,.3));transition:transform .25s ease,filter .25s ease}
.arcana-gallery__card:hover img{transform:translateY(-5px);filter:drop-shadow(0 18px 22px rgba(0,0,0,.4))}
.arcana-gallery__caption{display:flex;justify-content:space-between;gap:8px;padding:15px 2px 7px;font:500 15px/1.3 "IBM Plex Sans",Arial,sans-serif}
.arcana-gallery__caption span:last-child{color:#e2c396}
.arcana-gallery a:focus-visible,.arcana-gallery button:focus-visible,.arcana-gallery__rail:focus-visible{outline:3px solid #42b6a6;outline-offset:4px}
@media(max-width:700px){.arcana-gallery__heading{display:block;margin-bottom:12px}.arcana-gallery__controls{margin-top:25px}.arcana-gallery__card{flex-basis:clamp(185px,58vw,255px)}.arcana-gallery__rail{--arcana-duration:130s}}
@media(prefers-reduced-motion:reduce){.arcana-gallery__card img{transition:none}.arcana-gallery__card:hover img{transform:none}.arcana-gallery__track{animation:none}.arcana-gallery.has-motion-override .arcana-gallery__track{animation:arcana-drift var(--arcana-duration) linear infinite}.arcana-gallery:not(.has-motion-override) .arcana-gallery__rail{overflow-x:auto;touch-action:auto;scrollbar-color:#a98d65 #26312d}}
