:root{
  --tiffany:#DCF3F0;
  --tiffany-2:#C9EAE6;
  --white:#FFFFFF;
  --ink:#3B2A5E;
  --ink-soft:#5B4A80;
  --ink-muted:#7B6BA0;
  --violet:#7C5CBF;
  --violet-dark:#5B3E96;
  --violet-tint:#EDE6F8;
  --steel:#4A5A8F;
  --steel-tint:#E4E8F5;
  --safety:#B8791A;
  --safety-tint:#FBEBCF;
  --line:rgba(59,42,94,.16);
  --line-strong:rgba(59,42,94,.30);
  --radius:6px;
  --font:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--tiffany);color:var(--ink);
  font-family:var(--font);font-size:17px;line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--violet-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
strong{color:var(--violet-dark);font-weight:700;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
h1,h2,h3{font-family:var(--font);font-weight:700;color:var(--ink);margin:0;line-height:1.25;}
h1{font-size:42px;}
h2{font-size:30px;}
h3{font-size:18px;}
.eyebrow{
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-dark);
  display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:700;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--violet);}

/* ---------- click-to-copy контакт-чипы ---------- */
.contact-chip{
  display:inline-flex;align-items:center;gap:8px;background:var(--white);
  border:1px solid var(--line-strong);border-radius:20px;padding:6px 14px;
  font-size:14px;color:var(--ink);cursor:pointer;font-family:var(--font);
}
.contact-chip:hover{background:var(--violet-tint);}
.contact-chip .ic{font-size:13px;color:var(--violet);}
.contact-chip .copied{display:none;color:var(--violet-dark);font-weight:700;}
.contact-chip.is-copied .default{display:none;}
.contact-chip.is-copied .copied{display:inline;}

/* ---------- звонок-кнопка (двустрочная) ---------- */
.call-btn{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;background:var(--violet);color:var(--white);border:none;border-radius:var(--radius);
  padding:14px 28px;text-decoration:none;line-height:1.2;min-width:220px;
}
.call-btn:hover{background:var(--violet-dark);text-decoration:none;}
.call-btn .l1{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;}
.call-btn .l2{font-size:19px;font-weight:700;}
.call-btn.ghost{background:transparent;border:1px solid var(--white);}
.call-btn.on-light{background:var(--ink);}
.call-btn.on-light:hover{background:var(--violet-dark);}

.btn{
  font-family:var(--font);font-weight:700;font-size:15px;padding:13px 24px;border-radius:var(--radius);
  border:1px solid var(--violet);background:var(--white);color:var(--violet-dark);cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
}
.btn:hover{background:var(--violet-tint);text-decoration:none;}

/* ---------- topbar / header ---------- */
.topbar{background:var(--ink);color:var(--tiffany);font-size:14px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:44px;flex-wrap:wrap;gap:8px;}
.topbar-left{display:flex;gap:24px;color:#C9BCEA;}
.topbar-right{display:flex;gap:12px;align-items:center;}
.topbar .contact-chip{background:transparent;border-color:rgba(255,255,255,.35);color:var(--tiffany);}
.topbar .contact-chip:hover{background:rgba(255,255,255,.1);}
.topbar .contact-chip .ic{color:var(--tiffany);}

header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;flex-wrap:wrap;gap:16px;}
.logo{font-size:26px;font-weight:700;color:var(--ink);display:flex;align-items:baseline;gap:6px;}
.logo .dot{font-size:0.7em;display:inline-block;transform:translateY(-2px);}
nav.main{display:flex;gap:28px;font-size:15px;font-weight:700;flex-wrap:wrap;}
nav.main a{color:var(--ink-soft);padding:6px 0;border-bottom:2px solid transparent;}
nav.main a:hover{border-color:var(--violet);text-decoration:none;color:var(--violet-dark);}

/* ---------- breadcrumbs ---------- */
.crumbs{font-size:14px;color:var(--ink-muted);padding-top:24px;padding-bottom:10px;}
.crumbs a{color:var(--ink-muted);}
.crumbs .sep{margin:0 8px;color:var(--line-strong);}

/* ---------- hero ---------- */
.hero{padding:20px 0 60px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
.hero h1{margin-bottom:24px;}
.hero .offer{font-size:18px;color:var(--ink-soft);max-width:56ch;margin-bottom:32px;}
.chips{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px;}
.chip{
  font-size:13px;padding:8px 14px;border:1px solid var(--line-strong);
  border-radius:20px;display:inline-flex;align-items:center;gap:6px;background:var(--white);color:var(--ink-soft);
}
.hero-side{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px;}
.hero-side ul{list-style:none;margin:0 0 22px;padding:0;font-size:15px;}
.hero-side li{padding:10px 0;border-top:1px solid var(--line);}
.hero-side li:first-child{border-top:none;}

.offer-body{max-width:74ch;}
.offer-body p{font-size:17px;color:var(--ink-soft);margin:0 0 20px;line-height:1.85;}
.offer-body p:last-child{margin-bottom:0;}

/* ---------- section shell ---------- */
section{padding:64px 0;}
section.tight{padding:36px 0;}
.section-head{margin-bottom:36px;}

/* ---------- этапы ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;}
.step{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px 20px;}
.step .mark{
  font-size:14px;font-weight:700;color:var(--white);background:var(--violet);
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.step h3{font-size:16px;margin:0 0 10px;}
.step p{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.7;}

/* ---------- доверие ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.trust-item{background:var(--white);border-radius:12px;padding:26px 28px;display:flex;gap:16px;}
.trust-item .ic-dot{width:10px;height:10px;border-radius:50%;background:var(--violet);flex:none;margin-top:8px;}
.trust-item p{margin:0;font-size:15px;line-height:1.7;}
.trust-single{
  background:var(--white);border-left:5px solid var(--violet);border-radius:0 12px 12px 0;
  padding:30px 34px;font-size:18px;line-height:1.8;color:var(--ink-soft);
}

/* ---------- документооборот / допуски ---------- */
.docs-block,.safety-block{border-radius:12px;padding:28px 30px;margin-bottom:60px;}
.docs-block{background:var(--steel-tint);border:1px solid var(--steel);}
.docs-block .eyebrow{color:var(--steel);}
.docs-block .eyebrow::before{background:var(--steel);}
.safety-block{background:var(--ink);color:var(--tiffany);}
.safety-block .eyebrow{color:var(--safety);}
.safety-block .eyebrow::before{background:var(--safety);}
.tag-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
.tag-pill{font-size:14px;background:var(--white);border:1px solid var(--steel);padding:8px 16px;border-radius:20px;color:var(--steel);}
.safety-block .tag-pill{background:transparent;border-color:var(--safety);color:var(--tiffany);}

/* ---------- материалы ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.mat-list{list-style:none;margin:0;padding:0;}
.mat-list li{padding:16px 0;border-top:1px solid var(--line);font-size:15px;}
.mat-list li:last-child{border-bottom:1px solid var(--line);}

/* ---------- карусель ---------- */
.carousel-wrap{position:relative;}
.carousel{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  border-radius:12px;overflow:hidden;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;touch-action:pan-y;
}
.carousel::-webkit-scrollbar{display:none;}
.carousel{scrollbar-width:none;-ms-overflow-style:none;}
.carousel .slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/10;background:var(--tiffany-2);}
.carousel .slide img{width:100%;height:100%;object-fit:cover;display:block;}
.carousel-dots{display:flex;gap:7px;justify-content:center;margin-top:14px;}
.carousel-dots button{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:var(--line-strong);cursor:pointer;}
.carousel-dots button.active{background:var(--violet);}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;
  border:1px solid var(--line-strong);background:var(--white);color:var(--ink);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;opacity:.9;
}
.carousel-arrow:hover{opacity:1;}
.carousel-arrow.prev{left:12px;}
.carousel-arrow.next{right:12px;}
.static-photo{border-radius:12px;overflow:hidden;background:var(--tiffany-2);aspect-ratio:16/10;}
.static-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:600px){.carousel-arrow{display:none;}}

/* ---------- прайс ---------- */
table.price{width:100%;border-collapse:collapse;background:var(--white);border-radius:12px;overflow:hidden;}
table.price th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);padding:14px 18px;border-bottom:2px solid var(--ink);}
table.price td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:15px;}
table.price td.p{font-weight:700;text-align:right;color:var(--violet-dark);}

/* ---------- faq ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;padding:22px 4px;font-size:17px;font-weight:700;
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-family:var(--font);
}
.faq-q .x{color:var(--violet);font-size:20px;transition:transform .2s;}
.faq-item.open .x{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;font-size:15px;color:var(--ink-soft);}
.faq-item.open .faq-a{max-height:260px;}
.faq-a p{margin:0 4px 22px;max-width:70ch;line-height:1.8;}

/* ---------- сезонный cta (кирпичная подложка) ---------- */
.cta-season{
  position:relative;padding:90px 0;color:var(--white);text-align:center;
  background-color:var(--ink);background-image:url('/img/brick.jpeg');background-size:cover;background-position:center;
}
.cta-season::before{content:"";position:absolute;inset:0;background:rgba(59,42,94,.72);}
.cta-season .inner{position:relative;z-index:1;}
.cta-season h2{
  color:var(--white);font-style:italic;font-size:40px;line-height:1.35;max-width:16ch;margin:0 auto 40px;
}
.cta-season .call-btn{background:var(--violet);}
.cta-season .call-btn:hover{background:var(--violet-dark);}

/* ---------- footer ---------- */
footer{background:var(--white);border-top:1px solid var(--line-strong);padding:56px 0 28px;font-size:15px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;}
.foot-grid h4{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 16px;}
.foot-grid ul{list-style:none;margin:0;padding:0;}
.foot-grid li{margin-bottom:10px;}
.foot-grid a{color:var(--ink-soft);}
.foot-grid a:hover{color:var(--violet-dark);}
.foot-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;color:var(--ink-muted);font-size:13px;flex-wrap:wrap;gap:10px;}

/* ---------- hub карточки ---------- */
.hub-hero{padding-top:48px;padding-bottom:56px;max-width:70ch;}
.hub-hero p{font-size:18px;color:var(--ink-soft);}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.service-card{background:var(--white);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);}
.service-card:hover{background:var(--violet-tint);text-decoration:none;}
.service-card h3{font-size:17px;}
.service-card p{font-size:14px;color:var(--ink-soft);margin:0;flex:1;line-height:1.7;}
.service-card .go{font-size:13px;color:var(--violet-dark);font-weight:700;}

/* ---------- статья ---------- */
.article-shell{display:grid;grid-template-columns:1fr 260px;gap:56px;padding:48px 0 70px;}
.article-body h1{font-size:36px;line-height:1.2;margin-bottom:24px;}
.article-meta{font-size:13px;color:var(--ink-muted);margin-bottom:26px;display:flex;gap:18px;}
.article-body p{font-size:17px;color:var(--ink-soft);margin:0 0 22px;max-width:66ch;line-height:1.85;}
.article-body h2{font-size:22px;margin:40px 0 18px;}
.compare-list{list-style:none;margin:0 0 24px;padding:0;}
.compare-list li{padding:16px 20px;border-left:4px solid var(--violet);margin-bottom:12px;background:var(--white);border-radius:0 12px 12px 0;}
.compare-list b{display:block;font-size:15px;margin-bottom:4px;}
.compare-list span{font-size:14px;color:var(--ink-soft);}
.article-transfer{margin-top:40px;background:var(--steel);color:var(--white);border-radius:12px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.article-transfer p{color:#dfe4f5;margin:0;max-width:40ch;font-size:15px;line-height:1.7;}
aside.toc{position:sticky;top:110px;align-self:start;border-left:2px solid var(--line-strong);padding-left:20px;}
aside.toc ul{list-style:none;margin:0;padding:0;font-size:14px;}
aside.toc li{margin-bottom:12px;}
aside.toc a{color:var(--ink-soft);}
aside.toc a:hover{color:var(--violet-dark);}

@media (max-width:880px){
  nav.main{display:none;}
  .topbar-left{display:none;}
  .hero-grid,.split,.article-shell{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  h1{font-size:32px;}
  .cta-season h2{font-size:28px;}
  aside.toc{display:none;}
}
