@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Manrope:wght@500;600;700;800&display=swap");

:root{--font-game-title:"Cinzel",Georgia,serif;--font-game-body:"Manrope","Segoe UI",sans-serif}
body{font-family:var(--font-game-body);letter-spacing:.01em}
nav a,.play,.cta,.season,.title small,.form-copy>small,.hunt-info small,.role-head,.roles button,.hunt span,footer{font-family:var(--font-game-body)}
h1,h2,h3,.hunt b,.party-example b{font-family:var(--font-game-title);font-weight:800}

/* Navegação dimensional: arte leve em SVG e a mesma moldura carmesim do jogo. */
header{height:82px;padding-inline:max(18px,calc((100vw - 1260px)/2));border:0;background:linear-gradient(180deg,#050407fa,#09060bf2 72%,#16070df2);box-shadow:0 8px 28px #000b,0 1px #8e1830;overflow:visible}
header:after{content:"";position:absolute;left:0;right:0;bottom:-27px;height:54px;background:url("assets/dimensional-divider.svg") center/1200px 54px no-repeat;pointer-events:none;opacity:.85}
.brand{position:relative;display:flex!important;align-items:center;gap:14px;min-width:258px;height:62px;padding:0 18px 0 10px;text-decoration:none;background:radial-gradient(circle at 22% 50%,#5d14243d,transparent 48%)}.brand:after{content:"";position:absolute;left:8px;right:0;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,#8b1933 20%,#8b1933 72%,transparent)}.brand img{width:166px;filter:drop-shadow(0 0 8px #ba173944)}.brand span{position:relative;display:flex;align-items:center;gap:7px;white-space:nowrap;color:#bcaeb5;font-family:var(--font-game-body);font-size:7px;font-weight:800;letter-spacing:.16em;line-height:1}.brand span:before,.brand span:after{content:"";position:absolute;left:17px;right:0;height:1px;background:linear-gradient(90deg,#8b1933,transparent)}.brand span:before{top:-7px}.brand span:after{bottom:-7px}.brand span i{display:block;width:8px;height:8px;border:1px solid #cf2944;transform:rotate(45deg);box-shadow:0 0 7px #df244b66}
header nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;gap:0;width:min(530px,42vw);height:58px;align-items:center;justify-content:center;background:url("assets/nav-ornament.svg") center/100% 100% no-repeat}
header nav a{position:relative;display:flex;align-items:center;gap:7px;padding:20px 23px;color:#b9adb4;font-family:var(--font-game-body);font-size:10px;letter-spacing:.14em;transition:.2s}
header nav a+a:before{content:"";position:absolute;left:0;top:19px;bottom:19px;width:1px;background:linear-gradient(transparent,#7c1a30,transparent)}
header nav a i{color:#ce2541;font-style:normal;font-size:8px}.play{position:relative;height:52px;min-width:205px;margin-left:auto;padding:0 28px;border:0;background:url("assets/button-frame-crimson.png") center/100% 100% no-repeat;box-shadow:none;font-size:10px;text-shadow:0 2px 3px #000}.play:hover{filter:brightness(1.18) drop-shadow(0 0 10px #ff304866)}

/* Abertura com as molduras originais do jogo. */
.hero-copy{top:11%;left:max(6px,calc((100vw - 1500px)/2));transform:none;width:min(590px,46vw);padding:43px 48px 45px;background:linear-gradient(100deg,#050509f2 0%,#08070cdb 72%,#08070c70 100%);border:1px solid #721329;border-radius:3px;box-shadow:inset 0 0 45px #000,0 22px 55px #000b}
.hero h1{font-family:var(--font-game-title);font-size:clamp(43px,4.7vw,76px);font-weight:900;font-style:normal;line-height:.93;letter-spacing:-.045em;margin:13px 0 22px;text-transform:uppercase;text-shadow:0 4px 0 #26040c,0 0 24px #000}
.hero h1 span{font-size:.78em;color:#e9dfe4;letter-spacing:.06em}.hero h1 em{font-family:var(--font-game-title);font-style:normal;font-weight:900;color:#ff4961;-webkit-text-stroke:0;text-shadow:0 3px 0 #5d0818,0 0 18px #ff304844}.hero h1 strong{font-size:.54em;letter-spacing:.07em;color:#d5cad0}
.hero-copy p{max-width:455px}
.hero-copy .cta{position:relative;z-index:4;min-width:245px;min-height:68px;border:0;background:url("assets/button-frame-crimson.png") center/100% 100% no-repeat;box-shadow:none;padding:0 44px;text-shadow:0 2px 3px #000}

/* A mesma identidade real do jogo nos demais blocos. */
.title,.form-copy{position:relative;padding-left:0}.title{display:block}
.title h2,.form-copy h2{font-family:var(--font-game-title);font-weight:900;font-style:italic;letter-spacing:-.04em;text-shadow:0 3px 0 #26060c}
.system-grid,.role-panel,.hunt-info{position:relative;border-color:#721329;box-shadow:inset 0 0 25px #0008,0 18px 45px #0008}
.game-corners{position:absolute!important;inset:0;z-index:6;pointer-events:none;overflow:visible}.game-corners i{position:absolute;width:118px;height:118px;background:url("assets/arena-corner-crimson.png") left top/contain no-repeat;filter:drop-shadow(0 0 6px #e11d3f66)}.game-corners .tl{left:-18px;top:-18px}.game-corners .tr{right:-18px;top:-18px;transform:rotate(90deg)}.game-corners .br{right:-18px;bottom:-18px;transform:rotate(180deg)}.game-corners .bl{left:-18px;bottom:-18px;transform:rotate(270deg)}
.hero-copy>.game-corners i{width:190px;height:190px}.hero-copy>.game-corners .tl{left:-22px;top:-23px}.hero-copy>.game-corners .tr{right:-22px;top:-23px}.hero-copy>.game-corners .br{right:-22px;bottom:-23px}.hero-copy>.game-corners .bl{left:-22px;bottom:-23px}
.framed-panel{isolation:isolate}
.roster-section,.systems-lower,.hunt-section,.final{position:relative}.roster-section:before,.systems-lower:before,.hunt-section:before,.final:before{content:"";position:absolute;left:50%;top:-27px;width:min(1200px,96vw);height:54px;transform:translateX(-50%);background:url("assets/dimensional-divider.svg") center/100% 100% no-repeat;opacity:.72;pointer-events:none}.title:after{content:"";display:block;width:190px;height:2px;margin-top:16px;background:linear-gradient(90deg,#ff3048,#6f1126 58%,transparent);box-shadow:0 0 9px #ff30484f}
.hunt{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}

.roster-section{padding:90px 0;background:radial-gradient(circle at 72% 45%,#4c0c2852,transparent 34%),#07070a;border-block:1px solid #32101c}.roster-section .title{display:block}.roster-section .title p{margin:10px 0 0;color:#aaa4ad}.roster-shell{display:grid;grid-template-columns:minmax(440px,.88fr) minmax(470px,1.12fr);min-height:545px;margin-top:30px;border:1px solid #721329;background:#08080c;box-shadow:inset 0 0 60px #000,0 28px 70px #0009}.roster-picker{position:relative;padding:28px 25px;border-right:1px solid #5f1427;background:linear-gradient(145deg,#0d0b10,#07070a)}.picker-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid #35131d}.picker-head>strong{font-size:11px;letter-spacing:.15em;color:#c9c3cb}.roster-controls{display:flex;align-items:center;gap:8px}.roster-controls button{width:34px;height:34px;border:1px solid #672033;background:#130a0f;color:#ff5269;cursor:pointer;font-weight:900}.roster-controls button:hover{border-color:#ff4059;background:#2a0b14}.roster-controls span{min-width:57px;text-align:center;color:#8e8790;font-size:10px;letter-spacing:.08em}.roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.character-pick{position:relative;height:132px;padding:6px 4px;border:1px solid #2e2930;background:linear-gradient(160deg,#111017,#07070a);color:#aaa4ad;cursor:pointer;overflow:hidden;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.character-pick:before{content:"";position:absolute;inset:4px;border:1px solid #ffffff08}.character-pick:hover,.character-pick.active{border-color:#ff4059;background:linear-gradient(160deg,#2b0d17,#09090d);box-shadow:inset 0 0 20px #7f102955}.character-pick.active:after{content:"";position:absolute;inset:auto 11px 0;height:2px;background:#ff4059;box-shadow:0 0 10px #ff4059}.character-pick strong{position:absolute;left:3px;right:3px;bottom:7px;font-family:var(--font-game-body);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#d9d3da;text-align:center}.mini-sprite-wrap{position:absolute;inset:3px 0 23px;display:grid;place-items:center;overflow:hidden}.mini-sprite{width:64px;height:64px;background-repeat:no-repeat;background-position:0 -128px;image-rendering:pixelated;transform:scale(1.28);transform-origin:center}.special-stage{position:relative;display:flex;flex-direction:column;min-width:0;padding:31px 34px 24px;background:radial-gradient(circle at 55% 56%,#6b12335c,transparent 28%),linear-gradient(145deg,#10090f,#050507)}.stage-copy small{color:#ff5269;font-size:10px;font-weight:800;letter-spacing:.2em}.stage-copy h3{margin:7px 0 2px;font-size:34px;color:#fff}.stage-copy p{margin:0;color:#928b94}.special-arena{position:relative;display:block;flex:1;min-height:325px;margin:16px 0;overflow:hidden;border:1px solid #5d1729;background:radial-gradient(ellipse at 67% 62%,#66142e80 0,#13090f 35%,#050507 72%);box-shadow:inset 0 0 45px #000}.special-arena:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.7%,#ff30481d 50%,transparent 50.3%),linear-gradient(0deg,transparent 64%,#5a1526 64.3%,transparent 64.7%)}.arena-corners i{width:82px;height:82px}.arena-corners .tl{left:-9px;top:-9px}.arena-corners .tr{right:-9px;top:-9px}.arena-corners .br{right:-9px;bottom:-9px}.arena-corners .bl{left:-9px;bottom:-9px}.enemy-hud{position:absolute;z-index:5;right:26px;top:24px;width:185px}.enemy-hud>span{display:block;margin-bottom:7px;color:#a8a1a9;font-size:9px;letter-spacing:.1em;text-align:right}.enemy-hud>div{height:7px;padding:1px;border:1px solid #5f1a2c;background:#09090c}.enemy-hud i{display:block;width:78%;height:100%;background:linear-gradient(90deg,#a20e29,#ff3048);animation:hp-hit 1.15s steps(1) infinite}.duel-field{position:absolute;inset:58px 28px 20px;display:flex;align-items:center;justify-content:space-between;padding:0 58px}.special-sprite{position:relative;z-index:3;flex:0 0 64px;width:64px;height:64px;background-repeat:repeat-x;background-position:0 -64px;image-rendering:pixelated;transform:scale(2.75);filter:drop-shadow(0 7px 5px #000);animation:special-play 1.15s steps(8) infinite}.enemy-target{position:relative;z-index:2;flex:0 0 64px;width:64px;height:64px}.enemy-sprite{width:64px;height:64px;background:url("assets/sprites/goblin-batedor.png") 0 -128px no-repeat;image-rendering:pixelated;transform:scale(2.45);filter:drop-shadow(0 7px 5px #000);animation:enemy-hit 1.15s ease-in-out infinite}.skill-trail{position:absolute;z-index:1;left:30%;right:28%;height:7px;border-radius:50%;background:linear-gradient(90deg,#4dc9ff00,#4dc9ffff,#ff3048);filter:blur(3px);animation:trail-fire 1.15s ease-in infinite}.damage-pop{position:absolute;left:4px;top:-46px;color:#ffd2d8;font-size:9px;letter-spacing:.08em;text-shadow:0 0 10px #ff3048;animation:damage-pop 1.15s ease-out infinite}.impact-ring{position:absolute;z-index:1;right:48px;bottom:66px;width:145px;height:48px;border:2px solid #ff30484f;border-radius:50%;box-shadow:0 0 25px #ff304866;animation:ring-pulse 1.15s ease-in-out infinite}.stage-foot{display:flex;justify-content:space-between;color:#6f6972;font-size:9px;letter-spacing:.12em}.stage-foot b{color:#ff5269}@keyframes special-play{to{background-position:-512px -64px}}@keyframes ring-pulse{0%,100%{transform:scale(.75);opacity:.25}50%{transform:scale(1.15);opacity:.8}}@keyframes trail-fire{0%,28%{transform:scaleX(.05);opacity:0}55%{transform:scaleX(1);opacity:1}85%,100%{opacity:0}}@keyframes enemy-hit{0%,48%,100%{transform:scale(2.45) translateX(0);filter:drop-shadow(0 7px 5px #000)}55%{transform:scale(2.45) translateX(5px);filter:brightness(2) drop-shadow(0 0 8px #ff3048)}}@keyframes damage-pop{0%,45%,100%{opacity:0;transform:translateY(7px)}55%,75%{opacity:1;transform:translateY(0)}}@keyframes hp-hit{0%,49%{width:78%}55%,100%{width:52%}}
.systems-lower{width:100%;padding:90px 0;background:radial-gradient(circle at 80% 50%,#34102c55,transparent 38%),#08070b;border-block:1px solid #31131f}.systems-lower .wrap{width:min(1180px,calc(100% - 40px))}

@media(max-width:900px){.hero-copy{top:10%;left:4px;width:min(540px,72vw);padding:38px 42px 40px}.game-corners i{width:92px;height:92px}.hero-copy>.game-corners i{width:150px;height:150px}.roster-shell{grid-template-columns:1fr}.roster-picker{border-right:0;border-bottom:1px solid #39131e}.special-stage{min-height:460px}}
@media(max-width:600px){.hero-copy{top:8%;left:4px;right:8px;width:auto;padding:35px 28px 36px}.hero-copy>.game-corners i{width:115px;height:115px}.hero-copy>.game-corners .tl,.hero-copy>.game-corners .bl{left:-10px}.hero-copy>.game-corners .tr,.hero-copy>.game-corners .br{right:-10px}.hero h1{font-size:49px}.hero-copy p{font-size:14px}.roster-section{padding:62px 0}.roster-picker{padding:23px 18px}.picker-head{align-items:flex-start;flex-direction:column}.roster-grid{grid-template-columns:repeat(2,1fr)}.character-pick{height:145px}.special-stage{padding:28px 20px;min-height:410px}.special-sprite{transform:scale(2.6)}.special-arena{min-height:240px}}

/* Projétil visível: sai do herói, cruza o palco e acerta o monstro. */
.skill-trail{position:absolute;z-index:4;left:29%;right:25%;height:42px;overflow:visible;background:none;filter:none;animation:none}.skill-trail:before{content:"";position:absolute;left:0;top:18px;width:100%;height:5px;border-radius:50%;background:linear-gradient(90deg,#57d9ff00,#57d9ff99 25%,#9d5bff99 62%,#ff304800);filter:blur(3px);transform-origin:left;animation:trail-fire 1.15s ease-out infinite}.skill-trail:after{content:"";position:absolute;left:-15px;top:4px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 36% 35%,#fff 0 8%,#78e9ff 12%,#4f7dff 36%,#9d2cff 60%,transparent 72%);box-shadow:0 0 12px #6ee8ff,0 0 28px #774cff,0 0 46px #ff304888;animation:projectile-flight 1.15s cubic-bezier(.3,.05,.62,.95) infinite}.enemy-target:after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:34px;height:34px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 14px #fff,0 0 34px #ff3048,0 0 60px #9d2cff;animation:hit-burst 1.15s ease-out infinite}.impact-ring{animation:ring-impact 1.15s ease-in-out infinite}.enemy-sprite{animation:enemy-impact 1.15s ease-in-out infinite}.damage-pop{animation:damage-impact 1.15s ease-out infinite}.enemy-hud i{animation:hp-impact 1.15s steps(1) infinite}
@keyframes projectile-flight{0%,27%{transform:translateX(0) scale(.15);opacity:0}34%{opacity:1;transform:translateX(0) scale(1)}72%{opacity:1;transform:translateX(calc(100% + 150px)) scale(1.15)}77%,100%{opacity:0;transform:translateX(calc(100% + 175px)) scale(.2)}}
@keyframes trail-fire{0%,28%{transform:scaleX(.02);opacity:0}38%{opacity:.9}72%{transform:scaleX(1);opacity:1}82%,100%{opacity:0}}
@keyframes hit-burst{0%,70%{transform:translate(-50%,-50%) scale(.1);opacity:0}74%{opacity:1;transform:translate(-50%,-50%) scale(.5)}88%{opacity:.15;transform:translate(-50%,-50%) scale(4)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.8)}}
@keyframes ring-impact{0%,68%,100%{transform:scale(.75);opacity:.15}78%{transform:scale(1.15);opacity:.9}}
@keyframes enemy-impact{0%,70%,100%{transform:scale(2.45) translateX(0);filter:drop-shadow(0 7px 5px #000)}76%{transform:scale(2.45) translateX(6px);filter:brightness(2.4) drop-shadow(0 0 12px #ff3048)}}
@keyframes damage-impact{0%,72%,100%{opacity:0;transform:translateY(8px)}78%,90%{opacity:1;transform:translateY(0)}}
@keyframes hp-impact{0%,73%{width:78%}78%,100%{width:52%}}
.skill-trail{left:25%;right:9%;top:50%;transform:translateY(-50%)}
.enemy-sprite{position:relative;z-index:2}
.enemy-target:after{z-index:1}
.skill-trail:after{animation-name:projectile-reach}
@keyframes projectile-reach{0%,27%{left:0;transform:scale(.15);opacity:0}34%{left:0;opacity:1;transform:scale(1)}72%{left:calc(100% - 17px);opacity:1;transform:scale(1.15)}77%,100%{left:100%;opacity:0;transform:scale(.2)}}

/* Sequência real do jogo: frente/parado > folha de ataque > VFX próprio no alvo. */
.fighter-idle,.special-sprite{position:absolute;left:58px;top:50%;width:64px;height:64px;background-repeat:no-repeat;image-rendering:pixelated;transform:translateY(-50%) scale(2.75);transform-origin:center;filter:drop-shadow(0 7px 5px #000)}
.fighter-idle{z-index:2;background-position:0 var(--idle-row,-128px);opacity:1}
.special-sprite{z-index:3;flex:none;background-position:0 var(--attack-row,-64px);opacity:0;animation:none}
.enemy-target{position:absolute;z-index:7;right:58px;top:50%;width:64px;height:64px;transform:translateY(-50%)}
.special-vfx{position:absolute;z-index:9;right:42px;top:50%;background-repeat:no-repeat;background-position:0 var(--vfx-row);image-rendering:pixelated;transform:translateY(-50%) scale(var(--vfx-scale));transform-origin:center;filter:drop-shadow(0 0 9px #ffffff88);opacity:0}
.skill-trail,.skill-trail:before,.skill-trail:after,.enemy-target:after{display:none!important}
.sequence-playing .fighter-idle{animation:real-idle 2.7s linear infinite}
.sequence-playing .special-sprite{animation:real-attack 2.7s steps(7) infinite,real-attack-visible 2.7s linear infinite}
.sequence-playing .special-vfx{animation:real-vfx 2.7s var(--vfx-steps) infinite,real-vfx-visible 2.7s linear infinite}
.sequence-playing .enemy-sprite{animation:real-enemy-hit 2.7s ease-in-out infinite}
.sequence-playing .damage-pop{animation:real-damage 2.7s ease-out infinite}
.sequence-playing .enemy-hud i{animation:real-hp 2.7s steps(1) infinite}
.sequence-playing .impact-ring{animation:real-ring 2.7s ease-in-out infinite}
@keyframes real-idle{0%,24%,66%,100%{opacity:1}27%,63%{opacity:0}}
@keyframes real-attack{0%,25%{background-position:0 var(--attack-row,-64px)}63%,100%{background-position:-448px var(--attack-row,-64px)}}
@keyframes real-attack-visible{0%,23%,66%,100%{opacity:0}27%,62%{opacity:1}}
@keyframes real-vfx{0%,59%{background-position:0 var(--vfx-row)}86%,100%{background-position:var(--vfx-end) var(--vfx-row)}}
@keyframes real-vfx-visible{0%,57%,90%,100%{opacity:0}61%,86%{opacity:1}}
@keyframes real-enemy-hit{0%,76%,100%{transform:scale(2.45) translateX(0);filter:drop-shadow(0 7px 5px #000)}80%{transform:scale(2.45) translateX(6px);filter:brightness(2.4) drop-shadow(0 0 12px #ff3048)}}
@keyframes real-damage{0%,77%,100%{opacity:0;transform:translateY(8px)}81%,91%{opacity:1;transform:translateY(0)}}
@keyframes real-hp{0%,79%{width:78%}81%,100%{width:52%}}
@keyframes real-ring{0%,76%,100%{transform:scale(.75);opacity:.08}81%{transform:scale(1.15);opacity:.75}}

@media(max-width:1100px){header nav{width:430px}header nav a{padding-inline:14px}.brand span{display:none}.play{min-width:175px}}
@media(max-width:900px){header{height:70px}header:after{bottom:-25px}.brand{min-width:0}.brand img{width:132px}header nav{display:none}.play{height:46px;min-width:175px}}
@media(max-width:600px){header{height:62px}.play{min-width:145px;padding-inline:20px}.play span{font-size:0}.play span:after{content:"JOGAR";font-size:10px}.hero h1{font-size:40px}.hero h1 strong{font-size:.5em}}

/* Revisão estrutural: áreas seguras para cabeçalho fixo, conteúdo e breakpoints. */
html{scroll-padding-top:118px}
#inicio,#personagens,#sistemas,#hunts,#jogar{scroll-margin-top:118px}
.hero{min-height:800px;height:min(94vh,920px)}
.keyart{inset:82px 0 0;height:calc(100% - 82px)}
.hero-copy{top:116px;left:max(18px,calc((100vw - 1440px)/2));width:min(570px,calc(100vw - 36px));padding:38px 45px 40px}
.hero-copy>.game-corners{overflow:hidden}
.hero-data{right:max(22px,calc((100vw - 1440px)/2));bottom:24px}
.roster-shell,.special-stage,.roster-picker,.system-grid,.hunt-info{min-width:0}
.title h2,.stage-copy h3,.hunt-info h3,.system-grid h3{overflow-wrap:anywhere}

@media(max-width:1180px){
  .hero-copy{left:18px;width:min(540px,46vw);padding:36px 40px 38px}
  .hero h1{font-size:clamp(40px,5.1vw,64px)}
  .hero-copy p{font-size:15px;line-height:1.55}
  .hero-data{right:18px}
}
@media(max-width:1020px){
  html{scroll-padding-top:102px}#inicio,#personagens,#sistemas,#hunts,#jogar{scroll-margin-top:102px}
  .roster-shell{grid-template-columns:1fr}
  .roster-picker{border-right:0;border-bottom:1px solid #39131e}
  .special-stage{min-height:470px}
  .system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .system-grid article:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:900px){
  .hero{min-height:820px;height:920px}
  .keyart{inset:70px 0 0;height:calc(100% - 70px);object-position:62% center}
  .hero-copy{top:108px;left:10px;width:min(520px,72vw);padding:34px 38px 36px}
  .hero-data{left:18px;right:18px;bottom:18px;width:auto;justify-content:center}
}
@media(max-width:600px){
  html{scroll-padding-top:88px}#inicio,#personagens,#sistemas,#hunts,#jogar{scroll-margin-top:88px}
  .hero{min-height:820px;height:820px}
  .keyart{inset:62px 0 0;height:calc(100% - 62px);object-position:66% center}
  .hero-copy{top:88px;left:8px;right:8px;width:auto;padding:30px 24px 32px}
  .hero-copy>.game-corners i{width:104px;height:104px}
  .hero h1{font-size:clamp(34px,11vw,45px);line-height:.96;margin:10px 0 16px}
  .hero h1 span{font-size:.72em}.hero h1 em{overflow-wrap:normal}.hero h1 strong{font-size:.48em}
  .hero-copy p{max-width:none;margin-bottom:18px;font-size:13px;line-height:1.5}
  .hero-copy .cta{min-width:0;width:100%;min-height:58px;padding:0 24px;font-size:10px}
  .hero-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));left:12px;right:12px;bottom:10px;overflow:visible}
  .hero-data span{min-width:0;padding:9px 10px;border-top:1px solid #ffffff12;text-align:center}
  .hero-data span:nth-child(odd){border-left:0}.hero-data span:nth-child(-n+2){border-top:0}
  .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .character-pick{height:128px}
  .special-stage{min-height:430px;padding:25px 16px 20px}
  .special-arena{min-height:250px;margin:14px 0}
  .fighter-idle,.special-sprite{left:36px;transform:translateY(-50%) scale(2.05)}
  .enemy-target{right:36px}.enemy-sprite{transform:scale(2.05)}
  .special-vfx{right:8px}
  .enemy-hud{left:18px;right:18px;top:18px;width:auto}
  .stage-foot{gap:12px;flex-wrap:wrap;line-height:1.5}
  .system-grid{grid-template-columns:1fr}.system-grid article{border-left:0;border-top:1px solid var(--line)}
  .hunt-info{padding:20px;gap:16px}
}
@media(max-width:440px){
  header{padding-inline:8px}.brand img{width:105px}.play{min-width:128px;height:42px;padding-inline:14px}
  .hero-copy{padding-inline:20px}.season{font-size:9px;letter-spacing:.16em}
  .roster-picker{padding:20px 13px}.picker-head>strong{font-size:9px}
  .character-pick{height:118px}.mini-sprite{transform:scale(1.12)}
  .hunt-grid{grid-template-columns:1fr}.hunt:last-child{grid-column:auto}.hunt{height:178px}
  .final h2{font-size:34px}footer{padding-inline:14px}
}

/* Direção de arte 2026: composição cinematográfica, menos caixas e melhor ritmo. */
body{background:#050508;color:#f6f1f4}
header{height:78px;padding-inline:max(28px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,#050407fc,#09070bf5);border-bottom:1px solid #571225;box-shadow:0 10px 38px #000c;overflow:visible}
header:after{bottom:-25px;opacity:.78;background-size:min(1180px,94vw) 52px}
.brand{display:flex!important;align-items:center;min-width:188px;height:62px;padding:0;text-decoration:none;background:none}
.brand:before,.brand:after,.brand span{display:none!important}
.brand img{width:176px;filter:drop-shadow(0 0 11px #c51e4140);transition:transform .2s,filter .2s}
.brand:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 16px #e72b5059)}
header nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:46px;margin:0;gap:5px;padding:0 18px;background:none}
header nav:before{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:linear-gradient(90deg,transparent,#641329 18%,#641329 82%,transparent)}
header nav a{position:relative;padding:16px 17px;color:#a99fa5;font-size:10px;letter-spacing:.15em}
header nav a+a:before{display:none}
header nav a:after{content:"";position:absolute;left:17px;right:17px;bottom:5px;height:2px;background:linear-gradient(90deg,transparent,#f33454,transparent);transform:scaleX(0);transition:transform .2s}
header nav a:hover{color:#fff}header nav a:hover:after{transform:scaleX(1)}
.play{height:48px;min-width:188px;padding:0 31px;font-size:10px}

.hero{min-height:820px;height:min(94vh,920px);isolation:isolate;background:#050508}
.keyart{inset:78px 0 0;height:calc(100% - 78px);object-position:center 36%;filter:saturate(.88) contrast(1.08)}
.shade{background:linear-gradient(90deg,#050508f7 0%,#050508c9 28%,#0505083d 55%,#0505085d 100%),linear-gradient(0deg,#050508 0%,transparent 34%),linear-gradient(180deg,#05050875 0%,transparent 26%)}
.hero-copy{top:45%;left:max(32px,calc((100vw - 1240px)/2));transform:translateY(-43%);width:min(720px,55vw);padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.hero-copy>.game-corners{display:none}
.season{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 11px;border:1px solid #79203a;background:#120a0fbd;box-shadow:0 8px 22px #0008;color:#ff667b;font-size:10px;letter-spacing:.2em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.season i{width:8px;height:8px;border:1px solid #ff405d;transform:rotate(45deg);box-shadow:0 0 10px #ff3048}
.hero h1{max-width:720px;margin:18px 0 18px;font-size:clamp(50px,4.2vw,68px);line-height:.94;letter-spacing:-.045em;text-shadow:0 5px 20px #000}
.hero h1 span{font-size:.66em;letter-spacing:.025em;color:#f2eaee}
.hero h1 em{display:inline-block;color:#ff4961;text-shadow:0 4px 0 #5d0818,0 0 26px #ff304844}
.hero-copy p{max-width:590px;margin:0 0 24px;color:#d9d1d6;font-size:16px;line-height:1.6;text-shadow:0 2px 8px #000}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-copy .cta{min-width:215px;min-height:58px;padding:0 35px}
.hero-copy .cta.ghost{min-width:190px;background:#09080dc9;border:1px solid #6a2638;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:inset 0 0 18px #000;color:#d0c6cc}
.hero-copy .cta.ghost:hover{border-color:#ff4059;color:#fff;background:#1b0b12}
.hero-data{left:max(28px,calc((100vw - 1240px)/2));right:auto;bottom:28px;border:0;border-left:1px solid #7b1a30;background:#07070abf;box-shadow:0 12px 30px #0008;backdrop-filter:blur(16px)}
.hero-data span{min-width:120px;padding:11px 20px;border-left:1px solid #38131e;color:#918991}.hero-data b{font-family:var(--font-game-title);color:#fff;font-size:19px}

.proof-strip{position:relative;padding:32px 0 38px;background:linear-gradient(180deg,#09070b,#07070a);border-bottom:1px solid #32101c}
.proof-strip:before{content:"";position:absolute;left:50%;top:-27px;width:min(1200px,96vw);height:54px;transform:translateX(-50%);background:url("assets/dimensional-divider.svg") center/100% 100% no-repeat;opacity:.72}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3f1422;border:1px solid #3f1422;box-shadow:0 20px 45px #0008}
.proof-grid article{display:flex;gap:18px;min-height:112px;padding:24px;background:linear-gradient(135deg,#100c11,#08080b)}
.proof-grid article>span{font-family:var(--font-game-title);font-size:26px;color:#5d1e30}.proof-grid strong{display:block;margin:2px 0 8px;color:#f4ebef;font-size:11px;letter-spacing:.14em}.proof-grid p{margin:0;color:#918b92;font-size:12px;line-height:1.55}

.roster-section{padding:105px 0 115px;background:radial-gradient(circle at 76% 42%,#4b102b45,transparent 34%),linear-gradient(180deg,#07070a,#09070b);border:0}
.title{max-width:720px;margin-bottom:38px}.title small{display:block;margin-bottom:9px}.title h2{margin:0;font-size:clamp(40px,4.4vw,64px);font-style:normal;line-height:1.02}.title p{max-width:560px;font-size:15px;line-height:1.6}.title:after{width:270px;margin-top:20px}
.roster-shell{grid-template-columns:minmax(430px,.85fr) minmax(500px,1.15fr);min-height:590px;margin-top:0;border:1px solid #501526;background:#08080c;box-shadow:0 32px 90px #000b}
.roster-picker{padding:31px 28px;background:linear-gradient(155deg,#110d12,#07070a)}
.character-pick{height:144px;border-color:#312a31;background:linear-gradient(160deg,#151118,#08080b)}
.special-stage{padding:36px 40px 26px;background:radial-gradient(circle at 58% 56%,#76163859,transparent 27%),linear-gradient(145deg,#120a10,#050507)}
.special-arena{min-height:350px;border-color:#65172c;background:radial-gradient(ellipse at 64% 62%,#7919386e,#140a10 34%,#050507 72%)}

.systems-lower{padding:112px 0;background:linear-gradient(#08070bd9,#08070bf2),url("assets/arena-fortaleza.jpg") center/cover fixed;border:0}
.system-grid{gap:12px;border:0;background:transparent;box-shadow:none}
.system-grid>.game-corners{display:none}
.system-grid article{min-height:270px;padding:32px;border:1px solid #54172a!important;background:linear-gradient(155deg,#140c12f2,#08080cef);box-shadow:0 18px 45px #0008;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.system-grid article:hover{border-color:#d72a49!important;background:linear-gradient(155deg,#24101af5,#0a090df5);transform:translateY(-6px)}
.system-grid article>b{font-family:var(--font-game-title);font-size:38px;color:#522032}.system-grid i{display:grid;place-items:center;width:48px;height:48px;border:1px solid #77213a;background:#170b12;color:#ff4961;font-size:20px}.system-grid h3{margin:38px 0 11px;font-size:27px}.system-grid p{font-size:14px;line-height:1.7}

.hunt-section{padding:112px 0 118px;background:radial-gradient(circle at 18% 45%,#32102638,transparent 38%),#060609}
.hunt-grid{grid-template-columns:repeat(10,1fr);gap:12px}.hunt{grid-column:span 2;height:280px;padding:22px;border-color:#322631;box-shadow:0 20px 40px #0008;transition:.25s}.hunt:hover,.hunt.active{transform:translateY(-7px);box-shadow:0 28px 55px #000b;border-color:#ff4059}.hunt b{bottom:48px;font-size:19px}.hunt small{bottom:24px}.hunt-info{margin-top:14px;padding:25px 28px;background:linear-gradient(120deg,#120b10,#08080b);border-color:#56172a}

.final{min-height:430px;display:grid;place-items:center;padding:90px 20px;background:linear-gradient(#050508b5,#050508e8),url("assets/arena-ruptura.jpg") center 56%/cover;border-top:1px solid #591327;box-shadow:inset 0 30px 80px #000}
.final .wrap{position:relative;max-width:820px;padding:55px 30px;border-block:1px solid #5e1a2d;background:radial-gradient(circle,#170a12c9,transparent 72%)}
.final img{width:210px;filter:drop-shadow(0 0 16px #d3264b55)}.final h2{margin:24px 0 10px;font-size:clamp(43px,5vw,70px)}.final p{font-size:16px}.final .cta{min-width:230px;min-height:62px;border:0;background:url("assets/button-frame-crimson.png") center/100% 100% no-repeat;box-shadow:none}
footer{height:82px;border-top:1px solid #2f101b;background:#050507}footer img{width:150px}

@media(max-width:1100px){header nav a{padding-inline:11px}.brand{min-width:160px}.brand img{width:150px}.play{min-width:165px}.hero-copy{width:min(600px,54vw)}.roster-shell{grid-template-columns:1fr}.hunt-grid{grid-template-columns:repeat(6,1fr)}.hunt{grid-column:span 2}.hunt:nth-child(4),.hunt:nth-child(5){grid-column:span 3}}
@media(max-width:900px){header{height:70px}.keyart{inset:70px 0 0;height:calc(100% - 70px)}.hero-copy{top:47%;width:min(600px,76vw)}.proof-grid{grid-template-columns:1fr}.proof-grid article{min-height:0}.systems-lower{background-attachment:scroll}.system-grid{grid-template-columns:repeat(2,1fr)}.hunt-grid{grid-template-columns:repeat(2,1fr)}.hunt,.hunt:nth-child(4),.hunt:nth-child(5){grid-column:auto}}
@media(max-width:600px){header{height:62px;padding-inline:12px}.brand{min-width:0}.brand img{width:116px}.play{min-width:136px;height:42px}.hero{height:840px;min-height:840px}.keyart{inset:62px 0 0;height:calc(100% - 62px);object-position:61% center}.shade{background:linear-gradient(90deg,#050508f5 0%,#050508b0 68%,#05050865),linear-gradient(0deg,#050508 0%,transparent 40%)}.hero-copy{top:43%;left:18px;right:18px;width:auto;transform:translateY(-43%);padding:0}.hero h1{font-size:clamp(45px,13vw,59px);line-height:.94}.hero h1 span{font-size:.58em}.hero-copy p{font-size:14px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr}.hero-copy .cta,.hero-copy .cta.ghost{width:100%;min-width:0;min-height:52px}.hero-data{display:grid;grid-template-columns:repeat(2,1fr);left:12px;right:12px;bottom:10px}.hero-data span{min-width:0;text-align:center}.proof-strip{padding:26px 0}.proof-grid article{padding:19px}.roster-section,.systems-lower,.hunt-section{padding:80px 0}.title h2{font-size:39px}.system-grid{grid-template-columns:1fr}.system-grid article{min-height:215px}.hunt-grid{grid-template-columns:1fr}.hunt{height:215px}.final{min-height:390px;padding:65px 16px}.final .wrap{padding:42px 18px}}
