/* =========================================================
   PAGE — Landing V2 Services First
   Client-feedback direction: services before portfolio, calm
   motion, low-maintenance visuals, logo credibility, leadership.
   ========================================================= */

.lv2-body {
  background: var(--page-bg);
  --lv2-hero-size: clamp(4.4rem, 9vw, 8.8rem);
  --lv2-hero-leading: 0.9;
  --lv2-hero-tracking: -0.035em;
  --lv2-hero-width: 12.5ch;
  --lv2-section-title-size: var(--type-section-sm);
  --lv2-section-title-leading: var(--leading-display);
  --lv2-section-title-width: 14ch;
  --lv2-display-tracking: -0.025em;
  --lv2-display-weight: 800;
}

.lv2-body[data-display-font="staatliches"] {
  --lv2-hero-size: clamp(3.8rem, 7.4vw, 6.9rem);
  --lv2-hero-leading: 0.98;
  --lv2-hero-tracking: 0.018em;
  --lv2-hero-width: 14.5ch;
  --lv2-section-title-size: clamp(2.45rem, 4.8vw, 4.6rem);
  --lv2-section-title-leading: 1.04;
  --lv2-section-title-width: 15ch;
  --lv2-display-tracking: 0.012em;
  --lv2-display-weight: 400;
}

.lv2-body[data-display-font="bowlby"] {
  --lv2-hero-size: clamp(2.35rem, 4.55vw, 4.35rem);
  --lv2-hero-leading: 1.14;
  --lv2-hero-tracking: -0.006em;
  --lv2-hero-width: 19ch;
  --lv2-section-title-size: clamp(1.75rem, 3vw, 2.9rem);
  --lv2-section-title-leading: 1.18;
  --lv2-section-title-width: 18ch;
  --lv2-display-tracking: -0.006em;
  --lv2-display-weight: 400;
}

.lv2-body[data-display-font="boldonse"] {
  --lv2-hero-size: clamp(2rem, 3.75vw, 3.55rem);
  --lv2-hero-leading: 1.34;
  --lv2-hero-tracking: var(--tracking-none);
  --lv2-hero-width: 22ch;
  --lv2-section-title-size: clamp(1.55rem, 2.65vw, 2.55rem);
  --lv2-section-title-leading: 1.32;
  --lv2-section-title-width: 20ch;
  --lv2-display-tracking: var(--tracking-none);
  --lv2-display-weight: 400;
}

.lv2-body[data-display-font="default"] {
  --lv2-hero-size: var(--type-hero);
  --lv2-hero-leading: var(--leading-display);
  --lv2-hero-tracking: var(--tracking-display);
  --lv2-hero-width: 11.5ch;
  --lv2-section-title-size: var(--type-section-sm);
  --lv2-section-title-leading: var(--leading-display);
  --lv2-section-title-width: 14ch;
  --lv2-display-tracking: var(--tracking-heading);
  --lv2-display-weight: 800;
}

.lv2-section {
  padding: var(--space-section-y-fluid) 0;
}

.lv2-wrap {
  width: var(--shell);
  margin-inline: auto;
}

.lv2-hero {
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: calc(var(--header-height) + var(--space-stack-xl)) 0 var(--space-section-y-tight);
}

.lv2-hero-grid {
  display: grid;
  gap: var(--space-section-gap);
}

.lv2-eyebrow,
.lv2-label {
  margin: 0;
  color: var(--pr-rocket);
  font-size: var(--type-micro);
  font-weight: 800;
  letter-spacing: var(--tracking-kicker);
  text-transform: uppercase;
}

.lv2-hero h1,
.lv2-section-title,
.lv2-cta-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--lv2-display-weight);
  letter-spacing: var(--lv2-display-tracking);
  text-wrap: balance;
}

.lv2-hero h1 {
  max-width: var(--lv2-hero-width);
  font-size: var(--lv2-hero-size);
  line-height: var(--lv2-hero-leading);
  letter-spacing: var(--lv2-hero-tracking);
}

.lv2-hero-copy {
  display: grid;
  gap: var(--space-stack-lg);
  max-width: 62ch;
}

.lv2-hero-copy p {
  margin: 0;
  max-width: 52ch;
  font-size: var(--type-lede);
  line-height: var(--leading-body);
  color: color-mix(in srgb, var(--page-fg), transparent 20%);
}

.lv2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-row-sm);
}

.lv2-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.lv2-proof-item {
  padding: var(--space-stack-lg) var(--space-card-pad);
  border-right: 1px solid var(--color-border);
}

.lv2-proof-item:last-child {
  border-right: 0;
}

.lv2-proof-item strong {
  display: block;
  font-family: var(--font-body);
  font-size: var(--type-heading-md);
  font-weight: 800;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-none);
}

.lv2-proof-item span {
  display: block;
  margin-top: var(--space-row-xs);
  color: color-mix(in srgb, var(--page-fg), transparent 34%);
}

.lv2-section-head {
  display: grid;
  gap: var(--space-stack-md);
  margin-bottom: var(--space-section-head);
}

.lv2-section-title {
  max-width: var(--lv2-section-title-width);
  font-size: var(--lv2-section-title-size);
  line-height: var(--lv2-section-title-leading);
}

.lv2-section-head p:not(.lv2-label) {
  margin: 0;
  max-width: 56ch;
  font-size: var(--type-lede);
  line-height: var(--leading-body);
  color: color-mix(in srgb, var(--page-fg), transparent 24%);
}

.lv2-services {
  display: grid;
  border-top: 1px solid var(--color-border);
}

.lv2-service-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) auto;
  gap: var(--space-row-lg);
  align-items: center;
  padding: var(--space-stack-lg) 0;
  border-bottom: 1px solid var(--color-border);
}

.lv2-service-row strong {
  font-family: var(--font-body);
  font-size: var(--type-heading-md);
  font-weight: 800;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-none);
}

.lv2-service-row p {
  margin: 0;
  max-width: 54ch;
  line-height: var(--leading-body);
  color: color-mix(in srgb, var(--page-fg), transparent 28%);
}

.lv2-service-row span {
  color: var(--pr-rocket);
  font-size: var(--type-micro);
  font-weight: 800;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.lv2-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--color-border);
  border: 1px solid var(--color-border);
}

.lv2-process-card {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-stack-lg);
  padding: var(--space-card-pad);
  background: var(--page-bg);
}

.lv2-process-card span {
  color: var(--pr-rocket);
  font-size: var(--type-micro);
  font-weight: 800;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.lv2-process-card h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--type-card);
  font-weight: 800;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-none);
}

.lv2-process-card p {
  margin: 0;
  line-height: var(--leading-body-tight);
  color: color-mix(in srgb, var(--page-fg), transparent 30%);
}

.lv2-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--color-border);
  border: 1px solid var(--color-border);
}

.lv2-logo-cell {
  min-height: 132px;
  display: grid;
  place-items: center;
  padding: var(--space-card-pad);
  background: var(--page-bg);
  color: color-mix(in srgb, var(--page-fg), transparent 28%);
  font-size: var(--type-micro);
  font-weight: 800;
  letter-spacing: var(--tracking-meta);
  text-align: center;
  text-transform: uppercase;
}

.lv2-visual-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1fr;
  gap: var(--space-grid-md);
  align-items: end;
}

.lv2-visual-card {
  margin: 0;
}

.lv2-visual-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-media);
  filter: saturate(0.82) contrast(1.04);
}

.lv2-visual-card:nth-child(2) img {
  aspect-ratio: 1 / 1;
}

.lv2-visual-card figcaption {
  margin-top: var(--space-row-sm);
  color: color-mix(in srgb, var(--page-fg), transparent 34%);
  font-size: var(--type-small);
}

.lv2-team {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-grid-md);
}

.lv2-team-card {
  display: grid;
  gap: var(--space-row-md);
}

.lv2-team-photo {
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-media);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pr-rocket), transparent 68%), transparent 58%),
    color-mix(in srgb, var(--page-fg), transparent 88%);
}

.lv2-team-card h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--type-card-sm);
  font-weight: 800;
  line-height: var(--leading-heading);
}

.lv2-team-card p {
  margin: 0;
  color: color-mix(in srgb, var(--page-fg), transparent 34%);
}

.lv2-cta {
  min-height: 72svh;
  display: grid;
  align-items: center;
}

.lv2-cta-box {
  display: grid;
  gap: var(--space-stack-lg);
  max-width: 760px;
}

.lv2-cta-title {
  font-size: var(--type-section);
  line-height: var(--lv2-section-title-leading);
}

.lv2-cta-box p {
  margin: 0;
  max-width: 52ch;
  font-size: var(--type-lede);
  line-height: var(--leading-body);
  color: color-mix(in srgb, var(--page-fg), transparent 24%);
}

@media (max-width: 980px) {
  .lv2-proof-strip,
  .lv2-process,
  .lv2-logo-grid,
  .lv2-team {
    grid-template-columns: 1fr 1fr;
  }

  .lv2-service-row {
    grid-template-columns: 1fr;
  }

  .lv2-visual-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 640px) {
  .lv2-proof-strip,
  .lv2-process,
  .lv2-logo-grid,
  .lv2-team {
    grid-template-columns: 1fr;
  }

  .lv2-hero h1 {
    font-size: var(--type-section);
  }

}
