/* ==========================================================================
   Bory Home — kalkulatory (kredyt, ogrzewanie, transport)
   Trzy strony dzielą panel parametrów, suwak, kafle wyboru i ciemną kartę
   wyniku; różnice punktowe siedzą przy poszczególnych narzędziach.
   Wartości z prototypów `Bory Home Kalkulator *.dc.html`.
   ========================================================================== */

.bh-calc { padding-block: 44px 80px; }

/* --- Hero ----------------------------------------------------------------- */

.bh-calchero { max-width: 760px; margin: 0 0 40px; }
.bh-calchero--wide { max-width: 780px; }
.bh-calchero .bh-eyebrow,
.bh-calcsplit .bh-eyebrow { display: block; margin: 0 0 16px; }

.bh-calchero__title {
  font: 800 54px/1.03 var(--bh-font);
  letter-spacing: -.038em;
  margin: 0 0 22px;
  max-width: 17ch;
}
/* Podkreślenie na tej rodzinie stron jest o ząbek węższe niż w tokenach. */
.bh-calc .bh-mark { padding: 0 12px 5px; }

.bh-calchero__lead {
  font: 400 17px/1.65 var(--bh-font);
  color: var(--bh-text-2);
  max-width: 52ch;
}
.bh-calchero__lead--56 { max-width: 56ch; }
.bh-calchero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 30px 0 0; }

/* Hero kalkulatora ogrzewania ma zdjęcie obok treści. */
.bh-calcsplit {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 48px;
  align-items: center;
  margin: 0 0 44px;
}
.bh-calcsplit .bh-calchero__title { margin: 0 0 22px; }
.bh-calcsplit .bh-calchero__lead { margin: 0 0 30px; }

.bh-calcshot {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  background: #EEF1F3;
  margin: 0;
}
.bh-calcshot img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.bh-calcshot__tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(12, 26, 34, .78);
  border-radius: 16px;
  padding: 16px 20px;
  color: #fff;
}
.bh-calcshot__label {
  display: block;
  font: 600 10.5px/1 var(--bh-font);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8FA0AC;
  margin: 0 0 8px;
}
.bh-calcshot__value {
  display: block;
  font: 800 22px/1 var(--bh-font);
  letter-spacing: -.028em;
  color: var(--bh-accent);
}

/* --- Układ: panel obok wyniku --------------------------------------------- */

.bh-calcgrid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 20px; align-items: start; }
.bh-calcgrid--even { grid-template-columns: 1fr 1fr; }

.bh-panel {
  background: var(--bh-surface);
  border: 1px solid var(--bh-border);
  border-radius: var(--bh-r-2xl);
  padding: 32px 30px 28px;
  box-shadow: 0 24px 48px -40px rgba(12, 26, 34, .35);
}
.bh-panel--plain { box-shadow: none; }

.bh-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--bh-rule);
  margin: 0 0 24px;
}
/* Kalkulator kredytu ma tę belkę odrobinę luźniejszą niż kalkulator ogrzewania. */
.bh-calcgrid--even .bh-panel__head { padding-bottom: 22px; margin-bottom: 26px; }
.bh-panel__title {
  font: 700 12px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-ink);
}
.bh-panel__title--solo { display: block; margin: 0 0 22px; }
.bh-panel__note { font: 400 11.5px/1 var(--bh-font); color: var(--bh-text-4); }
.bh-panel__rule { display: block; height: 1px; background: var(--bh-rule); margin: 0 0 24px; }

.bh-panel__section {
  font: 700 12px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-ink);
  padding: 20px 0 0;
  border-top: 1px solid var(--bh-rule);
  margin: 0 0 18px;
}

.bh-group__title {
  font: 600 11px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-text-4);
  margin: 0 0 10px;
}

/* --- Plakietki wyboru ----------------------------------------------------- */

.bh-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.bh-chip {
  font: 700 12.5px/1 var(--bh-font);
  color: var(--bh-text-3);
  background: var(--bh-surface);
  border: 1px solid #E4E9EB;
  border-radius: var(--bh-pill);
  padding: 11px 15px;
  cursor: pointer;
  transition: all .22s;
}
.bh-chip:hover { border-color: var(--bh-accent); }
.bh-chip.is-active { color: var(--bh-ink); background: var(--bh-accent-bg); border-color: var(--bh-accent); }
.bh-chip--lg { padding: 12px 16px; }

.bh-presets { margin: 0 0 14px; }
.bh-presets .bh-choice__label { font-size: 12.5px; }

.bh-choice { margin: 0 0 22px; }
.bh-choice__label { font: 600 12px/1 var(--bh-font); color: var(--bh-text-3); margin: 0 0 10px; }

/* Nota pod przełącznikiem: źródło ciepła niedostępne w modelu, koszt dodatku.
   Przyciski i wiersze mają własny `display`, więc samo `[hidden]` by ich
   nie schowało — stąd jawna reguła niżej. */
.bh-choice__note { font: 400 11.5px/1.55 var(--bh-font); color: var(--bh-text-3); margin: 10px 0 0; }
.bh-choice__note--wide { margin: 0 0 18px; }
.bh-choice__note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.bh-chip[hidden], .bh-compare__row[hidden], .bh-choice__note[hidden] { display: none; }
.bh-choice__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 22px; }
/* Wewnętrzne bloki pary zostają ze swoim dolnym marginesem — tak jak
   w prototypie, przez co para jest o ten margines wyższa niż same plakietki. */

/* --- Suwak ---------------------------------------------------------------- */

.bh-field { margin: 0 0 26px; }
.bh-field__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.bh-field__label { display: block; font: 600 12.5px/1 var(--bh-font); color: var(--bh-text-3); margin: 0 0 5px; }
.bh-field__hint { display: block; font: 400 11px/1 var(--bh-font); color: var(--bh-text-4); }
.bh-field__value { font: 800 20px/1 var(--bh-font); letter-spacing: -.025em; white-space: nowrap; }
.bh-field__value--sm { font-size: 19px; }

/* Natywny suwak leży przezroczysty na wyrysowanym torze — obsługa klawiatury
   i czytników zostaje, a wygląd jest zgodny z projektem. */
.bh-slider { position: relative; height: 26px; }
.bh-slider__track,
.bh-slider__fill { position: absolute; top: 10px; height: 6px; border-radius: var(--bh-pill); }
.bh-slider__track { left: 0; right: 0; background: #EEF1F3; }
.bh-slider__fill { left: 0; width: var(--bh-slider, 0%); background: var(--bh-accent); }
.bh-slider__knob {
  position: absolute;
  top: 3px;
  left: var(--bh-slider, 0%);
  width: 20px; height: 20px;
  margin-left: -10px;
  border-radius: 50%;
  background: var(--bh-surface);
  border: 2px solid var(--bh-ink);
  box-shadow: 0 3px 8px -2px rgba(12, 26, 34, .35);
  pointer-events: none;
}
.bh-slider__input {
  position: absolute;
  inset: 0;
  width: 100%; height: 26px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.bh-slider__input:focus-visible + .bh-slider__knob,
.bh-slider__input:focus-visible ~ .bh-slider__knob { box-shadow: 0 0 0 4px rgba(255, 239, 63, .55); }

/* --- Kafle modeli --------------------------------------------------------- */

.bh-tiles { display: grid; gap: 8px; margin: 0 0 16px; }
.bh-tiles--standard { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bh-tiles--one { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 24px; }
.bh-tile {
  border: 1.5px solid #E4E9EB;
  background: var(--bh-surface);
  border-radius: 14px;
  padding: 13px 14px;
  cursor: pointer;
  text-align: left;
  transition: all .2s;
}
.bh-tiles--one .bh-tile { padding: 13px 12px; }
.bh-tile:hover { border-color: var(--bh-accent); }
.bh-tile.is-active { border-color: var(--bh-accent); background: var(--bh-accent-bg); }
.bh-tile__name { display: block; font: 700 12.5px/1.2 var(--bh-font); color: var(--bh-ink); margin: 0 0 5px; }
.bh-tiles--one .bh-tile__name { font-size: 12px; }
.bh-tile__meta { display: block; font: 600 11px/1 var(--bh-font); color: var(--bh-text-2); }

/* --- Wybór modelu z kropką (transport) ------------------------------------ */

.bh-picks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 20px; }
/* Druga grupa modeli ma większy odstęp od pola z kilometrami. `:last-of-type`
   celowałoby w ostatni `div` panelu, nie w ostatnią grupę. */
.bh-picks--last { margin-bottom: 26px; }
.bh-pick {
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1.5px solid #E4E9EB;
  background: var(--bh-surface);
  border-radius: 14px;
  padding: 13px 15px;
  cursor: pointer;
  text-align: left;
  transition: all .2s;
}
.bh-pick:hover { border-color: var(--bh-accent); }
.bh-pick.is-active { border-color: var(--bh-accent); background: var(--bh-accent-bg); }
.bh-pick__dot {
  flex: none;
  width: 17px; height: 17px;
  border-radius: 50%;
  border: 1.5px solid #E4E9EB;
  background: var(--bh-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 9.5px/1 var(--bh-font);
  color: var(--bh-ink);
}
.bh-pick.is-active .bh-pick__dot { border-color: var(--bh-ink); background: var(--bh-accent); }
.bh-pick__body { flex: 1; }
.bh-pick__name { display: block; font: 700 13px/1.2 var(--bh-font); color: var(--bh-ink); margin: 0 0 3px; }
.bh-pick__meta { display: block; font: 400 11px/1.3 var(--bh-font); color: var(--bh-text-4); }

/* --- Pola liczbowe -------------------------------------------------------- */

.bh-km { display: block; margin: 0 0 24px; }
.bh-km__label { display: block; font: 600 12px/1 var(--bh-font); color: var(--bh-text-3); margin: 0 0 8px; }
.bh-km__row { display: flex; align-items: center; gap: 10px; }
.bh-km__row input {
  flex: 1;
  box-sizing: border-box;
  font: 600 16px/1 var(--bh-font);
  color: var(--bh-ink);
  background: var(--bh-surface-alt);
  border: 1px solid #EAEEF0;
  border-radius: 12px;
  padding: 15px;
}
.bh-km__row input:focus { border-color: var(--bh-accent); background: var(--bh-surface); outline: none; }
.bh-km__unit { font: 700 14px/1 var(--bh-font); color: var(--bh-text-4); }

.bh-rates { background: var(--bh-surface-alt); border-radius: 18px; padding: 22px 22px 20px; margin: 6px 0 0; }
.bh-panel--plain .bh-rates { border-radius: 16px; padding: 18px 20px; margin: 0; }
.bh-rates__title {
  font: 700 11.5px/1 var(--bh-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bh-ink);
  margin: 0 0 8px;
}
.bh-panel--plain .bh-rates__title { margin: 0 0 6px; }
.bh-rates__note { font: 400 11.5px/1.5 var(--bh-font); color: var(--bh-text-2); margin: 0 0 14px; }
.bh-rates__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.bh-input { display: block; }
.bh-input__label { display: block; font: 600 11px/1 var(--bh-font); color: var(--bh-text-3); margin: 0 0 6px; }
.bh-input input {
  width: 100%;
  box-sizing: border-box;
  font: 600 13.5px/1 var(--bh-font);
  color: var(--bh-ink);
  background: var(--bh-surface);
  border: 1px solid #E4E9EB;
  border-radius: 10px;
  padding: 12px;
}
.bh-input input:focus { border-color: var(--bh-accent); outline: none; }

/* --- Ramka z zastrzeżeniem ------------------------------------------------ */

.bh-notebox { display: flex; gap: 14px; background: var(--bh-accent-bg); border-radius: 16px; padding: 18px 20px; margin: 4px 0 0; }
.bh-notebox__icon {
  flex: none;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--bh-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--bh-font);
  color: var(--bh-ink);
}
.bh-notebox__title { font: 700 12.5px/1.4 var(--bh-font); margin: 0 0 6px; }
.bh-notebox__text { font: 400 12.5px/1.6 var(--bh-font); color: var(--bh-text-3); }

/* --- Karta wyniku --------------------------------------------------------- */

.bh-result {
  background: var(--bh-ink);
  border-radius: var(--bh-r-2xl);
  padding: 32px 30px 30px;
  color: #fff;
}
.bh-result--tight { margin: 0 0 16px; }
.bh-result__title {
  font: 700 12px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-accent);
  margin: 0 0 26px;
}
.bh-result--tight .bh-result__title { margin-bottom: 22px; }

.bh-result__rows { display: flex; flex-direction: column; gap: 2px; margin: 0 0 26px; }
.bh-result--tight .bh-result__rows { margin: 0; }
.bh-result__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bh-ink-soft);
}
.bh-result__row:last-child { border-bottom: 0; }
/* Kalkulatory kosztów mają wiersze ciaśniejsze niż kalkulator kredytu. */
.bh-result--tight .bh-result__row { padding: 13px 0; }
.bh-result__label { font: 400 13.5px/1.4 var(--bh-font); color: #8FA0AC; }
.bh-result--tight .bh-result__label { font-size: 13px; }
.bh-result__value { font: 700 15px/1 var(--bh-font); }
.bh-result__value--sm { font: 700 13.5px/1.3 var(--bh-font); text-align: right; }

.bh-result__big { font: 800 46px/1 var(--bh-font); letter-spacing: -.035em; color: var(--bh-accent); margin: 0 0 10px; }
.bh-result__sub { font: 400 13px/1.4 var(--bh-font); color: #8FA0AC; margin: 0 0 24px; }
.bh-result__sub--top { margin: 0 0 8px; }
/* Kalkulator transportu ma wynik o stopień mniejszy niż kalkulator ogrzewania. */
.bh-result--sm .bh-result__big { font-size: 44px; margin-bottom: 8px; }
.bh-result--sm .bh-result__sub { font-size: 12.5px; }

.bh-result__hero { background: var(--bh-ink-soft); border-radius: var(--bh-r-xl); padding: 26px 24px; margin: 0 0 20px; }
.bh-result__herolabel {
  font: 600 12px/1 var(--bh-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8FA0AC;
  margin: 0 0 12px;
}
.bh-result__herovalue { font: 800 40px/1 var(--bh-font); letter-spacing: -.035em; color: var(--bh-accent); margin: 0 0 10px; }
.bh-result__herofoot { font: 400 12px/1.4 var(--bh-font); color: #8FA0AC; }

.bh-result__cta { display: block; text-align: center; font-size: 14.5px; padding: 17px; }
.bh-result__note { font: 600 12.5px/1.5 var(--bh-font); color: #fff; margin: 22px 0 14px; }
.bh-result__checks { display: flex; flex-direction: column; gap: 10px; padding: 18px 0 0; border-top: 1px solid var(--bh-ink-soft); }
.bh-result__check { display: flex; gap: 10px; font: 400 12.5px/1.5 var(--bh-font); color: #8FA0AC; }
.bh-result__checkmark { flex: none; color: var(--bh-accent); }

/* --- Porównanie systemów (ogrzewanie) ------------------------------------- */

.bh-compare {
  background: var(--bh-surface);
  border: 1px solid var(--bh-border);
  border-radius: 22px;
  padding: 26px 26px 22px;
  margin: 0 0 16px;
}
.bh-compare__title {
  font: 700 12px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-ink);
  margin: 0 0 16px;
}
.bh-compare__list { display: flex; flex-direction: column; gap: 10px; }
.bh-compare__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1.5px solid var(--bh-border);
  border-radius: 14px;
  padding: 15px 18px;
}
.bh-compare__row.is-active { border-color: var(--bh-accent); background: var(--bh-accent-bg); }
.bh-compare__label { display: block; font: 700 13.5px/1.2 var(--bh-font); margin: 0 0 4px; }
.bh-compare__tag {
  display: block;
  font: 600 10.5px/1 var(--bh-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bh-text-4);
}
.bh-compare__value { font: 800 17px/1 var(--bh-font); letter-spacing: -.025em; }

.bh-disclaimer { background: var(--bh-accent-bg); border-radius: 18px; padding: 20px 22px; }
.bh-disclaimer__title { font: 700 12.5px/1.4 var(--bh-font); margin: 0 0 8px; }
.bh-disclaimer__text { font: 400 12px/1.6 var(--bh-font); color: var(--bh-text-3); }

/* --- Adres zakładu (transport) -------------------------------------------- */

.bh-addressbox {
  background: var(--bh-surface);
  border: 1px solid var(--bh-border);
  border-radius: 22px;
  padding: 24px 26px;
}
.bh-addressbox__label {
  font: 600 11px/1 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-text-4);
  margin: 0 0 10px;
}
.bh-addressbox__value { font: 700 15px/1.5 var(--bh-font); margin: 0 0 14px; }

.bh-underline {
  font: 700 13px/1 var(--bh-font);
  color: var(--bh-ink);
  border-bottom: 1.5px solid var(--bh-accent);
  padding: 0 0 4px;
  text-decoration: none;
}
.bh-calcnote { font: 400 12px/1.55 var(--bh-font); color: var(--bh-text-4); margin: 16px 4px 0; }

/* --- Kancelaria Legarti (kredyt) ------------------------------------------ */

.bh-legarti { padding-block: 88px; }
.bh-legarti__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 52px; align-items: start; margin: 0 0 26px; }
.bh-legarti__aside { position: sticky; top: 110px; }
.bh-legarti__aside .bh-eyebrow { display: block; margin: 0 0 16px; }
.bh-legarti__title { font-size: 38px; line-height: 1.06; margin: 0 0 18px; max-width: 16ch; }
.bh-legarti__lead { font: 400 15.5px/1.65 var(--bh-font); color: var(--bh-text-2); margin: 0 0 26px; max-width: 42ch; }
.bh-legarti__points { display: flex; flex-direction: column; gap: 12px; margin: 0 0 26px; }
.bh-legarti__point { display: flex; gap: 11px; font: 400 13.5px/1.5 var(--bh-font); color: var(--bh-text-3); }
.bh-legarti__check { flex: none; color: var(--bh-ink); }
.bh-legarti .bh-underline { font-size: 13.5px; }

.bh-lawyers { gap: 16px; }
.bh-lawyer {
  background: var(--bh-surface);
  border: 1px solid var(--bh-border);
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .3s, transform .3s, box-shadow .3s;
}
.bh-lawyer:hover {
  border-color: var(--bh-accent);
  transform: translateY(-4px);
  box-shadow: 0 24px 46px -32px rgba(12, 26, 34, .35);
}
.bh-lawyer__media { position: relative; aspect-ratio: 1 / 1; background: #EEF1F3; overflow: hidden; }
.bh-lawyer__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.bh-lawyer__badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font: 700 10px/1 var(--bh-font);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bh-ink);
  background: var(--bh-accent);
  padding: 8px 10px;
  border-radius: var(--bh-pill);
}
.bh-lawyer__body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 22px 22px 20px; }
.bh-lawyer__name { font: 800 17px/1.15 var(--bh-font); letter-spacing: -.022em; margin: 0 0 6px; }
.bh-lawyer__role {
  font: 600 10.5px/1.3 var(--bh-font);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bh-text-4);
  margin: 0 0 12px;
}
.bh-lawyer__bio { font: 400 12.5px/1.55 var(--bh-font); color: var(--bh-text-2); margin: 0 0 16px; }
.bh-lawyer__links { display: flex; gap: 12px; padding: 14px 0 0; border-top: 1px solid var(--bh-rule); }
.bh-lawyer__links a { font: 600 11.5px/1 var(--bh-font); color: var(--bh-text-3); text-decoration: none; transition: color .2s; }
.bh-lawyer__links a:hover { color: var(--bh-ink); }

/* --- Pas oferty (kredyt) --------------------------------------------------- */

.bh-offerband { padding-block: 88px 0; }
.bh-cta-band--split2 {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 44px;
  align-items: center;
  border-radius: 28px;
  padding: 44px 46px;
}
.bh-cta-band__heading--34 { font-size: 34px; line-height: 1.1; margin: 0 0 14px; max-width: 20ch; }
.bh-cta-band--split2 .bh-cta-band__text { max-width: 52ch; }
.bh-cta-band--split2 .bh-btn { justify-content: center; padding: 18px 24px; }
.bh-cta-band--split2 .bh-btn--on-dark { padding: 17px 24px; border-color: rgba(255, 255, 255, .28); }

/* --- Pas „policz też pozostałe koszty" ------------------------------------ */

/* Wariant granatowy: blok w rytmie sekcji, bez własnego górnego odstępu. */
.bh-toolsband--dark { padding-block: 0 72px; }
.bh-toolsband--dark .bh-tools { background: var(--bh-ink); border-radius: 28px; padding: 44px 46px; }

/* Wariant jasny: pełna sekcja na szarym tle, karty białe, bez „Otwórz". */
.bh-toolsband--light { background: var(--bh-surface-alt); padding-block: 72px; }
.bh-toolsband--light .bh-tools__bar { margin-bottom: 30px; }
.bh-toolsband--light .bh-section-bar .bh-tools__title { color: var(--bh-ink); }
.bh-toolsband--light .bh-section-bar .bh-tools__lead { color: var(--bh-text-2); }
.bh-toolsband--light .bh-tool { background: var(--bh-surface); border-color: var(--bh-border); }
.bh-toolsband--light .bh-tool__title { color: var(--bh-ink); }
.bh-toolsband--light .bh-tool__desc { color: var(--bh-text-2); margin: 0; }
.bh-toolsband--light .bh-tool--current {
  background: var(--bh-accent-bg);
  border: 1.5px solid var(--bh-accent);
}
.bh-tools__bar { margin: 0 0 28px; }
.bh-tools__eyebrow { font-size: 11.5px; letter-spacing: .1em; margin: 0 0 14px; }
/* Zasięg paska sekcji jest dwuklasowy, więc modyfikatory muszą go powtórzyć —
   inaczej nagłówek dostaje 42 px z bazy zamiast projektowych 32 px. */
.bh-section-bar .bh-tools__title { font-size: 32px; line-height: 1.08; letter-spacing: -.03em; color: #fff; max-width: 18ch; }
.bh-section-bar .bh-tools__lead { font-size: 14.5px; line-height: 1.6; color: #8FA0AC; max-width: 36ch; }
.bh-tools__grid { gap: 16px; }

.bh-tool {
  display: block;
  background: var(--bh-ink-soft);
  border: 1px solid var(--bh-ink-border);
  border-radius: 22px;
  padding: 26px 24px 24px;
  text-decoration: none;
  transition: border-color .25s, transform .25s;
}
.bh-tool:hover { border-color: var(--bh-accent); transform: translateY(-3px); }
.bh-tool--current { background: var(--bh-accent); border-color: var(--bh-accent); }
.bh-tool__title { font: 700 16.5px/1.2 var(--bh-font); color: #fff; margin: 0 0 8px; }
.bh-tool__desc { font: 400 13px/1.55 var(--bh-font); color: #8FA0AC; margin: 0 0 16px; }
.bh-tool__cta { font: 700 12.5px/1 var(--bh-font); color: var(--bh-accent); }
.bh-tool--current .bh-tool__title { color: var(--bh-ink); }
.bh-tool--current .bh-tool__desc { color: var(--bh-text-3); }
.bh-tool--current .bh-tool__cta { color: var(--bh-ink); }

/* --- Progi pośrednie ------------------------------------------------------ */

@media (max-width: 1100px) {
  .bh-calcgrid, .bh-calcgrid--even, .bh-calcsplit, .bh-legarti__grid { grid-template-columns: 1fr; }
  .bh-legarti__grid { gap: 36px; }
  .bh-legarti__aside { position: static; }
  .bh-calchero__title { font-size: 44px; }
  .bh-cta-band--split2 { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 900px) {
  .bh-lawyers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bh-tiles--one { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
