:root {
  --ink: #f8f4ff;
  --muted: #c3bed2;
  --pink: #f20bd8;
  --violet: #7b19d1;
  --night: #090b16;
}

@font-face {
  font-family: "Minecraft Ten";
  src: url("assets/minecraft-ten-font/MinecraftTen-VGORe.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Minecraft";
  src: url("assets/minecraft-font/MinecraftRegular-Bmg3.otf") format("opentype");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Minecraft";
  src: url("assets/minecraft-font/MinecraftBold-nMK1.otf") format("opentype");
  font-weight: 700;
  font-display: swap;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--night);
  color: var(--ink);
  font-family: "Barlow Condensed", sans-serif;
}

.hero {
  min-height: 100vh;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 30px clamp(24px, 6vw, 96px) 34px;
}

.hero__backdrop, .hero__shade { position: absolute; inset: 0; z-index: -2; }
.hero__backdrop {
  background: url("assets/optimized/landscape-1280.webp") center / cover no-repeat;
  transform: scale(1.04);
}
.hero__shade {
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 6, 14, .88) 0%, rgba(5, 6, 14, .53) 48%, rgba(5, 6, 14, .28) 100%), linear-gradient(0deg, rgba(5, 6, 14, .82), transparent 42%, rgba(5, 6, 14, .25));
}

.site-header, .hero__footer { display: flex; align-items: center; justify-content: space-between; }
.site-header { border-bottom: 1px solid rgba(255,255,255,.2); padding-bottom: 20px; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-family: "Minecraft", sans-serif; font-size: 11px; line-height: .95; letter-spacing: .08em; }
.brand img { width: 47px; height: 47px; object-fit: cover; object-position: 50% 48%; border: 1px solid rgba(255,255,255,.38); }
.brand b { color: #f83be9; font-weight: 700; }
.navigation { display: flex; align-items: center; gap: clamp(20px, 3vw, 48px); font-family: "Space Mono", monospace; font-size: 11px; }
.navigation a, .hero__footer a { color: var(--ink); text-decoration: none; transition: color .2s ease; }
.navigation a:hover, .hero__footer a:hover { color: #ff65ed; }
.discord-link { color: #ffb4fa !important; }
.login-link { padding: 9px 14px; color: white !important; background: var(--pink); box-shadow: 3px 3px 0 rgba(63, 0, 106, .8); }

.hero__content { max-width: 650px; margin: auto 0; padding: 8vh 0 12vh; animation: reveal .8s ease both; }
.eyebrow { color: #f6c2f1; font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 30px; height: 1px; margin: 0 12px 3px 0; background: var(--pink); }
h1 { margin: 18px 0 15px; font-family: "Minecraft Ten", "Minecraft", sans-serif; font-size: clamp(4.6rem, 10vw, 9rem); font-weight: 400; letter-spacing: .02em; line-height: .9; text-transform: uppercase; text-shadow: 5px 7px 0 rgba(21, 0, 46, .55); }
h1 em { color: #ff5be8; font-style: normal; }
.intro { max-width: 355px; margin: 0 0 34px; color: var(--muted); font-size: 20px; line-height: 1.2; }
.hero__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.primary-button { display: inline-flex; align-items: center; gap: 30px; border: 0; padding: 15px 17px 15px 22px; color: white; background: var(--pink); font: 700 16px "Minecraft", sans-serif; text-transform: uppercase; cursor: pointer; box-shadow: 4px 4px 0 rgba(63, 0, 106, .8); transition: transform .2s ease, background .2s ease; }
.primary-button strong { display: grid; width: 27px; height: 27px; place-items: center; background: rgba(42, 0, 58, .35); font-size: 20px; }
.primary-button:hover { background: #ff44e5; transform: translate(2px, 2px); }
.server-address { color: #f2d9f2; font: 11px "Space Mono", monospace; }
.copy-feedback { height: 16px; margin: 13px 0 0; color: #ffb4fa; font: 10px "Space Mono", monospace; }
.hero__footer { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); color: #d0cbd5; font: 10px "Space Mono", monospace; }
.hero__footer p { margin: 0; color: #aaa5b3; }
.server-state { display: flex; align-items: center; gap: 6px; color: white; }
.server-state #server-players { color: #aaa5b3; }
.player-heads { display: flex; align-items: center; gap: 3px; margin-left: 2px; }
.player-head { width: 18px; height: 18px; image-rendering: pixelated; border: 1px solid rgba(255,255,255,.45); border-radius: 2px; transition: transform .2s ease, border-color .2s ease; }
.player-head:hover { border-color: #ffb4fa; transform: translateY(-2px); }
.server-state #server-ping { color: #aaa5b3; }
.status-dot.is-offline { background: #ff8f9b; box-shadow: 0 0 12px #ff8f9b; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #b4ff77; box-shadow: 0 0 12px #b4ff77; }
.hero__footer a { color: #ffb4fa; }

.about-section {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr);
  gap: clamp(40px, 8vw, 130px);
  align-items: center;
  padding: clamp(80px, 11vw, 150px) clamp(24px, 9vw, 140px);
  background: #0b0b18;
}
.about-copy { max-width: 510px; }
.about-copy h2 { margin: 20px 0 25px; font: 400 clamp(2.5rem, 5vw, 4.6rem)/.9 "Minecraft Ten", "Minecraft", sans-serif; text-transform: uppercase; text-shadow: 4px 5px 0 rgba(57, 0, 84, .8); }
.about-copy h2 em { color: #ff5be8; font-style: normal; }
.about-copy > p:not(.eyebrow) { color: var(--muted); font-size: 19px; line-height: 1.3; }
.gallery { min-width: 0; }
.gallery-viewport { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.22); background: #161126; box-shadow: 5px 5px 0 rgba(53, 0, 82, .6); touch-action: pan-y; }
.gallery-track { display: flex; transition: transform .55s cubic-bezier(.22, .8, .25, 1); }
.gallery-slide { position: relative; min-width: 100%; height: clamp(300px, 35vw, 470px); margin: 0; overflow: hidden; }
.gallery-slide::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(7, 4, 20, .82)); pointer-events: none; }
.gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gallery-slide:hover img { transform: scale(1.04); }
.gallery-slide figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 24px; color: white; font: 14px "Space Mono", monospace; }
.gallery-control { position: absolute; z-index: 2; top: 50%; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.45); color: white; background: rgba(15, 5, 34, .72); font: 22px sans-serif; cursor: pointer; transform: translateY(-50%); transition: background .2s ease, border-color .2s ease; }
.gallery-control:hover, .gallery-control:focus-visible { border-color: #ff5be8; background: var(--pink); outline: none; }
.gallery-control--previous { left: 16px; }
.gallery-control--next { right: 16px; }
.gallery-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; }
.gallery-dots { display: flex; gap: 8px; }
.gallery-dot { width: 28px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.3); cursor: pointer; transition: background .2s ease, width .2s ease; }
.gallery-dot.is-active { width: 48px; background: #ff5be8; }
.gallery-counter { color: #aaa5b3; font: 10px "Space Mono", monospace; }
.gallery-empty { width: 100%; min-height: 300px; display: grid; place-items: center; margin: 0; padding: 24px; color: var(--muted); font: 11px "Space Mono", monospace; text-align: center; }

.feature-section { padding: clamp(85px, 12vw, 170px) clamp(24px, 6vw, 96px); color: var(--ink); background: #100b1f; }
.feature-heading { max-width: none; }
.feature-heading h2 { margin: 20px 0; font: 400 clamp(2.6rem, 5vw, 5rem)/.86 "Minecraft Ten", "Minecraft", sans-serif; text-transform: uppercase; text-shadow: 4px 5px 0 rgba(57, 0, 84, .8); }
.feature-heading h2 em { color: #ff5be8; font-style: normal; }
.feature-heading > p:not(.eyebrow) { color: var(--muted); font-size: 18px; line-height: 1.3; }
.feature-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(245px, 28vw, 390px); gap: 16px; }
.feature-widget { position: relative; min-height: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); color: white; text-decoration: none; background: #161126; box-shadow: 5px 5px 0 rgba(53, 0, 82, .6); }
.feature-widget:nth-child(1) { grid-column: span 4; }
.feature-widget:nth-child(2) { grid-column: span 2; }
.feature-widget:nth-child(3), .feature-widget:nth-child(4) { grid-column: span 3; }
.feature-widget img, .feature-widget__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.feature-widget img { object-fit: cover; transition: transform .5s ease; }
.feature-widget__shade { background: linear-gradient(0deg, rgba(10, 3, 25, .94), rgba(10, 3, 25, .08) 75%); }
.feature-widget__content { position: absolute; right: 20px; bottom: 18px; left: 20px; }
.feature-widget__content small, .feature-widget__content strong, .feature-widget__content em { display: block; }
.feature-widget__content small { color: #ffb4fa; font: 10px "Space Mono", monospace; }
.feature-widget__content strong { margin-top: 5px; font: 700 18px "Minecraft", sans-serif; text-transform: uppercase; }
.feature-widget__content em { margin-top: 7px; color: #d0cbd5; font: 10px "Space Mono", monospace; }
.feature-widget:hover img { transform: scale(1.07); }
.feature-widget:hover { border-color: #ff5be8; }
.creators-section { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: clamp(45px, 9vw, 140px); align-items: center; padding: clamp(80px, 10vw, 135px) clamp(24px, 9vw, 140px); background: #0b0b18; }
.creators-heading { max-width: 330px; }
.creators-heading h2 { margin: 20px 0; font: 400 clamp(2.5rem, 5vw, 4.6rem)/.88 "Minecraft Ten", "Minecraft", sans-serif; text-transform: uppercase; text-shadow: 4px 5px 0 rgba(57, 0, 84, .8); }
.creators-heading h2 em { color: #ff5be8; font-style: normal; }
.creators-heading > p:not(.eyebrow) { color: var(--muted); font-size: 18px; line-height: 1.3; }
.creator-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.creator-card { min-width: 0; padding: 15px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.035); box-shadow: 4px 4px 0 rgba(53, 0, 82, .55); }
.creator-card { color: inherit; text-decoration: none; }.creator-avatar { display: grid; aspect-ratio: 1; place-items: center; margin-bottom: 17px; overflow: hidden; color: #ff5be8; background: linear-gradient(135deg, rgba(242, 11, 216, .22), rgba(89, 15, 150, .7)); border: 1px dashed rgba(255,255,255,.35); font: 35px "Minecraft Ten", sans-serif; }.creator-avatar img { width: 100%; height: 100%; object-fit: cover; }
.creator-details h3 { margin: 0 0 8px; color: white; font: 700 15px "Minecraft", sans-serif; text-transform: uppercase; }
.creator-details p { min-height: 28px; margin: 0 0 14px; color: #aaa5b3; font: 9px/1.35 "Space Mono", monospace; }
.creator-platform { display: inline-block; padding: 6px 8px; color: #ffb4fa; border: 1px solid rgba(255,180,250,.35); font: 9px "Space Mono", monospace; }
.creator-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }.creator-socials a { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }.creator-socials a img { width: 17px; height: 17px; object-fit: contain; }.creator-socials a:hover, .creator-socials a:focus-visible { border-color: #ff5be8; background: rgba(242,11,216,.2); outline: none; transform: translateY(-2px); }
.site-footer { display: grid; grid-template-columns: 1fr auto auto; gap: 45px; align-items: center; padding: 42px clamp(24px, 9vw, 140px); color: #aaa5b3; background: #070711; border-top: 1px solid rgba(255,255,255,.12); }
.footer-brand { display: flex; align-items: center; gap: 13px; }
.footer-brand img { width: 42px; height: 42px; object-fit: cover; object-position: 50% 48%; border: 1px solid rgba(255,255,255,.3); }
.footer-brand strong, .footer-brand span { display: block; }
.footer-brand strong { color: white; font: 11px "Minecraft", sans-serif; letter-spacing: .06em; }
.footer-brand span { margin-top: 7px; font: 10px "Space Mono", monospace; }
.footer-links { display: flex; gap: 32px; }
.footer-links a { color: #ffb4fa; text-decoration: none; }
.footer-links a:hover { color: #ff5be8; }
.footer-links span, .footer-links small { display: block; }
.footer-links span { margin-bottom: 7px; font: 700 12px "Minecraft", sans-serif; text-transform: uppercase; }
.footer-links small { color: #aaa5b3; font: 10px "Space Mono", monospace; }
.footer-copyright { margin: 0; font: 10px "Space Mono", monospace; white-space: nowrap; }

@keyframes reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 650px) {
  .hero { padding: 20px 20px 22px; }
  .navigation a[href="#about"], .navigation a[href="#world-lore"] { display: none; }
  .navigation { gap: 0; }
  .hero__content { padding: 12vh 0 10vh; }
  h1 { font-size: clamp(4rem, 18vw, 6rem); }
  .hero__footer { align-items: flex-start; flex-direction: column; gap: 14px; }
  .hero__footer p { order: 3; }
  .about-section { grid-template-columns: 1fr; padding: 75px 20px; }
  .feature-section { padding: 75px 20px; }
  .creators-section { grid-template-columns: 1fr; padding: 75px 20px; }
  .creator-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gallery-slide { height: clamp(260px, 72vw, 390px); }
  .gallery-slide figcaption { right: 18px; bottom: 16px; left: 18px; font-size: 11px; }
  .site-footer { grid-template-columns: 1fr; gap: 26px; padding: 45px 20px; }
  .footer-links { flex-direction: column; gap: 18px; }
  .footer-copyright { order: 3; }
}

@media (max-width: 480px) {
  .feature-grid { grid-template-columns: 1fr; grid-auto-rows: minmax(240px, 70vw); }
  .feature-widget:nth-child(1), .feature-widget:nth-child(2), .feature-widget:nth-child(3), .feature-widget:nth-child(4) { grid-column: span 1; }
  .creator-grid { grid-template-columns: 1fr; }
  .creator-card { display: grid; grid-template-columns: 90px 1fr; gap: 15px; align-items: center; }
  .creator-avatar { margin: 0; }
}