/* Selected concept 05. The film and its approved folder motion are unchanged. */
.hero.hero-cinema { padding: 0; background: #050c1b; color: #f6f8fc; }
.hero-stage { position: relative; isolation: isolate; overflow: hidden; min-height: 780px; height: clamp(780px, 57vw, 940px); }
.hero-cinema-media, .hero-cinema-wash { position: absolute; inset: 0; pointer-events: none; }
.hero-cinema-media img, .hero-cinema-media video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.hero-cinema-media .hero-video { z-index: 1; }
.hero-cinema-wash { z-index: 2; background: linear-gradient(90deg, #03091540, transparent 48%); }
.hero-cinema .hero-grid { position: relative; z-index: 3; display: flex; align-items: center; height: 100%; padding-block: 136px 107px; }
.hero-cinema .hero-copy { width: 48%; max-width: 615px; padding: 0; }
.hero-cinema .kicker { color: #b2c0d5; font-family: var(--font-sans); font-size: 10px; letter-spacing: .08em; }
.hero-cinema .kicker::before { background: var(--rose); box-shadow: 0 0 0 4px #fe3e6d0a; }
.hero-cinema h1 { font-size: clamp(62px, 5.5vw, 88px); line-height: 1.035; letter-spacing: -.058em; margin-top: 27px; font-weight: 500; }
.hero-cinema .hero-description { color: #afbed3; max-width: 435px; font-size: 15px; line-height: 1.75; margin-top: 27px; }
.hero-cinema .actions { margin-top: 29px; gap: 14px 22px; }
.hero-cinema .actions > .button:not(.text) { min-height: 50px; border-radius: 50px; font-size: 12px; flex: 0 0 auto; }
.hero-cinema .button.primary { padding: 0 22px; gap: 22px; background: var(--rose); border-color: var(--rose); color: white; box-shadow: inset 0 1px #ffffff26, 0 6px 24px #fe3e6d12; }
.hero-cinema .button.primary:hover { background: #eb2f60; border-color: #eb2f60; }
.hero-cinema .button.primary .button-arrow { width: 17px; height: 17px; border-radius: 0; background: none; box-shadow: none; }
.hero-cinema .button.primary:hover .button-arrow { transform: none; }
.hero-cinema .actions > .button.secondary { min-height: 38px; padding: 0; border: 0; border-bottom: 1px solid #b0bfdc38; border-radius: 0; color: #d1d9e5; background: none; box-shadow: none; gap: 12px; }
.hero-cinema .button.secondary:hover { color: white; border-color: #d1d9e5; }
.hero-cinema .actions .button.text { flex-basis: 100%; min-height: 24px; margin: 0; padding: 0; font-size: 11px; color: #a4b5cc; }
.hero-cinema .actions .button.text:hover { color: white; }
.hero-cinema .social-proof { margin-top: 25px; color: #a4b5cc; font-size: 11px; }
.hero-cinema .social-proof strong { color: #e0e7f0; }
.hero-cinema .avatar-stack img { border-color: #111b2e; width: 29px; height: 29px; }
.hero-cinema .response-proof { color: #98abc4; font-size: 10px; }
.hero-cinema .response-proof strong { color: #c5d1e2; font-weight: 500; }
.hero-baseline { position: absolute; z-index: 3; bottom: 26px; left: 0; right: 0; display: flex; gap: 22px; align-items: center; font-size: 10px; color: #9aacc4; }
.hero-baseline-rule { height: 1px; flex: 1; background: #8f9dad30; }
.hero-cinema .hero-media-toggle { width: 36px; height: 36px; min-width: 36px; margin: 0; color: #ced9e9; background: #08132655; }
.hero-cinema .hero-media-toggle[hidden] { display: none; }
.hero-cinema .benefit-strip { margin-top: 0; background: #fff; color: var(--muted); }

/* The navigation belongs to the scene until the light content reaches it. */
.brand { position: relative; }
.brand-on-dark { display: none; }
.cinematic-home:not(.modal-open) .masthead.over-hero { background: #050c1b18; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: #e4eaf4; }
.cinematic-home:not(.modal-open) .masthead.over-hero.scrolled { background: #050c1beb; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-color: #8f9dad1a; }
.cinematic-home:not(.modal-open) .over-hero .brand-default { visibility: hidden; }
.cinematic-home:not(.modal-open) .over-hero .brand-on-dark { display: block; position: absolute; inset: 0; width: 100%; }
.cinematic-home:not(.modal-open) .over-hero .navigation a { color: #b3c1d5; }
.cinematic-home:not(.modal-open) .over-hero .navigation a::after { background: #cbd5e1; }
.cinematic-home .nav-actions .button { border-radius: 50px; }
.cinematic-home:not(.modal-open) .over-hero .nav-actions .button { background: #07102220; border-color: #8a9fb840; color: #f6f8fc; box-shadow: none; }
.cinematic-home:not(.modal-open) .over-hero .nav-actions .button:hover { background: #ffffff0d; border-color: #bac8dc80; }
.cinematic-home:not(.modal-open) .over-hero .menu-toggle { color: #e4eaf4; }
.cinematic-home .menu-panel { top: 78px; }

@media (min-width: 1700px) {
  .hero-cinema .hero-grid, .hero-cinema .hero-baseline, .cinematic-home .nav-shell { max-width: 1720px; width: calc(100% - 10%); }
  .hero-cinema .hero-copy { width: 43%; }
}
/* A dedicated vertical composition keeps both the portal and receiving folder. */
@media (max-width: 1200px) {
  .hero-stage { display: flex; flex-direction: column; height: auto; min-height: 0; background: #050c1b; }
  .hero-cinema .hero-grid { order: 0; display: block; height: auto; padding-block: 124px 28px; }
  .hero-cinema .hero-copy { width: 100%; max-width: 800px; }
  .hero-cinema h1 { font-size: clamp(56px, 8.5vw, 76px); }
  .hero-cinema .hero-description { max-width: 515px; }
  .hero-cinema .hero-cinema-media { position: relative; inset: auto; order: 1; width: 100%; height: auto; aspect-ratio: 1.4; margin-top: -20px; mask-image: linear-gradient(180deg, transparent, #000 11%); -webkit-mask-image: linear-gradient(180deg, transparent, #000 11%); }
  .hero-cinema-media img, .hero-cinema-media video { object-position: 100% 50%; }
  .hero-cinema-wash { display: none; }
  .hero-cinema .hero-baseline { position: relative; order: 2; inset: auto; margin-top: -1px; padding-block: 16px 22px; gap: 16px; background: #050c1b; }
  .hero-cinema .actions .button.text { flex-basis: 100%; }
}
@media (min-width: 601px) and (max-width: 1200px) {
  .hero-cinema h1 > span:not(:first-child) { display: inline; }
  .hero-cinema .actions .button.text { flex-basis: auto; }
}
@media (max-width: 600px) {
  .cinematic-home .menu-panel { top: 70px; }
  .hero-cinema .hero-grid { padding-top: 111px; padding-bottom: 22px; }
  .hero-cinema .kicker { font-size: 9px; letter-spacing: .075em; }
  .hero-cinema h1 { margin-top: 24px; font-size: clamp(42px, 11.3vw, 63px); line-height: 1.05; letter-spacing: -.055em; }
  .hero-cinema .hero-description { margin-top: 22px; max-width: 435px; font-size: 14px; line-height: 1.7; }
  .hero-cinema .actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 25px; gap: 13px; }
  .hero-cinema .actions > .button.primary { flex: 1 1 100%; justify-content: space-between; min-height: 51px; padding-inline: 22px; font-size: 14px; }
  .hero-cinema .actions > .button.secondary { flex: 0 1 auto; width: auto; justify-content: flex-start; min-height: 44px; padding-inline: 0; font-size: 12px; }
  .hero-cinema .actions .button.text { flex: 0 1 auto; width: auto; min-height: 44px; font-size: 10px; margin-left: auto; }
  .hero-cinema .actions .button.text .icon { width: 12px; height: 12px; }
  .hero-cinema .social-proof { margin-top: 20px; gap: 10px; font-size: 10px; }
  .hero-cinema .response-proof { font-size: 10px; margin-top: 9px; }
  .hero-cinema .hero-cinema-media { aspect-ratio: 1.08; margin-top: -7px; }
  .hero-cinema .hero-baseline { font-size: 9px; gap: 12px; padding-block: 14px 18px; }
  .hero-baseline > span:nth-of-type(3) { display: none; }
  .hero-cinema .hero-media-toggle { width: 44px; height: 44px; }
}
@media (max-width: 360px) {
  .hero-cinema h1 { font-size: 11.2vw; }
  .hero-cinema .actions { column-gap: 10px; }
  .hero-cinema .actions > .button.secondary { font-size: 11px; gap: 8px; }
  .hero-cinema .actions .button.text { font-size: 9px; gap: 6px; }
  .hero-cinema .social-proof { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cinema .hero-video, .hero-cinema .hero-media-toggle { display: none; }
}
