:root{
  --bg:#050606; --ink:#efe8db; --muted:#b59f85; --copper:#a1643c; --red:#9f2020;
  --blue:#0787d9; --pink:#c24d91; --green:#00aa48; --white:#e9e9e6; --orange:#e46e19; --gold:#a87a42; --black:#aaa;
  --active:#0787d9;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 10%,#25313b55,transparent 40%),linear-gradient(#030303,#090806 40%,#020202);z-index:-4}
.grain{position:fixed;inset:0;opacity:.18;pointer-events:none;z-index:10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}.storm{position:fixed;inset:-20%;background:radial-gradient(circle at 20% 15%,#ffffff18,transparent 9%),radial-gradient(circle at 80% 5%,#ffffff10,transparent 12%);animation:storm 9s linear infinite;z-index:-3;mix-blend-mode:screen}@keyframes storm{50%{transform:translateX(-2%) translateY(1%);opacity:.55}}
.nav{position:fixed;top:0;left:0;right:0;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:linear-gradient(#030303dd,#03030322);backdrop-filter:blur(8px);border-bottom:1px solid #a1643c33}.brand,.nav a{color:var(--ink);text-decoration:none;letter-spacing:.24em}.brand{font-weight:bold}.nav nav{display:flex;gap:22px}.nav nav a{font-size:12px;color:#d4c2aa}.nav a:hover{color:#fff}
.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden}.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) contrast(1.1)}.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle at 58% 48%,transparent 0 18%,#0008 55%,#000 95%),linear-gradient(90deg,#000 0%,transparent 45%,#0009 100%)}.hero-copy{position:relative;text-align:center;max-width:900px;padding:130px 24px 80px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-size:12px}.hero h1{font-size:clamp(64px,12vw,170px);line-height:.82;margin:10px 0;text-shadow:0 0 30px #000}.hero h1 span{background:linear-gradient(#fff,#a77a52 50%,#2c1c13);-webkit-background-clip:text;color:transparent}.tagline{font-size:clamp(28px,4vw,58px);letter-spacing:.18em;color:#caa17c;margin:0}.logline{font-size:20px;max-width:720px;margin:28px auto;color:#ddd}.btn{border:1px solid var(--copper);background:#150b07;color:var(--ink);padding:13px 21px;text-decoration:none;letter-spacing:.16em;text-transform:uppercase;font-size:12px;cursor:pointer}.ghost{background:#0007}.btn:hover{box-shadow:0 0 28px #a1643c66;transform:translateY(-1px)}
.section-wrap{padding:96px min(6vw,80px)}.section-title{max-width:950px;margin:0 auto 44px;text-align:center}.section-title h2{font-size:clamp(34px,5vw,72px);line-height:.95;margin:0}.compact h2{font-size:clamp(28px,3.5vw,54px)}.origin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.origin article{border:1px solid #a1643c55;padding:28px;background:linear-gradient(140deg,#111,#060606);box-shadow:inset 0 0 40px #000}.origin h3{color:#d09b66;letter-spacing:.18em;text-transform:uppercase}.origin p{color:#cfc2b0;line-height:1.65}
.loom-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,880px);gap:44px;align-items:start;justify-content:center}.rune-panel{position:sticky;top:88px}.rune-wheel{position:relative;aspect-ratio:1;border:1px solid #a1643c55;border-radius:50%;background:radial-gradient(circle,#17110e,#030303 66%);box-shadow:inset 0 0 80px #000,0 0 50px #000;overflow:visible}.rune-wheel::before{content:"THE EIGHT";position:absolute;inset:42% 0 auto;text-align:center;letter-spacing:.28em;color:#8a6d53}.rune-wheel::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid color-mix(in srgb, var(--active), transparent 35%);box-shadow:0 0 40px var(--active);opacity:.45;animation:pulse 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.85;transform:scale(1.02)}}
.rune-thread{position:absolute;left:50%;top:50%;width:48%;height:1px;background:linear-gradient(90deg,var(--active),transparent);transform-origin:left center;transform:rotate(var(--thread,0deg));filter:drop-shadow(0 0 8px var(--active));opacity:.75;z-index:1}.rune{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px;border:1px solid currentColor;background:#050505dd;color:var(--c);display:grid;place-items:center;cursor:pointer;transform:rotate(var(--a)) translate(185px) rotate(calc(-1 * var(--a)));transition:.25s;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);z-index:2}.rune:hover,.rune.active{box-shadow:0 0 30px currentColor;scale:1.08}.rune svg{width:42px;height:42px}.rune-caption{margin-top:24px;border:1px solid #a1643c55;background:linear-gradient(140deg,#0e0b09,#020202);padding:22px;min-height:170px}.rune-caption h3{margin:0;color:var(--active);font-size:34px;letter-spacing:.12em}.rune-caption p{margin:10px 0;color:#cfc2b0;line-height:1.5}.rune-caption .tiny{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:#9f856b}
.weaver-stage{position:relative;border:1px solid color-mix(in srgb,var(--active),#a1643c 45%);background:radial-gradient(circle at 50% 0,#1b1511,#020202 64%);overflow:visible;box-shadow:0 0 60px #000}.stage-smoke{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,transparent,#0007 70%,#000 100%);pointer-events:none;z-index:1}.card-shell{position:relative;z-index:2;padding:18px}.card-shell img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border:1px solid #a1643c33;box-shadow:0 18px 80px #000;animation:cardWake .6s ease both}@keyframes cardWake{from{opacity:.25;transform:translateY(16px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.active-info{position:absolute;left:18px;right:18px;bottom:18px;padding:72px 28px 24px;background:linear-gradient(transparent,#000 45%);z-index:3;pointer-events:none}.active-info h3{font-size:clamp(42px,6vw,72px);margin:0;letter-spacing:.16em;color:var(--active);text-shadow:0 0 22px #000}.active-info p:last-child{font-size:18px;color:#d8cab7;max-width:680px}.shield-note{margin-top:18px;border-left:2px solid var(--active);padding:12px 16px;background:#0008;color:#cfc2b0;line-height:1.5}.hint{text-align:center;color:#8e7a67;margin-top:22px}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mini-card{position:relative;min-height:430px;border:1px solid #7a5136;background:#111;overflow:hidden;cursor:pointer}.mini-card img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(.7);transition:.45s}.mini-card:hover img{transform:scale(1.05);filter:brightness(.9)}.mini-card div{position:absolute;inset:auto 0 0;padding:22px;background:linear-gradient(transparent,#000 30%)}.mini-card h3{margin:0;font-size:28px;letter-spacing:.12em}.mini-card p{margin:6px 0 0;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.trailer-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trailer-list button{padding:22px;background:#070707;border:1px solid #a1643c55;color:#ddd;text-align:left;font-family:inherit;cursor:pointer;min-height:120px}.trailer-list button:hover{border-color:#d09b66;color:white}.trailer-screen{margin-top:18px;min-height:210px;border:1px solid #a1643c55;background:linear-gradient(120deg,#111,#030303);display:grid;place-items:center;text-align:center;padding:28px;font-size:28px;color:#cdbfae}
.premiere{min-height:56vh;display:grid;place-items:center;text-align:center;background:linear-gradient(#0008,#000),url('images/poster.jpg') center/cover fixed;border-top:1px solid #a1643c44}.premiere h2{font-size:clamp(46px,8vw,130px);margin:0;color:#b92727;letter-spacing:.16em}.premiere p:last-child{font-size:22px;color:#e0d3bf}.modal{position:fixed;inset:0;background:#000d;z-index:20;display:none;place-items:center;padding:24px}.modal.open{display:grid}.modal img{max-width:min(92vw,900px);max-height:92vh;object-fit:contain;border:1px solid #a1643c}.close{position:fixed;top:20px;right:28px;background:none;border:0;color:white;font-size:48px;cursor:pointer}.norns-overlay{position:fixed;inset:0;z-index:30;display:none;place-items:center;text-align:center;background:radial-gradient(circle,#0c1015,#000 70%)}.norns-overlay.open{display:grid}.norns-overlay h2{font-size:clamp(34px,6vw,88px);max-width:900px}.norns-overlay p{letter-spacing:.38em;color:#c49a73}
@media(max-width:1120px){.loom-layout{grid-template-columns:1fr}.rune-panel{position:relative;top:auto;max-width:520px;margin:0 auto}.weaver-stage{max-width:850px;margin:0 auto}.rune{transform:rotate(var(--a)) translate(205px) rotate(calc(-1 * var(--a)))}}
@media(max-width:900px){.nav{position:absolute;display:block;text-align:center}.nav nav{display:none}.origin-grid,.card-grid,.trailer-list{grid-template-columns:1fr}.hero-copy{padding-top:170px}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.section-wrap{padding:70px 18px}.card-grid{grid-template-columns:1fr}.active-info{position:relative;left:auto;right:auto;bottom:auto;padding:20px 18px;background:#020202}.rune{transform:rotate(var(--a)) translate(132px) rotate(calc(-1 * var(--a)));width:58px;height:58px;margin:-29px}.rune svg{width:32px;height:32px}.rune-caption h3{font-size:28px}.mini-card{min-height:520px}}

/* v3 upgrades: no forced intro, full-card loom, trailer embed, Nexus breadcrumb */
.nexus-link{font-size:11px;color:#caa17c;text-decoration:none;letter-spacing:.16em;margin-left:18px;white-space:nowrap}.nexus-link:hover{color:#fff;text-shadow:0 0 16px #a1643c}
.section-copy{max-width:780px;margin:16px auto 0;color:#cfc2b0;font-size:18px;line-height:1.55}.video-frame{max-width:1120px;margin:0 auto;border:1px solid #a1643c66;background:#000;box-shadow:0 20px 90px #000,0 0 40px #a1643266;position:relative;overflow:hidden}.video-frame::before{content:"";display:block;padding-top:56.25%}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-section{background:radial-gradient(circle at 50% 20%,#22120b88,transparent 45%)}
/* The selected Weaver no longer crops inside a short cover frame. It displays as a full dossier. */
.weaver-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:0;align-items:stretch;overflow:hidden}.card-shell{display:grid;place-items:center;min-height:0;background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--active),#000 82%),#010101 70%)}.card-shell img{width:auto;max-width:100%;height:auto;max-height:min(82vh,980px);object-fit:contain;object-position:center center}.active-info{position:relative;left:auto;right:auto;bottom:auto;padding:36px 28px;background:linear-gradient(180deg,#080807,#020202);border-left:1px solid color-mix(in srgb,var(--active),#a1643c 45%);display:flex;flex-direction:column;justify-content:center;min-height:100%;pointer-events:auto}.active-info h3{font-size:clamp(38px,4vw,68px)}.active-info p:last-child{font-size:17px}.btn.small{margin-top:20px;align-self:flex-start;padding:11px 15px;font-size:10px}.stage-smoke{display:none}.card-shell img:hover{filter:brightness(1.05);cursor:zoom-in}.rune-panel{z-index:4}
@media(max-width:1120px){.weaver-stage{grid-template-columns:1fr}.active-info{border-left:0;border-top:1px solid color-mix(in srgb,var(--active),#a1643c 45%)}.card-shell img{max-height:none;width:100%}.nexus-link{display:inline-block;margin:10px 0 0}}
@media(max-width:900px){.nav{position:absolute}.nexus-link{display:block}.video-section{padding-top:70px}}
