:root {
  --bg: #080808;
  --panel: #101010;
  --panel-2: #151515;
  --border: #2b2b2b;

  --text: #f3f3f3;
  --muted: #969696;

  --gold: #d5a84c;
  --green: #3fd67a;
  --red: #e45b5b;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top, #17130b 0, #080808 38%, #050505 100%);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

.page-shell {
  width: min(1500px, calc(100% - 40px));
  margin: 0 auto;
  padding: 60px 0 100px;
}

.hero {
  margin-bottom: 40px;
}

.eyebrow {
  color: var(--gold);
  letter-spacing: .24em;
  font-size: 12px;
  font-weight: 800;
  margin: 0 0 10px;
}

.hero h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  letter-spacing: .03em;
}

.hero-copy {
  margin-top: 12px;
  max-width: 700px;
  color: var(--muted);
  font-size: 16px;
}

.server-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.server-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 28%),
    var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

.server-card-head {
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--border);
}

.server-topline {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 14px rgba(63,214,122,.7);
}

.status.offline .status-dot {
  background: var(--red);
  box-shadow: 0 0 14px rgba(228,91,91,.55);
}

.region {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.server-name {
  margin: 0;
  font-size: 25px;
}

.server-hostname {
  margin-top: 6px;
  color: var(--gold);
  font-size: 13px;
}

.server-main {
  padding: 22px;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 22px;
}

.stat-box {
  background: var(--panel-2);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 12px;
  min-width: 0;
}

.stat-label {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 7px;
}

.stat-value {
  display: block;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.graph-shell {
  background: #090909;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 14px 8px;
}

.graph-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 10px;
}

.graph-title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.peak-label {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
}

.chart-wrap {
  height: 210px;
}

.range-tabs {
  display: flex;
  gap: 7px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.range-btn {
  appearance: none;
  border: 1px solid var(--border);
  background: #111;
  color: var(--muted);
  padding: 7px 11px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.range-btn:hover,
.range-btn.active {
  color: #111;
  background: var(--gold);
  border-color: var(--gold);
}

.card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 11px;
}

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

.error {
  color: #ff8787;
}

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

@media (max-width: 700px) {
  .page-shell {
    width: min(100% - 22px, 1500px);
    padding-top: 34px;
  }

  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .chart-wrap {
    height: 180px;
  }
}

/* =========================================================
   ECHO COMPACT SERVER CARDS
   Main-site sized cards with GameTracker-style mini history
   ========================================================= */

.server-grid {
    gap: 16px;
}

/* Overall card */
.server-card {
    border-radius: 2px;
}

/* Header area */
.server-card-header {
    padding: 22px 24px 18px;
}

.server-card h2,
.server-card .server-name {
    font-size: 25px;
    line-height: 1.05;
    margin-bottom: 6px;
}

/* Current server info */
.server-stats,
.server-meta {
    padding: 16px 24px;
    gap: 10px;
}

/* Players / Map / Mode / Ping boxes */
.stat-box {
    min-width: 0;
    padding: 10px 12px;
    min-height: 62px;
}

.stat-box .label,
.stat-label {
    font-size: 10px;
    letter-spacing: 1.4px;
}

.stat-box .value,
.stat-value {
    font-size: 14px;
    line-height: 1.15;

    /* Don't chop map names into "Dc Weapon Bu..." */
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: normal;
}

/* Compact graph container */
.chart-wrap,
.history-chart,
.chart-panel {
    margin: 8px 24px 0;
    padding: 12px 14px 10px;
    min-height: 0;
}

/* Chart itself */
.chart-container {
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
}

.chart-container canvas,
.chart-wrap canvas,
.history-chart canvas,
.chart-panel canvas {
    max-height: 145px !important;
}

/* PLAYERS / PEAK heading above chart */
.chart-header {
    margin-bottom: 5px;
    font-size: 11px;
}

/* 24H / 7D / 30D / 1Y */
.range-buttons,
.chart-ranges {
    margin-top: 7px;
    gap: 6px;
}

.range-buttons button,
.chart-ranges button,
.range-btn {
    padding: 6px 10px;
    min-width: 40px;
    font-size: 10px;
}

/* Updated / all-time peak */
.server-footer,
.card-footer {
    padding: 10px 24px 14px;
    font-size: 10px;
}

/* Desktop: four cards across, like the real ECHO site */
@media (min-width: 1200px) {
    .servers-grid,
    .server-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .server-card-header {
        padding: 20px 18px 16px;
    }

    .server-stats,
    .server-meta {
        padding: 14px 18px;
    }

    .chart-wrap,
    .history-chart,
    .chart-panel {
        margin-left: 18px;
        margin-right: 18px;
    }

    .server-footer,
    .card-footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .server-card h2,
    .server-card .server-name {
        font-size: 21px;
    }

    .stat-box {
        padding: 8px;
    }

    .stat-box .value,
    .stat-value {
        font-size: 12px;
    }

    .chart-container {
        height: 125px !important;
        min-height: 125px !important;
        max-height: 125px !important;
    }

    .chart-container canvas,
    .chart-wrap canvas,
    .history-chart canvas,
    .chart-panel canvas {
        max-height: 125px !important;
    }
}

/* Tablet */
@media (max-width: 1199px) {
    .servers-grid,
    .server-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 700px) {
    .servers-grid,
    .server-grid {
        grid-template-columns: 1fr;
    }
}


/* Clean homepage-style live data rows */

.server-info-lines {
    margin-bottom: 16px;
}

.info-line {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 10px;

    min-height: 35px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.info-line:first-child {
    border-top: 1px solid rgba(255,255,255,.08);
}

.info-label {
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.info-value {
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    text-align: right;

    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}


/* Final compact chart sizing */

.chart-wrap {
    height: 165px !important;
    min-height: 165px !important;
    max-height: 165px !important;
}

.chart-wrap canvas {
    height: 165px !important;
    max-height: 165px !important;
}

.graph-shell {
    padding-top: 12px;
    padding-bottom: 8px;
}

@media (min-width: 1200px) {
    .chart-wrap {
        height: 165px !important;
        min-height: 165px !important;
        max-height: 165px !important;
    }

    .chart-wrap canvas {
        height: 165px !important;
        max-height: 165px !important;
    }
}


/* Real ECHO server-name sizing */

.server-name {
    overflow-wrap: anywhere;
}

.address-value {
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 0;
}

@media (min-width: 1200px) {
    .server-name {
        font-size: 18px !important;
        line-height: 1.15;
    }
}


/* ECHO server identity */

.server-name {
    color: #e0ad3e !important;
    margin-bottom: 5px !important;
}

.server-address {
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 600;
    color: #8f8f8f;
    letter-spacing: .02em;
}


/* Compact game identification under server IP */
.server-game-label {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    color: #b99a5a !important;
    opacity: .85 !important;
    text-transform: uppercase;
}


/* Final server header spacing */
.server-address {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}

.server-game-label {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
}


/* Final server header spacing */
.server-address {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}

.server-game-label {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
}


/* Center chart range buttons */
.range-tabs {
  justify-content: center;
}


/* =========================================================
   ECHO COMMUNITY STATS NAVIGATION
   ========================================================= */

.stats-nav-section {
  margin-top: 58px;
}

.stats-nav-head {
  margin-bottom: 22px;
}

.stats-nav-head h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: .03em;
}

.stats-nav-copy {
  margin: 10px 0 0;
  color: var(--muted);
  max-width: 720px;
}

.stats-nav-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.stats-nav-card {
  position: relative;
  min-height: 280px;
  overflow: hidden;

  border: 1px solid var(--border);
  border-radius: 4px;

  background:
    linear-gradient(135deg, #171717, #090909);

  color: var(--text);
  text-decoration: none;

  display: flex;
  align-items: flex-end;

  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.stats-nav-card:hover {
  transform: translateY(-3px);
  border-color: rgba(213,168,76,.7);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}

.stats-nav-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.08) 0%,
      rgba(0,0,0,.35) 45%,
      rgba(0,0,0,.92) 100%
    );
}

.stats-nav-card-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 24px;
}

.stats-nav-kicker {
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: 6px;
}

.stats-nav-card h3 {
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.05;
}

.stats-nav-card p {
  margin: 0 0 18px;
  color: #b5b5b5;
  font-size: 13px;
  line-height: 1.45;
  max-width: 360px;
}

.stats-nav-link {
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

/* temporary card identities until artwork is added */

.stats-nav-dc {
  background:
    linear-gradient(135deg, #292215, #0a0a0a 68%);
}

.stats-nav-1942 {
  background:
    linear-gradient(135deg, #242424, #090909 68%);
}

.stats-nav-bfv {
  background:
    linear-gradient(135deg, #1c2417, #080808 68%);
}

@media (max-width: 950px) {
  .stats-nav-grid {
    grid-template-columns: 1fr;
  }

  .stats-nav-card {
    min-height: 220px;
  }
}


/* =========================================================
   ECHO MAIN SITE NAVIGATION
   ========================================================= */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;

  background: rgba(8, 8, 8, .94);
  backdrop-filter: blur(12px);

  border-bottom: 1px solid var(--border);
}

.site-header-inner {
  width: min(100% - 40px, 1500px);
  min-height: 72px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  gap: 34px;
}

.site-logo {
  flex: 0 0 auto;
  text-decoration: none;
}

.site-logo-mark {
  color: #fff;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: .08em;
  white-space: nowrap;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.main-nav a,
.forum-link {
  color: #aaa;
  text-decoration: none;

  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;

  transition:
    color .15s ease,
    opacity .15s ease;
}

.main-nav a:hover,
.forum-link:hover {
  color: #fff;
}

.main-nav a:focus-visible,
.forum-link:focus-visible,
.site-logo:focus-visible {
  outline: 1px solid var(--gold);
  outline-offset: 5px;
}

.forum-link {
  margin-left: auto;
  color: var(--gold);
}

.forum-link span {
  margin-left: 4px;
  font-size: 13px;
}

@media (max-width: 900px) {

  .site-header-inner {
    width: min(100% - 24px, 1500px);
    min-height: 64px;
    gap: 20px;
  }

  .main-nav {
    gap: 16px;
  }

  .main-nav a,
  .forum-link {
    font-size: 9px;
    letter-spacing: .09em;
  }

}

@media (max-width: 700px) {

  .site-header {
    position: relative;
  }

  .site-header-inner {
    min-height: auto;
    padding: 16px 0;

    flex-wrap: wrap;
    gap: 16px;
  }

  .site-logo {
    width: 100%;
  }

  .main-nav {
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .forum-link {
    margin-left: auto;
  }

}


/* Forum is a normal primary navigation item */
.forum-link {
  margin-left: 0;
  color: #aaa;
}

.forum-link:hover {
  color: #fff;
}


/* Push the entire primary navigation to the right */
.main-nav {
  margin-left: auto;
}

/* Forum is a normal primary navigation item */
.forum-link {
  margin-left: 0;
  color: #aaa;
}

.forum-link:hover {
  color: #fff;
}


/* =========================================================
   ECHO LANDING PAGE
   ========================================================= */

.landing-page {
  width: min(100% - 52px, 1500px);
  margin: 0 auto;
}


/* =========================================================
   HERO
   ========================================================= */

.landing-hero {
  min-height: 610px;

  display: flex;
  align-items: center;

  padding: 90px 0 100px;

  position: relative;
}

.landing-hero::after {
  content: "";
  position: absolute;

  right: 4%;
  top: 18%;
  width: 360px;
  height: 360px;

  border: 1px solid rgba(214, 164, 58, .08);
  border-radius: 50%;

  box-shadow:
    0 0 0 70px rgba(214, 164, 58, .025),
    0 0 0 140px rgba(214, 164, 58, .015);

  pointer-events: none;
}

.landing-hero-copy {
  max-width: 1000px;
  position: relative;
  z-index: 1;
}

.landing-hero h1 {
  margin: 14px 0 24px;

  font-size: clamp(62px, 8vw, 116px);
  line-height: .88;
  letter-spacing: -.055em;
  font-weight: 950;
}

.landing-hero h1 span {
  color: var(--gold);
}

.landing-lead {
  max-width: 760px;

  margin: 0;

  color: var(--muted);

  font-size: 17px;
  line-height: 1.7;
}

.landing-actions {
  display: flex;
  align-items: center;
  gap: 12px;

  margin-top: 34px;
}

.landing-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;
  padding: 0 20px;

  border: 1px solid var(--gold);

  background: var(--gold);
  color: #080808;

  text-decoration: none;

  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;

  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease;
}

.landing-button:hover {
  background: #fff;
  border-color: #fff;
}

.landing-button.secondary {
  background: transparent;
  color: #aaa;
  border-color: #333;
}

.landing-button.secondary:hover {
  color: #fff;
  border-color: #777;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;

  margin-bottom: 28px;
}

.section-heading h2 {
  margin: 8px 0 0;

  font-size: clamp(32px, 4vw, 52px);
  line-height: .95;
  letter-spacing: -.04em;
  font-weight: 950;
}

.section-heading > p {
  max-width: 420px;

  margin: 0 0 3px;

  color: var(--muted);

  font-size: 13px;
  line-height: 1.6;
}


/* =========================================================
   LIVE SERVERS
   ========================================================= */

.landing-servers {
  padding: 20px 0 105px;
}

.landing-servers > .server-grid {
  margin-top: 0;
}


/* =========================================================
   EXPLORE ECHO
   ========================================================= */

.explore-section {
  padding: 95px 0 110px;

  border-top: 1px solid var(--border);
}

.explore-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 1px;

  border: 1px solid var(--border);

  background: var(--border);
}

.explore-card {
  min-height: 190px;

  display: grid;
  grid-template-columns: 48px 1fr 32px;
  gap: 20px;
  align-items: start;

  padding: 30px;

  background: #0b0b0b;

  color: inherit;
  text-decoration: none;

  transition:
    background .18s ease,
    padding-left .18s ease;
}

.explore-card:hover {
  background: #111;
  padding-left: 35px;
}

.explore-number {
  color: var(--gold);

  font-size: 11px;
  font-weight: 950;
  letter-spacing: .1em;
}

.explore-card h3 {
  margin: 0 0 10px;

  color: #fff;

  font-size: 22px;
  line-height: 1;

  letter-spacing: -.02em;
}

.explore-card p {
  max-width: 430px;

  margin: 0;

  color: var(--muted);

  font-size: 13px;
  line-height: 1.6;
}

.explore-arrow {
  align-self: end;

  color: var(--gold);

  font-size: 22px;
  line-height: 1;

  transition: transform .18s ease;
}

.explore-card:hover .explore-arrow {
  transform: translateX(5px);
}


/* =========================================================
   ABOUT
   ========================================================= */

.landing-about {
  display: grid;
  grid-template-columns: .7fr 1.8fr;
  gap: 80px;

  padding: 115px 0 125px;

  border-top: 1px solid var(--border);
}

.about-label {
  padding-top: 8px;
}

.about-copy {
  max-width: 850px;
}

.about-copy h2 {
  margin: 0 0 28px;

  font-size: clamp(42px, 5.5vw, 76px);
  line-height: .92;
  letter-spacing: -.05em;
  font-weight: 950;
}

.about-copy h2 span {
  color: var(--gold);
}

.about-copy p {
  max-width: 760px;

  margin: 0 0 18px;

  color: var(--muted);

  font-size: 16px;
  line-height: 1.8;
}

.about-copy p:last-child {
  margin-bottom: 0;

  color: #888;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  border-top: 1px solid var(--border);

  background: #070707;
}

.site-footer-inner {
  width: min(100% - 52px, 1500px);
  min-height: 82px;

  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;

  color: #666;

  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}


/* =========================================================
   LANDING RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .landing-hero {
    min-height: 500px;
    padding: 70px 0 80px;
  }

  .landing-hero::after {
    display: none;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .explore-grid {
    grid-template-columns: 1fr;
  }

  .landing-about {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 85px 0 95px;
  }

}


@media (max-width: 700px) {

  .landing-page {
    width: min(100% - 24px, 1500px);
  }

  .landing-hero {
    min-height: 470px;
    padding: 60px 0 70px;
  }

  .landing-hero h1 {
    font-size: clamp(48px, 14vw, 76px);
  }

  .landing-lead {
    font-size: 15px;
  }

  .landing-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .landing-button {
    width: 100%;
  }

  .explore-card {
    min-height: 165px;
    padding: 24px;
  }

  .explore-card:hover {
    padding-left: 24px;
  }

  .site-footer-inner {
    width: min(100% - 24px, 1500px);

    min-height: 100px;

    align-items: flex-start;
    justify-content: center;
    flex-direction: column;

    gap: 8px;
  }

}


/* =========================================================
   ECHO LANDING PAGE
   ========================================================= */

.landing-page {
  width: min(100% - 52px, 1500px);
  margin: 0 auto;
}

.landing-hero {
  min-height: 520px;
  display: flex;
  align-items: center;
  padding: 90px 0 100px;
  border-bottom: 1px solid var(--border);
}

.landing-hero-copy {
  max-width: 1050px;
}

.landing-hero h1 {
  margin: 12px 0 24px;
  font-size: clamp(64px, 8vw, 118px);
  line-height: .88;
  letter-spacing: -.055em;
}

.landing-hero h1 span {
  color: #fff;
}

.landing-lead {
  max-width: 900px;
  margin: 0 0 30px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.landing-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.landing-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;
  padding: 0 20px;

  background: var(--gold);
  color: #080808;

  border: 1px solid var(--gold);
  text-decoration: none;

  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;

  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease;
}

.landing-button:hover {
  background: #fff;
  border-color: #fff;
  color: #080808;
}

.landing-button.secondary {
  background: transparent;
  color: #aaa;
  border-color: var(--border);
}

.landing-button.secondary:hover {
  color: #fff;
  border-color: #fff;
}


/* =========================================================
   LANDING SECTIONS
   ========================================================= */

.landing-servers,
.explore-section {
  padding: 90px 0;
  border-bottom: 1px solid var(--border);
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 36px;
}

.section-heading h2 {
  margin: 8px 0 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .95;
  letter-spacing: -.04em;
}

.section-heading > p {
  max-width: 500px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}


/* =========================================================
   EXPLORE ECHO
   ========================================================= */

.explore-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}

.explore-card {
  position: relative;

  min-height: 300px;
  padding: 24px;

  display: flex;
  flex-direction: column;

  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.025),
      transparent 55%
    );

  color: #fff;
  text-decoration: none;

  transition:
    background .18s ease,
    transform .18s ease;
}

.explore-card:hover {
  background: rgba(255,255,255,.045);
  transform: translateY(-3px);
}

.explore-number {
  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
}

.explore-card > div {
  margin-top: auto;
}

.explore-card h3 {
  margin: 0 0 12px;
  font-size: 22px;
  letter-spacing: -.02em;
}

.explore-card p {
  margin: 0;
  max-width: 230px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.explore-arrow {
  margin-top: 25px;
  color: var(--gold);
  font-size: 20px;
  font-weight: 700;
}


/* =========================================================
   ABOUT ECHO
   ========================================================= */

.landing-about {
  display: grid;
  grid-template-columns: 280px minmax(0, 800px);
  gap: 80px;

  padding: 110px 0 130px;
}

.about-copy h2 {
  margin: 0 0 30px;

  font-size: clamp(42px, 5vw, 72px);
  line-height: .95;
  letter-spacing: -.045em;
}

.about-copy h2 span {
  color: var(--gold);
}

.about-copy p {
  max-width: 760px;
  margin: 0 0 20px;

  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  border-top: 1px solid var(--border);
  padding: 28px 0;
}

.site-footer-inner {
  width: min(100% - 52px, 1500px);
  margin: 0 auto;

  display: flex;
  justify-content: space-between;
  gap: 20px;

  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
  .explore-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .landing-about {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 700px) {
  .landing-page {
    width: min(100% - 24px, 1500px);
  }

  .landing-hero {
    min-height: 440px;
    padding: 65px 0 75px;
  }

  .landing-hero h1 {
    font-size: clamp(52px, 15vw, 78px);
  }

  .landing-lead {
    font-size: 15px;
  }

  .landing-servers,
  .explore-section {
    padding: 65px 0;
  }

  .section-heading {
    display: block;
  }

  .section-heading > p {
    margin-top: 16px;
  }

  .explore-grid {
    grid-template-columns: 1fr;
  }

  .explore-card {
    min-height: 230px;
  }

  .landing-about {
    padding: 75px 0 90px;
  }

  .site-footer-inner {
    width: min(100% - 24px, 1500px);
    flex-direction: column;
  }
}

/* =========================================================
   FINAL ECHO FOOTER
   ========================================================= */

.site-footer-credit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
  text-align: right;
}

.site-footer-credit span:first-child {
  color: #fff;
}

.site-footer-credit .footer-year {
  color: var(--muted);
}


/* MOBILE */

@media (max-width: 700px) {

  .site-footer-credit {
    align-items: flex-start;
    text-align: left;
  }

}

/* =========================================================
   ECHO HEADER BRAND LOCKUP
   ========================================================= */

.site-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  line-height: 1;
}

.site-logo-subtitle {
  margin-top: 4px;

  color: var(--muted);

  font-size: 7px;
  font-weight: 900;
  letter-spacing: .19em;
  line-height: 1;
}

/* ECHO BRAND LOCKUP — FINAL */
.site-logo {
  align-items: center;
}

.site-logo-subtitle {
  margin-top: 5px;
  font-size: 8px;
  letter-spacing: .16em;
  text-align: center;
}

/* =========================================================
   ECHO HERO LOGO
   ========================================================= */

.landing-hero-logo {
  position: absolute;

  right: 4%;
  top: 50%;

  width: min(430px, 34vw);
  height: auto;

  transform: translateY(-50%);

  opacity: .22;

  object-fit: contain;

  pointer-events: none;

  filter: grayscale(.15);

  transition:
    opacity .6s ease,
    transform .8s ease;
}


/* subtle atmospheric movement */

.landing-hero:hover .landing-hero-logo {
  opacity: .28;
  transform: translateY(-50%) scale(1.015);
}


/* keep the logo from fighting the headline */

@media (max-width: 900px) {

  .landing-hero-logo {
    width: 330px;
    right: -25px;
    opacity: .14;
  }

}


@media (max-width: 700px) {

  .landing-hero-logo {
    width: 260px;
    right: -45px;
    top: 32%;
    opacity: .10;
  }

}


/* =========================================================
   HERO — ECHO INSIGNIA
   ========================================================= */

.landing-hero {
  position: relative;
  overflow: hidden;
}


/* Replace the old decorative rings with the actual ECHO mark */

.landing-hero::after {
  display: none;
}

.landing-hero-logo {
  position: absolute;

  right: 1%;
  top: 50%;

  width: min(560px, 42vw);
  height: auto;

  transform: translateY(-50%);

  opacity: .17;

  object-fit: contain;
  pointer-events: none;

  filter: grayscale(.2);

  transition:
    opacity .7s ease,
    transform .9s ease;
}


/* very subtle interaction */

.landing-hero:hover .landing-hero-logo {
  opacity: .21;
  transform: translateY(-50%) scale(1.015);
}


/* tablet */

@media (max-width: 900px) {

  .landing-hero-logo {
    width: 420px;
    right: -70px;
    opacity: .12;
  }

}


/* phone */

@media (max-width: 700px) {

  .landing-hero-logo {
    width: 300px;
    right: -75px;
    top: 28%;
    opacity: .08;
  }

}


/* =========================================================
   HOMEPAGE — RESTORE CLEAN HERO TREATMENT
   ========================================================= */

.landing-hero-logo {
  display: none;
}

.landing-hero::after {
  display: block;
}


/* Offset anchor scrolling so sticky header does not cover server titles */
#server-grid {
  scroll-margin-top: 110px;
}

/* Keep anchor destinations below the sticky ECHO navigation */
html {
  scroll-padding-top: 150px;
}

#live-servers {
  scroll-margin-top: 145px;
}


/* =========================================================
   HOMEPAGE — CENTERED OPENING EXPERIMENT
   ========================================================= */

.landing-hero {
  min-height: 610px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 90px 0 100px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.landing-hero::after {
  display: none !important;
}

.landing-hero-logo {
  display: none !important;
}

.landing-hero-copy {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.landing-hero .eyebrow {
  text-align: center;
}

.landing-hero h1 {
  margin: 18px auto 28px;
  font-size: clamp(64px, 7.5vw, 116px);
  line-height: .88;
  letter-spacing: -.055em;
  font-weight: 950;
}

.landing-hero h1 span {
  color: var(--gold);
}

.landing-hero .landing-lead {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.landing-hero .landing-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
}


/* Mobile */

@media (max-width: 700px) {

  .landing-hero {
    min-height: 560px;
    padding: 70px 0 80px;
  }

  .landing-hero h1 {
    font-size: clamp(46px, 13vw, 72px);
  }

  .landing-hero .landing-lead {
    font-size: 15px;
  }

  .landing-hero .landing-lead br {
    display: none;
  }

  .landing-hero .landing-actions {
    align-items: stretch;
    flex-direction: column;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }

}



/* =========================================================
   HOMEPAGE — CENTERED OPENING V2
   ========================================================= */

.landing-hero h1 {
  font-size: clamp(60px, 6.8vw, 104px);
  line-height: .9;
  margin: 18px auto 24px;
}

.landing-hero .landing-lead {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.65;
}

.landing-hero .landing-actions {
  margin-top: 28px;
}


@media (max-width: 700px) {

  .landing-hero h1 {
    font-size: clamp(44px, 12vw, 68px);
  }

}



/* =========================================================
   HOMEPAGE — CENTERED OPENING V3
   Eyebrow emphasis
   ========================================================= */

.landing-hero .eyebrow {
  font-size: 15px;
  font-weight: 950;
  letter-spacing: .18em;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 22px;
}

.landing-hero h1 {
  margin-top: 0;
}

@media (max-width: 700px) {
  .landing-hero .eyebrow {
    font-size: 11px;
    letter-spacing: .14em;
    margin-bottom: 18px;
  }
}


/* HOMEPAGE — CENTERED OPENING V4 */
.landing-hero .eyebrow {
  font-size: 18px;
  font-weight: 950;
  letter-spacing: .18em;
  line-height: 1.2;
  margin-bottom: 22px;
}

@media (max-width: 700px) {
  .landing-hero .eyebrow {
    font-size: 12px;
  }
}


/* HOMEPAGE — FOUR ACTION TEST */
.landing-hero .landing-actions {
  flex-wrap: wrap;
  justify-content: center;
}

.landing-hero .landing-button {
  min-width: 150px;
}

@media (max-width: 700px) {
  .landing-hero .landing-button {
    width: 100%;
  }
}


/* HOMEPAGE — TWO PRIMARY ACTIONS */
.landing-hero .landing-actions .landing-button:nth-child(2) {
  background: var(--gold);
  color: #080808;
  border-color: var(--gold);
}

.landing-hero .landing-actions .landing-button:nth-child(2):hover {
  background: #fff;
  border-color: #fff;
  color: #080808;
}


/* HOMEPAGE — ALL FOUR GOLD TEST */
.landing-hero .landing-actions .landing-button,
.landing-hero .landing-actions .landing-button.secondary {
  background: var(--gold);
  color: #080808;
  border-color: var(--gold);
}

.landing-hero .landing-actions .landing-button:hover,
.landing-hero .landing-actions .landing-button.secondary:hover {
  background: #fff;
  color: #080808;
  border-color: #fff;
}


/* LIVE SERVERS BUTTON — DEEPER SCROLL TARGET */
.live-server-anchor {
  scroll-margin-top: 140px;
  height: 1px;
}


/* LIVE SERVERS BUTTON — slightly deeper landing */
.live-server-anchor {
  scroll-margin-top: 90px;
}


/* LIVE SERVERS BUTTON — deeper landing */
.live-server-anchor {
  scroll-margin-top: 30px;
}


/* LIVE SERVERS BUTTON — final landing tune */
.live-server-anchor {
  position: relative;
  top: 85px;
  scroll-margin-top: 0;
}


/* LIVE SERVERS BUTTON — final landing tune */
.live-server-anchor {
  position: relative;
  top: 70px;
  scroll-margin-top: 0;
}


