.landing-page {
  --landing-rule-strong: #777a80;
  --landing-paper: #f2f2ef;
  --landing-paper-muted: #5c5e62;
}

.landing-shell { background: var(--canvas); }

.landing-masthead {
  grid-template-columns: minmax(0, 1fr) auto;
}

.landing-statement {
  min-width: 0;
  min-height: 56px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  color: var(--text);
  font-family: var(--display);
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: var(--heading-tracking);
  white-space: nowrap;
}

.current-register { border-bottom: 2px solid var(--text); }
.current-register a {
  min-height: 76px;
  display: grid;
  grid-template-columns: clamp(136px, 15vw, 220px) minmax(230px, .75fr) minmax(280px, 1.25fr) 44px;
  align-items: center;
  gap: 18px;
  padding: 0 20px;
  text-decoration: none;
}

.current-register span,
.current-register small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.current-register strong { font-size: 18px; font-weight: 600; }
.current-register b { justify-self: end; font-size: 24px; font-weight: 400; }
.current-register a:hover,
.current-register a:focus-visible { color: var(--ink); background: var(--text); }
.current-register a:hover span,
.current-register a:hover small,
.current-register a:focus-visible span,
.current-register a:focus-visible small { color: #4f5156; }

.identity-section-head {
  min-height: 70px;
  display: grid;
  grid-template-columns: clamp(136px, 15vw, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 0 20px;
  border-bottom: 1px solid var(--rule);
}

.identity-section-head span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.identity-section-head h2 { font-size: clamp(22px, 2.4vw, 36px); letter-spacing: var(--heading-tracking); }

.identity-entry {
  min-height: 230px;
  display: grid;
  grid-template-columns: clamp(240px, 28vw, 420px) minmax(300px, 1fr) minmax(180px, 250px);
  border-bottom: 1px solid var(--rule);
}

.identity-entry > * { min-width: 0; padding: 28px 22px; }
.identity-entry > * + * { border-left: 1px solid var(--rule); }
.identity-entry header { display: flex; flex-direction: column; justify-content: space-between; }
.identity-entry header p { color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.identity-entry h3 { max-width: 11ch; font-size: clamp(34px, 4vw, 60px); font-weight: 600; line-height: .9; letter-spacing: var(--heading-tracking); }
.identity-entry > p { align-self: end; max-width: 62ch; color: var(--soft); font-size: clamp(15px, 1.25vw, 18px); }
.identity-entry nav { display: flex; flex-direction: column; justify-content: flex-end; padding-block: 18px; }
.identity-entry nav a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 2px;
  border-top: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .035em;
  text-decoration: none;
  text-transform: uppercase;
}
.identity-entry nav a:last-child { border-bottom: 1px solid var(--rule); }
.identity-entry nav a:hover { color: var(--throat); }

.consulting-register {
  display: grid;
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
  color: #101113;
  background: var(--landing-paper);
  border-bottom: 1px solid var(--landing-rule-strong);
}

.consulting-register__mark {
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: clamp(26px, 4vw, 54px);
  background: #000;
  border-right: 1px solid var(--landing-rule-strong);
}

.consulting-register__mark a { width: min(100%, 620px); display: block; }
.consulting-register__mark img { width: 100%; }
.consulting-register__copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(30px, 4vw, 58px); }
.consulting-register__label { padding-bottom: 28px; color: #176b95; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.consulting-register__copy h2 { max-width: 13ch; font-size: clamp(38px, 4.8vw, 70px); font-weight: 600; line-height: .9; letter-spacing: var(--heading-tracking); }
.consulting-register__copy > p:not(.consulting-register__label) { max-width: 58ch; margin-top: 20px; color: var(--landing-paper-muted); font-size: clamp(15px, 1.2vw, 18px); }
.consulting-register__actions { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 22px; border-top: 1px solid #9d9e9c; }
.consulting-register__actions a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #101113;
  border-bottom: 1px solid #9d9e9c;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .035em;
  text-decoration: none;
  text-transform: uppercase;
}
.consulting-register__actions a:hover { color: #176b95; }

@media (max-width: 1180px) {
  .identity-entry { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); }
  .identity-entry nav { grid-column: 1 / -1; flex-direction: row; padding: 0; border-top: 1px solid var(--rule); border-left: 0; }
  .identity-entry nav a { flex: 1; padding-inline: 20px; border-top: 0; border-right: 1px solid var(--rule); border-bottom: 0; }
  .identity-entry nav a:last-child { border-right: 0; border-bottom: 0; }
}

@media (max-width: 860px) {
  .landing-statement { min-height: 64px; padding-block: 14px; font-size: clamp(18px, 4.2vw, 26px); white-space: normal; }
  .current-register a { grid-template-columns: 1fr 44px; gap: 8px 18px; padding-block: 16px; }
  .current-register strong,
  .current-register small { grid-column: 1; }
  .current-register b { grid-column: 2; grid-row: 1 / 4; }
  .identity-section-head { grid-template-columns: 1fr; padding-block: 16px; }
  .identity-section-head h2 { grid-column: 1 / -1; grid-row: 2; }
  .identity-entry { grid-template-columns: 1fr; }
  .identity-entry > * + * { border-top: 1px solid var(--rule); border-left: 0; }
  .identity-entry header,
  .identity-entry > p { min-height: 0; }
  .identity-entry nav { grid-column: 1; }
  .consulting-register { grid-template-columns: 1fr; }
  .consulting-register__mark { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--landing-rule-strong); }
}

@media (max-width: 580px) {
  .landing-statement,
  .current-register a,
  .identity-section-head { padding-inline: 14px; }
  .identity-entry > * { padding: 22px 14px; }
  .identity-entry h3 { font-size: 43px; }
  .identity-entry nav { display: block; }
  .identity-entry nav a { width: 100%; border-right: 0; border-bottom: 1px solid var(--rule); }
  .consulting-register__mark { min-height: 170px; padding: 26px 20px; }
  .consulting-register__copy { padding: 28px 18px; }
  .consulting-register__label { padding-bottom: 22px; }
  .consulting-register__copy h2 { font-size: 40px; }
  .consulting-register__actions { display: grid; }
}

@media (prefers-contrast: more) {
  .landing-page { --landing-rule-strong: #111; --landing-paper-muted: #202124; }
}
