/* ============================================================
   FOR-APPLICANTS.CSS
============================================================ */

/* ============================================================
   CTA CONTACT — logo-only override (no form on this page)
============================================================ */
.contact__inner--logo-only {
  display:         flex;
  justify-content: center;
  align-items:     center;
  padding-block:   clamp(3.5rem, 8vh, 6rem);
}

.contact__brand-block--centered {
  display:         flex;
  justify-content: center;
  align-items:     center;
  width:           100%;
}

.contact__logo-wrapper--glow {
  position: relative;
  display:  inline-flex;
}

.contact__logo-wrapper--glow::before {
  content:       '';
  position:      absolute;
  inset:         -28px -40px;
  border-radius: 50%;
  background:    radial-gradient(ellipse at center, rgba(200, 162, 74, 0.18) 0%, rgba(200, 162, 74, 0.06) 45%, transparent 72%);
  pointer-events: none;
  filter:        blur(12px);
}

/* ============================================================
   INTER FONT OVERRIDE — for-applicants page only
============================================================ */
body {
  font-family: 'Inter', sans-serif;
}

.fa-hero__eyebrow,
.fa-hero__heading,
.fa-hero__body,
.fa-intro__heading,
.fa-intro__sub,
.fa-intro__body,
.fa-benefits__eyebrow,
.fa-benefits__heading,
.fa-benefit__title,
.fa-benefit__body {
  font-family: 'Inter', sans-serif;
}

.fa-hero__heading,
.fa-intro__heading,
.fa-benefits__heading,
.fa-benefit__title {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.fa-hero__body,
.fa-intro__body,
.fa-benefit__body {
  font-weight: 300;
  letter-spacing: 0.01em;
}

.fa-hero__eyebrow,
.fa-intro__sub,
.fa-benefits__eyebrow {
  font-weight: 500;
}

/* ============================================================
   HERO — split: text + CTA left / image right
============================================================ */
.fa-hero {
  display:               grid;
  grid-template-columns: 42fr 58fr;
  min-height:            62vh;
  background:            #ffffff;
}

.fa-hero__text {
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  padding-block:   clamp(3.5rem, 8vh, 6rem);
  padding-right:   clamp(2rem, 4vw, 4rem);
  padding-left:    max(clamp(2rem, 5vw, 4rem), calc((100vw - var(--container-max)) / 2 + var(--container-px)));
}

.fa-hero__eyebrow {
  font-size:      0.75rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1.25rem;
}

.fa-hero__heading {
  font-size:     clamp(1.8rem, 3.2vw, 3rem);
  font-weight:   var(--fw-extrabold);
  color:         #0f2747;
  line-height:   1.1;
  margin-bottom: 1.5rem;
}

.fa-hero__heading em {
  font-family:  'Playfair Display', serif;
  font-style:   italic;
  font-weight:  400;
  color:        #C8A24A;
}

.fa-hero__body {
  font-size:     0.9rem;
  color:         #3a4a60;
  line-height:   1.8;
  max-width:     540px;
  margin-bottom: 1rem;
}

.fa-hero__body:last-of-type {
  margin-bottom: 0;
}

.fa-hero__media {
  position: relative;
  overflow: hidden;
}

.fa-hero__video {
  position:        absolute;
  inset:           0;
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center 20%;
  display:         block;
}

/* ============================================================
   INTRO — dark credibility strip
============================================================ */
.fa-intro {
  background:    var(--body);
  padding-block: clamp(3.5rem, 8vh, 6rem);
}

.fa-intro__inner {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   clamp(2.5rem, 6vw, 6rem);
  align-items:           start;
}

.fa-intro__heading {
  font-size:      clamp(1.35rem, 2.5vw, 2.1rem);
  font-weight:    var(--fw-extrabold);
  color:          var(--c-white);
  line-height:    1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom:  1.25rem;
}

.fa-intro__sub {
  font-size:      0.88rem;
  font-weight:    var(--fw-bold);
  color:          #C8A24A;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  line-height:    1.4;
}

.fa-intro__body {
  font-size:     0.9rem;
  color:         var(--c-white-70);
  line-height:   1.85;
  margin-bottom: 1rem;
}

.fa-intro__body:last-child {
  margin-bottom: 0;
}

/* ============================================================
   BENEFITS — 2×2 icon card grid  (light / white background)
============================================================ */
.fa-benefits {
  background:    #ffffff;
  padding-top:   clamp(5rem, 11vh, 9rem);
  padding-bottom: 0;
  border-top:    1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.fa-benefits__header {
  margin-bottom: clamp(4rem, 8vh, 7rem);
}

.fa-benefits__eyebrow {
  font-size:      0.75rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1rem;
}

.fa-benefits__heading {
  font-size:   clamp(1.6rem, 3vw, 2.4rem);
  font-weight: var(--fw-extrabold);
  color:       #0f2747;
  line-height: 1.15;
  max-width:   640px;
}

/* Each benefit: alternating image-left / image-right layout */
.fa-benefits__grid {
  display:        flex;
  flex-direction: column;
}

.fa-benefit {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows:    1fr;
  align-items:           stretch;
  min-height:            210px;
  background:            transparent;
  box-shadow:            none;
  border:                none;
  border-top:            1px solid rgba(15, 39, 71, 0.08);
  transition:            background 0.3s ease;
  overflow:              hidden;
}

/* Odd: text left, image right */
.fa-benefit:nth-child(odd)  { flex-direction: row; }
/* Even: image left, text right — swap via order */
.fa-benefit:nth-child(even) .fa-benefit__icon  { order: -1; }

.fa-benefit:last-child {
  border-bottom: 1px solid rgba(15, 39, 71, 0.08);
}

.fa-benefit:hover {
  background:  rgba(200, 162, 74, 0.025);
  transform:   none;
  box-shadow:  none;
}

/* Text side */
.fa-benefit__text-side {
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  padding:         clamp(3rem, 6vw, 5.5rem);
  position:        relative;
}

/* Decorative step number */
.fa-benefit__text-side::before {
  content:      attr(data-num);
  position:     absolute;
  top:          1.5rem;
  right:        2rem;
  font-size:    5.5rem;
  font-weight:  800;
  color:        rgba(200, 162, 74, 0.08);
  line-height:  1;
  pointer-events: none;
  user-select:  none;
}

.fa-benefit__icon {
  width:         100%;
  height:        100%;
  margin-bottom: 0;
  overflow:      hidden;
}

.fa-benefit__icon img {
  width:           50%;
  height:          100%;
  object-fit:      cover;
  object-position: right 15%;
  display:         block;
}

/* Even items: image is on the left — align to left edge */
.fa-benefit:nth-child(even) .fa-benefit__icon img {
  object-position: left 15%;
}

.fa-benefit__title {
  font-size:      clamp(1.1rem, 1.8vw, 1.4rem);
  font-weight:    var(--fw-bold);
  color:          #0f2747;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height:    1.3;
  margin-bottom:  1.25rem;
  padding-left:   1.25rem;
  border-left:    3px solid #C8A24A;
}

.fa-benefit__body {
  font-size:   0.92rem;
  color:       #3a4a60;
  line-height: 1.9;
  max-width:   480px;
}

/* ============================================================
   PROMO IMAGE STRIP — dark section with hero image
============================================================ */
.fa-promo {
  background: #111c30;
  overflow:   hidden;
}

.fa-promo__inner {
  display:               grid;
  grid-template-columns: 2fr 1fr;
  align-items:           stretch;
  max-width:             none;
  padding:               0;
  margin:                0;
}

.fa-promo__text {
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  padding-block:   clamp(3.5rem, 8vh, 6rem);
  padding-left:    max(var(--container-px), calc((100vw - var(--container-max)) / 2 + var(--container-px)));
  padding-right:   clamp(2rem, 5vw, 5rem);
}

.fa-promo__label {
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  0.75rem;
  display:        block;
}

.fa-promo__heading {
  font-size:      clamp(2rem, 3.6vw, 3.2rem);
  font-weight:    var(--fw-extrabold);
  color:          var(--c-white);
  line-height:    1.1;
  letter-spacing: -0.01em;
  margin-bottom:  0;
}

.fa-promo__heading em {
  font-family: 'Playfair Display', serif;
  font-style:  italic;
  font-weight: 400;
  color:       #E6D3A3;
}

.fa-promo__image-wrap {
  position: relative;
  overflow: hidden;
  line-height: 0;
}

.fa-promo__image-wrap::before {
  content:    '';
  position:   absolute;
  bottom:     0;
  left:       0;
  width:      80px;
  height:     80px;
  background: #111c30;
  clip-path:  polygon(0 0, 0 100%, 100% 100%);
  z-index:    2;
}

.fa-promo__image {
  width:   100%;
  height:  auto;
  display: block;
}

/* ============================================================
   APPLICATION FORM — white section
============================================================ */
.fa-apply {
  background:    #ffffff;
  padding-block: clamp(5rem, 10vh, 8rem);
  border-top:    1px solid rgba(0, 0, 0, 0.06);
}

.fa-apply__inner {
  display:   grid;
  grid-template-columns: 1fr 1.5fr;
  gap:       clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.fa-apply__eyebrow {
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1rem;
}

.fa-apply__heading {
  font-size:     clamp(1.6rem, 3vw, 2.4rem);
  font-weight:   700;
  color:         #0f2747;
  line-height:   1.12;
  margin-bottom: 1.25rem;
}

.fa-apply__desc {
  font-size:     0.9rem;
  color:         #3a4a60;
  line-height:   1.8;
  margin-bottom: 2.5rem;
  font-weight:   300;
}

.fa-apply__contact-info {
  display:        flex;
  flex-direction: column;
  gap:            0.45rem;
}

.fa-apply__contact-label {
  font-size:      0.72rem;
  font-weight:    600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  0.35rem;
}

.fa-apply__contact-item {
  font-size:       0.88rem;
  color:           #3a4a60;
  text-decoration: none;
  font-weight:     300;
}

a.fa-apply__contact-item:hover {
  color: #C8A24A;
}

/* Form */
.fa-apply__form {
  display:        flex;
  flex-direction: column;
  gap:            1.25rem;
}

.fa-apply__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:     1.25rem;
}

.fa-apply__field {
  display:        flex;
  flex-direction: column;
  gap:            0.4rem;
}

.fa-apply__label {
  font-size:      0.78rem;
  font-weight:    500;
  color:          #0f2747;
  letter-spacing: 0.03em;
}

.fa-apply__label span {
  color: #C8A24A;
}

.fa-apply__input,
.fa-apply__select,
.fa-apply__textarea {
  width:        100%;
  padding:      0.85rem 1rem;
  border:       1.5px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background:   #f9f9f9;
  font-family:  'Inter', sans-serif;
  font-size:    0.88rem;
  color:        #0f2747;
  transition:   border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  outline:      none;
  appearance:   none;
  box-sizing:   border-box;
}

.fa-apply__input::placeholder,
.fa-apply__textarea::placeholder {
  color: #aab0bb;
}

.fa-apply__input:focus,
.fa-apply__select:focus,
.fa-apply__textarea:focus {
  border-color: #C8A24A;
  box-shadow:   0 0 0 3px rgba(200, 162, 74, 0.11);
  background:   #ffffff;
}

.fa-apply__select {
  background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23C8A24A' stroke-width='2'%3E%3Cpolyline points='4 6 8 10 12 6'/%3E%3C/svg%3E");
  background-repeat:   no-repeat;
  background-position: right 1rem center;
  background-color:    #f9f9f9;
  padding-right:       2.5rem;
  cursor:              pointer;
}

.fa-apply__textarea {
  resize:     vertical;
  min-height: 140px;
  line-height: 1.7;
}

.fa-apply__actions {
  padding-top: 0.25rem;
}

.fa-apply__submit {
  padding:        0.9rem 2.75rem;
  background:     #0f2747;
  color:          #ffffff;
  border:         none;
  border-radius:  6px;
  font-family:    'Inter', sans-serif;
  font-size:      0.82rem;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor:         pointer;
  transition:     background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.fa-apply__submit:hover {
  background:  #C8A24A;
  transform:   translateY(-1px);
  box-shadow:  0 4px 16px rgba(200, 162, 74, 0.25);
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 900px) {
  .fa-hero {
    grid-template-columns: 1fr;
    min-height:            auto;
  }

  .fa-hero__media {
    order:  -1;
    height: 320px;
  }

  .fa-hero__video {
    width:  100%;
    height: 100%;
  }

  .fa-hero__text {
    padding: 3rem clamp(1.5rem, 5vw, 3rem);
  }

  .fa-intro__inner {
    grid-template-columns: 1fr;
    gap:                   2rem;
  }

  .fa-benefit {
    grid-template-columns: 1fr;
    min-height:            auto;
  }

  .fa-benefit__icon {
    height: 260px;
  }

  .fa-benefit:nth-child(even) .fa-benefit__icon {
    order: 0;
  }

  .fa-benefit__text-side {
    padding: 2.5rem var(--container-px);
  }

  .fa-benefit__text-side::before {
    font-size: 3.5rem;
    top:       1rem;
    right:     1.5rem;
  }

  .fa-apply__inner {
    grid-template-columns: 1fr;
  }

  .fa-apply__row {
    grid-template-columns: 1fr;
  }

  .fa-promo__inner {
    grid-template-columns: 1fr;
  }

  .fa-promo__text {
    padding-left:  var(--container-px);
    padding-right: var(--container-px);
  }

  .fa-promo__image-wrap::before {
    display: none;
  }
}

@media (max-width: 640px) {
  .fa-hero__media {
    height: 260px;
  }
}

/* ============================================================
   OPS EMBED SHARED — tabs + curtain panel start below
============================================================ */

/* ============================================================
   OPS EMBED SHARED — tabs + curtain panel
   (same classes as for-clients; included here since
   for-applicants.css is loaded instead of for-clients.css)
============================================================ */
.ops-tabs {
  position:              relative;
  width:                 196px;
  height:                36px;
  clip-path:             polygon(7px 0%, calc(100% - 7px) 0%, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0% calc(100% - 7px), 0% 7px);
  background:            rgba(255,255,255,0.04);
  display:               grid;
  grid-template-columns: 1fr 1fr;
  align-items:           stretch;
  margin-left:           auto;
  overflow:              hidden;
}

.ops-tabs__indicator {
  position:  absolute;
  inset:     3px;
  width:     calc(50% - 3px);
  clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px);
  background: rgba(200,162,74,0.22);
  transform:     translateX(0%);
  transition:    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  .ops-tabs__indicator { transition: none; }
}

.ops-tab {
  position:       relative;
  z-index:        1;
  border:         0;
  background:     transparent;
  cursor:         pointer;
  font-family:    var(--font);
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          rgba(255,255,255,0.75);
  transition:     color 0.2s ease;
}

.ops-tab:focus-visible {
  outline:        2px solid rgba(200,162,74,0.5);
  outline-offset: 2px;
  border-radius:  3px;
}

.ops-panel {
  position:      relative;
  width:         100%;
  margin-top:    12px;
  border-radius: 16px;
  overflow:      hidden;
  isolation:     isolate;
}

.ops-curtain {
  position:       absolute;
  inset:          0;
  z-index:        5;
  background:     #071228;
  transform:      translateX(100%);
  pointer-events: none;
}

.ops-videoFrame {
  width:         100%;
  border-radius: 14px;
  border:        1px solid rgba(200,162,74,0.18);
  background:    #071228;
  overflow:      hidden;
  aspect-ratio:  16 / 9;
}

.ops-video {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

.ops-detailsCard {
  width:          100%;
  border-radius:  14px;
  background:     linear-gradient(180deg, #111c30 0%, #071228 100%);
  border:         1px solid rgba(200,162,74,0.15);
  padding:        clamp(2rem, 4vw, 3.5rem);
  min-height:     clamp(280px, 32vw, 420px);
  display:        flex;
  flex-direction: column;
  gap:            1.75rem;
}

.ops-detailsBlock h3 {
  margin:         0 0 0.6rem 0;
  color:          #E6D3A3;
  font-weight:    var(--fw-semibold);
  font-size:      clamp(1rem, 1.6vw, 1.3rem);
  letter-spacing: 0.01em;
}

.ops-detailsBlock p {
  margin:      0;
  color:       rgba(255,255,255,0.5);
  font-size:   0.92rem;
  line-height: 1.7;
}

.ops-detailsDivider {
  border:     0;
  height:     1px;
  background: rgba(200,162,74,0.2);
  margin:     0;
}

@media (max-width: 768px) {
  .ops-tabs        { margin-left: 0; margin-right: auto; }
  .ops-detailsCard { min-height: 0; }
}
