* { box-sizing: border-box; } body { margin: 0; background: #f3f3f4; color: #171717; font-family: Arial, sans-serif; font-size: 14px; } .page { max-width: 1200px; margin: 0 auto; padding: 0 16px 30px; } a { color: inherit; text-decoration: none; } button, input { font: inherit; } button { border: 0; border-radius: 9px; padding: 12px 24px; cursor: pointer; } .header { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; gap: 20px; } .logo { font-size: 40px; font-weight: 900; letter-spacing: -2px; } .header nav { display: flex; gap: 30px; } .publish { background: #087fff; color: white; } .banner { position: relative; overflow: hidden; padding: 55px 20px 30px; margin-bottom: 20px; border-radius: 18px; background: white; text-align: center; } .banner-text { position: relative; } .banner h1 { margin: 0 0 26px; font-size: 42px; line-height: 1.05; } .banner button { background: #171717; color: white; } .shape { position: absolute; width: 190px; height: 190px; border-radius: 50%; } .pink { top: -95px; left: -30px; border-radius: 25px; background: #fa50c8; transform: rotate(-20deg); } .green { bottom: -100px; left: -50px; background: #49f3b9; } .blue { right: -55px; bottom: -100px; background: #4e9dff; } .content { display: flex; align-items: flex-start; gap: 20px; } .filters, .card { padding: 18px; border: 1px solid #e5e5e7; border-radius: 16px; background: #fafafa; box-shadow: 0 2px 3px #00000008; } .filters { width: 300px; flex-shrink: 0; } .search, .salary input { width: 100%; min-width: 0; padding: 10px; border: 1px solid #e5e5e7; border-radius: 8px; background: #f3f3f4; } .filter-group { margin-top: 20px; } .filter-group h3 { margin: 0 0 9px; font-size: 12px; } .options, .salary, .tags { display: flex; flex-wrap: wrap; gap: 6px; } .options span, .tags span, .grade { padding: 5px 7px; border-radius: 5px; background: #f0f0f2; font-size: 11px; } .options span { color: #74747d; } .cities { padding: 8px 10px; border-radius: 8px; background: #f3f3f4; } .cities label { display: flex; justify-content: space-between; align-items: center; padding: 4px 0; font-size: 12px; } .salary { flex-wrap: nowrap; } .salary input { width: 50%; font-size: 12px; } .cards { display: flex; flex-wrap: wrap; flex: 1; gap: 12px; } .card { position: relative; display: flex; flex-direction: column; width: calc((100% - 24px) / 3); min-height: 220px; } .company-row { display: flex; justify-content: space-between; align-items: center; } .company { margin: 0; font-size: 11px; } .company span { color: #ffc900; font-size: 17px; } .new { position: absolute; top: -5px; right: -5px; transform: rotate(15deg); padding: 4px 8px; border-radius: 12px; background: #087fff; color: white; font-size: 10px; } .card h2 { margin: 8px 0 5px; font-size: 19px; font-weight: 400; line-height: 1.1; } .location { margin: 0; color: #858585; font-size: 11px; } .card-bottom { margin-top: auto; padding-top: 30px; } .grade { display: inline-block; margin-top: 6px; } @media (max-width: 1000px) { .filters { width: 240px; } .card { width: calc((100% - 12px) / 2); } } @media (max-width: 600px) { .header { flex-wrap: wrap; } .header nav { order: 1; width: 100%; justify-content: center; } .banner h1 { font-size: 28px; } .shape { display: none; } .content { flex-direction: column; } .filters, .cards, .card { width: 100%; } }