
.sec{padding:56px 0}
.sec--tight{padding:34px 0}
h2.sec__h{font-size:34px;line-height:1.15;color:#fff;margin:0 0 10px;font-weight:800}
@media(max-width:959px){h2.sec__h{font-size:25px}}
.sec__kick{color:#e9c46a;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-weight:700}
.sec__lead{max-width:900px;color:#a9a9b4;font-size:16px;line-height:1.65;margin:0 0 26px}


/* таймлайн */
.tl{position:relative;padding-left:0}
.tl__row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid #1d1d24}
.tl__row:last-child{border-bottom:0}
@media(max-width:639px){.tl__row{grid-template-columns:74px 1fr;gap:14px}}
.tl__y{font-size:30px;font-weight:800;color:#e9c46a;line-height:1}
@media(max-width:639px){.tl__y{font-size:21px}}
.tl__t{color:#a9a9b4;font-size:15.5px;line-height:1.6}

/* шаги */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1199px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:639px){.steps{grid-template-columns:1fr}}
.step{background:#141418;border:1px solid #22222a;border-radius:16px;padding:0 0 24px;overflow:hidden}
.step__img{aspect-ratio:4/3;background:#0d0d0f;overflow:hidden}
.step__img img{width:100%;height:100%;object-fit:cover;display:block}
.step>i,.step>b,.step>p{margin-left:24px;margin-right:24px}
.step>i{margin-top:20px}
.step b{display:block;color:#fff;font-size:17px;margin:10px 24px 8px}
.step p{margin:0 24px;color:#8b8b96;font-size:14.5px;line-height:1.6}
.step i{font-style:normal;display:inline-flex;width:34px;height:34px;border-radius:50%;background:#1f1f26;
  color:#e9c46a;align-items:center;justify-content:center;font-weight:800;font-size:15px}


/* портфолио */
.pf__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:959px){.pf__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:559px){.pf__grid{grid-template-columns:1fr}}
.pf__it{position:relative;border-radius:16px;overflow:hidden;background:#141418;border:1px solid #22222a;
  cursor:zoom-in;display:block;padding:0}
.pf__it img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:.35s}
.pf__it:hover img{transform:scale(1.04)}
.pf__more{display:block;margin:30px auto 0;background:transparent;border:1px solid #3a3a46;color:#e9c46a;
  border-radius:30px;cursor:pointer;font:700 13px/1 'TildaSans',Arial,sans-serif;letter-spacing:.06em;
  text-transform:uppercase;padding:16px 34px;transition:.2s}
.pf__more:hover{border-color:#e9c46a;background:#17171c}
.pf__none{color:#8b8b96;padding:20px 0}
.lb{position:fixed;inset:0;background:rgba(6,6,8,.94);display:none;align-items:center;justify-content:center;z-index:999;padding:30px}
.lb.is-open{display:flex}
.lb img{max-width:92vw;max-height:82vh;border-radius:14px;display:block}
.lb__cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#d8d8dd;font-size:15px;padding:0 20px}
.lb__x{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:44px;
  line-height:1;cursor:pointer;padding:10px 18px;opacity:.75}
.lb__nav:hover{opacity:1}
.lb__prev{left:6px}.lb__next{right:6px}

/* поиск */
.srch__form{display:flex;gap:10px;max-width:640px;margin:0 0 26px}
.srch__form input{flex:1;background:#141418;border:1px solid #26262e;border-radius:30px;color:#fff;
  font:400 16px/1.2 'TildaSans',Arial,sans-serif;padding:15px 22px;outline:none}
.srch__form input:focus{border-color:#e9c46a}
.srch__form button{background:linear-gradient(0.288turn,#d1b054 0%,#ffe5a6 50%,#d1b054 97%);color:#1d1d1d;
  border:0;border-radius:30px;cursor:pointer;font:700 13px/1 'TildaSans',Arial,sans-serif;
  letter-spacing:.06em;text-transform:uppercase;padding:15px 28px}
.srch__count{color:#8b8b96;font-size:14px;margin:0 0 18px}
.srch__list{display:flex;flex-direction:column;gap:2px;padding-bottom:10px}
.srch__it{display:flex;align-items:baseline;gap:12px;padding:15px 18px;border-radius:12px;
  text-decoration:none !important;color:inherit !important;border:1px solid transparent}
.srch__it:hover{background:#141418;border-color:#22222a}
.srch__it b{color:#fff;font-weight:600;font-size:16px;line-height:1.35}
.srch__it mark{background:transparent;color:#e9c46a;padding:0}
.srch__it span{color:#7c7c88;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;margin-left:auto}
.srch__empty{color:#a9a9b4;font-size:16px;line-height:1.6;padding:10px 0 24px}

/* контакты */
.ct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:959px){.ct{grid-template-columns:1fr}}
.ct__card{background:#141418;border:1px solid #22222a;border-radius:16px;padding:26px}
.ct__card h3{margin:0 0 14px;color:#fff;font-size:19px}
.ct__row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #1d1d24;font-size:15px}
.ct__row:last-child{border-bottom:0}
.ct__row span{color:#8b8b96;flex:0 0 120px}
.ct__row a{color:#e9c46a !important;text-decoration:none !important}
.ct__row b{color:#fff;font-weight:600}
.ct__msg{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ct__msg a{display:inline-flex;align-items:center;gap:8px;background:#1b1b21;color:#e9c46a !important;
  text-decoration:none !important;border-radius:30px;padding:12px 22px;font-size:13.5px;font-weight:700}
.ct__msg a:hover{background:#24242c}
.frm{background:#141418;border:1px solid #22222a;border-radius:16px;padding:26px;width:100%}
.frm label{display:block;margin:0 0 14px}
.frm span{display:block;color:#8b8b96;font-size:13px;margin-bottom:6px}
.frm input,.frm textarea,.frm select{width:100%;background:#0d0d0f;border:1px solid #26262e;border-radius:10px;
  color:#fff;font:400 15px/1.4 'TildaSans',Arial,sans-serif;padding:13px 14px;outline:none}
.frm input:focus,.frm textarea:focus,.frm select:focus{border-color:#e9c46a}
.frm textarea{min-height:96px;resize:vertical}
.frm button{background:linear-gradient(0.288turn,#d1b054 0%,#ffe5a6 50%,#d1b054 97%);color:#1d1d1d;border:0;
  border-radius:30px;cursor:pointer;font:700 14px/1 'TildaSans',Arial,sans-serif;letter-spacing:.06em;
  text-transform:uppercase;padding:16px 30px;width:100%}
.frm .frm__note{color:#6f6f7a;font-size:12px;line-height:1.5;margin:12px 0 0}
.frm .frm__ok{color:#7fd18b;font-size:14px;margin:12px 0 0;display:none}
.frm .frm__err{color:#e07a7a;font-size:14px;margin:12px 0 0;display:none}
