/* Landing hierarchy: vacancy cards lead; discovery offers a clear preview and soft signup fade. */
.discovery-footer { display:none; }
body.frontdoor-preview .fulltime-section { padding:40px 0 36px; }
body.frontdoor-preview .fulltime-section .section-heading { margin-bottom:20px; }
body.frontdoor-preview .fulltime-section .section-heading h2 { font-size:28px; letter-spacing:-.5px; }
body.frontdoor-preview .fulltime-section .section-heading p { font-size:14px; }
body.frontdoor-preview .fulltime-browse { min-height:44px; padding:10px 18px; font-size:13px; }
body.frontdoor-preview .fulltime-section .fulltime-rail { --ft-card-width:calc((100% - 48px) / 4); gap:16px; padding-bottom:12px; scroll-snap-type:x proximity; }
body.frontdoor-preview .fulltime-card { min-width:0; border-radius:20px; }
body.frontdoor-preview .fulltime-card-media { flex-basis:112px; height:112px; }
body.frontdoor-preview .fulltime-tag { top:12px; left:12px; padding:5px 10px; min-height:28px; font-size:11px; }
body.frontdoor-preview .fulltime-card-content { padding:14px; gap:8px; }
body.frontdoor-preview .fulltime-card h3 { font-size:18px; line-height:1.4; min-height:2.8em; letter-spacing:-.2px; }
body.frontdoor-preview .fulltime-position { font-size:13px; line-height:1.55; min-height:3.1em; margin-top:6px; }
body.frontdoor-preview .fulltime-metadata { margin-top:6px; gap:2px; min-height:40px; }
body.frontdoor-preview .fulltime-card-foot { gap:8px; }
body.frontdoor-preview .fulltime-salary-panel { min-height:70px; padding:7px 10px; gap:1px; border-radius:12px; }
body.frontdoor-preview .fulltime-salary-mask { font-size:19px; line-height:1.3; }
body.frontdoor-preview .fulltime-detail { min-height:44px; padding:10px 12px; font-size:13px; border-radius:12px; }
body.frontdoor-preview .fulltime-rail-footer { margin-top:4px; }
body.frontdoor-preview .directory { padding-top:40px; padding-bottom:36px; }
body.frontdoor-preview .directory-heading { align-items:center; gap:16px; margin-bottom:12px; }
body.frontdoor-preview .directory-heading h2 { font-size:24px; line-height:1.4; letter-spacing:-.3px; }
body.frontdoor-preview .directory-heading .muted { font-size:12px; margin-top:6px; }
body.frontdoor-preview .filter-bar { gap:16px; margin-bottom:16px; padding-bottom:12px; }
body.frontdoor-preview .filter-field { min-height:44px; padding:8px 12px; }
body.frontdoor-preview .filter-field select { font-size:12px; }
body.frontdoor-preview .check-control { min-height:44px; font-size:12px; margin-left:0; }
body.frontdoor-preview :is(.provider-grid,.directory-teasers) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.directory-preview { --directory-fade-rgb:20,40,62; }
body.frontdoor-preview.frontdoor-light .directory-preview { --directory-fade-rgb:255,255,255; }
.directory-continuation { position:relative; isolation:isolate; min-height:260px; margin-top:16px; }
.directory-continuation[hidden] { display:none; }
.directory-teasers { max-height:240px; overflow:hidden; pointer-events:none; user-select:none; }
.directory-continuation::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(var(--directory-fade-rgb),0) 0%,rgba(var(--directory-fade-rgb),.48) 25%,rgba(var(--directory-fade-rgb),.96) 61%,rgb(var(--directory-fade-rgb)) 84%); }
.directory-signup { position:absolute; z-index:2; inset:auto 16px 16px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; }
.directory-signup h3 { margin:0; color:#f4f2ef; font-size:24px; font-weight:600; line-height:1.5; letter-spacing:-.3px; }
body.frontdoor-preview.frontdoor-light .directory-signup h3 { color:#213e60; }
body.frontdoor-preview .directory-signup .button { min-height:48px; padding:12px 24px; gap:12px; border-radius:999px; background:#e68c3a; color:#13273d; font-size:14px; font-weight:600; }
body.frontdoor-preview .directory-signup .button:hover { background:#efa15a; }
.directory-signup .icon { width:18px; height:18px; }
/* Person-first cards: identity, relevant details, then two quiet actions. */
body.frontdoor-preview .discovery-card { min-width:0; display:flex; flex-direction:column; border-radius:16px; scroll-snap-align:start; background:#203b58; border:1px solid #3c5877; box-shadow:none; }
body.frontdoor-preview .discovery-card:hover { transform:none; box-shadow:none; border-color:#94b6ef; }
body.frontdoor-preview .discovery-person { display:flex; align-items:center; gap:12px; padding:16px 16px 0; }
body.frontdoor-preview .discovery-person .card-photo { flex:none; width:72px; height:72px; padding:0; border-radius:16px; overflow:hidden; }
body.frontdoor-preview .discovery-person .portrait { width:72px; height:72px; aspect-ratio:1; }
body.frontdoor-preview .discovery-identity { min-width:0; flex:1; }
body.frontdoor-preview .discovery-card .card-name { gap:5px; min-height:26px; align-items:center; }
body.frontdoor-preview .discovery-card .provider-name { color:#f4f2ef; font-size:16px; font-weight:600; line-height:1.5; letter-spacing:0; }
body.frontdoor-preview .discovery-card .name-check { width:16px; height:16px; background:#94b6ef; color:#213e60; }
body.frontdoor-preview .discovery-role { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; font-size:12px; line-height:1.5; color:#c8d8e7; margin:5px 0 0; }
body.frontdoor-preview .discovery-role .role-badge { position:static; display:inline-flex; align-items:center; background:#94b6ef1a; color:#b9d2fa; border-radius:4px; box-shadow:none; padding:2px 5px; font-size:10px; font-weight:600; line-height:1.4; }
body.frontdoor-preview .discovery-card .card-body { padding:16px; display:flex; flex-direction:column; flex:1; }
body.frontdoor-preview .discovery-card .specialty { color:#e3ebf4; font-size:14px; font-weight:500; line-height:1.55; margin:0; min-height:1.55em; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.frontdoor-preview .discovery-card .location { display:flex; align-items:flex-start; gap:5px; color:#b0c2d4; font-size:12px; line-height:1.6; margin-top:6px; }
body.frontdoor-preview .discovery-card .location .icon { flex:none; width:14px; height:14px; margin:3px 0 0; }
body.frontdoor-preview .discovery-card .location span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.frontdoor-preview .discovery-card .card-actions { display:flex; gap:8px; align-items:center; margin:0 16px; padding:6px 0; border-top:1px solid #94b6ef26; }
body.frontdoor-preview .discovery-card .card-actions .button { flex:1; order:0; width:auto; min-height:44px; padding:8px 0; font-size:13px; font-weight:600; border:0; border-radius:8px; background:transparent; color:#c3d8fb; justify-content:flex-start; gap:8px; }
body.frontdoor-preview .discovery-card .card-actions .button:hover { background:transparent; color:#f4f2ef; }
body.frontdoor-preview .discovery-card .card-actions .button .icon { width:16px; height:16px; }
body.frontdoor-preview .discovery-card .save-button { position:static; flex:none; width:44px; height:44px; border:0; border-radius:8px; color:#b0c2d4; background:transparent; box-shadow:none; }
body.frontdoor-preview .discovery-card .save-button:hover { background:#94b6ef1a; color:#f4f2ef; }
body.frontdoor-preview .discovery-card .save-button[aria-pressed=true] { background:#94b6ef; color:#213e60; }
body.frontdoor-preview .directory-bottom { display:none; }
body.frontdoor-preview .discovery-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:4px; }
body.frontdoor-preview .discovery-note { color:#b0c2d4; font-size:12px; line-height:1.7; margin:0; }
body.frontdoor-preview .discovery-footer .icon-button { display:inline-flex; width:44px; height:44px; }
body.frontdoor-preview .discovery-footer .icon-button:disabled { opacity:.35; cursor:default; }
body.frontdoor-preview .provider-grid:has(> .empty-state) { display:block; }
body.frontdoor-preview .provider-grid > .empty-state { width:100%; padding:32px 20px; }
body.frontdoor-preview .directory :is(button,select,.provider-grid):focus-visible { outline:3px solid #94b6ef; outline-offset:3px; }
body.frontdoor-preview.frontdoor-light :is(.discovery-role,.discovery-note) { color:#58718a; }
body.frontdoor-preview.frontdoor-light .discovery-card { background:#fff; border-color:#d4dfe9; }
body.frontdoor-preview.frontdoor-light .discovery-card :is(.provider-name,.specialty) { color:#213e60; }
body.frontdoor-preview.frontdoor-light .discovery-card :is(.location,.save-button) { color:#58718a; }
body.frontdoor-preview.frontdoor-light .discovery-role .role-badge { background:#edf2f8; color:#213e60; }
body.frontdoor-preview.frontdoor-light .discovery-card .card-actions { border-color:#d4dfe9; }
body.frontdoor-preview.frontdoor-light .discovery-card .card-actions .button { color:#213e60; border-color:#bccbdd; }
body.frontdoor-preview.frontdoor-light .discovery-card .card-actions .button:hover { background:#edf2f8; }
@media (max-width:1100px) {
  body.frontdoor-preview .fulltime-section .fulltime-rail { --ft-card-width:calc((100% - 32px) / 3); }
}
@media (max-width:820px) {
  body.frontdoor-preview .fulltime-section .fulltime-rail { --ft-card-width:calc((100% - 28px) / 2.4); gap:14px; }
  body.frontdoor-preview .directory-heading { flex-wrap:wrap; }
  body.frontdoor-preview :is(.provider-grid,.directory-teasers) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  body.frontdoor-preview .fulltime-section { padding:30px 0 28px; }
  body.frontdoor-preview .fulltime-section .section-heading { gap:12px; margin-bottom:18px; }
  body.frontdoor-preview .fulltime-section .section-heading h2 { font-size:25px; }
  body.frontdoor-preview .fulltime-section .section-heading p { font-size:12px; }
  body.frontdoor-preview .fulltime-section .fulltime-rail { --ft-card-width:min(280px,86%); gap:12px; }
  body.frontdoor-preview .fulltime-card-media { flex-basis:96px; height:96px; }
  body.frontdoor-preview .fulltime-card-content { padding:12px; gap:8px; }
  body.frontdoor-preview .fulltime-card h3 { font-size:18px; }
  body.frontdoor-preview .fulltime-rail-footer { align-items:center; }
  body.frontdoor-preview .directory { padding-top:32px; padding-bottom:28px; }
  body.frontdoor-preview .directory-heading h2 { font-size:22px; }
  body.frontdoor-preview .directory-tools { margin-top:8px; }
  body.frontdoor-preview .filter-bar { gap:4px 12px; padding-bottom:8px; margin-bottom:12px; }
  body.frontdoor-preview .filter-field { flex:none; max-width:100%; }
  body.frontdoor-preview .check-control { width:auto; font-size:11px; margin:0; }
  body.frontdoor-preview :is(.provider-grid,.directory-teasers) { grid-template-columns:minmax(0,1fr); gap:12px; }
  .directory-continuation { margin-top:12px; min-height:250px; }
  .directory-signup { inset-inline:8px; gap:16px; }
  .directory-signup h3 { font-size:20px; }
  body.frontdoor-preview .directory-signup .button { width:auto; max-width:100%; }
  body.frontdoor-preview .discovery-note { font-size:11px; }
  body.frontdoor-preview .discovery-footer .rail-controls { flex-shrink:0; }
}
