/* Hinton Talent Gateway | Full-width human-photography hero
   Aligns the ATS with the corporate homepage's full-bleed photographic language.
   Exact approved Hinton branding is retained in styles.css.
   The depicted professionals are illustrative, not confirmed staff. */
.ats-page .hero.hero--fullbleed {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 640px;
  background: var(--navy);
}
.ats-page .hero--fullbleed .hero-background-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
}
.ats-page .hero--fullbleed .hero-background-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% 12%;
  filter: saturate(.92) contrast(1.04);
}
.ats-page .hero--fullbleed::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  mask-image: none;
  background:
    linear-gradient(90deg,
      rgba(12,13,39,.97) 0%,
      rgba(12,13,39,.91) 23%,
      rgba(12,13,39,.75) 44%,
      rgba(12,13,39,.34) 70%,
      rgba(12,13,39,.17) 100%),
    linear-gradient(0deg, rgba(17,18,53,.60) 0%, transparent 32%);
}
.ats-page .hero--fullbleed::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 5% 70%, rgba(18,16,53,.24), transparent 48%);
}
.ats-page .hero--fullbleed .hero-grid {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 705px;
  gap: 0;
}
.ats-page .hero--fullbleed .hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 650px);
  max-width: 650px;
  flex: 0 1 650px;
  padding: 74px 0 70px;
  text-align: left;
}
.ats-page .hero--fullbleed h1 {
  max-width: 100%;
  font-size: clamp(4.35rem, 5.65vw, 6.55rem);
  line-height: .93;
  text-wrap: balance;
}
.ats-page .hero--fullbleed .hero-lede {
  max-width: 545px;
  color: rgba(255,255,255,.88);
}
.ats-page .hero--fullbleed .hero-subnote { color: rgba(255,255,255,.78); }
.ats-page .hero--fullbleed .hero-bottom {
  position: relative;
  z-index: 2;
  margin-top: 0;
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.87);
}
.ats-page .hero-photo-disclosure {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}

/* Card photography: imagery is subordinate to pathways, not a substitute for calls to action. */
.ats-page .pathway-card { position: relative; padding: 0; overflow: hidden; min-height: 490px; background: #fff; }
.ats-page .pathway-card.feature-card { padding-top: 0; background: #f7f5fc; }
.ats-page .pathway-image { display:block; position:relative; width:100%; height:148px; flex:0 0 148px; margin:0; overflow:hidden; background:#d3d0e6; }
.ats-page .pathway-image::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(17,18,53,.30),rgba(17,18,53,0) 60%); }
.ats-page .pathway-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ats-page .pathway-card:hover .pathway-image img, .ats-page .pathway-card:focus-within .pathway-image img { transform:scale(1.035); }
.ats-page .pathway-card:focus-within { outline:3px solid var(--purple); outline-offset:3px; }
.ats-page .pathway-icon { position:absolute; z-index:2; top:125px; left:27px; width:54px; height:54px; background:var(--lavender); border:3px solid #fff; box-shadow:0 5px 13px rgba(17,18,53,.13); }
.ats-page .pathway-content { padding:50px 28px 0; }
.ats-page .pathway-type { margin-top:0; }
.ats-page .pathway-facts { margin-top:auto; padding:0 28px 18px; }
.ats-page .pathway-card .text-link { margin:0 28px 26px; }
.ats-page .pathway-card .text-link:focus-visible { outline-offset:4px; }
/* Forms: a human touch in the noninteractive sidebar only; fields remain primary. */
.ats-page .rail-photo { position:relative; overflow:hidden; height:160px; margin:26px 0 0; border-radius:10px; background:var(--navy-panel); border:1px solid rgba(255,255,255,.16); }
.ats-page .rail-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.ats-page .rail-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(17,18,53,.32),transparent 62%); }
.ats-page .form-panel { box-shadow:0 18px 45px rgba(21,19,49,.08); }
/* Small labels require AA contrast. Magenta remains a brand accent, not small body text. */
.ats-page .section-label, .ats-page .empty-kicker, .ats-page .process-number { color: var(--purple-deep); }
/* Humanize interactive states without introducing visual noise. */
.ats-page .button:focus-visible, .ats-page .text-link:focus-visible { outline:3px solid var(--magenta); outline-offset:3px; }
.ats-page .button { text-wrap:balance; }
.ats-page .pathway-card h3 { text-wrap:balance; }
@media (max-width:1120px) {
 .ats-page .pathway-content { padding-inline:23px; }
 .ats-page .pathway-facts { padding-inline:23px; }
 .ats-page .pathway-card .text-link { margin-inline:23px; }
}
@media (max-width:880px) {
 .ats-page .pathway-card, .ats-page .pathway-card.feature-card { min-height:0; }
 .ats-page .pathway-image { height:205px; flex-basis:205px; }
 .ats-page .pathway-icon { top:180px; }
 .ats-page .pathway-content { padding-top:52px; }
 .ats-page .rail-photo { display:none; }
}
@media (max-width:560px) {
 .ats-page .pathway-image { height:168px; flex-basis:168px; }
 .ats-page .pathway-icon { top:143px; }
 .ats-page .pathway-content { padding:48px 24px 0; }
 .ats-page .pathway-facts { padding-inline:24px; }
 .ats-page .pathway-card .text-link { margin-inline:24px; }
}
@media(prefers-reduced-motion:reduce) { .ats-page .pathway-image img { transition:none; transform:none!important; } }

/* Photo positioning and legibility at laptop, tablet, and mobile widths. */
@media (max-width: 1120px) {
  .ats-page .hero--fullbleed .hero-background-photo img { object-position: 62% 12%; }
  .ats-page .hero--fullbleed .hero-grid { min-height: 670px; }
  .ats-page .hero--fullbleed .hero-copy { width:min(100%, 590px); max-width:590px; flex-basis:590px; }
  .ats-page .hero--fullbleed h1 { font-size:clamp(4.1rem,6.45vw,5.4rem); }
  .ats-page .hero--fullbleed::before {
    background:linear-gradient(90deg,rgba(12,13,39,.97) 0%,rgba(12,13,39,.90) 32%,rgba(12,13,39,.62) 63%,rgba(12,13,39,.25) 100%),
      linear-gradient(0deg,rgba(17,18,53,.55),transparent 30%);
  }
}
@media (max-width: 880px) {
  .ats-page .hero--fullbleed .hero-grid { min-height:680px; display:flex; align-items:center; }
  .ats-page .hero--fullbleed .hero-copy { padding:65px 0 60px; width:min(100%,600px); max-width:600px; }
  .ats-page .hero--fullbleed h1 { font-size:clamp(4rem,9vw,5.4rem); }
  .ats-page .hero--fullbleed .hero-background-photo img { object-position:61% 12%; }
  .ats-page .hero--fullbleed::before {
    background:linear-gradient(90deg,rgba(12,13,39,.96) 0%,rgba(12,13,39,.86) 50%,rgba(12,13,39,.47) 100%),
      linear-gradient(0deg,rgba(17,18,53,.64),transparent 34%);
  }
}
@media (max-width: 560px) {
  .ats-page .hero.hero--fullbleed { min-height:0; }
  .ats-page .hero--fullbleed .hero-background-photo img { object-position:62% 9%; filter:saturate(.82) contrast(1.06); }
  .ats-page .hero--fullbleed .hero-grid {
    min-height:700px;
    align-items:flex-end;
    padding-top:36px;
    padding-bottom:20px;
  }
  .ats-page .hero--fullbleed .hero-copy {
    flex:1 1 auto;
    width:100%;
    max-width:100%;
    padding:165px 0 30px;
  }
  .ats-page .hero--fullbleed h1 {
    max-width:100%;
    font-size:clamp(3.35rem,12.2vw,4.6rem);
    line-height:.93;
    text-wrap:balance;
  }
  .ats-page .hero--fullbleed .hero-lede { max-width:100%; color:rgba(255,255,255,.96); }
  .ats-page .hero--fullbleed::before {
    background:
      linear-gradient(180deg,rgba(12,13,39,.24) 0%,rgba(12,13,39,.50) 26%,rgba(12,13,39,.92) 53%,rgba(12,13,39,.98) 100%),
      linear-gradient(90deg,rgba(12,13,39,.48),rgba(12,13,39,.1));
  }
  .ats-page .hero--fullbleed .hero-bottom { padding-top:15px; padding-bottom:15px; }
}
