/* Nord-inspired palette + mono vibe */
:root{
  --px: 50vw;
  --py: 20vh;
  --n0:#2e3440; --n1:#3b4252; --n2:#434c5e; --n3:#4c566a;
  --n4:#d8dee9; --n5:#e5e9f0; --n6:#eceff4;
  --frost0:#8fbcbb; --frost1:#88c0d0; --frost2:#81a1c1; --frost3:#5e81ac;
  --auroraR:#bf616a; --auroraO:#d08770; --auroraY:#ebcb8b; --auroraG:#a3be8c; --auroraP:#b48ead;
  --bg:var(--n0); --panel:rgba(59,66,82,.55);
  --border:rgba(216,222,233,.14);
  --text:var(--n5); --muted:rgba(229,233,240,.72);
  --shadow: 0 10px 30px rgba(0,0,0,.45);
}

@font-face{
  font-family:"PA UI";
  src:url("./fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"PA UI";
  src:url("./fonts/jetbrains-mono/JetBrainsMono-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"PA Head";
  src:url("./fonts/rajdhani/Rajdhani-Medium.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"PA Head";
  src:url("./fonts/rajdhani/Rajdhani-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"PA UI", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color:var(--text);
  background: var(--bg);
  min-height:100svh;
  display:flex;
  flex-direction:column;
}

main{flex:1 0 auto}

.nebula, .glow{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  will-change: transform;
}
.nebula{
  background:
    radial-gradient(ellipse 80% 55% at 20% 15%, rgba(136,192,208,.16), transparent 55%),
    radial-gradient(ellipse 70% 60% at 85% 25%, rgba(191,97,106,.12), transparent 55%),
    radial-gradient(ellipse 95% 70% at 55% 95%, rgba(136,192,208,.07), transparent 55%);
  opacity:1;
}

.glow{ z-index:0; }
.glow::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 340px at var(--px) var(--py), rgba(136,192,208,.20), transparent 62%),
    radial-gradient(460px 300px at var(--px) var(--py), rgba(191,97,106,.13), transparent 64%);
  filter: blur(1px);
  opacity:.95;
  mix-blend-mode: screen;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  opacity:.06;
  mix-blend-mode: overlay;
  animation: grain 10s steps(10) infinite;
}
@keyframes grain{
  0%{transform:translate3d(0,0,0)}
  20%{transform:translate3d(-2%, 1%,0)}
  40%{transform:translate3d(-1%, -2%,0)}
  60%{transform:translate3d(2%, 1%,0)}
  80%{transform:translate3d(1%, -1%,0)}
  100%{transform:translate3d(0,0,0)}
}

a{color:var(--frost1); text-decoration:none}
a:hover{color:var(--frost0)}

::selection{
  background: rgba(136,192,208,.45);
  color: var(--n6);
}
::-moz-selection{
  background: rgba(136,192,208,.45);
  color: var(--n6);
}

.container{max-width:980px; margin:0 auto; padding:0 24px; position:relative; z-index:1}
.site-main{padding-bottom: 12px;}

.heroCenter{
  text-align:center;
  margin: 52px 0 34px;
  display:grid;
  justify-items:center;
}
.heroCenter > *{ margin-left:auto; margin-right:auto; }
.hero.heroCenter{grid-template-columns:1fr;}
.ghostIcon{ width:108px; height:108px; margin:0 auto 18px; display:grid; place-items:center; }
.ghostIcon.prominent{
  width: clamp(190px, 28vw, 300px);
  height: clamp(190px, 28vw, 300px);
  margin: 0 auto 26px;
  z-index: 2;
}
.ghostIcon img{ width:100%; height:100%; display:block; filter: drop-shadow(0 0 26px rgba(136,192,208,.18)); }

.ghostIcon{ animation: floaty 4.2s ease-in-out infinite; }
.ghostIcon:hover{ animation:none; }
.ghostIcon svg{ width:100%; height:100%; display:block; filter: drop-shadow(0 0 26px rgba(136,192,208,.18)); transition: filter 260ms ease; }
.ghostIcon:hover svg{ filter: drop-shadow(0 0 34px rgba(136,192,208,.28)) drop-shadow(0 0 18px rgba(191,97,106,.18)); }

.pa-ghost-hybrid{overflow:visible}
.pa-ghost-hybrid .pupil,
.pa-ghost-hybrid .iris,
.pa-ghost-hybrid .anger-mark{transition:transform 110ms linear}
.pa-ghost-hybrid .blink{transform-origin:center; animation:blinkGhost 5.1s infinite}
.pa-ghost-hybrid .creep,
.pa-ghost-hybrid .brows-angry,
.pa-ghost-hybrid .veins,
.pa-ghost-hybrid .angry-mouth,
.pa-ghost-hybrid .anger-mark{opacity:0; transition:opacity .18s ease}
.pa-ghost-hybrid .smile,
.pa-ghost-hybrid .brows-soft,
.pa-ghost-hybrid .aurora-body{transition:opacity .2s ease}
.pa-ghost-hybrid[data-creepy="1"] .smile{opacity:0}
.pa-ghost-hybrid[data-creepy="1"] .creep{opacity:1}
.pa-ghost-hybrid[data-creepy="1"] .veins{opacity:.95}
.pa-ghost-hybrid[data-creepy="1"] .aurora-body{opacity:.78}
.pa-ghost-hybrid[data-angry="1"] .smile,
.pa-ghost-hybrid[data-angry="1"] .creep,
.pa-ghost-hybrid[data-angry="1"] .brows-soft{opacity:0}
.pa-ghost-hybrid[data-angry="1"] .brows-angry,
.pa-ghost-hybrid[data-angry="1"] .angry-mouth,
.pa-ghost-hybrid[data-angry="1"] .anger-mark{opacity:1}
.pa-ghost-hybrid[data-angry="1"]{animation:floaty 1.8s ease-in-out infinite, rageShake .16s linear infinite}

@keyframes blinkGhost{0%,92%,100%{transform:scaleY(1)}94%{transform:scaleY(.2)}96%{transform:scaleY(1)}}
@keyframes rageShake{0%{transform:translate(0,0)}25%{transform:translate(-1.3px,0)}50%{transform:translate(1.3px,0)}75%{transform:translate(-1px,0)}100%{transform:translate(0,0)}}

@keyframes floaty{ 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-8px) } }
@keyframes blink{ 0%,90%,100%{ opacity:1 } 95%{ opacity:.25 } }
@keyframes mouthWiggle{ 0%,100%{ transform: translateY(0px) rotate(0deg) } 25%{ transform: translateY(-.6px) rotate(-2deg) } 50%{ transform: translateY(.8px) rotate(2deg) } 75%{ transform: translateY(-.4px) rotate(1deg) } }

@keyframes pupilRollL{
  0%{ transform: translate(0px,0px) }
  25%{ transform: translate(3px,-2px) }
  50%{ transform: translate(1px,3px) }
  75%{ transform: translate(-3px,1px) }
  100%{ transform: translate(0px,0px) }
}
@keyframes pupilRollR{
  0%{ transform: translate(0px,0px) }
  25%{ transform: translate(-2px,2px) }
  50%{ transform: translate(-3px,-1px) }
  75%{ transform: translate(2px,-3px) }
  100%{ transform: translate(0px,0px) }
}
.title,
.section h2,
.card h3{
  font-family:"PA Head", "PA UI", system-ui, sans-serif;
}

.title{
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
  margin: 0 0 10px;
  font-size: clamp(2.4rem, 6.6vw, 4.2rem);
  text-align:center;
  width:100%;
  background: linear-gradient(135deg, rgba(236,239,244,1) 0%, rgba(136,192,208,1) 45%, rgba(191,97,106,1) 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientShift 7s ease infinite;
}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.clanTitle{
  font-size: clamp(3.1rem, 10vw, 6.3rem);
  letter-spacing: .02em;
  margin-bottom: 6px;
}
.eyebrow{margin:0 0 8px; color:rgba(235,203,139,.86); text-transform:uppercase; letter-spacing:.11em; font-size:.76rem}
.heroBuzz{
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 3.6vw, 2.35rem);
  font-weight: 700;
  color: rgba(229,233,240,.96);
  min-height: 1.4em;
}

.glitch-target{
  position: relative;
  isolation: isolate;
}
.glitch-target.is-glitching::before,
.glitch-target.is-glitching::after{
  content: attr(data-glitch-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: inherit;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.glitch-target.is-glitching::before{
  transform: translate(-1.5px, 0);
  text-shadow: 1px 0 rgba(136,192,208,.7);
  clip-path: polygon(0 4%, 100% 0, 100% 44%, 0 48%);
}
.glitch-target.is-glitching::after{
  transform: translate(1.5px, 0);
  text-shadow: -1px 0 rgba(191,97,106,.65);
  clip-path: polygon(0 54%, 100% 50%, 100% 100%, 0 96%);
}
.tagline{ font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(136,192,208,.85); margin: 0 0 18px; }
.description{ color: rgba(229,233,240,.80); max-width: 820px; margin: 0 auto 18px; }
.hero-copy{max-width: 740px;}

.ctaRow{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 8px}
.ctaRow.center{justify-content:center}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(59,66,82,.35);
  color:var(--text);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, filter 160ms ease;
  will-change: transform;
}
.btn:hover{border-color:rgba(136,192,208,.35); background:rgba(59,66,82,.55); transform: translateY(-1px)}
.btn:active{transform: translateY(0px) scale(.99)}
.btn.primary{background:linear-gradient(135deg, rgba(94,129,172,.90), rgba(136,192,208,.78)); color:#0b1220; border:0; font-weight:700; box-shadow: 0 10px 26px rgba(94,129,172,.18)}
.btn.primary:hover{filter:brightness(1.08) saturate(1.08); box-shadow: 0 14px 34px rgba(94,129,172,.22), 0 0 22px rgba(136,192,208,.18)}
.btn.is-magnetic-active{
  transition: transform 120ms ease, box-shadow 160ms ease;
}
.fineprint{margin:0; color:var(--muted); font-size:12px}

.section{padding:24px 0}
.section h2{margin:0 0 14px; font-size:22px}

.js-enhanced [data-reveal="section"],
.js-enhanced [data-reveal="item"]{
  opacity: 0;
  transform: translate3d(0, 14px, 0);
}
.js-enhanced [data-reveal].is-revealed{
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 420ms ease, transform 420ms ease;
}

.grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
.card{
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(59,66,82,.20);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  padding:14px 14px 12px;
  position:relative;
  overflow:hidden;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:16px;
  padding:1px;
  background: linear-gradient(135deg, rgba(136,192,208,.0), rgba(136,192,208,.55), rgba(191,97,106,.55), rgba(136,192,208,.0));
  opacity:.0;
  transition: opacity 180ms ease;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.card:hover{
  transform: translateY(-3px);
  border-color: rgba(136,192,208,.28);
  background: rgba(59,66,82,.44);
  box-shadow: 0 16px 40px rgba(0,0,0,.42), 0 0 24px rgba(136,192,208,.10);
}
.card:hover::before{opacity:.9}
.card h3{margin:0 0 8px; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.55}

.games-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
.game-card{display:flex; flex-direction:column; gap:10px; min-height: 250px;}
.game-visual{
  height: 122px;
  border-radius: 12px;
  border:1px solid rgba(216,222,233,.2);
  background-size: cover;
  background-position: var(--focus-x, 50%) var(--focus-y, 50%);
  box-shadow: inset 0 -34px 34px rgba(46,52,64,.34);
}
.badge-selfhosted{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.72rem;
  line-height:1;
  font-weight:700;
  color:#0b1220;
  background:linear-gradient(135deg, rgba(163,190,140,.95), rgba(136,192,208,.92));
  border:1px solid rgba(229,233,240,.35);
}
.badge-selfhosted::before{content:"🖥"; font-size:.74rem; line-height:1;}

.game-gta{background-image: linear-gradient(145deg, rgba(94,129,172,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-gta-v-a.png");}
.game-enshrouded{background-image: linear-gradient(145deg, rgba(91,128,117,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-enshrouded-a.png");}
.game-rdo{background-image: linear-gradient(145deg, rgba(191,97,106,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-red-dead-online-d.png"); --focus-x: 74%; --focus-y: 77%;}
.game-7d2d{background-image: linear-gradient(145deg, rgba(208,135,112,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-7-days-to-die-d.png"); --focus-x: 51%; --focus-y: 82%;}
.game-minecraft{background-image: linear-gradient(145deg, rgba(163,190,140,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-minecraft-d.png"); --focus-x: 52%; --focus-y: 76%;}
.game-sot{background-image: linear-gradient(145deg, rgba(136,192,208,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-sea-of-thieves-b.png");}
.game-other{background-image: linear-gradient(145deg, rgba(180,142,173,.66), rgba(59,66,82,.34)), url("./img/ai-variants/game-alles-andere-b.png");}

.stat-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
.stat-card h3{
  margin: 0 0 6px;
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  color: rgba(236,239,244,.98);
}
.counter{font-variant-numeric: tabular-nums;}

.split{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.desktop-stage{align-items:stretch}
.cta-card{display:flex; flex-direction:column; gap:12px; justify-content:space-between}
.cta-card .btn{align-self:flex-start}

.banner{
  border-radius:18px;
  border:1px solid rgba(136,192,208,.20);
  background: linear-gradient(135deg, rgba(136,192,208,.09), rgba(191,97,106,.06));
  backdrop-filter: blur(10px);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.banner h2{margin-bottom:8px;}

.muted{color:var(--muted)}

.footer{
  border-top:1px solid rgba(136,192,208,.18);
  margin-top:26px;
  padding:22px 0;
  background: linear-gradient(180deg, rgba(46,52,64,.15), rgba(46,52,64,.85) 35%, rgba(46,52,64,.95));
  position:relative;
}
.footer::before{
  content:"";
  position:absolute;
  left:0; right:0; top:-1px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(136,192,208,.55), rgba(191,97,106,.45), rgba(136,192,208,.35), transparent);
}
.footerInner{display:flex; align-items:flex-start; justify-content:center; gap:12px; flex-wrap:wrap; text-align:center}
.sep{color:rgba(229,233,240,.35)}
.linkRow{display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap}
.linkRow a{color: rgba(229,233,240,.82)}
.linkRow a:hover{color: var(--frost1)}

.legal-page{max-width:780px}
.legal-card{max-width:680px; margin:0 auto}
.legal-header{margin-bottom: 12px}

/* Game motif focus tuning across breakpoints */
@media (max-width: 640px){
  .game-rdo{--focus-x: 78%; --focus-y: 80%;}
  .game-7d2d{--focus-x: 54%; --focus-y: 84%;}
  .game-minecraft{--focus-x: 56%; --focus-y: 80%;}
}

@media (min-width: 641px) and (max-width: 1023px){
  .game-rdo{--focus-x: 76%; --focus-y: 78%;}
  .game-7d2d{--focus-x: 52%; --focus-y: 83%;}
  .game-minecraft{--focus-x: 53%; --focus-y: 78%;}
}

@media (min-width: 1024px){
  .game-rdo{--focus-x: 74%; --focus-y: 76%;}
  .game-7d2d{--focus-x: 50%; --focus-y: 81%;}
  .game-minecraft{--focus-x: 50%; --focus-y: 74%;}
}

@media (min-width: 1200px){
  .container{max-width:1220px}
  .heroCenter{
    margin: 40px 0 24px;
    text-align:center;
    display:grid;
    grid-template-columns:1fr !important;
    justify-items:center;
  }
  .heroCenter > *{margin-left:auto; margin-right:auto}
  .ghostIcon.prominent{
    width: 300px;
    height: 300px;
    margin: 0 auto 20px;
  }
  .clanTitle{font-size: clamp(3.5rem, 6.8vw, 5.6rem)}
  .hero-copy{max-width: 920px; font-size:1.08rem}
  .section{padding:30px 0}
  .role-grid{grid-template-columns:repeat(3, 1fr)}
  .card{padding:18px 18px 16px}

}

@media (max-width: 920px){
  .grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .hero h1{font-size:38px}
  .banner{flex-direction:column; align-items:flex-start}
  .cta-card .btn{align-self:stretch}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
  body::before{display:none}
  .js-enhanced [data-reveal]{opacity:1 !important; transform:none !important}
  .glitch-target::before,
  .glitch-target::after{display:none !important}
}
