:root{--ink:#0a0908;--charcoal:#13110f;--stone:#d9cfb4;--paper:#e9dfc5;--gold:#b4944b;--gold-bright:#d7b868;--rust:#6f2b22;--muted:#a89e89;--line:rgba(180,148,75,.35);font-family:Georgia,"Times New Roman",serif;color:var(--paper);background:var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:82px;padding:0 clamp(22px,5vw,74px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.35s;background:linear-gradient(180deg,rgba(5,5,4,.78),transparent)}.site-header.scrolled{height:68px;background:rgba(7,6,5,.94);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand img{filter:sepia(1) saturate(.75)}.brand span{display:flex;flex-direction:column}.brand b{font-size:1.15rem;letter-spacing:.25em;color:var(--gold-bright)}.brand small{font-size:.65rem;text-transform:uppercase;letter-spacing:.19em;color:var(--muted)}#site-nav{display:flex;gap:clamp(18px,2.5vw,42px);align-items:center}#site-nav a{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:#d9d1bf;transition:.2s}#site-nav a:hover{color:var(--gold-bright)}.menu-toggle{display:none;background:none;color:var(--paper);border:1px solid var(--line);padding:9px 12px;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.hero{min-height:100svh;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden}.hero-map{position:absolute;inset:-14%;z-index:-3;background:url('assets/valdra-map.webp') center 58%/cover no-repeat;filter:brightness(.37) contrast(1.08) saturate(.65);transform:scale(1.02)}.hero-vignette{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 42%,rgba(8,7,5,.05) 0,rgba(5,4,3,.58) 53%,#070605 94%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 25%,#090807 100%)}.hero:before,.hero:after{content:"";position:absolute;z-index:-1;pointer-events:none}.hero:before{width:660px;height:660px;border:1px solid rgba(180,148,75,.12);border-radius:50%;box-shadow:0 0 0 46px rgba(180,148,75,.02),0 0 0 47px rgba(180,148,75,.08)}.hero:after{left:7vw;right:7vw;top:128px;border-top:1px solid rgba(180,148,75,.18)}.hero-content{text-align:center;max-width:820px;padding:120px 24px 100px}.eyebrow{text-transform:uppercase;letter-spacing:.32em;color:var(--gold-bright);font-size:.68rem;font-weight:bold}.hero h1{margin:.18em 0 .25em;text-transform:uppercase;font-weight:500;line-height:.78;font-size:clamp(4rem,10vw,9.5rem);letter-spacing:.02em;text-shadow:0 7px 30px #000}.hero h1 span{display:block;font-size:.46em;letter-spacing:.14em;color:#d8cfba}.hero-copy{max-width:620px;margin:30px auto;color:#d6cebc;font-size:clamp(1rem,1.5vw,1.28rem);line-height:1.7}.hero-actions{display:flex;justify-content:center;gap:13px;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;cursor:pointer;transition:.25s}.button-gold{background:var(--gold);color:#100e0b}.button-gold:hover{background:var(--gold-bright);border-color:var(--gold-bright)}.button-ghost{background:rgba(9,8,6,.2);color:var(--paper)}.button-ghost:hover{background:rgba(180,148,75,.12)}.release-mark{margin-top:22px;color:#8f887b;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.pvl{position:absolute;left:clamp(20px,5vw,75px);bottom:36px;display:flex;flex-direction:column}.pvl span{color:var(--gold-bright);letter-spacing:.35em}.pvl small{color:#8f887b;font-size:.56rem;text-transform:uppercase;letter-spacing:.16em;margin-top:5px}.scroll-cue{position:absolute;bottom:28px;width:26px;height:40px;border:1px solid rgba(217,207,180,.45);border-radius:14px}.scroll-cue span{display:block;width:3px;height:7px;background:var(--gold-bright);border-radius:2px;margin:7px auto;animation:scroll 1.8s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:0}25%{opacity:1}70%{opacity:1}100%{transform:translateY(16px);opacity:0}}.world-intro{padding:120px max(24px,10vw);text-align:center;background:linear-gradient(#090807,#12100d);border-bottom:1px solid rgba(180,148,75,.15)}.section-rule{display:flex;align-items:center;gap:20px;color:var(--gold);max-width:350px;margin:0 auto 42px}.section-rule:before,.section-rule:after{content:"";height:1px;background:var(--line);flex:1}.world-intro h2,.section-heading h2,.lore h2{font-weight:400;font-size:clamp(2.6rem,5vw,5rem);line-height:1.08;margin:.18em 0}.world-intro>p:not(.eyebrow){max-width:780px;margin:26px auto;color:#bcb3a1;line-height:1.9;font-size:1.05rem}.world-facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:880px;margin:66px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.world-facts div{padding:30px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column}.world-facts div:last-child{border:0}.world-facts strong{font-weight:400;font-size:2rem;color:var(--gold-bright)}.world-facts span{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:#918a7d;margin-top:8px}.explore{padding:120px clamp(18px,5vw,76px);background:#0b0a08}.section-heading{max-width:850px;margin:0 auto 55px;text-align:center}.section-heading>p:last-child{color:#9e9688;line-height:1.7}.map-shell{position:relative;max-width:1480px;margin:auto;height:min(78vh,850px);min-height:620px;border:1px solid rgba(180,148,75,.3);background:#17130e;box-shadow:0 35px 90px rgba(0,0,0,.55);overflow:hidden}.map-viewport{position:absolute;inset:0 340px 0 0;overflow:hidden;cursor:grab;touch-action:none;background:#1d1811}.map-viewport.dragging{cursor:grabbing}.map-canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.map-canvas>img{width:860px;height:auto;display:block;user-select:none}.map-marker{position:absolute;width:22px;height:22px;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer}.map-marker:before{content:"";position:absolute;inset:6px;border:2px solid #f0d078;background:#5b3b19;border-radius:50%;box-shadow:0 0 0 4px rgba(180,148,75,.17),0 0 16px rgba(215,184,104,.55);transition:.2s}.map-marker:after{content:attr(aria-label);position:absolute;left:50%;top:25px;transform:translateX(-50%);white-space:nowrap;background:rgba(10,9,8,.88);border:1px solid rgba(180,148,75,.3);padding:5px 8px;color:#e8ddc4;font-size:11px;letter-spacing:.08em;opacity:0;pointer-events:none;transition:.2s}.map-marker:hover:after,.map-marker:focus-visible:after{opacity:1}.map-marker:hover:before,.map-marker.active:before{background:#d6ad57;transform:scale(1.35)}.map-panel{position:absolute;right:0;top:0;bottom:0;width:340px;padding:70px 34px 34px;background:linear-gradient(160deg,#17130f,#0d0b09);border-left:1px solid var(--line);overflow:auto}.panel-close{display:none}.map-panel .panel-type{text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;color:var(--gold-bright)}.map-panel h3{font-size:2rem;font-weight:400;margin:.35em 0 .6em}.map-panel>p:not(.panel-type){color:#b8af9f;line-height:1.7}.map-panel dl{border-top:1px solid var(--line);margin-top:30px}.map-panel dl div{padding:14px 0;border-bottom:1px solid rgba(180,148,75,.16)}.map-panel dt{font-size:.58rem;text-transform:uppercase;letter-spacing:.17em;color:#756f64}.map-panel dd{margin:5px 0 0;color:#d7cdb8}.map-toolbar{position:absolute;left:16px;top:16px;z-index:4;display:flex;background:rgba(10,9,8,.88);border:1px solid var(--line)}.map-toolbar button{width:42px;height:40px;border:0;border-right:1px solid var(--line);background:none;color:var(--paper);cursor:pointer}.map-toolbar button:last-child{width:auto;padding:0 12px;border:0;text-transform:uppercase;letter-spacing:.1em;font-size:.57rem}.map-toolbar button:hover{background:rgba(180,148,75,.15)}.map-hint{position:absolute;bottom:13px;left:15px;background:rgba(10,9,8,.72);padding:7px 10px;color:#b6ae9e;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}.spoiler-key{text-align:center;color:#827b70;text-transform:uppercase;font-size:.58rem;letter-spacing:.15em;margin-top:24px}.spoiler-key span{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:7px}.books{padding:130px max(24px,8vw);background:linear-gradient(145deg,#11100d,#080706)}.book-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr;gap:28px}.book-feature{border:1px solid var(--line);padding:clamp(28px,5vw,62px);display:grid;grid-template-columns:minmax(190px,310px) 1fr;gap:clamp(30px,5vw,70px);align-items:center;background:radial-gradient(circle at 10% 20%,rgba(180,148,75,.12),transparent 42%),#100e0c}.book-cover{aspect-ratio:2/3;background:linear-gradient(145deg,#171510,#050504);border:1px solid #846a31;box-shadow:-12px 16px 40px #000, inset 0 0 50px rgba(180,148,75,.12);padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;text-transform:uppercase;position:relative}.book-cover:before{content:"";position:absolute;inset:10px;border:1px solid rgba(180,148,75,.42)}.book-cover img{width:92px;margin:26px 0 22px;filter:sepia(1) saturate(.8)}.book-cover small{font-size:.55rem;letter-spacing:.19em;color:#baa779}.book-cover strong{font-weight:400;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.05;margin:auto 0;color:#e1d6bd}.book-cover span{font-size:.6rem;letter-spacing:.28em;color:#a58e58;margin-bottom:18px}.book-copy h3{font-weight:400;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1;margin:.2em 0}.book-copy>p:not(.eyebrow):not(.availability){color:#afa696;line-height:1.8}.availability{color:#80786d;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;margin:28px 0}.book-next{border:1px solid rgba(180,148,75,.2);padding:55px 40px;min-height:450px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,rgba(180,148,75,.08),transparent),#0d0b09}.book-next>span,.book-next>small{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.63rem}.book-next h3{font-size:clamp(2.2rem,3.4vw,4rem);font-weight:400;line-height:1.05;margin:.3em 0}.book-next p{color:#8e8679}.book-next small{margin-top:auto}.houses{padding:130px max(24px,6vw);background:#0b0a08}.house-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.house-card{min-height:370px;padding:34px 25px;border:1px solid rgba(180,148,75,.25);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:#12100d;transition:.35s}.house-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(7,6,5,.93));z-index:0}.house-card>*{position:relative}.house-card .sigil{position:absolute;top:33px;left:50%;transform:translateX(-50%);width:100px;height:100px;border:1px solid rgba(180,148,75,.45);display:grid;place-items:center;font-size:2.1rem;color:var(--gold);background:rgba(0,0,0,.2);clip-path:polygon(50% 0,92% 18%,84% 72%,50% 100%,16% 72%,8% 18%)}.house-card p{color:#9c8d68;text-transform:uppercase;font-size:.56rem;letter-spacing:.16em}.house-card h3{font-weight:400;font-size:1.65rem;margin:.2em 0}.house-card small{color:#8f887c;line-height:1.5}.house-card:hover{transform:translateY(-7px);border-color:var(--gold)}.varro{background-image:radial-gradient(circle at 50% 20%,#3a251c,#11100d 60%)}.valerian{background-image:radial-gradient(circle at 50% 20%,#312943,#11100d 60%)}.caldor{background-image:radial-gradient(circle at 50% 20%,#3a3219,#11100d 60%)}.aurelion{background-image:radial-gradient(circle at 50% 20%,#182f2b,#11100d 60%)}.locked{filter:saturate(.2);opacity:.7}.characters{padding:130px max(24px,7vw);background:#11100d}.character-track{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.character-track article{display:grid;grid-template-columns:65px 1fr;gap:22px;padding:32px 20px;border-bottom:1px solid var(--line)}.character-track article:nth-child(odd){border-right:1px solid var(--line)}.character-track>article>span{font-size:2.1rem;color:rgba(180,148,75,.36)}.character-track p{margin:0;color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:.56rem}.character-track h3{font-size:1.55rem;font-weight:400;margin:7px 0}.character-track small{color:#8e877b;line-height:1.55}.lore{min-height:700px;display:grid;place-items:center;text-align:center;padding:100px 24px;position:relative;overflow:hidden;background:#080706}.lore-backdrop{position:absolute;inset:0;background:linear-gradient(rgba(5,5,4,.75),#080706),url('assets/valdra-map.webp') center 19%/cover;filter:grayscale(.35);opacity:.42}.lore-content{position:relative;max-width:900px}.lore h2{font-size:clamp(3rem,6.5vw,6.5rem);text-shadow:0 5px 25px #000}.lore-content>p:not(.eyebrow){max-width:650px;margin:20px auto;color:#bcb3a2;line-height:1.8}.lore-links{margin-top:45px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lore-links button{background:rgba(10,9,8,.75);border:1px solid var(--line);color:#d9cfba;padding:13px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:.61rem;cursor:pointer}.lore-links button:hover{border-color:var(--gold);color:var(--gold-bright)}footer{text-align:center;padding:80px 24px;background:#070605;border-top:1px solid var(--line);color:#8e877a}.footer-eagle img{filter:sepia(1) saturate(.7);opacity:.75}.footer-title{color:#d9cfba;text-transform:uppercase;letter-spacing:.16em;font-size:1.15rem}footer>p:not(.footer-title){font-size:.8rem}footer nav{display:flex;justify-content:center;gap:25px;margin:30px 0;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}footer nav a:hover{color:var(--gold)}footer small{font-size:.62rem}dialog{max-width:560px;background:#12100d;color:var(--paper);border:1px solid var(--gold);padding:50px;box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}dialog h2{font-size:2.3rem;font-weight:400;margin:.35em 0}dialog p:not(.eyebrow){color:#aaa293;line-height:1.7}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;color:var(--paper);font-size:1.6rem;cursor:pointer}.dialog-ok{margin-top:15px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){#site-nav{gap:18px}.map-shell{height:760px}.map-viewport{inset:0 0 270px}.map-panel{left:0;top:auto;width:auto;height:270px;border-left:0;border-top:1px solid var(--line);padding:35px}.map-panel dl{display:flex;gap:30px}.map-panel dl div{flex:1}.house-grid{grid-template-columns:repeat(3,1fr)}.book-grid{grid-template-columns:1fr}.book-next{min-height:300px}.book-next small{margin-top:35px}}
@media(max-width:760px){.site-header{height:66px;padding:0 18px;background:rgba(7,6,5,.9)}.brand small{display:none}.menu-toggle{display:block}#site-nav{display:none;position:absolute;top:66px;left:0;right:0;padding:22px;background:#0c0a08;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}#site-nav.open{display:flex}.hero h1{font-size:clamp(3.5rem,18vw,6rem)}.pvl{display:none}.world-intro,.explore,.books,.houses,.characters{padding-top:90px;padding-bottom:90px}.world-facts{grid-template-columns:1fr}.world-facts div{border-right:0;border-bottom:1px solid var(--line)}.world-facts div:last-child{border:0}.map-shell{height:690px;min-height:0}.map-viewport{inset:0 0 300px}.map-panel{height:300px;padding:34px 25px}.map-panel dl{display:none}.map-hint{display:none}.book-feature{grid-template-columns:1fr}.book-cover{max-width:280px;width:100%;margin:auto}.house-grid{grid-template-columns:1fr 1fr}.house-card{min-height:310px}.character-track{grid-template-columns:1fr}.character-track article:nth-child(odd){border-right:0}.lore-links{flex-direction:column}.lore-links button{width:100%}}
@media(max-width:480px){.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.house-grid{grid-template-columns:1fr}.book-feature{padding:24px}.map-toolbar{left:8px;top:8px}.map-marker:after{display:none}dialog{padding:42px 24px;width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Canonical EoV identity and House banners */
.brand{height:100%;max-width:min(360px,34vw)}
.brand-logo{display:block;width:min(330px,30vw);height:auto;max-height:68px;object-fit:contain;object-position:left center}
.site-header.scrolled .brand-logo{max-height:56px}
.house-card{padding:0;justify-content:flex-end;background:#090807;isolation:isolate}
.house-card:before{z-index:1;background:linear-gradient(180deg,transparent 36%,rgba(7,6,5,.25) 56%,rgba(7,6,5,.98) 82%)}
.house-card>*:not(.house-banner){z-index:2;margin-left:25px;margin-right:25px}
.house-card>small{margin-bottom:31px}
.house-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0;filter:saturate(.84) contrast(1.05);transition:transform .6s ease,filter .35s ease}
.house-card:hover .house-banner{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.locked{padding:34px 25px}
.locked>*{margin-left:0!important;margin-right:0!important}
.footer-eagle img{width:min(440px,80vw);height:auto;max-height:170px;object-fit:contain}
.map-canvas>img{width:4096px;max-width:none;height:auto}
.map-marker{z-index:2;transform:translate(-50%,-50%) scale(var(--marker-scale,1))}
#map-markers{position:absolute;inset:0;width:4096px;height:6144px;pointer-events:none}.map-marker{pointer-events:auto}.book-cover-image{padding:0;overflow:hidden;background:#050504}.book-cover-image:before{display:none}.book-cover-image img{display:block;width:100%;height:100%;margin:0;object-fit:cover;filter:none}
@media(max-width:760px){.brand{max-width:220px}.brand-logo{width:210px;max-height:54px}.house-card{min-height:440px}}
@media(max-width:420px){.brand{max-width:185px}.brand-logo{width:180px}.site-header{padding-left:12px;padding-right:12px}}

/* 2026-08-28 book release, canonical Houses, and asset performance */
.book-next{position:relative;overflow:hidden;justify-content:flex-start;padding-top:62px}
.coming-soon-mark{width:150px;aspect-ratio:2/3;margin:0 auto 36px;border:1px solid rgba(180,148,75,.55);background:radial-gradient(circle at 50% 35%,rgba(180,148,75,.16),transparent 45%),linear-gradient(145deg,#171510,#050504);box-shadow:-10px 14px 35px rgba(0,0,0,.55);display:grid;place-items:center;position:relative}
.coming-soon-mark:before{content:"";position:absolute;inset:9px;border:1px solid rgba(180,148,75,.28)}
.coming-soon-mark span{font-size:3.2rem;line-height:1;color:rgba(215,184,104,.72);font-weight:400}
.dispatch-cta{margin:25px 0 28px;align-self:flex-start}
.book-next small{margin-top:auto;line-height:1.6}
.house-card{height:480px;min-height:480px}
.house-card:before{background:linear-gradient(180deg,rgba(7,6,5,.03) 48%,rgba(7,6,5,.72) 70%,rgba(7,6,5,.99) 88%)}
.house-banner{object-fit:cover;object-position:center top;filter:none}
.house-card:hover .house-banner{transform:scale(1.018);filter:brightness(1.08)}
.locked{background:radial-gradient(circle at 50% 22%,rgba(180,148,75,.1),transparent 42%),#0b0a08;filter:none;opacity:1;padding:34px 25px}
.locked:before{background:linear-gradient(180deg,rgba(7,6,5,.08),rgba(7,6,5,.98))}
.locked .sigil{top:105px;width:132px;height:132px;background:rgba(0,0,0,.38);font-size:2.8rem;box-shadow:0 0 50px rgba(180,148,75,.08)}
@media(max-width:760px){.house-card{height:480px;min-height:480px}.book-next{min-height:560px}.coming-soon-mark{width:170px}}
.author-note{text-align:center;padding:58px 24px;background:#090806;border-top:1px solid rgba(180,148,75,.16)}
.author-note h2{font-weight:400;font-size:clamp(1.75rem,3vw,2.6rem);margin:.3em 0}
.author-note>p:last-child{margin:0;color:#918a7d;font-size:.88rem;line-height:1.7}
.author-note em{color:#b9ae99}
