/* V4.3 — clean hero rebuild. No accumulated positional patches. */
.hero {
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden;
  background: #0d1015 !important;
  position: relative;
  isolation: isolate;
}

.hero-layout {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(560px, 1.05fr);
  position: relative;
}

.hero-copy-panel {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  background: #0d1015;
}

.hero-copy-container {
  width: min(660px, calc(100% - 48px));
  margin-left: max(24px, calc((100vw - 1320px) / 2));
  padding: 145px 0 92px;
}

.hero-copy {
  width: 100% !important;
  max-width: 650px;
  padding: 0 !important;
  position: relative;
  z-index: 4;
}

.hero-photo {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  height: 760px !important;
  z-index: 1 !important;
  overflow: hidden;
  background: #676d79;
}

.hero-photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 50% 13% !important;
  transform: scale(1.035) !important;
  transform-origin: 50% 18% !important;
  filter: contrast(1.02) saturate(.90) brightness(.86) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.hero-seam {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: calc(50% - 150px);
  width: 330px;
  pointer-events: none;
  background: linear-gradient(90deg,
    #0d1015 0%,
    rgba(13,16,21,.98) 18%,
    rgba(13,16,21,.86) 38%,
    rgba(13,16,21,.52) 64%,
    rgba(13,16,21,.15) 86%,
    rgba(13,16,21,0) 100%);
}

.hero .signature-line,
.hero .hero-overlay,
.hero .hero-inner { display: none !important; }

/* Keep the portrait visually present, but never let it swallow the copy. */
@media (min-width: 1500px) {
  .hero-layout { grid-template-columns: minmax(0, .94fr) minmax(640px, 1.06fr); }
  .hero-seam { left: calc(47% - 140px); width: 350px; }
  .hero-photo img { object-position: 48% 12% !important; }
}

@media (max-width: 1100px) {
  .hero-layout {
    min-height: 710px;
    grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr);
  }
  .hero-copy-container {
    margin-left: 28px;
    width: calc(100% - 48px);
    padding-top: 130px;
  }
  .hero-photo { height: 710px !important; }
  .hero-photo img { object-position: 48% 14% !important; transform: scale(1.02) !important; }
  .hero-seam { left: calc(51.5% - 115px); width: 270px; }
}

@media (max-width: 820px) {
  .hero-layout {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .hero-copy-panel {
    min-height: 560px;
    align-items: flex-start;
  }
  .hero-copy-container {
    width: min(calc(100% - 34px), 650px);
    margin: 0 auto;
    padding: 125px 0 62px;
  }
  .hero-photo {
    width: 100% !important;
    height: 520px !important;
  }
  .hero-photo img {
    object-position: 50% 12% !important;
    transform: scale(1.02) !important;
  }
  .hero-seam {
    top: 465px;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 145px;
    background: linear-gradient(180deg,
      #0d1015 0%,
      rgba(13,16,21,.94) 24%,
      rgba(13,16,21,.63) 56%,
      rgba(13,16,21,.18) 84%,
      rgba(13,16,21,0) 100%);
  }
}

@media (max-width: 560px) {
  .hero-copy-panel { min-height: 535px; }
  .hero-copy-container { padding-top: 110px; padding-bottom: 50px; }
  .hero-photo { height: 430px !important; }
  .hero-photo img {
    object-position: 50% 8% !important;
    transform: scale(1.04) !important;
  }
  .hero-seam { top: 455px; height: 130px; }
}

/* V4.4 seam refinement: longer, softer transition without shrinking the portrait. */
.hero-seam {
  left: calc(50% - 220px) !important;
  width: 500px !important;
  background: linear-gradient(90deg,
    #0d1015 0%,
    rgba(13,16,21,1) 16%,
    rgba(13,16,21,.96) 30%,
    rgba(13,16,21,.78) 48%,
    rgba(13,16,21,.48) 66%,
    rgba(13,16,21,.19) 84%,
    rgba(13,16,21,0) 100%) !important;
}
.hero-photo img {
  object-position: 46% 13% !important;
}
@media (min-width: 1500px) {
  .hero-seam { left: calc(47% - 205px) !important; width: 500px !important; }
  .hero-photo img { object-position: 44% 12% !important; }
}
@media (max-width: 1100px) {
  .hero-seam { left: calc(51.5% - 175px) !important; width: 380px !important; }
  .hero-photo img { object-position: 45% 14% !important; }
}
@media (max-width: 820px) {
  .hero-seam {
    left: 0 !important;
    width: 100% !important;
    background: linear-gradient(180deg,
      #0d1015 0%,
      rgba(13,16,21,.97) 22%,
      rgba(13,16,21,.72) 52%,
      rgba(13,16,21,.30) 76%,
      rgba(13,16,21,0) 100%) !important;
  }
  .hero-photo img { object-position: 50% 11% !important; }
}


/* V4.5 hero transition polish */
.hero-photo::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 44%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(13,16,21,1) 0%,
    rgba(13,16,21,.98) 18%,
    rgba(13,16,21,.90) 36%,
    rgba(13,16,21,.68) 56%,
    rgba(13,16,21,.32) 76%,
    rgba(13,16,21,0) 100%);
}
.hero-seam {
  left: calc(50% - 245px) !important;
  width: 560px !important;
  background: linear-gradient(90deg,
    rgba(13,16,21,1) 0%,
    rgba(13,16,21,.96) 24%,
    rgba(13,16,21,.80) 45%,
    rgba(13,16,21,.50) 66%,
    rgba(13,16,21,.22) 84%,
    rgba(13,16,21,0) 100%) !important;
}
.hero-photo img { object-position: 47% 13% !important; }
@media (min-width: 1500px) {
  .hero-photo::before { width: 46%; }
  .hero-seam { left: calc(47% - 225px) !important; width: 560px !important; }
  .hero-photo img { object-position: 46% 12% !important; }
}
@media (max-width: 1100px) {
  .hero-photo::before { width: 46%; }
  .hero-seam { left: calc(51.5% - 195px) !important; width: 420px !important; }
  .hero-photo img { object-position: 46% 14% !important; }
}
@media (max-width: 820px) {
  .hero-photo::before { width: 100%; inset: 0 0 auto 0; height: 38%; background: linear-gradient(180deg, rgba(13,16,21,1) 0%, rgba(13,16,21,.92) 28%, rgba(13,16,21,.54) 66%, rgba(13,16,21,0) 100%); }
  .hero-seam { background: linear-gradient(180deg, rgba(13,16,21,1) 0%, rgba(13,16,21,.95) 22%, rgba(13,16,21,.70) 52%, rgba(13,16,21,.28) 78%, rgba(13,16,21,0) 100%) !important; }
}


/* V4.7 — preserve the mobile portrait while reducing the heavy shadow over the head. */
@media (max-width: 820px) {
  .hero-photo::before {
    height: 22% !important;
    background: linear-gradient(180deg,
      rgba(13,16,21,.72) 0%,
      rgba(13,16,21,.42) 42%,
      rgba(13,16,21,.12) 76%,
      rgba(13,16,21,0) 100%) !important;
  }
  .hero-seam {
    top: 495px !important;
    height: 86px !important;
    background: linear-gradient(180deg,
      rgba(13,16,21,.78) 0%,
      rgba(13,16,21,.42) 46%,
      rgba(13,16,21,.10) 78%,
      rgba(13,16,21,0) 100%) !important;
  }
  .hero-photo img {
    filter: contrast(1.02) saturate(.92) brightness(.93) !important;
  }
}
@media (max-width: 560px) {
  .hero-seam { top: 486px !important; height: 72px !important; }
  .hero-photo::before { height: 18% !important; }
  .hero-photo img { object-position: 50% 6% !important; }
}
