:root{
  --bg:#070707;
  --bg2:#0b0b0c;
  --panel:#101012;
  --panel2:#151518;
  --text:#f0f0f0;
  --muted:#9a9a9e;
  --red:#d1121d;
  --red2:#7f0910;
  --line:#242428;
  --green:#71db8c;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Space Grotesk",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.06;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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.topbar{position:sticky;top:0;z-index:50;height:76px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(6,6,7,.86);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2))}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(209,18,29,.28))}.brand-text{display:flex;flex-direction:column;line-height:.85;font-family:Rajdhani,sans-serif}.brand-text strong{font-size:22px;letter-spacing:2px}.brand-text small{font-size:10px;letter-spacing:5px;color:#a5a5a8;margin-top:6px}.nav{display:flex;align-items:center;gap:28px;font-family:Rajdhani,sans-serif;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.nav a{font-size:14px;color:#b8b8bb;transition:.2s}.nav a:hover,.nav a.active{color:white}.nav a.active{position:relative}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-29px;height:2px;background:var(--red);box-shadow:0 0 12px var(--red)}.nav-cta{border:1px solid rgba(209,18,29,.65);padding:10px 14px!important;background:rgba(209,18,29,.08)}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{min-height:860px;position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr .7fr;gap:68px;align-items:center;padding:72px max(24px,calc((100vw - var(--max))/2)) 190px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;z-index:-5;background:linear-gradient(90deg,rgba(4,4,5,.88) 0%,rgba(4,4,5,.48) 48%,rgba(4,4,5,.60) 100%),url("assets/necroxis-hero-bg-v2.png") center center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,4,5,.70),rgba(4,4,5,.18) 58%,rgba(4,4,5,.48)),linear-gradient(0deg,var(--bg) 0%,transparent 42%)}
.hero-grid{position:absolute;inset:0;z-index:-4;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 25%,transparent)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(60px);z-index:-3}.hero-glow-a{width:460px;height:460px;background:rgba(150,0,0,.19);right:3%;top:13%}.hero-glow-b{width:260px;height:260px;background:rgba(209,18,29,.12);left:36%;bottom:9%}
.silhouette{position:absolute;bottom:0;z-index:-3;opacity:.42;filter:blur(.2px)}.city-a{right:-3%;width:44%;height:63%;background:linear-gradient(90deg,transparent 0 4%,#151518 4% 9%,transparent 9% 13%,#111114 13% 23%,transparent 23% 27%,#18181b 27% 32%,transparent 32% 35%,#101012 35% 51%,transparent 51% 56%,#161619 56% 67%,transparent 67% 73%,#101012 73% 88%,transparent 88%)}.city-b{right:29%;width:13%;height:72%;background:linear-gradient(90deg,transparent 0 22%,#17171a 22% 62%,transparent 62%);clip-path:polygon(0 100%,0 26%,30% 26%,30% 9%,44% 9%,44% 0,56% 0,56% 9%,70% 9%,70% 26%,100% 26%,100% 100%)}
.hero-content{max-width:690px}.eyebrow,.kicker{font-family:Rajdhani,sans-serif;color:#c8c8cb;font-weight:700;letter-spacing:2.3px;font-size:12px}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow span{display:inline-block;width:34px;height:2px;background:var(--red);box-shadow:0 0 12px var(--red)}
h1{font-family:Rajdhani,sans-serif;margin:0;line-height:.78;text-transform:uppercase;max-width:100%}h1 span{display:block;font-size:clamp(66px,8vw,132px);letter-spacing:2px;color:#f2f2f2;text-shadow:0 2px 0 #555,0 8px 22px rgba(0,0,0,.7);white-space:nowrap}h1 small{display:block;font-size:clamp(18px,2.3vw,32px);letter-spacing:14px;margin-top:18px;color:#aaa}
.tagline{font-family:Rajdhani,sans-serif;font-size:clamp(26px,3.2vw,46px);font-weight:700;margin:38px 0 16px;letter-spacing:1px}.tagline strong{color:var(--red)}.intro{color:#b4b4b7;line-height:1.75;max-width:690px;font-size:15px}.intro b{color:#fff}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #444;font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:1.2px;font-size:14px;transition:.2s}.btn.primary{background:linear-gradient(180deg,#e11b27,#b20c15);border-color:#ec3942;box-shadow:0 10px 30px rgba(209,18,29,.18);color:#fff}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(209,18,29,.32)}.btn.ghost{background:rgba(255,255,255,.025)}.btn.ghost:hover{border-color:#777;background:rgba(255,255,255,.05)}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px;color:#7e7e82;font-size:12px;text-transform:uppercase;letter-spacing:1px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px}.online{background:var(--green);box-shadow:0 0 10px var(--green)}
.status-panel{align-self:center;background:linear-gradient(180deg,rgba(19,19,21,.95),rgba(10,10,11,.95));border:1px solid #2b2b2f;box-shadow:0 24px 70px rgba(0,0,0,.45);padding:26px;position:relative}.status-panel:before{content:"";position:absolute;inset:-1px auto -1px -1px;width:3px;background:linear-gradient(var(--red),transparent 72%)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #2a2a2e;padding-bottom:18px;margin-bottom:14px}.panel-head small{font-family:Rajdhani,sans-serif;letter-spacing:2px;color:#777}.panel-head h2{font-family:Rajdhani,sans-serif;margin:3px 0 0;font-size:31px;letter-spacing:2px}.pulse{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(209,18,29,.55);animation:pulse 1.8s infinite}.status-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed #27272b;font-size:13px;color:#8e8e92}.status-line strong{color:#ddd}.status-line .green{color:var(--green)}.status-line .red{color:#ff626a}.meter{height:6px;background:#222228;margin:18px 0 14px;overflow:hidden}.meter span{display:block;height:100%;width:84%;background:linear-gradient(90deg,#6c070d,var(--red));box-shadow:0 0 14px rgba(209,18,29,.6)}.status-panel p{font-size:13px;color:#909094;line-height:1.65}.mini-link{font-family:Rajdhani,sans-serif;font-size:13px;color:#e5e5e5;font-weight:700;letter-spacing:.7px}

.hero-features{
  position:absolute;
  left:max(24px,calc((100vw - var(--max))/2));
  right:max(24px,calc((100vw - var(--max))/2));
  bottom:24px;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:rgba(8,8,9,.88);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 45px rgba(0,0,0,.42);
  backdrop-filter:blur(7px);
}
.hero-feature{
  min-height:128px;
  padding:18px 16px;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  border-right:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(20,20,22,.72),rgba(8,8,9,.88));
}
.hero-feature:last-child{border-right:0}
.hero-feature-icon{
  color:var(--red);
  font-family:Rajdhani,sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  filter:drop-shadow(0 0 10px rgba(209,18,29,.45));
  text-shadow:0 0 14px rgba(209,18,29,.35);
}
.hero-feature-icon svg{
  width:34px;
  height:34px;
  display:block;
}

.hero-feature h3{
  margin:0 0 8px;
  font-family:Rajdhani,sans-serif;
  font-size:14px;
  line-height:1.08;
  letter-spacing:.4px;
  color:#f2f2f2;
}
.hero-feature p{
  margin:0;
  font-size:9.5px;
  line-height:1.5;
  color:#8f8f93;
}

.section{padding:100px max(24px,calc((100vw - var(--max))/2));position:relative}.dark-section{background:#09090a}.section-heading{max-width:720px;margin-bottom:42px}.section-heading h2{font-family:Rajdhani,sans-serif;font-size:clamp(38px,5vw,70px);line-height:.95;margin:10px 0 16px;letter-spacing:.5px}.section-heading h2 em,.rules h2 em{font-style:normal;color:var(--red)}.section-heading p{color:#88888d;line-height:1.7}.lore-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lore-card,.feature{background:linear-gradient(180deg,#111113,#0d0d0f);border:1px solid #28282c;padding:28px;min-height:220px;position:relative;overflow:hidden}.lore-card:before,.feature:before{content:"";position:absolute;left:0;top:0;width:38%;height:2px;background:var(--red)}.index{font-family:Rajdhani,sans-serif;color:#4e4e52;font-weight:700;font-size:34px}.lore-card h3,.feature h3{font-family:Rajdhani,sans-serif;font-size:24px;margin:16px 0 10px;letter-spacing:1px}.lore-card p,.feature p{color:#8e8e92;line-height:1.65;font-size:14px}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature{min-height:250px}.icon{font-size:28px;color:var(--red);text-shadow:0 0 14px rgba(209,18,29,.35)}
.stats-section{background:linear-gradient(180deg,#0a0a0b,#070707)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #27272b}.stat{padding:32px 24px;border-right:1px solid #27272b;text-align:center}.stat:last-child{border-right:0}.stat strong{display:block;font-family:Rajdhani,sans-serif;font-size:58px;color:#fff}.stat span{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:#777}.small-note{font-size:11px;color:#56565a;margin-top:14px}
.rules{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.rules h2{font-family:Rajdhani,sans-serif;font-size:clamp(42px,5vw,68px);line-height:.96;margin:12px 0 18px}.rule-copy p{color:#8c8c91;line-height:1.75;margin-bottom:28px}.warning-card{display:flex;gap:22px;padding:28px;border:1px solid #3a2326;background:linear-gradient(135deg,rgba(92,5,11,.22),rgba(19,19,21,.9));box-shadow:inset 0 0 60px rgba(209,18,29,.04)}.warning-symbol{flex:0 0 52px;width:52px;height:52px;border:1px solid #8a151d;color:#ff4f58;display:flex;align-items:center;justify-content:center;font-family:Rajdhani,sans-serif;font-size:34px;font-weight:700}.warning-card small{font-family:Rajdhani,sans-serif;color:#ba6066;letter-spacing:1.8px}.warning-card h3{font-family:Rajdhani,sans-serif;font-size:26px;margin:5px 0 8px}.warning-card p{color:#8e8e92;line-height:1.65;font-size:14px}
.discord-section{padding:110px 24px;text-align:center;background:radial-gradient(circle at 50% 25%,rgba(150,0,0,.18),transparent 35%),#080809}.discord-inner{max-width:760px;margin:auto}.discord-inner h2{font-family:Rajdhani,sans-serif;font-size:clamp(42px,5vw,70px);margin:12px 0}.discord-inner p{color:#909094;line-height:1.7;margin-bottom:28px}.discord-inner small{display:block;margin-top:14px;color:#666}.discord-inner code{color:#aaa}
footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px max(24px,calc((100vw - var(--max))/2));color:#666;font-size:12px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand>span{color:var(--red);font-size:25px}.footer-brand div{display:flex;flex-direction:column;font-family:Rajdhani,sans-serif}.footer-brand strong{letter-spacing:2px;color:#bbb}.footer-brand small{letter-spacing:4px;font-size:8px}.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(209,18,29,0)}100%{box-shadow:0 0 0 0 rgba(209,18,29,0)}}
@media (max-width:980px){.hero-features{position:relative;left:auto;right:auto;bottom:auto;grid-column:1/-1;grid-template-columns:1fr 1fr;margin-top:10px}.hero-feature:nth-child(even){border-right:0}.hero-feature:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.10)}.hero{padding-bottom:70px}.nav-toggle{display:block}.nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 24px;background:#09090a;border-bottom:1px solid #27272b}.nav.open{display:flex}.nav a{padding:14px 0;border-bottom:1px solid #1e1e21}.nav a.active:after{display:none}.hero{grid-template-columns:1fr;padding-top:70px}.status-panel{max-width:620px}.lore-grid,.feature-grid{grid-template-columns:1fr 1fr}.rules{grid-template-columns:1fr;gap:36px}.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #27272b}}
@media (max-width:640px){.hero-features{grid-template-columns:1fr}.hero-feature,.hero-feature:last-child{grid-column:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}.hero-feature:last-child{border-bottom:0}.topbar{height:68px}.nav{top:68px}.hero{padding-top:58px;min-height:auto}.eyebrow{font-size:10px}.hero-content{min-width:0}h1 span{font-size:clamp(54px,18vw,82px);white-space:normal;line-height:.78}h1 small{font-size:18px;letter-spacing:9px;margin-top:16px}.tagline{font-size:30px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-meta{gap:12px}.section{padding-top:72px;padding-bottom:72px}.lore-grid,.feature-grid,.stats-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #27272b}.stat:last-child{border-bottom:0}.rules{padding-top:72px;padding-bottom:72px}.warning-card{flex-direction:column}.discord-section{padding:80px 24px}footer{flex-direction:column;text-align:center} }


/* NÉCROXIS V4 — Fond NX-13 de la section Lore */

#lore{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(5,5,6,.90) 0%,rgba(5,5,6,.72) 42%,rgba(5,5,6,.56) 100%),
    url("assets/nx13-lore-background.png") center center/cover no-repeat;
  background-attachment:scroll;
}
#lore:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(0,0,0,.42) 20%,rgba(0,0,0,.42) 80%,var(--bg) 100%);
  pointer-events:none;
}
#lore .section-head,
#lore .lore-grid{position:relative;z-index:2}
#lore .lore-card{
  background:linear-gradient(180deg,rgba(16,16,18,.88),rgba(8,8,9,.90));
  backdrop-filter:blur(3px);
}

/* NÉCROXIS V5 — cartes Lore selon la référence fournie */
#lore .lore-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:38px;
}
#lore .lore-card-v5{
  padding:22px 20px 20px;
  min-height:310px;
  border:1px solid rgba(209,18,29,.42);
  border-top:2px solid rgba(209,18,29,.92);
  background:linear-gradient(180deg,rgba(7,7,8,.94),rgba(4,4,5,.92));
}
.lore-card-heading{
  display:flex;
  align-items:center;
  gap:18px;
}
.lore-card-heading span{
  font-family:Rajdhani,sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:700;
  color:#d1121d;
}
.lore-card-heading h3{
  margin:0;
  font-family:Rajdhani,sans-serif;
  font-size:22px;
  letter-spacing:.5px;
  color:#f2f2f2;
}
.lore-card-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:10px 0 16px 62px;
  max-width:150px;
}
.lore-card-divider i{
  height:1px;
  flex:1;
  background:#d1121d;
}
.lore-card-divider b{
  color:#d1121d;
  font-size:13px;
}
.lore-card-body{
  display:grid;
  grid-template-columns:44% 1fr;
  gap:16px;
  align-items:stretch;
}
.lore-card-body img{
  width:100%;
  height:170px;
  object-fit:cover;
  border:1px solid rgba(209,18,29,.32);
  filter:saturate(.85) contrast(1.08);
}
.lore-card-body p{
  margin:0;
  color:#a9a9ad;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:980px){
  #lore .lore-grid{grid-template-columns:1fr}
  .lore-card-body{grid-template-columns:220px 1fr}
}
@media(max-width:560px){
  .lore-card-body{grid-template-columns:1fr}
  .lore-card-body img{height:210px}
}


/* NÉCROXIS V6 — illustrations Lore corrigées */
#lore .lore-card-body{
  display:grid;
  grid-template-columns:46% 1fr;
  gap:18px;
  align-items:start;
}

#lore .lore-card-body img{
  display:block;
  width:100%;
  height:230px;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(209,18,29,.38);
  filter:none;
  opacity:1;
}

#lore .lore-card-body p{
  margin:0;
  padding-top:4px;
  color:#aaaab0;
  font-size:13px;
  line-height:1.65;
}

@media (max-width:980px){
  #lore .lore-card-body{
    grid-template-columns:220px 1fr;
  }
  #lore .lore-card-body img{
    height:260px;
  }
}

@media (max-width:560px){
  #lore .lore-card-body{
    grid-template-columns:1fr;
  }
  #lore .lore-card-body img{
    height:320px;
  }
}


/* NÉCROXIS V7 — cartes "Choisissez votre voie" avec illustrations */
#factions{
  background:
    radial-gradient(circle at 50% 20%,rgba(120,0,8,.07),transparent 42%),
    #09090a;
}

#factions .feature-grid-v7{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

#factions .feature-v7{
  min-height:330px;
  padding:0;
  display:grid;
  grid-template-columns:43% 57%;
  overflow:hidden;
  border:1px solid #2c2c30;
  border-top:2px solid rgba(209,18,29,.88);
  background:linear-gradient(180deg,rgba(14,14,16,.97),rgba(7,7,8,.98));
}

#factions .feature-v7:before{
  display:none;
}

.feature-v7-media{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#080809;
}

.feature-v7-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.93) contrast(1.06);
  transition:transform .35s ease,filter .35s ease;
}

.feature-v7:hover .feature-v7-media img{
  transform:scale(1.025);
  filter:saturate(1.05) contrast(1.08);
}


.feature-v7-copy{
  padding:36px 25px 28px;
}

.feature-v7-copy h3{
  margin:0;
  font-family:Rajdhani,sans-serif;
  font-size:27px;
  line-height:1;
  letter-spacing:.8px;
  color:#f4f4f4;
}

.feature-v7-line{
  width:42px;
  height:2px;
  margin:18px 0 18px;
  background:var(--red);
}

.feature-v7-copy p{
  margin:0;
  color:#a1a1a6;
  font-size:14px;
  line-height:1.72;
}

@media(max-width:1100px){
  #factions .feature-grid-v7{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  #factions .feature-grid-v7{
    grid-template-columns:1fr;
  }

  #factions .feature-v7{
    grid-template-columns:40% 60%;
  }
}

@media(max-width:500px){
  #factions .feature-v7{
    grid-template-columns:1fr;
  }

  .feature-v7-media img{
    min-height:240px;
    height:240px;
  }

  .feature-v7-copy{
    padding:24px;
  }
}


/* NÉCROXIS V9 — lisibilité des textes de la 3e section */
#factions .feature-v7{
  min-height:360px;
  grid-template-columns:42% 58%;
}

#factions .feature-v7-media img{
  min-height:360px;
}

#factions .feature-v7-copy{
  min-width:0;
  padding:30px 24px 26px;
  overflow:hidden;
}

#factions .feature-v7-copy h3{
  font-size:25px;
  line-height:1.08;
  white-space:nowrap;
}

.feature-v7-copy .feature-title-long{
  font-size:22px;
  letter-spacing:.4px;
}

#factions .feature-v7-line{
  margin:16px 0 16px;
}

#factions .feature-v7-copy p{
  max-width:100%;
  font-size:13px;
  line-height:1.62;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

@media(max-width:1200px) and (min-width:1101px){
  #factions .feature-v7{
    grid-template-columns:40% 60%;
    min-height:375px;
  }
  #factions .feature-v7-media img{
    min-height:375px;
  }
  #factions .feature-v7-copy{
    padding:28px 20px 24px;
  }
  #factions .feature-v7-copy h3{
    font-size:23px;
  }
  #factions .feature-v7-copy p{
    font-size:12.5px;
    line-height:1.58;
  }
}

@media(max-width:700px){
  #factions .feature-v7{
    min-height:340px;
  }
  #factions .feature-v7-media img{
    min-height:340px;
  }
}

@media(max-width:500px){
  #factions .feature-v7-media img{
    min-height:240px;
  }
}




/* ==========================================================
   NÉCROXIS V11 — SECTION 5 : TOP 10 CHASSEURS DE ZOMBIES
   ========================================================== */
.leaderboard-section{
  background:
    radial-gradient(circle at 82% 18%,rgba(209,18,29,.08),transparent 30%),
    linear-gradient(180deg,#09090a,#060607);
}

.leaderboard-heading p{
  max-width:760px;
  margin:16px 0 0;
  color:#85858a;
  line-height:1.7;
  font-size:14px;
}

.leaderboard-shell{
  margin-top:38px;
  border:1px solid #2d2d31;
  border-top:2px solid var(--red);
  background:
    linear-gradient(135deg,rgba(255,255,255,.018),transparent 35%),
    rgba(11,11,13,.95);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
  overflow:hidden;
}

.leaderboard-topbar{
  min-height:88px;
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid #26262a;
  background:linear-gradient(90deg,rgba(209,18,29,.055),transparent 42%);
}

.leaderboard-topbar > div:first-child{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.leaderboard-topbar strong{
  font-family:Rajdhani,sans-serif;
  font-size:20px;
  letter-spacing:1.2px;
  color:#e9e9eb;
}

.leaderboard-live{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:Rajdhani,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:1.8px;
  color:#8f8f94;
}

.leaderboard-live i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#35df75;
  box-shadow:0 0 12px rgba(53,223,117,.65);
}

.leaderboard-update{
  text-align:right;
}

.leaderboard-update small,
.leaderboard-update span{
  display:block;
  font-family:Rajdhani,sans-serif;
  letter-spacing:1px;
}

.leaderboard-update small{
  font-size:9px;
  color:#66666b;
}

.leaderboard-update span{
  margin-top:5px;
  font-size:13px;
  font-weight:700;
  color:#d7d7da;
}

.leaderboard-podium{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:24px;
  border-bottom:1px solid #252529;
  align-items:stretch;
}

.podium-card{
  position:relative;
  min-height:252px;
  padding:22px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #29292d;
  background:
    linear-gradient(180deg,rgba(24,24,27,.92),rgba(10,10,12,.96));
  overflow:hidden;
}

.podium-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:2px;
  background:var(--red);
}

.podium-1{
  border-color:rgba(209,18,29,.55);
  box-shadow:0 12px 35px rgba(209,18,29,.08);
}

.podium-rank{
  position:absolute;
  top:14px;
  left:16px;
  font-family:Rajdhani,sans-serif;
  font-size:16px;
  font-weight:700;
}

.podium-rank span{
  margin-left:4px;
  color:#77777d;
  font-size:11px;
}

.podium-avatar{
  width:62px;
  height:62px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  font-family:Rajdhani,sans-serif;
  font-size:27px;
  font-weight:700;
  color:#fff;
  border:1px solid rgba(209,18,29,.62);
  background:
    radial-gradient(circle at 40% 30%,rgba(209,18,29,.34),transparent 42%),
    #101012;
}

.podium-card h3{
  margin:0 0 12px;
  font-family:Rajdhani,sans-serif;
  font-size:18px;
  color:#f0f0f1;
}

.podium-card > strong{
  font-family:Rajdhani,sans-serif;
  font-size:40px;
  line-height:.9;
  color:var(--red);
}

.podium-card > span{
  margin-top:5px;
  font-family:Rajdhani,sans-serif;
  font-size:9px;
  letter-spacing:1.4px;
  color:#77777c;
}

.podium-card > small{
  margin-top:10px;
  padding:4px 8px;
  border:1px solid #2d2d31;
  color:#a4a4a8;
  font-family:Rajdhani,sans-serif;
  font-weight:700;
}



.leaderboard-list{
  padding:6px 24px 18px;
}

.leader-row{
  display:grid;
  grid-template-columns:62px minmax(180px,1.1fr) 1.8fr 128px;
  gap:18px;
  align-items:center;
  min-height:66px;
  border-bottom:1px solid #222226;
}

.leader-row:last-child{
  border-bottom:0;
}

.leader-rank{
  font-family:Rajdhani,sans-serif;
  font-size:18px;
  font-weight:700;
  color:#717176;
}

.leader-name{
  min-width:0;
}

.leader-name b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:Rajdhani,sans-serif;
  font-size:15px;
  color:#dedee0;
}

.leader-name small{
  display:block;
  margin-top:3px;
  font-family:Rajdhani,sans-serif;
  font-size:9px;
  letter-spacing:1px;
  color:#5f5f64;
}

.leader-bar{
  height:5px;
  background:#202024;
  overflow:hidden;
}

.leader-bar span{
  display:block;
  height:100%;
  min-width:2px;
  background:linear-gradient(90deg,#65070c,var(--red));
  box-shadow:0 0 12px rgba(209,18,29,.25);
}

.leader-kills{
  text-align:right;
}

.leader-kills strong{
  display:block;
  font-family:Rajdhani,sans-serif;
  font-size:20px;
  line-height:1;
  color:#ededee;
}

.leader-kills span{
  display:block;
  margin-top:3px;
  font-family:Rajdhani,sans-serif;
  font-size:8px;
  letter-spacing:1px;
  color:#646469;
}

.leader-row.is-empty,
.podium-card.is-empty{
  opacity:.36;
}

.leaderboard-footer{
  min-height:54px;
  padding:14px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border-top:1px solid #252529;
  font-family:Rajdhani,sans-serif;
  font-size:10px;
  letter-spacing:.8px;
  color:#69696e;
  background:#080809;
}

@media(max-width:800px){
  .leaderboard-podium{
    grid-template-columns:1fr;
  }

  .podium-1{
    transform:none;
  }

  .leader-row{
    grid-template-columns:46px 1fr 96px;
    gap:12px;
  }

  .leader-bar{
    grid-column:2 / 4;
    grid-row:2;
    margin-bottom:10px;
  }

  .leader-kills{
    grid-column:3;
    grid-row:1;
  }
}

@media(max-width:560px){
  .leaderboard-topbar,
  .leaderboard-footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .leaderboard-update{
    text-align:left;
  }

  .leaderboard-podium,
  .leaderboard-list{
    padding-left:14px;
    padding-right:14px;
  }

  .leader-row{
    grid-template-columns:40px minmax(0,1fr) 82px;
  }
}


/* ==========================================================
   NÉCROXIS V12 — Horde de zombies en fond du classement
   ========================================================== */
.leaderboard-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#070708;
}

.leaderboard-section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(5,5,6,.48),rgba(5,5,6,.68)),
    linear-gradient(90deg,rgba(5,5,6,.62),rgba(5,5,6,.34) 50%,rgba(5,5,6,.62)),
    url("assets/leaderboard-horde-background.jpg") center 42%/cover no-repeat;
  filter:saturate(.85) contrast(1.06);
}

.leaderboard-section:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 38%,transparent 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.55) 100%);
}

.leaderboard-section .leaderboard-heading,
.leaderboard-section .leaderboard-shell{
  position:relative;
  z-index:2;
}

.leaderboard-section .leaderboard-shell{
  background:rgba(8,8,10,.74);
  backdrop-filter:blur(1.5px);
}

.leaderboard-section .podium-card{
  background:linear-gradient(180deg,rgba(15,15,17,.80),rgba(7,7,9,.84));
}

.leaderboard-section .leaderboard-list{
  background:rgba(5,5,7,.42);
}

.leaderboard-section .leaderboard-footer{
  background:rgba(6,6,8,.86);
}


/* ==========================================================
   NÉCROXIS V13 — Classement avec horde visible comme le mockup
   ========================================================== */

.leaderboard-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#070708;
  padding-top:115px;
}

/* Horde uniquement dans la partie haute de la section */
.leaderboard-section:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:430px;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,4,5,.92) 0%,rgba(4,4,5,.60) 28%,rgba(4,4,5,.22) 58%,rgba(4,4,5,.14) 100%),
    linear-gradient(180deg,rgba(4,4,5,.16) 0%,rgba(4,4,5,.18) 58%,#070708 100%),
    url("assets/leaderboard-horde-background-v13.jpg") center top/cover no-repeat;
  filter:saturate(.95) contrast(1.06);
}

/* Pas de second fantôme / texte dans le background */
.leaderboard-section:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 10%,rgba(209,18,29,.08),transparent 25%),
    linear-gradient(180deg,transparent 0 290px,rgba(0,0,0,.20) 430px,#070708 610px);
}

.leaderboard-section .leaderboard-heading{
  position:relative;
  z-index:2;
  max-width:720px;
  margin-bottom:42px;
}

.leaderboard-section .leaderboard-heading h2{
  font-size:clamp(42px,5.3vw,76px);
  line-height:.92;
  max-width:760px;
}

.leaderboard-section .leaderboard-heading p{
  max-width:680px;
  color:#a0a0a5;
  text-shadow:0 2px 7px rgba(0,0,0,.85);
}

.leaderboard-section .leaderboard-shell{
  position:relative;
  z-index:3;
  margin-top:0;
  background:rgba(7,7,9,.88);
  border-color:rgba(255,255,255,.16);
  border-top-color:var(--red);
  backdrop-filter:blur(3px);
  box-shadow:0 34px 85px rgba(0,0,0,.54);
}

.leaderboard-section .leaderboard-topbar{
  background:linear-gradient(90deg,rgba(13,13,15,.92),rgba(8,8,10,.88));
}

.leaderboard-section .leaderboard-podium{
  background:rgba(4,4,6,.34);
}

.leaderboard-section .podium-card{
  background:
    linear-gradient(180deg,rgba(18,18,21,.82),rgba(7,7,9,.88));
}

.leaderboard-section .leaderboard-list{
  background:rgba(5,5,7,.70);
}

.leaderboard-section .leaderboard-footer{
  background:rgba(5,5,7,.94);
}

@media(max-width:800px){
  .leaderboard-section{
    padding-top:90px;
  }

  .leaderboard-section:before{
    height:360px;
    background-position:65% top;
  }
}


/* NÉCROXIS V14 — forêt rouge brumeuse section règlements */
#reglements{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#070708;
}
#reglements:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,4,5,.74) 0%,rgba(4,4,5,.38) 48%,rgba(4,4,5,.64) 100%),
    linear-gradient(180deg,rgba(4,4,5,.28),rgba(4,4,5,.48)),
    url("assets/rules-red-forest-background.jpg") center center/cover no-repeat;
  filter:saturate(.92) contrast(1.06);
}
#reglements:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 52% 52%,rgba(209,18,29,.10),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
}
#reglements .section-head,
#reglements .rules-grid,
#reglements .warning,
#reglements .rules-copy{
  position:relative;
  z-index:2;
}
#reglements .warning{
  background:rgba(20,6,8,.76);
  backdrop-filter:blur(3px);
}
#reglements .rules-copy{
  text-shadow:0 2px 8px rgba(0,0,0,.85);
}


/* NÉCROXIS V15 — FOND PROPRE forêt rouge, SANS texte intégré */
#reglements:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,4,5,.68) 0%,rgba(4,4,5,.38) 50%,rgba(4,4,5,.62) 100%),
    linear-gradient(180deg,rgba(4,4,5,.22),rgba(4,4,5,.48)),
    url("assets/rules-red-forest-background-clean.jpg") center center/cover no-repeat !important;
  filter:saturate(.95) contrast(1.06);
}

#reglements:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,rgba(209,18,29,.12),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.26));
}


/* ==========================================================
   NÉCROXIS V16 — SECTION RÈGLEMENTS / FORÊT ROUGE PROPRE
   Image correctement recadrée en 16:9, sans texte incorporé.
   ========================================================== */
#reglements{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#050506 !important;
}

#reglements:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(90deg,rgba(3,3,4,.58) 0%,rgba(3,3,4,.30) 48%,rgba(3,3,4,.52) 100%),
    linear-gradient(180deg,rgba(3,3,4,.16),rgba(3,3,4,.40)),
    url("assets/rules-red-forest-v16.jpg") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:none !important;
  transform:none !important;
}

#reglements:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(185,0,15,.10),transparent 45%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.22)) !important;
}

#reglements .rules-grid,
#reglements .section-head,
#reglements .warning,
#reglements .rules-copy{
  position:relative;
  z-index:2;
}

#reglements .warning{
  background:rgba(12,5,7,.76) !important;
  backdrop-filter:blur(2px);
}

#reglements .rules-copy{
  text-shadow:0 2px 8px rgba(0,0,0,.92);
}


/* ==========================================================
   NÉCROXIS V17 — FOND RÈGLEMENTS NETTOYÉ
   Aucun texte parasite dans l'image de fond.
   ========================================================== */
#reglements:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    linear-gradient(90deg,rgba(3,3,4,.62) 0%,rgba(3,3,4,.30) 50%,rgba(3,3,4,.54) 100%),
    linear-gradient(180deg,rgba(3,3,4,.12),rgba(3,3,4,.38)),
    url("assets/rules-red-forest-v17-clean.jpg") center center/cover no-repeat !important;
  filter:none !important;
  transform:none !important;
}

#reglements:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(190,0,18,.11),transparent 46%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.24)) !important;
}


/* ==========================================================
   NÉCROXIS V18 — FOND FORÊT ROUGE PROPRE
   Aucun texte, aucun panneau, aucune interface dans l'image.
   ========================================================== */
#reglements{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#050506 !important;
}

#reglements:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(90deg,rgba(3,3,4,.60) 0%,rgba(3,3,4,.30) 48%,rgba(3,3,4,.52) 100%),
    linear-gradient(180deg,rgba(3,3,4,.12),rgba(3,3,4,.36)),
    url("assets/rules-red-forest-v18-clean.jpg") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:none !important;
  transform:none !important;
}

#reglements:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 50% 52%,rgba(190,0,18,.10),transparent 44%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.24)) !important;
}


/* ==========================================================
   NÉCROXIS V19 — SECTION RÈGLEMENTS
   FOND FORÊT ROUGE SANS AUCUNE ÉCRITURE INTÉGRÉE
   ========================================================== */
#reglements{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#050506 !important;
}
#reglements::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(90deg,rgba(2,2,3,.58),rgba(2,2,3,.22) 50%,rgba(2,2,3,.52)),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.30)),
    url("assets/rules-red-forest-v19-clean.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:none !important;
  transform:none !important;
}
#reglements::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:radial-gradient(ellipse at 50% 50%,rgba(190,0,18,.08),transparent 48%) !important;
}
#reglements .section-head,
#reglements .rules-grid,
#reglements .warning,
#reglements .rules-copy{
  position:relative !important;
  z-index:2 !important;
}


/* ==========================================================
   NÉCROXIS V24 — GIF uploadé en arrière-plan de la section Discord
   ========================================================== */
#discord.discord-section{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#000000 !important;
}

#discord.discord-section::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:url("assets/necroxis-community-bg.gif") !important;
  background-position:center center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:brightness(1.05) contrast(1.10) saturate(1.06) !important;
  transform:translateZ(0) !important;
}


#discord.discord-section::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:rgba(0,0,0,.30) !important;
}





#discord .discord-inner{
  position:relative !important;
  z-index:2 !important;
  background:rgba(0,0,0,.45) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
  padding:28px 36px !important;
  border-radius:16px !important;
  border:1px solid rgba(220,0,20,.18) !important;
  box-shadow:0 20px 60px rgba(0,0,0,.55) !important;
}


#discord .discord-inner h2,
#discord .discord-inner p,
#discord .discord-inner .kicker,
#discord .discord-inner small{
  position:relative !important;
  z-index:3 !important;
  text-shadow:0 3px 16px rgba(0,0,0,.98) !important;
}



/* ==========================================================
   NÉCROXIS V23 — LOGO PERSONNALISÉ DANS LE FOOTER
   ========================================================== */
.footer-necroxis-logo-v23{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 10px rgba(220,0,20,.35));
}

.footer-necroxis-brand-v23{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 24px;
}

footer .footer-necroxis-logo-v23{
  flex:0 0 auto;
}


/* ==========================================================
   NÉCROXIS V24 — PAGE BOUTIQUE
   ========================================================== */
.shop-page{
  background:#060607;
}

.shop-page .topbar{
  position:sticky;
  top:0;
}

.shop-hero{
  min-height:690px;
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:80px;
  align-items:center;
  padding:110px max(28px,calc((100vw - var(--max))/2));
  overflow:hidden;
  border-bottom:1px solid var(--line);
}

.shop-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,4,5,.91),rgba(4,4,5,.50) 54%,rgba(4,4,5,.72)),
    url("assets/hero-background.png") center center/cover no-repeat;
  filter:saturate(.72) contrast(1.12);
}

.shop-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 76% 44%,rgba(209,18,29,.15),transparent 25%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.45));
}

.shop-hero-content{
  max-width:770px;
}

.shop-hero h1{
  margin:12px 0 24px;
  font-family:Rajdhani,sans-serif;
  font-size:clamp(58px,7vw,102px);
  line-height:.86;
  color:#f0f0f1;
}

.shop-hero h1 em{
  display:block;
  color:var(--red);
  font-style:normal;
}

.shop-hero-content > p{
  max-width:720px;
  color:#a4a4a9;
  font-size:16px;
  line-height:1.75;
}

.shop-hero-content b{
  color:#ededee;
}

.shop-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.shop-trust{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:26px;
  color:#75757b;
  font-family:Rajdhani,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.8px;
}

.shop-terminal{
  padding:28px;
  border:1px solid #333338;
  border-left:2px solid var(--red);
  background:rgba(8,8,10,.86);
  backdrop-filter:blur(5px);
  box-shadow:0 30px 70px rgba(0,0,0,.4);
}

.shop-terminal-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding-bottom:20px;
  border-bottom:1px solid #2c2c30;
}

.shop-terminal-head small{
  color:#77777d;
  letter-spacing:1.5px;
}

.shop-terminal-head h2{
  margin:5px 0 0;
  font-family:Rajdhani,sans-serif;
  font-size:28px;
}

.shop-terminal-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:17px 0;
  border-bottom:1px dashed #2a2a2e;
  color:#85858a;
  font-size:13px;
}

.shop-terminal-row strong{
  color:#e5e5e7;
  font-family:Rajdhani,sans-serif;
}

.shop-terminal-row .green{color:#51e27f}
.shop-terminal-row .red{color:#ef3340}

.shop-terminal-note{
  margin:20px 0 0;
  color:#69696f;
  font-size:11px;
  line-height:1.6;
}

.shop-section{
  padding:100px max(28px,calc((100vw - var(--max))/2));
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 0%,rgba(209,18,29,.055),transparent 28%),
    #080809;
}

.shop-section-heading{
  max-width:820px;
  margin-bottom:44px;
}

.shop-section-heading h2,
.shop-info h2{
  margin:10px 0 14px;
  font-family:Rajdhani,sans-serif;
  font-size:clamp(42px,5vw,68px);
  line-height:.95;
}

.shop-section-heading h2 em,
.shop-info h2 em{
  color:var(--red);
  font-style:normal;
}

.shop-section-heading p{
  margin:0;
  max-width:760px;
  color:#7e7e84;
  line-height:1.7;
}

.shop-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.shop-card{
  position:relative;
  min-height:500px;
  padding:26px;
  display:flex;
  flex-direction:column;
  border:1px solid #2d2d31;
  border-top:2px solid #851019;
  background:
    linear-gradient(180deg,rgba(20,20,23,.93),rgba(8,8,10,.97));
  transition:.25s ease;
}

.shop-card:hover{
  transform:translateY(-5px);
  border-color:#5c171d;
  box-shadow:0 24px 50px rgba(0,0,0,.35);
}

.shop-card.featured{
  border-color:rgba(209,18,29,.8);
  box-shadow:0 15px 45px rgba(209,18,29,.08);
}

.shop-badge{
  position:absolute;
  top:0;
  right:18px;
  transform:translateY(-50%);
  padding:7px 12px;
  color:#fff;
  background:var(--red);
  font-family:Rajdhani,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
}

.shop-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:32px;
}

.shop-rank{
  font-family:Rajdhani,sans-serif;
  font-size:31px;
  font-weight:700;
  color:var(--red);
}

.shop-label{
  font-family:Rajdhani,sans-serif;
  font-weight:700;
  color:#dedee0;
  letter-spacing:.7px;
}

.shop-token{
  font-family:Rajdhani,sans-serif;
  font-size:42px;
  line-height:.95;
  font-weight:700;
  color:#f2f2f2;
}

.shop-token small{
  display:block;
  margin-top:7px;
  color:var(--red);
  font-size:11px;
  letter-spacing:1.8px;
}

.shop-card > p{
  color:#8c8c92;
  font-size:13px;
  line-height:1.65;
  min-height:64px;
}

.shop-card ul{
  list-style:none;
  padding:0;
  margin:20px 0 30px;
  color:#9d9da2;
  font-size:12px;
  line-height:2;
}

.shop-card li::before{
  content:"☣";
  margin-right:8px;
  color:#a6131d;
}

.shop-price{
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid #28282c;
  font-family:Rajdhani,sans-serif;
  font-size:28px;
  font-weight:700;
  color:#eee;
}

.shop-buy{
  width:100%;
  margin-top:16px;
  padding:15px 16px;
  cursor:pointer;
  color:#fff;
  border:1px solid var(--red);
  background:linear-gradient(180deg,#d81b25,#a80d15);
  font-family:Rajdhani,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.8px;
}

.shop-buy:hover{
  filter:brightness(1.14);
}

.shop-perks{
  background:#060607;
}

.shop-perk-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.shop-perk-grid article{
  padding:30px;
  border:1px solid #29292d;
  background:#0d0d0f;
}

.shop-perk-grid article > span{
  display:block;
  margin-bottom:18px;
  color:var(--red);
  font-size:27px;
}

.shop-perk-grid h3{
  margin:0 0 10px;
  font-family:Rajdhani,sans-serif;
  font-size:22px;
}

.shop-perk-grid p{
  margin:0;
  color:#85858b;
  font-size:13px;
  line-height:1.7;
}

.shop-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding:100px max(28px,calc((100vw - var(--max))/2));
  background:
    radial-gradient(circle at 77% 40%,rgba(209,18,29,.07),transparent 25%),
    #09090a;
  border-bottom:1px solid var(--line);
}

.shop-info-copy p{
  color:#88888e;
  line-height:1.8;
}

.shop-steps{
  border:1px solid #2c2c30;
  background:#0d0d0f;
}

.shop-steps div{
  min-height:78px;
  display:grid;
  grid-template-columns:72px 1fr;
  align-items:center;
  border-bottom:1px solid #29292d;
}

.shop-steps div:last-child{
  border-bottom:0;
}

.shop-steps b{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  color:var(--red);
  border-right:1px solid #29292d;
  font-family:Rajdhani,sans-serif;
  font-size:22px;
}

.shop-steps span{
  padding:20px;
  color:#d1d1d4;
  font-family:Rajdhani,sans-serif;
  font-weight:700;
}

.shop-warning{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:24px;
  align-items:center;
  max-width:var(--max);
  margin:70px auto;
  padding:26px 30px;
  border:1px solid var(--red);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(45,7,10,.58) 0%, rgba(20,3,5,.62) 100%);
  box-shadow:0 0 0 1px rgba(209,18,29,.22), 0 0 24px rgba(209,18,29,.18), inset 0 0 40px rgba(209,18,29,.08);
  position:relative;
  overflow:hidden;
}

.shop-warning::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:8px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,53,65,.35);
}

.shop-warning > strong{
  width:55px;
  height:55px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--red);
  border-radius:6px;
  color:#ff3541;
  font-family:Rajdhani,sans-serif;
  font-size:32px;
  text-shadow:0 0 12px rgba(255,53,65,.7);
  box-shadow:0 0 18px rgba(209,18,29,.35), inset 0 0 14px rgba(209,18,29,.18);
  background:rgba(255,53,65,.08);
  z-index:1;
}

.shop-warning span{
  color:#c8474f;
  font-family:Rajdhani,sans-serif;
  font-size:10px;
  letter-spacing:1.5px;
}

.shop-warning h3{
  margin:5px 0 7px;
  font-family:Rajdhani,sans-serif;
  font-size:23px;
}

.shop-warning p{
  margin:0;
  color:#8d8d92;
  font-size:12px;
  line-height:1.6;
}

.shop-footer{
  min-height:100px;
  padding:15px max(28px,calc((100vw - var(--max))/2));
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #28282c;
  background:#040405;
  color:#78787e;
  font-family:Rajdhani,sans-serif;
  font-size:11px;
  letter-spacing:1px;
}

.footer-ltd-link{color:var(--red);text-decoration:none;transition:.2s}
.footer-ltd-link:hover{color:#fff;text-shadow:0 0 12px rgba(209,18,29,.45)}


.shop-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.80);
  backdrop-filter:blur(7px);
}

.shop-modal.open{
  display:flex;
}

.shop-modal-card{
  position:relative;
  width:min(520px,100%);
  padding:38px;
  border:1px solid rgba(209,18,29,.55);
  border-top:2px solid var(--red);
  background:#0b0b0d;
  box-shadow:0 40px 90px rgba(0,0,0,.65);
}

.shop-modal-card h2{
  font-family:Rajdhani,sans-serif;
  font-size:36px;
  margin:10px 0 12px;
}

.shop-modal-card h2 span{
  color:var(--red);
}

.shop-modal-card p{
  color:#aaaab0;
}

.shop-modal-card small{
  color:#6f6f74;
  line-height:1.6;
}

.shop-modal-close{
  position:absolute;
  top:10px;
  right:14px;
  border:0;
  background:none;
  color:#aaa;
  font-size:28px;
  cursor:pointer;
}

@media(max-width:1050px){
  .shop-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .shop-hero{
    grid-template-columns:1fr;
  }

  .shop-terminal{
    max-width:680px;
  }
}

@media(max-width:760px){
  .shop-grid,
  .shop-perk-grid,
  .shop-info{
    grid-template-columns:1fr;
  }

  .shop-hero{
    padding-top:80px;
    gap:40px;
  }

  .shop-info{
    gap:35px;
  }

  .shop-warning{
    margin-left:20px;
    margin-right:20px;
  }
}

@media(max-width:520px){
  .shop-grid{
    grid-template-columns:1fr;
  }

  .shop-hero h1{
    font-size:58px;
  }

  .shop-footer{
    flex-direction:column;
    gap:12px;
    text-align:center;
  }
}


/* =========================================================
   NÉCROXIS BOUTIQUE V25 — BACKGROUNDS UNIQUES / SANS TEXTE
   ========================================================= */
.shop-page .shop-hero,
.shop-page .shop-bg-packs,
.shop-page .shop-bg-perks,
.shop-page .shop-bg-info,
.shop-page .shop-bg-warning {
  position: relative;
  isolation: isolate;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
  overflow: hidden;
}

.shop-page .shop-hero::before,
.shop-page .shop-bg-packs::before,
.shop-page .shop-bg-perks::before,
.shop-page .shop-bg-info::before,
.shop-page .shop-bg-warning::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,3,4,.90) 0%, rgba(3,3,4,.64) 43%, rgba(3,3,4,.38) 72%, rgba(3,3,4,.68) 100%),
    linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.62));
}

.shop-page .shop-hero {
  background-image: url("assets/shop-bg-hero-v25.jpg") !important;
  grid-template-columns: minmax(0, 820px) !important;
  min-height: 620px;
}
.shop-page .shop-hero-content { max-width: 760px; }

.shop-page .shop-bg-packs {
  background-image: url("assets/shop-bg-packs-v25.jpg") !important;
}
.shop-page .shop-bg-perks {
  background-image: url("assets/shop-bg-perks-v25.jpg") !important;
}
.shop-page .shop-bg-info {
  background-image: url("assets/shop-bg-info-v25.jpg") !important;
}
.shop-page .shop-bg-warning {
  background-image: url("assets/shop-bg-warning-v25.jpg") !important;
}

.shop-page .shop-section,
.shop-page .shop-info,
.shop-page .shop-warning {
  border-top: 1px solid rgba(255,255,255,.10);
}

.shop-page .shop-card,
.shop-page .shop-perk-grid article,
.shop-page .shop-steps > div,
.shop-page .shop-warning > div {
  backdrop-filter: blur(3px);
}

/* Terminal de droite retiré en V25. */
.shop-page .shop-terminal { display: none !important; }

/* Fondus noirs entre les sections gradient (Discord et Classement exclus) */
.section:not(#lore):not(.leaderboard-section):not(.discord-section)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100px;
  background: linear-gradient(to bottom, transparent 0%, var(--bg) 90%);
  z-index: -1;
  pointer-events: none;
}


/* Correction des titres longs dans les cartes Factions en mobile */
@media(max-width:500px){
  #factions .feature-v7-copy h3{
    font-size: clamp(16px, 4.8vw, 20px);
    letter-spacing: .2px;
  }
}

/* ==========================================================
   NÉCROXIS V25 — Header noir et semi-transparent au scroll
   ========================================================== */
.topbar{
  position:sticky !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  transition:background .25s ease, backdrop-filter .25s ease !important;
}
.topbar.scrolled{
  background:rgba(0,0,0,.60) !important;
  backdrop-filter:blur(16px) !important;
}
/* Le menu mobile est positionné hors de la barre : ne pas le rogner */
@media (max-width:980px){
  .topbar{overflow:visible !important}
  .nav{z-index:60 !important;box-shadow:0 18px 40px rgba(0,0,0,.55)}
}

footer{position:relative !important;overflow:hidden !important;isolation:isolate !important;background:#000000 !important}
footer > *{position:relative !important;z-index:2 !important;}


/* ==========================================================
   NÉCROXIS V26 — Fondus noirs autour du GIF et des sections
   ========================================================== */
/* Fondus retirés sur la section Discord */
#discord.discord-section::before{
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
#discord.discord-section::after{
  background:rgba(0,0,0,.30) !important;
}


/* Fondu noir au bas de la section au-dessus (Règlements) */
.section.rules{position:relative;isolation:isolate}
.section.rules::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:195px !important;
  background:linear-gradient(to bottom, rgba(5,5,6,0) 0%, rgba(5,5,6,.75) 55%, #050506 100%) !important;
  z-index:1;
  pointer-events:none;
}





/* ==========================================================
   NÉCROXIS V27 — Classement : fondu aligné sur la fin réelle de l'image
   ========================================================== */
/* L'image de horde conserve ses bords nets, sans fondu artificiel. */
.leaderboard-section::before{
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Fondus bas retirés sur la section Classement */
.section.leaderboard-section::after{
  display:none !important;
}

@media(max-width:800px){
  .section.leaderboard-section::after{
    display:none !important;
  }
}


/* =========================================================
   NÉCROXIS BOUTIQUE V28 — UN SEUL BACKGROUND PARALLAX
   ========================================================= */
.shop-page{
  position: relative;
  background: #000 !important;
}
.shop-page::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image: url("assets/shop-bg-hero-v25.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transform: translateZ(0) scale(1.06);
}
.shop-page::after{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,3,4,.92) 0%, rgba(3,3,4,.68) 45%, rgba(3,3,4,.46) 72%, rgba(3,3,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.72));
}

/* Toutes les sections deviennent transparentes */
.shop-page .shop-hero,
.shop-page .shop-bg-packs,
.shop-page .shop-bg-perks,
.shop-page .shop-bg-info,
.shop-page .shop-bg-warning,
.shop-page .shop-section,
.shop-page .shop-info,
.shop-page .shop-warning{
  background-image: none !important;
  background-color: transparent !important;
  overflow: visible;
}
.shop-page .shop-hero::before,
.shop-page .shop-hero::after,
.shop-page .shop-bg-packs::before,
.shop-page .shop-bg-perks::before,
.shop-page .shop-bg-info::before,
.shop-page .shop-bg-warning::before{
  display: none !important;
}
.shop-page .shop-section,
.shop-page .shop-info,
.shop-page .shop-warning{
  border-top: none !important;
}
.shop-page .shop-footer{
  background: transparent !important;
}

/* ============================================================
   NÉCROXIS — Pages légales (Loi 25) + bannière de témoins
   ============================================================ */
.legal-page{background:#070707}
.legal-main{padding:120px max(20px,calc((100vw - var(--max))/2)) 80px}
.legal-wrap{max-width:860px;margin:0 auto;color:#c9c9c9;font-size:15px;line-height:1.75}
.legal-wrap h1{font-family:Rajdhani,sans-serif;font-size:clamp(30px,5vw,46px);letter-spacing:2px;color:#fff;margin:6px 0 8px;text-transform:uppercase}
.legal-wrap h2{font-family:Rajdhani,sans-serif;font-size:clamp(19px,3vw,24px);letter-spacing:1px;color:#fff;margin:34px 0 10px;text-transform:uppercase}
.legal-wrap p{margin:0 0 12px}
.legal-updated{color:#7a7a7a;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.legal-lead{color:#e2e2e2;font-size:16px;border-left:2px solid var(--red,#c0392b);padding-left:16px;margin:22px 0 8px}
.legal-highlight{background:rgba(192,57,43,.10);border:1px solid rgba(192,57,43,.35);border-radius:10px;padding:14px 16px;color:#f0dcd9}
.legal-note{color:#8d8d8d;font-size:13px;font-style:italic}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px}
.legal-toc a{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#bdbdbd;text-decoration:none;border:1px solid #262626;border-radius:999px;padding:7px 13px;background:#0d0d0d;transition:.2s}
.legal-toc a:hover{color:#fff;border-color:var(--red,#c0392b)}
.legal-wrap section{border-top:1px solid #1b1b1b;padding-top:6px}
.legal-crosslink{margin-top:40px;padding-top:18px;border-top:1px solid #1b1b1b;font-size:14px}
.legal-crosslink a,.legal-wrap a{color:#e05a4a}
.legal-footer{flex-wrap:wrap}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.footer-legal a,.footer-legal button{color:#8f8f8f;font-size:12px;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.footer-legal a:hover,.footer-legal button:hover{color:#fff}

.nx-consent{position:fixed;inset:auto 0 0 0;z-index:9999;display:none;padding:16px;justify-content:center}
.nx-consent.is-open{display:flex}
.nx-consent-card{width:min(720px,100%);max-height:min(80vh,640px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#0b0b0b;border:1px solid #262626;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.75);color:#c9c9c9;font-size:14px;line-height:1.6}
.nx-consent-card h3{font-family:Rajdhani,sans-serif;letter-spacing:2px;color:#fff;margin:4px 0 10px;text-transform:uppercase;font-size:20px}
.nx-consent-options{display:grid;gap:10px;margin:16px 0}
.nx-consent-opt{display:flex;gap:11px;align-items:flex-start;background:#101010;border:1px solid #202020;border-radius:11px;padding:12px;cursor:pointer}
.nx-consent-opt.is-locked{opacity:.75;cursor:default}
.nx-consent-opt input{margin-top:3px;accent-color:#c0392b;width:16px;height:16px;flex:0 0 auto}
.nx-consent-opt span{display:flex;flex-direction:column;gap:3px}
.nx-consent-opt strong{color:#fff;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.nx-consent-opt small{color:#8d8d8d;font-size:12px}
.nx-consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.nx-consent-actions .btn{flex:1 1 170px;text-align:center;font-size:12px;padding:12px 14px}
.nx-consent-links{margin:14px 0 0;font-size:12px;color:#7a7a7a}
.nx-consent-links a{color:#bdbdbd}
@media (max-width:640px){.legal-main{padding:100px 18px 60px}.nx-consent{padding:10px}.nx-consent-card{padding:18px;max-height:82vh}.nx-consent-actions .btn{flex:1 1 100%}}
.nx-consent-actions .btn.ghost{color:#e6e6e6;border-color:#3a3a3a;background:#141414}
.nx-consent-actions .btn.ghost:hover{color:#fff;border-color:var(--red,#c0392b)}

/* =========================================================
    NÉCROXIS — Bouton flottant "Retour en haut"
    ========================================================= */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:55px;
  z-index:90;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(209,18,29,.65);
  background:linear-gradient(180deg,#e11b27,#b20c15);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(209,18,29,.28), 0 0 0 0 rgba(209,18,29,.35);
  opacity:0;
  transform:translateY(20px) scale(.92);
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease, box-shadow .2s ease;
  backdrop-filter:blur(4px);
}
.back-to-top svg{
  width:24px;
  height:24px;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.25));
}
.back-to-top.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.back-to-top:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 38px rgba(209,18,29,.42), 0 0 18px rgba(209,18,29,.25);
}
.back-to-top:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
@media (max-width:640px){
  .back-to-top{
    width:46px;
    height:46px;
    right:12px;
    bottom:35px;
  }
  .back-to-top svg{
    width:22px;
    height:22px;
  }
}

/* ---- Liste d'attente boutique ---- */
.shop-waitlist{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:18px 0 16px;
  text-align:left;
}

.shop-waitlist label{
  font-family:Rajdhani,sans-serif;
  font-size:12px;
  letter-spacing:.8px;
  color:#8d8d94;
  text-transform:uppercase;
}

.shop-waitlist input{
  width:100%;
  padding:13px 14px;
  color:#eee;
  border:1px solid #2d2d32;
  background:#101013;
  font-family:inherit;
  font-size:15px;
}

.shop-waitlist input:focus{
  outline:none;
  border-color:var(--red);
}

.shop-hp{
  position:absolute !important;
  left:-9999px !important;
  opacity:0;
  height:0;
}

.shop-waitlist-submit{
  margin-top:8px;
  padding:15px 16px;
  cursor:pointer;
  color:#fff;
  border:1px solid var(--red);
  background:linear-gradient(180deg,#d81b25,#a80d15);
  font-family:Rajdhani,sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.8px;
}

.shop-waitlist-submit:hover{ filter:brightness(1.14); }
.shop-waitlist-submit:disabled{ opacity:.55; cursor:not-allowed; }

.shop-waitlist-msg{
  min-height:18px;
  margin:0;
  font-size:13px;
  color:#8d8d94;
}

.shop-waitlist-msg.ok{ color:#4ad07a; }
.shop-waitlist-msg.err{ color:#ff6b73; }

.lore-shop-cta{
  margin-top:36px;
  padding:28px;
  text-align:center;
  border:1px solid #29292d;
  border-top:2px solid var(--red);
  background:#0d0d0f;
}

.lore-shop-cta p{
  margin:0 0 18px;
  color:#aaaab0;
}

.lore-shop-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}

@media(max-width:640px){
  .lore-shop-cta-actions .btn{ width:100%; }
}

/* ===== Page Contact ===== */
.nx-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:26px 0 10px}
.nx-contact-card{background:#0f0f0f;border:1px solid #1e1e1e;border-radius:12px;padding:18px}
.nx-contact-card h2{margin:8px 0 8px;font-size:18px}
.nx-contact-card p{margin:0 0 6px;color:#c9c9c9}
.nx-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(224,90,74,.12);color:#e05a4a;font-size:16px}
.nx-contact-note{font-size:12.5px;color:#8d8d8d}
.nx-contact-card .btn{margin-top:8px}
.nx-contact-form{margin-top:14px;max-width:640px}
.nx-contact-form select,.nx-contact-form textarea{
  width:100%;background:#101010;border:1px solid #232323;border-radius:8px;color:#f2f2f2;
  padding:11px 12px;font-family:inherit;font-size:15px;outline:none;resize:vertical;
}
.nx-contact-form select:focus,.nx-contact-form textarea:focus{border-color:#e05a4a}
@media (max-width:640px){.nx-contact-grid{grid-template-columns:1fr}}
