/* Starf X / Nordic Hire — people-first staffing agency layer */
:root {
  --agency-navy: #0c2343;
  --agency-blue: #1566d7;
  --agency-sky: #dcebfa;
  --agency-mist: #f4f7fb;
  --agency-slate: #52647a;
  --agency-line: #dce4ee;
  --agency-ink: #132238;
  --agency-accent: #d7ef67;
}

body:not(.admin-body) { color: var(--agency-ink); background: var(--agency-mist); }
body:not(.admin-body) .eyebrow { color: var(--agency-blue); }
body:not(.admin-body) .text-link { color: var(--agency-blue); }
body:not(.admin-body) .text-link:hover { color: var(--agency-navy); }

/* Header stays authoritative, not industrial. */
.site-header,
.admin-body .site-header { min-height: 76px; color: #fff; background: rgba(12,35,67,.94); border-bottom-color: rgba(255,255,255,.14); backdrop-filter: blur(14px); }
.site-header nav > a,
.site-header .link-button,
.admin-body .site-header nav > a,
.admin-body .site-header .link-button { color: #f8fbff; }
.site-header nav > a:not(.nav-cta):hover { color: var(--agency-accent); }
.official-brand .brand-route { color: #cfe1f5; border-left-color: rgba(255,255,255,.34); }
.site-header .nav-cta,
.button { color: var(--agency-navy) !important; border-color: var(--agency-accent); background: var(--agency-accent); box-shadow: none; }
.site-header .nav-cta:hover,
.button:hover { color: #fff !important; border-color: var(--agency-blue); background: var(--agency-blue); box-shadow: 0 12px 25px rgba(21,102,215,.23); }
.button-ghost { color: #fff !important; border-color: rgba(255,255,255,.72); background: rgba(12,35,67,.16); }
.button-ghost:hover { color: var(--agency-navy) !important; border-color: #fff; background: #fff; }

/* Home: an agency conversation, not a trade workshop. */
.agency-home { min-height: min(760px, calc(100vh - 76px)); color: #fff; background: var(--agency-navy); }
.agency-home .hero-image { object-position: center; opacity: 1; filter: none; animation: none !important; }
.agency-home .hero-overlay { background: linear-gradient(90deg, rgba(8,27,54,.98) 0%, rgba(8,27,54,.94) 29%, rgba(8,27,54,.73) 52%, rgba(8,27,54,.23) 78%, rgba(8,27,54,.1) 100%), linear-gradient(0deg, rgba(6,20,39,.45), transparent 58%); }
.agency-home .hero-gridlines { display: none; }
.agency-home .hero-copy { width: min(770px, 63vw); padding-top: clamp(80px, 11vh, 125px); }
.agency-home .hero-eyebrow { color: #d9eaff; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.22); }
.agency-home .hero-live { color: var(--agency-accent); }
.agency-home .hero-live i { background: var(--agency-accent); box-shadow: 0 0 0 5px rgba(215,239,103,.13); }
.agency-home .hero-copy h1 { max-width: 780px; color: #fff; font-size: clamp(63px, 7.5vw, 118px); line-height: .88; text-shadow: none; }
.agency-home .hero-copy h1 span { color: var(--agency-accent); }
.agency-home .hero-lead { max-width: 555px; color: #e4edf8; }
.agency-home .hero-assurance { color: #d3dfef; }
.agency-home .hero-assurance b { color: var(--agency-accent); }
.agency-home .hero-signal { right: clamp(24px, 6vw, 110px); bottom: 47px; width: 283px; color: var(--agency-navy); background: #fff; border: 0; box-shadow: 0 24px 55px rgba(3,18,38,.28); backdrop-filter: none; }
.agency-home .signal-label { color: var(--agency-blue); }
.agency-home .hero-signal strong { color: var(--agency-navy); font-size: 30px; }
.agency-home .hero-signal p { color: var(--agency-slate); }
.agency-home .hero-signal p b { color: var(--agency-blue); }
.agency-home .signal-route { color: var(--agency-slate); border-color: var(--agency-line); }
.agency-home .signal-route b { color: var(--agency-blue); }
.agency-home .signal-route i { background: var(--agency-blue); box-shadow: 0 0 0 5px rgba(21,102,215,.12); }
.agency-home .hero-scroll { color: #e2edf9; }
.agency-home .hero-scroll:after { color: var(--agency-accent); }

.agency-rail { color: var(--agency-ink); background: #fff; border-color: var(--agency-line); }
.agency-rail > div { border-color: var(--agency-line); }
.agency-rail .trust-icon { color: var(--agency-blue); }
.agency-rail p { color: var(--agency-slate); }
.agency-rail strong { color: var(--agency-navy); }

/* Editorial agency identity. */
.identity-section { color: var(--agency-ink); background: #fff; }
.identity-panel { min-height: 570px; color: var(--agency-ink); background: linear-gradient(135deg, #eaf2fb, #f7faff 62%, #e9f1f9); }
.identity-panel .eyebrow { color: var(--agency-blue); }
.identity-panel h2 { color: var(--agency-navy); }
.identity-panel h2 span { color: var(--agency-blue); }
.identity-panel p:not(.eyebrow) { color: var(--agency-slate); }
.identity-panel .light-link { color: var(--agency-blue); }
.identity-image { min-height: 570px; background: #dce6ef; }
.identity-image:after { background: linear-gradient(0deg, rgba(12,35,67,.45), transparent 62%); }
.image-note { color: #fff; background: rgba(12,35,67,.92); border-left-color: var(--agency-accent); }
.image-note span { color: var(--agency-accent); }

.sector-section { color: var(--agency-ink); background: var(--agency-mist); }
.sector-section:before { display: none; }
.sector-section h2 { color: var(--agency-navy); }
.sector-section .section-intro { color: var(--agency-slate); }
.sector-grid article { min-height: 266px; color: var(--agency-ink); border-color: var(--agency-line); background: #fff; box-shadow: 0 7px 20px rgba(24,53,86,.04); }
.sector-grid article:hover { transform: translateY(-5px); border-color: #9bc1ee; background: #fff; box-shadow: 0 18px 35px rgba(24,53,86,.1); }
.sector-grid span { color: var(--agency-blue); }
.sector-grid h3 { color: var(--agency-navy); }
.sector-grid p { color: var(--agency-slate); }

/* Offers: a clean recruitment catalogue. */
.offers-section { color: var(--agency-ink); background: #fff; }
.offers-section:before { display: none; }
.offers-heading h2 { color: var(--agency-navy); }
.offers-heading h2 span { color: var(--agency-blue); }
.offers-heading > div:last-child p { color: var(--agency-slate); }
.offers-heading .text-link { color: var(--agency-blue); }
.offer-dossier { min-height: 360px; color: var(--agency-ink); background: #fff; border: 1px solid var(--agency-line); border-top: 4px solid var(--agency-blue); box-shadow: 0 11px 26px rgba(24,53,86,.08); }
.offer-dossier:hover { transform: translateY(-6px); border-color: #9bbde3; box-shadow: 0 20px 35px rgba(24,53,86,.14); }
.offer-dossier-top { color: #70829a; }
.offer-status { color: #2c6d40; }
.offer-status i { background: #39a65b; box-shadow: 0 0 0 3px rgba(57,166,91,.12); animation: none; }
.offer-code,
.offer-category { color: var(--agency-blue); }
.offer-dossier h3 { color: var(--agency-navy); }
.offer-location { color: var(--agency-slate); }
.offer-summary { color: #65768c; }
.offer-dossier-bottom { color: #7a8ca2; border-color: var(--agency-line); }
.offer-dossier-bottom a { color: var(--agency-blue); }
.offer-dossier-bottom b { color: #fff; background: var(--agency-blue); }

.process-section { color: var(--agency-ink); background: #eaf2fb; }
.process-intro .eyebrow { color: var(--agency-blue); }
.process-intro h2 { color: var(--agency-navy); }
.process-intro p:not(.eyebrow) { color: var(--agency-slate); }
.process-list { background: #c9d9eb; }
.process-list li { color: var(--agency-navy); background: #fff; }
.process-list li:nth-child(even) { color: #fff; background: var(--agency-navy); }
.process-list li > span { color: var(--agency-blue); }
.process-list li:nth-child(even) > span { color: var(--agency-accent); }
.process-list p { color: var(--agency-slate); }
.process-list li:nth-child(even) p { color: #d2dfef; }

.guide-preview { color: var(--agency-ink); background: #fff; }
.guide-preview h2 { color: var(--agency-navy); }
.guide-preview h2 span { color: var(--agency-blue); }
.guide-card { border-color: var(--agency-line); box-shadow: 0 8px 20px rgba(24,53,86,.06); }
.guide-card-body h3 { color: var(--agency-navy); }
.guide-meta a { color: var(--agency-blue); }

.faq-section { background: #f2f6fb; }
.faq-art:after { background: linear-gradient(0deg, rgba(12,35,67,.78), transparent 74%); }
.faq-art > div .eyebrow { color: var(--agency-accent); }
.faq-list { background: #fff; }
.faq-list summary { color: var(--agency-navy); }
.faq-list summary:after { color: var(--agency-blue); }
.application-new { background: var(--agency-navy); }
.application-intro .eyebrow { color: var(--agency-accent); }
.application-intro h2 { color: #fff; }
.application-intro h2 span { color: var(--agency-accent); }
.application-intro > p:not(.eyebrow) { color: #d5e1ef; }
.application-legal { border-color: rgba(255,255,255,.18); }
.application-legal a { color: var(--agency-accent); }
.modern-form { border-color: #fff; box-shadow: 0 25px 60px rgba(3,17,37,.28); }

/* Current offers page. */
.agency-listing-hero { min-height: 645px; background: var(--agency-navy); }
.agency-listing-hero > img { object-position: center; }
.agency-listing-hero .campaign-hero-shade { background: linear-gradient(90deg, rgba(8,27,54,.98), rgba(8,27,54,.93) 34%, rgba(8,27,54,.61) 61%, rgba(8,27,54,.14) 100%); }
.agency-listing-hero .campaign-hero-copy { max-width: 745px; }
.agency-listing-hero .campaign-hero-copy .eyebrow { color: #d7e8fa; }
.agency-listing-hero .campaign-kicker { color: var(--agency-accent); }
.agency-listing-hero .campaign-kicker i { background: var(--agency-accent); box-shadow: 0 0 0 5px rgba(215,239,103,.12); animation: none; }
.agency-listing-hero .campaign-hero-copy h1 { font-size: clamp(63px, 7.2vw, 113px); }
.agency-listing-hero .campaign-hero-copy h1 span { color: var(--agency-accent); }
.agency-listing-hero .campaign-hero-copy > p:not(.eyebrow):not(.campaign-kicker) { color: #dbe6f4; }
.agency-listing-hero .campaign-hero-status { color: var(--agency-navy); background: #fff; border: 0; box-shadow: 0 22px 50px rgba(3,17,37,.25); backdrop-filter: none; }
.agency-listing-hero .campaign-hero-status > span { color: var(--agency-blue); }
.agency-listing-hero .campaign-hero-status > span i { background: var(--agency-blue); box-shadow: 0 0 0 4px rgba(21,102,215,.12); animation: none; }
.agency-listing-hero .campaign-hero-status strong { color: var(--agency-navy); }
.agency-listing-hero .campaign-hero-status p { color: var(--agency-slate); }
.agency-listing-hero .campaign-hero-status b { color: var(--agency-blue); }
.agency-brief { color: var(--agency-ink); background: #fff; }
.agency-brief .brief-intro h2 { color: var(--agency-navy); }
.agency-brief .brief-intro h2 span { color: var(--agency-blue); }
.agency-brief .brief-points { background: var(--agency-line); }
.agency-brief .brief-points article { background: var(--agency-mist); }
.agency-brief .brief-points span { color: var(--agency-blue); }
.agency-brief .brief-points h3 { color: var(--agency-navy); }
.agency-brief .brief-points p { color: var(--agency-slate); }
.agency-offers { background: var(--agency-mist); }
.agency-offers .campaign-offers-head { color: var(--agency-ink); }
.agency-offers .campaign-offers-head h2 { color: var(--agency-navy); }
.agency-offers .campaign-offers-head h2 span { color: var(--agency-blue); }
.agency-partner-strip { background: linear-gradient(105deg, #0d2749, #173f71); }
.agency-partner-strip .eyebrow { color: var(--agency-accent); }

/* A generic, human job-detail page even when a current offer is technical. */
.agency-job-hero { min-height: 620px; background: var(--agency-navy); }
.agency-job-hero .job-hero-image { width: 56%; object-position: center; opacity: .9; }
.agency-job-hero .job-hero-shade { background: linear-gradient(90deg, rgba(8,27,54,1) 0%, rgba(8,27,54,.96) 39%, rgba(8,27,54,.53) 70%, rgba(8,27,54,.16) 100%); }
.agency-job-hero .eyebrow,
.agency-job-hero .lead,
.agency-job-hero .job-live span { color: #dbeafa; }
.agency-job-hero .job-live { color: var(--agency-accent); }
.agency-job-hero .job-live i { background: var(--agency-accent); box-shadow: 0 0 0 5px rgba(215,239,103,.12); animation: none; }
.agency-job-hero h1 { color: #fff; }
.agency-job-hero .job-hero-lead { color: #d9e4f1; }
.agency-job-hero aside { color: var(--agency-navy); background: #fff; box-shadow: 0 22px 52px rgba(3,17,37,.25); }
.agency-job-hero aside span { color: var(--agency-blue); }
.agency-job-hero aside .button { color: #fff !important; background: var(--agency-blue); border-color: var(--agency-blue); }
.job-dossier-content { color: var(--agency-ink); background: #fff; }
.job-dossier-content article h2 { color: var(--agency-navy); }
.job-dossier-content article p { color: var(--agency-slate); }
.dossier-copy { border-color: var(--agency-line); }
.dossier-copy > span,
.dossier-copy .eyebrow { color: var(--agency-blue); }
.job-dossier-content .job-facts { color: var(--agency-ink); background: var(--agency-mist); border-color: var(--agency-line); }
.job-dossier-content .job-facts div { border-color: var(--agency-line); }
.job-dossier-content .job-facts span { color: var(--agency-blue); }
.job-dossier-content .job-facts strong { color: var(--agency-navy); }
.job-dossier-content .job-email { background: #e1edf9; }
.job-email a { color: var(--agency-blue); }
.faq { color: var(--agency-ink); background: var(--agency-mist); }
.faq summary { color: var(--agency-navy); }

footer { color: #c5d2e2; background: #081b35; border-top-color: rgba(255,255,255,.14); }
footer .official-brand .brand-route { color: #d9e7f6; }
footer a:hover { color: var(--agency-accent); }
.footer-starfx { color: var(--agency-accent); }

@media (max-width: 800px) {
  body:not(.admin-body) .site-header nav { background: var(--agency-navy); border-top-color: rgba(255,255,255,.15); }
  body:not(.admin-body) .site-header nav > a,
  body:not(.admin-body) .site-header nav > form { border-color: rgba(255,255,255,.14); }
  .agency-home { min-height: 745px; }
  .agency-home .hero-image { opacity: .63; object-position: 62% center; }
  .agency-home .hero-overlay { background: linear-gradient(90deg, rgba(8,27,54,.98), rgba(8,27,54,.85) 72%, rgba(8,27,54,.45)), linear-gradient(0deg, rgba(8,27,54,.78), transparent); }
  .agency-home .hero-copy { width: auto; }
  .agency-home .hero-signal { display: none; }
  .agency-listing-hero { min-height: 715px; }
  .agency-listing-hero > img { object-position: 67% center; }
  .agency-listing-hero .campaign-hero-shade { background: linear-gradient(90deg, rgba(8,27,54,.98), rgba(8,27,54,.85) 70%, rgba(8,27,54,.4)); }
  .agency-listing-hero .campaign-hero-status { background: rgba(255,255,255,.96); }
  .agency-job-hero .job-hero-image { width: 100%; opacity: .54; }
  .agency-job-hero .job-hero-shade { background: linear-gradient(90deg, rgba(8,27,54,.98), rgba(8,27,54,.82) 70%, rgba(8,27,54,.42)), linear-gradient(0deg, rgba(8,27,54,.82), transparent); }
}


/* Offer discovery: search first, then choose a sector. */
.offer-explorer { padding: 0 clamp(22px, 7vw, 124px) 28px; color: var(--agency-ink); background: var(--agency-mist); }
.offer-explorer-shell { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 18px 30px; align-items: end; max-width: 1260px; margin: 0 auto; padding: 28px; border: 1px solid var(--agency-line); background: #fff; box-shadow: 0 12px 30px rgba(24,53,86,.07); }
.offer-search-label { display: grid; gap: 8px; color: var(--agency-navy); font-weight: 700; }
.offer-search-label span { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.offer-search-label input { width: 100%; min-height: 52px; padding: 0 16px; color: var(--agency-ink); border: 1px solid #bdcddd; border-radius: 0; background: #fff; font: inherit; }
.offer-search-label input:focus { outline: 3px solid rgba(21,102,215,.18); border-color: var(--agency-blue); }
.offer-filter-count { margin: 0; color: var(--agency-slate); font-weight: 700; white-space: nowrap; }
.offer-filter-row { grid-column: 1 / -1; display: flex; gap: 9px; flex-wrap: wrap; padding-top: 3px; border-top: 1px solid var(--agency-line); }
.offer-filter-row span { align-self: center; margin-right: 6px; color: var(--agency-slate); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.offer-filter { min-height: 40px; padding: 8px 13px; color: var(--agency-navy); border: 1px solid #b9cae0; border-radius: 999px; background: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.offer-filter:hover { border-color: var(--agency-blue); color: var(--agency-blue); }
.offer-filter[aria-pressed="true"] { color: #fff; border-color: var(--agency-navy); background: var(--agency-navy); }
.offer-filter-empty { max-width: 1260px; margin: 22px auto 0; padding: 18px 22px; color: var(--agency-slate); border: 1px dashed #a5b9d1; background: #fff; }
.offer-dossier[hidden] { display: none !important; }
.offer-apply { display: inline-flex; align-items: center; gap: 8px; color: var(--agency-navy) !important; font-size: 14px; font-weight: 800; }
.offer-apply b { display: inline-grid; width: 24px; height: 24px; place-items: center; color: #fff; background: var(--agency-blue); }
.offer-apply:hover { color: var(--agency-blue) !important; }
.selected-job { margin: 4px 0 18px; padding: 12px 14px; color: #10385f; border-left: 4px solid var(--agency-blue); background: #e8f1fb; font-weight: 700; }
.upload-field em b { color: var(--agency-blue); font-style: normal; }

@media (max-width: 800px) {
  .offer-explorer { padding: 0 18px 22px; }
  .offer-explorer-shell { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .offer-filter-count { font-size: 15px; }
  .offer-filter-row { flex-wrap: nowrap; overflow-x: auto; padding: 14px 0 4px; scrollbar-width: thin; }
  .offer-filter-row span { display: none; }
  .offer-filter { flex: 0 0 auto; min-height: 44px; }
  .offer-search-label input { min-height: 54px; font-size: 16px; }
  .offer-apply { margin-top: 10px; }
}

/* Offer-first entry: candidates should reach vacancies without hunting through the landing page. */
.header-mobile-actions { display: none; }
.site-header .nav-cv-link { color: #e3edf8; }
.site-header .nav-cv-link:hover { color: var(--agency-accent); }
.site-header .nav-offers { padding-inline: 18px; font-size: 11px; letter-spacing: .03em; }
.agency-home .hero-priority-action { margin: 0 0 25px; }
.agency-home .hero-priority-action .button { min-height: 58px; padding-inline: 23px; color: var(--agency-navy) !important; background: var(--agency-accent); box-shadow: 0 16px 32px rgba(3,18,38,.28); font-size: 14px; }
.agency-home .hero-priority-action .button b { padding-right: 11px; border-right: 1px solid rgba(12,35,67,.24); font: 700 10px/1 var(--mono); letter-spacing: .09em; }
.agency-home .hero-priority-action .button:hover { color: #fff !important; background: var(--agency-blue); border-color: var(--agency-blue); }
.agency-home .hero-secondary-action { margin-top: -15px; }

@media (max-width: 800px) {
  .site-header { gap: 12px; }
  .header-mobile-actions { display: flex; align-items: center; gap: 13px; margin-left: auto; }
  .mobile-offers-cta { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 10px; color: var(--agency-navy); background: var(--agency-accent); font: 800 10px/1 var(--sans); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
  .mobile-offers-cta span { font-size: 15px; line-height: 1; }
  .site-header .menu-toggle { margin: 0; }
  .agency-home .hero-copy { padding-top: 58px; }
  .agency-home .hero-copy h1 { margin-bottom: 20px; font-size: clamp(55px, 15vw, 76px); }
  .agency-home .hero-priority-action { margin-bottom: 24px; }
  .agency-home .hero-priority-action .button { width: min(100%, 400px); min-height: 61px; justify-content: flex-start; padding-inline: 17px; font-size: 14px; }
  .agency-home .hero-priority-action .button > span:last-child { margin-left: auto; font-size: 19px; }
  .agency-home .hero-lead { margin-bottom: 20px; }
  .agency-home .hero-secondary-action { margin-top: 0; }
}

/* Language choice: Polish remains the default; English is a direct candidate-facing route. */
.site-header .nav-language { display: inline-flex; align-items: center; min-height: 30px; padding: 0 8px; color: #dbeafa; border: 1px solid rgba(255,255,255,.34); font: 800 10px/1 var(--mono); letter-spacing: .08em; text-decoration: none; }
.site-header .nav-language:hover { color: var(--agency-navy); border-color: var(--agency-accent); background: var(--agency-accent); }
.site-header .nav-language.active-language { color: var(--agency-navy); border-color: var(--agency-accent); background: var(--agency-accent); }
@media (max-width: 800px) {
  .site-header nav .nav-language { display: inline-flex; align-self: flex-start; width: auto; min-height: 42px; margin-top: 12px; padding: 0 13px; color: #fff; border-color: rgba(255,255,255,.46); background: transparent; font-size: 13px; }
  .site-header nav .nav-language.active-language { color: var(--agency-navy); border-color: var(--agency-accent); background: var(--agency-accent); }
}
@media (max-width: 800px) {
}
