/* DEAD SIGN STUDIO — visual system */
@font-face{font-family:"Manrope";src:url("assets/fonts/manrope-latin.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"DM Mono";src:url("assets/fonts/dm-mono-400-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Mono";src:url("assets/fonts/dm-mono-500-latin.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--bg:#090909;--panel:#101010;--panel2:#151515;--text:#f0eee9;--muted:#96948f;--line:#2b2a28;--red:#a52b31;--red2:#d13a40;--mono:"DM Mono",monospace;--sans:"Manrope",Arial,sans-serif;--pad:clamp(22px,7vw,112px);--max:1440px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--red);color:white}
.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.055;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.site-header{height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:absolute;z-index:30;inset:0 0 auto;background:rgba(8,8,8,.48);backdrop-filter:blur(14px)}
.brand{display:inline-flex;align-items:center;gap:13px;position:relative;z-index:2}
.brand-mark{width:28px;height:31px;display:block;position:relative;border:1px solid #85817c;transform:skewY(-8deg)}
.brand-mark:before{content:"";position:absolute;top:4px;bottom:4px;left:8px;border-left:1px solid var(--red)}
.brand-mark i{position:absolute;right:-1px;top:8px;width:9px;border-top:2px solid var(--red);transform:rotate(-45deg)}
.brand-mark b{position:absolute;right:2px;bottom:5px;height:9px;border-right:1px solid #85817c}
.brand-wordmark{font-size:12px;font-weight:800;letter-spacing:.17em;line-height:1.1}
.brand-wordmark small{display:block;color:#aaa;font:9px var(--mono);letter-spacing:.37em;margin-top:6px}
.main-nav{display:flex;align-items:center;gap:clamp(20px,3.4vw,52px)}
.main-nav>a{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#c5c2bc;transition:color .2s}
.main-nav>a:hover,.text-link:hover{color:#fff}
.lang-switch{background:none;border:0;color:#85827c;font:10px var(--mono);cursor:pointer;padding:8px}
.lang-switch strong{color:var(--text);font-weight:500}.lang-switch span{padding:0 5px;color:#555}
.menu-toggle{display:none;background:none;border:0;padding:10px;z-index:3}
.menu-toggle span{display:block;width:24px;border-top:1px solid #eee;margin:6px}
.hero{min-height:min(850px,100svh);min-height:max(690px,100svh);position:relative;display:flex;align-items:center;padding:130px var(--pad) 100px;overflow:hidden}
.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.79) 38%,rgba(5,5,5,.24) 100%),linear-gradient(0deg,#090909 0%,transparent 24%,rgba(0,0,0,.15) 100%),url("assets/hero-background.jpg") center 43%/cover no-repeat;transform:scale(1.025);animation:heroReveal 1.8s ease-out both}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 42%,transparent 0%,rgba(0,0,0,.12) 36%,rgba(0,0,0,.55) 100%);pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:850px;margin-top:35px}
.eyebrow,.mono,.section-index,.meta-label{font:10px var(--mono);letter-spacing:.16em}
.eyebrow{color:#aaa69f;display:flex;align-items:center;gap:12px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--red2);display:inline-block;box-shadow:0 0 12px rgba(209,58,64,.55)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(64px,10.6vw,155px);line-height:.88;letter-spacing:-.085em;font-weight:800;margin:30px 0 28px}
h1 em,h2 em,h3 em{font-style:normal;color:#a7a39c}
.hero-copy{max-width:440px;color:#c0bdb6;font-size:clamp(15px,1.3vw,18px);line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}
.button{min-height:52px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font:10px var(--mono);letter-spacing:.1em;transition:background .2s,border .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--red);color:white;border:1px solid var(--red)}
.button-primary:hover{background:#c03238;border-color:#c03238}
.button-outline{border:1px solid #55514b;color:#eee}
.button-outline:hover{border-color:#aaa}
.text-link{font:10px var(--mono);letter-spacing:.1em;color:#c6c2bb;display:flex;gap:15px;align-items:center}
.hero-bottom{position:absolute;z-index:1;bottom:32px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;color:#77746e;font-size:9px}
.scroll-cue{display:flex;align-items:center;gap:12px}.scroll-cue span:first-child{height:1px;width:38px;background:var(--red)}
.section-pad{padding:clamp(78px,10vw,145px) var(--pad)}
.intro{background:var(--bg)}
.section-index{display:flex;align-items:center;gap:15px;color:#85817b}
.section-index>span:first-child{color:var(--red2)}
.index-line{height:1px;width:44px;background:#4a4742}
.intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:10%;align-items:end;margin:58px 0 105px}
.intro h2,.approach h2,.contact h2{font-size:clamp(38px,5.4vw,76px);letter-spacing:-.065em;line-height:1.08;font-weight:600;margin:0}
.intro-body{max-width:460px;color:#c4c0b9}
.intro-body p{line-height:1.9}
.muted{color:var(--muted)!important;font-size:13px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.principle{padding:28px 30px 0 0}
.principle+.principle{padding-left:28px;border-left:1px solid var(--line)}
.principle-number{font:10px var(--mono);color:var(--red2)}
.principle h3{font-size:17px;font-weight:600;letter-spacing:-.03em;margin:22px 0 10px}
.principle p{color:var(--muted);font-size:13px;max-width:260px}
.game-section{background:#0d0d0d}
.game-art{height:clamp(430px,62vw,790px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.1) 60%,rgba(0,0,0,.42)),url("assets/blackout-key-art.jpg") center/cover no-repeat}
.art-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 0%,rgba(0,0,0,.17) 45%,rgba(0,0,0,.72) 100%);pointer-events:none}
.game-stamp{position:absolute;top:36px;right:var(--pad);display:flex;align-items:center;gap:10px;color:#c9c5bd;font-size:9px}
.game-title-wrap{position:relative;text-align:center;text-shadow:0 4px 35px #000}
.game-title-wrap .eyebrow{justify-content:center;font-size:9px}
.game-title-wrap h2{font-size:clamp(72px,16vw,220px);line-height:.9;letter-spacing:-.095em;font-weight:800;margin:20px 0 13px}
.game-title-wrap h2 span{color:#b83238}
.game-logo{display:block;width:min(760px,78vw);height:auto;margin:6px auto 14px;filter:drop-shadow(0 4px 35px #000)}
.game-subtitle{font:11px var(--mono);letter-spacing:.42em;color:#ddd;margin:0}
.art-caption{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;color:#9b9790;font-size:9px}
.game-info{padding-top:85px;padding-bottom:100px}
.game-info-grid{display:grid;grid-template-columns:1fr .7fr;gap:12%;margin:55px 0 70px}
.red-text{color:var(--red2)}
.game-info h3{font-size:clamp(36px,4.8vw,66px);line-height:1.1;letter-spacing:-.065em;font-weight:600;margin:18px 0 0}
.game-description{max-width:480px;color:#c5c1ba}
.game-description>p{line-height:1.9}
.game-description .button{margin-top:15px}
.game-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.game-meta>div{padding:23px 15px 23px 0;display:flex;flex-direction:column;gap:9px}
.game-meta>div+div{padding-left:25px;border-left:1px solid var(--line)}
.meta-label{font-size:9px;color:#77736d}
.game-meta strong{font-size:13px;font-weight:500}
.team{background:var(--bg)}
.team-head{display:grid;grid-template-columns:1.1fr .6fr;gap:10%;align-items:end;margin:58px 0 75px}
.team h2,.page-hero h1,.option h2{letter-spacing:-.065em;font-weight:600;margin:0}
.team h2{font-size:clamp(38px,5.4vw,76px);line-height:1.08}
.team-head>p{max-width:390px;color:#aaa69f;line-height:1.9;margin-bottom:4px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,40px)}
.member-photo{position:relative;aspect-ratio:4/5;background:#121212;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}
.member-photo>span{font-size:clamp(38px,4vw,56px);font-weight:800;letter-spacing:-.06em;color:#2c2b29}
.member-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s}
.member-photo:has(img)>span{display:none}
.member-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red2);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.member:hover .member-photo img{filter:grayscale(.25) contrast(1.05)}
.member:hover .member-photo:after{transform:scaleX(1)}
.member-index{display:block;margin-top:20px;color:var(--red2);font-size:9px}
.member h3{font-size:19px;font-weight:600;letter-spacing:-.03em;margin:8px 0 4px}
.member-role{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#aaa69f;margin:0 0 12px}
.member-bio{color:var(--muted);font-size:13px;max-width:320px;margin:0}
.main-nav>.nav-support{color:var(--red2)}
.main-nav>.nav-support:hover{color:#fff}
.support-divider{margin:24px 0}
.page-hero{padding:190px var(--pad) clamp(70px,8vw,110px);border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 85% 0%,rgba(165,43,49,.12),transparent 55%)}
.page-hero h1{font-size:clamp(48px,8vw,118px);line-height:.98;font-weight:800;margin:44px 0 34px}
.page-hero>p{max-width:560px;color:#c0bdb6;font-size:clamp(15px,1.3vw,18px);line-height:1.8;margin:0}
.support-options{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.option{padding:30px 30px 0 0;display:flex;flex-direction:column;align-items:flex-start}
.option+.option{padding-left:30px;border-left:1px solid var(--line)}
.option h2{font-size:clamp(24px,2.4vw,32px);line-height:1.15;margin:22px 0 14px}
.option p{color:var(--muted);font-size:14px;line-height:1.8;max-width:330px;margin-bottom:30px}
.option .button{margin-top:auto}
.uses-list{list-style:none;margin:0 0 4px;padding:0;border-top:1px solid #c7c2b8}
.uses-list li{padding:16px 0;border-bottom:1px solid #c7c2b8;color:#3a3734;font-weight:500;display:flex;gap:16px}
.uses-list li:before{content:"→";color:var(--red);font-family:var(--mono)}
.fine-print{list-style:none;margin:18px 0 0;padding:0;max-width:520px}
.fine-print li{color:#aaa69f;font-size:13px;line-height:1.8;padding:12px 0;border-bottom:1px solid var(--line)}
.approach{background:#e8e5de;color:#171615}
.approach .section-index{color:#69655f}
.approach .section-index>span:first-child{color:var(--red)}
.approach .index-line{background:#b7b2a9}
.approach-head{display:grid;grid-template-columns:1.1fr .6fr;gap:10%;align-items:end;margin:60px 0 75px}
.approach h2 em{color:#77726b}
.approach-head>p{max-width:390px;color:#5d5953;line-height:1.9;margin-bottom:4px}
.approach-visual{height:230px;position:relative;background:#171716;color:#eee;overflow:hidden;display:flex;align-items:flex-end;padding:30px}
.approach-visual:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #3a3936;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 45px #1b1b1a,0 0 0 46px #33312e,0 0 0 105px #191918,0 0 0 106px #302e2b}
.visual-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#8a292e,transparent)}
.visual-cross{position:absolute;left:calc(50% - 12px);top:calc(50% - 22px);color:var(--red2);font:30px var(--mono)}
.visual-copy{position:relative;z-index:1}.visual-copy .mono{color:#a8a39b;font-size:9px}.visual-copy p{margin:9px 0 0;font-size:14px}
.visual-coordinate{position:absolute;right:30px;bottom:35px;color:#77736c;font-size:9px}
.contact{background:#0c0c0c}
.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:12%;margin-top:60px}
.contact-copy{max-width:410px;color:#aaa69f;line-height:1.9;margin-top:25px}
.contact-panel{padding:28px;background:#121212;border:1px solid #292826;align-self:start}
.email-link{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:clamp(15px,2vw,21px);font-weight:600;margin:15px 0 27px;letter-spacing:-.04em;overflow-wrap:anywhere}
.email-link span{color:var(--red2)}
.contact-divider{height:1px;background:var(--line);margin-bottom:24px}
.social-links{display:flex;flex-wrap:wrap;gap:19px;margin:14px 0}
.social-links a{font:9px var(--mono);letter-spacing:.08em;color:#d0ccc5}
.social-links a:hover{color:var(--red2)}
.small-note{font-size:11px;color:#77736d;margin:20px 0 0}
.site-footer{min-height:110px;padding:25px var(--pad);border-top:1px solid #262523;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-brand .brand-mark{transform:scale(.8) skewY(-8deg);transform-origin:left center}
.footer-tagline{color:#79756e;font-size:9px}
.footer-right{display:flex;gap:25px;align-items:center;color:#77736d;font:9px var(--mono);letter-spacing:.06em}
.back-top{color:#c6c2bb}
.launch-note{position:fixed;z-index:100;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#252321;border:1px solid #555;color:#fff;font-size:12px;max-width:calc(100% - 30px)}
/* Privacy and cookie policy */
.policy{max-width:820px}
.policy h2{font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.04em;line-height:1.2;margin:64px 0 18px}
.policy h2:first-child{margin-top:0}
.policy p,.policy li{color:#c4c0b9;line-height:1.9}
.policy ul{padding-left:20px}
.policy a{color:var(--text);border-bottom:1px solid var(--red2)}
.policy-table{width:100%;border-collapse:collapse;margin:22px 0 8px;font-size:13px}
.policy-table th{font:9px var(--mono);letter-spacing:.14em;color:#77736d;text-align:left;font-weight:400;padding:0 16px 12px 0;border-bottom:1px solid var(--line)}
.policy-table td{padding:14px 16px 14px 0;border-bottom:1px solid var(--line);color:#c4c0b9;vertical-align:top}
.policy-table code{font:12px var(--mono);color:var(--text)}
.policy-updated{font:10px var(--mono);letter-spacing:.14em;color:#77736d;margin-top:64px}
@media(max-width:760px){.policy-table,.policy-table tbody,.policy-table tr,.policy-table td{display:block}.policy-table thead{display:none}.policy-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.policy-table td{border:0;padding:3px 0}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes heroReveal{from{opacity:.45;transform:scale(1.06)}to{opacity:1;transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1020px){
 .site-header{height:72px}.menu-toggle{display:block}
 .main-nav{position:fixed;inset:0;height:100vh;height:100dvh;background:rgba(8,8,8,.98);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px var(--pad);gap:28px;transform:translateX(100%);transition:transform .3s ease}
 .main-nav.open{transform:translateX(0)}.main-nav>a{font-size:17px}.lang-switch{font-size:12px;padding:0}
 .team-grid{grid-template-columns:repeat(2,1fr)}.game-meta{grid-template-columns:repeat(2,1fr)}.game-meta>div:nth-child(3){padding-left:0;border-left:0}.game-meta>div:nth-child(n+3){border-top:1px solid var(--line)}
 .support-options{grid-template-columns:1fr}.option,.option+.option{padding:28px 0 34px;border-left:0;border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
 .hero{min-height:760px;min-height:100svh;padding-top:110px;padding-bottom:120px}
 .hero-backdrop{background-position:58% center;background-image:linear-gradient(90deg,rgba(5,5,5,.93),rgba(5,5,5,.53)),linear-gradient(0deg,#090909 0%,transparent 35%),url("assets/hero-background.jpg")}
 .hero h1{font-size:clamp(59px,15vw,105px)}.hero-copy{max-width:360px}
 .hero-bottom{bottom:23px}.hero-bottom>.mono:last-child{display:none}.scroll-cue{margin-left:auto}
 .intro-grid,.game-info-grid,.approach-head,.contact-grid,.team-head{grid-template-columns:1fr;gap:30px}
 .intro-grid{margin:42px 0 65px}.intro h2,.approach h2,.contact h2,.team h2{font-size:clamp(39px,10vw,60px)}
 .team-head{margin:42px 0 50px}.team-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}.member h3{font-size:16px}.member-bio{font-size:12px}
 .page-hero{padding-top:140px}.page-hero h1{margin:34px 0 26px}
 .principles{grid-template-columns:1fr}.principle,.principle+.principle{padding:23px 0;border-left:0;border-bottom:1px solid var(--line)}.principle h3{margin:12px 0 7px}
 .game-art{height:500px}.game-title-wrap h2{font-size:clamp(75px,19vw,145px)}.art-caption{font-size:8px}
 .game-info{padding-top:70px;padding-bottom:75px}.game-info-grid{margin:40px 0 45px}
 .game-meta{grid-template-columns:1fr}.game-meta>div,.game-meta>div+div,.game-meta>div:nth-child(3){padding:17px 0;border-left:0}.game-meta>div+div{border-top:1px solid var(--line)}
 .approach-head{margin:42px 0}.approach-visual{height:210px;padding:22px}.visual-coordinate{right:20px;bottom:22px;font-size:8px}
 .contact-grid{margin-top:42px}.contact-panel{padding:22px}
 .site-footer{align-items:flex-start;flex-wrap:wrap}.footer-tagline{display:none}.footer-right{margin-left:auto;flex-direction:column;align-items:flex-end;gap:8px}
}
@media(max-width:400px){.member-role{font-size:9px;letter-spacing:.1em}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom .scroll-cue span:first-child{width:18px}.art-caption span:last-child{max-width:110px;text-align:right}}
