
/* Firetorn Site Starter — Retro-modern styling (theme-friendly) */
:root{
  --ft-bg: #0b0b0b;
  --ft-panel: rgba(16,16,16,.62);
  --ft-text: #eae6dc;
  --ft-muted: #b4ad9f;
  --ft-gold: #c88a2a;
  --ft-line: rgba(200,138,42,.18);
  --ft-shadow: 0 18px 60px rgba(0,0,0,.45);
  --ft-radius: 18px;
}

.ft-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 12px;
}

.ft-hero{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items: stretch;
}

.ft-hero-left, .ft-hero-right{
  background: linear-gradient(180deg, rgba(16,16,16,.75), rgba(12,12,12,.75));
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ft-radius);
  box-shadow: var(--ft-shadow);
}

.ft-hero-left{ padding: 22px; }
.ft-hero-right{ padding: 16px; }

.ft-mark{
  padding: 16px;
  border-radius: 14px;
  background: radial-gradient(600px 250px at 35% 30%, rgba(200,138,42,.16), transparent 60%),
              rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
}

.ft-logo{
  width: min(520px, 100%);
  height: auto;
  display:block;
  filter: drop-shadow(0 18px 50px rgba(0,0,0,.65));
}

.ft-wordmark{
  font-weight: 900;
  letter-spacing: .16em;
  font-size: clamp(32px, 4vw, 56px);
  color: var(--ft-gold);
  text-transform: uppercase;
}

.ft-tagline{ margin: 14px 0 8px; font-size: 18px; color: var(--ft-text); }
.ft-sub{ margin:0 0 16px; color: var(--ft-muted); line-height: 1.6; }

.ft-cta{ display:flex; gap: 10px; flex-wrap: wrap; }
.ft-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--ft-text);
  text-decoration:none !important;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.ft-btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.06); }
.ft-primary{
  border-color: rgba(200,138,42,.35);
  background: linear-gradient(180deg, rgba(200,138,42,.22), rgba(200,138,42,.06));
}

.ft-small{ padding: 10px 12px; border-radius: 10px; font-size: 13px; }

.ft-micro{ display:flex; align-items:center; gap: 10px; margin-top: 14px; color: var(--ft-muted); font-size: 13px; }
.ft-dot{ width: 9px; height: 9px; border-radius: 50%; background: rgba(200,138,42,.9); box-shadow: 0 0 0 6px rgba(200,138,42,.12); }

.ft-sigil-card{
  display:flex; gap: 12px; align-items:center;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
}

.ft-sigil{
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 16px 40px rgba(0,0,0,.7));
}

.ft-sigil-fallback{
  width: 72px;
  height: 72px;
  border-radius: 16px;
  border: 1px solid rgba(200,138,42,.25);
  background: radial-gradient(circle at 30% 30%, rgba(200,138,42,.18), rgba(0,0,0,.0) 60%);
}

.ft-sigil-title{ font-weight: 900; letter-spacing: .02em; }
.ft-sigil-note{ color: var(--ft-muted); font-size: 13px; margin-top: 4px; }

.ft-stat-grid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.ft-stat{
  padding: 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
}
.ft-stat .k{ color: var(--ft-muted); font-size: 12px; }
.ft-stat .v{ margin-top: 4px; font-weight: 900; color: var(--ft-text); }

.ft-panel{
  margin-top: 16px;
  padding: 20px;
  border-radius: var(--ft-radius);
  background: linear-gradient(180deg, rgba(16,16,16,.62), rgba(12,12,12,.62));
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: var(--ft-shadow);
}

.ft-panel h2{ margin:0 0 10px; letter-spacing: .02em; }
.ft-muted{ color: var(--ft-muted); }
.ft-panel p{ color: var(--ft-muted); line-height: 1.6; }

.ft-panel-head{
  display:flex; justify-content:space-between; gap: 12px;
  align-items:flex-end; flex-wrap: wrap;
}

.ft-callout{
  margin-top: 12px;
  display:flex; gap: 14px; justify-content:space-between; flex-wrap:wrap;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(200,138,42,.18);
}
.ft-callout-title{ font-weight: 900; }
.ft-callout ul{ margin: 10px 0 0 18px; color: var(--ft-muted); }

.ft-badges{ display:flex; flex-wrap:wrap; gap: 8px; align-content:flex-start; }
.ft-badge{
  display:inline-flex;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(200,138,42,.30);
  background: rgba(200,138,42,.10);
  font-size: 12px;
  color: var(--ft-text);
}

.ft-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 12px;
}

.ft-card{
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .12s ease, border-color .12s ease;
}
.ft-card:hover{ transform: translateY(-2px); border-color: rgba(200,138,42,.22); }
.ft-card-top{ display:flex; justify-content:space-between; align-items:center; }
.ft-chip{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--ft-muted);
  font-size: 12px;
}
.ft-chip-dim{ opacity: .75; }
.ft-card-icon{ font-size: 18px; opacity: .95; }
.ft-card h3{ margin: 12px 0 6px; }
.ft-card p{ margin:0; color: var(--ft-muted); }
.ft-card-link{ display:inline-block; margin-top: 12px; color: var(--ft-text); text-decoration:none; }
.ft-card-link:hover{ text-decoration: underline; }

.ft-drop{
  margin-top: 12px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  display:flex; align-items:center; justify-content:space-between; gap: 12px; flex-wrap:wrap;
}
.ft-drop-title{ font-weight: 900; }
.ft-drop-sub{ color: var(--ft-muted); margin-top: 4px; font-size: 13px; }
.ft-drop-actions{ display:flex; gap: 10px; align-items:center; }

.ft-join-form{
  margin-top: 12px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}
.ft-join-form input[type="email"]{
  flex: 1 1 240px;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.28);
  color: var(--ft-text);
  outline:none;
}
.ft-join-form input[type="email"]:focus{
  border-color: rgba(200,138,42,.35);
  box-shadow: 0 0 0 6px rgba(200,138,42,.10);
}
.ft-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

.ft-empty{
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px dashed rgba(255,255,255,.14);
  color: var(--ft-muted);
}

.ft-tiny{ font-size: 12px; }

@media (max-width: 900px){
  .ft-hero{ grid-template-columns: 1fr; }
  .ft-cards{ grid-template-columns: 1fr; }
}
