@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-cyrillic-600.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-cyrillic-700.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-latin-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-cyrillic-800.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-cyrillic-400.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-cyrillic-500.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2190-21BB,U+2212;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-cyrillic-600.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

:root{
  --carmine:#AA0722; --ochre:#C76003; --amber:#F0B012;
  --ink:#1F2229; --grey:#6E7480; --line:#E4E0DB; --paper:#FBFAF8;
  --wrap:1120px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  color:var(--ink); background:#fff; line-height:1.6;
  -webkit-font-smoothing:antialiased; font-size:17px;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px; }

/* фирменная полоса */
.brandbar{ display:flex; height:6px; position:sticky; top:0; z-index:60; }
.brandbar i{ height:100%; }
.brandbar .c1{ background:var(--carmine); width:34%; }
.brandbar .c2{ background:var(--ochre);   width:26%; }
.brandbar .c3{ background:var(--amber);   width:40%; }

/* шапка */
header{
  position:sticky; top:6px; z-index:50; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--line);
}
header .inner{ display:flex; align-items:center; justify-content:space-between; height:78px; }
header .logo{ height:34px; width:auto; }
nav{ display:flex; align-items:center; gap:30px; }
nav a{
  text-decoration:none; font-size:14px; font-weight:500; color:var(--grey);
  transition:color .18s;
}
nav a:hover{ color:var(--ink); }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:13.5px;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  padding:14px 26px; border-radius:6px; background:var(--carmine); color:#fff;
  transition:background .18s, transform .18s;
}
.btn:hover{ background:#8E0520; transform:translateY(-1px); }
.btn.ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn.ghost:hover{ background:var(--paper); border-color:#CFC9C1; }
.btn.amber{ background:var(--amber); color:var(--ink); }
.btn.amber:hover{ background:#DDA00A; }
.btn.sm{ padding:11px 20px; font-size:12.5px; }

/* герой */
.hero{ padding:96px 0 88px; position:relative; overflow:hidden; }
.hero .mark{
  position:absolute; right:-120px; top:-70px; width:480px; opacity:.035; pointer-events:none;
}
.hero .eyebrow{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:12.5px;
  letter-spacing:.19em; text-transform:uppercase; color:var(--ochre);
}
.hero h1{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(38px,5.6vw,68px);
  line-height:1.04; letter-spacing:-.022em; margin-top:20px; max-width:15ch;
}
.hero h1 em{ font-style:normal; color:var(--carmine); }
.hero p.lead{
  font-size:19px; color:var(--grey); margin-top:26px; max-width:56ch; line-height:1.62;
}
.hero .cta{ display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }
.hero .rule{ height:5px; width:92px; background:var(--amber); border-radius:3px; margin-top:56px; }

/* цифры */
.stats{ display:flex; gap:56px; margin-top:34px; flex-wrap:wrap; }
.stats .s .n{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:34px; letter-spacing:-.02em;
}
.stats .s .t{ font-size:14px; color:var(--grey); margin-top:4px; max-width:22ch; line-height:1.45; }

/* секции */
section{ padding:88px 0; }
section.alt{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shead{ max-width:64ch; }
.shead .tag{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:.19em; text-transform:uppercase; color:var(--carmine);
}
.shead h2{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(28px,3.4vw,40px);
  letter-spacing:-.018em; line-height:1.12; margin-top:14px;
}
.shead p{ color:var(--grey); margin-top:16px; font-size:17px; }

/* услуги */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:46px; }
.card{
  background:#fff; border:1px solid var(--line); border-radius:10px; padding:34px 30px 32px;
  position:relative; overflow:hidden; transition:border-color .18s, transform .18s, box-shadow .18s;
}
.card:before{ content:''; position:absolute; left:0; top:0; height:4px; width:100%; background:var(--carmine); }
.card:nth-child(2):before{ background:var(--ochre); }
.card:nth-child(3):before{ background:var(--amber); }
.card:nth-child(4):before{ background:var(--ochre); }
.card:nth-child(5):before{ background:var(--amber); }
.card:nth-child(6):before{ background:var(--carmine); }
.card:hover{ border-color:#CFC9C1; transform:translateY(-3px); box-shadow:0 12px 30px rgba(31,34,41,.07); }
.card h3{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:19px; letter-spacing:-.01em; }
.card p{ color:var(--grey); font-size:15.5px; margin-top:12px; line-height:1.6; }
.card ul{ list-style:none; margin-top:16px; }
.card li{ font-size:14.5px; color:var(--grey); padding-left:18px; position:relative; margin-top:8px; }
.card li:before{
  content:''; position:absolute; left:0; top:9px; width:6px; height:6px;
  border-radius:2px; background:var(--amber);
}

/* процесс */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:46px; }
.step{ position:relative; padding-top:26px; border-top:2px solid var(--line); }
.step .n{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:13px;
  letter-spacing:.14em; color:var(--carmine);
}
.step h4{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:17px; margin-top:10px; }
.step p{ color:var(--grey); font-size:15px; margin-top:10px; }
.step:nth-child(1){ border-top-color:var(--carmine); }
.step:nth-child(2){ border-top-color:var(--ochre); }
.step:nth-child(3){ border-top-color:var(--amber); }
.step:nth-child(4){ border-top-color:var(--ink); }
.step:nth-child(2) .n{ color:var(--ochre); }
.step:nth-child(3) .n{ color:#B8850C; }
.step:nth-child(4) .n{ color:var(--ink); }

/* принципы */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.plist{ list-style:none; }
.plist li{ padding:22px 0 22px 34px; border-bottom:1px solid var(--line); position:relative; }
.plist li:first-child{ border-top:1px solid var(--line); }
.plist li:before{
  content:''; position:absolute; left:0; top:29px; width:10px; height:10px;
  border-radius:3px; background:var(--amber);
}
.plist b{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:16.5px; display:block; }
.plist span{ color:var(--grey); font-size:15.5px; display:block; margin-top:6px; }

/* контакт */
.contact{ background:var(--ink); color:#fff; padding:96px 0; position:relative; overflow:hidden; }
.contact .mark{ position:absolute; right:-130px; bottom:-160px; width:500px; opacity:.045; }
.contact .inner{ position:relative; display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:center; }
.contact .tag{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:.19em; text-transform:uppercase; color:var(--amber);
}
.contact h2{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(28px,3.4vw,42px);
  line-height:1.1; letter-spacing:-.02em; margin-top:14px;
}
.contact p{ color:#B9BDC6; margin-top:18px; font-size:17px; max-width:48ch; }
.mailcard{
  background:#282C35; border:1px solid #3A3E48; border-radius:12px; padding:36px 34px;
}
.mailcard .lab{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:11.5px;
  letter-spacing:.19em; text-transform:uppercase; color:#8A909B;
}
.mailcard a.mail{
  display:block; font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:clamp(20px,2.4vw,27px); color:#fff; text-decoration:none; margin-top:12px;
  letter-spacing:-.01em; word-break:break-all;
}
.mailcard a.mail:hover{ color:var(--amber); }
.mailcard .hint{ color:#8A909B; font-size:14px; margin-top:18px; line-height:1.55; }
.mailcard .btn{ margin-top:26px; width:100%; }

/* подвал */
footer{ background:#fff; padding:52px 0 44px; }
footer .top{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
footer .logo{ height:32px; }
footer .legal{ font-size:13.5px; color:var(--grey); line-height:1.75; max-width:60ch; }
footer .legal b{ color:var(--ink); font-weight:600; }
footer .bottom{
  margin-top:36px; padding-top:22px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-size:13px; color:var(--grey);
}
footer .bottom a{ color:var(--grey); text-decoration:none; }
footer .bottom a:hover{ color:var(--carmine); }

/* адаптив */
@media (max-width:900px){
  .cards{ grid-template-columns:1fr 1fr; }
  .steps{ grid-template-columns:1fr 1fr; row-gap:34px; }
  .split{ grid-template-columns:1fr; gap:36px; }
  .contact .inner{ grid-template-columns:1fr; gap:40px; }
  nav a{ display:none; }
}
@media (max-width:620px){
  body{ font-size:16px; }
  .wrap{ padding:0 20px; }
  header .inner{ height:66px; }
  header .logo{ height:28px; }
  .hero{ padding:64px 0 60px; }
  .hero .mark{ width:300px; right:-150px; top:-40px; opacity:.03; }
  .hero p.lead{ font-size:17px; }
  .hero .cta{ gap:10px; }
  .btn{ padding:13px 20px; font-size:12.5px; }
  section{ padding:64px 0; }
  .cards{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .stats{ gap:28px; }
  .stats .s .n{ font-size:28px; }
  .contact{ padding:70px 0; }
  .mailcard{ padding:28px 24px; }
}