/* ScreenLab — contrast direction, September 2026. */
:root {
  --bg-alt:#e2e6ea;
  --surface2:#eef0f2;
  --text:#111318;
  --muted:#505863;
  --border:#c5cbd2;
  --border-light:#d4d9df;
  --navy:#20232b;
  --navy2:#15171d;
  --navy-lt:#e4e7eb;
  --violet:#4a3567;
  --violet-lt:#eee9f3;
  --accent-lt:#fff0e7;
  --shadow:0 8px 24px rgba(18,21,27,.08);
  --shadow-md:0 18px 45px rgba(18,21,27,.15);
}

/* A dark masthead creates a clear first beat before the white hero. */
.site-header {
  background:rgba(20,22,28,.97);
  border-bottom:1px solid #343841;
  box-shadow:0 8px 26px rgba(14,16,21,.16);
}
.site-header .brand { color:#fff; }
.site-header .brand:hover { color:#fff; }
.site-header .brand__descriptor { color:#aeb4bd; }
.site-header .nav__link { color:#eef0f3; border-bottom-color:transparent; }
.site-header .nav__link:hover,
.site-header .nav__link--active { color:#fff; border-bottom-color:var(--accent); }
.site-header .link-phone { color:#fff; }
.site-header .link-phone:hover { color:#ff8a51; }
.site-header .burger { border-color:#555b65; background:#24272e; }
.site-header .burger span { background:#fff; }
.mobile-nav { background:#191b21; border-bottom-color:#3a3e47; }
.mobile-nav__link { color:#f2f3f5; border-bottom-color:#343840; }
.mobile-nav__link:hover { color:#fff; background:#24272e; }

/* Hero: white editorial field against a denser technical specimen frame. */
.hero { background:#fff; border-bottom-color:#aeb5bd; }
.hero__container { min-height:640px; }
.hero__title { color:#0b0d11; font-weight:800; }
.hero__lead { color:#48505b; }
.hero__decor {
  border:1px solid #939ba6;
  background-color:#e5e2e9;
  background-image:
    linear-gradient(90deg,rgba(91,75,111,.2) 1px,transparent 1px),
    linear-gradient(rgba(91,75,111,.2) 1px,transparent 1px),
    linear-gradient(135deg,rgba(255,255,255,.58),rgba(225,216,232,.28));
  background-size:48px 48px,48px 48px,100% 100%;
  box-shadow:10px 10px 0 #1a1d23;
}
.hero__caption {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:9px;
  margin:30px -16px 0;
  width:calc(100% + 32px);
  padding:17px 18px 16px;
  border-top:1px solid #8f98a3;
  background:rgba(255,255,255,.86);
  color:#252a32;
  line-height:1.25;
  text-align:left;
}
.hero__caption-flow {
  display:block;
  font-family:var(--mono);
  font-size:clamp(12px,1vw,14px);
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero__caption strong {
  display:block;
  color:#080a0e;
  font-family:var(--font);
  font-size:clamp(21px,2vw,27px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.035em;
  text-transform:none;
}
.trust-badges { gap:7px; }
.trust-badges li {
  padding:7px 10px;
  color:#252a31;
  background:#eef0f2;
  border:1px solid #d2d7dc;
  border-radius:3px;
  font-weight:600;
}
.trust-badges li:first-child { padding-left:10px; }
.trust-badges li:last-child { border-right:1px solid #d2d7dc; }

/* Section rhythm and visible hierarchy. */
.section--alt { background:#e2e6ea; }
.home-section { overflow:hidden; }
.home-section::after {
  content:attr(data-section);
  position:absolute;
  top:26px;
  right:max(24px,calc((100vw - 1200px)/2));
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  color:#7c858f;
}
.home-section--process::after,
.home-section--expert::after,
.home-section--cta::after { color:#8f949d; }
.section__title { color:#101217; font-weight:780; }
.section__subtitle { color:#515965; }
.stripe { width:46px; height:4px; background:var(--accent); }

/* Problem cards: strong objects on a real gray field. */
.home-section--pain { background:#dfe3e7; }
.home-section--pain .card {
  background:#fff;
  border:1px solid #b9c0c8;
  border-top:4px solid #1d2027;
  box-shadow:0 12px 30px rgba(22,25,31,.1);
}
.home-section--pain .card__icon {
  width:42px;
  height:42px;
  padding:9px;
  color:#fff;
  background:#20232a;
  border-radius:4px;
}
.home-section--pain .card__num { font-size:20px; font-weight:700; color:var(--accent); }
.home-section--pain .card__title { font-size:20px; font-weight:720; }
.pain-resolve {
  color:#fff;
  background:#1a1d23;
  border:1px solid #1a1d23;
  border-left:5px solid var(--accent);
  box-shadow:0 14px 34px rgba(22,25,31,.14);
}
.pain-resolve__title { color:#fff; font-size:20px; font-weight:700; }
.pain-resolve__list { color:#c6cbd2; }

/* Comparison: keep the result column visibly dominant. */
.home-section--compare { background:#fff; }
.compare-v2 { border:1px solid #aeb5bd; box-shadow:0 12px 28px rgba(22,25,31,.1); }
.compare-v2__row:nth-child(even) .compare-v2__cell--criteria { background:#edf0f3; }
.compare-v2__cell--notary { background:#e5e8ec; color:#444b55; }
.compare-v2__row:nth-child(even) .compare-v2__cell--notary { background:#dce1e5; }
.compare-v2__cell--expert { background:#fff0e6; border-left:2px solid #e7a77e; }
.compare-v2__row:nth-child(even) .compare-v2__cell--expert { background:#ffe8d9; }

/* Four compact stages replace the oversized vertical timeline. */
.home-section--process {
  padding:62px 0 66px;
  color:#fff;
  background-color:#191c22;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;
}
.home-section--process .section__title { color:#fff; }
.home-section--process .section__subtitle { color:#b6bcc5; margin-bottom:26px; }
.home-section--process .process-flow {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid #555b65;
}
.home-section--process .process-step {
  display:block;
  min-width:0;
  padding:26px 24px 0 0;
  margin-right:22px;
  border:0;
}
.home-section--process .process-step::before { display:none; }
.home-section--process .process-step__left { display:block; }
.home-section--process .process-step__connector { display:none; }
.home-section--process .process-step__num {
  width:40px;
  height:40px;
  margin-bottom:18px;
  color:#121419;
  background:var(--accent);
  border:0;
  border-radius:3px;
  box-shadow:none;
  font-size:14px;
  font-weight:800;
}
.home-section--process .process-step__body { padding:0; }
.home-section--process .process-step__icon {
  width:34px;
  height:34px;
  margin-bottom:12px;
  color:#ff8d55;
  background:#292d35;
  border:1px solid #454b55;
  border-radius:3px;
}
.home-section--process .process-step__icon svg { width:17px; height:17px; stroke:currentColor; }
.home-section--process .process-step__title { color:#fff; font-size:17px; font-weight:700; }
.home-section--process .process-step__text { color:#aeb5bf; font-size:13px; line-height:1.65; }
.home-section--process .process-step__badge {
  padding:0;
  color:#ff8b52;
  background:transparent;
  font-size:11px;
  font-weight:600;
}

/* Services use warmer paper and one restrained violet signal. */
.home-section--services { background:#f1ede8; }
.home-section--services .service-card,
.home-section--services .mini-card {
  border-color:#bfc4ca;
  box-shadow:0 12px 30px rgba(25,27,34,.09);
}
.home-section--services .service-card--featured { background:#fff7f1; }
.home-section--services .service-card:not(.service-card--featured)::before { background:var(--violet); }
.home-section--services .service-card:not(.service-card--featured) .service-card__ico {
  color:#fff;
  background:var(--violet);
  border-color:var(--violet);
}
.home-section--services .mini-card { background:#fff; }
.home-section--services .mini-card:nth-child(n) { border-top-color:var(--violet); }
.home-section--services .mini-card:nth-child(n) .mini-card__icon {
  color:#fff;
  background:var(--violet);
}
.home-section--services .mini-card:first-child { border-top-color:var(--accent); }
.home-section--services .mini-card:first-child .mini-card__icon { background:var(--accent); }

/* Expert block becomes a feature rather than another pale section. */
.home-section--expert {
  color:#fff;
  background-color:#24202b;
  background-image:
    linear-gradient(120deg,rgba(74,53,103,.38),transparent 48%),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:100% 100%,64px 64px;
}
.home-section--expert .section__title { color:#fff; }
.home-section--expert .section__subtitle { color:#c5c3ca; }
.home-section--expert .authority { gap:34px; }
.home-section--expert .authority__person {
  align-items:stretch;
  padding:22px;
  color:#15171b;
  background:#f4f0ec;
  border:1px solid #fff;
  border-radius:6px;
  box-shadow:9px 9px 0 var(--accent);
}
.home-section--expert .authority__avatar {
  width:164px;
  height:164px;
  padding:0;
  background:#d9dde2;
  border:0;
  border-radius:3px;
  box-shadow:none;
}
.home-section--expert .authority__photo { border-radius:3px; }
.home-section--expert .authority__name { font-size:23px; font-weight:750; }
.home-section--expert .authority__role { color:var(--violet); font-size:12px; }
.home-section--expert .authority__bio { color:#4f5660; max-width:620px; }
.home-section--expert .law-badges li {
  color:#d5d3d8;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  border-left:3px solid var(--accent);
}
.home-section--expert .authority__stats { gap:10px; }
.home-section--expert .stat {
  color:#fff;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.home-section--expert .stat:first-child { color:#14161b; background:var(--accent); border-color:var(--accent); }
.home-section--expert .stat__value { color:inherit; font-size:48px; font-weight:750; }
.home-section--expert .stat__label { color:#c5c9d0; }
.home-section--expert .stat:first-child .stat__label { color:#30231d; }

/* Forms and calculators read as substantial working panels. */
.home-section--lead { background:#fff; }
.home-section--lead .lead-form {
  padding:34px;
  background:#f1f3f5;
  border:1px solid #b8bfc7;
  box-shadow:0 16px 38px rgba(22,25,31,.14);
}
.home-section--calc { background:#dfe3e7; }
.home-section--calc .calc { border-color:#aeb6bf; box-shadow:0 16px 38px rgba(22,25,31,.14); }
.calc-card.active { border-color:var(--accent); box-shadow:inset 0 -3px 0 var(--accent); }
.calc-result { box-shadow:0 10px 24px rgba(22,25,31,.2); }
.home-section--pricing { background:#fff; }
.price-card { border-color:#bfc5cc; box-shadow:0 10px 28px rgba(20,23,29,.08); }
.price-card--accent { border:2px solid #1d2026; box-shadow:0 14px 30px rgba(22,25,31,.14); }
.price-card__price strong { color:#191c22; }
.price-card--accent .price-card__price strong { color:var(--accent); }
.home-section--cases { background:#e2e6ea; }
.home-section--cases .case-card { border-color:#b8bfc7; box-shadow:0 10px 24px rgba(20,23,29,.075); }
.home-section--cases .case-card__outcome { padding-top:10px; border-top:1px solid #d3d7dc; }
.home-section--faq { background:#fff; }
.home-section--faq .faq__item { border-color:#bec4cb; }
.home-section--faq .faq__item[open] { box-shadow:0 8px 18px rgba(22,25,31,.09); }
.home-section--cta {
  color:#fff;
  background:#20232a;
  border-top:5px solid var(--accent);
}
.home-section--cta .section__title { color:#fff; }
.home-section--cta .section__subtitle { color:#c4c9d0; }
.home-section--cta .lead-form { background:#fff; border-color:#fff; box-shadow:0 16px 36px rgba(0,0,0,.22); }

/* Secondary pages inherit the same stronger materials. */
.service-hero { border-bottom-color:#b8bfc7; }
.service-price-panel,.rekvizity-card { border-color:#b5bcc4; box-shadow:0 12px 30px rgba(22,25,31,.1); }
.article-hero { background:#e1e5e9; border-bottom-color:#aeb5bd; }
.article-hero__img { border-color:#aab1ba; box-shadow:0 12px 28px rgba(22,25,31,.15); }
.blog-card,.case-card,.why-card { border-color:#bcc3ca; }
.article-content .article-cta { border-left:5px solid var(--accent); box-shadow:0 12px 28px rgba(22,25,31,.1); }

@media (min-width:901px) {
  .home-section--expert .authority { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); align-items:stretch; }
  .home-section--expert .authority__stats { grid-template-rows:repeat(3,1fr); }
  .home-section--expert .stat { display:flex; flex-direction:column; justify-content:center; padding:20px 24px; }
}

@media (max-width:900px) {
  .hero__decor {
    display:flex;
    width:min(100%,620px);
    min-height:290px;
    max-height:none;
    margin-top:4px;
    padding:18px 14px 0;
    box-shadow:6px 6px 0 #1a1d23;
  }
  .hero__mascot { max-height:235px; }
  .hero__caption { width:calc(100% + 28px); margin:18px -14px 0; padding:13px 14px 12px; gap:6px; }
  .home-section--process .process-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-section--process .process-step { padding-bottom:20px; }
  .home-section--expert .authority { display:flex; flex-direction:column; }
  .home-section--expert .authority__stats { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:none; }
}

/* Keep the full desktop header only where all three groups have breathing room. */
@media (min-width:1101px) and (max-width:1180px) {
  .site-header .nav,
  .site-header .header__actions { display:none; }
  .site-header .burger { display:flex; }
  .site-header .mobile-nav:not([hidden]) {
    display:flex !important;
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
  }
  .site-header .mobile-nav[hidden] { display:none !important; }
}

@media (max-width:600px) {
  .home-section::after { top:18px; right:18px; font-size:9px; }
  .hero__caption-flow { font-size:11px; }
  .hero__decor { min-height:245px; max-height:none; }
  .hero__mascot { max-height:185px; }
  .hero__caption strong { font-size:20px; }
  .home-section--process { padding:48px 0; }
  .home-section--process .section__subtitle { margin-bottom:20px; }
  .home-section--process .process-flow { grid-template-columns:1fr; }
  .home-section--process .process-step {
    display:grid;
    grid-template-columns:44px 1fr;
    gap:0 14px;
    margin:0;
    padding:16px 0;
    border-bottom:1px solid #3c414a;
  }
  .home-section--process .process-step:last-child { border-bottom:0; }
  .home-section--process .process-step__left { grid-row:1; grid-column:1; }
  .home-section--process .process-step__num { width:36px; height:36px; margin:0; }
  .home-section--process .process-step__body { grid-row:1; grid-column:2; }
  .home-section--process .process-step__icon { display:none; }
  .home-section--process .process-step__text { margin-top:4px; }
  .home-section--process .process-step__badge { display:none; }
  .home-section--expert .authority__person { align-items:center; padding:17px; box-shadow:6px 6px 0 var(--accent); }
  .home-section--expert .authority__avatar { width:88px; height:110px; }
  .home-section--expert .authority__name { font-size:18px; }
  .home-section--expert .authority__role { font-size:10px; }
  .home-section--expert .authority__bio { font-size:13px; line-height:1.55; }
  .home-section--expert .authority__stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .home-section--expert .stat { min-width:0; padding:13px 8px; text-align:center; }
  .home-section--expert .stat__value { font-size:26px; }
  .home-section--expert .stat__label { font-size:10px; line-height:1.3; }
  .home-section--lead .lead-form { padding:22px; }
}

@media (max-width:430px) {
  .hero__decor { min-height:220px; max-height:none; }
  .hero__mascot { max-height:155px; }
  .hero__caption { margin-top:13px; gap:5px; }
  .hero__caption-flow { font-size:10px; }
  .hero__caption strong { font-size:18px; }
  .home-section--expert .authority__person { align-items:flex-start; }
  .home-section--expert .authority__avatar { width:76px; height:96px; }
  .home-section--expert .authority__bio { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .home-section .card,.home-section .service-card,.home-section .mini-card { transition:none; }
}
