/* Страницы меню сайта */
body.site { position: relative; isolation: isolate; background: #FAF8F4; }
.site-bg { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.site-bg::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(168,115,15,.14) 1px, transparent 1.5px); background-size: 24px 24px; -webkit-mask: radial-gradient(ellipse at 20% 20%, #000 0%, transparent 60%); mask: radial-gradient(ellipse at 20% 20%, #000 0%, transparent 60%); }
.site-bg span { position: absolute; border-radius: 50%; filter: blur(70px); }
.sb1 { width: 520px; height: 520px; left: -140px; top: 60px; background: radial-gradient(circle, rgba(244,203,94,.5), transparent 70%); animation: hbA 22s ease-in-out infinite alternate; }
.sb2 { width: 460px; height: 460px; right: -120px; top: 30%; background: radial-gradient(circle, rgba(227,6,19,.14), transparent 70%); animation: hbB 26s ease-in-out infinite alternate; }
.sb3 { width: 380px; height: 380px; left: 30%; bottom: -160px; background: radial-gradient(circle, rgba(232,169,58,.32), transparent 70%); animation: hbA 30s ease-in-out infinite alternate-reverse; }
#sitePage { min-height: 60vh; padding-bottom: 20px; }
.lp-head nav a.on { color: var(--red); } .lp-head nav a.on::after { transform: scaleX(1); }
.s-head { padding-top: 46px !important; padding-bottom: 18px !important; text-align: center; }
.s-head h1 { font-size: 40px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin: 4px auto 12px; max-width: 900px; animation: fadeUp .6s cubic-bezier(.2,.7,.2,1) both; }
.s-head .sec-label { justify-content: center; }
.s-lead { max-width: 720px; margin: 0 auto; color: var(--ink2); font-size: 16px; line-height: 1.6; animation: fadeUp .6s cubic-bezier(.2,.7,.2,1) .1s both; }
.s-h2 { font-size: 26px; font-weight: 800; margin: 34px 0 16px; text-align: center; }
.s-card { padding: 22px; background: #fff; }
.s-card .g-ic { width: 46px; height: 46px; border-radius: 12px; background: #FCF1DC; padding: 11px; margin-bottom: 12px; }
.s-card h3 { font-size: 16px; font-weight: 800; margin: 0 0 6px; }
.s-card p { margin: 0 0 6px; color: var(--ink2); font-size: 13.5px; line-height: 1.55; }
.s-card a:not(.btn) { color: var(--red); }
.s-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.s-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.s-two { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 18px; margin-top: 18px; }
.s-for { display: grid; gap: 14px; }
.s-prose { padding: 26px; line-height: 1.7; font-size: 15px; }
.s-prose h2 { font-size: 20px; margin: 18px 0 8px; } .s-prose ul { padding-left: 20px; }
.s-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 10px auto 6px; }
.s-stat { padding: 18px; text-align: center; } .s-stat .g-ic { width: 32px; height: 32px; margin: 0 auto 6px; display: block; }
.s-stat b { display: block; font-size: 28px; font-weight: 800; } .s-stat span:last-child { font-size: 12.5px; color: var(--muted); }
.s-cmp { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; padding: 26px; margin-top: 26px; }
.s-cmp h3 { font-size: 18px; margin-bottom: 10px; } .s-cmp ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 14px; }
.s-cmp li { padding-left: 26px; position: relative; }
.neg li::before { content: "✕"; position: absolute; left: 0; color: #B9B3A6; font-weight: 800; } .pos li::before { content: "✓"; position: absolute; left: 0; color: var(--red); font-weight: 800; }
.vs { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #F4CB5E, #D9961C); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(200,140,30,.35); }
.s-per { display: flex; justify-content: center; margin: 4px auto 18px; max-width: 520px; }
.s-per button { flex: 1; height: 42px; border: 1px solid #D8D5CE; background: #fff; font: 700 13px var(--font); cursor: pointer; }
.s-per button:first-child { border-radius: 10px 0 0 10px; } .s-per button:last-child { border-radius: 0 10px 10px 0; }
.s-per button.on { background: var(--red); color: #fff; border-color: var(--red); }
.s-per em { font-style: normal; color: var(--green); } .s-per button.on em { color: #fff; }
.s-tars { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.s-tar { position: relative; padding: 22px; display: flex; flex-direction: column; }
.s-tar.popular { border: 2px solid #E8B04A; } .s-tar h3 { font-size: 17px; margin: 0; }
.s-price { font-size: 28px; font-weight: 800; margin: 12px 0 2px; } .s-price small { font-size: 13px; color: var(--muted); font-weight: 600; }
.s-tar .btn { margin-top: auto; }
.s-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; counter-reset: s; position: relative; }
.s-steps::before { content: ""; position: absolute; left: 39px; top: 20px; bottom: 20px; width: 2px; background: linear-gradient(#E8A93A, var(--red)); opacity: .35; }
.s-steps li { display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding: 18px 20px; position: relative; }
.s-steps .num { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #F4CB5E, #D9961C); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(217,150,28,.35); }
.s-steps h3 { display: flex; align-items: center; gap: 8px; font-size: 16px; margin: 6px 0 4px; } .s-steps h3 .g-ic { width: 20px; height: 20px; }
.s-steps p { margin: 0; color: var(--ink2); font-size: 14px; line-height: 1.55; }
.s-faq { max-width: 860px; } .s-faq .faq-i { margin-bottom: 10px; } .s-faq .faq-i summary { font-size: 14.5px; padding: 15px 44px 15px 18px; } .s-faq .faq-i p { font-size: 14px; padding: 0 18px 16px; }
.s-ct { text-decoration: none; display: block; } .s-ct h3 { color: var(--ink); }
@media (max-width: 1100px) { .s-grid4, .s-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .s-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .s-two { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .s-grid3, .s-grid4 { grid-template-columns: 1fr; } .s-head h1 { font-size: 28px; } .s-cmp { grid-template-columns: 1fr; text-align: left; } .vs { margin: 0 auto; } }
