/* Restrained stone, antique brass and spell-violet. No filters on brand/art assets. */
.kv-approved-final{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:10;opacity:0;pointer-events:none;filter:none}
.kv-approved-final.is-ready{animation:approved-kv-reveal .25s 1.85s both}
@keyframes approved-kv-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.kv-approved-final.is-ready{animation:none!important;opacity:1}}
/* Keep the paired PSD logo above the central enemy; preserve its entrance animation. */
.psd-kv .kv-layer.layer-title{inset:0 auto auto 7%;width:86%;height:86%}
.psd-kv .kv-layer.layer-spell-light{mix-blend-mode:plus-lighter;pointer-events:none;animation:clean-spell-arrive .8s .4s both}
@keyframes clean-spell-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:.55;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.psd-kv .kv-layer.layer-spell-light{animation:none!important;opacity:.55;transform:none}}
.system-row .system-clip{width:100%;aspect-ratio:16/9;object-fit:contain;border:1px solid #ffffff21;background:#090a0c;image-rendering:auto}
@media(max-width:900px){.system-row .system-clip{grid-column:2}}
@media(max-width:600px){.system-row .system-clip{grid-column:1/-1}}
:root{--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--black:#101114;--deep:#17181c;--purple:#24212b;--purple2:#74617e;--gold:#d3b47b;--mint:#c2accd;--ink:#eee9df;--muted:#bcb8b2;--line:#ffffff21;--pad:clamp(72px,8vw,116px)}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-synthesis:none;text-wrap:balance}
.site-header,.site-header.scrolled{background:#111216f5;border-bottom:1px solid #d3b47b30;gap:28px}
.wordmark{display:flex;align-items:center;background:#f4f2ee;padding:10px 14px;flex-shrink:0}
.wordmark img{width:180px;height:auto}
.desktop-nav a,.nav-cta,.button{font-family:inherit;font-weight:650;font-size:12px;letter-spacing:.09em;line-height:1.5}
.desktop-nav a{color:#d9d4ca}.desktop-nav a:hover{color:var(--gold)}
.nav-cta,.button{box-shadow:none;transition:background .2s,transform .2s,border-color .2s}
.nav-cta,.button-gold{background:linear-gradient(115deg,#e0c697,#c4a16b);border:1px solid #e3ceaa;color:#211e19}
.button-dark,.button-ghost{background:#ffffff04;border:1px solid #a698823f;color:var(--ink)}
.button:hover{transform:translateY(-2px);filter:none;box-shadow:0 6px 24px #0004}
.button-dark:hover,.button-ghost:hover{border-color:var(--gold);background:#d3b47b12}
.menu-button{background:transparent;border-color:#a6988260}
.hero{background:var(--black)}
.hero-content{max-width:1290px;padding:42px 24px 50px;column-gap:56px}
.hero h1{font-size:clamp(28px,3vw,43px);font-weight:700;line-height:1.65;letter-spacing:.035em;text-shadow:none}
.hero h1 br{display:block}
.hero-meta span{font:500 12px/1.6 var(--sans);letter-spacing:.03em;background:none;border:0;padding:0 12px 0 0;color:var(--muted)}
.eyebrow,.kicker{font-family:inherit;font-size:12px;font-weight:600;line-height:1.7;letter-spacing:.14em;color:var(--gold)}
.hero .eyebrow{margin-bottom:20px}
.section{background:var(--black)}
.heroes,.build,.package,.media{background:#17171c}
.section::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(86%,1240px);height:1px;background:linear-gradient(90deg,transparent,#d3b47b40,transparent);pointer-events:none}
.section-heading{margin-bottom:44px}.section-heading h2,.product h2,.package h2,.community h2,.faq h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4.4vw,62px);font-weight:400;line-height:1.18;letter-spacing:.025em;overflow-wrap:normal}
.section-heading h2 span{display:inline-block;font-family:inherit;font-size:.5em;color:#ac9b7e;vertical-align:middle;letter-spacing:.05em}
.section-heading::after{content:"";display:block;width:68px;height:8px;margin:27px auto 0;border-top:1px solid #d3b47b75;border-bottom:1px solid #d3b47b25}
.section-heading.left::after{margin-left:0}
.section-heading>p:last-child{font-size:15px;line-height:1.9}
.news-strip{background:#151619;border-block:1px solid var(--line)}
.news-list time,.news-list em{font-family:inherit;font-size:12px;font-weight:500;color:#aaa69f}.news-list em{color:var(--gold)}
.news-list strong{font-weight:500;line-height:1.8}
.about h2{font-family:inherit;font-size:clamp(28px,3.4vw,44px);font-weight:650;line-height:1.65;letter-spacing:.025em}
.about h2 span{color:var(--ink)}.about-copy p:not(.kicker){font-size:16px;line-height:2.05}
.big-index{display:none}
.trailer-frame{border:1px solid #ac91705e;box-shadow:0 0 0 7px #ffffff03,0 18px 48px #0005;transform:none}
.trailer-frame img{filter:brightness(.75)}
.marquee{background:#18191d;color:#ac9b7e;border-block:1px solid #d3b47b24;transform:none;width:100%;margin:0}
.marquee div{font-family:inherit;font-size:11px;font-weight:500;letter-spacing:.2em;padding:14px}
.gameplay-screen{border:1px solid #ac91705e;box-shadow:0 0 0 7px #ffffff03,0 25px 65px #0005}
.hero-tabs{border-color:#d3b47b35}.hero-tabs button{background:#111216;border-color:#d3b47b35;font-family:inherit;font-weight:600;font-size:14px}
.hero-tabs button[aria-selected=true]{background:#d3b47b;color:#211e19}
.class-stage{background:radial-gradient(ellipse at 28% 50%,#51425255,transparent 52%),#101114;border-color:#d3b47b35}
.class-stage::before{opacity:.3;background-size:48px 48px}.class-aura{border-color:#b9a0c344;box-shadow:0 0 70px #74617e20}
.class-copy h3{font:400 clamp(38px,5vw,64px)/1.2 Georgia,"Times New Roman",serif;letter-spacing:.02em;color:var(--ink)}
.class-copy h4{font:600 12px/1.8 var(--sans);letter-spacing:.07em}.class-copy>p:first-child{font:500 12px/1.8 var(--sans);color:var(--gold)}
.class-video{border-color:#d3b47b35}
.system-row{grid-template-columns:52px 1fr 44%;gap:30px;padding-block:32px}
.system-no{font:400 25px/1.5 Georgia,serif;color:#a18b68}
.system-row h3{font:500 clamp(19px,2vw,27px)/1.4 var(--sans);letter-spacing:.05em;color:#e0d6c4}
.system-row p{font-size:15px;line-height:1.9}
.system-row img{aspect-ratio:16/9;object-fit:contain;filter:none;clip-path:none;border:1px solid #ffffff1c}
.battle-capture{position:relative;display:block;padding:0;border:0;background:#090a0c;width:100%;cursor:zoom-in}
.battle-capture img{width:100%;image-rendering:pixelated}
.battle-capture span{display:flex;justify-content:space-between;padding:7px 12px;font:500 11px/1.5 var(--sans);letter-spacing:.12em;color:var(--gold);border:1px solid #ffffff1c;border-top:0}
.battle-capture i{font-style:normal}
.world-scroll{border-color:#d3b47b45}
.map-hotspot{border-color:#d3b47b80;background:#d3b47b06;box-shadow:0 0 16px #d3b47b45;border-radius:3px}
.skill-footage{padding:24px;border:1px solid #d3b47b24;background:#101114;gap:32px}
.ingredient{border:1px solid #d3b47b30;background:#111216;box-shadow:none;min-height:220px}
.ingredient small,.ingredient b{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.08em}
.build-result{background:#202026;color:#dfd5c4;border:1px solid #d3b47b38}
.build-result strong{font:400 clamp(26px,3vw,40px)/1.3 Georgia,serif;letter-spacing:.05em}.build-result span{font:500 11px/1.6 var(--sans);color:var(--muted)}
.meter{background:#ffffff12;height:3px}.meter i{background:#ac956b}
.mode{background:#17181c;border-top:1px solid #d3b47b70;min-height:280px}
.mode h3{font:400 clamp(25px,2.8vw,35px)/1.3 Georgia,serif;color:#e0d6c4;letter-spacing:.025em}
.mode b{font-family:inherit;font-size:11px;letter-spacing:.08em;font-weight:500;color:#ac9b7e}
.gallery button{border:1px solid #d3b47b40;box-shadow:0 12px 30px #0003}
.swipe-hint{font-family:inherit;font-size:12px;line-height:1.8;letter-spacing:.06em;color:#b4ada1}
.steam-cta{background:radial-gradient(ellipse at 50% 100%,#66503a33,transparent 65%),#1c1b1e;color:var(--ink);border-block:1px solid #d3b47b36}
.steam-pixels{opacity:.035}.steam-cta p{font:500 12px/1.6 var(--sans);color:var(--gold)}
.steam-cta h2{font:400 clamp(36px,6vw,78px)/1.15 Georgia,serif;letter-spacing:.015em}.steam-cta h2 span{color:#c3ac85}.steam-cta .button{background:var(--gold);color:#211e19}
.specs dt,.package dt{font-family:inherit;font-size:12px;line-height:1.6;font-weight:500;color:#b1a89a}.specs dd,.package dd{font-weight:400;font-size:15px}
.case{background:linear-gradient(145deg,#27262b,#101114);box-shadow:14px 18px 40px #0004;border:1px solid #d3b47b45}.case>b{font:400 36px/1.3 Georgia,serif}
.bonus-card{background:#17181c;border-color:#d3b47b30}.bonus-card h3{font:400 25px/1.3 Georgia,serif}.bonus-image{background:#111216;color:#ffffff0d}
.community{background:var(--line)}.community article{background:#17181c}.developer a,.event-row time{font-size:12px;font-weight:500}
.faq-list summary{font-size:16px;font-weight:550;line-height:1.8}.faq-list summary span{font-size:12px}
.final-cta{height:auto;display:block;padding:56px 24px 70px;background:#101114}
.final-bg{position:relative;inset:auto;max-width:1100px;margin:0 auto;border:1px solid #d3b47b40;box-shadow:0 20px 65px #0005}
.final-bg img{position:static;width:100%;height:auto;object-fit:contain;image-rendering:auto}.final-bg::after{display:none}
.final-inner{padding-top:36px}.final-inner>p{font:500 12px/1.7 var(--sans);letter-spacing:.15em;color:var(--gold)}
.final-cta h2{font:400 clamp(30px,4vw,48px)/1.2 Georgia,serif;letter-spacing:.025em;margin:16px 0 28px}.final-cta h2 br{display:none}.final-cta h2 span{color:var(--ink)}
footer{background:#0b0c0e;color:#a09b92;font-size:12px}
.dialog-copy h2,.trailer-dialog h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);font-weight:400;line-height:1.2;letter-spacing:.02em}
.dialog-copy dt,.dialog-copy dd{font-family:inherit;font-size:12px;line-height:1.7}
.section[id]{scroll-margin-top:76px}
.trailer-frame b,.trailer-frame small,.bonus-card>span,.case small,.event-row time{font-family:var(--sans);font-size:12px;line-height:1.6;font-weight:500}
.trailer-frame small{background:#101114d9;padding:4px 7px}
.platform-steam{width:160px;height:auto;margin:0 auto 32px;padding:18px;background:#171a21;box-sizing:content-box}
.steam-cta{background:#161419;color:#f5efe2;isolation:isolate}
.steam-cta .steam-pixels{background:url('assets--kv--classic-keyvisual.jpg') center/cover no-repeat;opacity:.22;image-rendering:auto;z-index:-1}
.steam-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111116c9,#11111630,#111116c9);z-index:-1}
.steam-cta h2 span{color:#d8c096}
.language-switch{display:flex;gap:4px;flex-shrink:0;font-size:12px;letter-spacing:.08em}
.language-switch a{padding:10px 6px;text-decoration:none;color:#aaa}
.language-switch a[aria-current]{color:#f4dfb0;border-bottom:1px solid currentColor}
.language-switch a:focus-visible{outline:2px solid #e2c589;outline-offset:2px}
.release-dates{display:flex;flex-wrap:wrap;gap:24px 48px;margin:26px 0 30px}
.release-dates>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px 12px;border-left:2px solid #d5ba84;padding-left:18px}
.release-dates span{grid-column:1/-1;font-size:11px;letter-spacing:.1em;color:#c8b896}
.release-dates time{font:400 clamp(28px,3.5vw,42px)/1.2 Georgia,serif;color:#f4e4c5;font-variant-numeric:lining-nums}
.release-dates small{font-size:12px;color:#d6ccba}
.world-notice{color:#c3bdc7;line-height:1.9;max-width:680px}
@media(max-width:600px){.site-header{gap:8px}.site-header .nav-cta{display:none}.language-switch{margin-left:auto}.release-dates{gap:22px}.release-dates time{font-size:32px}.release-dates>div{padding-left:14px}.steam-cta .steam-pixels{background-position:50% 50%}.platform-logos{gap:12px}}
.platform-switch2{width:110px;height:auto;margin:0 0 32px}
.platform-logos{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0}
.platform-logos img{width:136px;height:auto;object-fit:contain;flex-shrink:0}
/* Match visible artwork (including intrinsic clearspace), not file dimensions.
   Switch: 203/284 × 78.4 = 56px; Switch 2: 317/440 × 77.7 = 56px.
   Steam is optically balanced as a horizontal wordmark. */
.platform-logos img:nth-child(2){width:78.4px}
.platform-logos img:nth-child(3){width:77.7px}
.legal-notices{max-width:1000px;color:#b8b2bd;font-size:12px;line-height:1.9}
.legal-notices p{margin:12px 0}
.gameplay-motion,.class-video,.dialog-media img,.battle-capture img{image-rendering:auto}
.hero-message{grid-column:1;grid-row:2/4;min-width:0}.hero-message h1{margin:0 0 18px;line-height:1.35}.hero-description{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 24px}.hero .eyebrow{line-height:1.8;overflow-wrap:break-word}
@media(max-width:360px){.wordmark img{width:100px}.site-header{gap:9px}.hero h1{font-size:25px}.section-heading h2{font-size:28px}.final-cta h2{font-size:25px}}
@media(max-width:900px){.site-header{gap:18px}.system-row{grid-template-columns:38px 1fr}.system-row img,.system-row .battle-capture{grid-column:2}.skill-footage{grid-template-columns:1fr}.hero-content{padding-block:30px}.hero h1{font-size:32px}.mode{min-height:230px}}
@media(max-width:600px){.site-header{gap:12px}.wordmark{padding:8px 9px}.wordmark img{width:122px}.nav-cta{font-size:10px;padding:9px 10px;letter-spacing:.03em}.menu-button{width:40px;height:40px;flex-shrink:0}.section{padding-inline:22px}.hero-content{padding:27px 22px 34px}.hero h1{font-size:28px;line-height:1.7;letter-spacing:.02em}.hero .eyebrow{font-size:10px;letter-spacing:.09em}.hero-meta{gap:6px 0}.hero-meta span{font-size:11px}.hero .button{font-size:11px;min-height:46px;padding:12px}.section-heading h2{font-size:32px;line-height:1.25}.section-heading h2 span{display:block;margin-top:9px;font-size:16px}.about h2{font-size:28px;line-height:1.65}.news-list a,.news-list>div{grid-template-columns:75px 1fr;gap:7px 12px}.news-list strong{grid-column:1/-1;font-size:14px}.news-list time,.news-list em{font-size:12px}.system-row{gap:12px}.system-row img,.system-row .battle-capture{grid-column:1/-1}.system-row h3{font-size:20px}.hero-tabs button{font-size:12px;letter-spacing:.05em}.class-copy h3{font-size:38px}.skill-footage{padding:12px;gap:20px}.skill-footage p{font-size:15px}.media{padding-inline:0}.specs>div{grid-template-columns:1fr;gap:6px}.specs dt{font-size:11px}.specs dd{font-size:15px}.final-cta{padding-inline:16px}.final-cta h2{font-size:29px}.final-cta .button{font-size:11px}.steam-cta h2{font-size:38px}.swipe-hint{font-size:12px}.community article{padding-inline:22px}.faq-list summary{grid-template-columns:34px 1fr 24px}.section-heading{margin-bottom:36px}.button-disabled{font-size:11px}}
