/* Unified recruitment pages. Loaded after the legacy inline styles. */
:root {
  --recruit-bg: #f5f7f9;
  --recruit-surface: #ffffff;
  --recruit-soft: #eef3f5;
  --recruit-ink: #11171c;
  --recruit-copy: #5f6971;
  --recruit-muted: #8c979e;
  --recruit-line: #e0e6e9;
  --recruit-line-strong: #cbd5da;
  --recruit-accent: #19a5ae;
  --recruit-accent-deep: #087f89;
  --recruit-dark: #192126;
  --recruit-dark-soft: #223038;
  --recruit-radius: 20px;
  --recruit-shadow: 0 22px 60px rgba(28, 46, 55, .09);
  --acc: var(--recruit-accent) !important;
  --acc2: var(--recruit-accent-deep) !important;
  --acct: #e6f7f8 !important;
  --accb: #afe0e3 !important;
  --accsh: rgba(25, 165, 174, .22) !important;
  --bg: var(--recruit-bg) !important;
  --panel: var(--recruit-soft) !important;
  --card: var(--recruit-surface) !important;
  --ink: var(--recruit-ink) !important;
  --mut: var(--recruit-copy) !important;
  --line: var(--recruit-line) !important;
  --sage: var(--recruit-accent) !important;
  --terra: var(--recruit-accent-deep) !important;
}

html { scroll-padding-top: 84px; }
body.recruitment-body {
  min-width: 320px;
  min-height: 100dvh;
  background: var(--recruit-bg);
  color: var(--recruit-ink);
  font-family: Rubik, system-ui, -apple-system, sans-serif;
}
body.recruitment-body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 68px 0 auto;
  height: 420px;
  pointer-events: none;
  background: radial-gradient(circle at 72% 8%, rgba(25, 165, 174, .09), transparent 34%);
}
.recruitment-body .wrap { width: min(1180px, 100%); max-width: none; padding-inline: 28px; }
.recruitment-body .cubes { display: none; }

/* Header mirrors the account surface and spacing. */
.recruitment-body header,
.recruitment-body header.scrolled {
  position: sticky;
  top: 0;
  z-index: 60;
  height: 68px;
  border-bottom: 1px solid var(--recruit-line);
  background: rgba(255, 255, 255, .92);
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.recruitment-body .nav { height: 68px; }
.recruitment-body .logo {
  gap: 9px;
  color: var(--recruit-ink);
  font-family: Unbounded, sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.04em;
}
.recruitment-body .logo em { font-size: 20px; filter: none; }
.recruitment-body .nav-l { gap: 28px; color: var(--recruit-copy); font-size: 13px; font-weight: 650; }
.recruitment-body .nav-l a:not(.btn) { opacity: 1; }
.recruitment-body .nav-l a:not(.btn):hover { color: var(--recruit-ink); }

/* Buttons */
.recruitment-body .btn {
  min-height: 48px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 13px;
  box-shadow: none;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.15;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.recruitment-body .btn.sm { min-height: 42px; padding: 0 18px; border-radius: 12px; font-size: 12px; }
.recruitment-body .btn.primary {
  border-color: var(--recruit-accent);
  background: var(--recruit-accent);
  color: #fff;
}
.recruitment-body .btn.primary:hover {
  border-color: var(--recruit-accent-deep);
  background: var(--recruit-accent-deep);
  box-shadow: 0 12px 25px rgba(8, 127, 137, .18);
  transform: translateY(-2px);
}
.recruitment-body .btn.ghost {
  border-color: var(--recruit-line-strong);
  background: rgba(255, 255, 255, .82);
  color: var(--recruit-ink);
}
.recruitment-body .btn.ghost:hover { border-color: rgba(25,165,174,.5); background: #fff; transform: translateY(-2px); }
.recruitment-body .btn:focus-visible,
.recruitment-body a:focus-visible,
.recruitment-body button:focus-visible,
.recruitment-body input:focus-visible,
.recruitment-body select:focus-visible,
.recruitment-body textarea:focus-visible { outline: 3px solid rgba(25, 165, 174, .22); outline-offset: 3px; }

/* Hero */
.recruitment-body .hero {
  padding: clamp(30px, 4vw, 54px) 0 0 !important;
}
.recruitment-body .hero-grid {
  position: relative;
  min-height: 520px;
  padding: clamp(34px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 38px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 45%, rgba(58, 153, 185, .18), transparent 35%),
    linear-gradient(135deg, #192126 0%, #172126 58%, #153438 100%);
  color: #f4f7f8;
  box-shadow: 0 30px 70px -38px rgba(16, 42, 48, .64);
}
.recruitment-body .hero-grid::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 350px;
  height: 350px;
  border: 1px solid rgba(126, 212, 217, .14);
  border-radius: 50%;
  pointer-events: none;
}
.recruitment-body .hero-grid > div:first-child { position: relative; z-index: 2; }
.recruitment-body .eyebrow {
  display: block;
  margin-bottom: 17px;
  color: var(--recruit-accent-deep);
  font-family: Rubik, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.recruitment-body .eyebrow::before { display: none; }
.recruitment-body .hero .eyebrow { color: #7ed4d9; }
.recruitment-body h1,
.recruitment-body h2,
.recruitment-body .ctaBanner h3 { font-family: Unbounded, sans-serif; color: var(--recruit-ink); letter-spacing: -.05em; }
.recruitment-body h1 { max-width: 12ch; margin-bottom: 22px; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.01; }
.recruitment-body .hero h1 { color: #f4f7f8; }
.recruitment-body .grad {
  background: none;
  color: #7ed4d9;
  -webkit-text-fill-color: currentColor;
}
.recruitment-body .sub { max-width: 48ch; margin-bottom: 28px; color: rgba(244,247,248,.72); font-size: 16px; line-height: 1.58; }
.recruitment-body .cta-row { gap: 10px; margin-bottom: 22px; }
.recruitment-body .hero .btn.ghost { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; }
.recruitment-body .hero .btn.ghost:hover { border-color: rgba(126,212,217,.48); background: rgba(126,212,217,.1); }
.recruitment-body .chips { gap: 8px; }
.recruitment-body .chip { padding: 7px 11px; border-color: rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.055); color: rgba(244,247,248,.68); font-size: 11px; }
.recruitment-body .hero-img {
  position: relative;
  z-index: 1;
  min-height: 390px;
  display: grid;
  place-items: center;
  perspective: 900px;
  transform-style: preserve-3d;
}
.recruitment-body .hero-img::before,
.recruitment-body .hero-img::after { display: none; }
.recruitment-body .hero-img img {
  width: min(590px, 112%);
  max-width: none;
  filter: drop-shadow(0 28px 32px rgba(3, 13, 20, .35));
  animation: recruit-float 7s ease-in-out 1s infinite;
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translate3d(0, var(--tilt-lift, 0px), 18px);
  transition: transform .32s cubic-bezier(.2,.8,.2,1), filter .32s ease;
}
.recruitment-body .hero-img.is-tilting img { transition-duration: .1s; }
@keyframes recruit-float { 0%,100% { margin-top: 0; } 50% { margin-top: -9px; } }

/* Apply uses the same shell, with the form as the main visual. */
.recruitment-apply .hero > .wrap {
  position: relative;
  width: min(1040px, 100%);
  padding: clamp(32px, 5vw, 64px);
  overflow: hidden;
  border: 1px solid var(--recruit-line);
  border-radius: 24px;
  background: var(--recruit-surface);
  box-shadow: var(--recruit-shadow);
}
.recruitment-apply .hero > .wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 12px;
  height: 160px;
  background: var(--recruit-accent);
}
.recruitment-apply .hero .eyebrow { color: var(--recruit-accent-deep); }
.recruitment-apply .hero h1 { max-width: 15ch; color: var(--recruit-ink); }
.recruitment-apply .hero .grad { color: var(--recruit-accent-deep); }
.recruitment-apply .hero .sub { max-width: 58ch; color: var(--recruit-copy); }

/* Sections */
.recruitment-body .sec { padding: clamp(64px, 7vw, 96px) 0; }
.recruitment-body .sec.alt { border: 0; background: var(--recruit-soft); }
.recruitment-body h2 { margin-bottom: 14px; font-size: clamp(29px, 4vw, 46px); line-height: 1.05; }
.recruitment-body .lead { max-width: 54ch; margin-bottom: 38px; color: var(--recruit-copy); font-size: 16px; }

/* Role hub: one editorial grid instead of seven cloned cards. */
.recruitment-body .rgrid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.recruitment-body .rcard {
  grid-column: span 4;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--recruit-line);
  border-radius: var(--recruit-radius);
  background: var(--recruit-surface);
  box-shadow: 0 1px 2px rgba(28,46,55,.03);
  transform-style: preserve-3d;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), border-color .25s ease, box-shadow .3s ease;
}
.recruitment-body .rcard:nth-child(1),
.recruitment-body .rcard:nth-child(6) { grid-column: span 7; }
.recruitment-body .rcard:nth-child(2),
.recruitment-body .rcard:nth-child(7) { grid-column: span 5; }
.recruitment-body .rcard:hover {
  border-color: rgba(25,165,174,.44);
  box-shadow: 0 24px 55px -34px rgba(16,42,48,.48);
  transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-5px);
}
.recruitment-body .rcard.is-tilting { transition-duration: .1s; }
.recruitment-body .rcard img { height: 235px; aspect-ratio: auto; object-fit: cover; background: #e7edef; transition: transform .48s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.recruitment-body .rcard:hover img { transform: scale(1.035) translateZ(12px); filter: saturate(1.03); }
.recruitment-body .rcard .rb { padding: 20px 22px 23px; gap: 8px; }
.recruitment-body .rcard h3 { color: var(--recruit-ink); font-size: 18px; letter-spacing: -.035em; }
.recruitment-body .rcard p { color: var(--recruit-copy); font-size: 14px; }
.recruitment-body .rcard .go { color: var(--recruit-accent-deep); font-size: 12px; }

/* Role detail blocks */
.recruitment-body .grid3 { gap: 16px; }
.recruitment-body .grid4 { gap: 14px; }
.recruitment-body .card,
.recruitment-body .perk,
.recruitment-body .step {
  border: 1px solid var(--recruit-line);
  border-radius: 17px;
  background: var(--recruit-surface);
  box-shadow: 0 1px 2px rgba(28,46,55,.025);
}
.recruitment-body .card { padding: 26px; }
.recruitment-body .card::before { height: 3px; background: var(--recruit-accent); }
.recruitment-body .card:hover,
.recruitment-body .perk:hover { border-color: rgba(25,165,174,.38); box-shadow: 0 18px 38px -28px rgba(16,42,48,.4); }
.recruitment-body .ico {
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  border: 0;
  border-radius: 14px;
  background: #e8f7f8;
  font-size: 23px;
}
.recruitment-body .card h3 { color: var(--recruit-ink); font-size: 17px; letter-spacing: -.03em; }
.recruitment-body .card p { color: var(--recruit-copy); font-size: 14px; }
.recruitment-body .perk { min-height: 170px; padding: 22px; }
.recruitment-body .perk .pi { margin-bottom: 22px; font-size: 24px; }
.recruitment-body .perk b { color: var(--recruit-ink); }
.recruitment-body .perk span { color: var(--recruit-copy); }
.recruitment-body .check { max-width: 820px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.recruitment-body .check li { min-height: 78px; margin: 0; padding: 17px 18px; border-color: var(--recruit-line); border-radius: 15px; background: var(--recruit-surface); font-size: 15px; }
.recruitment-body .check li:hover { border-color: rgba(25,165,174,.4); transform: translateY(-2px); }
.recruitment-body .tick { min-width: 25px; height: 25px; border-radius: 8px; background: #e5f7f8; color: var(--recruit-accent-deep); }
.recruitment-body .req { max-width: 820px; margin-top: 16px; border: 1px solid rgba(25,165,174,.28); border-radius: 15px; background: #eaf8f9; color: #155b61; font-size: 14px; }
.recruitment-body .steps { gap: 14px; }
.recruitment-body .step { padding: 25px; }
.recruitment-body .num {
  width: 42px;
  height: 42px;
  margin-bottom: 20px;
  border-radius: 12px;
  background: var(--recruit-dark);
  box-shadow: none;
  color: #7ed4d9;
  font-size: 15px;
}
.recruitment-body .step h3 { color: var(--recruit-ink); font-size: 17px; }
.recruitment-body .step p { color: var(--recruit-copy); font-size: 14px; }
.recruitment-body .step .mono { color: var(--recruit-accent-deep); }

.recruitment-body .ctaBanner {
  margin-top: 20px;
  padding: 36px 38px;
  border: 1px solid rgba(126,212,217,.2);
  border-radius: 18px;
  background: radial-gradient(circle at 88% 30%, rgba(25,165,174,.22), transparent 32%), var(--recruit-dark);
  box-shadow: 0 22px 55px -38px rgba(16,42,48,.7);
}
.recruitment-body .ctaBanner::before,
.recruitment-body .ctaBanner::after { display: none; }
.recruitment-body .ctaBanner h3 { color: #fff; font-size: clamp(22px, 3vw, 31px); }
.recruitment-body .ctaBanner p { color: rgba(244,247,248,.7); opacity: 1; }
.recruitment-body .btn.white { border-color: #fff; border-radius: 13px; color: var(--recruit-ink); }
.recruitment-body .btn.wline { border-color: rgba(255,255,255,.22); border-radius: 13px; color: #fff; }
.recruitment-body .btn.wline:hover { border-color: rgba(126,212,217,.5); background: rgba(126,212,217,.1); }
.recruitment-body .rolechips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.recruitment-body .rolechips a { min-height: 54px; padding: 0 17px; border-color: var(--recruit-line); border-radius: 14px; background: var(--recruit-surface); font-size: 13px; }
.recruitment-body .rolechips a:hover { border-color: rgba(25,165,174,.48); box-shadow: 0 12px 28px -22px rgba(16,42,48,.5); transform: translateY(-2px); }

/* Application form */
.recruitment-body .fbox {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin-top: 38px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--recruit-line);
  border-radius: 18px;
  background: var(--recruit-soft);
  box-shadow: none;
}
.recruitment-body .ff { margin-bottom: 22px; }
.recruitment-body .ff label { margin-bottom: 8px; color: var(--recruit-ink); font-size: 13px; font-weight: 750; }
.recruitment-body .ff label em { color: var(--recruit-accent-deep); }
.recruitment-body .ff .hint,
.recruitment-body .fbox > .hint { color: var(--recruit-copy); font-size: 12px; line-height: 1.5; }
.recruitment-body .ff input,
.recruitment-body .ff select,
.recruitment-body .ff textarea {
  border: 1px solid var(--recruit-line-strong);
  border-radius: 12px;
  background: #fff;
  color: var(--recruit-ink);
  font-size: 14px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.recruitment-body .ff input:hover,
.recruitment-body .ff select:hover,
.recruitment-body .ff textarea:hover { border-color: #aebbc1; }
.recruitment-body .ff input:focus,
.recruitment-body .ff select:focus,
.recruitment-body .ff textarea:focus {
  border-color: var(--recruit-accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(25,165,174,.11);
}
.recruitment-body .ff textarea { min-height: 120px; }
.recruitment-body .fmsg { border-radius: 12px; font-size: 13px; }
.recruitment-body .fmsg.err { border-color: #efc6c1; background: #fff0ee; color: #9d3e37; }
.recruitment-body .fdone { background: #eaf8f9; }

/* Footer */
.recruitment-body footer { padding: 50px 0 38px; background: #11171c; color: rgba(244,247,248,.65); }
.recruitment-body .ip { border-color: rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.06); color: #fff; }
.recruitment-body .ipcopy { border-color: rgba(255,255,255,.16); color: #fff; }
.recruitment-body .ipcopy:hover { background: rgba(255,255,255,.08); }
.recruitment-body .f-l { font-size: 13px; }
.recruitment-body .f-c { color: rgba(244,247,248,.48); }

/* Motion */
.recruitment-body .up { transform: translateY(18px); animation-duration: .65s; }
.recruitment-body .pop { transform: scale(.97) translateY(12px); animation-duration: .75s; }
.recruitment-body .rv { transform: translateY(20px); transition-duration: .58s; }

@media (max-width: 980px) {
  .recruitment-body .hero-grid { min-height: 0; grid-template-columns: 1fr; }
  .recruitment-body .hero-img { min-height: 330px; }
  .recruitment-body .hero-img img { width: min(620px, 100%); }
  .recruitment-body .rgrid { grid-template-columns: 1fr 1fr; }
  .recruitment-body .rcard,
  .recruitment-body .rcard:nth-child(n) { grid-column: auto; }
  .recruitment-body .rolechips { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .recruitment-body .wrap { padding-inline: 16px; }
  .recruitment-body .nav-l { gap: 8px; }
  .recruitment-body .nav-l a:not(.btn) { display: none; }
  .recruitment-body .nav-l .btn { min-height: 38px; padding-inline: 13px; }
  .recruitment-body .hero { padding-top: 14px !important; }
  .recruitment-body .hero-grid { padding: 28px 22px 18px; border-radius: 18px; }
  .recruitment-body h1 { font-size: clamp(35px, 11vw, 48px); }
  .recruitment-body .sub { font-size: 15px; }
  .recruitment-body .cta-row { display: grid; }
  .recruitment-body .cta-row .btn { width: 100%; justify-content: center; }
  .recruitment-body .hero-img { min-height: 250px; }
  .recruitment-body .rgrid { grid-template-columns: 1fr; }
  .recruitment-body .rcard { min-height: 0; }
  .recruitment-body .rcard img { height: 210px; }
  .recruitment-body .grid4,
  .recruitment-body .check,
  .recruitment-body .rolechips { grid-template-columns: 1fr; }
  .recruitment-body .grid3,
  .recruitment-body .steps { gap: 10px; }
  .recruitment-body .ctaBanner { padding: 28px 22px; }
  .recruitment-body .ctaBanner .btn { width: 100%; justify-content: center; }
  .recruitment-apply .hero > .wrap { padding: 30px 18px; border-radius: 18px; }
  .recruitment-body .fbox { margin-top: 28px; padding: 20px 16px; }
  .recruitment-body .f-in { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .recruitment-body *,
  .recruitment-body *::before,
  .recruitment-body *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .recruitment-body .up,
  .recruitment-body .pop,
  .recruitment-body .rv { opacity: 1 !important; transform: none !important; }
}
