/* ==========================================================================
   VOUBE — V10 · a v9 vázára épített v5-modulok
   A v9.css UTÁN töltődik: annak tokenjeire (--bone, --acid, --olive,
   --hair-*, --mut-*) és komponenseire (m-hero, sec-head, acc, q-card) épül.
   Itt csak a v5-ből áthozott modulok élnek: scan-ív, showcase, csapat.
   ========================================================================== */

/* --- PROFIT SCAN ÍV: fehér kártya a csonton, kitöltött példával ----------- */
.sheet-card {
  margin-inline: var(--pad);
  background: #FFFFFF;
  color: var(--ink);
  border-radius: 6px;
  padding: clamp(24px, 3.5vw, 56px);
}
.sheet-card__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--hair-l);
}
.badge {
  display: inline-block;
  background: var(--acid);
  color: var(--black);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  margin-left: 10px;
}
.opps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 48px);
  margin-top: clamp(20px, 2.6vw, 36px);
}
.opp { border-left: 1px solid var(--hair-l); padding-left: clamp(16px, 1.6vw, 26px); }
.opp:first-child { border-left: 0; padding-left: 0; }
.opp h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  min-height: 2.6em;
}
.opp h3::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--acid);
  flex: none;
}
.opp__imp-l {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mut-l);
  margin-top: 14px;
}
.opp__imp {
  font-size: clamp(28px, 2.8vw, 42px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin-top: 4px;
  white-space: nowrap;
}
.opp__sol { color: var(--mut-l); margin: 10px 0 16px; }
.opp__rows div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-block: 8px;
  border-top: 1px solid var(--hair-l);
}
.opp__rows dt {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mut-l);
  flex: none;
}
.opp__rows dd { margin: 0; text-align: right; font-size: 14px; }
.sheet-card__note { margin-top: 22px; color: var(--mut-l); max-width: 72ch; }

/* Mini-számsor az ív alatt */
.ministats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 5vw, 88px);
  padding: clamp(28px, 3.2vw, 44px) var(--pad) 0;
}
.ministat b {
  display: block;
  font-size: clamp(26px, 2.8vw, 42px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.05;
}
.ministat span {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mut-l);
}
.on-black .ministat span { color: var(--mut-d); }

/* --- SHOWCASE: lista + dashboard, a v9 akkordeon-nyelvén ------------------- */
.show {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: center;
  padding-inline: var(--pad);
}
.show__list { display: flex; flex-direction: column; gap: 6px; }
.show__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-align: left;
  padding: 12px 16px;
  margin-left: -16px;
  border-radius: 4px;
  font-size: clamp(17px, 1.8vw, 27px);
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: uppercase;
  opacity: .45;
  transition: opacity 240ms linear, background-color 240ms linear;
}
.show__btn::before {
  content: "";
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--acid);
  flex: none;
}
.show__btn:hover, .show__btn:focus-visible { opacity: .8; }
.show__list li.is-active .show__btn { opacity: 1; background: var(--olive); }
.show__desc {
  display: none;
  color: var(--mut-d);
  margin: 6px 0 12px 23px;
  max-width: 42ch;
}
.show__list li.is-active .show__desc { display: block; }
.no-js .show__desc { display: block; }

.show__stage {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  overflow: hidden;
  background: var(--lift);
}
.show__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 420ms var(--ease);
}
.show__panel.is-active { opacity: 1; }
.show__panel svg { width: 100%; height: 100%; display: block; }

/* --- A CSAPAT: founder-blokk a v5-ből -------------------------------------- */
.team {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: start;
  padding-inline: var(--pad);
}
.team__photo {
  aspect-ratio: 4 / 5;
  border-radius: 6px;
  background:
    repeating-linear-gradient(45deg, rgba(18,18,16,.04) 0 10px, transparent 10px 20px),
    #E9E8DE;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 20px;
  color: var(--mut-l);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.team__bio { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; max-width: 58ch; }
.team__claims { margin-top: clamp(20px, 2.4vw, 34px); border-top: 1px solid var(--hair-l); }
.team__claim { padding-block: 16px; border-bottom: 1px solid var(--hair-l); }
.team__claim h3 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(15px, 1.3vw, 18px);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.team__claim h3::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--acid);
  flex: none;
}
.team__claim p { color: var(--mut-l); margin-top: 6px; max-width: 60ch; }
.team__sign { margin-top: clamp(20px, 2.4vw, 32px); }
.team__sign strong { display: block; font-size: 18px; font-weight: 600; }
.team__sign span { color: var(--mut-l); }

/* --- MOBIL ------------------------------------------------------------------ */
@media (max-width: 899px) {
  .opps { grid-template-columns: 1fr; }
  .opp { border-left: 0; padding-left: 0; border-top: 1px solid var(--hair-l); padding-top: 18px; }
  .opp:first-child { border-top: 0; padding-top: 0; }
  .opp h3 { min-height: 0; }
  .show { grid-template-columns: 1fr; }
  .team { grid-template-columns: 1fr; }
}
