@keyframes marquee{to{transform:translateX(-16.666667%)}}
:root{--ink:#101319;--paper:#f4f2ed;--red:#ff5438;--acid:#d9ff43;--blue:#4558ff;--white:#fff;--serif:"Instrument Sans",Arial,sans-serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--acid);color:var(--ink)}
.site-header,.site-header nav{display:flex;align-items:center}.site-header{height:84px;justify-content:space-between;padding:0 clamp(22px,4vw,64px);position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(16,19,25,.18)}.wordmark{font:600 22px var(--serif);letter-spacing:-.045em}.site-header nav{gap:30px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.site-header nav a{transition:opacity .2s}.site-header nav a:hover{opacity:.48}.nav-contact{border:1px solid var(--ink);border-radius:99px;padding:11px 16px}.nav-contact span{margin-left:14px}.menu-button{display:none;background:0 0;border:0}
.hero{min-height:100svh;padding:130px clamp(22px,6vw,96px) 64px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;position:relative;background:radial-gradient(circle at 72% 35%,rgba(69,88,255,.11),transparent 28%),var(--paper)}.hero:after{content:"";position:absolute;inset:84px 0 0;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(16,19,25,.1) 50%,transparent calc(50% + .5px))}.hero-copy{z-index:2}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.16em;margin:0 0 24px}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.075em;line-height:.82;margin:0}.hero h1{font-size:clamp(78px,11.5vw,176px);text-transform:uppercase}.hero h1 em,.section h2 em,.contact h2 em{font-style:normal;color:var(--blue)}.hero-line{font-size:clamp(17px,1.7vw,24px);line-height:1.5;margin:42px 0;max-width:640px}.text-link{display:inline-flex;gap:28px;border-bottom:1px solid;padding-bottom:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.cover-stage{height:610px;position:relative;display:grid;place-items:center;perspective:1200px;z-index:2}.book-cover{width:min(385px,74%);aspect-ratio:.69;background:var(--red);padding:30px;color:var(--white);display:flex;flex-direction:column;box-shadow:-26px 32px 0 var(--ink);transform:rotate(2.5deg);position:relative;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.book-cover:hover{transform:rotate(0) translate(8px,-8px);box-shadow:-34px 40px 0 var(--ink)}.cover-author{text-transform:uppercase;letter-spacing:.17em;font-size:12px}.cover-mark{margin:auto 0;font:600 clamp(35px,4.1vw,60px)/.82 var(--serif);letter-spacing:-.075em}.cover-mark span{display:block}.cover-mark span:nth-child(2){margin-left:14%}.cover-genre{font-size:16px}.cover-publisher{position:absolute;right:28px;bottom:25px;font-size:10px;text-transform:uppercase}.book-shadow{display:none}.side-note{position:absolute;right:20px;bottom:52px;writing-mode:vertical-rl;text-transform:uppercase;font-size:9px;letter-spacing:.17em}
.marquee{overflow:hidden;background:var(--acid);border-block:1px solid var(--ink);padding:14px 0;font-size:11px;font-weight:600;letter-spacing:.15em;white-space:nowrap}.marquee div{display:flex;width:max-content;will-change:transform;animation:marquee 14s linear infinite}.marquee span{display:block;padding-right:4rem}.section{padding:150px clamp(22px,7vw,112px);position:relative}.section-number{position:absolute;top:42px;left:clamp(22px,3vw,48px);font-size:10px;border:1px solid;padding:8px;border-radius:50%}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,130px)}.events h2,.story-heading h2{font-size:clamp(60px,7.4vw,112px);text-transform:uppercase}.story-body,.about-copy p{font-size:16px;max-width:560px}.story-body{line-height:1.85}.story-body .lead{font:500 clamp(24px,2.2vw,34px)/1.35 var(--serif);letter-spacing:-.035em}.story-body .story-tagline{margin:30px 0 0;font:600 clamp(22px,2.4vw,34px)/1.05 var(--serif);letter-spacing:-.045em;color:var(--red);text-transform:uppercase}.story-tagline em{font-style:normal}.story-end{grid-column:2}
.about{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,150px);align-items:center}.light{border-color:var(--paper)}.portrait-wrap{position:relative;justify-self:center}.portrait-wrap img{width:100%;height:auto;display:block;filter:grayscale(100%);border-radius:999px}.portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 55%,rgba(69,88,255,.55));mix-blend-mode:screen;border-radius:999px}.portrait-caption{display:block;margin-top:15px;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.about-copy h2{font-size:clamp(54px,6.8vw,104px);margin-bottom:52px;text-transform:uppercase}.about-copy p{line-height:1.8;color:rgba(244,242,237,.7)}.light-text{color:var(--acid)}
.events{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,120px)}.events-intro p:last-child{font-size:16px;line-height:1.8;max-width:430px}.event-list{border-top:1px solid}.event{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:30px;border-bottom:1px solid;padding:32px 0;transition:padding .2s,background .2s}.event:hover{padding-left:14px;background:rgba(217,255,67,.28)}.event time{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.event time span{display:block;font:500 52px/1 var(--serif);letter-spacing:-.06em}.event h3{font:500 25px var(--serif);letter-spacing:-.04em;margin:0 0 7px}.event p{margin:0;color:rgba(16,19,25,.6);font-size:14px}.event-arrow{font-size:24px}
.contact,footer{background:var(--blue);color:var(--white);padding:120px clamp(22px,9vw,145px)}.contact h2{font-size:clamp(62px,9vw,138px);max-width:1100px;text-transform:uppercase}.contact h2 em{color:var(--acid)}.contact a{display:inline-flex;gap:30px;border-bottom:1px solid;margin-top:65px;padding-bottom:10px;font-size:clamp(17px,2vw,25px)}footer{border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;padding:28px clamp(22px,4vw,64px);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.marquee div{animation:none}}
@media(max-width:780px){.site-header{height:70px;position:fixed;background:rgba(244,242,237,.88);backdrop-filter:blur(16px)}.wordmark{font-size:20px}.menu-button{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-button span{width:23px;height:1px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:70px;left:0;width:100%;background:var(--paper);padding:28px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid}.site-header nav.open{display:flex}.hero{padding-top:110px;grid-template-columns:1fr;min-height:auto}.hero:after{display:none}.hero h1{font-size:20vw}.hero-line{margin:28px 0}.hero-line br{display:none}.cover-stage{height:480px;margin-top:28px}.book-cover{width:260px;box-shadow:-18px 22px 0 var(--ink)}.side-note{display:none}.section{padding:110px 22px}.section-number{top:32px}.about,.events,.story,.backlist{grid-template-columns:1fr;gap:50px}.story-end{grid-column:auto}.about-copy h2{margin-bottom:36px}.event{grid-template-columns:82px 1fr auto;gap:14px}.event h3{font-size:21px}.events-intro p:last-child{margin-top:30px}.contact{padding:90px 22px}.contact h2{font-size:16vw}footer{gap:28px;flex-direction:column}}
.soundtrack{background:var(--acid);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);align-items:end;overflow:hidden}.soundtrack:before{content:"05";position:absolute;right:-.03em;top:-.24em;font:600 clamp(250px,35vw,560px)/1 var(--serif);letter-spacing:-.1em;color:rgba(16,19,25,.045);pointer-events:none}.soundtrack-heading{position:relative;z-index:1}.soundtrack-heading h2{font-size:clamp(58px,7.3vw,110px);text-transform:uppercase}.soundtrack-heading h2 em{color:var(--blue)}.soundtrack-intro{max-width:430px;font-size:16px;line-height:1.65;margin:34px 0 26px}.play-all{border:1px solid var(--ink);background:var(--ink);color:var(--acid);border-radius:999px;padding:14px 20px;font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,color .2s}.play-all:hover{transform:translateY(-2px);background:var(--blue);color:#fff}.play-all span{margin-right:12px}.track-list{align-self:end;position:relative;z-index:1}.track{display:grid;grid-template-columns:auto 1fr minmax(120px,1fr) auto;gap:24px;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:28px 0;position:relative;transition:padding .35s,color .35s}.track:after{content:"";position:absolute;inset:0 -22px;background:var(--blue);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.track.is-active{color:#fff;padding-left:14px;padding-right:14px}.track.is-active:after{transform:scaleY(1)}.track-play{width:64px;height:64px;border:1px solid var(--ink);border-radius:50%;background:var(--ink);color:var(--acid);font-size:19px;display:grid;place-items:center;cursor:pointer;transition:transform .2s,background .2s,color .2s}.track-play:hover{transform:scale(1.05);background:var(--blue);color:#fff}.track.is-active .track-play{background:var(--acid);color:var(--ink);border-color:var(--acid)}.track-play span{margin-left:3px}.track-play[aria-pressed="true"] span{margin-left:0}.track-info p{margin:0 0 5px}.track-number{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.track-info h3{font:500 clamp(25px,2.5vw,37px)/1 var(--serif);letter-spacing:-.055em;margin:0}.track-progress-label{display:flex}.track-progress{width:100%;height:20px;margin:0;accent-color:var(--blue);cursor:pointer}.track.is-active .track-progress{accent-color:var(--acid)}.track-time{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.track+.track{border-top:0}
.now-playing{position:fixed;z-index:50;right:24px;bottom:24px;width:min(420px,calc(100vw - 48px));background:var(--ink);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 60px rgba(16,19,25,.3);padding:14px;display:grid;grid-template-columns:38px 1fr auto 42px 28px;align-items:center;gap:12px}.now-playing[hidden]{display:none}.now-playing-pulse{height:28px;display:flex;align-items:center;justify-content:center;gap:3px}.now-playing-pulse i{display:block;width:3px;height:8px;background:var(--acid);animation:pulse .75s ease-in-out infinite alternate}.now-playing-pulse i:nth-child(2){animation-delay:-.35s;height:19px}.now-playing-pulse i:nth-child(3){animation-delay:-.15s;height:13px}.now-playing-pulse i:nth-child(4){animation-delay:-.5s;height:22px}.now-playing.is-paused .now-playing-pulse i{animation-play-state:paused}.now-playing-copy{min-width:0}.now-playing-copy span{display:block;color:rgba(255,255,255,.55);font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:3px}.now-playing-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 15px var(--serif)}.now-playing time{font-size:10px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.65)}.now-playing button{border:0;background:transparent;color:#fff;font-size:18px;height:38px;cursor:pointer}.now-playing [data-now-toggle]{border:1px solid rgba(255,255,255,.35);border-radius:50%}.now-playing [data-now-close]{font-size:24px;color:rgba(255,255,255,.55)}@keyframes pulse{to{height:24px}}
@media(max-width:780px){.soundtrack{grid-template-columns:1fr;gap:50px}.soundtrack:before{top:.05em}.track{grid-template-columns:auto 1fr auto;gap:15px}.track-progress-label{grid-column:1/-1;grid-row:2}.track-play{width:56px;height:56px}.now-playing{right:12px;bottom:12px;width:calc(100vw - 24px);grid-template-columns:28px 1fr auto 38px 24px}.now-playing time{display:none}}
@media(prefers-reduced-motion:reduce){.now-playing-pulse i{animation:none}.track:after{transition:none}}

main{display:flex;flex-direction:column}
.hero{order:1}
.backlist{order:2}
.characters{order:3}
.marquee{order:4}
.story{order:5}
.place-characters{order:6}
.soundtrack{order:7}
.about{order:8}
.events{order:9}
.contact{order:10}
.hero-current-cover{display:block;width:min(300px,62%);height:auto;box-shadow:-20px 25px 0 var(--ink);transform:rotate(2.5deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.hero-buy{font-size:clamp(14px,1.25vw,18px);gap:36px;padding-bottom:11px}
.cover-stage:hover .hero-current-cover{transform:rotate(0) translate(8px,-8px);box-shadow:-26px 31px 0 var(--ink)}
@media(max-width:780px){.hero-current-cover{width:190px;box-shadow:-12px 15px 0 var(--ink)}}

.story{background:var(--ink);color:var(--paper);border-block:12px solid var(--blue);padding-top:118px}
.story .section-number{z-index:5;border-color:var(--paper);background:var(--ink)}
.story-visual{grid-column:1/-1;position:relative;width:50%;justify-self:center;margin-bottom:clamp(10px,2vw,30px);border:1px solid rgba(244,242,237,.45);overflow:hidden;background:var(--paper)}
.story-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.story-visual-title{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:clamp(22px,4vw,56px);color:var(--paper);background:linear-gradient(transparent,rgba(16,19,25,.9))}
.story-visual-title span{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.story-visual-title strong{font:500 clamp(38px,4vw,68px)/.78 var(--serif);letter-spacing:-.075em;text-transform:uppercase;text-align:right;transform:translateX(12%)}
.story .eyebrow{color:var(--acid)}
.story-body{color:rgba(244,242,237,.76)}
.story-body .lead,.story-body strong{color:var(--paper)}
