
:root{
  --pink:#ff075f;
  --pink2:#ff579e;
  --bg:#030307;
  --panel:#09090f;
  --text:#f7f7f9;
  --muted:#9699a3;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg)!important;color:var(--text);overflow-x:hidden}
body>.top,body>.wrap>footer{display:none!important}
body>.wrap{max-width:none!important;margin:0!important;padding:0!important}
.v40-page{min-height:100vh;background:#030307;font-family:Inter,Arial,sans-serif}
.v40-page *{box-sizing:border-box}

.v40-header{
  position:fixed;z-index:100;top:0;left:0;right:0;height:78px;
  padding:0 clamp(20px,4vw,68px);
  display:grid;grid-template-columns:150px 1fr 205px;align-items:center;
  background:rgba(3,3,7,.95);border-bottom:1px solid #ffffff0c;
  backdrop-filter:blur(16px);
}
.v40-brand img{display:block;width:105px;height:58px;object-fit:contain}
.v40-nav{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,45px)}
.v40-nav a{
  position:relative;color:#dddde2;text-decoration:none;text-transform:uppercase;
  font-size:12px;font-weight:900;letter-spacing:.7px
}
.v40-nav a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:-27px;height:2px;
  background:var(--pink);box-shadow:0 0 10px var(--pink);
  transition:left .2s ease,right .2s ease
}
.v40-nav a:hover::after,.v40-nav a.active::after{left:0;right:0}
.v40-nav a:hover,.v40-nav a.active{color:#fff}
.v40-top-cta{
  justify-self:end;padding:15px 25px;color:#fff;text-decoration:none;text-transform:uppercase;
  font-size:12px;font-weight:950;letter-spacing:.4px;border:1px solid #ff6da6;
  background:linear-gradient(135deg,#ff075f,#c40047);
  clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);
  box-shadow:0 0 20px #ff075f35;
  transition:filter .18s ease,transform .18s ease
}
.v40-top-cta:hover{filter:brightness(1.15);transform:translateY(-2px)}
.v40-menu-toggle{display:none}

.v40-hero{
  position:relative;isolation:isolate;min-height:520px;padding:150px 24px 80px;
  overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(180deg,#07050a,#030307)
}
.v40-bg{
  position:absolute;z-index:-4;top:78px;bottom:0;width:48%;
  background-size:cover;background-position:center;filter:contrast(1.08) saturate(1.05);opacity:.58
}
.v40-bg-left{
  left:0;background-image:url('v37-left-clean.jpg');
  mask-image:linear-gradient(90deg,#000 0,#000 64%,transparent 100%)
}
.v40-bg-right{
  right:0;background-image:url('v37-right-clean.jpg');
  mask-image:linear-gradient(270deg,#000 0,#000 64%,transparent 100%)
}
.v40-hero-overlay{
  position:absolute;z-index:-3;inset:0;
  background:
    linear-gradient(90deg,#03030752,#030307e7 38%,#030307e7 65%,#03030752),
    radial-gradient(circle at 50% 46%,#ff075f1d,transparent 35%),
    linear-gradient(180deg,transparent 62%,#030307)
}
.v40-particles{position:absolute;z-index:-1;inset:0;pointer-events:none}
.v40-particles i{
  position:absolute;width:3px;height:3px;border-radius:50%;background:#ff477f;
  box-shadow:0 0 10px #ff075f;animation:v40Spark 7s ease-in-out infinite
}
.v40-particles i:nth-child(1){left:7%;top:28%}.v40-particles i:nth-child(2){left:12%;top:68%;animation-delay:-2s}
.v40-particles i:nth-child(3){left:18%;top:48%;animation-delay:-4s}.v40-particles i:nth-child(4){left:25%;top:21%;animation-delay:-1s}
.v40-particles i:nth-child(5){left:32%;top:75%;animation-delay:-3s}.v40-particles i:nth-child(6){left:39%;top:34%;animation-delay:-5s}
.v40-particles i:nth-child(7){left:46%;top:64%;animation-delay:-2.5s}.v40-particles i:nth-child(8){left:52%;top:18%;animation-delay:-4.5s}
.v40-particles i:nth-child(9){left:58%;top:55%;animation-delay:-1.5s}.v40-particles i:nth-child(10){left:64%;top:28%;animation-delay:-3.5s}
.v40-particles i:nth-child(11){left:70%;top:72%;animation-delay:-5.5s}.v40-particles i:nth-child(12){left:76%;top:42%;animation-delay:-.7s}
.v40-particles i:nth-child(13){left:82%;top:65%;animation-delay:-2.7s}.v40-particles i:nth-child(14){left:88%;top:36%;animation-delay:-4.7s}
.v40-particles i:nth-child(15){left:92%;top:76%;animation-delay:-1.7s}.v40-particles i:nth-child(16){left:15%;top:85%;animation-delay:-3.7s}
.v40-particles i:nth-child(17){left:35%;top:88%;animation-delay:-5.7s}.v40-particles i:nth-child(18){left:53%;top:84%;animation-delay:-.9s}
.v40-particles i:nth-child(19){left:72%;top:86%;animation-delay:-2.9s}.v40-particles i:nth-child(20){left:86%;top:18%;animation-delay:-4.9s}
@keyframes v40Spark{
  0%,100%{opacity:.1;transform:translateY(20px) scale(.6)}
  50%{opacity:.9;transform:translateY(-38px) scale(1.45)}
}
.v40-hero-content{text-align:center;max-width:1000px}
.v40-hero-content>span{
  color:#ff579e;font-size:10px;font-weight:950;letter-spacing:2px;text-transform:uppercase
}
.v40-hero-content h1{
  margin:14px 0 10px;font-size:clamp(52px,7vw,110px);line-height:.9;
  text-transform:uppercase;font-style:italic;letter-spacing:-2px;
  text-shadow:0 0 28px #ff075f3a,0 18px 36px #000
}
.v40-hero-content>p{margin:0 auto;max-width:720px;color:#b4b4bd;font-size:17px;line-height:1.6}
.v40-hero-stats{
  width:min(760px,94vw);margin:28px auto 0;display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;border:1px solid #ff075f28;background:#ff075f24
}
.v40-hero-stats div{padding:17px 12px;background:#09090fdd;backdrop-filter:blur(10px)}
.v40-hero-stats b,.v40-hero-stats small{display:block}.v40-hero-stats b{font-size:28px;color:#ff579e}
.v40-hero-stats small{margin-top:3px;color:#8c8f98;text-transform:uppercase;font-size:8px;letter-spacing:1px}

.v40-world,.v40-builds,.v40-classes{
  padding:58px clamp(20px,4vw,68px) 30px;background:#030307
}
.v40-builds{background:radial-gradient(circle at 50% 0,#4b061d24,transparent 30%),#030307}
.v40-section-head{
  max-width:1480px;margin:0 auto 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px
}
.v40-section-head span{color:#ff579e;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:1.5px}
.v40-section-head h2{margin:5px 0 0;text-transform:uppercase;font-size:36px}
.v40-section-head p{margin:0;color:#868994;font-size:11px}
.v40-section-head>a{
  color:#ff579e;text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:900;
  padding:9px 12px;border:1px solid #ff075f45;border-radius:5px
}

.v40-dungeon-grid{
  max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px
}
.v40-dungeon-card{
  position:relative;min-height:430px;overflow:hidden;color:#fff;text-decoration:none;
  border:1px solid color-mix(in srgb,var(--accent) 55%,#ffffff18);
  background:#07070c;
  box-shadow:0 22px 40px #0008;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease
}
.v40-dungeon-card:hover{
  transform:translateY(-8px);
  border-color:var(--accent);
  box-shadow:0 28px 50px #000b,0 0 28px color-mix(in srgb,var(--accent) 28%,transparent)
}
.v40-card-media{
  position:absolute;inset:0;background:
    radial-gradient(circle at 50% 24%,color-mix(in srgb,var(--accent) 24%,#000),#07070d 74%);
  background-size:cover;background-position:center;transition:transform .45s ease
}
.v40-dungeon-card:hover .v40-card-media{transform:scale(1.055)}
.v40-card-shade{
  position:absolute;inset:0;background:
    linear-gradient(180deg,transparent 22%,#05050945 48%,#050509f8 78%,#050509 100%),
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,transparent),transparent 55%)
}
.v40-card-theme{
  position:absolute;z-index:2;top:15px;left:15px;padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 65%,#fff);
  background:#050509c8;color:var(--accent);font-size:9px;font-weight:900;text-transform:uppercase;
  box-shadow:0 0 18px color-mix(in srgb,var(--accent) 25%,transparent)
}
.v40-card-content{
  position:absolute;z-index:3;left:0;right:0;bottom:0;padding:23px
}
.v40-card-content small{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:1.3px}
.v40-card-content h3{
  margin:5px 0 9px;font-size:30px;text-transform:uppercase;line-height:1;
  text-shadow:0 5px 15px #000
}
.v40-card-meta{display:flex;flex-wrap:wrap;gap:7px}
.v40-card-meta span{
  padding:6px 8px;border:1px solid #ffffff17;background:#050509a8;
  color:#d1d3d9;font-size:8px;font-weight:850
}
.v40-card-content p{margin:12px 0;color:#a1a4ad;font-size:11px;line-height:1.5}
.v40-card-content strong{
  display:flex;justify-content:space-between;padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 55%,#ffffff15);
  background:color-mix(in srgb,var(--accent) 8%,#07070c);
  text-transform:uppercase;font-size:9px
}
.v40-card-content strong i{font-style:normal;color:var(--accent)}
.v40-empty{
  grid-column:1/-1;padding:50px;text-align:center;border:1px dashed #ffffff18;color:#888b94
}

.v40-build-grid{
  max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.v40-build-card{
  display:grid;grid-template-columns:140px minmax(0,1fr);min-height:150px;
  overflow:hidden;color:#fff;text-decoration:none;border:1px solid #ffffff12;background:#08080d;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.v40-build-card:hover{transform:translateY(-5px);border-color:#ff075f75;box-shadow:0 15px 30px #0009}
.v40-build-media{
  position:relative;background:radial-gradient(circle at 50% 25%,#65102f,#08080d 70%);
  background-size:cover;background-position:center
}
.v40-build-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#08080df5)}
.v40-build-media span{
  position:absolute;z-index:2;top:10px;left:10px;padding:5px 7px;border:1px solid #ff579e78;
  background:#310014d9;color:#ff7eb2;font-size:8px;font-weight:900;text-transform:uppercase
}
.v40-build-copy{padding:17px}.v40-build-copy small{color:#ff579e;font-size:8px;font-weight:900;text-transform:uppercase}
.v40-build-copy h3{margin:5px 0;font-size:18px}.v40-build-copy p{margin:0 0 14px;color:#8f9099;font-size:10px;line-height:1.5}
.v40-build-copy strong{
  display:flex;justify-content:space-between;padding:9px 10px;border:1px solid #ff075f5e;
  text-transform:uppercase;font-size:8px
}
.v40-build-copy i{color:#ff579e;font-style:normal}

.v40-class-grid{
  max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px
}
.v40-class-grid a{
  padding:17px;display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;
  gap:2px 12px;align-items:center;color:#fff;text-decoration:none;
  border:1px solid #ffffff12;background:#08080d;transition:transform .18s ease,border-color .18s ease
}
.v40-class-grid a:hover{transform:translateY(-3px);border-color:#ff075f68}
.v40-class-grid a>span{
  grid-row:1/3;display:grid;place-items:center;width:45px;height:45px;border-radius:8px;
  background:#1b0812;color:#ff579e;font-size:22px;font-weight:950
}
.v40-class-grid strong{font-size:13px}.v40-class-grid small{color:#8d9099;font-size:9px}

.v40-quick-links{
  margin:20px clamp(20px,4vw,68px) 30px;padding:17px;display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid #ffffff10;background:#08080d
}
.v40-quick-links a{
  padding:8px 20px;display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;
  border-right:1px solid #ffffff0d;transition:background .18s ease
}
.v40-quick-links a:last-child{border-right:0}.v40-quick-links a:hover{background:#ffffff05}
.v40-quick-links>a>span{
  display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:#11111a;color:#ff126b;font-size:21px
}
.v40-quick-links b,.v40-quick-links small{display:block}.v40-quick-links b{text-transform:uppercase;font-size:12px}
.v40-quick-links small{margin-top:4px;color:#8f9199;font-size:9px;line-height:1.4}

.v40-footer{
  min-height:130px;padding:25px clamp(22px,4vw,68px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;
  border-top:1px solid #ffffff0d;background:#020204
}
.v40-footer-brand img{width:95px;height:62px;object-fit:contain}.v40-footer-brand p{margin:6px 0 0;color:#6f7179;font-size:10px}
.v40-footer-links,.v40-footer-socials{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px 16px}
.v40-footer-links b,.v40-footer-socials b{width:100%;text-transform:uppercase;font-size:11px}
.v40-footer-links a,.v40-footer-socials a{color:#a0a1aa;text-decoration:none;font-size:10px}
.v40-footer-links a:hover,.v40-footer-socials a:hover{color:#fff}

@media(max-width:1100px){
  .v40-header{grid-template-columns:130px 1fr 170px;padding-inline:18px}
  .v40-nav{gap:18px}.v40-nav a{font-size:10px}.v40-top-cta{padding-inline:18px}
  .v40-dungeon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v40-build-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .v40-header{height:70px;grid-template-columns:110px 1fr auto}
  .v40-brand img{width:90px;height:54px}.v40-top-cta{display:none}
  .v40-menu-toggle{
    display:block;justify-self:end;border:1px solid #ff075f55;background:#0b0710;color:#ff579e;
    border-radius:7px;padding:8px 11px;font-size:20px
  }
  .v40-nav{
    display:none;position:absolute;top:70px;left:14px;right:14px;padding:18px;
    flex-direction:column;border:1px solid #ff075f45;background:#07070def
  }
  .v40-nav.open{display:flex}.v40-nav a::after{display:none}
  .v40-hero{min-height:470px;padding:135px 22px 65px}.v40-bg{width:66%;opacity:.36}
  .v40-hero-stats{grid-template-columns:repeat(2,1fr)}
  .v40-dungeon-grid,.v40-build-grid{grid-template-columns:1fr}
  .v40-section-head{align-items:flex-start;flex-direction:column}
  .v40-quick-links{grid-template-columns:1fr 1fr}.v40-quick-links a:nth-child(2){border-right:0}
  .v40-footer{grid-template-columns:1fr;text-align:center}.v40-footer-links,.v40-footer-socials{justify-content:center}
}
@media(max-width:500px){
  .v40-hero-content h1{font-size:53px}
  .v40-dungeon-card{min-height:390px}
  .v40-build-card{grid-template-columns:115px minmax(0,1fr)}
  .v40-quick-links{grid-template-columns:1fr}.v40-quick-links a{border-right:0;border-bottom:1px solid #ffffff0d}
}
@media(prefers-reduced-motion:reduce){
  .v40-particles i{animation:none!important}
  .v40-dungeon-card,.v40-card-media,.v40-build-card{transition:none!important}
}
