/* ============================================================
   ZOMDI CRYPTO ZOMBIE — MASTER STYLESHEET
   Colors: 85% Yellow (#FFD700), 10% Red (#E8220A), 5% Black
   Background: White
   ============================================================ */

/* ── TOKENS ── */
:root {
  --Y:      #FFD700;
  --Ymid:   #FFC200;
  --Ydark:  #CC9900;
  --Ypale:  #FFFBE6;
  --Ybg:    #FFF9D6;
  --R:      #E8220A;
  --Rsoft:  #FF3B1F;
  --BLK:    #111008;
  --BLK2:   #1A1500;
  --WHT:    #FFFFFF;
  --GRAY:   #6b5e1a;
  --LGRAY:  #e8e0c0;
  --UP:     #16a34a;
  --DOWN:   #E8220A;
  --SHADOW: 0 4px 24px rgba(255,200,0,0.18);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--WHT);
  font-family: 'Barlow Condensed', 'Syne', sans-serif;
  color: var(--BLK);
  overflow-x: hidden;
  /* COPY PROTECTION */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* allow select on copy-address only */
.allow-select { user-select: all !important; -webkit-user-select: all !important; }
img { user-select:none; -webkit-user-drag:none; pointer-events:none; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--Ypale); }
::-webkit-scrollbar-thumb { background:var(--Y); border-radius:4px; }

/* ── TOP STRIPE ── */
.top-stripe {
  height: 4px;
  background: linear-gradient(90deg, var(--Ydark), var(--Y), var(--R), var(--Y), var(--Ydark));
  background-size: 400% 100%;
  animation: stripeAnim 6s linear infinite;
}
@keyframes stripeAnim {
  0%   { background-position:0%   0%; }
  100% { background-position:400% 0%; }
}

/* ============================================================
   HEADER / NAVBAR
   ============================================================ */
.site-header {
  background: var(--WHT);
  border-bottom: 2.5px solid var(--Y);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 18px rgba(255,200,0,0.13);
}
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 8px 24px;
  gap: 20px;
}

/* LOGO */
.logo-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  text-decoration: none;
}
.logo-icon {
  height: 56px;
  width: auto;
  filter: drop-shadow(0 0 8px rgba(255,215,0,0.4));
  animation: logoFloat 3.5s ease-in-out infinite;
}
.logo-name-img {
  height: 38px;
  width: auto;
}
@keyframes logoFloat {
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-4px); }
}

/* NAV */
.main-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
}
.main-nav a {
  font-family: 'Orbitron', monospace;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--BLK);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 4px;
  transition: background .18s, color .18s;
  white-space: nowrap;
}
.main-nav a:hover, .main-nav a.active {
  background: var(--Y);
  color: var(--BLK);
}

/* CONTRACT ADDRESS BOX */
.contract-box {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  border: 2px solid var(--Y);
  border-radius: 6px;
  overflow: hidden;
  background: var(--Ypale);
  max-width: 340px;
}
.contract-addr {
  font-family: 'Orbitron', monospace;
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 7px 10px;
  color: var(--BLK2);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}
.copy-btn {
  background: var(--Y);
  border: none;
  padding: 7px 14px;
  font-family: 'Orbitron', monospace;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
  color: var(--BLK);
  cursor: pointer;
  transition: background .18s;
  white-space: nowrap;
}
.copy-btn:hover { background: var(--Ymid); }
.copy-btn.copied { background: var(--R); color: var(--WHT); }

/* HAMBURGER */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
  margin-left: auto;
}
.hamburger span {
  display: block;
  width: 26px; height: 2.5px;
  background: var(--BLK);
  border-radius: 2px;
  transition: all .3s;
}
.hamburger.open span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }

/* ============================================================
   BANNER / HERO
   ============================================================ */
.hero-banner {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: hidden;
  background: #000;
  cursor: pointer;
}
.hero-banner canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-img-overlay {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .4s;
  pointer-events: none;
}
.hero-img-overlay.visible { opacity: 1; }

.hero-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 24px 48px;
  background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, transparent 100%);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.hero-text {
  max-width: 700px;
}
.hero-title {
  font-family: 'Orbitron', monospace;
  font-size: clamp(1.4rem, 3.5vw, 2.4rem);
  font-weight: 900;
  color: var(--Y);
  line-height: 1.1;
  letter-spacing: .06em;
  text-shadow: 0 2px 12px rgba(0,0,0,.6);
  margin-bottom: 8px;
  /* editable banner title */
  contenteditable: true;
}
.hero-title[contenteditable="true"]:focus {
  outline: 2px dashed var(--Y);
  border-radius: 4px;
  padding: 2px 6px;
  user-select: text;
  -webkit-user-select: text;
}
.hero-sub {
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  letter-spacing: .04em;
}
.hero-cta {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.btn-primary {
  background: var(--Y);
  color: var(--BLK);
  border: none;
  padding: 12px 28px;
  font-family: 'Orbitron', monospace;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .12em;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .2s, transform .2s;
  box-shadow: 0 0 20px rgba(255,215,0,.4);
}
.btn-primary:hover { background: var(--Ymid); transform: translateY(-2px); }
.btn-secondary {
  background: transparent;
  color: var(--WHT);
  border: 2px solid var(--R);
  padding: 10px 24px;
  font-family: 'Orbitron', monospace;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .2s, color .2s;
}
.btn-secondary:hover { background: var(--R); }

/* Banner edit hint */
.edit-hint {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255,215,0,.85);
  color: var(--BLK);
  font-family: 'Orbitron', monospace;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 4px 10px;
  border-radius: 3px;
  cursor: pointer;
  z-index: 10;
}
.edit-hint input[type="file"] { display:none; }

/* ============================================================
   SECTION WRAPPER
   ============================================================ */
.section-wrap {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 24px;
}
.section-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 40px;
}
.section-label::after {
  content: '';
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--Y), transparent);
}
.section-label h2 {
  font-family: 'Orbitron', monospace;
  font-size: clamp(.85rem, 2vw, 1.1rem);
  font-weight: 900;
  letter-spacing: .2em;
  color: var(--BLK);
  text-transform: uppercase;
  white-space: nowrap;
}
.section-label h2 span { color: var(--R); }

/* ============================================================
   ROADMAP SECTION
   ============================================================ */
.roadmap-section {
  padding: 72px 0 80px;
  background: var(--WHT);
  position: relative;
  overflow: hidden;
}
.roadmap-section::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='81'%3E%3Cpolygon points='35,2 68,19 68,62 35,79 2,62 2,19' fill='none' stroke='%23FFD700' stroke-width='0.55' opacity='0.15'/%3E%3C/svg%3E");
  pointer-events: none;
}

.roadmap-title {
  font-family: 'Orbitron', monospace;
  font-size: clamp(1.5rem, 4vw, 2.4rem);
  font-weight: 900;
  text-align: center;
  color: var(--BLK);
  letter-spacing: .1em;
  margin-bottom: 16px;
}
.roadmap-title span { color: var(--Y); }
.roadmap-sub {
  text-align: center;
  font-size: .95rem;
  color: var(--GRAY);
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 60px;
}

/* horizontal zigzag road */
.roadmap-track {
  position: relative;
  padding: 0 16px;
}

/* spine line */
.road-spine {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

.road-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
  position: relative;
  z-index: 2;
}

/* top row items */
.rd-item {
  padding-bottom: 56px;
  position: relative;
  animation: rdFadeUp .7s ease both;
}
@keyframes rdFadeUp {
  from{ opacity:0; transform:translateY(24px); }
  to  { opacity:1; transform:translateY(0); }
}
.rd-item:nth-child(1){ animation-delay:.1s; }
.rd-item:nth-child(2){ animation-delay:.22s; }
.rd-item:nth-child(3){ animation-delay:.34s; padding-top:40px; }
.rd-item:nth-child(4){ animation-delay:.46s; padding-top:40px; }

.rd-item.top   { min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; }
.rd-item.bottom{ min-height:220px; display:flex; flex-direction:column; justify-content:flex-start; }

/* badge + horizontal line */
.rd-node-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.rd-item:nth-child(even) .rd-node-row { flex-direction: row-reverse; }
.rd-item:nth-child(even) { text-align: right; }

.rd-badge {
  flex-shrink: 0;
  width: 66px; height: 66px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #FFE566, var(--Y) 55%, var(--Ydark));
  border: 3px solid rgba(255,255,255,.6);
  box-shadow: 0 0 0 6px rgba(255,215,0,.18), 0 6px 24px rgba(255,180,0,.35);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Orbitron', monospace;
  font-size: 1.7rem; font-weight: 900;
  color: var(--BLK);
  transition: transform .3s;
}
.rd-badge:hover { transform: scale(1.12); }

.rd-hline {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--Ymid), rgba(255,199,0,.1));
}
.rd-item:nth-child(even) .rd-hline {
  background: linear-gradient(270deg, var(--Ymid), rgba(255,199,0,.1));
}

/* card */
.rd-card {
  background: var(--Ypale);
  border: 1.5px solid rgba(255,215,0,.45);
  border-radius: 12px;
  padding: 20px 22px;
  position: relative;
  transition: transform .25s, box-shadow .25s;
  box-shadow: 0 3px 16px rgba(255,215,0,.1);
}
.rd-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(255,180,0,.2);
}
.rd-card::before {
  content:'';
  position:absolute; top:14px; bottom:14px; left:0;
  width:4px; background:var(--Y); border-radius:0 2px 2px 0;
}
.rd-item:nth-child(even) .rd-card::before {
  left:auto; right:0; border-radius:2px 0 0 2px;
}

.rd-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--Y);
  border-radius: 3px;
  padding: 2px 9px 2px 7px;
  font-family: 'Orbitron', monospace;
  font-size: .58rem; font-weight: 700;
  letter-spacing: .1em;
  color: var(--BLK);
  margin-bottom: 9px;
}
.rd-card-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.1rem; font-weight: 800;
  color: var(--BLK);
  margin-bottom: 8px;
}
.rd-card-body {
  font-size: .85rem; font-weight: 400;
  color: #5a4e20;
  line-height: 1.6;
  margin-bottom: 12px;
}
.rd-milestones {
  display: flex; flex-wrap: wrap; gap: 5px;
  margin-bottom: 12px;
}
.rd-item:nth-child(even) .rd-milestones { justify-content: flex-end; }
.rd-pill {
  background: rgba(255,215,0,.28);
  border: 1px solid var(--Ydark);
  border-radius: 20px;
  padding: 2px 9px;
  font-size: .66rem; font-weight: 700;
  color: #3d3000;
}
.rd-date {
  font-family: 'Orbitron', monospace;
  font-size: .78rem; font-weight: 700;
  color: var(--R);
  letter-spacing: .06em;
  display: inline-flex;
  align-items: center; gap: 5px;
}
.rd-date::before {
  content:'';
  display:inline-block;
  width:7px; height:7px;
  background:var(--R); border-radius:50%;
}

/* center connector */
.road-center-line {
  grid-column: 1/-1;
  position: relative;
  height: 4px;
  margin: 0 28px;
}
.road-center-line::after {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(90deg,
    transparent, var(--Ydark) 5%,
    var(--Y) 30%, var(--Ymid) 50%,
    var(--Y) 70%, var(--Ydark) 95%, transparent);
  border-radius:2px;
  box-shadow:0 0 12px rgba(255,215,0,.4);
}
.road-center-line::before {
  content:'';
  position:absolute;
  top:50%; left:24%;
  transform:translateY(-50%);
  width:12px; height:12px;
  background:var(--Y);
  border:2px solid var(--WHT);
  border-radius:50%;
  box-shadow:0 0 8px rgba(255,180,0,.6);
}

/* circuit side deco */
.circuit-deco {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: .4;
  pointer-events: none;
}
.circuit-deco.left { left: -10px; }
.circuit-deco.right{ right:-10px; transform:translateY(-50%) scaleX(-1); }

/* ============================================================
   TICKER SECTION
   ============================================================ */
.ticker-section {
  padding: 0;
  background: var(--WHT);
  border-top: 3px solid var(--Y);
  border-bottom: 3px solid var(--Y);
}
.ticker-header {
  background: var(--BLK);
  padding: 10px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.ticker-brand {
  display: flex; align-items: center; gap: 10px;
}
.ticker-brand-name {
  font-family: 'Orbitron', monospace;
  font-size: .8rem; font-weight: 900;
  letter-spacing: .18em;
  color: var(--Y);
  text-transform: uppercase;
}
.live-dot {
  display:flex; align-items:center; gap:6px;
  font-family:'Orbitron',monospace;
  font-size:.6rem; font-weight:700;
  color: var(--Y); letter-spacing:.12em;
}
.pulse {
  width:8px; height:8px;
  border-radius:50%; background:#22c55e;
  box-shadow:0 0 8px #22c55e;
  animation: pulseDot 1.2s ease-in-out infinite;
}
@keyframes pulseDot {
  0%,100%{opacity:1;transform:scale(1);}
  50%    {opacity:.3;transform:scale(.6);}
}
.ticker-clock {
  font-family:'Orbitron',monospace;
  font-size:.7rem; font-weight:700;
  color:rgba(255,215,0,.5); letter-spacing:.08em;
  min-width:76px; text-align:right;
}

/* main strip */
.ticker-strip-outer {
  background: var(--Y);
  overflow: hidden;
  position: relative;
}
.ticker-strip-outer::before,
.ticker-strip-outer::after {
  content:''; position:absolute;
  top:0; bottom:0; width:70px; z-index:3; pointer-events:none;
}
.ticker-strip-outer::before{ left:0;  background:linear-gradient(90deg,var(--Y),transparent); }
.ticker-strip-outer::after { right:0; background:linear-gradient(270deg,var(--Y),transparent); }

.ticker-pin {
  position:absolute; left:0; top:0; bottom:0; z-index:4;
  background:var(--BLK); padding:0 16px;
  display:flex; align-items:center; gap:7px;
  font-family:'Orbitron',monospace; font-size:.6rem;
  font-weight:900; color:var(--Y); letter-spacing:.18em;
  box-shadow:3px 0 12px rgba(0,0,0,.35); white-space:nowrap;
}

.ticker-scroll {
  display:flex; white-space:nowrap;
  padding-left:155px;
  will-change:transform;
}
.ticker-scroll:hover { animation-play-state:paused !important; }
@keyframes tickerMove {
  0%  {transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

.t-item {
  display:inline-flex; align-items:center; gap:6px;
  padding:11px 20px;
  border-right:1px solid rgba(0,0,0,.1);
  cursor:default; transition:background .15s;
}
.t-item:hover{ background:rgba(0,0,0,.06); }

.t-icon {
  width:20px; height:20px; border-radius:50%;
  object-fit:cover; flex-shrink:0;
}
.t-icon-ph {
  width:20px; height:20px; border-radius:50%;
  background:var(--BLK); color:var(--Y);
  font-family:'Orbitron',monospace; font-size:.4rem; font-weight:900;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.t-rank { font-size:.56rem; font-weight:700; color:rgba(17,16,8,.4); }
.t-sym  { font-family:'Orbitron',monospace; font-size:.65rem; font-weight:700; color:var(--BLK); letter-spacing:.05em; }
.t-price{ font-family:'Orbitron',monospace; font-size:.68rem; font-weight:700; color:var(--BLK); transition:color .3s; }
.t-price.fu { color:var(--UP); }
.t-price.fd { color:var(--DOWN); }
.t-chg { font-size:.64rem; font-weight:700; padding:2px 6px; border-radius:3px; }
.t-chg.up  { background:rgba(21,128,61,.14); color:var(--UP); }
.t-chg.dn  { background:rgba(232,34,10,.12); color:var(--DOWN); }

/* second row */
.ticker-strip-outer2 {
  background:#fff8d6; overflow:hidden; position:relative;
}
.ticker-strip-outer2::before,.ticker-strip-outer2::after{
  content:''; position:absolute; top:0; bottom:0; width:60px; z-index:3; pointer-events:none;
}
.ticker-strip-outer2::before{ left:0;  background:linear-gradient(90deg,#fff8d6,transparent); }
.ticker-strip-outer2::after { right:0; background:linear-gradient(270deg,#fff8d6,transparent); }
.ticker-pin2{
  position:absolute; left:0; top:0; bottom:0; z-index:4;
  background:rgba(17,16,8,.88); padding:0 12px;
  display:flex; align-items:center; gap:5px;
  font-family:'Orbitron',monospace; font-size:.55rem;
  font-weight:900; color:var(--Y); letter-spacing:.15em;
  box-shadow:3px 0 10px rgba(0,0,0,.25); white-space:nowrap;
}
.ticker-scroll2{
  display:flex; white-space:nowrap; padding-left:135px; will-change:transform;
}
.ticker-scroll2:hover{ animation-play-state:paused !important; }
@keyframes tickerMove2{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
.t2-item{ display:inline-flex; align-items:center; gap:5px; padding:8px 14px; border-right:1px solid rgba(0,0,0,.07); cursor:default; }
.t2-item:hover{ background:rgba(255,200,0,.14); }
.t2-rank{ font-size:.52rem; font-weight:700; color:rgba(17,16,8,.35); }
.t2-sym { font-family:'Orbitron',monospace; font-size:.58rem; font-weight:700; color:var(--BLK); }
.t2-price{ font-family:'Orbitron',monospace; font-size:.62rem; font-weight:700; color:var(--BLK); transition:color .3s; }
.t2-price.fu{ color:var(--UP); }
.t2-price.fd{ color:var(--DOWN); }
.t2-chg{ font-size:.58rem; font-weight:700; padding:1px 5px; border-radius:3px; }
.t2-chg.up{ background:rgba(21,128,61,.14); color:var(--UP); }
.t2-chg.dn{ background:rgba(232,34,10,.12); color:var(--DOWN); }

/* global stats below tickers */
.ticker-global {
  background:var(--Y);
  padding:9px 24px;
  display:flex; align-items:center; flex-wrap:wrap; gap:6px 24px;
  border-top:2px solid var(--Ydark);
}
.tg-label{ font-family:'Orbitron',monospace; font-size:.58rem; font-weight:900; letter-spacing:.2em; color:rgba(17,16,8,.5); text-transform:uppercase; }
.tg-stat{ display:flex; align-items:center; gap:5px; }
.tg-k{ font-size:.6rem; font-weight:700; letter-spacing:.08em; color:rgba(17,16,8,.55); text-transform:uppercase; }
.tg-v{ font-family:'Orbitron',monospace; font-size:.7rem; font-weight:900; color:var(--BLK); }
.tg-v.red{ color:var(--R); }

/* ============================================================
   NEWS SECTION
   ============================================================ */
.news-section {
  padding: 72px 0 80px;
  background: var(--Ybg);
  position: relative;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-card {
  background: var(--WHT);
  border: 1.5px solid rgba(255,215,0,.4);
  border-radius: 14px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s;
  box-shadow: 0 3px 14px rgba(255,200,0,.1);
  display: flex; flex-direction: column;
}
.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(255,180,0,.2);
}
.news-thumb {
  width:100%; height:180px;
  background: linear-gradient(135deg, var(--Y), var(--Ydark));
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; position: relative;
}
.news-thumb .thumb-icon {
  font-size: 3.5rem;
  opacity: .4;
}
.news-thumb-img {
  width:100%; height:100%; object-fit:cover;
}
.news-badge {
  position:absolute; top:12px; left:12px;
  background:var(--R); color:var(--WHT);
  font-family:'Orbitron',monospace; font-size:.58rem; font-weight:700;
  letter-spacing:.12em; padding:3px 10px; border-radius:3px;
  text-transform:uppercase;
}
.news-body {
  padding: 20px;
  flex: 1; display: flex; flex-direction: column;
}
.news-meta {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 10px;
}
.news-cat {
  font-family:'Orbitron',monospace; font-size:.58rem; font-weight:700;
  letter-spacing:.12em; color:var(--Ydark); text-transform:uppercase;
}
.news-date {
  font-size:.7rem; color:#aaa; font-weight:600; margin-left:auto;
}
.news-title {
  font-family:'Syne',sans-serif; font-size:1.05rem; font-weight:800;
  color:var(--BLK); margin-bottom:10px; line-height:1.35;
}
.news-excerpt {
  font-size:.82rem; color:var(--GRAY); line-height:1.6;
  font-weight:400; flex:1; margin-bottom:16px;
}
.news-read-more {
  font-family:'Orbitron',monospace; font-size:.62rem; font-weight:700;
  letter-spacing:.1em; color:var(--R); text-transform:uppercase;
  text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  transition:gap .2s;
}
.news-read-more:hover{ gap:10px; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: var(--BLK);
  padding: 56px 24px 0;
}
.footer-inner {
  max-width: 1300px;
  margin: 0 auto;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,215,0,.15);
}
.footer-brand {}
.footer-logo-wrap {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 16px;
}
.footer-logo-icon { height: 48px; filter:drop-shadow(0 0 8px rgba(255,215,0,.35)); }
.footer-logo-name { height: 28px; }
.footer-tagline {
  font-size:.85rem; color:rgba(255,255,255,.55);
  font-weight:400; line-height:1.6; max-width:280px;
  margin-bottom:20px;
}
.footer-contract {
  display:flex; align-items:center; gap:0;
  border:1px solid rgba(255,215,0,.3); border-radius:5px;
  overflow:hidden; max-width:320px;
  background:rgba(255,215,0,.06);
}
.footer-contract-addr {
  font-family:'Orbitron',monospace; font-size:.52rem; font-weight:600;
  padding:6px 10px; color:rgba(255,255,255,.6);
  flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  user-select:text; -webkit-user-select:text;
}
.footer-copy-btn {
  background:var(--Y); border:none; padding:6px 12px;
  font-family:'Orbitron',monospace; font-size:.58rem; font-weight:900;
  color:var(--BLK); cursor:pointer; white-space:nowrap; transition:background .18s;
}
.footer-copy-btn:hover{ background:var(--Ymid); }

.footer-col h4 {
  font-family:'Orbitron',monospace; font-size:.72rem; font-weight:900;
  letter-spacing:.18em; color:var(--Y); text-transform:uppercase;
  margin-bottom:18px;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a {
  font-size:.82rem; font-weight:400; color:rgba(255,255,255,.55);
  text-decoration:none; letter-spacing:.03em; transition:color .18s;
}
.footer-col ul li a:hover { color:var(--Y); }

.social-links {
  display:flex; flex-wrap:wrap; gap:8px; margin-top:4px;
}
.social-link {
  width:36px; height:36px;
  background:rgba(255,215,0,.1);
  border:1px solid rgba(255,215,0,.2);
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  color:var(--Y); font-size:.9rem;
  text-decoration:none; transition:background .18s;
}
.social-link:hover{ background:var(--Y); color:var(--BLK); }

.footer-bottom {
  max-width:1300px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px;
  padding:18px 0;
}
.footer-bottom p {
  font-family:'Orbitron',monospace; font-size:.6rem;
  color:rgba(255,215,0,.3); letter-spacing:.14em;
}
.footer-bottom .disclaimer {
  font-size:.62rem; color:rgba(255,255,255,.25);
  font-weight:400; letter-spacing:.04em;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:900px){
  .header-inner{ flex-wrap:wrap; }
  .main-nav{
    display:none; flex-direction:column; gap:4px;
    position:absolute; top:100%; left:0; right:0;
    background:var(--WHT); border-bottom:2px solid var(--Y);
    padding:12px 20px; z-index:999;
  }
  .main-nav.open{ display:flex; }
  .main-nav a{ font-size:.72rem; padding:9px 12px; }
  .hamburger{ display:flex; }
  .contract-box{ max-width:100%; width:100%; }
  .road-grid{ grid-template-columns:1fr; }
  .rd-item{ padding-bottom:32px; }
  .rd-item.top,.rd-item.bottom{ min-height:unset; justify-content:flex-start; }
  .rd-item:nth-child(even){ text-align:left; }
  .rd-item:nth-child(even) .rd-node-row{ flex-direction:row; }
  .rd-item:nth-child(even) .rd-milestones{ justify-content:flex-start; }
  .rd-item:nth-child(even) .rd-card::before{ left:0; right:auto; border-radius:0 2px 2px 0; }
  .rd-hline{ display:none; }
  .road-center-line{ display:none; }
  .circuit-deco{ display:none; }
  .news-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero-banner{ height:360px; }
  .hero-content{ padding:16px 20px; }
}
@media(max-width:600px){
  .header-inner{ padding:8px 14px; }
  .logo-icon{ height:42px; }
  .logo-name-img{ height:28px; }
  .hero-banner{ height:260px; }
  .news-grid{ grid-template-columns:1fr; }
}
