:root {
  --bg: #03090e;
  --bg-deep: #010508;
  --surface: #0a1219;
  --surface-2: #0e1821;
  --surface-3: #111d27;
  --line: #2a3741;
  --line-soft: rgba(255, 255, 255, .10);
  --text: #f7f8fa;
  --muted: #b8c0c7;
  --muted-2: #7f8b95;
  --red: #f12c2f;
  --red-dark: #b6161c;
  --green: #35bb59;
  --white: #fff;
  --max: 1360px;
  --radius: 7px;
  --shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 75% 8%, rgba(20, 40, 55, .16), transparent 28rem),
    linear-gradient(180deg, #03090e 0%, #06101a 62%, #02070b 100%);
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.03em; }
p { color: var(--muted); }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.accent, .red { color: var(--red); }
.eyebrow { color: var(--red); font-size: .76rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.lead { font-size: 1.03rem; line-height: 1.55; color: #e7ebee; }
.skip-link { position: fixed; z-index: 999; left: 1rem; top: -5rem; padding: .8rem 1rem; background: var(--red); }
.skip-link:focus { top: 1rem; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  height: 72px;
  background: rgba(1, 5, 8, .96);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  backdrop-filter: blur(14px);
}
.nav { height: 100%; display: flex; align-items: center; gap: 24px; }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.brand img { width: 114px; height: auto; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 27px; }
.main-nav a { position: relative; font-size: .7rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -25px; height: 2px; background: var(--red); transition: right .2s; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 9px; }
.lang { min-width: 58px; height: 35px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 4px; font-size: .73rem; font-weight: 750; }
.button { min-height: 44px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 3px; font-size: .76rem; font-weight: 850; text-transform: uppercase; transition: transform .2s, filter .2s, border-color .2s; }
.button:hover { transform: translateY(-1px); filter: brightness(1.08); }
.button-primary { color: #fff; background: linear-gradient(135deg, #ee2e31, #f52225); box-shadow: 0 9px 25px rgba(239, 38, 42, .18); }
.button-secondary { color: #fff; border-color: #86919a; background: rgba(4, 10, 15, .45); }
.button-white { color: #05090c; background: #fff; }
.button-green { color: #fff; background: var(--green); }
.button-small { min-height: 35px; padding-inline: 15px; font-size: .64rem; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; position: relative; }
.menu-toggle::before, .menu-toggle::after, .menu-toggle span { content: ""; position: absolute; left: 10px; width: 22px; height: 2px; background: #fff; transition: .2s; }
.menu-toggle::before { top: 13px; }
.menu-toggle span { top: 20px; }
.menu-toggle::after { top: 27px; }
.menu-open .menu-toggle span { opacity: 0; }
.menu-open .menu-toggle::before { top: 20px; transform: rotate(45deg); }
.menu-open .menu-toggle::after { top: 20px; transform: rotate(-45deg); }

/* Shared hero */
.hero, .page-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line-soft); }
.hero::after, .page-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(1, 6, 10, .99) 0%, rgba(1, 6, 10, .88) 36%, rgba(1, 6, 10, .12) 72%, rgba(1, 6, 10, .16) 100%); }
.hero::before, .page-hero::before { content: ""; position: absolute; z-index: 1; right: -50px; top: 15%; width: 330px; height: 330px; opacity: .42; background: url("assets/dart-mark.svg") center/contain no-repeat; }
.hero .container, .page-hero .container { position: relative; z-index: 2; }
.breadcrumb { display: flex; gap: 10px; align-items: center; padding-top: 20px; color: #89949d; font-size: .7rem; }
.breadcrumb .current { color: var(--red); }
.hero-copy { width: min(540px, 52%); }
.hero h1, .page-hero h1 { margin-bottom: 18px; font-size: clamp(2.65rem, 5vw, 4.75rem); font-weight: 900; text-transform: uppercase; }
.page-hero h1 { font-size: clamp(2.15rem, 4vw, 3.55rem); text-transform: none; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* Home */
.home-hero { min-height: 560px; background: #05090d url("assets/hero-team-branded.webp") center/cover no-repeat; }
.home-hero .container { padding-top: 67px; padding-bottom: 34px; }
.home-hero .lead { max-width: 430px; font-weight: 720; font-size: 1.16rem; }
.hero-checks { padding: 0; margin: 19px 0 0; list-style: none; }
.hero-checks li { margin: 7px 0; color: #f2f4f5; }
.hero-checks li::before { content: "✓"; margin-right: 12px; color: var(--red); font-weight: 900; }
.hero-note { margin-top: 24px; display: flex; gap: 10px; align-items: center; color: #d9dde0; font-size: .84rem; }
.hero-note::before { content: "⌁"; display: grid; place-items: center; width: 25px; height: 21px; border: 1px solid #d4d9dd; border-radius: 45% 55% 48% 52%; }
.home-models { color: #101318; background: #fff; padding: 29px 0 25px; }
.home-models p { color: #dfe3e6; }
.home-models .section-title { text-align: center; color: #111; margin-bottom: 20px; font-size: 1.7rem; }
.models { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.model-card { position: relative; overflow: hidden; min-height: 300px; padding: 25px 28px; border-radius: 7px; color: #fff; background-position: center; background-size: cover; box-shadow: var(--shadow); }
.model-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 8, 12, .98) 0%, rgba(2, 8, 12, .82) 56%, rgba(2, 8, 12, .14) 100%); }
.model-card > * { position: relative; z-index: 1; max-width: 65%; }
.model-global { background-image: url("assets/job-worker-branded.webp"); background-position: center right; }
.model-ls { background-image: url("assets/jobs-team-branded.webp"); background-position: center; }
.model-card h3 { margin-bottom: 2px; font-size: 1.4rem; text-transform: uppercase; }
.model-card h3.red { color: var(--red); }
.model-card .model-sub { margin-bottom: 12px; color: #fff; font-weight: 800; }
.model-card .model-intro { font-size: .8rem; }
.model-card ul { padding: 0; margin: 15px 0 0; list-style: none; font-size: .78rem; }
.model-card li { margin: 6px 0; }
.model-card li::before { content: "▧"; margin-right: 9px; color: #fff; }
.model-arrow { position: absolute; z-index: 2; right: 24px; bottom: 20px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: grid; place-items: center; font-size: 1.25rem; }
.home-stats { display: grid; grid-template-columns: repeat(5, 1fr); padding: 24px 0 18px; }
.home-stat { min-height: 90px; display: grid; align-content: start; justify-items: center; text-align: center; border-right: 1px solid #e3e5e6; }
.home-stat:last-child { border-right: 0; }
.home-stat .icon { color: var(--red); font-size: 1.55rem; line-height: 1; }
.home-stat strong { margin-top: 9px; color: #111; font-size: 1.55rem; line-height: 1; }
.home-stat span { margin-top: 6px; color: #30363a; font-size: .7rem; line-height: 1.35; }
.trusted-partners { position: relative; overflow: hidden; padding: clamp(50px, 6vw, 78px) 0; color: #fff; background: radial-gradient(circle at 78% 8%, rgba(220, 20, 38, .13), transparent 32%), #101318; border-block: 1px solid rgba(255, 255, 255, .07); }
.trusted-partners::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255, 255, 255, .025), transparent 38%); }
.trusted-partners .container { position: relative; max-width: 1300px; }
.trusted-partners__header { max-width: 720px; margin: 0 auto clamp(28px, 4vw, 42px); text-align: center; }
.trusted-partners__header .eyebrow { margin: 0 0 9px; color: #e62a36; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.trusted-partners__header h2 { margin: 0; color: #fff; font-size: clamp(2rem, 3.3vw, 3.15rem); line-height: 1.08; letter-spacing: -.035em; }
.trusted-partners__header > p:last-child { margin: 14px auto 0; color: rgba(255, 255, 255, .68); font-size: clamp(.96rem, 1.5vw, 1.08rem); line-height: 1.65; }
.trusted-partners__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.trusted-partners__tile { height: 118px; transition-delay: var(--partner-delay, 0ms); }
.trusted-partners__tile > div, .trusted-partners__tile > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; padding: 22px 18px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .11); border-radius: 14px; background: rgba(255, 255, 255, .055); transition: transform .25s ease, border-color .25s ease, background-color .25s ease; }
.trusted-partners__tile > a { text-decoration: none; }
.trusted-partners__tile img { display: block; width: auto; height: auto; max-width: min(100%, 165px); max-height: 56px; object-fit: contain; filter: none; opacity: 1; transition: filter .25s ease, opacity .25s ease; }
.trusted-partners__tile:hover > div, .trusted-partners__tile:hover > a, .trusted-partners__tile:focus-within > a { transform: translateY(-3px); border-color: rgba(230, 42, 54, .48); background: rgba(255, 255, 255, .075); }
.trusted-partners__tile:hover img, .trusted-partners__tile:focus-within img { filter: none; opacity: 1; }
.trusted-partners__tile img[src*="crystal-mountain"] { filter: brightness(0) invert(1); }
.trusted-partners__tile:hover img[src*="crystal-mountain"], .trusted-partners__tile:focus-within img[src*="crystal-mountain"] { filter: brightness(0) invert(1); }

/* Shared sections */
.section { padding: 44px 0; }
.section + .section { border-top: 1px solid var(--line-soft); }
.section-title-dark { margin-bottom: 26px; text-align: center; font-size: 1.6rem; }
.section-title-dark::after { content: ""; display: block; width: 32px; height: 2px; margin: 11px auto 0; background: var(--red); }
.card { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(14,25,34,.94), rgba(7,14,20,.96)); box-shadow: 0 18px 45px rgba(0,0,0,.14); }
.icon-circle { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(241,44,47,.35); border-radius: 50%; color: var(--red); font-size: 1.45rem; }
.icon-red { color: var(--red); font-size: 2rem; line-height: 1; }
.check-list { padding: 0; margin: 0; list-style: none; }
.check-list li { margin: 8px 0; color: #e5e9ec; font-size: .82rem; }
.check-list li::before { content: "✓"; color: var(--red); margin-right: 10px; font-weight: 900; }
.rule { height: 1px; margin: 24px 0; background: var(--line); }

/* Business */
.business-hero { min-height: 430px; background: url("assets/outsourcing-coordinator-branded.webp") center/cover no-repeat; }
.business-hero .container { padding-bottom: 58px; }
.business-hero .hero-copy { padding-top: 54px; }
.business-hero h1 { max-width: 620px; }
.business-hero p { max-width: 570px; }
.process-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.process-card { min-height: 205px; padding: 22px 15px; text-align: center; }
.process-card .icon-red { min-height: 52px; }
.process-card h3 { margin: 11px 0 8px; font-size: .94rem; }
.process-card p { margin: 0; font-size: .7rem; line-height: 1.45; }
.timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.timeline-step { position: relative; text-align: center; }
.timeline-step:not(:last-child)::after { content: ""; position: absolute; left: calc(50% + 28px); top: 22px; width: calc(100% - 46px); border-top: 1px dashed #5b646c; }
.step-no { position: relative; z-index: 1; width: 44px; height: 44px; margin: 0 auto 14px; display: grid; place-items: center; border: 1px solid var(--red); border-radius: 50%; background: var(--bg); color: var(--red); font-weight: 850; }
.timeline-step h3 { font-size: .83rem; }
.timeline-step p { font-size: .68rem; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.benefit-card { min-height: 88px; padding: 18px; display: flex; gap: 16px; align-items: center; }
.benefit-card h3 { margin-bottom: 5px; font-size: .82rem; }
.benefit-card p { margin: 0; font-size: .68rem; }
.case-form-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 26px; }
.case-study { overflow: hidden; display: grid; grid-template-columns: 47% 53%; }
.case-study img { width: 100%; height: 100%; min-height: 355px; object-fit: cover; }
.case-copy { padding: 24px; }
.case-copy .metric { margin: 12px 0; padding-top: 12px; border-top: 1px solid var(--line); }
.case-copy strong { color: #fff; }
.case-copy p, .case-copy li { font-size: .73rem; }
.case-copy ul { padding-left: 18px; color: #f2f4f5; }
.inquiry { padding: 25px; }
.inquiry h2 { font-size: 1.55rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { display: grid; gap: 5px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #dbe0e3; font-size: .68rem; }
.field input, .field select, .field textarea { width: 100%; min-height: 42px; padding: 10px 12px; color: #edf0f2; border: 1px solid #33414c; border-radius: 3px; outline: none; background: rgba(3,9,14,.72); }
.field textarea { min-height: 92px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--red); }
.consent { display: flex; gap: 9px; margin: 12px 0; color: #aeb6bc; font-size: .65rem; }
.consent input { accent-color: var(--red); }
.inquiry .button { width: 100%; }
.form-status { margin: 12px 0 0; padding: 10px 12px; color: #dff7e5; border: 1px solid rgba(53,187,89,.45); border-radius: 4px; background: rgba(53,187,89,.08); font-size: .72rem; }
.stats-bar { display: grid; grid-template-columns: repeat(4, 1fr); padding: 23px 0; }
.stats-bar > div { min-height: 70px; display: flex; gap: 16px; align-items: center; justify-content: center; border-right: 1px solid #39444d; }
.stats-bar > div:last-child { border-right: 0; }
.stats-bar .icon-red { font-size: 2.45rem; }
.stats-bar strong { display: block; font-size: 1.75rem; line-height: 1; }
.stats-bar span { color: #d3d8dc; font-size: .7rem; }

/* Contact */
.contact-hero { min-height: 350px; background: url("assets/hero-team-branded.webp") center/cover no-repeat; }
.contact-hero .container { padding-bottom: 45px; }
.contact-hero .hero-copy { padding-top: 36px; }
.contact-hero h1 { text-transform: uppercase; }
.contact-pillars { display: flex; gap: 56px; margin-top: 25px; }
.contact-pillar { max-width: 140px; font-size: .66rem; font-weight: 750; }
.contact-pillar .icon-red { display: block; margin-bottom: 9px; }
.contact-cards { position: relative; z-index: 4; margin-top: -1px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contact-card { min-height: 165px; padding: 24px; display: grid; grid-template-columns: 52px 1fr; gap: 15px; }
.contact-card h3 { margin: 3px 0 9px; font-size: 1.05rem; }
.contact-card p { margin-bottom: 18px; font-size: .72rem; }
.contact-card a { display: block; margin-top: 7px; font-size: .77rem; }
.contact-main { display: grid; grid-template-columns: 2fr .9fr; overflow: hidden; }
.contact-main .inquiry { border-right: 1px solid var(--line); }
.reasons { padding: 30px; }
.reason { display: flex; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.reason:last-of-type { border-bottom: 0; }
.reason h3 { margin-bottom: 4px; font-size: .84rem; }
.reason p { margin: 0; font-size: .7rem; }
.trust-box { margin-top: 22px; padding: 18px; border: 1px solid var(--red); border-radius: 6px; display: flex; gap: 14px; align-items: center; }
.trust-box strong { display: block; font-size: .8rem; }
.trust-box span { color: #d0d6da; font-size: .68rem; }
.coverage { display: grid; grid-template-columns: 1fr 1.1fr; gap: 42px; padding: 28px; }
.map-box { position: relative; min-height: 300px; overflow: hidden; border-radius: 5px; background: radial-gradient(ellipse at 50% 50%, #243441 0%, #14212b 38%, transparent 69%); }
.map-box::before { content: "POLSKA"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.09); font-size: 5rem; font-weight: 900; letter-spacing: .06em; }
.pin { position: absolute; color: #fff; font-size: .65rem; }
.pin::before { content: "●"; margin-right: 5px; color: var(--red); font-size: 1.15rem; }
.pin.p1 { left: 16%; top: 23%; }.pin.p2 { left: 47%; top: 12%; }.pin.p3 { left: 34%; top: 42%; }.pin.p4 { left: 65%; top: 35%; }.pin.p5 { left: 44%; top: 60%; }.pin.p6 { left: 24%; top: 65%; }.pin.p7 { left: 55%; top: 77%; }.pin.p8 { left: 72%; top: 59%; }
.faq h2 { margin-bottom: 18px; }
.faq-item { border: 1px solid var(--line); border-radius: 3px; margin-bottom: 9px; overflow: hidden; }
.faq-item button { width: 100%; min-height: 46px; padding: 0 15px; color: #fff; border: 0; background: transparent; display: flex; justify-content: space-between; align-items: center; text-align: left; font-size: .75rem; }
.faq-answer { display: none; padding: 0 15px 14px; font-size: .72rem; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open button span { transform: rotate(180deg); }

/* Jobs */
.jobs-hero { min-height: 350px; background: url("assets/jobs-team-branded.webp") center/cover no-repeat; }
.jobs-hero .container { padding-bottom: 35px; }
.jobs-hero .hero-copy { padding-top: 45px; }
.jobs-hero h1 { font-size: clamp(2.8rem, 5vw, 4.4rem); }
.hero-benefits { display: flex; gap: 44px; margin-top: 32px; }
.hero-benefit { display: flex; gap: 10px; align-items: center; max-width: 190px; }
.hero-benefit .icon-red { font-size: 1.6rem; }
.hero-benefit strong { display: block; font-size: .72rem; }
.hero-benefit span { display: block; color: #c2c9ce; font-size: .62rem; }
.job-filter { position: relative; z-index: 4; margin-top: -1px; padding: 24px; }
.job-filter h2 { font-size: 1.25rem; }
.filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.filter-grid .field label { color: #9ca6ae; }
.filter-actions { margin-top: 16px; display: flex; justify-content: flex-end; gap: 14px; align-items: center; }
.filter-actions .button { min-width: 200px; }
.clear-filter { color: var(--red); border: 0; background: transparent; font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.jobs-layout { display: grid; grid-template-columns: 1fr 270px; gap: 16px; margin-top: 25px; }
.results-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; color: #aeb6bc; font-size: .72rem; }
.job-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.job-card { min-height: 255px; padding: 18px; display: flex; flex-direction: column; }
.job-card-top { display: flex; gap: 12px; align-items: center; }
.job-card .icon-circle { width: 42px; height: 42px; }
.job-card h3 { margin: 0; font-size: .92rem; }
.job-meta { margin: 15px 0; color: #c6cdd2; font-size: .7rem; }
.job-meta span { display: block; margin: 7px 0; }
.job-rate { color: var(--red); font-size: .8rem; font-weight: 850; }
.job-card .button { margin-top: auto; width: 100%; }
.why-dart { padding: 23px; }
.why-dart h2 { font-size: 1.25rem; }
.why-item { display: flex; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.why-item:last-of-type { border-bottom: 0; }
.why-item .icon-circle { width: 38px; height: 38px; color: #fff; border-color: var(--line); background: rgba(255,255,255,.04); font-size: 1rem; }
.why-item strong { display: block; font-size: .75rem; }
.why-item span { display: block; color: #aeb7be; font-size: .65rem; }
.recruitment { padding: 25px; display: grid; grid-template-columns: 1fr 300px; gap: 30px; align-items: center; }
.recruitment-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.recruitment-flow .timeline-step:not(:last-child)::after { top: 20px; }
.recruitment-flow .step-no { width: 41px; height: 41px; }
.recruitment-image { height: 180px; width: 100%; border-radius: 5px; object-fit: cover; }
.whatsapp-banner { padding: 25px 35px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; background: linear-gradient(90deg, rgba(15,27,35,.98), rgba(5,20,14,.9)); }
.whatsapp-logo { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--green); font-size: 2.7rem; font-weight: 900; }
.whatsapp-banner h2 { margin-bottom: 7px; font-size: 1.35rem; }
.whatsapp-banner p { margin: 0; font-size: .75rem; }

/* Job detail */
.job-main { padding-top: 24px; }
.job-detail-hero { position: relative; overflow: hidden; min-height: 330px; border: 1px solid var(--line); border-radius: var(--radius); background: url("assets/job-worker-branded.webp") center/cover no-repeat; }
.job-detail-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,8,12,.98) 0%, rgba(2,8,12,.88) 52%, rgba(2,8,12,.08) 85%); }
.job-detail-copy { position: relative; z-index: 1; max-width: 710px; padding: 40px 30px; }
.job-detail-copy h1 { font-size: clamp(2rem, 4vw, 3.15rem); }
.job-facts { margin-top: 18px; padding: 16px 18px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; border: 1px solid var(--line); border-radius: 5px; background: rgba(2,8,12,.83); }
.job-fact { display: flex; gap: 9px; align-items: center; }
.job-fact .icon-red { font-size: 1.25rem; }
.job-fact span { display: block; color: #aeb7be; font-size: .58rem; }
.job-fact strong { display: block; font-size: .68rem; }
.job-detail-layout { display: grid; grid-template-columns: 1fr 365px; gap: 18px; margin-top: 16px; }
.job-copy { padding: 25px; }
.job-block { padding-bottom: 21px; margin-bottom: 21px; border-bottom: 1px solid var(--line); }
.job-block:last-child { margin: 0; padding: 0; border: 0; }
.job-block h2 { display: flex; gap: 11px; align-items: center; font-size: 1.16rem; }
.offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }
.offer-item { display: flex; gap: 12px; }
.offer-item strong { display: block; font-size: .74rem; }
.offer-item span { display: block; color: #b2bbc1; font-size: .66rem; }
.mini-process { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.mini-process .timeline-step:not(:last-child)::after { top: 17px; }
.mini-process .step-no { width: 35px; height: 35px; font-size: .72rem; }
.apply-card { padding: 23px; position: sticky; top: 90px; }
.apply-card h2 { font-size: 1.2rem; }
.apply-card .form-grid { grid-template-columns: 1fr; }
.recruiter { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 5px; }
.recruiter-head { display: flex; gap: 12px; align-items: center; }
.avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 62% center; }
.recruiter strong { display: block; }
.recruiter span { color: #aeb7be; font-size: .67rem; }
.related-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.related-jobs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.related-card { position: relative; overflow: hidden; min-height: 180px; padding: 20px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 6px; background-size: cover; background-position: center; }
.related-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,8,12,.16), rgba(2,8,12,.94)); }
.related-card > * { position: relative; z-index: 1; }
.related-card h3 { margin: 4px 0; font-size: 1rem; }

/* Footer */
.site-footer { margin-top: 38px; border-top: 1px solid var(--line); background: #020609; }
.footer-main { padding: 34px 0; display: grid; grid-template-columns: 1.25fr repeat(4, 1fr); gap: 34px; }
.footer-main .brand img { width: 105px; }
.footer-intro p { max-width: 210px; margin-top: 16px; font-size: .68rem; }
.social { display: flex; gap: 9px; }
.social a { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: .65rem; }
.footer-main h3 { margin-bottom: 14px; color: #fff; font-size: .7rem; letter-spacing: .02em; text-transform: uppercase; }
.footer-links { display: grid; gap: 7px; }
.footer-links a, .footer-links span { color: #c0c7cc; font-size: .66rem; }
.footer-contact a { display: block; margin: 7px 0; font-size: .68rem; }
.footer-bottom { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #8d979e; border-top: 1px solid var(--line-soft); font-size: .61rem; }

.cookie { position: fixed; z-index: 120; right: 20px; bottom: 20px; width: min(420px, calc(100% - 40px)); padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-2); box-shadow: var(--shadow); }
.cookie p { font-size: .72rem; }
.cookie-actions { display: flex; gap: 8px; justify-content: flex-end; }

@media (max-width: 1080px) {
  .container { width: min(calc(100% - 34px), var(--max)); }
  .main-nav { gap: 16px; }
  .main-nav a { font-size: .61rem; }
  .nav-actions .button { display: none; }
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .jobs-layout { grid-template-columns: 1fr; }
  .why-dart { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .why-dart h2, .why-dart .button { grid-column: 1 / -1; }
  .why-item { border: 1px solid var(--line); border-radius: 5px; padding: 15px; }
  .footer-main { grid-template-columns: 1.2fr repeat(2, 1fr); }
}

@media (max-width: 780px) {
  body { font-size: 14px; }
  .container { width: min(calc(100% - 28px), var(--max)); }
  .site-header { height: 62px; }
  .brand img { width: 92px; }
  .main-nav { position: fixed; z-index: 80; inset: 62px 0 0; padding: 28px; display: none; align-content: start; gap: 0; background: rgba(1,5,8,.99); }
  .menu-open .main-nav { display: grid; }
  .main-nav a { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: .85rem; }
  .main-nav a::after { display: none; }
  .nav-actions { margin-left: auto; }
  .lang { display: none; }
  .menu-toggle { display: block; }
  .hero::after, .page-hero::after { background: linear-gradient(90deg, rgba(1,6,10,.97), rgba(1,6,10,.64)); }
  .hero::before, .page-hero::before { width: 180px; height: 180px; right: -50px; top: 38%; }
  .hero-copy { width: 100%; }
  .home-hero { min-height: 620px; background-position: 61% center; }
  .home-hero .container { padding-top: 74px; padding-bottom: 28px; }
  .home-hero h1 { font-size: 2.4rem; }
  .home-hero .lead { max-width: 330px; font-size: .95rem; }
  .hero-checks li { font-size: .78rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .home-models { padding-top: 22px; }
  .home-models .section-title { font-size: 1.42rem; }
  .models { grid-template-columns: 1fr; }
  .model-card { min-height: 235px; padding: 19px; }
  .model-card > * { max-width: 72%; }
  .model-card h3 { font-size: 1.08rem; }
  .model-card .model-intro, .model-card ul { font-size: .67rem; }
  .model-card ul { display: none; }
  .home-stats { grid-template-columns: repeat(3, 1fr); overflow: hidden; }
  .home-stat { min-width: 105px; }
  .home-stat:nth-child(n+4) { display: none; }
  .trusted-partners { padding-block: 44px; }
  .trusted-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .trusted-partners__tile { height: 102px; }
  .trusted-partners__tile > div, .trusted-partners__tile > a { padding: 18px 12px; border-radius: 12px; }
  .trusted-partners__tile img { max-width: min(100%, 140px); max-height: 50px; }
  .page-hero { min-height: 510px; }
  .page-hero .hero-copy { padding-top: 65px; }
  .breadcrumb { display: none; }
  .business-hero { background-position: 62% center; }
  .contact-hero { background-position: 59% center; }
  .jobs-hero { background-position: 62% center; }
  .contact-pillars, .hero-benefits { gap: 18px; align-items: flex-start; }
  .contact-pillar, .hero-benefit { flex: 1; }
  .process-grid, .benefit-grid { grid-template-columns: 1fr 1fr; }
  .timeline, .recruitment-flow { grid-template-columns: 1fr; text-align: left; }
  .timeline-step { display: grid; grid-template-columns: 46px 1fr; column-gap: 12px; text-align: left; }
  .timeline-step .step-no { grid-row: 1 / span 2; margin: 0; }
  .timeline-step:not(:last-child)::after { display: none; }
  .case-form-grid, .contact-main, .coverage, .job-detail-layout { grid-template-columns: 1fr; }
  .case-study { grid-template-columns: 1fr; }
  .case-study img { min-height: 240px; }
  .stats-bar { grid-template-columns: 1fr 1fr; }
  .stats-bar > div:nth-child(2) { border-right: 0; }
  .stats-bar > div { padding: 12px; border-bottom: 1px solid var(--line); }
  .contact-cards { grid-template-columns: 1fr; }
  .contact-main .inquiry { border-right: 0; border-bottom: 1px solid var(--line); }
  .filter-grid { grid-template-columns: 1fr 1fr; }
  .job-grid { grid-template-columns: 1fr 1fr; }
  .why-dart { grid-template-columns: 1fr; }
  .recruitment { grid-template-columns: 1fr; }
  .recruitment-image { order: -1; }
  .whatsapp-banner { grid-template-columns: auto 1fr; }
  .whatsapp-banner .button { grid-column: 1 / -1; }
  .job-detail-hero { min-height: 515px; background-position: 68% center; }
  .job-detail-copy { padding: 30px 20px; }
  .job-facts { grid-template-columns: 1fr 1fr; }
  .mini-process { grid-template-columns: 1fr; }
  .apply-card { position: static; }
  .related-jobs { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-intro { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .section { padding: 34px 0; }
  .hero h1, .page-hero h1 { font-size: 2.15rem; }
  .process-grid, .benefit-grid, .filter-grid, .job-grid, .offer-grid { grid-template-columns: 1fr; }
  .process-card { min-height: 170px; }
  .contact-pillars, .hero-benefits { display: grid; grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .filter-actions { align-items: stretch; flex-direction: column; }
  .filter-actions .button { width: 100%; }
  .whatsapp-banner { padding: 22px; }
  .whatsapp-logo { width: 54px; height: 54px; font-size: 2rem; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-intro { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 16px 0; }
}

/* Active PL/EN/ES language links. */
.lang a { color: inherit; text-decoration: none; }
.lang a:hover, .lang a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .25em; }
.lang a.is-current { color: #fff; font-weight: 800; }

@media (min-width: 600px) and (max-width: 899px) { .trusted-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px) and (max-width: 1199px) { .trusted-partners__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }


/* Home models — cohesive premium transition into trusted partners */
.home-models {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 6vw, 82px) 0 clamp(48px, 5vw, 68px);
  color: var(--text);
  background:
    radial-gradient(circle at 18% 12%, rgba(241, 44, 47, .10), transparent 30rem),
    linear-gradient(180deg, #071018 0%, #0b141c 100%);
  border-bottom: 0;
}
.home-models::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255, 255, 255, .025), transparent 35%);
}
.home-models .container { position: relative; max-width: 1300px; }
.home-models .section-title {
  margin: 0 auto clamp(30px, 4vw, 44px);
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}
.models { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.model-card {
  min-height: 340px;
  padding: clamp(25px, 3vw, 36px);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 14px;
  box-shadow: none;
  isolation: isolate;
}
.model-card::before {
  background: linear-gradient(90deg, rgba(2, 8, 12, .98) 0%, rgba(2, 8, 12, .86) 58%, rgba(2, 8, 12, .28) 100%);
}
.model-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
  pointer-events: none;
}
.model-card > * { max-width: 68%; }
.model-card h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
.model-card .model-sub { margin-bottom: 15px; }
.model-card .model-intro { color: rgba(255, 255, 255, .75); font-size: .86rem; line-height: 1.55; }
.model-card ul { font-size: .79rem; line-height: 1.4; }
.model-arrow { color: #fff; transition: transform .25s ease, border-color .25s ease, background-color .25s ease; }
.model-card:hover .model-arrow { transform: translateX(2px); border-color: rgba(241, 44, 47, .75); background: rgba(241, 44, 47, .12); }
.home-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 0 0;
  margin-top: 4px;
}
.home-stat {
  position: relative;
  min-height: 158px;
  padding: 24px 16px 21px;
  grid-template-rows: 42px auto 1fr;
  align-content: center;
  justify-items: center;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}
.home-stat::before { content: ""; position: absolute; top: -1px; left: 28%; right: 28%; height: 2px; border-radius: 0 0 2px 2px; background: linear-gradient(90deg, transparent, var(--red), transparent); opacity: .75; }
.home-stat:hover { transform: translateY(-3px); border-color: rgba(241, 44, 47, .34); background-color: rgba(255, 255, 255, .025); }
.home-stat:last-child { border-right: 1px solid rgba(255, 255, 255, .10); }
.home-stat .icon .dg-icon { width: 22px; height: 22px; display: block; }
.home-stat .icon { display: grid; width: 40px; height: 40px; margin: 0; place-items: center; color: #ff474a; border: 1px solid rgba(241, 44, 47, .30); border-radius: 10px; background: rgba(241, 44, 47, .08); font-size: 1.3rem; line-height: 1; }
.home-stat strong { margin-top: 12px; color: #fff; font-size: clamp(1.25rem, 1.9vw, 1.65rem); line-height: 1.08; letter-spacing: -.035em; }
.home-stat > span:last-child { max-width: 180px; margin-top: 9px; color: rgba(255, 255, 255, .64); font-size: .73rem; line-height: 1.4; }
.trusted-partners { background: radial-gradient(circle at 78% 8%, rgba(220, 20, 38, .13), transparent 32%), #101820; border-top-color: rgba(255, 255, 255, .08); }

@media (max-width: 780px) {
  .home-models { padding: 44px 0 42px; }
  .home-models .section-title { max-width: 320px; margin-bottom: 28px; font-size: 1.75rem; }
  .models { grid-template-columns: 1fr; gap: 12px; }
  .model-card { min-height: 252px; padding: 22px; border-radius: 12px; }
  .model-card > * { max-width: 75%; }
  .model-card ul { display: none; }
  .model-card .model-intro { font-size: .74rem; }
  .home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 14px; }
  .home-stat { display: grid; min-width: 0; min-height: 142px; padding: 19px 10px 17px; grid-template-rows: 38px auto 1fr; }
  .home-stat:nth-child(n+4) { display: grid; }
  .home-stat .icon { width: 36px; height: 36px; border-radius: 9px; font-size: 1.1rem; }
  .home-stat strong { margin-top: 10px; font-size: 1.12rem; }
  .home-stat > span:last-child { margin-top: 7px; font-size: .66rem; }
}


.models-eyebrow { margin: 0 0 10px; color: var(--red); text-align: center; font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.model-card { min-height: 390px; padding-bottom: 82px; }
.model-card > * { max-width: 72%; }
.model-card__number { position: absolute; z-index: 1; top: 25px; right: 28px; color: rgba(255, 255, 255, .22); font-size: .72rem; font-weight: 850; letter-spacing: .14em; }
.model-card .model-card__brand { margin: 0 0 12px; color: var(--red); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.model-card h3 { max-width: 430px; margin: 0 0 16px; font-size: clamp(1.55rem, 2.25vw, 2.05rem); line-height: 1.08; text-transform: none; }
.model-card .model-intro { max-width: 470px; min-height: 66px; margin-bottom: 18px; font-size: .85rem; }
.model-card ul { margin-top: 0; font-size: .8rem; }
.model-card li { margin: 8px 0; color: rgba(255, 255, 255, .88); }
.model-card li::before { content: "✓"; color: var(--red); font-weight: 900; }
.model-cta { position: absolute; z-index: 2; left: clamp(25px, 3vw, 36px); bottom: 28px; display: inline-flex; width: auto; max-width: none; min-height: 40px; align-items: center; gap: 16px; padding: 0 17px; color: #fff; border: 1px solid rgba(255, 255, 255, .24); border-radius: 6px; background: rgba(3, 9, 14, .56); font-size: .69rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; transition: transform .22s ease, border-color .22s ease, background-color .22s ease; }
.model-cta span { color: var(--red); font-size: 1rem; transition: transform .22s ease; }
.model-cta:hover { transform: translateY(-2px); border-color: rgba(241, 44, 47, .58); background: rgba(241, 44, 47, .10); }
.model-cta:hover span { transform: translateX(3px); }
@media (max-width: 780px) {
  .models-eyebrow { margin-bottom: 8px; }
  .model-card { min-height: 410px; padding: 24px 20px 76px; }
  .model-card::before { background: linear-gradient(90deg, rgba(2, 8, 12, .98), rgba(2, 8, 12, .84)); }
  .model-card > * { max-width: 100%; }
  .model-card__number { top: 21px; right: 20px; }
  .model-card h3 { max-width: 85%; font-size: 1.45rem; }
  .model-card .model-intro { min-height: 0; font-size: .75rem; }
  .model-card ul { display: block; font-size: .72rem; }
  .model-card li { margin: 7px 0; }
  .model-cta { left: 20px; bottom: 22px; min-height: 38px; }
}


/* Contact directory and real administrative map */
.section-heading { max-width: 680px; margin: 0 auto 28px; text-align: center; }
.section-heading h2 { font-size: clamp(1.7rem, 3vw, 2.45rem); }
.contact-directory__grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 14px; }
.contact-department { padding: 24px; }
.contact-department h3 { padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid var(--line); color: #fff; font-size: 1.05rem; }
.contact-department p { display: grid; gap: 2px; padding: 13px 0; margin: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.contact-department p:last-child { border-bottom: 0; }
.contact-department strong { color: #fff; font-size: .82rem; }
.contact-department span { color: var(--muted-2); font-size: .7rem; }
.contact-department a { margin-top: 4px; color: #ff5b5e; font-size: .73rem; word-break: break-word; }
.map-box { min-height: 360px; margin: 22px 0 0; padding: 18px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.10); border-radius: 12px; background: radial-gradient(circle at 50% 45%, rgba(241,44,47,.10), transparent 58%), #0a141d; }
.map-box::before { display: none; }
.map-box img { width: auto; height: 320px; max-width: 100%; filter: none; opacity: 1; }
.map-box figcaption { margin-top: 8px; color: var(--muted-2); font-size: .65rem; text-align: center; }
.map-legend { margin-top: 10px; color: var(--muted); font-size: .69rem; line-height: 1.65; text-align: center; }
.office-list { margin-top: 16px; color: var(--muted); font-size: .78rem; line-height: 1.8; }
.office-list strong { color: #fff; }
.job-card .button { border-color: rgba(241,44,47,.45); }
.job-detail-layout .apply-card .field { margin-bottom: 12px; }
.job-detail-layout .apply-card input { width: 100%; min-height: 43px; border: 1px solid var(--line); border-radius: 5px; color: #fff; background: rgba(255,255,255,.035); }
@media (max-width: 980px) { .contact-directory__grid { grid-template-columns: 1fr 1fr; } .contact-department:first-child { grid-column: 1 / -1; } }
@media (max-width: 780px) { .contact-directory__grid { grid-template-columns: 1fr; } .contact-department:first-child { grid-column: auto; } .map-box { min-height: 300px; padding: 12px; } .map-box img { height: 270px; } }

.legal-entities { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.legal-entities p { display: grid; gap: 4px; padding: 13px; margin: 0; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; }
.legal-entities strong { color: #fff; font-size: .74rem; }
.legal-entities span { color: var(--muted-2); font-size: .64rem; }
@media (max-width: 780px) { .legal-entities { grid-template-columns: 1fr; } }
