/* ============================================================
   BeautyProf · ЕДИНАЯ ДИЗАЙН-СИСТЕМА v2 (2026-11-04)
   Светлая тема: белый фон, зелёный акцент #12a34a, Inter
   Компоненты: kicker / секции / кнопки / карточки / reveal
   Используется: /company/, /delivery/, /blog/ (и далее по сайту)
   Токены совпадают с /contacts/ — визуально единый стиль.
   ============================================================ */
:root{
  --bp-green:#12a34a; --bp-green-d:#0e8a45; --bp-green-l:#18b358;
  --bp-ink:#0e1d29; --bp-ink-2:#22303f; --bp-muted:#486072; --bp-muted-2:#7d8ea0;
  --bp-line:#e4edf3; --bp-bg-soft:#f2f7fa; --bp-card:#ffffff;
  --bp-radius:20px;
}
.v2 *{ box-sizing:border-box; }
.v2{ font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:#12212e; }
.v2 .lwrap{ max-width:1180px; margin:0 auto; padding:0 20px; }
@media (min-width:1500px){ .v2 .lwrap{ max-width:1400px; } }
@media (min-width:1800px){ .v2 .lwrap{ max-width:1560px; } }
@media (min-width:2200px){ .v2 .lwrap{ max-width:1720px; } }

/* ---------- kicker / заголовки секций ---------- */
.v2 .lkicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:#12a150; margin:0 0 14px;
}
.v2 .lkicker::before{ content:""; width:30px; height:3px; border-radius:3px; background:#12a150; }
.v2 .lkicker svg{ flex:0 0 auto; }
.v2 .lsec__t{
  margin:0 0 12px; font-size:clamp(24px,3vw,34px); font-weight:800;
  letter-spacing:-.02em; line-height:1.15; color:#0e1d29;
}
.v2 .lsec__d{ margin:0; font-size:15.5px; line-height:1.65; color:#486072; }

/* ---------- hero страниц ---------- */
.v2 .lhero{
  background:linear-gradient(180deg,#f4f9fc, #ffffff);
  padding:clamp(40px,6vw,72px) 0 clamp(36px,5vw,56px);
}
.v2 .lhero__title{
  margin:0 0 16px; font-size:clamp(30px,4.4vw,50px); font-weight:800;
  letter-spacing:-.025em; line-height:1.1; color:#0e1d29;
}
.v2 .lhero__title em{ font-style:normal; color:#12a150; }
.v2 .lhero__lead{ margin:0 0 24px; max-width:640px; font-size:clamp(15px,1.5vw,17.5px); line-height:1.65; color:#486072; }

/* ---------- кнопки ---------- */
.v2 .lbtn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:14px;
  font-size:16px; font-weight:700; line-height:1; text-decoration:none;
  transition:transform .2s ease, box-shadow .25s ease;
  position:relative; overflow:hidden;
}
.v2 .lbtn:hover{ transform:translateY(-2px); }
.v2 .lbtn:active{ transform:translateY(1px); }
.v2 .lbtn--green{
  background:linear-gradient(180deg,#1cb45c,#128c45); color:#fff !important;
  box-shadow:0 12px 26px -10px rgba(18,161,80,.55);
}
.v2 .lbtn--green:hover{ box-shadow:0 16px 32px -10px rgba(18,161,80,.65); }
.v2 .lbtn--white{
  background:#fff; color:#12212e !important; border:1px solid #dbe6ee;
  box-shadow:0 8px 20px -12px rgba(16,24,40,.25);
}
.v2 .lbtn--white:hover{ border-color:#12a150; color:#0e8a45 !important; }
.v2 .lbtn--sm{ padding:11px 18px; font-size:14px; border-radius:11px; }

/* ---------- карточки ---------- */
.v2 .lcard{
  position:relative; background:#fff; border:1px solid #e4edf3; border-radius:20px;
  padding:24px; overflow:visible;
  transition:transform .25s ease, box-shadow .3s ease, border-color .3s ease;
}
.v2 a.lcard{ display:flex; flex-direction:column; text-decoration:none; color:#12212e; }
.v2 .lcard:hover{ transform:translateY(-4px); box-shadow:0 22px 46px -20px rgba(16,24,40,.22); border-color:#cfe3ee; }
.v2 .lcard__head{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin-bottom:10px; color:#0e1d29; }
.v2 .lcard__row{ font-size:14.5px; line-height:1.55; color:#22303f; margin-bottom:8px; }
.v2 .lcard__row--muted{ color:#7d8ea0; font-size:13.5px; }
.v2 .licon{
  width:48px; height:48px; border-radius:13px; display:inline-flex;
  align-items:center; justify-content:center; margin-bottom:14px;
  background:#eef6f1; color:#0e8a45;
}
.v2 .llink{
  display:inline-flex; align-items:center; gap:7px;
  font-size:14.5px; font-weight:700; text-decoration:none;
}
.v2 .llink--green{ color:#0e8a45; margin-top:10px; }
.v2 .llink--green:hover{ color:#12a150; }
.v2 .llink--tel{ color:#0e1d29; font-size:16px; font-weight:700; padding:2px 0; }
.v2 .llink--tel:hover{ color:#0e8a45; }
.v2 .lcard__list{ display:flex; flex-direction:column; gap:4px; margin-top:6px; }

/* ---------- reveal ---------- */
.v2 .reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.v2 .reveal.rv-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .v2 .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- доступность и мелочи ---------- */
.v2 a:focus-visible, .v2 button:focus-visible{
  outline:3px solid rgba(24,179,88,.5); outline-offset:2px; border-radius:8px;
}
[id^="subscibe-coupon-"]{ display:none !important; } /* куплен отдельно на каждой странице */

/* сетки страниц */
.v2 .lgrid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.v2 .lgrid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (max-width:1000px){
  .v2 .lgrid-3{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px){
  .v2 .lgrid-3, .v2 .lgrid-2{ grid-template-columns:1fr; }
}

/* гарантия отсутствия горизонтального скролла (мобильные меню темы и пр.) */
html, body{ overflow-x:hidden; }
