:root{--ink:#29291e;--cream:#fcf6e9;--green:#233124;--gold:#f5ce79;--line:#deceb0;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #be822c;outline-offset:5px}img{display:block;width:100%;height:auto}.bar,footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(4vw,18px);background:#192218;color:#fff3d8}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:700}.brand span:first-child{color:var(--gold);font-size:1.5rem;line-height:1}nav{display:flex;align-items:center;gap:clamp(10px,3vw,35px);font-size:.85rem}nav a:hover,footer a:hover{text-decoration:underline}button{border:1px solid #b99b61;border-radius:99px;background:transparent;color:inherit;padding:5px 12px;font:inherit;cursor:pointer}.hero{position:relative;isolation:isolate;min-height:clamp(500px,58vw,740px);display:grid;align-items:end;color:#fff8e9;background:#342817}.hero img,.hero:after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero img{object-fit:cover;object-position:center 48%}.hero:after{content:"";background:linear-gradient(0deg,#151a12 0%,#151a12e8 13%,#151a1270 38%,transparent 71%)}.hero-content{text-align:center;padding:36px 18px 46px}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.2em;color:#80551d;margin:0 0 9px}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:var(--serif);line-height:1.25;margin:0;text-wrap:balance}h1{font-size:clamp(2.5rem,6vw,5.5rem);text-shadow:0 4px 30px #221a0c}h2{font-size:clamp(2rem,4.8vw,3.8rem)}h3{font-size:clamp(1.45rem,2.8vw,2rem)}.hero-line{margin:12px auto 21px;font-size:clamp(.96rem,2vw,1.22rem)}.button{display:inline-flex;align-items:center;gap:16px;border-radius:99px;padding:10px 23px;background:var(--gold);color:#292015;font-weight:700}.button:hover{background:#ffe3a3}.wrap{width:min(1120px,calc(100% - 38px));margin:auto}.story{padding:clamp(52px,8vw,104px) 0}.intro{text-align:center;max-width:690px;margin:0 auto 38px}.intro p:last-child{margin:16px auto 0;max-width:570px}.scenes{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scenes article{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffaf0}.scene-copy{padding:clamp(18px,3vw,32px)}.scene-copy p:last-child,.profile p:last-child{margin:13px 0 0}.character{background:var(--green);color:#fff5df;padding:clamp(42px,8vw,85px) 0}.character .eyebrow{color:var(--gold)}.profile{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(24px,5vw,64px)}.profile img{border-radius:16px}footer{border-top:1px solid #526048;font-size:.85rem;padding-block:20px}
@media(max-width:640px){.scenes,.profile{grid-template-columns:1fr}.bar{min-height:57px}.bar nav a:nth-child(2){display:none}.bar .brand{font-size:.83rem}.hero{min-height:0;display:flex;flex-direction:column}.hero img{position:static;height:auto;aspect-ratio:1.23;object-position:48% center}.hero:after{display:none}.hero-content{width:100%;padding:22px 14px 32px;background:#151a12}.scenes{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.reading{max-width:660px;margin:auto;font-size:clamp(1rem,2vw,1.15rem)}
.reading p{margin:0 0 1.1em}.reading p:last-child{margin-bottom:0}
.episode-section,.satchel{padding-top:0}
.episodes{grid-template-columns:repeat(3,minmax(0,1fr))}
.episodes img,.satchel img,.map-route img{aspect-ratio:16/9;object-fit:cover}
.character .intro{padding-inline:19px}
.luca-profile{margin-top:clamp(30px,6vw,70px)}
.map-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none}
.map-route a{display:block;overflow:hidden;text-align:center;border:1px solid var(--line);border-radius:18px;background:#fffaf0;font-family:var(--serif);font-weight:700}
.map-route a:hover{background:#f8e9ca;text-decoration:underline}
.map-route span{display:block;padding:13px}
@media(max-width:760px){.episodes{grid-template-columns:1fr}.episodes img{max-height:350px}}
@media(max-width:540px){.map-route{grid-template-columns:1fr}.map-route a{display:grid;grid-template-columns:40% 1fr;align-items:center}.bar nav a:nth-child(3){display:none}}

.channel-link{text-align:center;margin:28px 0 0}
