/* Issue 380 / PR 383 approved layout. Every selector stays inside the TOP root. */

.leveler-site--top {
  --leveler-top-business-gap: clamp(28px, 5vw, 72px);
  --leveler-top-business-group-gap: clamp(44px, 6vw, 80px);
}

.leveler-site--top .leveler-top-context-break {
  display: inline;
}

.leveler-site--top .leveler-business-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--leveler-top-business-group-gap);
}

.leveler-site--top .leveler-business-group {
  display: grid;
  grid-template-columns: minmax(240px, 0.68fr) minmax(0, 1.32fr);
  gap: var(--leveler-top-business-gap);
  align-items: start;
}

.leveler-site--top .leveler-business-group__intro {
  min-width: 0;
  padding-top: 4px;
}

.leveler-site--top .leveler-business-group__intro .leveler-eyebrow {
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.72);
}

.leveler-site--top .leveler-business-group__intro h3 {
  margin-bottom: 22px;
  color: var(--leveler-white);
  font-size: clamp(28px, 2.8vw, 44px);
  line-height: 1.35;
  letter-spacing: -0.04em;
}

.leveler-site--top .leveler-business-group__description {
  display: grid;
  gap: 12px;
}

.leveler-site--top .leveler-business-group__description > p {
  max-width: 34em;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.85;
  text-wrap: balance;
}

.leveler-site--top .leveler-business-group__entries {
  display: grid;
  gap: clamp(14px, 1.7vw, 28px);
  min-width: 0;
  align-items: start;
}

.leveler-site--top .leveler-business-group--marketing .leveler-business-group__entries {
  grid-template-columns: minmax(0, 1fr);
}

.leveler-site--top .leveler-business-group--network .leveler-business-group__entries {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.leveler-site--top .leveler-business-card {
  min-height: 0;
}

.leveler-site--top .leveler-business-card--primary {
  grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr);
  grid-template-rows: auto;
}

.leveler-site--top .leveler-business-card--primary .leveler-business-card__visual {
  aspect-ratio: 3 / 2;
}

.leveler-site--top .leveler-business-card--primary .leveler-business-card__body {
  justify-content: flex-start;
  padding: clamp(28px, 4vw, 58px);
}

.leveler-site--top .leveler-business-card h4 {
  margin: 0 0 18px;
  color: var(--leveler-ink);
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.18;
}

.leveler-site--top .leveler-business-card__body > .leveler-text-link {
  margin-top: auto;
}

.leveler-site--top .leveler-business-card--network {
  grid-template-rows: auto auto;
}

.leveler-site--top .leveler-business-card--network .leveler-business-card__visual {
  aspect-ratio: 3 / 1;
}

.leveler-site--top .leveler-business-card--network .leveler-business-card__body {
  padding: clamp(18px, 2vw, 28px);
}

.leveler-site--top .leveler-business-card--network h4 {
  margin-bottom: 10px;
  font-size: clamp(20px, 1.7vw, 28px);
  line-height: 1.3;
}

.leveler-site--top .leveler-business-card--network .leveler-business-card__body > p {
  font-size: clamp(14px, 0.95vw, 16px);
  line-height: 1.65;
}

.leveler-site--top .leveler-philosophy__copy > p + p {
  margin-top: clamp(18px, 2.5vw, 28px);
}

.leveler-site--top .leveler-philosophy__lead {
  font-weight: 750;
}

.leveler-site--top .leveler-philosophy__grid > div:last-child > .leveler-text-link {
  margin-top: clamp(24px, 3vw, 36px);
}

@media (max-width: 960px) {
  .leveler-site--top .leveler-business-group {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .leveler-site--top .leveler-business-group__intro {
    max-width: 720px;
  }
}

@media (max-width: 860px) {
  .leveler-site--top .leveler-top-context-break {
    display: none;
  }

  .leveler-site--top .leveler-business-card--primary {
    grid-template-columns: minmax(132px, 29%) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .leveler-site--top .leveler-business-card--primary .leveler-business-card__body {
    padding: clamp(22px, 4vw, 36px);
  }

  .leveler-site--top .leveler-business-group--network .leveler-business-group__entries {
    grid-template-columns: 1fr;
  }

  .leveler-site--top .leveler-business-card--network {
    grid-template-columns: minmax(132px, 24%) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .leveler-site--top .leveler-business-card--network .leveler-business-card__visual,
  .leveler-site--top .leveler-business-card--primary .leveler-business-card__visual {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 560px) {
  .leveler-site--top .leveler-business-card--primary {
    grid-template-columns: clamp(92px, 26%, 126px) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .leveler-site--top .leveler-business-card--primary .leveler-business-card__body {
    padding: 20px 16px 22px;
  }

  .leveler-site--top .leveler-business-card--primary h4 {
    margin-bottom: 10px;
    font-size: 24px;
  }

  .leveler-site--top .leveler-business-group {
    gap: 24px;
  }

  .leveler-site--top .leveler-business-group__intro h3 {
    margin-bottom: 16px;
    font-size: 30px;
  }

  .leveler-site--top .leveler-business-group__description > p {
    font-size: 15px;
    line-height: 1.8;
  }

  .leveler-site--top .leveler-business-card--network {
    grid-template-columns: clamp(92px, 28%, 140px) minmax(0, 1fr);
  }

  .leveler-site--top .leveler-business-card--network .leveler-business-card__body {
    padding: 18px 16px 20px;
  }

  .leveler-site--top .leveler-business-card--network h4 {
    margin-bottom: 8px;
    font-size: 21px;
  }

  .leveler-site--top .leveler-business-card--network .leveler-business-card__body > p {
    margin-bottom: 14px;
    font-size: 13.5px;
    line-height: 1.55;
  }
}

/* J-01..03: keep Japanese words intact while preserving the approved copy. */
.leveler-site--top .leveler-business-group__intro h3 .leveler-top-keep {
  white-space: nowrap;
}
@media (max-width: 560px) {
  .leveler-site--top .leveler-hero__context .leveler-top-keep,
  .leveler-site--top .leveler-business-card--network p .leveler-top-keep {
    white-space: nowrap;
  }
}

/* Oct4 J-01/J-02: preserve approved philosophical terms and sentence ending. */
.leveler-site--top .leveler-philosophy__copy .leveler-top-keep {
  white-space: nowrap;
}

/* Issue 469: approved four-value philosophy section; other TOP sections stay unchanged. */
.leveler-site--top .leveler-philosophy__label {
  margin: 0;
  color: var(--leveler-navy);
  font: 750 14px/1.5 var(--lv-font-ui) !important; /* UI role overrides the legacy h2 adapter. */
  letter-spacing: .025em;
}
.leveler-site--top .leveler-philosophy__copy { min-width: 0; }
.leveler-site--top .leveler-philosophy__copy > .leveler-philosophy__intro { margin: 0 0 40px; line-break: strict; }
.leveler-site--top .leveler-philosophy__pillars { display: grid; gap: 36px; }
.leveler-site--top .leveler-philosophy__pillar h3 {
  margin: 0 0 12px;
  color: var(--leveler-ink);
  font-size: clamp(32px, 3.25vw, 48px);
  line-height: 1.4;
  letter-spacing: -.035em;
  font-weight: 600;
}
.leveler-site--top .leveler-philosophy__pillar p {
  margin: 0;
  color: var(--leveler-muted);
  font-size: clamp(16px, 1.15vw, 20px);
  line-height: 1.85;
  line-break: strict;
}
.leveler-site--top .leveler-philosophy__title-phrase { display: inline-block; white-space: nowrap; }
@media (max-width: 560px) {
  .leveler-site--top .leveler-philosophy__copy > .leveler-philosophy__intro { margin-bottom: 28px; }
  .leveler-site--top .leveler-philosophy__pillars { gap: 30px; }
  .leveler-site--top .leveler-philosophy__pillar h3 { font-size: 32px; margin-bottom: 10px; }
}
