/* Bigint AG — seitenspezifische Bausteine */

/* Kennzahlen */
.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 12px;
}
.stat {
  display: block;
  padding: clamp(22px, 3vw, 32px);
  border-radius: var(--radius-tile);
  background: var(--surface);
  color: var(--ink);
}
a.stat:hover { background: var(--surface-tint); color: var(--ink); }
.stat__value { font-size: clamp(34px, 3.4vw, 46px); line-height: 1.05; font-weight: 700; margin-bottom: 10px; }
.stat__label { font-size: 15.5px; color: var(--ink-soft); }
.stat__label--link { color: var(--blue); }

/* Firmenkacheln */
.firms {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 40px);
}
.firm {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--white);
}
.firm__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1024 / 493;
  background: var(--navy);
  display: grid;
  place-items: center;
}
.firm__label {
  position: relative;
  font-size: clamp(26px, 3.8vw, 48px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: transparent;
  -webkit-text-stroke: 1.2px rgba(255, 255, 255, 0.55);
  user-select: none;
}
.firm__label--wide { letter-spacing: 0.16em; }
.firm__label--tight { letter-spacing: 0.1em; }
.firm__glow { position: absolute; inset: 0; pointer-events: none; }
.firm__glow--a { background: radial-gradient(110% 100% at 82% 110%, rgba(64, 214, 196, 0.34) 0%, rgba(23, 96, 148, 0.26) 36%, rgba(6, 20, 38, 0) 68%); }
.firm__glow--b { background: radial-gradient(70% 60% at 10% 5%, rgba(35, 85, 145, 0.32) 0%, rgba(6, 20, 38, 0) 70%); }

.firm__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 24px clamp(20px, 3vw, 28px) 26px;
}
.firm__body h3 a { color: var(--ink); }
.firm__body h3 a:hover { color: var(--blue-dark); }
.firm__text { font-size: 16.5px; line-height: 1.7; color: var(--ink-soft); }

.firm details { margin: 0; }
.firm summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  background: var(--white);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.firm summary::-webkit-details-marker { display: none; }
.firm summary:hover { background: var(--surface); }
.firm details[open] .label-more,
.firm details:not([open]) .label-less { display: none; }
.firm details p { margin-top: 14px; }
