/* careers.html — apply card */
.apply-card { max-width:780px; margin:0 auto; text-align:center; background:#fff; border:1px solid var(--border-subtle); border-radius:20px; box-shadow:var(--shadow-md); padding:40px 24px; }
.apply-card h2 { font-size:clamp(26px,5vw,38px); margin:16px 0 12px; }
.apply-actions { display:flex; flex-direction:column; gap:12px; margin-top:24px; align-items:center; }
@media (min-width:600px){ .apply-actions { flex-direction:row; justify-content:center; } }
@media (min-width:768px){ .apply-card { padding:52px 44px; } }

/* careers.html — 50/50 apply form + team photo */
.apply-split { display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media (min-width:900px){ .apply-split { grid-template-columns:1fr 1fr; gap:56px; } }
.apply-split .photo { border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:1/1; }
.apply-split .photo img { width:100%; height:100%; object-fit:cover; display:block; }
.apply-form { background:#fff; border:1px solid var(--border-subtle); border-radius:20px; box-shadow:var(--shadow-md); padding:32px 24px; }
@media (min-width:768px){ .apply-form { padding:40px 36px; } }
.apply-form h2 { font-size:clamp(24px,4vw,32px); margin:14px 0 8px; }
.apply-form .lede { color:var(--fg-muted,rgba(0,0,0,.6)); font-size:15px; margin:0 0 22px; }
.apply-form .field { margin-bottom:16px; }
.apply-form .field label { display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(0,0,0,.55); margin-bottom:7px; }
.apply-form .field input, .apply-form .field select, .apply-form .field textarea { width:100%; border:1.5px solid var(--border); border-radius:10px; padding:13px 14px; font-family:inherit; font-size:15px; outline:0; background:#fff; transition:border-color .14s, box-shadow .14s; }
.apply-form .field textarea { resize:vertical; }
.apply-form .field input:focus, .apply-form .field select:focus, .apply-form .field textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(28,190,114,.14); }
.apply-form .field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:520px){ .apply-form .field-row { grid-template-columns:1fr; } }
.apply-form .btn-submit { width:100%; justify-content:center; margin-top:6px; }
.apply-form .form-note { font-size:13px; color:rgba(0,0,0,.55); text-align:center; margin:14px 0 0; }
.apply-form .form-note a { color:var(--green-hover); font-weight:600; }

/* careers.html — 50/50 hero (copy left, photo right) */
.page-hero--split .hero-split { display:grid; grid-template-columns:1fr; gap:30px; align-items:center; }
@media (min-width:900px){
  .page-hero--split { text-align:left; }
  .page-hero--split .hero-split { grid-template-columns:1.02fr .98fr; gap:52px; }
  .page-hero--split .hero-copy .sub { margin-left:0; margin-right:0; }
  .page-hero--split .hero-copy .accent { margin-left:0; margin-right:auto; }
}
.page-hero--split .hero-photo { border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:16/11; border:1px solid rgba(255,255,255,.08); }
.page-hero--split .hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }

/* =============================================================
   Mobile fixes — careers hero image + prose
   Audit: June 2026
   ============================================================= */

@media (max-width: 560px) {
  /* Override the global 100svh rule — careers hero-photo is an image
     column inside a split layout, not a full-bleed service hero */
  .page-hero--split .hero-photo {
    min-height: 260px !important;
    max-height: 260px !important;
    height: 260px;
    overflow: hidden;
  }
  .page-hero--split .hero-photo img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center top;
  }
}
