/* ==========================================================================
   Árkossy lap – közöspontos build a PDF-ből (1502pt lap, 1em = 16px @ teljes szélesség)
   Koordináták: site/sheet-layout.json + /tmp/sheet-ref-1.png
   ========================================================================== */

.page-sheet {
  --sheet: 93.8975em; /* 1502px @ 16px */
  --pad: 15.4375em;   /* 247pt */
  --col-l: 32.625em;  /* 522pt */
  --col-r: 61.25em;   /* 980pt */
  --photo-h: 35.8125em; /* 573pt */
  --footer-logo-w: 6.875rem; /* 110pt – PC lábléc logó szélesség */
  --footer-logo-h: 2.75rem;  /* 44pt – PC lábléc logó magasság */

  font-size: 16px;
  background: #fff;
  color: var(--ink-b);
}

/* Nincs viewport-skálázás. Pixelpontos lap: min-width 1502px. Alatta: sheet-responsive.css */

html:has(body.page-sheet) {
  overflow-x: clip;
  overscroll-behavior-x: none;
}

body.page-sheet {
  overflow-x: clip;
  max-width: 100%;
  overscroll-behavior-x: none;
}

.page-sheet .page-shell {
  padding-top: 0;
  overflow-x: clip;
  max-width: 100%;
}

.page-sheet:not(.page-home) .page-shell,
.page-sheet:not(.page-home) .sheet {
  overflow-x: visible;
}

.page-sheet img {
  max-width: none;
}

/* ---- Lap ---- */
.sheet {
  width: var(--sheet);
  max-width: 100%;
  margin-inline: auto;
  overflow-x: clip;
}

.page-sheet.page-home .sheet {
  overflow-x: visible;
}

/* ---- Felső rács (PDF: bal sín + jobb fotó 573pt + jobb hasáb) ---- */
.sheet-top {
  display: grid;
  grid-template-columns: var(--col-l) var(--col-r);
  grid-template-rows: var(--photo-h) auto;
  background: #fff;
}

.sheet-top__left {
  grid-column: 1;
  grid-row: 1 / 3;
  padding:
    1.9375em /* 31pt */
    0
    3.125em
    5.9375em; /* logo x=95pt */
}

.sheet-top__logo {
  display: block;
  width: 8.625em; /* 138pt */
}

.sheet-top__logo img {
  width: 100%;
  height: auto;
}

.sheet-top__title {
  margin: 5.125em 0 0; /* logo alja 86pt → cím 168pt */
  padding-right: 1em;
  max-width: 17.5em;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 2.4375em; /* 39pt */
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ink-h);
}

.sheet-top__subtitle {
  margin: 2.75em 0 0; /* 288pt - 244pt */
  padding-right: 1em;
  max-width: 20em;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1.25em; /* 20pt */
  line-height: 1.35;
  color: var(--ink-b);
}

.sheet-top__intro {
  margin: 1.5em 0 0;
  padding-right: 1em;
  max-width: 20.5em;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.9375em; /* 15pt */
  line-height: 1.65;
  color: var(--ink-b);
}

.sheet-top__left-prose {
  margin-top: 2.5em;
  padding-right: 1.5em;
  max-width: 21.5em;
}

.sheet-top__left-prose p {
  margin: 0 0 1em;
  font-size: 0.9375em; /* 15pt */
  line-height: 1.65;
}

.sheet-top__left-prose p:last-child {
  margin-bottom: 0;
}

.sheet-top__photo {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  height: var(--photo-h);
  overflow: hidden;
  background: #3c3937;
}

.sheet-top__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}

.sheet-top__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
  transform: scale(1.08);
  transform-origin: center center;
}

@media (prefers-reduced-motion: no-preference) {
  .sheet-top__photo img {
    animation: hero-ken-burns 28s ease-in-out infinite;
    will-change: transform;
  }
}

@keyframes hero-ken-burns {
  0% {
    transform: scale(1.08) translate3d(0, 0, 0);
  }

  25% {
    transform: scale(1.13) translate3d(-0.6%, -0.35%, 0);
  }

  50% {
    transform: scale(1.16) translate3d(0.45%, -0.55%, 0);
  }

  75% {
    transform: scale(1.12) translate3d(0.55%, 0.25%, 0);
  }

  100% {
    transform: scale(1.08) translate3d(0, 0, 0);
  }
}

.sheet-top__nav {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.125em;
  min-height: 4.5em;
  padding: 1.625em 2.1875em; /* ~58pt nav sáv */
  pointer-events: auto;
}

.sheet-top__nav > a {
  font-family: var(--font-body);
  font-size: 0.84375em; /* 13.5pt */
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}

.sheet-top__nav > a:hover { opacity: 0.8; }

.sheet-top__nav > a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.sheet-top__nav .lang-dropdown {
  display: inline-flex;
  margin-left: 0.15em;
}

.sheet-top__right-prose {
  grid-column: 2;
  grid-row: 2;
  padding:
    2.125em /* ~604pt után */
    2.1875em
    3.125em
    23.125em; /* jobb hasáb x=901 → 901-522=379pt */
  max-width: var(--col-r);
}

.sheet-top__right-prose p {
  margin: 0 0 1em;
  max-width: 23em;
  font-size: 0.9375em;
  line-height: 1.65;
}

.sheet-top__right-prose p:last-child {
  margin-bottom: 0;
}

.page-sheet .sheet-top__photo .menu-toggle {
  position: absolute;
  top: 1em;
  right: 1.25em;
  z-index: 12;
}

/* ---- Cégvezetés (#fdfaf9, PDF y≈1200) ---- */
.sheet-team {
  padding:
    3.125em /* 50pt a fehér szövegtér után */
    0
    3.75em
    var(--pad);
  background: #fdfaf9;
}

.sheet-team--white {
  background: #fff;
  padding-top: 3.125em;
}

.sheet-team__title {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1.875em; /* 30pt */
  line-height: 1.2;
  color: var(--ink-h);
}

.sheet-team__lead {
  margin: 1.25em 0 0;
  max-width: 40em;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1.1875em; /* 19pt */
  line-height: 1.45;
  color: var(--ink-b);
}

.sheet-team__row {
  display: flex;
  flex-wrap: wrap;
  gap: 13.125em; /* PDF: 210pt oszlopköz */
  margin-top: 2.75em;
  margin-left: 1.9375em; /* 278pt - 247pt */
}

.sheet-team__row--two {
  gap: 13.125em;
  margin-left: 11.1875em; /* 426pt - 247pt */
}

.sheet-person {
  width: 9.625em; /* 154pt szövegkeret */
}

.sheet-person__photo {
  position: relative; /* F14: media-frame__spinner pozícionálási alap */
  width: 7.875em; /* 126pt */
  height: 9.8125em; /* 157pt */
  overflow: hidden;
  background: #8a8a8a;
}

.sheet-person__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
}

.sheet-person__name {
  margin: 1em 0 0.2em;
  font-size: 1em; /* 16pt */
  font-weight: 600;
  line-height: 1.3;
}

.sheet-person__role {
  margin: 0 0 0.75em;
  font-size: 0.875em; /* 14pt */
  line-height: 1.35;
}

.sheet-person__bio {
  margin: 0;
  font-size: 0.8125em; /* 13pt */
  line-height: 1.65;
}

/* ---- CTA (#d5cdc1 / u39f9c, PDF y≈2200, 311pt magas) ---- */
.sheet-cta {
  --cta-bg: #d5cdc1;
  --cta-ink: #342e27;
  --cta-body: #302e2b;
  --cta-btn: #221610;
  --cta-btn-hover: #1a120e;

  min-height: 19.4375em; /* 311pt */
  padding: 3.125em var(--pad);
  background: var(--cta-bg);
  display: grid;
  grid-template-columns: 22.6875em 1fr; /* 363pt | többi */
  align-items: center;
  gap: 2em;
}

.sheet-cta__headline {
  margin: 0;
  padding-right: 2em;
  border-right: 1px solid rgba(52, 46, 39, 0.22);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1.875em; /* 30pt */
  line-height: 1.28;
  color: var(--cta-ink);
}

.sheet-cta__headline span {
  display: block;
}

.sheet-cta__body {
  padding-left: 1.5em;
}

.sheet-cta__text {
  margin: 0 0 0.6625em; /* 10.6pt – gomb feletti térköz (IDML) */
  max-width: 22.5em;
  font-size: 0.875em; /* 14pt */
  line-height: 1.6;
  color: var(--cta-body);
}

.sheet-cta .btn {
  min-width: 14.4125em; /* 230.6pt */
  height: 3.25em; /* 52pt */
  padding: 0 1.125em;
  border: 0;
  border-radius: 0.53125em; /* 8.5pt */
  background: var(--cta-btn);
  color: #fff;
  font-size: 0.84375em; /* 13.5pt */
  font-weight: 800;
  letter-spacing: 0.08em; /* erősebb CTA-jelleg */
}

.page-sheet .sheet-cta {
  position: relative;
  width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-shadow: 0 0 0 100vmax var(--cta-bg);
  clip-path: inset(0 -100vmax);
}

/* ---- Footer (#292422, 99pt) ---- */
.page-sheet .sheet-footer {
  position: relative;
  min-height: 6.1875em; /* 99pt */
  padding: 1.625em var(--pad);
  background: #292422;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 0.625em; /* 10pt */
  line-height: 1.3; /* 13pt leading */
  box-shadow: 0 0 0 100vmax #292422;
  clip-path: inset(0 -100vmax);
}

.page-sheet .sheet-footer a {
  color: inherit;
}

.page-sheet .sheet-footer a:hover {
  color: #fff;
}

.page-sheet .sheet-footer__logo {
  flex-shrink: 0;
  width: 6.875em; /* 110pt */
}

.page-sheet .sheet-footer__logo img {
  width: 100%;
  height: auto;
}

.page-sheet .sheet-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.page-sheet .sheet-footer__col + .sheet-footer__col {
  margin-left: 15.625em; /* ~250pt – telefon / email oszlop */
}

.page-sheet .sheet-footer__logo + .sheet-footer__col {
  margin-left: 11.1875em; /* ~179pt – logó és cégadatok között */
}

.page-sheet .sheet-footer__line {
  margin: 0;
}

.page-sheet .sheet-footer__line--spaced {
  margin-top: 2.6em; /* 2×13pt – cím / email feletti térköz (IDML) */
}

/* ---- Desktop nav (≥1302px) / mobil menü alatta ---- */
@media (min-width: 1302px) {
  .sheet-top__nav--desktop { display: flex; }
  .page-sheet .sheet-top__photo .menu-toggle { display: none; }
}

@media (max-width: 1301px) {
  .sheet-top__nav--desktop { display: none; }
  .page-sheet .sheet-top__photo .menu-toggle { display: inline-flex; }

  .page-home .sheet-stats__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 899px) {
  .page-sheet .sheet-top__photo .menu-toggle--labeled {
    position: fixed;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 280;
  }

  .page-home .sheet-top__photo .menu-toggle--labeled {
    position: absolute;
  }

  .page-home .sheet-stats__grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---- Egyszerű aloldal hero (nincs jobb hasáb) ---- */
.sheet-top--simple {
  grid-template-rows: var(--photo-h);
}

.sheet-top--simple .sheet-top__left {
  grid-row: 1;
}

/* ---- Tartalmi szekciók ---- */
.sheet-section {
  padding: 3.125em var(--pad) 3.75em;
  background: #fff;
}

.sheet-section--tint {
  position: relative;
  background-color: #fdfaf9;
  box-shadow: 0 0 0 100vmax #fdfaf9;
  clip-path: inset(0 -100vmax);
}

.sheet-section--taupe {
  background: #d5ccbc;
}

.sheet-section__title {
  margin: 0 0 1.25em;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1.875em;
  line-height: 1.2;
  color: var(--ink-h);
}

.sheet-section__lead {
  margin: 0 0 1.5em;
  max-width: 40em;
  font-weight: 700;
  font-size: 1.1875em;
  line-height: 1.45;
}

.sheet-section__label {
  margin: 0 0 0.75em;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.sheet-prose {
  max-width: 52em;
  font-size: 0.9375em;
  line-height: 1.65;
}

.sheet-prose p {
  margin: 0 0 1em;
}

.sheet-prose p:last-child {
  margin-bottom: 0;
}

.sheet-two-col {
  display: grid;
  gap: 3em;
}

@media (min-width: 900px) {
  .sheet-two-col {
    grid-template-columns: 1fr 1fr;
    gap: 4em;
  }
}

.sheet-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sheet-list li {
  position: relative;
  padding-left: 1.25em;
  margin-bottom: 0.75em;
  font-size: 0.9375em;
  line-height: 1.6;
}

.sheet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: var(--bronze);
}

/* ---- Stats ruler (főoldal) ---- */
.sheet-stats {
  position: relative;
  padding: 3.125em var(--pad);
  background-color: #d5ccbc;
  box-shadow: 0 0 0 100vmax #d5ccbc;
  clip-path: inset(0 -100vmax);
}

.sheet-stats__title {
  margin: 0 0 2em;
  font-weight: 500;
  font-size: 1.875em;
  color: var(--ink-h);
}

.sheet-stats__grid {
  display: grid;
  gap: 2em;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .sheet-stats__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

.sheet-stat__value {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: 2.25em;
  line-height: 1;
  color: var(--ink-h);
}

.sheet-stat__label {
  margin-top: 0.5em;
  font-size: 0.8125em;
  line-height: 1.4;
}

/* ---- Referencia kártyák ---- */
.sheet-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 2em;
}

.sheet-filter__btn {
  padding: 0.5em 1em;
  border: 1px solid rgba(12, 11, 10, 0.15);
  background: transparent;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.sheet-filter__btn.is-active,
.sheet-filter__btn:hover {
  background: var(--ink-b-solid);
  border-color: var(--ink-b-solid);
  color: #fff;
}

.sheet-cards {
  display: grid;
  gap: 2em;
}

@media (min-width: 768px) {
  .sheet-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sheet-cards--stack {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .sheet-cards--stack {
    grid-template-columns: 1fr;
  }
}

.sheet-card {
  display: flex;
  flex-direction: column;
}

.sheet-card__media {
  aspect-ratio: 4 / 3;
  background: #c8c4be;
  overflow: hidden;
}

.sheet-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sheet-card__body {
  padding-top: 1em;
}

.sheet-card__meta {
  margin: 0 0 0.35em;
  font-size: 0.75em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.sheet-card__title {
  margin: 0 0 0.5em;
  font-size: 1.125em;
  font-weight: 600;
}

.sheet-card__text {
  margin: 0;
  font-size: 0.875em;
  line-height: 1.6;
  color: var(--muted);
}

/* ---- CTA egysoros (főoldal) ---- */
.sheet-cta--single {
  grid-template-columns: 1fr;
  text-align: left;
}

.sheet-cta--single .sheet-cta__headline {
  border-right: 0;
  padding-right: 0;
  margin-bottom: 0.5em;
}

.sheet-cta--single .sheet-cta__body {
  padding-left: 0;
}

/* ---- Űrlap ---- */
.sheet-form {
  display: grid;
  gap: 1.25em;
  max-width: 32em;
}

.sheet-form label {
  display: block;
  margin-bottom: 0.35em;
  font-size: 0.8125em;
  font-weight: 600;
}

.sheet-form input,
.sheet-form textarea {
  width: 100%;
  padding: 0.75em 1em;
  border: 1px solid rgba(12, 11, 10, 0.15);
  background: #fff;
  font-size: 0.9375em;
}

.sheet-form textarea {
  min-height: 8em;
  resize: vertical;
}

.sheet-form__row {
  display: grid;
  gap: 1.25em;
}

@media (min-width: 600px) {
  .sheet-form__row--2 {
    grid-template-columns: 1fr 1fr;
  }
}

.sheet-media {
  position: relative; /* F14: media-frame__spinner pozícionálási alap */
  aspect-ratio: 16 / 10;
  background: #c8c4be;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(12, 11, 10, 0.45);
  font-size: 0.875em;
}

.sheet-pillars {
  display: grid;
  gap: 1.5em;
  margin-top: 1.5em;
}

.sheet-pillar__title {
  margin: 0 0 0.35em;
  font-size: 1rem;
  font-weight: 600;
}

.sheet-cards:has(> .sheet-media) {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 767px) {
  .sheet-cards:has(> .sheet-media) {
    grid-template-columns: 1fr;
  }
}
