:root { --gold: #d5d8df; --cream: #f4f5f7; }
.nav { position: absolute; inset: 0 0 auto; padding: 1.5rem 4vw; }
.monogram, .intro-line span, .intro-line strong, footer a { font-family: 'DM Sans', sans-serif; letter-spacing: -.045em; }
.intro-copy .intro-lead { position: absolute; left: 0; right: 0; bottom: 75%; margin: 0 0 .5rem; }
.hero {
  isolation: isolate;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 8rem 1.5rem 9rem;
  background: #08090c;
  text-align: center;
}
.hero-colors { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.color-wash { position: absolute; inset: -15%; opacity: 0; }
.color-blue { background: radial-gradient(ellipse at 24% 60%, #17489c 0%, #153064 22%, transparent 58%); }
.color-violet { background: radial-gradient(ellipse at 76% 38%, #7131a3 0%, #3c225e 24%, transparent 60%); }
.color-teal { background: radial-gradient(ellipse at 50% 85%, #087c83 0%, #0b424c 24%, transparent 58%); }
.hero-colors::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#08090c85, #08090c45 40%, #08090c99); }
.hero-center { width: 100%; max-width: 100rem; }
.hero-signature { margin: 0 0 2rem; font-size: .8125rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .26em; color: #aeadab; }
.hero h1 { display: flex; justify-content: center; gap: .25em; font-family: 'DM Sans', sans-serif; font-size: clamp(2rem, 6.2vw, 6.5rem); line-height: 1.15; letter-spacing: -.055em; margin: 0; font-weight: 600; }
.hero-line { display: block; overflow: hidden; padding: .12em .03em; white-space: nowrap; flex-shrink: 0; }
.hero-line > span { display: block; }
.hero-rule { width: 3rem; height: 1px; background: #818894; margin: 2rem auto 0; }
footer { background: #101217; color: #f4f5f7; border-top: 1px solid #ffffff15; }
footer a { font-size: clamp(2rem, 8vw, 8rem); border-color: #ffffff25; }
.hero-meta { position: absolute; bottom: 2rem; left: 4vw; right: 4vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.hero-meta > span { font-size: .8125rem; line-height: 1.5; letter-spacing: .1em; color: #aeadab; text-align: left; }
.hero-meta > span:last-child { text-align: right; }
.hero-meta .round-link { width: 48px; height: 48px; border-color: #ffffff30; }
@media (max-width: 700px) {
  .nav { padding: 1rem 1.25rem; }
  .hero { min-height: 100svh; padding: 7rem 1.25rem 8rem; }
  .hero h1 { flex-direction: column; align-items: center; gap: 0; font-size: clamp(1.75rem, 10vw, 4.25rem); line-height: 1.12; }
  .hero-signature { font-size: .75rem; letter-spacing: .18em; margin-bottom: 1.5rem; }
  .hero-meta { left: 1.25rem; right: 1.25rem; bottom: max(1.25rem, env(safe-area-inset-bottom)); gap: .75rem; }
  .hero-meta > span { font-size: .75rem; letter-spacing: .02em; }
}
@media (max-height: 550px) and (min-width: 701px) {
  .hero { padding-top: 6rem; }
  .hero h1 { font-size: clamp(2rem, 6.2vw, 4rem); }
}
