/* Full-time landing cards: white tiles on the approved navy section. */
.fulltime-section{
  --ft-surface:#1a334e;--ft-ink:#f4f2ef;--ft-muted:#b8cadd;
  --ft-card:#fff;--ft-card-ink:#1a334e;--ft-card-muted:#58718a;--ft-card-line:#dce5ec;
  padding:64px 0 68px;background:var(--ft-surface);color:var(--ft-ink);scroll-margin-top:120px;
}
body.frontdoor-preview .fulltime-section,
body.frontdoor-preview.frontdoor-light .fulltime-section{background:var(--ft-surface);color:var(--ft-ink)}
.fulltime-section .section-heading{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.fulltime-section .section-heading h2{margin:0;font-size:38px;font-weight:700;letter-spacing:-1px;color:var(--ft-ink)}
.fulltime-section .section-heading p{margin-top:7px;color:var(--ft-muted);font-size:14px}
.fulltime-browse{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;background:#e68c3a;color:#172e47;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.fulltime-browse:hover{background:#f0a761}
.fulltime-browse .icon{width:17px;height:17px}
.fulltime-line-logo{display:block;width:24px;height:24px;flex:none;fill:currentColor;stroke:none}
.fulltime-section .fulltime-rail{--ft-card-width:calc(33.333% - 16px);display:flex;flex-flow:row nowrap;gap:24px;align-items:stretch;overflow-x:auto;padding:2px 1px 20px;scroll-padding-inline:1px}
/* Explicit, non-shrinking cards avoid percentage grid-track collapse in the preview browser. */
.fulltime-card{display:flex;flex-direction:column;flex:0 0 var(--ft-card-width);min-width:min(280px,100%);max-width:100%;padding:0;border:1px solid #ffffff24;border-radius:24px;overflow:hidden;background:var(--ft-card);color:var(--ft-card-ink);box-shadow:0 10px 24px #07172824;scroll-snap-align:start}
.fulltime-card-media{position:relative;flex:0 0 320px;height:320px;min-height:0;overflow:hidden;background:#e8eff4}
.fulltime-facility-placeholder{position:absolute;inset:0;background:#e8eff4 url('assets/facility-placeholder.svg') center/cover no-repeat}
.fulltime-card-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fulltime-tag{position:absolute;top:16px;left:16px;display:inline-flex;max-width:calc(100% - 32px);align-items:center;min-height:30px;padding:6px 12px;border:1px solid #ffffff29;border-radius:10px;background:#1a334ee8;color:#fff;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.fulltime-card-content{min-width:0;display:flex;flex:1;flex-direction:column;padding:20px;gap:16px}
.fulltime-card-body{min-width:0;flex:1}
.fulltime-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;margin:0;font-size:25px;font-weight:700;line-height:1.35;letter-spacing:-.5px;color:var(--ft-card-ink);overflow-wrap:anywhere}
.fulltime-position{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:1.45em;margin:8px 0 0;font-size:15px;line-height:1.45;font-weight:500;color:#34506b;overflow-wrap:anywhere}
.fulltime-metadata{display:grid;gap:7px;margin-top:14px;min-height:45px}
.fulltime-meta{display:flex;align-items:start;gap:8px;margin:0;color:var(--ft-card-muted);font-size:12px;line-height:1.6;min-width:0}
.fulltime-meta .icon{width:16px;height:16px;flex:none;margin-top:2px}
.fulltime-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fulltime-card-foot{display:grid;gap:12px;min-width:0;margin:0;padding:0;border:0}
.fulltime-salary-panel{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:96px;padding:12px 16px;border-radius:14px;background:#f0f4f8;color:#213e60}
.fulltime-salary-label{font-size:11px;line-height:1.5;color:#58718a}
.fulltime-salary-mask{display:flex;align-items:center;gap:10px;min-width:0;font-size:21px;line-height:1.5;font-weight:600;white-space:nowrap}
.fulltime-salary-blur{display:inline-block;flex:1;min-width:0;max-width:7ch;padding:1px 0;filter:blur(5px);opacity:.6;user-select:none;-webkit-user-select:none;pointer-events:none;letter-spacing:-.04em}
.fulltime-salary-blur.is-range{max-width:none;font-size:.75em;letter-spacing:-.055em}
.fulltime-salary-period{flex:none;font-size:13px;font-weight:500}
.fulltime-salary-hint{display:flex;align-items:center;gap:6px;margin:0;color:#58718a;font-size:10px;line-height:1.5}
.fulltime-salary-hint .icon{width:12px;height:12px;flex:none}
.fulltime-salary-unlisted{margin:0;font-size:17px;font-weight:500;line-height:1.7;color:#34506b}
.fulltime-detail{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 16px;border-radius:14px;background:#e68c3a;color:#172e47;font-size:15px;line-height:1.4;font-weight:700;text-decoration:none;transition:background 180ms ease-in-out}
.fulltime-detail>.icon{width:18px;height:18px;margin-left:auto;flex:none}
.fulltime-detail>span{flex:1;text-align:center}
.fulltime-detail:hover{background:#f0a761}
.fulltime-detail .fulltime-line-logo{width:23px;height:23px}
.fulltime-rail-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px}
.fulltime-rail-footer p{color:var(--ft-muted);font-size:12px;line-height:1.7;margin:0}
.fulltime-section .rail-controls .icon-button{display:inline-flex;width:44px;height:44px;border-color:#6584a2;background:#274764;color:var(--ft-ink)}
.fulltime-section .rail-controls .icon-button:hover{background:#365a7b}
.fulltime-section .rail-controls .icon-button:disabled{opacity:.35;cursor:default}
.fulltime-section .fulltime-empty{display:block}
.fulltime-state{width:100%;min-height:230px;padding:40px 24px;border:1px solid var(--ft-card-line);border-radius:24px;background:var(--ft-card);display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:16px;color:var(--ft-card-ink);font-size:15px;text-align:center}
.fulltime-state p{width:100%;margin:0 0 8px;line-height:1.8}
.fulltime-state button,.fulltime-state a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--ft-card-line);border-radius:99px;color:var(--ft-card-ink);font-size:13px;background:transparent;text-decoration:none}
.fulltime-section :is(a,button,select):focus-visible{outline:3px solid #94b6ef;outline-offset:4px}
.fulltime-detail:focus-visible{outline-color:#213e60;outline-offset:3px}
@media(max-width:980px){.fulltime-card-content{padding:20px}.fulltime-card h3{font-size:23px}}
@media(max-width:820px){
 .fulltime-section{padding:52px 0 56px}
 .fulltime-section .fulltime-rail{--ft-card-width:calc(50% - 10px);gap:20px}
 .fulltime-browse{padding:10px 16px;font-size:12px}
}
@media(max-width:600px){
 .fulltime-section{padding:40px 0 46px}
 .fulltime-section .section-heading{align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:24px}
 .fulltime-section .section-heading h2{font-size:30px}
 .fulltime-section .section-heading p{max-width:280px;font-size:12px;line-height:1.6}
 .fulltime-browse{min-height:44px}
 .fulltime-section .fulltime-rail{--ft-card-width:min(360px,90%);gap:16px;margin-right:0;padding-right:1px}
 .fulltime-card-content{padding:18px;gap:16px}
 .fulltime-card h3{font-size:23px}
 .fulltime-position{font-size:14px}
 .fulltime-salary-panel{padding:12px}
 .fulltime-salary-mask{font-size:20px;gap:8px}
 .fulltime-salary-period{font-size:12px}
 .fulltime-rail-footer{align-items:start;gap:12px}
 .fulltime-rail-footer p{font-size:11px}
 .fulltime-rail-footer .rail-controls{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){.fulltime-detail{transition:none}}

/* Shared category controls stay in the white profession section. */
.section-professions .category-heading{flex-wrap:wrap;gap:16px}
.profession-reset{color:#213e60;border:1px solid #dce5ec;border-radius:999px;padding:10px 16px;min-height:44px;font-size:13px;white-space:nowrap}
.profession-reset:hover{background:#f0f4f8}
.profession-reset:focus-visible,.profession-chip:focus-visible{outline:3px solid #94b6ef;outline-offset:4px}
