:root{--book-accent:#d2aa31;--book-shadow:rgba(0,0,0,.44)}
body:has(.book-hero){background:#050f18}
.book-hero{min-height:calc(100svh - 84px);overflow:hidden;isolation:isolate}
.book-hero:before{content:"";position:absolute;inset:-8%;z-index:-2;background:radial-gradient(circle at 18% 48%,color-mix(in srgb,var(--book-accent) 22%,transparent),transparent 34%),linear-gradient(112deg,#050f18 25%,#0c2638 100%);transform:translateY(calc(var(--book-scroll,0) * 72px)) scale(1.08)}
.book-hero:after{left:auto;right:5vw;width:22vw;opacity:.7}.book-hero__copy{position:relative;z-index:2}.book-hero__cover{position:relative;perspective:1200px;justify-self:center}
.book-hero__cover:before{content:"";position:absolute;inset:9% -15% -10% 18%;border:1px solid color-mix(in srgb,var(--book-accent) 55%,transparent);transform:rotate(4deg);z-index:-1}.book-hero__cover img{width:min(390px,72vw);aspect-ratio:2/3;object-fit:cover;box-shadow:-28px 40px 80px var(--book-shadow);transform:rotateY(-7deg) rotateZ(-1.4deg) translateY(var(--cover-shift,0));transition:filter .4s;will-change:transform}.book-hero__cover:hover img{filter:brightness(1.08)}
.book-no{display:block;margin-bottom:15px;color:var(--book-accent);font:800 .62rem var(--sans);letter-spacing:.24em;text-transform:uppercase}.book-hero h1{font-size:clamp(3.5rem,7.5vw,7.7rem);max-width:10ch}.book-hero .lead{max-width:680px}.book-hero .actions .btn.gold{background:var(--book-accent)}
.book-film{height:320vh;padding:0;position:relative;background:#030a10}.book-film__frame{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden}.book-film__frame:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,16,.97) 5%,rgba(3,10,16,.58) 54%,rgba(3,10,16,.88)),var(--film-image);background-size:cover;background-position:center;transform:scale(calc(1.07 + var(--film-progress,0) * .05));filter:saturate(.68) contrast(1.08)}.book-film__frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 30%,rgba(0,0,0,.6));pointer-events:none}.book-film__content{position:relative;z-index:1;max-width:760px}.book-film__chapter{color:var(--book-accent);font:800 .62rem var(--sans);letter-spacing:.24em;text-transform:uppercase}.book-film__line{margin:18px 0 24px;font:450 clamp(2.75rem,6vw,6.4rem)/.98 var(--serif);letter-spacing:-.045em;text-wrap:balance}.book-film__body{max-width:600px;color:#c2d0d8;font-size:clamp(1rem,1.4vw,1.16rem)}.book-film__meter{display:flex;gap:9px;margin-top:40px}.book-film__meter i{width:42px;height:2px;background:rgba(255,255,255,.2)}.book-film__meter i.active{background:var(--book-accent)}
.book-thesis{position:relative;overflow:hidden}.book-thesis:before{content:"";position:absolute;width:520px;height:520px;border:1px solid color-mix(in srgb,var(--book-accent) 24%,transparent);border-radius:50%;right:-200px;top:-220px}.book-thesis .statement{max-width:1100px}.book-thesis .statement em{color:var(--book-accent);font-weight:inherit}.book-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-cold);border:1px solid var(--line-cold);margin-top:50px}.book-principle{background:#071824;padding:42px 34px;min-height:290px}.book-principle span{color:var(--book-accent);font:700 .65rem var(--sans);letter-spacing:.2em}.book-principle h3{margin-top:40px}.book-principle p{color:var(--muted);font-size:.9rem}.book-conversion{background:var(--ivory);color:#10293a}.book-conversion h2{max-width:12ch}.book-conversion .form{max-width:850px}.book-conversion .form input{background:white;color:#10293a;border-color:#cabfae}.book-conversion .note{color:#586b76}.book-cinema--war{--book-accent:#cf665b}.book-cinema--throne{--book-accent:#caa24a}.book-cinema--culture{--book-accent:#66a8a4}
@media(max-width:820px){.book-film{height:auto}.book-film__frame{position:relative;height:auto;min-height:82svh;padding:110px 0}.book-film__frame:before{transform:none}.book-principles{grid-template-columns:1fr}.book-principle{min-height:auto}.book-hero__cover{order:-1}.book-hero__cover img{width:min(300px,67vw)}}
@media(prefers-reduced-motion:reduce){.book-film{height:auto}.book-film__frame{position:relative;height:auto;min-height:80svh}.book-hero__cover img,.book-film__frame:before{transform:none!important}}
