.blue{color:var(--blue)} .red{color:var(--red)}

.pj-soon{
  padding:48px 0 90px;
  background:#fff;
  text-align:center;
}
.pj-soon__inner{
  display:flex;flex-direction:column;align-items:center;
}
.pj-soon__img{
  width:min(500px,60vw);height:auto;
  margin-bottom:28px;
}
.pj-soon__title{
  font-size:56px;line-height:1.1;font-weight:700;
  text-transform:uppercase;margin-bottom:20px;
}
.pj-soon__text{
  max-width:760px;
  font-size:19px;line-height:1.7;color:var(--slate);
  margin-bottom:36px;
}
.pj-soon__btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 38px;
  background:#8f9cc7;color:#fff;
  border:1px solid var(--blue);border-radius:3px;
  font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;transition:background .2s;
}
.pj-soon__btn:hover{background:var(--blue)}

/* TABLET */
@media (max-width:900px){
  .pj-soon{padding:36px 0 70px}
  .pj-soon__img{width:min(420px,65vw)}
  .pj-soon__title{font-size:44px}
  .pj-soon__text{font-size:17px}
}

/* MOBILE */
@media (max-width:600px){
  .pj-soon{padding:28px 0 56px}
  .pj-soon__img{width:min(300px,78vw);margin-bottom:20px}
  .pj-soon__title{font-size:34px}
  .pj-soon__text{font-size:15px;margin-bottom:28px}
  .pj-soon__btn{width:100%;max-width:280px}
}
/* =========================================================
   Swiss grid – desktop (≥901px)
   Left-aligned text on columns 1–6, worker image on columns 7–12.
   Selectors are prefixed with .pj-soon to out-rank the base rules above.
   ========================================================= */
@media (min-width: 901px) {
  .pj-soon { text-align: left; }
  .pj-soon .pj-soon__inner {
    display: grid;
    flex-direction: initial;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gutter);
    align-content: center;
    align-items: start;
  }
  .pj-soon .pj-soon__img {
    grid-column: 7 / 13;
    grid-row: 1 / 4;
    align-self: center;
    justify-self: start;
    margin-bottom: 0;
  }
  .pj-soon .pj-soon__title { grid-column: 1 / 7; grid-row: 1; align-self: end; }
  .pj-soon .pj-soon__text  { grid-column: 1 / 7; grid-row: 2; max-width: none; margin-bottom: 0; }
  .pj-soon .pj-soon__btn   { grid-column: 1 / 7; grid-row: 3; justify-self: start; margin-top: 36px; }
}