/* Recruitment CMS page; the approved prototype layout stays scoped to this page. */
.recruitment-site { --recruit-accent:#f5c842; background:#fff; color:#17334f; font-family:Arial,"Helvetica Neue",sans-serif; }
.recruitment-site [hidden] { display:none!important; }
.recruitment-site :where(p,li,input,button,summary,a) { overflow-wrap:anywhere; }
.recruitment-site p { line-height:1.65; }
.recruitment-site h2 { font-size:clamp(2.4rem,3.7vw,4.2rem); line-height:1.04; color:inherit; }
.recruitment-site h3 { margin:0; font-size:1.1rem; }
.recruitment-site :where(section,div,figure,fieldset) { min-width:0; }
.recruitment-site section[id] { scroll-margin-top:24px; }
.recruitment-draft { padding:7px 20px; background:#edf1f5; color:#40576b; font-size:.875rem; line-height:1.5; text-align:center; }
.recruitment-site .recruitment-header { position:relative; inset:auto; height:auto; min-height:72px; padding:10px 3vw; background:var(--public-deep); color:#fff; }
.recruitment-site main { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); align-items:start; }
.recruitment-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:560px; height:min(660px,calc(100svh - 110px)); color:#fff; background:#173f76; }
.recruitment-hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; }
.recruitment-hero-shade { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,#071b35eb 0%,#071b358c 32%,#071b3500 72%); }
.recruitment-hero-copy { padding:48px 5vw; width:100%; }
.recruitment-site .recruitment-eyebrow { font-size:.8rem; line-height:1.5; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin:0 0 24px; }
.recruitment-site .recruitment-hero h1 { font-size:clamp(4rem,7.5vw,7.5rem); line-height:.98; margin:0; }
.recruitment-hero h1 span { display:block; }
.recruitment-hero-copy>.recruitment-eyebrow { margin-bottom:16px; }
.recruitment-hero-copy>p:not(.recruitment-eyebrow) { max-width:400px; font-size:1rem; margin:20px 0 0; }
.recruitment-site .recruitment-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; width:100%; max-width:100%; padding:16px 22px; font-size:1rem; font-weight:700; line-height:1.4; background:var(--recruit-accent); color:#14263d; border:1px solid var(--recruit-accent); border-radius:4px; cursor:pointer; }
.recruitment-button>span { font-size:1.3rem; flex-shrink:0; }
.recruitment-button:hover { background:#ffda66; border-color:#ffda66; }
.recruitment-section { padding:64px 6vw; }
.recruitment-first { --closing-ink:#0c2443; grid-column:1/-1; position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:580px; background:var(--closing-ink); color:#fff; border-radius:0; }
.recruitment-first figure { margin:0; position:absolute; inset:0; z-index:-1; }
.recruitment-final-shade { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#0c24430d 0%,#0c244338 25%,#0c2443e8 52%,#0c2443fa 82%,#0c2443 100%),linear-gradient(0deg,#0c2443b3 0%,#0c244300 35%); }
.recruitment-first img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:38% 31%; }
.recruitment-first figcaption { position:absolute; z-index:1; bottom:28px; left:5vw; max-width:36%; font-size:.875rem; line-height:1.5; }
.recruitment-first-copy { grid-column:2; position:relative; padding:56px 5vw; }
.recruitment-first-copy>p { max-width:450px; }
.recruitment-first ol { list-style:none; margin:32px 0; padding:0; }
.recruitment-first li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; padding:23px 0; border-top:1px solid #ffffff4d; }
.recruitment-first li>span { font:2rem/1 "Anton",Impact,sans-serif; color:var(--recruit-accent); }
.recruitment-first li p { font-size:1rem; margin:8px 0 0; }
.recruitment-site .recruitment-small { font-size:.875rem; line-height:1.6; }
.recruitment-booking { position:relative; padding:52px clamp(28px,4vw,72px); display:grid; grid-template-columns:minmax(0,1fr); gap:24px; background:#fff; }
.recruitment-site .recruitment-booking h2 { font-size:clamp(2.2rem,3vw,3.2rem); margin:0; color:var(--public-deep); }
.recruitment-booking-intro>p { max-width:400px; margin:14px 0 0; }
.recruitment-booking .recruitment-eyebrow { color:var(--public-deep); }
.recruitment-site .recruitment-demo-note { font-size:.875rem; color:#5c6c7c; margin-top:16px; }
.recruitment-dates { display:grid; gap:12px; }
.recruitment-date { display:grid; grid-template-columns:48px minmax(0,1fr) 26px; align-items:center; gap:16px; width:100%; min-height:108px; padding:18px; border:1px solid #b6c4d1; border-radius:4px; color:var(--public-deep); background:#fff; text-align:left; cursor:pointer; transition:background-color .15s,border-color .15s; }
.recruitment-date:hover { background:#f4f7fa; border-color:var(--public-deep); }
.recruitment-date[aria-pressed="true"] { background:#edf3f9; border-color:var(--public-deep); box-shadow:inset 0 0 0 1px var(--public-deep); }
.recruitment-calendar b { display:block; font:700 2rem/1 Arial,sans-serif; }
.recruitment-calendar>span { display:block; margin-top:6px; font-size:.75rem; letter-spacing:.12em; font-weight:700; }
.recruitment-date>span:nth-child(2)>:is(strong,span,small) { display:block; }
.recruitment-date strong { font-size:1rem; margin-bottom:5px; }
.recruitment-date>span:nth-child(2)>span { font-size:.95rem; line-height:1.5; }
.recruitment-date small { font-size:.75rem; margin-top:6px; color:#526778; }
.recruitment-date-arrow { font-size:0; width:24px; height:24px; border:1px solid #8a9eb2; border-radius:50%; display:grid; place-items:center; }
.recruitment-date[aria-pressed="true"] .recruitment-date-arrow { color:#fff; background:var(--public-deep); border-color:var(--public-deep); }
.recruitment-date[aria-pressed="true"] .recruitment-date-arrow::after { content:"✓"; font:700 .875rem/1 Arial,sans-serif; }
.recruitment-details,.recruitment-confirmation { margin-top:28px; padding:28px 0 0; border:0; border-top:1px solid #c8d2dc; background:#fff; }
.recruitment-fields { display:grid; grid-template-columns:1fr; gap:18px; margin:24px 0; }
.recruitment-fields label { font-size:.875rem; font-weight:700; }
.recruitment-fields input { display:block; margin-top:8px; border:1px solid #a4b5c5; background:#f7f9fb; color:#465868; border-radius:4px; width:100%; min-width:0; padding:14px 12px; font:1rem Arial,sans-serif; }
.recruitment-confirmation h3 { font:2.7rem/1.05 "Anton",Impact,sans-serif; text-transform:uppercase; color:var(--public-deep); }
.recruitment-text-button { min-height:48px; padding:12px 0; border:0; border-bottom:1px solid; background:none; color:var(--public-deep); font-size:1rem; cursor:pointer; }
.recruitment-faq { grid-column:1/-1; position:relative; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-template-areas:"questions heading"; gap:8vw; border-top:1px solid #dce3e9; background:#f7f9fb; }
.recruitment-faq-intro { grid-area:heading; }
.recruitment-faq-questions { grid-area:questions; }
.recruitment-faq>div>p { max-width:380px; }
.recruitment-faq details { border-top:1px solid #173f7666; }
.recruitment-faq details:last-child { border-bottom:1px solid #173f7666; }
.recruitment-faq summary { cursor:pointer; padding:22px 0; font-size:1rem; font-weight:700; line-height:1.4; }
.recruitment-faq details p { margin:0; padding:0 0 24px; max-width:550px; }
.recruitment-footer { display:flex; gap:24px 40px; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:42px 6vw; color:#fff; background:#111b28; font-size:.875rem; }
.recruitment-footer a { min-height:44px; display:inline-flex; align-items:center; }
.recruitment-footer small { flex-basis:100%; font-size:.75rem; color:#c0ccd8; line-height:1.5; }
@media(max-width:760px) {
  .recruitment-site main { grid-template-columns:minmax(0,1fr); }
  .recruitment-hero { position:relative; min-height:180px; height:auto; }
  .recruitment-hero-image { object-position:62% 55%; }
  .recruitment-hero-shade { background:linear-gradient(0deg,#071b35d9,#071b3555); }
  .recruitment-hero-copy { padding:24px 22px; }
  .recruitment-site .recruitment-hero h1 { font-size:clamp(3rem,12vw,4rem); }
  .recruitment-hero h1 span { display:inline; }
  .recruitment-site .recruitment-eyebrow { font-size:.75rem; letter-spacing:.11em; }
  .recruitment-hero-copy>p:not(.recruitment-eyebrow) { font-size:1rem; margin:12px 0 0; }
  .recruitment-section { padding:32px 22px; }
  .recruitment-booking,.recruitment-faq { grid-template-columns:minmax(0,1fr); gap:20px; }
  .recruitment-faq { grid-template-areas:"heading" "questions"; }
  .recruitment-booking { padding-top:28px; }
  .recruitment-site .recruitment-booking h2 { font-size:2.2rem; }
  .recruitment-booking-intro>p { margin:10px 0 0; }
  .recruitment-site h2 { font-size:clamp(2.7rem,10vw,4.5rem); }
  .recruitment-first { --closing-photo-height:clamp(300px,85vw,380px); grid-template-columns:minmax(0,1fr); min-height:0; }
  .recruitment-first figure { height:var(--closing-photo-height); bottom:auto; }
  .recruitment-final-shade { background:linear-gradient(180deg,#0c244300 20%,#0c244326 45%,#0c2443e6 82%,#0c2443 100%); }
  .recruitment-first img { object-position:38% 24%; }
  .recruitment-first figcaption { top:calc(var(--closing-photo-height) - 90px); bottom:auto; left:22px; max-width:calc(100% - 44px); }
  .recruitment-first-copy { grid-column:1; margin-top:calc(var(--closing-photo-height) - 64px); padding:40px 22px; }
  .recruitment-details,.recruitment-confirmation { padding:24px 0 0; }
  .recruitment-footer { padding:36px 22px; flex-direction:column; align-items:flex-start; }
}
@media(max-width:360px) {
  .recruitment-hero-copy,.recruitment-first-copy,.recruitment-section,.recruitment-footer { padding-inline:18px; }
  .recruitment-date { grid-template-columns:38px minmax(0,1fr) 24px; gap:10px; padding:16px 12px; }
  .recruitment-date strong { font-size:.9375rem; }
  .recruitment-calendar b { font-size:1.75rem; }
  .recruitment-button { width:100%; }
}
@media(max-width:900px) {
  .recruitment-site .recruitment-header { min-height:64px; padding:0 20px; }
  .recruitment-header .public-navigation { top:100%; max-height:calc(100dvh - 64px); }
}
@media(prefers-reduced-motion:reduce) { .recruitment-site * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.recruitment-hero-copy,.recruitment-first-copy {z-index:2;position:relative}
.recruitment-hero [data-website-crop-picture] {z-index:-2}
.recruitment-final-shade {z-index:1}
.recruitment-details fieldset {border:0;margin:0;padding:0}
.recruitment-date:disabled {opacity:.65;cursor:not-allowed}
.recruitment-date:disabled .recruitment-date-arrow {display:none}
.recruitment-site :focus-visible {outline:3px solid #bc8300;outline-offset:4px}
.recruitment-field-error,[data-recruitment-error] {color:#a52020;font-size:1rem;line-height:1.5}
.recruitment-fields [aria-invalid=true] {border:2px solid #a52020}
.recruitment-site button:disabled {cursor:not-allowed}
.recruitment-site [data-recruitment-status] {min-height:1.65em}
.recruitment-site [data-recruitment-error] {padding:16px;border-left:3px solid;background:#fff4f4}
