/* The homepage's opening film, composed for the Business palette and copy. */
body.business-page.has-business-film:not(.firm-signed-in):not(.client-open) .premium-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  background: transparent;
  border-bottom-color: #d4b98c30;
}
.business-entry-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 760px;
  min-height: min(1000px, max(760px, 94svh));
  padding: calc(var(--entry-header-height, 110px) + 70px) 0 140px;
  overflow: hidden;
  background: #1b1725;
  color: #fff7eb;
}
.business-entry-media,
.business-entry-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.business-entry-media { z-index: -3; }
.business-entry-poster,
.business-entry-video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
  filter: saturate(.6) sepia(.13);
}
.business-entry-video { opacity: 0; transition: opacity 1s ease; }
.business-entry-hero.has-video-frame .business-entry-video { opacity: 1; }
.business-entry-shade {
  z-index: -2;
  background: linear-gradient(90deg, #21162dee 0%, #24172cd9 26%, #271d3175 58%, #32213a20 100%),
    linear-gradient(180deg, #1b122ca6 0%, transparent 28%, transparent 61%, #211c2de8 100%);
}
.business-entry-content { position: relative; }
.business-entry-content .business-entry-eyebrow {
  color: #e3c89f;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .17em;
  font-weight: 600;
  margin: 0 0 31px;
}
body.business-page .business-entry-content h1 {
  color: #fff8ed;
  max-width: 1020px;
  font-size: clamp(56px, 6.6vw, 96px);
  line-height: 1.04;
  letter-spacing: -.043em;
  margin: 0;
}
body.business-page .business-entry-content h1 em { color: #e5c99c; }
.business-entry-content .business-entry-lead {
  max-width: 520px;
  color: #e4dae7;
  font-size: 18px;
  line-height: 1.75;
  margin: 31px 0 30px;
}
.business-entry-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 29px; }
.business-entry-actions .button {
  min-height: 56px;
  padding: 15px 23px;
  background: #dbc097;
  border-color: #dbc097;
  color: #281d2f;
  font-size: 14px;
}
.business-entry-actions .button:hover { background: #f0d8b4; border-color: #f0d8b4; }
.business-entry-explore {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 18px;
  color: #f1e7f0;
  font-size: 14px;
  text-decoration: none;
}
.business-entry-explore:hover { text-decoration: underline; }
.business-entry-content .business-entry-note {
  color: #cbbcce;
  font-size: 12px;
  line-height: 1.65;
  margin: 22px 0 0;
}
.business-entry-bottom {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid #dbc09736;
}
.business-entry-scroll {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  text-decoration: none;
  color: #decee3;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .08em;
}
.business-entry-scroll > span { color: #e4c59a; font-size: 22px; }
.business-entry-scroll:hover { color: #fff1d6; }
.business-entry-playback {
  flex-shrink: 0;
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid #cfb18780;
  border-radius: 30px;
  background: #281b328a;
  color: #f0ddc1;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}
.business-entry-playback:hover { background: #46324dbb; }
.business-entry-playback:disabled { opacity: .8; cursor: default; }
.business-entry-hero :is(a, button):focus-visible { outline: 3px solid #f1d5a8; outline-offset: 5px; }
body.business-page #business-perspective .hero-copy h2 {
  color: #fffaf1;
  font-size: clamp(44px, 4.7vw, 68px);
  line-height: 1.12;
  letter-spacing: -.048em;
  margin-bottom: 26px;
}
body.business-page #business-perspective .hero-copy h2 em { color: var(--gold); }
@media (max-width: 1000px) {
  .business-entry-hero { padding-top: calc(var(--entry-header-height, 165px) + 55px); }
  body.business-page .business-entry-content h1 { font-size: clamp(55px, 7.4vw, 77px); }
  .business-entry-shade {
    background: linear-gradient(90deg, #21162de6, #24172cb0 55%, #32213a45),
      linear-gradient(180deg, #1b122ca6, transparent 35%, #211c2de8);
  }
}
@media (max-width: 700px) {
  .business-entry-hero {
    min-height: 800px;
    min-height: max(800px, 100svh);
    padding: calc(var(--entry-header-height, 200px) + 56px) 0 150px;
    align-items: flex-end;
  }
  .business-entry-poster,
  .business-entry-video { object-position: 66% center; }
  .business-entry-shade {
    background: linear-gradient(180deg, #21162dbb 0%, #24172c60 23%, #24172cbc 50%, #211c2df5 100%);
  }
  .business-entry-content .business-entry-eyebrow { font-size: 11px; letter-spacing: .12em; margin-bottom: 24px; }
  body.business-page .business-entry-content h1 { font-size: clamp(46px, 10.4vw, 68px); line-height: 1.07; }
  .business-entry-content .business-entry-lead { font-size: 16px; line-height: 1.65; margin: 25px 0; max-width: 470px; }
  .business-entry-actions { gap: 10px 23px; }
  .business-entry-actions .button { padding: 14px 18px; font-size: 13px; }
  .business-entry-explore { font-size: 13px; }
  .business-entry-content .business-entry-note { margin-top: 17px; }
  .business-entry-bottom { bottom: 24px; gap: 15px; padding-top: 20px; }
  .business-entry-scroll { max-width: 200px; font-size: 10px; letter-spacing: .035em; }
  .business-entry-playback { padding: 10px 13px; }
  body.business-page #business-perspective .hero-copy h2 { font-size: clamp(43px, 8.5vw, 60px); margin-bottom: 22px; }
}
@media (max-width: 380px) {
  .business-entry-actions { display: grid; gap: 8px; }
  .business-entry-explore { justify-content: center; }
  .business-entry-scroll { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { .business-entry-video { transition: none; } }
@media print {
  .business-entry-hero { display: none; }
  body.business-page.has-business-film .premium-header { position: static; }
}

/* Returning firms can sign in directly from the cinematic opening. */
.business-entry-actions .business-entry-login {
  background: #281b327d;
  border-color: #d4b98c;
  color: #fff0d7;
  min-width: 110px;
}
.business-entry-actions .business-entry-login:hover {
  background: #49334fbf;
  border-color: #f0d8b4;
  color: #fff6e8;
}
