  :root{ --soft-bg:#eef6ff; }
  html{scroll-padding-top:86px}
  body{background:#fff}
  .dh{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.05}

  /* ===== PAGE HERO (catalog .phero) ===== */
  .phero{background:var(--mesh);color:#fff;position:relative;overflow:hidden;padding:128px 0 60px}
  .phero::before{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px;mask:radial-gradient(120% 90% at 25% 0%,#000 25%,transparent 80%);opacity:.5}
  .phero-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(52,124,255,.34),transparent 62%);filter:blur(20px);top:-260px;right:-100px;pointer-events:none;z-index:0}
  .phero .wrap{position:relative;z-index:2}
  .crumb{font:600 12px/1 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:#7e96c2;display:flex;gap:9px;align-items:center}
  .crumb a:hover{color:#cfe0ff}.crumb span{color:var(--blue-l)}
  .phero h1{font-size:clamp(38px,5vw,64px);font-weight:900;letter-spacing:-.03em;line-height:1.04;margin:18px 0 0;max-width:18ch;background:linear-gradient(180deg,#fff,#cfe0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .phero p{color:#a9c0e6;font-size:clamp(15px,1.5vw,18px);max-width:58ch;margin:20px 0 0;line-height:1.6}
  .phero .note{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font:600 12.5px/1.4 var(--mono);color:#cfe0ff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);padding:11px 18px;border-radius:999px}
  .phero .note::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue-l);box-shadow:0 0 0 4px rgba(93,150,255,.25)}

  /* ===== section heading ===== */
  .sh{margin-bottom:48px}
  .sh.c{text-align:center}
  .sh h2{font-size:clamp(28px,3.6vw,46px)}
  .sh h2 em{font-style:normal;color:var(--blue)}
  .sh p{color:var(--muted);font-size:17px;margin-top:14px;max-width:56ch}
  .sh.c p{margin-left:auto;margin-right:auto}
  .soft{background:var(--soft-bg)}

  /* ===== ADVANTAGES (about .acard / .abadge) ===== */
  .adv{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .acard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 28px;transition:transform .3s,box-shadow .3s}
  .acard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(9,54,116,.45)}
  .abadge{width:64px;height:64px;border-radius:50%;background:rgba(52,124,255,.1);display:grid;place-items:center;color:var(--blue);margin-bottom:20px}
  .acard h3{font-size:19px;font-weight:800;letter-spacing:-.01em}
  .acard p{color:var(--muted);font-size:14px;line-height:1.65;margin-top:11px}
  @media(max-width:980px){.adv{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:540px){.adv{grid-template-columns:1fr}}

  /* ===== VACANCY list ===== */
  .vgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .vc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 30px 26px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}
  .vc:hover{transform:translateY(-5px);box-shadow:0 28px 56px -32px rgba(9,54,116,.42);border-color:#cfe0ff}
  .vc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
  .vtag{font:600 10.5px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--blue);background:rgba(52,124,255,.1);border:1px solid rgba(52,124,255,.22);padding:7px 11px;border-radius:8px}
  .vc h3{font-size:21px;font-weight:800;letter-spacing:-.01em}
  .vmeta{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font:600 12px/1 var(--mono);color:var(--muted)}
  .vmeta span{display:inline-flex;align-items:center;gap:7px}
  .vmeta svg{color:var(--blue)}
  .vlist{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
  .vlist li{position:relative;padding-left:28px;font-size:14px;color:var(--ink);line-height:1.5}
  .vlist li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:6px;background:rgba(52,124,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 13l4 4L19 7' stroke='%23347cff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
  .vc .apply{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;font:700 14px/1 var(--display);color:var(--blue);align-self:flex-start}
  .vc .apply::after{content:"→";transition:transform .2s}
  .vc:hover .apply::after{transform:translateX(4px)}
  @media(max-width:760px){.vgrid{grid-template-columns:1fr}}

  /* ===== REQ form (about .req) ===== */
  .req{background:var(--mesh);color:#fff;border-radius:32px;padding:60px 56px;position:relative;overflow:hidden;margin:0 16px 80px}
  .req .glow{position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(52,124,255,.4),transparent 60%);filter:blur(20px);top:-260px;left:80%;transform:translateX(-50%);pointer-events:none;opacity:.6}
  .req .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;position:relative;z-index:2}
  .req h2{font-size:clamp(28px,3.4vw,42px);font-weight:900;letter-spacing:-.03em}
  .req p{color:#a9c0e6;margin-top:16px;max-width:40ch;line-height:1.65}
  .form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:26px;backdrop-filter:blur(8px)}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
  .inp{height:50px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);padding:0 16px;color:#fff;font:500 14px/1 var(--display);width:100%}
  textarea.inp{height:auto;padding:14px 16px;resize:vertical;min-height:84px;line-height:1.5}
  .inp::placeholder{color:#7e96c2}
  .note{font:600 12px/1 var(--mono);color:#88a4d4;margin-top:14px;display:flex;align-items:center;gap:8px}
  @media(max-width:860px){.req .grid{grid-template-columns:1fr}.req{padding:40px 26px}}
  @media(max-width:560px){.frow{grid-template-columns:1fr}}
