:root{color-scheme:dark;--bg:#080808;--panel:#151515;--text:#e3e0d8;--muted:#aaa69e;--line:#292929;--red:#681719}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.12;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #b35b5d;outline-offset:4px}.header{position:sticky;top:0;z-index:20;min-height:76px;display:flex;align-items:center;gap:clamp(18px,3vw,55px);padding:0 clamp(20px,4vw,70px);border-bottom:1px solid #333;background:#090909f2;backdrop-filter:blur(12px)}.wordmark{font-family:Georgia,serif;font-size:25px;font-weight:900;letter-spacing:.12em;white-space:nowrap}.mark{font-size:15px;color:#842326;vertical-align:top}.nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,27px);margin-left:auto}.nav a,.steam,.lang,.eyebrow,.section-number,.location,.ph-kicker,.demon-label{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.17em;font-weight:bold}.nav a{color:#aaa69e;white-space:nowrap}.nav a:hover,.nav a[aria-current]{color:var(--text)}.nav a[aria-current]:after{content:"";display:block;height:1px;background:#8a2023;margin-top:4px}.header-end{display:flex;align-items:center;gap:25px}.lang{white-space:nowrap}.lang button{border:0;background:none;color:#777;cursor:pointer;padding:8px 3px;font-size:12px;letter-spacing:.13em}.lang button[aria-current]{color:var(--text)}.lang span{color:#555}.steam{border:1px solid #752326;padding:11px 15px;white-space:nowrap}.steam:hover,.button.primary:hover{background:#8a2023}.menu-button{display:none;background:transparent;color:var(--text);border:0;font-size:24px;cursor:pointer}.hero{position:relative;min-height:calc(100vh - 76px);display:flex;align-items:center;overflow:hidden}.hero-art{position:absolute!important;inset:0;aspect-ratio:auto!important;border:0!important}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 3%,#080808dd 38%,#08080888 75%),linear-gradient(0deg,#080808,transparent 35%)}.hero-art .ph-inner{position:absolute;right:5%;bottom:7%;max-width:260px;z-index:2;opacity:.5;text-align:right;align-items:flex-end}.hero-content{position:relative;z-index:3;max-width:820px;padding:70px clamp(24px,8vw,150px)}.eyebrow,.section-number{color:#ae7778}.hero h1{font:900 clamp(88px,16vw,210px)/.9 Georgia,serif;letter-spacing:-.065em;margin:34px 0 24px;text-shadow:0 6px 35px #000}.hero h2{font:normal clamp(25px,3vw,39px)/1.2 Georgia,serif;margin:0 0 25px}.hero-content>p{max-width:560px;color:#c4c0b9;font-size:18px;line-height:1.7}.actions{display:flex;gap:13px;flex-wrap:wrap;margin:35px 0 70px}.button{font-size:12px;letter-spacing:.15em;font-weight:bold;padding:16px 22px;border:1px solid #5f2426}.button.primary{background:var(--red)}.button.ghost:hover{background:#252020}.location{color:#918b83}.section{max-width:1450px;margin:auto;padding:120px clamp(24px,6vw,90px)}.section-number{padding-bottom:20px;border-bottom:1px solid var(--line)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif}.intro{display:grid;grid-template-columns:1fr 1fr;gap:30px 8vw}.intro .section-number{grid-column:1/-1}.intro h2{font-size:clamp(35px,5vw,68px);line-height:1.08;margin:30px 0}.intro-copy{max-width:570px;padding-top:16px;color:#b8b3aa;font-size:19px}.intro-copy p{margin:0 0 22px}.features{padding-top:50px}.feature{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(30px,6vw,110px);min-height:580px;padding:70px 0;border-bottom:1px solid var(--line)}.feature.reverse .feature-art{order:2}.feature.reverse{grid-template-columns:.85fr 1.15fr}.feature-text h2{font-size:clamp(33px,4vw,58px);line-height:1.05;margin:22px 0}.feature-text p{font-size:19px;color:#bdb8ae;max-width:500px}.book{background:radial-gradient(circle at 75% 50%,#31252155,transparent 50%);padding-left:25px;padding-right:25px}.placeholder{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:16/9;background:radial-gradient(ellipse at 72% 30%,#262322,#111 50%,#0d0d0d 85%);border:1px solid #383532;overflow:hidden}.placeholder:before{content:"";position:absolute;inset:15px;border:1px solid #ffffff0c;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff03 6px 7px)}.placeholder:after{content:"+";position:absolute;top:19px;left:25px;color:#653235;font-size:22px;font-weight:100}.ph-inner{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:30px;color:#a5a098;max-width:470px;font-size:13px;letter-spacing:.04em}.ph-inner strong{font:700 clamp(16px,2.2vw,28px)/1.15 Georgia,serif;letter-spacing:.06em;color:#dfd9d0}.ph-inner .ph-kicker{color:#956c6c}.interior{max-width:1450px;min-height:70vh;margin:auto;padding:105px clamp(24px,6vw,90px) 130px}.page-lead{border-bottom:1px solid var(--line);margin-bottom:65px;padding-bottom:65px}.page-lead h1{font-size:clamp(45px,7vw,96px);line-height:1.02;margin:20px 0;letter-spacing:-.035em}.page-lead p{font:24px/1.35 Georgia,serif;color:#aca69d}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.topic-grid article{background:#101010;padding:35px;min-height:235px}.topic-grid h2{font-size:28px;margin:22px 0 12px}.topic-grid p{color:#aaa49b;margin:0}.demon-section{margin-top:135px}.demon-section h2{font-size:clamp(38px,5vw,72px);margin:30px 0 45px}.demon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.demon-art .placeholder{aspect-ratio:3/4}.demon-art .ph-inner{padding:10px}.demon-label{display:block;padding:15px 0;border-bottom:1px solid #442326;color:#bb9c9c}.map{margin:0 0 100px}.map .placeholder{aspect-ratio:3/2}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.place-grid article{min-width:0}.place-grid .placeholder .ph-inner{opacity:.5}.place-caption{padding:16px 0}.place-caption h2{font-size:24px;margin:5px 0}.place-caption p{color:#aaa49b;margin:0}.media section{margin:80px 0}.media section>h2{font-size:35px;border-bottom:1px solid var(--line);padding-bottom:20px}.video{max-width:1000px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery-item{cursor:zoom-in;padding:0;border:0;background:none;text-align:left}.gallery-item:hover .placeholder{border-color:#873335}.art-grid{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:18px}.art-grid .placeholder:last-child{aspect-ratio:3/4}.lightbox{max-width:min(95vw,1300px);max-height:95vh;padding:35px;border:1px solid #4d3232;background:#090909;color:var(--text)}.lightbox::backdrop{background:#000e}.lightbox-content .placeholder{width:min(85vw,1200px)}.lightbox-close{position:absolute;top:0;right:10px;border:0;background:none;color:#fff;font-size:34px;cursor:pointer;z-index:2}.merch{min-height:calc(100vh - 76px);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center}.merch .seal{position:absolute;font-size:min(80vw,650px);line-height:1;color:#fff;opacity:.045;pointer-events:none}.merch h1{font-size:clamp(60px,11vw,150px);line-height:1;margin:25px 0}.merch p{letter-spacing:.4em;font-size:18px;color:#bfb3ad}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-grid article{padding:30px;border:1px solid var(--line);min-height:250px;background:#111}.contact-grid h2{font-size:28px}.contact-grid p{color:#ada79e;border-top:1px solid var(--line);padding-top:15px;letter-spacing:.06em}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:35px;align-items:start;padding:55px clamp(24px,6vw,90px);color:#87837b;font-size:13px}footer>p{max-width:310px}.foot-links{display:flex;gap:25px}.foot-links a:hover{color:#fff}@media(max-width:1050px){.header{gap:18px}.nav{gap:12px}.nav a{font-size:10px;letter-spacing:.08em}.header-end{gap:10px}.steam{font-size:10px;padding:9px}.place-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header{min-height:64px;padding:0 18px;gap:15px}.wordmark{font-size:21px}.menu-button{display:block;margin-left:auto}.nav{display:none;position:absolute;top:63px;left:0;right:0;background:#0d0d0d;border-bottom:1px solid #444;padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:14px;padding:10px 0}.header-end{gap:10px}.steam{display:none}.hero{min-height:680px}.hero-content{padding:65px 24px}.hero h1{font-size:clamp(70px,18vw,130px)}.hero h2{font-size:26px}.hero-content>p{font-size:16px}.hero-art .ph-inner{right:0;bottom:0;max-width:210px;font-size:11px}.section{padding:75px 24px}.intro{display:block}.intro-copy{font-size:17px}.feature,.feature.reverse{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:22px;padding:55px 0}.feature.reverse .feature-art{order:0}.feature-text p{font-size:17px}.book{padding:40px 15px}.interior{padding:70px 24px}.topic-grid{grid-template-columns:1fr 1fr}.demon-grid{grid-template-columns:1fr 1fr}.place-grid{gap:18px}.contact-grid{grid-template-columns:1fr}.contact-grid article{min-height:0}footer{flex-direction:column}.gallery{gap:10px}}@media(max-width:480px){.topic-grid,.place-grid,.gallery{grid-template-columns:1fr}.topic-grid article{min-height:0}.demon-grid{gap:10px}.ph-inner{padding:15px;font-size:12px}.ph-inner strong{font-size:15px}.art-grid{grid-template-columns:1fr 1fr}.actions{gap:9px}.button{padding:13px;font-size:11px}.hero-art .ph-inner{opacity:.35}.foot-links{flex-wrap:wrap}}

.soundtrack>p{color:#aaa49b;margin:-20px 0 30px}.track-list{border-top:1px solid var(--line)}.track{display:grid;grid-template-columns:1fr minmax(260px,420px);align-items:center;gap:30px;padding:25px 10px;border-bottom:1px solid var(--line)}.track h3{font-size:25px;margin:7px 0 0}.track audio{width:100%;height:48px;accent-color:#8a2023;color-scheme:dark}@media(max-width:760px){.track{grid-template-columns:1fr;gap:12px;padding:24px 0}.track h3{font-size:22px}}

.trailer-player{width:100%;max-width:1000px;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}.trailer-player iframe{display:block;width:100%;height:100%;border:0}

.contact-grid a{overflow-wrap:anywhere}.contact-grid a:hover{color:#e3e0d8;text-decoration:underline;text-underline-offset:4px}

.site-image{display:block;width:100%;height:auto;min-width:0;border:1px solid var(--line)}

.about-page{padding-top:65px}.about-art{margin-bottom:65px}.about-story{max-width:820px;margin:0 auto}.about-story h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-.025em;margin:0 0 32px}.about-story p{font-size:19px;line-height:1.8;color:#bdb8ae;margin:0 0 24px}@media(max-width:760px){.about-page{padding-top:35px}.about-art{margin-bottom:40px}.about-story p{font-size:17px}}

.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-art:after{background:linear-gradient(90deg,#08080822 25%,transparent 65%),linear-gradient(0deg,#080808,transparent 18%)}@media(max-width:760px){.hero-art:after{background:linear-gradient(90deg,#080808e8 0%,#080808ad 55%,#08080866),linear-gradient(0deg,#080808,transparent 25%)}}
.lang a{display:inline-block;padding:8px 3px;color:#888;font-size:12px;letter-spacing:.13em}.lang a[aria-current]{color:var(--text)}.lang a:hover{color:var(--text)}

.artwork-item{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;color:inherit}.artwork-item img{display:block;width:100%;height:auto}.art-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 24px 20px;border:0;background:#080808f5;color:#e3e0d8}.art-viewer::backdrop{background:#000e}.art-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.art-stage{min-height:0;display:flex;align-items:center;justify-content:center;flex:1;width:100%}.art-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none}.art-close{position:absolute;right:20px;top:8px;font-size:38px}.art-viewer button{background:#151515;color:inherit;border:1px solid #555;cursor:pointer;min-width:48px;min-height:48px}.art-controls{display:flex;align-items:center;gap:25px;flex-shrink:0}.art-controls button{font-size:24px}.art-controls button:disabled{opacity:.25;cursor:default}.art-count{font-size:14px;letter-spacing:.12em}@media(max-width:600px){.art-viewer{padding:60px 10px 20px}}

.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}@media(max-width:760px){.art-grid{grid-template-columns:minmax(0,1fr)}}

.black-river-page .place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-coming-soon{aspect-ratio:16/9;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden;border:1px solid #383532;background:radial-gradient(ellipse at 65% 25%,#252321,#111 60%,#090909);text-align:center;padding:20px}.location-coming-soon:before{content:"";position:absolute;inset:12px;border:1px solid #ffffff12;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff03 6px 7px);pointer-events:none}.location-coming-soon strong{position:relative;font-family:Georgia,serif;font-size:clamp(20px,2.6vw,34px);line-height:1.2;letter-spacing:.1em;color:#c9c4ba}.location-coming-soon span{position:relative;font-size:9px;letter-spacing:.22em;color:#89837b}.black-river-page .place-caption h2{overflow-wrap:anywhere}@media(max-width:760px){.black-river-page .place-grid{grid-template-columns:minmax(0,1fr)}.location-coming-soon strong{font-size:clamp(24px,6vw,36px)}}

.arcade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}.arcade-card{min-width:0;margin:0}.arcade-card img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border:1px solid #383532;background:#151515}.arcade-card h2{font-size:clamp(20px,2.1vw,30px);line-height:1.25;text-align:center;letter-spacing:.04em;margin:20px 0 0}@media(max-width:760px){.arcade-grid{grid-template-columns:minmax(0,1fr);gap:44px}.arcade-card{width:100%;max-width:540px;margin-inline:auto}.arcade-card h2{font-size:26px}}

.arcade-grid{grid-template-columns:repeat(3,minmax(0,500px));justify-content:center}.arcade-card{width:100%;max-width:500px}.arcade-card img{aspect-ratio:500/888}@media(max-width:760px){.arcade-grid{grid-template-columns:minmax(0,500px)}.arcade-card{max-width:500px}}

.arcade-launch{display:block;color:inherit;text-decoration:none;border-radius:2px}.arcade-launch:hover img{border-color:#d4a65e}.arcade-launch:focus-visible{outline:2px solid #d4a65e;outline-offset:6px}.arcade-card[aria-disabled="true"]{cursor:default}

.arcade-card img{background:#000}

.legal-page{max-width:1100px;margin-inline:auto}.legal-page .page-lead h1{font-size:clamp(32px,5vw,68px);line-height:1.12;overflow-wrap:anywhere}.legal-page>p,.legal-page section p{font-size:17px;line-height:1.85;color:#c9c4ba;overflow-wrap:anywhere}.legal-page section{margin-top:42px;scroll-margin-top:100px}.legal-page section h2{font-size:clamp(22px,3vw,30px);line-height:1.35}.legal-date{font-size:14px!important;color:#aaa69e}.legal-toc{display:grid;gap:9px;padding:24px;border:1px solid #383532;background:#111;margin:32px 0}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-page a:hover{color:#d79b9c}footer .foot-links{flex-wrap:wrap;max-width:550px;row-gap:12px}@media(max-width:760px){.legal-page>p,.legal-page section p{font-size:16px}.legal-toc{padding:18px}.legal-page section{margin-top:32px}}

.arcade-promo{margin:0 0 38px;padding:24px clamp(16px,3vw,36px);border-radius:0 0 10px 10px;background:#101014;text-align:center}.arcade-promo h2{margin:0 0 10px;font-size:clamp(24px,3vw,36px);line-height:1.25;color:#d4a65e;font-weight:700}.arcade-promo p{margin:10px 0 0;color:#e3e0d8;font-size:clamp(15px,1.4vw,18px);line-height:1.6}.arcade-promo .arcade-promo-prize{color:#d4a65e;font-weight:700}
