/* Portrait-led homepage: fixed photograph, no cards, no floating layers. */
.hero-portrait-led.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  column-gap: clamp(32px, 7vw, 110px);
  padding-top: 46px;
  background: #111d31;
}
.hero-portrait-led .hero-backdrop { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hero-portrait-led .hero-backdrop > img,
.hero-portrait-led .hero-backdrop > video { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 53%; transform: none; }
.hero-portrait-led .hero-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #111d31ef 0%, #111d31d9 43%, #111d31b3 70%, #111d31db 100%); }
.hero-portrait-led .hero-background-video { opacity: 0; transition: opacity 1.5s ease; }
.hero-portrait-led .hero-background-video.is-playing { opacity: 1; }
.hero-portrait-led .hero-copy { padding: 15px 0 40px; align-self: center; }
.hero-portrait-led h1 { font-size: clamp(48px, 5.1vw, 80px); line-height: 1.08; margin: 25px 0 22px; letter-spacing: -.04em; text-wrap: balance; }
.hero-portrait-led .hero-specialty { margin-bottom: 22px; }
.hero-portrait-led .hero-portrait { width: 100%; max-width: 410px; margin: 0 0 36px; justify-self: end; align-self: center; transform: none; perspective: none; }
.hero-portrait-led .hero-portrait > img { display: block; position: static; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; border: 0; border-radius: 26px; box-shadow: none; transform: none; animation: none; transition: none; }
.hero-portrait-led .hero-portrait figcaption { position: static; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 21px 0 0; background: none; }
.hero-portrait figcaption > span { font-size: 16px; line-height: 1.5; color: #c2cedf; }
.hero-portrait figcaption strong { color: #e4d8c1; font-weight: 400; }
.hero-portrait #motion-toggle { padding: 9px 0 9px 12px; min-height: 44px; border: 0; background: none; font-size: 13px; color: #b9c7db; }
.hero-portrait #motion-toggle:hover { color: #fff; }
.hero-portrait-led .hero-bottom { border-color: #a6b7cf36; }
@media (max-width: 1150px) {
  .hero-portrait-led.hero { column-gap: 36px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .hero-portrait-led h1 { font-size: clamp(50px, 6vw, 68px); }
  .hero-portrait-led .hero-portrait { max-width: 355px; }
  .hero-portrait-led .hero-actions { flex-wrap: wrap; }
}
@media (max-width: 760px) {
  .hero-portrait-led.hero { grid-template-columns: minmax(0, 1fr); padding-top: 27px; }
  .hero-portrait-led .hero-copy { display: contents; }
  .hero-portrait-led .hero-backdrop::after { background: linear-gradient(180deg, #111d31d9 0%, #111d31e0 50%, #111d31f5 100%); }
  .hero-portrait-led h1 { grid-row: 2; font-size: clamp(46px, 11.8vw, 72px); margin: 18px 0 22px; }
  .hero-portrait-led .hero-specialty { font-size: 17px; line-height: 1.4; margin-bottom: 18px; max-width: none; }
  .hero-portrait-led .hero-actions { flex-wrap: nowrap; }
  .hero-portrait-led .hero-portrait { grid-row: 4; justify-self: center; width: min(100%, 294px); max-width: none; margin: 28px 0 30px; }
  .hero-portrait-led .hero-portrait > img { border-radius: 22px; }
  .hero-portrait-led .hero-portrait figcaption { padding-top: 16px; gap: 9px; }
  .hero-portrait figcaption > span { font-size: 14px; }
  .hero-portrait #motion-toggle { padding-left: 5px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-portrait-led .hero-background-video { display: none; transition: none; }
}
