.hero-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--accent-light); border: 1px solid var(--border-accent);
  border-radius: 100px; padding: 0.4rem 1.1rem;
  font-size: 0.72rem; font-weight: 700; color: var(--accent);
  margin-bottom: 1.5rem; font-family: var(--font-mono);
  letter-spacing: 0.5px; text-transform: uppercase;
}
.hero-badge::before {
  content: ''; width: 6px; height: 6px;
  background: var(--accent); border-radius: 50%;
  animation: blink 2s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }

.btn-primary {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--accent); color: #fff;
  padding: 0.85rem 1.8rem; border-radius: 10px;
  font-weight: 600; font-size: 0.95rem;
  text-decoration: none; transition: all 0.25s;
  border: none; cursor: pointer;
}
.btn-primary:hover {
  background: var(--accent-dim); transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(166, 123, 63, 0.25);
}
.btn-secondary {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: transparent; color: var(--text-primary);
  padding: 0.85rem 1.8rem; border-radius: 10px;
  font-weight: 500; font-size: 0.95rem;
  text-decoration: none; transition: all 0.25s;
  border: 1px solid var(--border);
}
.btn-secondary:hover {
  border-color: var(--accent); color: var(--accent);
  background: var(--accent-light);
}

.hero-terminal {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-xl);
}
.terminal-header {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.85rem 1.2rem; background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}
.td { width: 10px; height: 10px; border-radius: 50%; }
.td-r { background: #ff5f57; } .td-y { background: #ffbd2e; } .td-g { background: #28ca42; }
.terminal-title {
  font-family: var(--font-mono); font-size: 0.68rem;
  color: var(--text-muted); margin-left: 0.5rem;
}
.terminal-body {
  padding: 1.5rem; font-family: var(--font-mono);
  font-size: 0.76rem; line-height: 2.1;
}
.terminal-line { opacity: 0; animation: typeIn 0.4s ease forwards; }
.terminal-line:nth-child(1){animation-delay:.3s}
.terminal-line:nth-child(2){animation-delay:.7s}
.terminal-line:nth-child(3){animation-delay:1.1s}
.terminal-line:nth-child(4){animation-delay:1.5s}
.terminal-line:nth-child(5){animation-delay:1.9s}
.terminal-line:nth-child(6){animation-delay:2.3s}
.terminal-line:nth-child(7){animation-delay:2.7s}
.terminal-line:nth-child(8){animation-delay:3.1s}
@keyframes typeIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }
.t-label { color: var(--text-muted); font-weight: 700; }
.t-error { color: var(--danger); }
.t-warn { color: var(--warning); }
.t-success { color: var(--accent); font-weight: 700; text-decoration: none; }
.t-success:hover { text-decoration: underline; }

.stat-card {
  background: var(--stats-card-bg);
  border: 1px solid var(--stats-card-border);
  border-radius: 18px;
  padding: 1.15rem 1.1rem 1.2rem;
  box-shadow: var(--shadow-sm);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  position: relative; overflow: hidden;
}
.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-accent);
}
.sc-header { display: flex; align-items: flex-start; gap: 0.65rem; margin-bottom: 0.8rem; }
.sc-icon {
  width: 36px; height: 36px; background: var(--accent-light);
  color: var(--accent); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-accent); flex-shrink: 0;
}
.sc-icon svg { width: 18px; height: 18px; }
.sc-kicker {
  font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.95px; text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 0.35rem;
}
.sc-badge {
  display: inline-flex; font-family: var(--font-mono); font-size: 0.6rem;
  font-weight: 700; letter-spacing: 0.5px; color: var(--success);
  background: var(--success-bg); border: 1px solid var(--border);
  padding: 0.2rem 0.45rem; border-radius: 6px;
}
.sc-val {
  font-family: var(--font-mono); font-size: 1.9rem; font-weight: 700;
  color: var(--accent); line-height: 1; margin-bottom: 0.25rem;
}
.sc-label {
  font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1px;
  color: var(--text-muted); font-weight: 700;
}

.section-label {
  font-family: var(--font-mono); font-size: 0.72rem; color: var(--accent);
  text-transform: uppercase; letter-spacing: 2px; margin-bottom: 1rem;
  display: flex; align-items: center; gap: 0.75rem; font-weight: 700;
}
.section-label::before { content:''; width:20px; height:2px; background:var(--accent); border-radius:1px; }
.section-title {
  font-family: var(--font-display);
  font-size: clamp(2rem,3.5vw,3rem);
  line-height: 1.15; margin-bottom: 1rem; font-weight: 400;
}
.section-title em { font-style: italic; color: var(--accent); }
.section-desc {
  font-size: 1.05rem; color: var(--text-secondary);
  max-width: 600px; line-height: 1.7; margin-bottom: 3rem;
}

.problem-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.problem-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 14px; padding: 2rem; transition: all 0.3s; position: relative; overflow: hidden;
}
.problem-card::before {
  content:''; position:absolute; top:0;left:0;right:0; height:3px;
  background:linear-gradient(90deg,var(--danger),transparent);
  opacity:0; transition:opacity 0.3s; border-radius:14px 14px 0 0;
}
.problem-card:hover::before { opacity:1; }
.problem-card:hover { border-color:rgba(184,58,58,0.12); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.problem-icon {
  font-size:1.3rem; margin-bottom:1rem; display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; background:var(--danger-bg); border-radius:10px; border:1px solid rgba(184,58,58,0.1);
}
.problem-card h3 { font-size:1.02rem; font-weight:700; margin-bottom:0.5rem; }
.problem-card p { font-size:0.88rem; color:var(--text-secondary); line-height:1.65; }

.services-process-callout {
  background: linear-gradient(180deg, var(--accent-lighter), var(--bg-card));
  border: 1px solid var(--border); border-radius: 18px;
  padding: 1.5rem; margin: 0 0 1.5rem; box-shadow: var(--shadow-sm);
}
.services-process-head { margin-bottom: 1rem; }
.services-process-head h3 {
  font-family: var(--font-display); font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.15; font-weight: 400; margin-bottom: 0.5rem;
}
.services-process-head p { max-width: 640px; color: var(--text-secondary); font-size: 0.9rem; line-height: 1.7; }
.services-process-rail {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem;
}
.process-node {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 12px; padding: 1rem; min-height: 140px;
  display: flex; flex-direction: column;
}
.process-node-focus { border-color: var(--border-accent); box-shadow: var(--shadow-md); }
.process-node-step {
  font-family: var(--font-mono); font-size: 0.66rem; text-transform: uppercase;
  letter-spacing: 1px; color: var(--accent); margin-bottom: 0.4rem; font-weight: 700;
}
.process-node h4 { font-size: 0.92rem; line-height: 1.3; margin-bottom: 0.45rem; }
.process-node p { font-size: 0.8rem; line-height: 1.55; color: var(--text-secondary); }
.services-process-note {
  margin-top: 0.95rem; font-size: 0.8rem; color: var(--text-muted);
  line-height: 1.6; font-family: var(--font-mono);
}

.comparison-table {
  width:100%; border-collapse:collapse; margin-top:2rem;
  background:var(--bg-card); border-radius:14px; overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid var(--border);
}
.comparison-table th {
  font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase;
  letter-spacing:1.5px; padding:1.25rem 1.5rem; text-align:left;
  border-bottom:2px solid var(--border); color:var(--text-muted);
  background:var(--bg-secondary);
}
.comparison-table th:nth-child(3) { color:var(--accent); }
.comparison-table td {
  padding:1rem 1.5rem; border-bottom:1px solid var(--border);
  font-size:0.88rem; color:var(--text-secondary); vertical-align:middle;
}
.comparison-table td:first-child { font-weight:600; color:var(--text-primary); font-size:0.9rem; }
.comparison-table td:nth-child(3) { color:var(--accent); font-weight:600; }
.comparison-table tr:hover td { background:var(--bg-secondary); }
.check { color:var(--success); font-weight:700; }
.cross { color:var(--danger); }
.partial { color:var(--warning); }

.case-scroll-wrap { position: relative; }
.case-scroll {
  display:flex; gap:1.5rem; overflow-x:auto; padding:1rem 0 2rem;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; scroll-behavior: smooth;
}
.case-scroll::-webkit-scrollbar { display:none; }
.case-card {
  flex:0 0 420px; background:var(--bg-card); border:1px solid var(--border);
  border-radius:18px; overflow:hidden; scroll-snap-align:start; transition:all 0.3s;
}
.case-card:hover { border-color:var(--border-accent); box-shadow:var(--shadow-lg); }
.case-dash { padding:1.25rem; background:var(--bg-secondary); border-bottom:1px solid var(--border); }
.case-dash-bar { display:flex; gap:0.5rem; margin-bottom:1rem; flex-wrap:wrap; }
.case-pill {
  font-family:var(--font-mono); font-size:0.62rem; font-weight:700;
  padding:0.3rem 0.6rem; border-radius:6px; background:var(--bg-card);
  border:1px solid var(--border); color:var(--text-muted);
  display:inline-flex; align-items:center; gap:0.35rem;
}
.case-dot { width:6px; height:6px; border-radius:50%; background:var(--success); }
.case-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:0.5rem; margin-bottom:0.75rem; }
.case-metric { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:0.5rem; }
.cm-label { font-size:0.58rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.5px; font-family:var(--font-mono); }
.cm-val { font-family:var(--font-mono); font-size:1rem; font-weight:700; color:var(--text-primary); }
.cm-delta { font-size:0.62rem; color:var(--success); font-family:var(--font-mono); }
.case-chart { height:90px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); overflow:hidden; }
.chart-line { fill:none; stroke-width:2; stroke-linecap:round; }
.chart-line-spend { stroke:var(--accent); }
.chart-line-revenue { stroke:var(--success); }
.chart-marker { fill:var(--bg-card); stroke-width:2; }
.chart-marker-spend { stroke:var(--accent); }
.chart-marker-revenue { stroke:var(--success); }
.chart-label { font-family:var(--font-mono); font-size:8px; fill:var(--text-muted); }
.chart-label-revenue { fill:var(--success); }
.chart-label-spend { fill:var(--accent); }
.case-body { padding:1.25rem; }
.case-label { font-family:var(--font-mono); font-size:0.68rem; color:var(--accent); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:0.75rem; font-weight:700; }
.case-stats { display:flex; gap:1rem; margin-bottom:0.75rem; }
.cs-item { display:flex; flex-direction:column; }
.cs-val { font-family:var(--font-mono); font-size:1.1rem; font-weight:700; color:var(--accent); }
.cs-lbl { font-size:0.68rem; color:var(--text-muted); }
.case-desc { font-size:0.85rem; color:var(--text-secondary); line-height:1.65; }
.case-pending {
  font-family:var(--font-mono); font-size:0.65rem; color:var(--warning);
  margin-top:0.5rem; text-transform:uppercase; letter-spacing:0.4px;
}
.case-arrows { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:0.5rem; }
.case-arrow {
  width:40px; height:40px; border-radius:50%; border:1px solid var(--border);
  background:var(--bg-card); color:var(--text-primary); cursor:pointer;
  font-size:1.1rem; transition:all 0.2s;
}
.case-arrow:hover { border-color:var(--accent); color:var(--accent); }
.case-dots { display:flex; gap:0.4rem; }
.case-dot-ind { width:8px; height:8px; border-radius:50%; background:var(--border); transition:background 0.2s; }
.case-dot-ind.active { background:var(--accent); }

.process-steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; position:relative;
}
.process-steps::before {
  content:''; position:absolute; top:32px; left:5%; right:5%; height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--accent),transparent); opacity:0.15;
}
.step-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:14px; padding:1.75rem; position:relative; z-index:1;
}
.step-number {
  font-family:var(--font-mono); font-size:0.72rem; font-weight:700;
  color:var(--accent); margin-bottom:0.75rem; letter-spacing:1px;
}
.step-card h3 { font-size:1rem; font-weight:700; margin-bottom:0.5rem; }
.step-card p { font-size:0.85rem; color:var(--text-secondary); line-height:1.65; }

.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.faq-item {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:12px; padding:1.75rem;
}
.faq-item h3 { font-size:0.95rem; font-weight:700; margin-bottom:0.5rem; }
.faq-item p { font-size:0.88rem; color:var(--text-secondary); line-height:1.65; }

.proof-bar {
  padding: 2rem 3rem; border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border); background: var(--bg-card);
}
.proof-bar-inner {
  max-width: 1240px; margin: 0 auto; text-align: center;
}
.proof-bar-label {
  font-family: var(--font-mono); font-size: 0.68rem; text-transform: uppercase;
  letter-spacing: 1.5px; color: var(--text-muted); margin-bottom: 1.25rem; font-weight: 700;
}
.proof-logos {
  display: flex; align-items: center; justify-content: center;
  gap: 3rem; flex-wrap: wrap;
}
.proof-logo {
  opacity: 0.55; transition: opacity 0.2s;
  display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
}
.proof-logo:hover { opacity: 0.85; }
.proof-logo img { height: 36px; width: auto; }
.proof-logo span {
  font-family: var(--font-mono); font-size: 0.58rem; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.4px;
}

.strategy-dialog--form-unavailable .strategy-dialog__calendar iframe { display: none; }
.strategy-dialog--form-unavailable .strategy-dialog__calendar::before {
  content: 'Add your booking form URL to js/site-config.js to enable scheduling.';
  display: flex; align-items: center; justify-content: center;
  flex: 1; padding: 2rem; text-align: center;
  color: var(--text-muted); font-size: 0.9rem; line-height: 1.6;
}
