/* ============================================================
   А-Профи — лендинг. Стили (перенос из дизайн-референса)
   ============================================================ */

/* ---------- Шрифты ---------- */
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-SemiBold.woff2") format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-ExtraBold.woff2") format("woff2"); font-weight:800; font-display:swap; }

/* ---------- База ---------- */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:"Montserrat", sans-serif;
  color:#1A1A1A;
  background:#FFFFFF;
  overflow-x:hidden;
  position:relative;
}

@keyframes apMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes apRunLine { 0% { transform:translateX(-120%); } 100% { transform:translateX(340%); } }

.ap-mqrow:hover .ap-mqtrack { animation-play-state:paused; }
@media (prefers-reduced-motion: reduce) {
  .ap-runline { display:none !important; }
  .ap-mqtrack { animation:none !important; }
}

/* ---------- Reveal ---------- */
.js [data-reveal] {
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);
}
.js [data-reveal].is-visible { opacity:1; transform:none; }

/* ---------- Общее ---------- */
.container { max-width:1240px; margin:0 auto; }
.section { padding:clamp(72px, 9vw, 120px) 24px; }
.section--white { background:#fff; }
.section--gray { background:#F4F4F4; }
.section--dark { background:#141414; color:#fff; }

.kicker { font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; }
.kicker--light { color:#8A8A8A; }
.kicker--dark { color:#9A9A9A; }

.h2 { font-size:clamp(2rem,4.6vw,3.7rem); font-weight:800; line-height:0.98; letter-spacing:-0.02em; text-transform:uppercase; margin:16px 0 0; }
.h2--md { font-size:clamp(2rem,4.4vw,3.4rem); }
.h2 .dash { color:#AA0707; }

.sechead { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; }
.sechead--lg { margin-bottom:48px; }

.btn {
  display:inline-flex; align-items:center; gap:9px;
  text-decoration:none; border-radius:999px; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700;
  letter-spacing:0.03em; text-transform:uppercase; border:none;
}
.btn--red { background:#AA0707; color:#fff; transition:background .2s, transform .12s; }
.btn--red:hover { background:#8A0505; }
.btn--red:active { transform:translateY(1px); }

/* ---------- Топбар ---------- */
.topbar {
  position:fixed; top:0; left:0; right:0; z-index:60;
  background:rgba(20,20,20,0.92);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:box-shadow .3s ease;
}
.topbar.scrolled { box-shadow:0 6px 28px rgba(0,0,0,0.35); }
.topbar__in { max-width:1240px; margin:0 auto; padding:0 24px; height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topbar__logo { display:flex; align-items:center; flex-shrink:0; }
.topbar__logo img { height:30px; width:auto; display:block; }
.ap-desknav { display:flex; align-items:center; gap:34px; }
.ap-desknav a { color:#EDEDED; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; transition:color .2s; }
.ap-desknav a:hover { color:#FFFFFF; }
.ap-deskcta { display:flex; align-items:center; gap:18px; flex-shrink:0; }
.topbar__phone { color:#FFFFFF; text-decoration:none; font-size:14px; font-weight:700; letter-spacing:0.02em; white-space:nowrap; }
.topbar__cta { padding:11px 20px; }
.topbar__cta span { font-size:15px; }
.ap-mobilecall { display:none; width:42px; height:42px; border-radius:50%; background:#AA0707; color:#fff; align-items:center; justify-content:center; text-decoration:none; flex-shrink:0; margin-left:auto; }
.ap-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.ap-burger span { width:24px; height:2px; background:#fff; display:block; }
.mobile-nav { display:none; background:#141414; border-top:1px solid #2A2A2A; padding:18px 24px 26px; flex-direction:column; gap:4px; }
.mobile-nav.open { display:flex; }
.mobile-nav a { color:#EDEDED; text-decoration:none; font-size:15px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; padding:12px 0; border-bottom:1px solid #242424; }
.mobile-nav a:last-of-type { border-bottom:none; }
.mobile-nav .mobile-nav__cta { margin-top:14px; text-align:center; justify-content:center; background:#AA0707; color:#fff; padding:14px; border-radius:999px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; border-bottom:none; display:block; }

/* ---------- Hero ---------- */
.hero { background:#0E0E0E; color:#fff; padding:120px 24px 0; position:relative; overflow:hidden; }
.gradient-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; }
.hero__scrim { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(14,14,14,0.94) 0%, rgba(14,14,14,0.72) 32%, rgba(14,14,14,0.28) 62%, rgba(14,14,14,0.05) 100%); }
.hero__in { position:relative; z-index:2; max-width:1240px; margin:0 auto; }
.ap-herogrid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:end; padding:56px 0 0; }
.hero__left { padding-bottom:64px; }
.hero__kickrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:30px; }
.hero__kickline { width:34px; height:1px; background:#C72121; display:block; }
.hero__kicker { font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:#E2A0A0; }
.hero__h1 { font-size:clamp(2.1rem,5vw,4.6rem); font-weight:800; line-height:0.98; letter-spacing:-0.02em; text-transform:uppercase; margin:0; }
.hero__h1 .accent { color:#E24A4A; }
.hero__right { padding-bottom:70px; }
.hero__lead { margin:0; max-width:440px; font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.62; color:#D4D4D4; font-weight:500; }
.hero__lead strong { color:#fff; font-weight:700; }
.hero__tagline { margin:24px 0 0; max-width:440px; padding-left:18px; border-left:2px solid #AA0707; font-size:clamp(1.05rem,1.4vw,1.28rem); line-height:1.4; color:#fff; font-weight:600; }
.hero__btns { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.hero__btn-primary { padding:16px 28px; font-size:14px; box-shadow:0 10px 28px rgba(170,7,7,0.4); }
.hero__btn-primary span { font-size:16px; }
.hero__btn-ghost { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.04); color:#fff; text-decoration:none; padding:16px 28px; border-radius:999px; border:1px solid rgba(255,255,255,0.28); font-size:14px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; transition:border-color .2s, background .2s; }
.hero__btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,0.1); }
.ap-herostats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,0.16); margin-top:8px; }
.stat { padding:28px 8px 40px; }
.stat--mid { border-left:1px solid rgba(255,255,255,0.16); border-right:1px solid rgba(255,255,255,0.16); }
.stat__num { font-size:clamp(2.4rem,4vw,3.4rem); font-weight:800; line-height:1; letter-spacing:-0.02em; }
.stat__num .accent { color:#E24A4A; }
.stat__num .inf { display:inline-block; transform:scale(1.66); transform-origin:0 50%; }
.stat__label { font-size:13px; color:#B0B0B0; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; margin-top:8px; }

/* ---------- Бегущая строка ---------- */
.ap-mqrow { background:#0C0C0C; color:#fff; overflow:hidden; padding:17px 0; white-space:nowrap; border-top:1px solid #1F1F1F; border-bottom:1px solid #1F1F1F; }
.ap-mqtrack { display:inline-flex; gap:0; animation:apMarquee 34s linear infinite; will-change:transform; }
.mq__group { display:inline-flex; align-items:center; gap:0; }
.mq__item { display:inline-flex; align-items:center; gap:12px; padding:0 34px; font-size:clamp(0.95rem,1.6vw,1.35rem); font-weight:800; text-transform:uppercase; letter-spacing:0.03em; color:#fff; white-space:nowrap; }

/* ---------- (01) Услуги ---------- */
.svc__pricebtn { display:inline-flex; align-items:center; gap:9px; color:#1A1A1A; text-decoration:none; padding:13px 22px; border-radius:999px; border:1px solid #1A1A1A; font-size:13px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; transition:background .2s, color .2s; }
.svc__pricebtn:hover { background:#1A1A1A; color:#fff; }
.svc__list { border-top:1px solid #E4E4E4; border-bottom:1px solid #E4E4E4; }
.ap-srow { display:grid; grid-template-columns:64px 1fr auto 40px; align-items:center; gap:24px; padding:30px 20px; border-bottom:1px solid #E4E4E4; text-decoration:none; color:#1A1A1A; background:#fff; cursor:pointer; transition:background .25s ease, color .25s ease, padding .25s ease; }
.ap-srow:last-child { border-bottom:none; }
.ap-srow:hover { background:#F6F5F3; padding-left:36px; }
.ap-srow:hover .ap-srowarrow { color:#AA0707; }
.ap-srownum { font-size:13px; font-weight:800; color:inherit; opacity:.45; font-variant-numeric:tabular-nums; }
.ap-srowmain { display:flex; flex-direction:column; gap:7px; }
.ap-srowtitle { font-size:clamp(1.15rem,2.3vw,1.75rem); font-weight:700; text-transform:uppercase; line-height:1.05; color:inherit; }
.ap-srowdesc { font-size:13.5px; line-height:1.5; color:inherit; opacity:.7; max-width:560px; font-weight:500; }
.ap-srowprice { font-size:clamp(1rem,1.6vw,1.25rem); font-weight:800; color:inherit; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ap-srowarrow { font-size:20px; color:inherit; text-align:right; }
.svc__note { margin:16px 0 0; font-size:12.5px; line-height:1.5; color:#8A8A8A; font-weight:500; }

/* ---------- (02) Обо мне ---------- */
.ap-aboutgrid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start; }
.about__photowrap { position:relative; }
.about__photo { border-radius:20px; overflow:hidden; aspect-ratio:4/5; background:#ddd; }
.about__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.about__badge { position:absolute; right:-12px; bottom:24px; background:#141414; color:#fff; border-radius:16px; padding:16px 20px; display:flex; align-items:center; gap:14px; box-shadow:0 16px 40px rgba(0,0,0,0.25); }
.about__badge-circle { width:46px; height:46px; border-radius:50%; background:#AA0707; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.about__badge-text { display:flex; flex-direction:column; }
.about__badge-text strong { font-size:14px; font-weight:700; }
.about__badge-text small { font-size:11.5px; color:#9A9A9A; }
.about__h2 { margin:16px 0 24px; }
.about__text { font-size:clamp(1rem,1.25vw,1.18rem); line-height:1.62; color:#3A3A3A; font-weight:500; margin:0; max-width:620px; }
.about__text strong { font-weight:700; color:#1A1A1A; }
.ap-teamgrid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:34px; }
.team__card { background:#fff; border-radius:14px; padding:22px; border:1px solid #E8E8E8; }
.team__role { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#AA0707; }
.team__name { font-size:16px; font-weight:700; margin:8px 0 4px; }
.team__desc { font-size:13px; line-height:1.5; color:#6B6B6B; font-weight:500; }
.about__quote { margin:34px 0 0; padding:28px 32px; background:#141414; color:#fff; border-radius:18px; }
.about__quote p { font-size:clamp(1.1rem,1.7vw,1.45rem); line-height:1.4; font-weight:700; margin:0; letter-spacing:-0.01em; }
.about__quote cite { display:block; margin-top:16px; font-size:13px; font-style:normal; color:#9A9A9A; font-weight:600; }

/* ---------- (03) Сравнение ---------- */
.cmp__head { max-width:760px; margin:0 auto 48px; text-align:center; }
.cmp__head .h2 { margin:16px 0 18px; }
.cmp__sub { font-size:clamp(0.98rem,1.2vw,1.12rem); line-height:1.6; color:#6B6B6B; font-weight:500; margin:0; }
.ap-comparegrid { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:18px; align-items:stretch; }
.cmp__card { background:#F4F4F4; border-radius:20px; padding:32px 28px; display:flex; flex-direction:column; }
.cmp__row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.cmp__name { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:#6B6B6B; }
.cmp__price { font-size:15px; font-weight:800; color:#1A1A1A; white-space:nowrap; }
.cmp__tag { font-size:13px; color:#8A8A8A; font-weight:600; margin-bottom:18px; }
.cmp__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.cmp__list li { font-size:14px; line-height:1.4; color:#3A3A3A; padding-left:26px; position:relative; }
.cmp__list li.muted { color:#9A9A9A; }
.cmp__list li > span { position:absolute; left:0; font-weight:800; }
.mark-ok { color:#2EAE3F; }
.mark-no { color:#AA0707; }
.cmp__card--dark { background:#141414; position:relative; box-shadow:0 24px 50px rgba(0,0,0,0.2); }
.cmp__badge { position:absolute; top:-12px; left:28px; background:#AA0707; color:#fff; font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:6px 14px; border-radius:999px; }
.cmp__card--dark .cmp__name { font-size:13px; font-weight:800; color:#fff; }
.cmp__card--dark .cmp__price { color:#fff; }
.cmp__card--dark .cmp__tag { color:#E2A0A0; }
.cmp__list--grid { display:grid; grid-template-columns:1fr 1fr; gap:11px 16px; }
.cmp__list--grid li { font-size:13px; line-height:1.35; color:#EDEDED; padding-left:22px; }
.cmp__list--grid .mark-ok { color:#5BD06A; }

/* ---------- (04) Почему меня выбирают ---------- */
.why__btn { display:inline-flex; align-items:center; gap:9px; color:#fff; text-decoration:none; padding:13px 22px; border-radius:999px; border:1px solid #3A3A3A; font-size:13px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; transition:background .2s, border-color .2s; }
.why__btn:hover { background:#AA0707; border-color:#AA0707; }
.ap-whygrid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#2A2A2A; border:1px solid #2A2A2A; border-radius:18px; overflow:hidden; }
.ap-whycard { background:#141414; padding:34px 28px; min-height:200px; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:background .25s; }
.ap-whycard:hover { background:#1C1C1C; }
.ap-runline { position:absolute; top:0; left:0; height:2px; width:42%; background:linear-gradient(90deg, transparent 0%, #E03A3A 50%, transparent 100%); animation:apRunLine 4.2s linear infinite; pointer-events:none; }
.why__num { font-size:13px; font-weight:800; color:#AA0707; font-variant-numeric:tabular-nums; }
.why__title { font-size:1.2rem; font-weight:700; text-transform:uppercase; letter-spacing:0.01em; margin:18px 0 12px; }
.why__desc { font-size:14px; line-height:1.55; color:#A8A8A8; font-weight:500; margin:0; }
.why__quote { margin:40px auto 0; max-width:880px; text-align:center; }
.why__quote p { font-size:clamp(1.25rem,2.4vw,2rem); line-height:1.3; font-weight:700; letter-spacing:-0.01em; margin:0; }
.why__quote p span { color:#AA0707; }
.why__quote cite { display:block; margin-top:18px; font-size:13px; font-style:normal; color:#9A9A9A; font-weight:600; }

/* ---------- (05) Правила игры ---------- */
.rules__head { text-align:center; max-width:720px; margin:0 auto 44px; }
.rules__head .h2 { margin:16px 0 18px; }
.rules__sub { font-size:clamp(0.98rem,1.2vw,1.12rem); line-height:1.6; color:#6B6B6B; font-weight:500; margin:0; }
.ap-rulesgrid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rule__card { border-radius:20px; padding:34px 30px; }
.rule__card--yes { border:2px solid #2EAE3F; }
.rule__card--no { border:2px solid #AA0707; }
.rule__head { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.rule__dot { width:16px; height:16px; border-radius:50%; display:block; }
.rule__card--yes .rule__dot { background:#2EAE3F; box-shadow:0 0 0 5px rgba(46,174,63,0.18); }
.rule__card--no .rule__dot { background:#AA0707; box-shadow:0 0 0 5px rgba(170,7,7,0.16); }
.rule__label { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; }
.rule__card--yes .rule__label { color:#1F8F2D; }
.rule__card--no .rule__label { color:#AA0707; }
.rule__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.rule__list li { font-size:15px; line-height:1.45; font-weight:600; padding-left:28px; position:relative; }
.rule__card--yes .rule__list li { color:#1A1A1A; }
.rule__card--no .rule__list li { color:#6B6B6B; }
.rule__list li > span { position:absolute; left:0; font-weight:800; }

/* ---------- (06) Как начнём ---------- */
.proc__head { margin-bottom:48px; }
.ap-stepgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.step__card { background:#fff; border-radius:18px; padding:28px 24px; display:flex; flex-direction:column; min-height:240px; }
.step__num { width:44px; height:44px; border-radius:50%; background:#141414; color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:800; }
.step__time { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#AA0707; margin:22px 0 8px; }
.step__title { font-size:1.12rem; font-weight:700; text-transform:uppercase; line-height:1.1; margin:0 0 10px; }
.step__desc { font-size:13.5px; line-height:1.5; color:#6B6B6B; font-weight:500; margin:0; }
.cta-banner { margin-top:24px; border-radius:20px; padding:0; position:relative; overflow:hidden; background:#8A0505; box-shadow:0 16px 40px rgba(170,7,7,0.22); }
.cta-banner__canvas { position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.cta-banner__in { position:relative; z-index:2; padding:36px 40px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.cta-banner__text { color:#fff; max-width:540px; }
.cta-banner__text strong { font-size:clamp(1.2rem,2vw,1.6rem); font-weight:800; text-transform:uppercase; letter-spacing:-0.01em; display:block; }
.cta-banner__text p { font-size:14.5px; line-height:1.5; color:#FBE2E2; margin:8px 0 0; font-weight:500; }
.cta-banner__btns { display:flex; flex-wrap:wrap; gap:12px; }
.cta-banner__tg { display:inline-flex; align-items:center; gap:9px; background:#fff; color:#AA0707; text-decoration:none; padding:15px 26px; border-radius:999px; font-size:13.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; transition:transform .12s; }
.cta-banner__tg:active { transform:translateY(1px); }
.cta-banner__call { display:inline-flex; align-items:center; gap:9px; background:transparent; color:#fff; text-decoration:none; padding:15px 26px; border-radius:999px; border:1px solid rgba(255,255,255,0.55); font-size:13.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; transition:background .2s; }
.cta-banner__call:hover { background:rgba(255,255,255,0.12); }

/* ---------- (07) Стоимость ---------- */
.container--pricing { max-width:1080px; }
.price__head { margin-bottom:22px; }
.price__head .h2 { max-width:840px; text-wrap:balance; }
.price__lead { max-width:780px; margin:0 0 44px; font-size:clamp(1rem,1.25vw,1.15rem); line-height:1.62; color:#4A4A4A; font-weight:500; }
.price__table { border-top:2px solid #1A1A1A; }
.ap-prow { display:grid; grid-template-columns:1.25fr 0.85fr 2fr; gap:28px; padding:30px 14px; border-bottom:1px solid #E4E4E4; align-items:start; transition:background .2s ease; }
.ap-prow:hover { background:#FBE9E9; }
.ap-phead { padding:16px 14px; }
.ap-phead:hover { background:transparent; }
.ap-phead span { font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:#6B6B6B; }
.price__seg { font-size:clamp(1.05rem,1.5vw,1.3rem); font-weight:700; text-transform:uppercase; line-height:1.16; letter-spacing:0.005em; color:#1A1A1A; }
.price__val { display:flex; flex-direction:column; gap:3px; }
.price__num { font-size:clamp(1.25rem,2vw,1.7rem); font-weight:800; color:#AA0707; font-variant-numeric:tabular-nums; line-height:1; letter-spacing:-0.01em; }
.price__unit { font-size:12px; font-weight:600; color:#8A8A8A; text-transform:uppercase; letter-spacing:0.04em; }
.price__desc { font-size:14.5px; line-height:1.58; color:#4A4A4A; font-weight:500; }
.price__cta { margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px; background:#F4F4F4; border-radius:18px; padding:28px 32px; }
.price__cta p { font-size:14.5px; line-height:1.6; color:#3A3A3A; font-weight:500; margin:0; max-width:640px; }
.price__cta .btn { padding:15px 26px; white-space:nowrap; }

/* ---------- (08) FAQ ---------- */
.container--faq { max-width:920px; }
.faq__head { margin-bottom:40px; }
.faq__list { display:flex; flex-direction:column; gap:12px; }
.faq__item { background:#fff; border-radius:14px; border:1px solid #E6E6E6; overflow:hidden; }
.faq__q { width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; font-family:inherit; }
.faq__q span:first-child { font-size:clamp(0.98rem,1.4vw,1.12rem); font-weight:700; color:#1A1A1A; line-height:1.35; }
.faq__icon { flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#F0E5E5; color:#AA0707; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; transition:transform .25s, background .25s, color .25s; }
.faq__item.open .faq__icon { background:#AA0707; color:#fff; transform:rotate(45deg); }
.faq__a { display:none; padding:0 24px 24px; font-size:14.5px; line-height:1.6; color:#4A4A4A; font-weight:500; }
.faq__item.open .faq__a { display:block; }

/* ---------- Telegram-канал ---------- */
.section--tg { padding:clamp(72px,9vw,110px) 24px; }
.tg__card { display:block; text-decoration:none; background:#141414; border-radius:24px; padding:44px 48px; position:relative; overflow:hidden; }
.ap-channelrow { display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.tg__info { max-width:560px; }
.tg__kicker { font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#E2A0A0; }
.tg__title { font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:800; text-transform:uppercase; letter-spacing:-0.01em; color:#fff; margin:12px 0 14px; line-height:1; }
.tg__title .slash { color:#AA0707; }
.tg__text { font-size:15px; line-height:1.55; color:#B0B0B0; font-weight:500; margin:0 0 24px; }
.tg__btn { display:inline-flex; align-items:center; gap:9px; background:#AA0707; color:#fff; padding:15px 28px; border-radius:999px; font-size:13.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; }
.tg__posts { display:flex; flex-direction:column; gap:12px; max-width:420px; flex:1 1 320px; }
.tg__postrow { display:flex; gap:10px; align-items:flex-end; }
.tg__bubble { background:#1F1F1F; border:1px solid #2C2C2C; border-radius:16px 16px 16px 4px; padding:14px 16px; }
.tg__bubble-name { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#E24A4A; margin-bottom:6px; }
.tg__bubble p { font-size:13.5px; line-height:1.5; color:#E4E4E4; font-weight:500; margin:0; }
.tg__bubble-time { text-align:right; font-size:11px; color:#7A7A7A; margin-top:6px; }
.tg__more { display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:#E2A0A0; text-decoration:none; margin-top:4px; }
.tg__more:hover { color:#fff; }
.tg__bubble--link { display:block; text-decoration:none; transition:border-color .2s ease, background .2s ease; }
.tg__bubble--link:hover { border-color:#AA0707; background:#242424; }

/* ---------- (09) Контакты ---------- */
.contact { background:#0E0E0E; color:#fff; padding:clamp(72px,9vw,120px) 24px; position:relative; overflow:hidden; }
.contact__scrim { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(14,14,14,0.95) 0%, rgba(14,14,14,0.62) 44%, rgba(14,14,14,0.22) 100%); }
.contact__in { position:relative; z-index:2; max-width:1240px; margin:0 auto; }
.ap-contactgrid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.contact__h2 { font-size:clamp(2.1rem,4.6vw,3.7rem); font-weight:800; line-height:0.96; letter-spacing:-0.02em; text-transform:uppercase; margin:16px 0 22px; }
.contact__h2 span { color:#AA0707; }
.contact__lead { font-size:clamp(1rem,1.25vw,1.15rem); line-height:1.62; color:#B0B0B0; font-weight:500; margin:0 0 36px; max-width:480px; }
.contact__cards { display:flex; flex-direction:column; gap:12px; max-width:440px; }
.ccard { display:flex; align-items:center; gap:16px; padding:16px 18px; background:#1C1C1C; border:1px solid #2A2A2A; border-radius:14px; text-decoration:none; transition:border-color .2s, background .2s; }
.ccard:hover { border-color:#AA0707; background:#1F1414; }
.ccard__icon { width:44px; height:44px; border-radius:50%; background:#AA0707; color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px; }
.ccard__icon--gray { background:#2B2B2B; }
.ccard__text { display:flex; flex-direction:column; }
.ccard__text strong { font-size:14.5px; color:#fff; font-weight:700; }
.ccard__text span { font-size:13px; color:#9A9A9A; }

.formcard { background:#fff; color:#1A1A1A; border-radius:22px; padding:38px 36px; }
.formcard h3 { font-size:1.5rem; font-weight:800; text-transform:uppercase; letter-spacing:0.01em; margin:0 0 6px; }
.formcard__sub { font-size:13.5px; color:#6B6B6B; font-weight:500; margin:0 0 26px; }
.formcard form { display:flex; flex-direction:column; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field > span { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:#6B6B6B; }
.field input, .field textarea { font-family:inherit; font-size:15px; padding:13px 15px; border:1px solid #DADADA; border-radius:10px; outline:none; transition:border-color .2s; }
.field textarea { resize:vertical; }
.field input:focus, .field textarea:focus { border-color:#AA0707; }
.form__btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:16px; border:none; cursor:pointer; border-radius:999px; font-family:inherit; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; background:#AA0707; color:#fff; transition:background .2s; }
.form__btn:hover { background:#8A0505; }
.form__btn.sent { background:#2EAE3F; }
.form__btn.sent:hover { background:#2EAE3F; }
.form__consent { font-size:11.5px; line-height:1.5; color:#9A9A9A; font-weight:500; margin:0; }
.form__consent a { color:#AA0707; font-weight:600; text-decoration:underline; text-underline-offset:2px; }

/* ---------- Футер ---------- */
.footer { background:#0E0E0E; color:#fff; padding:64px 24px 32px; }
.ap-footgrid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:44px; border-bottom:1px solid #242424; }
.footer__logo { height:44px; width:auto; display:block; margin-bottom:20px; }
.footer__about { font-size:13.5px; line-height:1.7; color:#8A8A8A; font-weight:500; margin:0; }
.footer h4 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:#fff; margin:0 0 16px; }
.footer ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.footer ul a { color:#9A9A9A; text-decoration:none; font-size:13.5px; transition:color .2s; }
.footer ul a:hover { color:#fff; }
.footer__req { font-size:13px; line-height:1.7; color:#8A8A8A; font-weight:500; margin:0 0 16px; }
.footer__hours { font-size:13px; color:#8A8A8A; font-weight:500; }
.footer__hours div { display:flex; justify-content:space-between; max-width:220px; padding:4px 0; }
.footer__hours span:last-child { color:#fff; }
.footer__bottom { padding-top:24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px; }
.footer__copy { font-size:12.5px; color:#6B6B6B; font-weight:500; }
.footer__legal { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.footer__legal a { font-size:12.5px; color:#9A9A9A; text-decoration:none; font-weight:600; transition:color .2s; }
.footer__legal a:hover { color:#fff; }

/* ---------- Плавающие кнопки ---------- */
.floatcta { position:fixed; right:20px; bottom:20px; z-index:55; display:flex; flex-direction:column; gap:10px; }
.floatcta a { width:52px; height:52px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:transform .15s; }
.floatcta a:hover { transform:scale(1.06); }
.floatcta__tg { background:#AA0707; box-shadow:0 8px 22px rgba(170,7,7,0.4); }
.floatcta__max { background:#141414; box-shadow:0 8px 22px rgba(0,0,0,0.3); }
.floatcta__call { background:#2B2B2B; box-shadow:0 8px 22px rgba(0,0,0,0.3); font-size:20px; }

/* ---------- Cookie ---------- */
.ap-cookie { display:none; position:fixed; left:22px; bottom:22px; z-index:58; align-items:center; gap:14px; max-width:460px; padding:16px 18px; background:#fff; border:1px solid #E4E4E4; border-radius:18px; box-shadow:0 16px 44px rgba(26,26,26,0.18); }
.ap-cookie.show { display:flex; }
.ap-cookie__icon { flex-shrink:0; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(170,7,7,0.09); color:#AA0707; }
.ap-cookie p { margin:0; font-size:13.5px; line-height:1.45; color:#3A3A3A; font-weight:500; }
.ap-cookie p a { color:#AA0707; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.ap-cookie button { flex-shrink:0; align-self:stretch; padding:0 22px; border:none; cursor:pointer; border-radius:999px; background:#AA0707; color:#fff; font-family:inherit; font-size:13.5px; font-weight:700; letter-spacing:0.01em; box-shadow:0 6px 16px rgba(170,7,7,0.28); transition:background .2s; }
.ap-cookie button:hover { background:#8A0505; }

/* ---------- Модалки ---------- */
.modal { display:none; position:fixed; inset:0; z-index:80; background:rgba(10,10,10,0.62); align-items:flex-start; justify-content:center; padding:40px 20px; overflow-y:auto; }
.modal.open { display:flex; }
.modal__win { background:#fff; color:#1A1A1A; width:100%; max-width:760px; border-radius:22px; box-shadow:0 30px 70px rgba(0,0,0,0.4); overflow:hidden; margin:auto; }
.modal__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:30px 34px 22px; border-bottom:1px solid #ECECEC; }
.modal__head h3 { font-size:clamp(1.25rem,2.4vw,1.7rem); font-weight:800; text-transform:uppercase; letter-spacing:-0.01em; line-height:1.1; margin:0; }
.modal__close { flex-shrink:0; width:40px; height:40px; border-radius:50%; border:1px solid #E0E0E0; background:#F4F4F4; cursor:pointer; font-size:20px; line-height:1; color:#1A1A1A; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.modal__close:hover { background:#EAEAEA; }
.modal__body { padding:26px 34px 36px; max-height:64vh; overflow-y:auto; font-size:14.5px; line-height:1.68; color:#3A3A3A; font-weight:500; }
.modal__body p { margin:0 0 16px; }
.modal__body p:last-child { margin:0; }
.modal__body h4 { font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:0.04em; color:#1A1A1A; margin:24px 0 10px; }

/* ---------- Адаптив ---------- */
@media (max-width:920px){
  .ap-desknav, .ap-deskcta { display:none !important; }
  .ap-burger { display:flex !important; }
  .ap-mobilecall { display:flex !important; }
  .ap-herogrid { grid-template-columns:1fr !important; gap:36px !important; }
  .ap-aboutgrid { grid-template-columns:1fr !important; gap:40px !important; }
  .ap-comparegrid { grid-template-columns:1fr !important; }
  .ap-whygrid { grid-template-columns:1fr 1fr !important; }
  .ap-stepgrid { grid-template-columns:1fr 1fr !important; }
  .ap-phead { display:none !important; }
  .ap-prow { grid-template-columns:1fr !important; gap:8px !important; padding:24px 4px !important; }
  .ap-contactgrid { grid-template-columns:1fr !important; gap:40px !important; }
  .ap-footgrid { grid-template-columns:1fr 1fr !important; gap:32px !important; }
}
@media (max-width:600px){
  .ap-teamgrid { grid-template-columns:1fr !important; }
  .cmp__card { padding:26px 20px !important; }
  .cmp__list--grid { grid-template-columns:1fr !important; }
  .cmp__list--grid li { font-size:14px !important; line-height:1.4 !important; }
  .cmp__badge { left:20px !important; }
  .ap-whygrid { grid-template-columns:1fr !important; }
  .ap-stepgrid { grid-template-columns:1fr !important; }
  .ap-rulesgrid { grid-template-columns:1fr !important; }
  .ap-footgrid { grid-template-columns:1fr !important; }
  .ap-srowdesc { display:none !important; }
  .ap-srow { grid-template-columns:34px 1fr 24px !important; grid-template-areas:"num title arrow" "num price arrow" !important; gap:6px 12px !important; padding:22px 6px !important; }
  .ap-srownum { grid-area:num; align-self:start; }
  .ap-srowmain { grid-area:title; }
  .ap-srowprice { grid-area:price; font-size:0.95rem !important; }
  .ap-srowarrow { grid-area:arrow; }
  .ap-cookie { left:12px !important; right:12px !important; bottom:12px !important; max-width:none !important; flex-wrap:wrap !important; }
}
