/* Corporate footer and information pages */
.footer-directory {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 5vw;
  margin-top: clamp(90px, 11vw, 170px);
  padding: 44px 0 52px;
  border-top: 1px solid #ffffff1e;
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.footer-column h2 {
  margin: 0 0 10px;
  color: #777680;
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.footer-column a {
  color: #d1cfd5;
  font-size: .95rem;
  transition: color .2s;
}

.footer-column a:hover { color: var(--lime); }

.footer-intro p {
  max-width: 300px;
  margin: 0 0 14px;
  color: #9a99a1;
  font-size: 1rem;
  line-height: 1.6;
}

.footer-intro a {
  color: var(--lilac);
  font-size: .82rem;
  letter-spacing: .08em;
}

.footer-bottom { margin-top: 0; }

.corporate-page {
  padding: 180px max(5vw, 28px) 140px;
  background: linear-gradient(180deg, #0c0b10 0, #070708 520px);
}

.corporate-hero {
  min-height: 470px;
  max-width: 1200px;
  padding: 65px 0 95px;
  border-bottom: 1px solid var(--line);
}

.corporate-hero h1 {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(5rem, 13vw, 12rem);
  line-height: .78;
  letter-spacing: -.075em;
}

.corporate-hero > p:last-child {
  max-width: 730px;
  margin: 52px 0 0;
  color: #aaa9b1;
  font-size: clamp(1.05rem, 1.55vw, 1.35rem);
  line-height: 1.65;
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(200px, .35fr) minmax(0, 1fr);
  gap: 9vw;
  max-width: 1400px;
  padding-top: 85px;
}

.legal-index {
  position: sticky;
  top: 120px;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.legal-index span {
  margin-bottom: 10px;
  color: #66656d;
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.legal-index a { color: #aaa9b1; font-size: .9rem; }
.legal-index a:hover { color: var(--lime); }
.legal-copy { max-width: 920px; }

.legal-copy section {
  scroll-margin-top: 120px;
  padding: 0 0 62px;
  margin-bottom: 62px;
  border-bottom: 1px solid var(--line);
}

.legal-copy section:last-child { margin-bottom: 0; }

.legal-copy h2 {
  margin: 0 0 24px;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.legal-copy p:not(.eyebrow) {
  margin: 0;
  color: #b4b2ba;
  font: 1.08rem/1.85 Georgia, "Times New Roman", serif;
}

.legal-copy a {
  color: var(--lilac);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-page { padding-bottom: 170px; }

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1500px;
  padding-top: 80px;
}

.contact-card,
.inquiry-grid > a {
  min-height: 370px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #111115;
  transition: transform .25s, border-color .25s, background .25s;
}

.contact-card:hover,
.inquiry-grid > a:hover {
  transform: translateY(-5px);
  border-color: #ffffff45;
  background: #15151a;
}

.contact-card.primary { background: var(--lilac); color: #0b0911; }

.contact-card > span,
.inquiry-grid > a > span {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .62;
}

.contact-card h2,
.inquiry-grid h2 {
  margin: 28px 0 16px;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.contact-card p,
.inquiry-grid p { margin: 0; color: #98969f; line-height: 1.65; }
.contact-card.primary p { color: #413b50; }

.contact-card b,
.inquiry-grid b { margin-top: auto; padding-top: 35px; font-size: .86rem; }

.inquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  max-width: 1300px;
  padding-top: 80px;
}

.inquiry-grid > a { min-height: 340px; }
.inquiry-grid > a:nth-child(1) { background: var(--lime); color: #0b0b0c; }
.inquiry-grid > a:nth-child(1) p { color: #414b29; }

.inquiry-note {
  max-width: 790px;
  margin: 55px 0 0;
  color: #777680;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .footer-directory { grid-template-columns: repeat(2, 1fr); gap: 42px; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-index { position: static; display: none; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-card { min-height: 300px; }
}

@media (max-width: 560px) {
  .footer-directory { grid-template-columns: 1fr; margin-top: 80px; padding-top: 35px; }
  .footer-column { gap: 10px; }
  .corporate-page { padding: 140px 20px 95px; }
  .corporate-hero { min-height: 400px; padding-top: 35px; }
  .corporate-hero h1 { font-size: clamp(4rem, 23vw, 7rem); }
  .legal-layout { padding-top: 60px; }
  .legal-copy section { padding-bottom: 44px; margin-bottom: 44px; }
  .inquiry-grid { grid-template-columns: 1fr; }
  .contact-card,
  .inquiry-grid > a { min-height: 300px; padding: 24px; }
}
