/* ── contact.travisteo.com ── */

.ct-header {
  background:linear-gradient(135deg, var(--bg2) 0%, var(--bg) 100%);
  border-bottom:1px solid var(--border);
  padding:100px 48px 48px;
}
.ct-header-inner { max-width:760px; margin:0 auto; }
.ct-eyebrow  { font-family:var(--mono); font-size:10px; color:var(--accent); letter-spacing:3px; text-transform:uppercase; margin-bottom:12px; opacity:0; animation:fadeUp 0.5s forwards 0.1s; }
.ct-headline { font-size:clamp(32px,5vw,54px); font-weight:700; letter-spacing:-1px; margin-bottom:10px; color:var(--text); opacity:0; animation:fadeUp 0.5s forwards 0.25s; }
.ct-subhead  { font-size:15px; color:var(--text2); line-height:1.7; opacity:0; animation:fadeUp 0.5s forwards 0.4s; }

.ct-body { max-width:760px; margin:0 auto; padding:48px; }

.ct-availability {
  display:flex; align-items:flex-start; gap:14px;
  padding:18px 20px; background:rgba(158,206,106,0.08);
  border:1px solid rgba(158,206,106,0.25); border-left:3px solid var(--green);
  margin-bottom:40px; font-size:14px; color:var(--text2); line-height:1.6;
}
.ct-avail-dot {
  width:9px; height:9px; border-radius:50%; background:var(--green);
  margin-top:5px; flex-shrink:0; animation:glow 2s infinite;
}
.ct-avail-text strong { color:var(--text); }

.ct-group { margin-bottom:40px; }
.ct-group-label { font-family:var(--mono); font-size:10px; color:var(--muted); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--border); }

.ct-grid   { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:10px; }
.ct-grid-3 { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }

.ct-card {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:var(--card); border:1px solid var(--border);
  text-decoration:none; transition:all 0.2s; color:inherit;
}
.ct-card:hover { border-color:var(--accent); transform:translateX(3px); background:rgba(122,162,247,0.05); }
.ct-card-left { display:flex; align-items:center; gap:12px; }
.ct-card-icon { color:var(--accent); flex-shrink:0; display:flex; align-items:center; }
.ct-card-label { font-family:var(--mono); font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:2px; }
.ct-card-val   { font-size:13px; font-weight:600; color:var(--text); }
.ct-card-arrow { font-size:14px; color:var(--accent); opacity:0; transition:opacity 0.2s; }
.ct-card:hover .ct-card-arrow { opacity:1; }

/* TryHackMe Badge */
.thm-live-badge { margin-top:8px; }

/* Resources */
.resource-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; }
.resource-item {
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; background:var(--card); border:1px solid var(--border);
  text-decoration:none; font-family:var(--mono); font-size:11px; color:var(--muted);
  transition:all 0.15s;
}
.resource-item:hover { color:var(--accent); border-color:var(--accent); }
.resource-item svg { flex-shrink:0; color:var(--accent); }

@media (max-width:860px) {
  .ct-header { padding:100px 20px 40px; }
  .ct-body   { padding:32px 20px; }
  .ct-grid, .ct-grid-3, .resource-grid { grid-template-columns:1fr; }
}
