.brief-main { padding: 140px 0 100px; }
.brief-main h1 { font-size: 44px; margin-top: 18px; max-width: 720px; }
.brief-intro { font-size: 17px; color: var(--muted); max-width: 640px; margin-top: 20px; line-height: 1.6; }

.cat-tabs { display: flex; gap: 12px; margin-top: 44px; flex-wrap: wrap; }
.cat-tab {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  letter-spacing: 0.5px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--hair);
  border-radius: 100px;
  padding: 11px 22px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.cat-tab:hover { border-color: var(--copper); color: var(--cream); }
.cat-tab.active { background: var(--copper); border-color: var(--copper); color: var(--ink); font-weight: 600; }

.brief-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; margin-top: 44px; align-items: start; }

.cat-panel { display: none; flex-direction: column; gap: 24px; }
.cat-panel.active { display: flex; }

.field { display: flex; flex-direction: column; gap: 8px; }
.field label {
  font-size: 14px;
  color: var(--muted);
  font-weight: 500;
}
.field select {
  background: var(--ink-2);
  border: 1px solid var(--hair);
  border-radius: 4px;
  color: var(--cream);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  padding: 12px 14px;
  cursor: pointer;
}
.field select:focus { outline: none; border-color: var(--copper); }
.checkbox-field label {
  display: flex; align-items: center; gap: 10px;
  color: var(--cream); font-size: 15px; font-weight: 400; cursor: pointer;
}
.checkbox-field input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--copper); cursor: pointer; }

.brief-estimate { position: sticky; top: 100px; }
.estimate-card {
  background: var(--ink-2);
  border: 1px solid var(--hair);
  border-radius: 6px;
  padding: 36px;
}
.estimate-range {
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 34px;
  color: var(--cream);
  margin-top: 14px;
  line-height: 1.2;
}
.estimate-note { font-size: 13px; color: var(--dim); margin-top: 12px; line-height: 1.5; }
.estimate-breakdown {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--hair);
  display: flex; flex-direction: column; gap: 8px;
}
.breakdown-row { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--muted); font-family: 'JetBrains Mono', monospace; }
.breakdown-row span:last-child { color: var(--copper); }
.launch-toggle {
  display: flex; align-items: center; gap: 10px;
  margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--hair);
  font-size: 13.5px; color: var(--muted); cursor: pointer; line-height: 1.4;
}
.launch-toggle input { width: 17px; height: 17px; accent-color: var(--copper); cursor: pointer; flex-shrink: 0; }
.estimate-card .btn { width: 100%; justify-content: center; margin-top: 18px; }

@media (max-width: 860px) {
  .brief-layout { grid-template-columns: 1fr; }
  .brief-estimate { position: static; }
  .brief-main h1 { font-size: 32px; }
}
