@charset "UTF-8";
/* Valor Mortis: charcoal, weathered brass, and official battlefield photography. */
.home-page{--bg:#101311;--surface:#191d19;--ink:#f2ede0;--muted:#b3b5a9;--line:#363b33;--accent:#d8ba7e;--button:#d8ba7e;--button-ink:#171b15;background:var(--bg);color:var(--ink);line-height:1.7}
.home-page .wrap{width:min(1160px,calc(100% - 80px))}
.home-page .status-bar{background:#101311;color:#c7c9bb;letter-spacing:.12em;font-size:10px;padding:7px 12px;border-bottom:1px solid #ffffff0d;position:relative;z-index:3}
.home-page .site-header{position:relative;z-index:2;min-height:92px;gap:24px;color:#f2ede0;border-bottom:1px solid #f0e4c622}
.home-page .brand{font-size:23px;font-weight:400;letter-spacing:.02em;padding-left:49px;position:relative}
.home-page .brand:before{content:"V";position:absolute;left:0;top:0;width:34px;height:38px;border:1px solid #d8ba7e88;display:grid;place-items:center;color:#d8ba7e;font-size:28px;line-height:1}
.home-page .brand span{font-size:8px;color:#d8cbb2;letter-spacing:.22em;margin-top:7px}
.home-page .site-header nav{gap:23px}
.home-page .site-header nav a{font-size:12px}
.home-page #theme-toggle{background:#171b1599;border:1px solid #ffffff33;color:#eee4d1;font-size:10px;padding:7px 11px}
.home-page #main{width:100%;margin-top:-92px}
.home-page .eyebrow{color:var(--accent);font-size:10px;letter-spacing:.19em}
.campaign-hero{position:relative;isolation:isolate;overflow:hidden;background:#181d17;color:#f2ede0;min-height:670px}
.campaign-art,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.campaign-art{object-position:70% 50%}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(11,17,13,.96) 0%,rgba(11,17,13,.83) 26%,rgba(11,17,13,.35) 58%,rgba(11,17,13,.07) 100%),linear-gradient(0deg,#101311 0%,transparent 30%,rgba(9,13,10,.42) 100%)}
.campaign-inner{min-height:670px;position:relative;padding-top:144px;padding-bottom:61px}
.campaign-copy{width:min(570px,100%)}
.campaign-copy>.eyebrow{display:flex;align-items:center;gap:14px;color:#dcc697;margin-bottom:18px}
.campaign-copy>.eyebrow:before{content:"";width:28px;height:1px;background:#dcc697}
.campaign-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6.4vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.07;margin:0 0 25px;color:#f3ecd8;max-width:none;text-shadow:0 2px 18px #0004}
.campaign-copy h1 span{display:block;font-family:var(--body);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.4em;color:#d8ba7e;margin-top:12px;margin-left:4px}
.campaign-tagline{font-family:var(--display);font-size:30px;font-weight:400;line-height:1.25;margin-bottom:19px;color:#f2ede0}
.campaign-description{max-width:460px;font-size:14px;line-height:1.85;color:#d0d1c3;margin-bottom:0}
.campaign-copy .actions{gap:13px;margin-top:27px;font-size:12px;flex-wrap:wrap}
.home-page .campaign-button{border-radius:0;min-height:48px;padding:12px 23px;background:#d8ba7e;color:#171b15;position:relative;gap:24px}
.campaign-button:after{content:"→";font-size:17px;font-weight:400}
.campaign-secondary{display:inline-flex;align-items:center;min-height:48px;padding:11px 21px;border:1px solid #bdbda86e;color:#f2ede0;text-decoration:none;font-weight:500;font-size:12px;background:#131b1373}
.campaign-secondary:hover{background:#293226;color:#f5deb0}
.hero-roadmap{display:inline-flex;gap:12px;margin-top:20px;color:#d6ceb9;text-decoration:none;font-size:11px}
.hero-roadmap:hover{color:#f5deb0}
.scene-caption{position:absolute;right:0;bottom:53px;display:flex;flex-direction:column;gap:9px;text-align:right;color:#e3dbcb;font:9px ui-monospace,Consolas,monospace;letter-spacing:.17em;border-right:1px solid #d8ba7e;padding-right:18px}
.scene-caption span:last-child{font-size:8px;color:#bdbda8}
.release-strip{background:#171c16;border-block:1px solid #d8ba7e2e}
.release-strip .wrap{display:flex;align-items:center;gap:24px;min-height:55px;color:#bfc1b2;font-size:10px;letter-spacing:.03em;flex-wrap:wrap;padding-block:12px}
.release-badge{color:#dfc694;display:inline-flex;align-items:center;gap:9px}
.release-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#d8ba7e;box-shadow:0 0 9px #d8ba7e66}
.release-strip a{margin-left:auto;text-decoration:none;font-size:10px;color:#c8c9ba}
.campaign-content{padding-top:69px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:29px}
.section-heading .eyebrow{margin-bottom:9px}
.home-page h2{font-size:clamp(27px,2.8vw,36px);font-weight:400;letter-spacing:-.025em;margin-bottom:0;line-height:1.25}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:11px;color:var(--accent);text-decoration:none;white-space:nowrap;min-height:36px}
.text-link:hover{color:var(--ink)}
.campaign-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.campaign-guide{display:flex;flex-direction:column;background:linear-gradient(135deg,#22271f,#191d18);border:1px solid #d8ba7e2a;text-decoration:none;position:relative;transition:border-color .2s,transform .2s;color:var(--ink)}
.campaign-guide:hover{border-color:#d8ba7e99;transform:translateY(-4px);color:var(--ink)}
.guide-art{height:173px;position:relative;overflow:hidden;background:#262b22}
.guide-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#191d18,transparent 55%)}
.guide-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s;opacity:.88}
.campaign-guide:hover .guide-art img{transform:scale(1.045)}
.guide-number{position:absolute;z-index:1;top:15px;left:19px;font:10px ui-monospace,Consolas,monospace;color:#fff2d2;letter-spacing:.15em;padding:2px 6px;background:#13170f99;border:1px solid #f0d29944}
.guide-body{padding:19px 23px 21px;display:flex;flex-direction:column;flex:1}
.guide-label{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:500;color:var(--accent)}
.guide-label svg{width:20px;height:20px;flex:none}
.guide-arrow{margin-left:auto;font-size:16px;color:var(--accent)}
.guide-body h3{font-size:24px;font-weight:400;margin:14px 0 11px;letter-spacing:-.025em;line-height:1.25}
.guide-body p{color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:20px}
.guide-read{margin-top:auto;font-size:10px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}
.compact .guide-body{padding-block:23px}
.field-warning{display:flex;align-items:center;gap:23px;margin-top:35px;padding:25px 28px;border:1px solid #d8ba7e33;background:linear-gradient(110deg,#352b1d66,#171c1622);border-left:2px solid #d8ba7e}
.warning-mark{font-family:var(--display);font-size:28px;line-height:1;width:33px;height:43px;border:1px solid #d8ba7e77;color:var(--accent);display:grid;place-items:center;flex:none}
.field-warning .eyebrow{font-size:8px;margin-bottom:5px}
.field-warning h2{font-size:23px;margin-bottom:7px}
.field-warning p:last-child{color:var(--muted);font-size:12px;max-width:640px;margin:0}
.field-warning .text-link{margin-left:auto}
.reading-route{padding-block:70px}
.section-note{font-size:11px;line-height:1.8;color:var(--muted);margin:0}
.campaign-reading{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.campaign-reading li{border-top:1px solid var(--line)}
.campaign-reading li a{display:flex;gap:22px;padding:25px 0;text-decoration:none;color:var(--ink)}
.route-number{font:italic 29px/1.2 var(--display);color:var(--accent);width:39px;flex:none}
.campaign-reading .eyebrow{font-size:8px;display:block;margin-bottom:7px}
.campaign-reading h3{font-size:23px;font-weight:400;margin-bottom:9px}
.campaign-reading p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:0}
.route-arrow{color:var(--accent);margin-left:auto;font-size:17px}
.campaign-reading a:hover h3{color:var(--accent)}
.campaign-about{display:grid;grid-template-columns:1fr 1fr;gap:53px;align-items:center;border-top:1px solid var(--line);padding-top:65px}
.about-art{position:relative;min-height:375px;align-self:stretch;overflow:hidden;border:1px solid #d8ba7e33}
.about-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:65% 50%}
.about-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101311bb,transparent 60%)}
.about-art span{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;font:9px ui-monospace,Consolas,monospace;letter-spacing:.13em;color:#e2cfad}
.about-copy h2{margin-bottom:22px}
.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:16px}
.campaign-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:39px 0 0;padding-block:28px;border-block:1px solid var(--line)}
.campaign-stats>div{padding-left:24px;border-left:1px solid var(--line)}
.campaign-stats>div:first-child{padding-left:0;border:0}
.campaign-stats>div{display:flex;flex-direction:column}
.campaign-stats dd{order:-1}
.campaign-stats dd{font:400 36px/1.2 var(--display);color:var(--accent);margin-bottom:9px}
.campaign-stats dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.source-disclosure{padding:13px 0;border:0!important;color:var(--muted)}
.source-disclosure summary{font-size:10px;font-weight:400}
.source-disclosure .sources{margin-top:20px}
.source-disclosure .sources a{font-size:12px}
.campaign-steam{margin-top:45px;border:1px solid var(--line);padding:27px 30px;background:#191e1733}
.campaign-steam .eyebrow{margin-bottom:7px}
.campaign-steam h2{font-size:25px}
.campaign-steam p:not(.eyebrow){font-size:12px;color:var(--muted);margin:9px 0 15px}
.steam-disclosure{padding:0;border:0!important}
.steam-disclosure summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:400;color:var(--accent);border-top:1px solid var(--line);padding-top:14px}
.steam-disclosure summary span{font-size:20px}
.steam-disclosure[open] summary span{transform:rotate(45deg)}
.campaign-faq{display:grid;grid-template-columns:1fr 1.45fr;gap:60px;padding-top:70px}
.campaign-faq>div>p:not(.eyebrow){margin-top:19px;color:var(--muted);font-size:12px;line-height:1.9}
.campaign-faq details{padding-block:19px}
.campaign-faq summary{font-size:12px;font-weight:500;line-height:1.8}
.campaign-faq details p{font-size:12px;line-height:1.9;color:var(--muted)}
.campaign-final{position:relative;isolation:isolate;background:#161e16;border:1px solid #d8ba7e4d;padding:47px 45px;margin-top:65px;overflow:hidden;color:#f2ede0}
.campaign-final:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151d16 15%,#151d16dd 45%,#151d1677),url('/assets/media/battlefield.webp') right 60%/cover}
.campaign-final .eyebrow{color:#dfc694;margin-bottom:12px}
.campaign-final h2{font-size:38px;color:#f2ede0}
.campaign-final>p:not(.eyebrow){max-width:530px;font-size:13px;color:#c9cbbb;margin:18px 0 0}
.campaign-final .actions{gap:14px;flex-wrap:wrap;font-size:12px;margin-top:25px}
.home-page footer{margin-top:60px!important;padding-block:32px;color:var(--ink)}
.home-page footer strong{font-size:22px;font-weight:400}
.home-page footer p,.home-page footer nav{font-size:10px}
.guide-body p,.campaign-reading p{font-size:13px}
.about-copy>p:not(.eyebrow),.campaign-faq summary,.campaign-faq details p{font-size:14px}
/* Light reading mode keeps the cinematic hero and uses weathered paper below it. */
html[data-mode=light] .home-page{--bg:#eeeee4;--surface:#f8f7ee;--ink:#242e25;--muted:#53604f;--line:#c2c8b8;--accent:#6e5021}
html[data-mode=light] .campaign-guide{background:linear-gradient(135deg,#fbfaf1,#e6e8dd);border-color:#b5baab}
html[data-mode=light] .guide-art:after{background:linear-gradient(0deg,#e6e8dd,transparent 50%)}
html[data-mode=light] .field-warning{background:linear-gradient(110deg,#e5d5b777,#e9ecdf);border-color:#ac9475}
html[data-mode=light] .guide-directory .text-link,html[data-mode=light] .reading-route .eyebrow{color:var(--accent)}
@media(min-width:1500px){.campaign-hero,.campaign-inner{min-height:730px}.campaign-inner{padding-top:165px}.campaign-art{object-position:center 48%}}
@media(max-width:1050px){.home-page .wrap{width:calc(100% - 48px)}.home-page .site-header{gap:15px}.home-page .site-header nav{gap:17px}.home-page .brand{font-size:21px;padding-left:43px}.home-page .site-header nav a{font-size:11px}.campaign-copy h1{font-size:74px}.scene-caption{bottom:34px}.guide-body{padding-inline:19px}.campaign-about{gap:32px}}
@media(max-width:850px){.home-page .site-header{min-height:124px;padding-block:17px;gap:12px}.home-page .site-header nav{order:3;width:100%;gap:25px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.home-page #main{margin-top:-124px}.home-page .site-header nav a{font-size:12px;flex:none}.campaign-inner{padding-top:167px;min-height:685px}.campaign-hero{min-height:685px}.campaign-guides{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-caption{display:none}.campaign-about{grid-template-columns:1fr;gap:30px}.about-art{min-height:360px}.campaign-faq{gap:30px;grid-template-columns:1fr 1.5fr}.field-warning{flex-wrap:wrap}.field-warning>div{flex:1}.field-warning .text-link{margin-left:56px}.release-strip .wrap{gap:8px 20px}.release-strip a{margin-left:0}.campaign-stats dd{font-size:30px}.campaign-stats>div{padding-left:18px}.campaign-reading{gap:0 25px}.campaign-reading li a{gap:14px}}
@media(max-width:580px){.home-page .wrap{width:calc(100% - 36px)}.home-page .status-bar{font-size:8px;letter-spacing:.06em}.home-page .brand{font-size:20px}.campaign-inner{padding-top:161px;padding-bottom:33px;min-height:680px}.campaign-hero{min-height:680px}.campaign-art{object-position:61% 50%}.hero-shade{background:linear-gradient(90deg,#0b110de8,#0b110d8c),linear-gradient(0deg,#101311 3%,transparent 60%)}.campaign-copy>.eyebrow{font-size:8px;letter-spacing:.12em;gap:9px;margin-bottom:21px}.campaign-copy h1{font-size:clamp(46px,12.7vw,72px);letter-spacing:-.05em;margin-bottom:26px}.campaign-copy h1 span{font-size:9px}.campaign-tagline{font-size:28px}.campaign-description{font-size:13px;line-height:1.85;max-width:340px}.campaign-copy .actions{flex-direction:row;gap:10px;align-items:stretch}.home-page .campaign-button,.campaign-secondary{padding:10px 15px;font-size:11px;min-height:46px}.campaign-copy .actions>a{justify-content:center}.hero-roadmap{font-size:10px}.release-strip .wrap{flex-direction:column;align-items:flex-start;gap:7px;padding-block:16px;font-size:9px}.release-strip a{font-size:9px}.campaign-content{padding-top:44px}.section-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:23px}.home-page h2{font-size:29px}.home-page .eyebrow{font-size:9px}.campaign-guides{grid-template-columns:1fr;gap:15px}.guide-art{height:190px}.guide-body{padding:20px 22px}.guide-body h3{font-size:26px}.guide-body p{font-size:13px}.compact .guide-body{padding:22px}.guide-label{font-size:10px}.field-warning{padding:22px 19px;gap:15px;margin-top:26px}.field-warning h2{font-size:23px}.field-warning .eyebrow{font-size:7px}.field-warning .text-link{margin-left:48px}.reading-route{padding-block:45px}.section-note br{display:none}.campaign-reading{grid-template-columns:1fr}.campaign-reading li a{padding-block:21px;gap:16px}.campaign-reading h3{font-size:24px}.campaign-reading p{font-size:12px}.campaign-about{padding-top:40px;gap:27px}.about-art{min-height:310px}.about-copy>p:not(.eyebrow){font-size:13px}.campaign-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:29px;padding-block:24px}.campaign-stats>div{padding-left:0;border-left:0}.campaign-stats dd{font-size:34px}.campaign-stats dt{font-size:8px}.campaign-steam{padding:23px 20px;margin-top:30px}.campaign-steam h2{font-size:24px}.campaign-faq{grid-template-columns:1fr;gap:21px;padding-top:45px}.campaign-faq>div>p:not(.eyebrow){margin-bottom:0}.campaign-faq>div>p:not(.eyebrow) br{display:none}.campaign-faq summary{font-size:13px}.campaign-final{padding:31px 23px;margin-top:43px}.campaign-final h2{font-size:33px}.campaign-final .actions{flex-direction:column;align-items:stretch;gap:11px}.campaign-final .actions a{justify-content:center}.home-page footer{margin-top:39px!important}.home-page footer nav{gap:15px}}
@media(max-width:580px){.home-page .site-header{height:149px;min-height:149px;padding-block:14px;gap:10px}.home-page #main{margin-top:-149px}.home-page .site-header nav{flex-wrap:wrap;gap:5px 20px;overflow:visible;padding:0;scrollbar-width:none}.home-page .site-header nav a{padding-block:3px;font-size:11px}.campaign-inner{padding-top:186px}}
@media(prefers-reduced-motion:reduce){.campaign-guide,.guide-art img{transition:none}.campaign-guide:hover,.campaign-guide:hover .guide-art img{transform:none}}
