/* V249: bounded, proportional hero artwork on wide and narrow screens. */
body.rv248-application .rv248-application-hero{
  background:#071014;
  isolation:isolate;
}
/* The backdrop uses only the empty left third of the photograph.
   The foreground has its own bounded frame: it never grows with wide monitors. */
body.rv248-application .rv248-application-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--rv249-hero-art);
  background-size:300% 100%;
  background-position:left bottom;
  background-repeat:no-repeat;
  pointer-events:none;
}
body.rv248-application .rv248-application-image{
  position:absolute;
  inset:auto var(--rv182-side) 0 auto;
  width:min(calc(100% - var(--rv182-side) * 2),calc(var(--rv182-hero-h) * 1.955));
  height:110%;
  max-width:none;
  object-fit:contain;
  object-position:right bottom;
  mask-image:linear-gradient(90deg,transparent,#000 24%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);
  pointer-events:none;
}
body.rv248-application .rv248-application-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,16,20,.58),rgba(7,16,20,.32) 40%,transparent 72%);
  pointer-events:none;
}
body.rv248-application .candidate-hero h1{
  overflow-wrap:normal;
  hyphens:none;
}
body.rv248-application .candidate-hero .candidate-lead{
  max-width:48ch!important;
  color:#d5e1e2;
}
body.rv248-application .rv248-application-section.wrap{
  box-sizing:border-box;
  width:calc(100% - (var(--rv182-side) * 2));
  max-width:1040px;
  margin:0 auto;
  padding:64px 0 72px;
}
body.rv248-application .rv248-application-intro{
  margin-bottom:28px;
  max-width:760px;
}
body.rv248-application .rv248-application-intro h2{
  margin:0 0 16px;
  font-size:clamp(28px,3vw,36px);
}
body.rv248-application .rv248-application-intro p{
  margin:0;
  color:#b8cccb;
}
body.rv248-application #candidate-form{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin:0;
  padding:36px;
  border-color:rgba(101,233,223,.24);
  background:linear-gradient(135deg,rgba(17,33,37,.96),rgba(10,21,24,.98));
}
body.rv248-application #candidate-form .candidate-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 24px;
}
body.rv248-application #candidate-form label{
  min-width:0;
  font-size:14px;
  font-weight:600;
}
body.rv248-application #candidate-form input:not([type=checkbox]),
body.rv248-application #candidate-form textarea{
  font-size:16px;
  font-weight:400;
  min-width:0;
  min-height:48px;
}
body.rv248-application #candidate-form textarea{
  resize:vertical;
  min-height:140px;
}
body.rv248-application #candidate-form .rv246-upload-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  padding-top:24px;
  border-top:1px solid rgba(101,233,223,.16);
  margin:8px 0 12px;
}
body.rv248-application #candidate-form .rv246-upload-grid input{
  margin:0;
}
body.rv248-application #candidate-form .rv246-upload-note{
  font-size:14px;
}
body.rv248-application #candidate-form .candidate-consent{
  font-weight:400;
}
body.rv248-application #candidate-form .rv246-status{
  max-width:100%;
}
@media(max-width:760px){
  body.rv248-application #candidate-form .rv246-upload-grid{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }
}
@media(max-width:620px){
  body.rv248-application .rv248-application-hero.candidate-hero{
    height:68vh!important;
    min-height:68vh!important;
    max-height:68vh!important;
    height:68dvh!important;
    min-height:68dvh!important;
    max-height:68dvh!important;
  }
  body.rv248-application .rv248-application-image{
    inset:auto 0 0 auto;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right bottom;
  }
  body.rv248-application .rv248-application-shade{
    background:linear-gradient(180deg,rgba(7,16,20,.30),rgba(7,16,20,.60) 36%,rgba(7,16,20,.58) 70%,rgba(7,16,20,.30));
  }
  body.rv248-application .rv248-application-section.wrap{
    padding:40px 0 48px;
  }
  body.rv248-application .rv248-application-intro{
    margin-bottom:24px;
  }
  body.rv248-application #candidate-form{
    padding:22px;
  }
  body.rv248-application #candidate-form .candidate-form-grid{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  body.rv248-application #candidate-form button[type=submit]{
    width:100%;
  }
}
@media(max-width:620px) and (max-height:600px){
  body.rv248-application .candidate-hero>.wrap{
    padding-top:120px!important;
  }
  body.rv248-application .candidate-hero h1{
    font-size:38px!important;
  }
}

/* V250: slightly larger motif, anchored around its visual centre. */
@media(min-width:621px){
  body.rv248-application .rv248-application-image{
    transform:scale(1.15);
    transform-origin:80% 62%;
  }
}
