/* styles.css */
/* ============ РепуСтар — лендинг ============ */
/* Палитра: тёплый paper/ink + amber акцент. Шрифты: Unbounded (заголовки) + Onest (текст) */

:root {
  --paper: #f5f9fc;
  --paper-2: #eaf2f7;
  --ink: #19354c;
  --ink-2: #203e55;
  --muted: #526778;
  --line: #d2dae0;
  --line-dark: #293035;
  --accent: #346d9e;
  --accent-strong: #315b7a;
  --accent-soft: #dbe5ed;
  --white: #ffffff;
  --radius: 14px;
  --radius-lg: 22px;
  --font: "Onest", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-head: "Unbounded", "Onest", "Segoe UI", system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
}

.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.wrap-narrow { max-width: 760px; }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(245,249,252,0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.header-inner { display: flex; align-items: center; gap: 28px; height: 68px; }

.logo { font-family: var(--font-head); font-weight: 800; font-size: 21px; letter-spacing: -0.5px; color: var(--ink); text-decoration: none; display: inline-flex; align-items: center; gap: 0; }
.logo span { color: var(--ink); }
.logo-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 9px;
  background: var(--accent); color: #19354c; font-size: 16px; line-height: 1;
  flex-shrink: 0;
  margin-right: 8px;
}

.nav { display: flex; gap: 22px; margin-left: auto; }
.nav a {
  color: var(--muted); text-decoration: none; font-weight: 500; font-size: 15px;
  transition: color 0.15s;
}
.nav a:hover { color: var(--ink); }

.btn {
  display: inline-block; padding: 12px 22px; border-radius: 12px;
  font-weight: 700; font-size: 16px; text-decoration: none; text-align: center;
  cursor: pointer; border: 2px solid transparent;
  transition: transform 0.12s, background 0.15s, border-color 0.15s;
  min-height: 48px;
}
.btn:active { transform: scale(0.98); }
.btn-accent { background: var(--accent); color: #19354c; }
.btn-accent:hover { background: var(--accent-strong); }
.btn-ghost { border-color: var(--line); color: var(--ink); background: transparent; }
.btn-ghost:hover { border-color: var(--ink); }
.btn-block { width: 100%; }
.btn-big { padding: 16px 34px; font-size: 18px; }
.btn-header { padding: 9px 18px; font-size: 15px; min-height: 40px; }

.burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.burger span { display: block; width: 22px; height: 2.5px; background: var(--ink); margin: 5px 0; border-radius: 2px; transition: 0.2s; }

/* ---------- hero ---------- */
.hero { padding: 88px 0 72px; }
.hero-grid { display: grid; grid-template-columns: 1.25fr 0.85fr; gap: 56px; align-items: center; }

.eyebrow {
  font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--accent-strong); margin-bottom: 14px;
}
.eyebrow-dark { color: #bdd8eb; }

h1, h2, h3 { font-family: var(--font-head); }
h1 { font-size: 42px; line-height: 1.14; letter-spacing: -1px; font-weight: 800; }
h1 em { font-style: normal; color: var(--accent-strong); }
.lead { font-size: 19px; color: var(--muted); margin: 20px 0 28px; max-width: 560px; }

.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

.hero-facts { list-style: none; display: flex; gap: 22px; margin-top: 34px; flex-wrap: wrap; }
.hero-facts li {
  font-size: 14.5px; color: var(--muted); font-weight: 500;
  display: flex; align-items: center; gap: 8px;
}
.hero-facts li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); display: inline-block; }

/* визуал — карточка рейтинга */
.hero-visual { display: flex; justify-content: center; }
.rating-card {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 26px; width: 320px; box-shadow: 0 24px 60px -24px rgba(25,53,76,0.25);
  transform: rotate(1.5deg);
  animation: float 5.5s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: rotate(1.5deg) translateY(0); }
  50% { transform: rotate(1.5deg) translateY(-16px); }
}
.rc-head { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; }
.rc-avatar {
  width: 44px; height: 44px; border-radius: 12px; background: var(--ink); color: var(--paper);
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px;
}
.rc-name { font-weight: 700; font-size: 15.5px; }
.rc-cat { font-size: 13px; color: var(--muted); }
.rc-score { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px 0; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "num stars" "num count"; column-gap: 16px; align-items: center; }
.rc-num { grid-area: num; font-family: var(--font-head); font-size: 46px; font-weight: 800; letter-spacing: -2px; }
.rc-stars { grid-area: stars; color: var(--accent-strong); font-size: 19px; letter-spacing: 2px; }
.rc-count { grid-area: count; color: var(--muted); font-size: 14px; }
.rc-meta { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.rc-badge { background: var(--accent-soft); color: #2a4152; font-size: 12.5px; font-weight: 700; padding: 6px 10px; border-radius: 8px; }
.rc-badge-warm { background: var(--paper-2); color: var(--muted); font-weight: 600; }

/* ---------- sections ---------- */
.section { padding: 84px 0; }
.section-dark { background: var(--ink); color: var(--paper); }
.section-dark h2 { color: var(--paper); }
.section-sub { color: var(--muted); margin: -6px 0 40px; max-width: 560px; }
.section-sub-dark { color: #91a0aa; }
h2 { font-size: 32px; letter-spacing: -0.5px; font-weight: 800; margin-bottom: 8px; }

/* услуги — featured-блок + карточки */
.svc-featured {
  display: grid; grid-template-columns: 1.35fr 0.9fr;
  background: var(--ink); color: var(--paper); border-radius: var(--radius-lg);
  overflow: hidden; margin-bottom: 20px;
}
.svc-f-copy { padding: 36px; }
.svc-f-copy h3 { font-size: 25px; font-weight: 800; margin: 14px 0 10px; color: var(--paper); }
.svc-f-copy p { color: #91a0aa; font-size: 16px; max-width: 520px; }
.tag {
  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--muted); background: var(--paper-2); padding: 5px 10px; border-radius: 8px;
}
.tag-dark { color: #bdd8eb; background: rgba(52,109,158,0.16); }
.svc-f-list { list-style: none; margin-top: 20px; display: grid; gap: 9px; }
.svc-f-list li { color: var(--paper); font-size: 15px; padding-left: 24px; position: relative; }
.svc-f-list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 800; }
.svc-f-price {
  background: var(--ink-2); border-left: 1px solid var(--line-dark);
  padding: 36px; display: flex; flex-direction: column; gap: 16px;
}
.svc-price-line {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  border-bottom: 1px dashed var(--line-dark); padding-bottom: 14px;
}
.svc-price-name { color: #91a0aa; font-size: 14.5px; }
.svc-price-val { color: var(--paper); font-weight: 800; font-size: 22px; white-space: nowrap; }
.svc-f-price .btn { margin-top: auto; }
.svc-f-hint { color: #687b88; font-size: 13px; text-align: center; margin: 0; }

.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.svc-card {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 26px; display: flex; flex-direction: column; gap: 8px;
  transition: transform 0.15s, box-shadow 0.15s;
}
.svc-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -20px rgba(25,53,76,0.3); }
.svc-card h3 { font-size: 18px; font-weight: 800; }
.svc-card p { color: var(--muted); font-size: 15px; flex-grow: 1; }
.svc-card-price { font-weight: 800; font-size: 20px; }
.svc-card-price span { font-size: 13px; font-weight: 500; color: var(--muted); }
.svc-card-link { color: var(--accent-strong); font-weight: 700; font-size: 15px; text-decoration: none; }
.svc-card-link:hover { text-decoration: underline; }

/* гарантии — столбики с цифрами */
.section-tint { background: var(--paper-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.guar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.guar-item { border-top: 2px solid var(--ink); padding-top: 20px; }
.guar-num {
  font-family: var(--font-head);
  font-size: 44px; font-weight: 800; letter-spacing: -2px; line-height: 1;
  color: var(--ink); margin-bottom: 16px;
}
.guar-num span { font-family: var(--font); font-size: 20px; font-weight: 600; letter-spacing: 0; margin-left: 8px; color: var(--muted); }
.guar-item h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.guar-item p { color: var(--muted); font-size: 14.5px; }

/* шаги */
.steps { list-style: none; counter-reset: step; display: grid; gap: 0; }
.step {
  display: grid; grid-template-columns: 72px 1fr; gap: 24px; padding: 26px 0;
  border-bottom: 1px solid var(--line-dark);
}
.step:last-child { border-bottom: none; }
.step-num {
  width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--accent);
  color: #bdd8eb; font-weight: 800; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.step h3 { font-size: 19px; font-weight: 700; margin-bottom: 5px; color: var(--paper); }
.step p { color: #91a0aa; font-size: 15.5px; max-width: 640px; }

/* калькулятор */
.calc {
  background: var(--ink); color: var(--paper); border-radius: var(--radius-lg);
  padding: 38px 40px; max-width: 640px; margin: 0 auto;
}
.calc-embed {
  background: transparent; border-radius: 0; padding: 0; max-width: none; margin: 0;
  display: flex; flex-direction: column; gap: 14px;
}
.calc-embed .calc-top { margin-bottom: 4px; flex-direction: column; align-items: flex-start; gap: 10px; }
.calc-embed .calc-num { font-size: 44px; }
.calc-embed .calc-total { text-align: left; }
.calc-embed .calc-total-num { font-size: 26px; }
.calc-embed .calc-scale { margin: 2px 2px 4px; }
.calc-embed .calc-hint { margin: 0; text-align: left; }
.calc-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 22px; }
.calc-count { display: flex; align-items: baseline; gap: 10px; }
.calc-num { font-family: var(--font-head); font-size: 56px; font-weight: 800; letter-spacing: -2px; line-height: 1; }
.calc-unit { color: #91a0aa; font-size: 18px; }
.calc-total { text-align: right; }
.calc-total-num { font-family: var(--font-head); display: block; font-size: 28px; font-weight: 800; color: var(--accent); }
.calc-total-unit { color: #91a0aa; font-size: 13.5px; }
.calc-gift {
  display: inline-block; margin-top: 10px; padding: 7px 14px; border-radius: 999px;
  background: var(--accent-soft); color: #2a4152; font-size: 13.5px; font-weight: 700;
}
.calc-embed .calc-gift { margin-top: 0; }
.calc-range {
  -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 999px;
  background: var(--line-dark); outline: none; cursor: pointer;
}
.calc-range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%;
  background: var(--accent); border: 3px solid var(--ink-2); box-shadow: 0 0 0 2px var(--accent); cursor: grab;
}
.calc-range::-moz-range-thumb {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--accent); border: 3px solid var(--ink-2); box-shadow: 0 0 0 2px var(--accent); cursor: grab;
}
.calc-scale { display: flex; justify-content: space-between; color: #687b88; font-size: 13px; margin: 8px 2px 24px; }
.calc .btn { display: block; }
.calc-hint { color: #687b88; font-size: 13.5px; text-align: center; margin: 14px 0 0; }
.plans-note { color: var(--muted); font-size: 14.5px; margin-top: 22px; text-align: center; }

/* кейсы */
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 8px; }
.case-card {
  background: var(--ink-2); border: 1px solid var(--line-dark); border-radius: var(--radius);
  padding: 24px; display: flex; flex-direction: column; gap: 14px;
}
.case-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.case-title { font-weight: 700; font-size: 16px; color: var(--paper); }
.case-badge { font-size: 12px; font-weight: 700; color: #bdd8eb; border: 1px solid #303b42; padding: 4px 9px; border-radius: 8px; white-space: nowrap; }
.case-score { font-family: var(--font-head); font-size: 24px; font-weight: 800; letter-spacing: -0.5px; color: var(--paper); }
.case-score b { color: var(--accent); }
.case-line { color: #91a0aa; font-size: 14px; }
.cases-note { margin-top: 20px; color: #687b88; font-size: 13.5px; }

/* FAQ */
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  cursor: pointer; list-style: none; padding: 22px 0; font-weight: 700; font-size: 18px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 24px; font-weight: 500; color: var(--accent-strong); transition: transform 0.2s; flex-shrink: 0; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { color: var(--muted); padding: 0 0 22px; max-width: 620px; }

/* CTA */
.section-cta { padding: 96px 0; }
.cta-box { text-align: center; }
.cta-box h2 { font-size: 34px; }
.cta-box p { color: var(--muted); margin: 12px 0 28px; }
.cta-hint { font-size: 14px; margin-top: 18px !important; }
.cta-hint a { color: var(--muted); }

/* лид-форма */
.lead-form {
  margin: 32px 0 20px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--white); text-align: left; box-shadow: 0 18px 38px -32px rgba(25,53,76,0.45);
}
.lead-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead-form label { display: block; margin-bottom: 14px; color: var(--ink); font-size: 14px; font-weight: 700; }
.lead-form label > span { display: block; margin: 0 0 6px; }
.lead-form small { color: var(--muted); font-weight: 500; }
.lead-form input, .lead-form textarea {
  display: block; width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px;
  color: var(--ink); background: #fff; font: inherit; font-size: 16px; line-height: 1.4;
}
.lead-form textarea { resize: vertical; min-height: 92px; }
.lead-form input:focus, .lead-form textarea:focus { outline: 3px solid var(--accent-soft); border-color: var(--accent-strong); }
.form-note { font-size: 13.5px; color: var(--muted) !important; margin: 12px 0 0 !important; text-align: center; }
.form-note[data-state="error"] { color: #a32626 !important; }
.form-note[data-state="success"] { color: #276b39 !important; }
.lead-form button:disabled { opacity: 0.65; cursor: wait; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contact-btn {
  min-height: 54px; display: flex; align-items: center; justify-content: center;
  color: #fff !important; border: none; font-weight: 700;
}
.contact-btn:hover { transform: translateY(-2px); }
.ct-tg { background: #2aabee; }
.ct-mail { background: #526778; }

.mobile-cta { display: none; }

/* footer */
.site-footer { border-top: 1px solid var(--line); padding: 36px 0; background: var(--paper-2); }
.footer-inner { display: flex; flex-direction: column; gap: 6px; }
.footer-inner p { color: var(--muted); font-size: 14.5px; }
.logo-footer { margin-bottom: 8px; }
.footer-muted { font-size: 13px !important; }

/* ---------- responsive ---------- */
@media (max-width: 920px) {
  .hero-grid { grid-template-columns: 1fr; gap: 44px; }
  .hero { padding: 56px 0 48px; }
  h1 { font-size: 36px; }
  .hero-visual { order: 2; }
  .case-grid { grid-template-columns: 1fr; }
  .svc-featured { grid-template-columns: 1fr; }
  .svc-f-price { border-left: none; border-top: 1px solid var(--line-dark); }
  .guar-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .nav { display: none; position: absolute; top: 68px; left: 0; right: 0; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; padding: 16px 24px; gap: 14px; }
  .nav.open { display: flex; }
  .btn-header { display: none; }
  .burger { display: block; margin-left: auto; }
  h1 { font-size: 29px; }
  h2 { font-size: 26px; }
  .step { grid-template-columns: 52px 1fr; gap: 16px; }
  .step-num { width: 44px; height: 44px; font-size: 17px; }
  .rating-card { width: 280px; padding: 22px; }
  .hero-facts { flex-direction: column; gap: 12px; }
  .lead-form { margin-top: 26px; padding: 18px; }
  .lead-form-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .calc:not(.calc-embed) { padding: 28px 22px; }
  .calc-num { font-size: 44px; }
  .calc-total-num { font-size: 24px; }
  .svc-grid { grid-template-columns: 1fr; }
  .guar-grid { grid-template-columns: 1fr; }
  .svc-f-copy, .svc-f-price { padding: 26px; }
  .mobile-cta {
    display: block; position: fixed; z-index: 45; left: 12px; right: 12px; bottom: 12px;
    padding: 13px 16px; border-radius: 12px; background: var(--accent); color: #19354c;
    font-weight: 800; text-align: center; text-decoration: none; box-shadow: 0 12px 30px rgba(25,53,76,0.25);
  }
  .site-footer { padding-bottom: 86px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}



/* refresh.css */
/* РепуСтар: более крупная типографика, тёплый выделенный первый экран,
   ясные секции и спокойная анимация. Поверх исходного styles.css. */
:root {
  --paper:#f5f9fc; --paper-2:#eaf2f7; --ink:#19354c; --ink-2:#24465e;
  --muted:#526778; --line:#c4ced6; --line-dark:#3d4951;
  --accent:#b8d4e8; --accent-strong:#315b7a; --accent-soft:#d1dee8;
  --radius:18px; --radius-lg:24px;
}
body { font-size:18px; line-height:1.65; }
p, li, summary, .case-line, .contact-choice-copy { text-wrap:pretty; }
h1, h2, h3, .case-title, .case-score, .calc-gift { text-wrap:balance; }
.case-title { min-width:0; flex:1; }
.svc-f-copy, .svc-f-price, .svc-card, .guar-item, .case-card, .step > div { min-width:0; }
.wrap { max-width:1220px; padding:0 30px; }
.wrap-narrow { max-width:880px; }
:where(a,button,input,textarea,summary):focus-visible { outline:3px solid #40627b; outline-offset:4px; }
.site-header { background:rgba(245,249,252,.96); transition:box-shadow .35s ease,background .35s ease; }
.site-header.is-scrolled { box-shadow:0 10px 30px rgba(34,47,57,.10); background:rgba(245,249,252,.99); }
.nav a { position:relative; color:#315b7a; font-size:15px; }
.nav a::after { content:""; position:absolute; bottom:-8px; left:0; right:0; height:2px; background:var(--accent-strong); scale:0 1; transform-origin:left; transition:scale .35s cubic-bezier(.2,.7,.2,1); }
.nav a:hover::after,.nav a:focus-visible::after { scale:1 1; }
.btn { border-radius:14px; min-height:52px; padding:13px 23px; transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s ease,border-color .3s ease,box-shadow .35s ease; }
.btn:hover { transform:translateY(-3px); box-shadow:0 14px 26px -18px rgba(26,38,47,.6); }
.btn:active { transform:translateY(0) scale(.98); }
.btn-accent { background:var(--accent); color:var(--ink); }
.btn-accent:hover { background:#95b3c9; }
.btn-header { min-height:42px; padding:9px 18px; border-radius:11px; }
.btn-big { padding:16px 32px; font-size:19px; }

/* Блок решения: сохранили текст, карточку рейтинга и два действия. */
.hero { position:relative; isolation:isolate; overflow:hidden; padding:54px 0 46px; background:#e1edf6; border-bottom:1px solid #8dabc1; }
.hero::before { content:""; position:absolute; z-index:-1; width:min(72vw,900px); aspect-ratio:1; right:-20%; top:-80%; border:1px solid rgba(53,74,89,.22); border-radius:50%; pointer-events:none; }
.hero::after { content:""; position:absolute; z-index:-1; width:min(54vw,680px); aspect-ratio:1; right:-8%; top:-48%; border:1px solid rgba(53,74,89,.15); border-radius:50%; pointer-events:none; }
.hero-grid { grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr); gap:18px 42px; align-items:start; }
.hero-copy { display:contents; }
.hero .eyebrow { grid-column:1/-1; color:#273d4d; margin:0; }
.hero h1 { grid-column:1/-1; max-width:1160px; font-size:clamp(51px,5.9vw,82px); line-height:1.09; letter-spacing:-.055em; text-wrap:balance; }
.hero h1 em { color:var(--ink); text-decoration:underline; text-decoration-color:#446a85; text-decoration-thickness:.06em; text-underline-offset:.13em; }
.hero .lead { grid-column:1; grid-row:3; max-width:720px; margin:4px 0 0; color:#315b7a; font-size:20px; line-height:1.53; text-wrap:pretty; }
.hero-actions { grid-column:1; grid-row:4; margin:2px 0 0; }
.hero-actions .btn { font-size:17px; }
.hero-actions .btn-ghost { border-color:#556773; background:rgba(255,255,255,.18); }
.hero-actions .btn-ghost:hover { background:rgba(255,255,255,.55); }
.hero-visual { grid-column:2; grid-row:3/5; align-self:center; padding:0 10px; }
.rating-card { width:min(100%,340px); padding:28px; background:#ffffff; box-shadow:0 26px 60px -24px rgba(31,48,61,.32); animation:float-refined 7s ease-in-out infinite; }
@keyframes float-refined { 0%,100% { transform:rotate(1.5deg) translateY(0); } 50% { transform:rotate(1.5deg) translateY(-7px); } }
.rc-num { font-size:51px; }
.hero-facts { grid-column:1/-1; grid-row:5; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:30px 0 0; border-top:1px solid rgba(36,54,67,.35); }
.hero-facts li { min-height:66px; padding:15px 14px 0 0; margin-right:16px; color:#2c343a; font-size:15px; font-weight:650; line-height:1.4; border-right:1px solid rgba(36,54,67,.25); }
.hero-facts li:last-child { border-right:0; margin-right:0; }
.hero-facts li::before { background:#324959; flex:none; }

/* Ритм и читаемость секций. */
.section { padding:104px 0; }
.eyebrow { font-size:13px; letter-spacing:.15em; margin-bottom:14px; }
h2 { font-size:clamp(39px,4.4vw,54px); line-height:1.12; letter-spacing:-.045em; margin-bottom:18px; }
.section-sub { max-width:760px; font-size:18px; line-height:1.55; margin:0 0 40px; }
#services { background:#ffffff; }
.svc-featured { grid-template-columns:1.25fr .85fr; border-radius:24px; margin-bottom:18px; box-shadow:0 26px 48px -38px rgba(26,38,47,.65); }
.svc-f-copy,.svc-f-price { padding:44px; }
.svc-f-copy h3 { font-size:34px; line-height:1.18; margin:20px 0 14px; }
.svc-f-copy p { font-size:18px; line-height:1.55; color:#c4d7e5; }
.svc-f-list { gap:11px; margin-top:26px; }
.svc-f-list li { font-size:16px; line-height:1.45; }
.svc-f-price { background:#24465e; }
.calc-embed .calc-num { font-size:56px; }
.calc-embed .calc-total-num { font-size:31px; }
.calc-embed .calc-hint { color:#aeb9c1; }
.svc-grid,.case-grid { gap:18px; }
.svc-card { padding:32px; gap:12px; border-color:#ced7de; box-shadow:0 7px 26px -22px rgba(32,49,61,.3); transition:translate .5s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease,opacity .7s ease; }
.svc-card:hover { transform:none; translate:0 -6px; border-color:#8aa4b7; box-shadow:0 20px 36px -25px rgba(32,49,61,.42); }
.svc-card h3 { font-size:21px; line-height:1.28; }
.svc-card p { font-size:16.5px; line-height:1.6; }
.svc-card-link { margin-top:5px; color:#345165; }
.section-tint { background:#eaf2f7; border-color:#b7c4ce; }
.guar-grid { gap:16px; }
.guar-item { background:#ffffff; border:1px solid #c2ced7; border-top:3px solid #4e7089; border-radius:16px; padding:26px 24px 30px; box-shadow:0 10px 28px -24px rgba(31,43,51,.35); }
.guar-num { font-size:clamp(39px,3.6vw,54px); margin-bottom:26px; }
.guar-item h3 { font-size:19px; line-height:1.33; margin-bottom:10px; }
.guar-item p { font-size:16px; line-height:1.55; }
.section-dark { background:#19354c; }
.section-sub-dark { color:#c4d7e5; }
#how { border-bottom:1px solid #45545e; }
.steps { gap:12px; grid-auto-rows:1fr; }
.step { padding:23px 28px; grid-template-columns:60px 1fr; align-items:start; border:1px solid rgba(182,202,217,.22); border-radius:16px; background:rgba(255,255,255,.045); transition:background .3s ease,border-color .3s ease,translate .4s ease,opacity .7s ease; }
.step:last-child { border:1px solid rgba(182,202,217,.22); }
.step:hover { background:rgba(255,255,255,.09); border-color:rgba(182,202,217,.52); translate:4px 0; }
.step-num { border-color:#8bacc3; color:#bdd8eb; }
.step h3 { font-size:22px; line-height:1.3; }
.step p { color:#c4d7e5; font-size:17px; line-height:1.55; max-width:800px; }
#cases { background:#f5f9fc; color:var(--ink); }
#cases h2 { color:var(--ink); }
#cases .eyebrow { color:#345165; }
#cases .section-sub,#cases .cases-note { color:var(--muted); }
#cases .case-card { background:#ffffff; border-color:#c1cdd5; padding:29px; gap:17px; box-shadow:0 10px 30px -26px rgba(33,50,62,.36); transition:translate .45s ease,border-color .35s ease,box-shadow .35s ease,opacity .7s ease; }
#cases .case-card:hover { translate:0 -5px; border-color:#7a98ad; box-shadow:0 20px 35px -27px rgba(33,50,62,.45); }
#cases .case-title,#cases .case-score { color:var(--ink); }
#cases .case-title { font-size:17px; }
#cases .case-score { font-size:25px; line-height:1.35; }
#cases .case-score b { color:#345165; }
#cases .case-line { color:#49565f; font-size:16px; line-height:1.55; }
#cases .case-badge { color:#334e62; border-color:#aac0cf; background:#e1eaf0; }
#faq { background:#ffffff; }
.faq-item { border:1px solid #cbd4db; border-radius:14px; background:#fff; margin-bottom:10px; overflow:hidden; transition:border-color .3s ease,box-shadow .3s ease; }
.faq-item[open] { border-color:#85a0b3; box-shadow:0 12px 28px -24px rgba(32,49,61,.4); }
.faq-item summary { padding:22px 25px; font-size:19px; line-height:1.4; transition:background .3s ease; }
.faq-item summary:hover { background:#edf2f6; }
.faq-item p { max-width:none; padding:0 25px 24px; font-size:17px; line-height:1.6; animation:answer-appear .4s ease both; }
@keyframes answer-appear { from { opacity:0; translate:0 -7px; } to { opacity:1; translate:0 0; } }
.section-cta { background:#dceaf4; padding:105px 0; }
.cta-box h2 { font-size:clamp(38px,4.2vw,53px); line-height:1.16; }
.cta-box > p { max-width:760px; margin:16px auto 30px; font-size:18px; line-height:1.6; }
.lead-form { padding:34px; border-color:#b1c1cc; box-shadow:0 20px 44px -30px rgba(28,43,54,.33); }
.lead-form label { font-size:15px; }
.lead-form input,.lead-form textarea { min-height:52px; border-color:#bdc8d0; transition:border-color .25s ease,box-shadow .25s ease; }
.lead-form input:focus,.lead-form textarea:focus { outline:none; border-color:#4b7491; box-shadow:0 0 0 4px #d3dfe8; }
.contact-grid { gap:14px; }
.contact-btn:hover { transform:translateY(-3px); }
/* Two clear ways to start: leave details or initiate the conversation. */
.contact-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:30px 0 0; text-align:left; }
.contact-choice { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; min-height:112px; padding:20px 22px; color:#19354c; background:#ffffff; border:1px solid #a2b7c6; border-radius:18px; text-decoration:none; box-shadow:0 15px 32px -28px rgba(21,33,41,.45); transition:translate .3s ease,box-shadow .3s ease,border-color .3s ease; }
.contact-choice:hover { translate:0 -4px; border-color:#4f7a98; box-shadow:0 20px 32px -25px rgba(21,33,41,.45); }
.contact-choice:focus-visible { outline:3px solid #4b7491; outline-offset:3px; }
.contact-choice-num { font:700 15px 'Unbounded',sans-serif; color:#315b7a; align-self:start; margin-top:5px; }
.contact-choice-copy strong { display:block; font-size:19px; line-height:1.2; }
.contact-choice-copy small { display:block; margin-top:8px; font-size:14px; line-height:1.35; color:#4d5b65; }
.contact-choice-arrow { align-self:end; font-size:24px; line-height:1; color:#315b7a; }
.contact-choice-direct { color:#fff; background:#19354c; border-color:#19354c; }
.contact-choice-direct .contact-choice-num,.contact-choice-direct .contact-choice-arrow { color:#b8d4e8; }
.contact-choice-direct .contact-choice-copy small { color:#c4d7e5; }
.contact-path-form { margin-top:54px; text-align:left; }
.contact-path-form h3,.contact-path-direct h3 { font:700 clamp(24px,2.7vw,32px)/1.25 'Unbounded',sans-serif; letter-spacing:-.035em; }
.contact-path-form h3 { margin:0 0 10px; }
.contact-path-form > p { font-size:17px; line-height:1.55; margin:0; color:#404b52; }
.contact-path-form .lead-form { margin:24px 0 0; }
.contact-path-direct { margin-top:42px; padding:38px; text-align:left; color:#fff; background:#19354c; border-radius:20px; box-shadow:0 24px 44px -32px rgba(21,33,41,.65); }
.contact-path-num { display:block; margin-bottom:17px; color:#b8d4e8; font:700 13px 'Unbounded',sans-serif; letter-spacing:.04em; }
.contact-path-direct h3 { margin:0; }
.contact-path-direct > p { color:#d4e3ee; font-size:17px; line-height:1.55; margin:12px 0 24px; }
.contact-path-direct .contact-grid { grid-template-columns:minmax(0,1fr); }
.contact-path-direct .contact-btn { min-height:58px; padding:14px 12px; font-size:16px; line-height:1.35; text-align:center; }
.contact-path-direct .contact-mail { margin:20px 0 0; color:#c4d7e5; font-size:14px; }
.contact-mail a { color:#bdd8eb; text-underline-offset:3px; }
#leadForm,#writeDirect { scroll-margin-top:90px; }
.site-footer { background:#eaf2f7; }

/* Движение только у элементов ниже первого экрана: контент доступен без JS. */
.reveal { opacity:0; translate:0 24px; transition:opacity .72s ease,translate .72s cubic-bezier(.2,.8,.2,1); transition-delay:var(--stagger,0ms); }
.reveal.is-visible { opacity:1; translate:0 0; }
.reveal.is-visible.svc-card:hover,.reveal.is-visible.case-card:hover { translate:0 -6px; }
.reveal.is-visible.step:hover { translate:4px 0; }
@media (max-width:720px) {
  .mobile-cta { display:none; }
  .motion-on .mobile-cta { display:block; opacity:0; visibility:hidden; pointer-events:none; translate:0 14px; transition:opacity .35s ease,translate .35s ease,visibility 0s .35s; }
  .motion-on .mobile-cta.is-visible { opacity:1; visibility:visible; pointer-events:auto; translate:0 0; transition-delay:0s; }
}
.hero .eyebrow,.hero h1,.hero .lead,.hero-actions { animation:hero-enter .7s cubic-bezier(.2,.8,.2,1) both; }
.hero h1 { animation-delay:.08s; }
.hero .lead { animation-delay:.15s; }
.hero-actions { animation-delay:.21s; }
.hero-visual { animation:hero-enter .8s .3s cubic-bezier(.2,.8,.2,1) both; }
.calc-total-num.calc-pop { animation:total-bump .3s ease; }
@keyframes total-bump { 50% { scale:1.07; } }
.form-note[data-state] { animation:answer-appear .4s ease both; }
@keyframes hero-enter { from { opacity:0; translate:0 17px; } to { opacity:1; translate:0 0; } }

@media (max-width:1050px) {
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(250px,.52fr); gap:18px 22px; }
  .hero h1 { font-size:clamp(48px,6vw,70px); }
  .guar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-f-copy,.svc-f-price { padding:32px; }
}
@media (min-width:721px) and (max-width:900px) {
  .site-header .nav { display:none; position:absolute; top:68px; left:0; right:0; margin:0; background:#f5f9fc; border-bottom:1px solid var(--line); flex-direction:column; gap:14px; padding:20px 30px; }
  .site-header .nav.open { display:flex; }
  .btn-header { display:none; }
  .burger { display:block; margin-left:auto; }
}
@media (max-width:920px) {
  .hero { padding:52px 0 42px; }
  .hero-grid { display:grid; grid-template-columns:1fr; gap:20px; }
  .hero-copy { display:contents; }
  .hero .eyebrow,.hero h1,.hero .lead,.hero-actions,.hero-facts,.hero-visual { grid-column:1; grid-row:auto; }
  .hero h1 { font-size:clamp(45px,7.2vw,65px); }
  .hero .lead { max-width:760px; margin:0; }
  .hero-visual { justify-content:flex-start; padding:12px 0 0; }
  .hero-facts { order:0; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; }
  .svc-featured { grid-template-columns:1fr; }
  .svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-f-price { border-left:0; border-top:1px solid var(--line-dark); }
  .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .case-card:last-child { grid-column:1/-1; }
}
@media (max-width:720px) {
  body { font-size:16.5px; }
  .wrap { padding:0 20px; }
  .site-header .nav { background:#f5f9fc; }
  .hero { padding:38px 0 34px; }
  .hero-grid { gap:18px; }
  .hero h1 { font-size:clamp(39px,10.5vw,52px); line-height:1.11; letter-spacing:-.055em; }
  .hero .lead { font-size:17px; line-height:1.55; }
  .hero-actions { gap:10px; }
  .hero-actions .btn { width:100%; font-size:16px; }
  .hero-facts { grid-template-columns:1fr 1fr; gap:0 10px; }
  .hero-facts li { min-height:72px; margin:0; padding:13px 0; border-right:0; border-bottom:1px solid rgba(36,54,67,.2); font-size:13px; }
  .hero-visual { padding:2px 0 0; }
  .rating-card { width:290px; padding:22px; }
  .section { padding:74px 0; }
  h2 { font-size:clamp(34px,8.6vw,44px); }
  .section-sub { font-size:17px; margin-bottom:30px; }
  .svc-f-copy,.svc-f-price { padding:29px 24px; }
  .svc-f-copy h3 { font-size:28px; }
  .svc-f-copy p { font-size:17px; }
  .svc-grid,.case-grid,.guar-grid { grid-template-columns:1fr; }
  .case-card:last-child { grid-column:auto; }
  .svc-card,.guar-item,#cases .case-card { padding:27px 24px; }
  .guar-num { font-size:42px; margin-bottom:18px; }
  .step { grid-template-columns:44px 1fr; gap:15px; padding:21px 17px; }
  .step-num { width:43px; height:43px; }
  .step h3 { font-size:19px; }
  .step p { font-size:16px; }
  .faq-item summary { font-size:17px; padding:19px 18px; }
  .faq-item p { padding:0 18px 20px; font-size:16px; }
  .section-cta { padding:75px 0; }
  .cta-box h2 { font-size:36px; }
  .cta-box > p { font-size:17px; }
  .lead-form { padding:23px 18px; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .contact-choices { grid-template-columns:1fr; gap:10px; }
  .contact-choice { min-height:88px; padding:17px 18px; }
  .contact-choice-copy strong { font-size:17px; }
  .contact-path-form { margin-top:44px; }
  .contact-path-direct { padding:27px 21px; }
  .contact-path-direct .contact-grid { grid-template-columns:1fr; }
  .mobile-cta { min-height:50px; background:#b8d4e8; }
}
@media (max-width:410px) {
  .hero h1 { font-size:39px; }
  .hero-facts { grid-template-columns:1fr; }
  .hero-facts li { min-height:0; }
  .contact-grid { grid-template-columns:1fr; }
  .step { position:relative; grid-template-columns:minmax(0,1fr); }
  .step-num { position:absolute; top:21px; left:17px; }
  .step h3 { padding-left:58px; min-height:43px; margin-bottom:12px; display:flex; align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; translate:none; }
}



/* packages.css */
/* Ready-made packages: same existing warm poster palette. */
.package-section { background:#edf4f8; }
.pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.pack-card { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid #b3c2cd; border-radius:20px; background:#ffffff; }
.pack-featured { border:2px solid #4b7593; background:#edf2f6; box-shadow:0 15px 35px -25px #466c87; }
.pack-kicker,.pack-badge { align-self:start; font-size:13px; font-weight:700; min-height:28px; margin-bottom:18px; }
.pack-badge { padding:4px 10px; color:#fff; background:#355267; border-radius:6px; }
.pack-kicker { padding-top:4px; color:#53626c; }
.pack-card h3 { font-family:var(--font-head); font-size:23px; line-height:1.3; margin:0 0 17px; }
.pack-count { font-size:28px; font-weight:800; line-height:1.2; margin-bottom:20px; }
.pack-count span { font-size:17px; font-weight:500; }
.pack-price { font-size:22px; font-weight:600; line-height:1.25; margin:0 0 20px; }
.pack-price small { display:block; font-size:14px; font-weight:500; color:#54626c; margin-top:5px; }
.pack-unit { margin:0 0 22px; font-size:44px; line-height:1.15; font-weight:800; color:#19354c; }
.pack-unit small { display:block; margin-top:5px; font-size:16px; line-height:1.4; font-weight:500; }
.pack-description { font-size:16px; line-height:1.55; margin-bottom:24px; flex:1; }
.pack-card .btn { margin-top:auto; white-space:normal; }
.pack-upgrade { padding:18px 0; font-size:17px; color:#40515d; }
.pack-large { margin-top:12px; border-top:1px solid #b3c2cd; }
.pack-large-title { padding:22px 0; font-size:19px; font-weight:700; }
.pack-grid-large { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pack-grid-large .pack-card { padding:23px; }
.pack-grid-large .pack-card h3 { font-size:19px; }
.pack-grid-large .pack-price { font-size:21px; }
.pack-note { font-size:15px; color:#54626c; margin-top:22px; max-width:850px; }
.trial-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; margin-top:34px; padding:28px; border-radius:18px; background:#dceaf4; }
.trial-offer h3 { font-size:28px; line-height:1.3; margin:0 0 10px; }
.trial-offer p:not(.eyebrow) { max-width:690px; font-size:16px; line-height:1.55; }
@media(max-width:1000px) { .pack-grid-large { grid-template-columns:repeat(2,minmax(0,1fr)); } .pack-card {padding:22px;} .pack-unit {font-size:38px;} }
@media(max-width:720px) { .pack-grid,.pack-grid-large { grid-template-columns:minmax(0,1fr); } .trial-offer { grid-template-columns:minmax(0,1fr); padding:23px; } .trial-offer .btn { width:100%; white-space:normal; } .pack-card {padding:26px;} .pack-card h3 {font-size:24px;} }



/* mix.css */
/* Original Repustar editorial mix: warm palette, bold type and open layouts. */
.hero { background:#e1edf6; }
.hero h1 { font-size:clamp(51px,6.15vw,88px); }
.hero-actions .btn-accent::after { content:"↗"; margin-left:18px; font-size:21px; }
.hero-actions .btn { border-radius:9px; }
.section > .wrap > h2 { font-size:clamp(38px,4.7vw,62px); max-width:1080px; }
.section > .wrap > .eyebrow { display:flex; align-items:center; gap:16px; }
.section > .wrap > .eyebrow::after { content:""; width:52px; height:1px; background:currentColor; opacity:.45; }
.pack-card { border-radius:12px; box-shadow:none; }
.pack-featured { background:#fff; color:#19354c; border-color:#4b7593; }
.pack-featured .pack-badge { background:#b8d4e8; color:#19354c; }
.pack-featured .pack-unit { color:#19354c; }
.pack-featured .pack-price small { color:#54626c; }
.pack-grid-large .pack-card { --pack-bg:#19354c; --pack-accent:#b8d4e8; background:var(--pack-bg); color:#fff; border:1px solid var(--pack-bg); border-top:4px solid var(--pack-accent); }
.pack-grid-large .pack-unit { color:var(--pack-accent); }
.pack-grid-large .pack-unit small { color:#fff; }
.pack-grid-large .pack-kicker,.pack-grid-large .pack-price small { color:#d4e3ee; }
.pack-grid-large .btn-ghost { color:var(--pack-bg); border-color:var(--pack-accent); background:var(--pack-accent); }
.pack-grid-large .btn-ghost:hover { background:#fff; color:var(--pack-bg); border-color:#fff; }
.pack-card .btn,.trial-offer .btn { border-radius:9px; }
.trial-offer { border-radius:12px; }
.mix-situations { background:#e8edf0; border-top:1px solid #cad3d9; }
.mix-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:80px; align-items:start; }
.mix-intro { min-width:0; }
.mix-intro h2 { font-size:clamp(38px,4.55vw,62px); line-height:1.12; max-width:500px; }
.mix-intro > p:not(.eyebrow) { max-width:460px; margin:26px 0; color:#526778; font-size:18px; line-height:1.65; }
.mix-text-link { display:inline-flex; align-items:center; gap:22px; padding:12px 0; font-size:17px; font-weight:700; color:#324e62; border-bottom:1px solid #7591a5; text-decoration:none; }
.mix-text-link span { font-size:24px; transition:translate .25s ease; }
.mix-text-link:hover span { translate:3px -3px; }
.mix-list { min-width:0; }
.mix-row { border-top:1px solid #99a7b1; padding:27px 0 32px; min-width:0; }
.mix-row:last-child { border-bottom:1px solid #99a7b1; }
.mix-row-num { display:block; font-size:12px; font-weight:700; letter-spacing:.09em; color:#406178; margin-bottom:16px; }
.mix-row h3 { font-family:var(--font-head); font-size:clamp(23px,2.4vw,30px); line-height:1.28; letter-spacing:-.035em; margin:0 0 16px; }
.mix-row p { color:#526778; font-size:17px; line-height:1.65; max-width:530px; }
.mix-project { background:#19354c; color:#f5f9fc; }
.project-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:70px; align-items:center; }
.project-copy { min-width:0; }
.project-copy .eyebrow { color:#bdd8eb; }
.project-copy h2 { font-size:clamp(40px,4.8vw,65px); line-height:1.12; color:#f5f9fc; }
.project-copy h2 em { color:#b8d4e8; font-style:normal; }
.project-copy > p:not(.eyebrow) { max-width:640px; margin-top:26px; color:#cdd5db; font-size:18px; line-height:1.6; }
.project-actions { min-width:0; }
.project-primary { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; padding:22px 24px; background:#b8d4e8; color:#19354c; border-radius:10px; text-decoration:none; font-size:20px; font-weight:700; transition:background .3s ease,translate .3s ease; }
.project-primary:hover { background:#98b5ca; translate:0 -3px; }
.project-arrow { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex:none; border:1px solid #364e60; border-radius:50%; font-size:31px; font-weight:400; }
.project-telegram { display:inline-block; padding:18px 0 10px; color:#f5f9fc; font-size:16px; text-underline-offset:5px; }
.project-actions > p { color:#b0bbc3; font-size:14px; margin-top:12px; max-width:310px; }
@media(max-width:1050px) { .mix-layout {gap:45px;} .project-layout {gap:35px;} .project-primary {padding:20px;font-size:18px;} }
@media(max-width:920px) { .hero h1 {font-size:clamp(45px,7.2vw,65px);} .mix-layout,.project-layout {grid-template-columns:minmax(0,1fr);gap:38px;} .mix-intro h2 {max-width:760px;} .mix-intro > p:not(.eyebrow) {max-width:690px;} .project-actions {max-width:480px;} }
@media(max-width:720px) { .hero h1 {font-size:clamp(39px,10.5vw,52px);} .section > .wrap > h2,.mix-intro h2 {font-size:clamp(34px,8.6vw,44px);} .mix-layout {gap:28px;} .mix-row {padding:24px 0;} .mix-row h3 {font-size:24px;} .mix-row p,.mix-intro > p:not(.eyebrow) {font-size:16px;} .project-copy h2 {font-size:clamp(34px,8.6vw,44px);} .project-copy > p:not(.eyebrow) {font-size:17px;} .project-primary {font-size:17px;padding:18px;} .project-arrow {width:44px;height:44px;font-size:26px;} }
@media(max-width:410px) { .hero h1 {font-size:39px;} }
@media(prefers-reduced-motion:reduce) { .mix-text-link span,.project-primary {transition:none;} }



/* copy.css */
/* Less text, more readable line lengths; no illustrative client results. */
.hero h1 { font-size:clamp(47px,5.3vw,74px); max-width:1120px; }
.hero .lead { max-width:650px; }
.order-card { animation:none; padding:26px; width:min(100%,360px); transform:none; }
.order-kicker { color:#365469; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin:0 0 16px; }
.order-card h2 { font-size:25px; line-height:1.3; letter-spacing:-.035em; margin-bottom:22px; }
.order-card dl { margin:0; }
.order-card dl > div { padding:13px 0; border-top:1px solid #c5d0d7; }
.order-card dt { color:#526778; font-size:14px; }
.order-card dd { color:#19354c; font-size:16px; font-weight:650; margin:4px 0 0; }
.order-card > a { display:inline-block; min-height:44px; padding:14px 0 0; color:#345165; text-underline-offset:4px; font-size:15px; font-weight:700; }
.svc-card p { max-width:38ch; }
.svc-card .monitoring-title { font-size:18px; line-height:1.4; letter-spacing:-.025em; }
.monitoring-title span { display:block; }
.project-copy > p:not(.eyebrow) { max-width:42ch; }
@media(max-width:920px) { .hero h1 {font-size:clamp(42px,6.9vw,60px);} .hero-visual {width:100%;} .order-card {width:100%;max-width:500px;} .order-card dl {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;} .order-card dd {font-size:15px;} }
@media(max-width:720px) { .hero h1 {font-size:clamp(34px,8.7vw,46px);line-height:1.18;} .order-card {padding:22px;} .order-card h2 {font-size:23px;} .order-card dl {grid-template-columns:minmax(0,1fr);gap:0;} .order-card dl > div {display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:11px 0;} .order-card dt {font-size:13px;flex:none;} .order-card dd {font-size:14px;text-align:right;} }



/* proof.css */
/* Compact, source-backed text case carousel. */
.proof-section {background:#f5f9fc;padding:70px 0;border-bottom:1px solid #d3d9de;}
.proof-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;}
.proof-heading h2 {font-size:clamp(32px,4.3vw,56px);margin:0;}
.proof-heading .eyebrow {margin-bottom:12px;}
.proof-controls {display:flex;gap:14px;align-items:center;flex-shrink:0;}
.proof-controls button {width:46px;height:46px;border:1px solid #afbac2;border-radius:50%;background:transparent;font:inherit;font-size:23px;cursor:pointer;transition:background .2s;}
.proof-controls button:hover {background:#e1edf6;}
#proofCounter {font-size:14px;color:#515f69;min-width:36px;text-align:center;}
.proof-track {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;overscroll-behavior-x:contain;position:relative;}
.proof-track::-webkit-scrollbar {display:none;}
.proof-slide {flex:0 0 100%;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:38px;background:#19354c;color:#f5f9fc;scroll-snap-align:start;scroll-snap-stop:always;}
.proof-copy {min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
.proof-tag {font-size:12px;letter-spacing:.045em;text-transform:uppercase;color:#95b3c8;margin-bottom:19px;}
.proof-copy h3 {font-size:clamp(23px,2.8vw,34px);line-height:1.3;margin:0 0 12px;}
.proof-address {font-size:17px;color:#d4e3ee;margin:0 0 18px;}
.proof-link {font-size:15px;color:#bdd8eb;text-underline-offset:5px;margin-top:auto;padding:10px 0;min-height:44px;}
.proof-result {border-left:1px solid #3f4b54;padding-left:35px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;}
.proof-result strong {font-family:'Unbounded',sans-serif;font-size:80px;line-height:1.15;font-weight:700;color:#e1edf6;}
.proof-result span {font-size:16px;line-height:1.5;}
.proof-result small {font-size:13px;color:#bac7d0;}
.proof-bottom {display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:19px;}
.proof-bottom p {color:#5a6a75;font-size:13px;max-width:70ch;margin:0;}
.proof-dots {display:flex;flex-shrink:0;gap:0;}
.proof-dots button {width:44px;height:44px;border:0;background:transparent;position:relative;cursor:pointer;}
.proof-dots button:after {content:'';position:absolute;inset:17px;border-radius:50%;background:#aeb9c0;}
.proof-dots button[aria-current=true]:after {background:#3f6179;}
@media(max-width:920px) {.proof-slide {grid-template-columns:minmax(0,1fr) 230px;padding:30px;} .proof-result {padding-left:22px;}.proof-result strong {font-size:65px;}}
@media(max-width:720px) {.proof-section {padding:48px 0;} .proof-heading {align-items:flex-start;flex-direction:column;gap:18px;}.proof-heading h2 {font-size:32px;}.proof-controls {align-self:flex-end;margin-top:-4px;}.proof-slide {grid-template-columns:minmax(0,1fr);gap:18px;padding:24px;}.proof-copy h3 {font-size:24px;}.proof-tag {font-size:11px;}.proof-address {font-size:15px;}.proof-result {border-left:0;border-top:1px solid #3f4b54;padding:18px 0 0;}.proof-result strong {font-size:60px;}.proof-bottom {flex-direction:column;align-items:flex-start;gap:5px;}.proof-link {font-size:14px;}}
@media(prefers-reduced-motion:reduce) {.proof-track {scroll-behavior:auto;}}



/* reputation.css */
/* Reputation: editorial decision surface, not another card grid. */
.city-picker { flex:none; display:flex; flex-direction:column; gap:0; }
.city-picker > span { color:#55646f; font-size:10px; line-height:1.1; }
.city-picker select { max-width:164px; min-height:36px; padding:4px 20px 4px 0; background:transparent; border:0; color:#19354c; font:650 14px var(--font); cursor:pointer; }
.header-inner { gap:18px; }
.nav { gap:18px; }
#heroCity { white-space:normal; }
.hero::before,.hero::after { display:none; }
.hero-map { position:absolute; inset:-30px -8% -30px 30%; z-index:-1; pointer-events:none; color:#41657e; opacity:.36; mask-image:linear-gradient(to right,transparent,#000 48%); }
.hero-map svg { width:100%; height:100%; }
.map-streets { opacity:.42; }
.map-route { opacity:.7; animation:map-travel 25s linear infinite; }
.map-pulse { transform-box:fill-box; transform-origin:center; animation:map-pulse 5s ease-out infinite; }
.pulse-delayed { animation-delay:-2.5s; }
@keyframes map-travel { to { stroke-dashoffset:-480; } }
@keyframes map-pulse { 0% { transform:scale(.4); opacity:.8; } 85%,100% { transform:scale(2); opacity:0; } }
.reputation-section { background:#19354c; color:#f5f9fc; }
.reputation-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:28px 80px; }
.reputation-intro .eyebrow { color:#b8d4e8; }
.reputation-intro h2 { color:#f5f9fc; max-width:500px; }
.reputation-lead { max-width:390px; color:#c4d7e5; font-size:19px; line-height:1.6; margin:26px 0; }
.reputation-link { display:inline-block; min-height:44px; padding:10px 0; color:#bdd8eb; text-decoration:underline; text-underline-offset:8px; font-size:16px; font-weight:700; }
.reputation-list article { padding:25px 0; border-top:1px solid #55646f; }
.reputation-list article:first-child { padding-top:0; border:0; }
.reputation-num { display:block; color:#b8d4e8; font-size:12px; font-weight:700; letter-spacing:.07em; margin-bottom:14px; }
.reputation-list h3 { color:#f5f9fc; font-size:clamp(22px,2.1vw,27px); line-height:1.3; margin:0 0 14px; text-wrap:pretty; }
.reputation-list p { max-width:48ch; font-size:17px; line-height:1.65; color:#c4d7e5; }
.reputation-bottom { grid-column:1/-1; border-top:1px solid #55646f; padding-top:24px; font-size:15px; color:#9facb5; }
@media(max-width:1150px) { .btn-header { display:none; } .header-inner { gap:15px; } .nav { gap:16px; } }
@media(max-width:920px) { .reputation-layout { grid-template-columns:minmax(0,1fr); gap:36px; } .reputation-lead { max-width:600px; } .reputation-list article:first-child { border-top:1px solid #55646f; padding-top:25px; } }
@media(max-width:720px) { .city-picker { margin-left:auto; } .city-picker select { max-width:138px; font-size:12px; min-height:38px; } .header-inner { gap:10px; } .hero-map { left:5%; opacity:.25; } .reputation-lead { font-size:17px; } .reputation-list p { font-size:16px; } }
@media(max-width:380px) { .city-picker select { max-width:94px; } .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; } .header-inner .logo { font-size:16px; gap:4px; } .header-inner .logo-mark { width:24px; height:24px; font-size:19px; } .hero-grid { grid-template-columns:minmax(0,1fr); } .hero h1 { font-size:29px; } .hero h1 em { white-space:normal; } .hero-visual { min-width:0; } }
@media(prefers-reduced-motion:reduce) { .map-route,.map-pulse { animation:none; } .map-pulse { opacity:.35; } }



/* hero-cards.css */
/* Two-column hero: all examples visible beside the headline, no carousel. */
.hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr); gap:28px 64px; align-items:center; }
.hero-copy { display:block; grid-column:1; grid-row:1; min-width:0; }
.hero .eyebrow { margin:0 0 24px; }
.hero h1 { font-size:clamp(40px,4.1vw,57px); line-height:1.12; max-width:690px; text-wrap:pretty; }
.hero .lead { max-width:570px; margin:26px 0; font-size:18px; }
.hero-actions { margin:0; display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions .btn { padding:13px 18px; font-size:16px; }
.hero .hero-facts { grid-column:1/-1; grid-row:2; margin:10px 0 0; }
.hero .hero-examples { min-width:0; display:flex; flex-direction:column; grid-column:2; grid-row:1; padding:0; align-self:center; }
.hero-examples-note { order:2; color:#55646f; font-size:12px; margin:12px 0 0; letter-spacing:.02em; }
.hero-deck { display:grid; gap:18px; width:100%; }
.hero-deck .hero-rating { width:calc(100% - 32px); padding:20px 22px; animation:none; transform:none; border-radius:15px; box-shadow:0 18px 35px -23px rgba(31,48,61,.35); }
.hero-deck .hero-rating:nth-child(2) { margin-left:32px; }
.hero-deck .hero-rating:nth-child(3) { margin-left:10px; }
.hero-rating .rc-head { margin-bottom:12px; gap:10px; }
.hero-rating .rc-head > div:last-child { min-width:0; }
.hero-rating .rc-avatar { width:34px; height:34px; font-size:17px; flex:none; }
.hero-rating .rc-name { font-size:15px; }
.hero-rating .rc-cat { font-size:11px; line-height:1.45; margin-top:3px; }
.hero-rating .rc-score { padding:9px 0; column-gap:14px; }
.hero-rating .rc-num { font-size:36px; line-height:1.15; }
.hero-rating .rc-stars { font-size:16px; }
.hero-rating .rc-count { font-size:12px; }
.hero-rating .rc-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.hero-rating .rc-badge { font-size:10px; padding:5px 8px; white-space:normal; }
@media(max-width:1100px) and (min-width:921px) { .hero-grid { gap:26px 35px; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); } .hero h1 { font-size:43px; } .hero .eyebrow { font-size:11px; } }
@media(max-width:920px) { .hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; } .hero-copy { grid-column:1; grid-row:1; } .hero h1 { max-width:800px; font-size:clamp(38px,5.6vw,53px); } .hero .hero-examples { grid-column:1; grid-row:2; width:100%; } .hero-deck { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:stretch; } .hero-deck .hero-rating { width:100%; padding:18px 15px; margin:0; } .hero-deck .hero-rating:nth-child(2),.hero-deck .hero-rating:nth-child(3) { margin-left:0; } .hero-rating .rc-head { align-items:flex-start; } .hero-rating .rc-avatar { display:none; } .hero .hero-facts { grid-column:1; grid-row:3; } }
@media(max-width:620px) { .hero h1 { font-size:clamp(29px,7.8vw,43px); } .hero .eyebrow { font-size:11px; margin-bottom:20px; } .hero .lead { font-size:17px; margin:22px 0; } .hero-deck { grid-template-columns:minmax(0,1fr); gap:14px; } .hero-deck .hero-rating { padding:18px 20px; } .hero-rating .rc-avatar { display:flex; } .hero-rating .rc-meta { margin-top:10px; } }



/* city-picker.css */
.city-pin-picker { position:relative; display:flex; flex-direction:row; align-items:center; gap:7px; min-height:44px; color:#19354c; cursor:pointer; }
.city-pin-picker > span { color:inherit; font-size:12px; font-weight:800; line-height:1.2; text-transform:uppercase; letter-spacing:.035em; }
.city-pin { width:19px; height:23px; flex:none; }
.city-pin-picker .city-short { display:none; }
.city-pin-picker .city-chevron { font-size:17px; font-weight:500; }
.city-pin-picker select { position:absolute; inset:0; width:100%; height:100%; max-width:none; min-height:44px; opacity:0; padding:0; }
.city-pin-picker:focus-within { outline:2px solid #315b7a; outline-offset:4px; border-radius:4px; }
@media(max-width:720px) { .city-pin-picker .city-full { display:none; } .city-pin-picker .city-short { display:block; } .city-pin-picker { gap:4px; } .city-pin { width:17px; } }



/* contact-channels.css */
.site-header .header-inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; grid-template-rows:64px 38px; align-items:center; height:auto; min-height:0; gap:0 22px; }
.site-header .logo { grid-column:1; grid-row:1; white-space:nowrap; }
.site-header .quick-contacts { grid-column:3; grid-row:1; }
.site-header .city-picker { grid-column:2; grid-row:1; justify-self:start; }
.site-header .btn-header { grid-column:4; grid-row:1; }
.site-header .nav { grid-column:1 / -1; grid-row:2; display:flex; justify-content:center; align-items:center; margin:0; gap:35px; height:38px; border-top:1px solid rgba(34,47,57,.10); }
.quick-contacts { display:flex; gap:5px; }
.contact-channel { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; padding:10px; border:1px solid #bec8d0; border-radius:50%; background:#ffffff; color:#1c2125; text-decoration:none; transition:background .18s,border-color .18s,transform .18s; }
.quick-contacts .contact-channel { border-color:transparent; background:transparent; }
.contact-channel img { display:block; width:23px; height:23px; object-fit:contain; }
.contact-channel:not(:disabled):hover { background:#ccdae4; border-color:#62849d; transform:translateY(-1px); }
.contact-channel:focus-visible { outline:2px solid #315b7a; outline-offset:3px; }
.contact-channel.channel-pending { opacity:.45; cursor:default; }
#writeDirect .contact-channels { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; }
#writeDirect .contact-channel { width:52px; height:52px; padding:12px; }
#writeDirect .contact-channel img { width:26px; height:26px; }
html { scroll-padding-top:130px; }
#leadForm,#writeDirect { scroll-margin-top:135px; }
@media(max-width:1100px) { .site-header .header-inner { column-gap:14px; } .site-header .logo { font-size:21px; } .site-header .btn-header { padding:9px 12px; font-size:13px; } }
@media(max-width:920px) {
 .site-header .header-inner { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:58px 44px; column-gap:12px; }
 .site-header .logo { grid-column:1; grid-row:1; }
 .site-header .quick-contacts { grid-column:2; grid-row:1; }
 .site-header .city-picker { grid-column:1; grid-row:2; }
 .site-header .burger { display:block; grid-column:2; grid-row:2; justify-self:end; margin:0; min-width:44px; min-height:44px; }
 .site-header .btn-header { display:none; }
 .site-header .nav { position:absolute; top:100%; left:0; right:0; display:none; height:auto; padding:16px 20px; background:var(--paper,#f5f9fc); flex-direction:column; gap:15px; border-top:1px solid #bec8d0; border-bottom:1px solid #bec8d0; }
 .site-header .nav.open { display:flex; }
}
@media(max-width:420px) { .site-header .logo { font-size:18px; gap:5px; } .site-header .logo-mark { width:22px; height:26px; font-size:25px; } .site-header .header-inner { column-gap:6px; } .quick-contacts { gap:1px; } .quick-contacts .contact-channel img { width:21px; height:21px; } }
@media(max-width:350px) { .site-header .logo { font-size:14px; gap:3px; letter-spacing:-.4px; } .site-header .logo-mark { width:16px; height:24px; font-size:20px; } .quick-contacts { gap:0; } .site-header .header-inner { column-gap:3px; } }
@media(prefers-reduced-motion:reduce) { .contact-channel { transition:none; } }





/* Pastel surfaces and restrained blue controls; original composition. */
:root{--paper:#f5f9fc;--paper-2:#eaf2f7;--ink:#19354c;--ink-2:#24465e;--muted:#526778;--line:#c4d7e5;--line-dark:#507087;--accent:#346d9e;--accent-strong:#315b7a;--accent-soft:#dceaf4}
body{background:var(--paper);color:var(--ink)}
.hero{background:#e1edf6;border-color:#c4d7e5}
.hero h1 em{color:#315b7a;text-decoration-color:#9bbdd4}
.hero-map{color:#8aadc7;opacity:.32}
.hero .eyebrow{color:#315b7a}
.hero-actions .btn-ghost{border-color:#8aadc7;color:#19354c;background:rgba(255,255,255,.32)}
.btn-accent,.mobile-cta{background:#346d9e;color:#fff}
.btn-accent:hover,.mobile-cta:hover{background:#315b7a;color:#fff}
.logo-mark{width:36px;height:36px;background:transparent;overflow:hidden;border-radius:10px;margin-right:9px;padding:0;flex:none}
.logo-mark svg{display:block;width:100%;height:100%;flex:none}
.site-header .logo-mark{width:34px;height:34px}
.hero-rating .rc-stars{color:#346d9e}
.hero-rating .rc-avatar{background:#dceaf4;color:#315b7a}
.hero-rating .rc-badge,.hero-rating .rc-badge-warm{background:#eaf2f7;border-color:#c4d7e5;color:#315b7a}
.reputation-section,.section-dark,.mix-project,.contact-path-direct,.proof-slide{background:#19354c;color:#f5f9fc}
.reputation-intro .eyebrow,.reputation-num,.reputation-link,.proof-tag,.proof-result strong,.contact-path-num,.eyebrow-dark{color:#bdd8eb}
.reputation-lead,.reputation-list p,.step p,.project-copy p,.project-actions p,.proof-address{color:#c4d7e5}
.reputation-bottom{color:#b5ccdd}
.package-section{background:#edf4f8}
/* Ordinary tiers stay LIGHT, only Growth is pastel highlighted. */
.pack-grid:not(.pack-grid-large)>.pack-card{background:#fff;color:#19354c;border:1px solid #c4d7e5}
.pack-grid:not(.pack-grid-large) .pack-unit{color:#19354c}
.pack-grid:not(.pack-grid-large) .pack-unit small,.pack-grid:not(.pack-grid-large) .pack-kicker,.pack-grid:not(.pack-grid-large) .pack-price small{color:#526778}
.pack-grid:not(.pack-grid-large) .btn-ghost{background:#edf4f8;color:#315b7a;border-color:#9bbdd4}
.pack-grid:not(.pack-grid-large) .btn-ghost:hover{background:#dceaf4;color:#19354c;border-color:#8aadc7}
.pack-grid:not(.pack-grid-large)>.pack-featured{background:#d5e7f3;border:2px solid #739bb8;box-shadow:0 12px 30px -24px rgba(25,53,76,.35)}
.pack-featured .pack-badge{background:#315b7a;color:#fff}
/* Business tiers are deliberately DARK, never a shared card rule. */
.pack-grid-large>.pack-card{--pack-bg:#19354c;--pack-accent:#bdd8eb;background:var(--pack-bg);color:#fff;border:1px solid #19354c;border-top:4px solid #9bbdd4}
.pack-grid-large .pack-unit{color:#bdd8eb}
.pack-grid-large .pack-unit small,.pack-grid-large .pack-kicker,.pack-grid-large .pack-price small{color:#d4e3ee}
.pack-grid-large .btn-ghost{background:#bdd8eb;color:#19354c;border-color:#bdd8eb}
.pack-grid-large .btn-ghost:hover{background:#fff;color:#19354c;border-color:#fff}
.pack-note,.pack-upgrade{color:#526778}
.trial-offer,.section-cta{background:#dceaf4}
.svc-featured{background:#19354c}
.svc-f-price{background:#24465e}
.calc-embed .calc-total-num,.calc-embed .calc-num{color:#bdd8eb}
.calc-embed .calc-gift{background:#dceaf4;color:#19354c}
.calc-embed .calc-hint,.calc-embed .calc-unit,.calc-embed .calc-total-unit,.calc-embed .calc-scale,.svc-f-copy p{color:#c4d7e5}
.svc-f-list li::before{color:#bdd8eb}
.contact-choice-direct{background:#19354c;border-color:#19354c;color:#fff}
.contact-choice-direct .contact-choice-num,.contact-choice-direct .contact-choice-arrow{color:#bdd8eb}
.contact-path-direct>p,.contact-path-direct .contact-mail{color:#c4d7e5}
.contact-mail a{color:#bdd8eb}
.project-primary{background:#bdd8eb;color:#19354c}
.project-primary:hover{background:#dceaf4;color:#19354c}
.project-telegram{color:#bdd8eb}
.site-footer{background:#eaf2f7}
.site-footer a{color:#315b7a}
.contact-channel{background:#fff;border-color:#c4d7e5}
.contact-channel:not(:disabled):hover{background:#dceaf4;border-color:#8aadc7}
.quick-contacts .contact-channel{background:transparent;border-color:transparent}
@media(max-width:620px){#contacts .cta-box h2{font-size:clamp(22px,6.2vw,36px)}}
@media(max-width:420px){.site-header .logo{font-size:16px}.site-header .logo-mark{width:30px;height:30px;margin-right:6px}}
@media(max-width:350px){.site-header .logo{font-size:13px}.site-header .logo-mark{width:28px;height:28px;margin-right:5px}}
/* Prevent inherited nonbreaking footer chains from widening a phone preview. */
.footer-inner p{overflow-wrap:anywhere}
/* Scoped alignment fixes for hero actions and the city control. */
.hero-actions .btn{display:inline-flex;align-items:center;justify-content:center}
.city-pin-picker .city-chevron{display:block;width:12px;height:12px;flex:none}
/* A single factual order summary replaces fabricated client results. */
.hero .order-visual{grid-column:2;grid-row:1;align-self:center;min-width:0;padding:0;animation:none}
.hero .order-card{width:100%;max-width:380px;padding:28px;border:1px solid #c4d7e5;background:#f5f9fc;box-shadow:none;animation:none;transform:none}
.hero .order-card h2{font-family:var(--font);font-size:24px;line-height:1.3;letter-spacing:-.03em}
.hero .order-card dt{font-size:13px}
.hero .order-card dd{font-size:16px;line-height:1.5}
@media(max-width:920px){.hero .order-visual{grid-column:1;grid-row:2;justify-content:flex-start}.hero .order-card{max-width:none}.hero .order-card dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.hero .order-card{padding:22px}.hero .order-card dl{grid-template-columns:minmax(0,1fr)}.hero .order-card dl>div{display:block}.hero .order-card dd{text-align:left}}
