:root { --bg: #f2f5f8; --surface: #ffffff; --surface-2: #e9eef3; --text: #112031; --muted: #5a6b7d; --brand: #0f8c7a; --brand-dark: #0b695c; --accent: #f59f00; --border: #d6e0ea; --shadow: 0 12px 30px rgba(17, 32, 49, 0.08); --radius: 18px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: "Manrope", sans-serif; color: var(--text); line-height: 1.5; background: radial-gradient(circle at 15% -10%, #d4fff6 0, transparent 34%), radial-gradient(circle at 90% 0%, #ffefcc 0, transparent 28%), var(--bg); } .container { width: min(1140px, 92vw); margin: 0 auto; } .hero { padding: 24px 0 40px; } .topbar { display: flex; align-items: center; justify-content: flex-start; gap: 18px; margin-bottom: 36px; } .brand { display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; } .brand img { display: block; width: clamp(273px, 29vw, 399px); height: auto; object-fit: contain; transform: translateX(-18px); } .brand-fallback { display: none; font-family: "Montserrat", sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.4px; color: var(--text); } .nav { display: flex; gap: 16px; flex-wrap: wrap; justify-content: flex-end; } .nav a { font-weight: 600; opacity: 0.88; } .nav a, .phone, .footer a { text-decoration: none; color: var(--text); } .phone { font-weight: 700; } .hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: start; } .badge { display: inline-block; background: #d6fff6; color: var(--brand-dark); border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 0.9rem; } h1, h2, h3 { font-family: "Montserrat", sans-serif; margin-top: 0; line-height: 1.2; } h1 { margin: 16px 0; font-size: clamp(1.8rem, 3vw, 2.8rem); } h2 { margin-bottom: 10px; font-size: clamp(1.5rem, 2.2vw, 2.2rem); } .lead, .section-subtitle { color: var(--muted); font-size: 1.03rem; } .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; } .btn { border: 0; border-radius: 12px; padding: 12px 18px; font-weight: 700; text-decoration: none; display: inline-block; transition: 0.2s ease; } .btn-primary { background: var(--brand); color: #fff; } .btn-primary:hover { background: var(--brand-dark); } .btn-secondary { background: var(--surface-2); color: var(--text); } .btn-secondary:hover { background: #dce4ed; } .geo-note { margin-top: 8px; padding: 13px 15px; border-left: 4px solid var(--accent); background: #fff9ec; border-radius: 0 10px 10px 0; } .hero-card, .card, .price-card, .panel, .lead-form, .faq-list details { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); border-radius: var(--radius); } .hero-card { padding: 20px; } .hero-card h3 { margin-bottom: 10px; } .hero-card ul, .card ul, .price-card ul, .panel ul, .contacts, .panel ol { margin: 0; padding-left: 20px; } .section { padding: 46px 0; } .cards { margin-top: 22px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .cards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .card { padding: 18px; } .card h3 { margin-bottom: 8px; } .highlight, .muted { background: linear-gradient(180deg, rgba(15, 140, 122, 0.06), rgba(15, 140, 122, 0)); } .pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .price-card { padding: 20px; } .price-card.featured { border: 2px solid var(--brand); transform: translateY(-6px); } .chip { display: inline-block; background: var(--brand); color: #fff; border-radius: 999px; padding: 4px 10px; font-size: 0.83rem; margin-bottom: 8px; } .price { font-size: 1.35rem; font-weight: 800; margin: 8px 0; } .for, .pricing-note { color: var(--muted); } .two-col { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .panel { padding: 20px; } .benefits-grid { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); } .benefits-grid article { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px; } .seo p { color: #25384d; } .faq-list { display: grid; gap: 10px; } .faq-list details { padding: 14px; } .faq-list summary { cursor: pointer; font-weight: 700; } .contact { background: linear-gradient(175deg, #e8fff8 0%, #eff5ff 100%); } .contacts { list-style: none; padding: 0; } .contacts li { margin-bottom: 8px; } .lead-form { padding: 18px; display: grid; gap: 10px; } .lead-form label { display: grid; gap: 5px; font-weight: 600; } input, textarea { width: 100%; border: 1px solid #bfd0df; border-radius: 10px; padding: 10px; font: inherit; } input:focus, textarea:focus { outline: 2px solid rgba(15, 140, 122, 0.28); border-color: var(--brand); } .form-success, .form-error { margin: 0; border-radius: 9px; padding: 10px; font-weight: 700; } .form-success { background: #dcffee; color: #0f684f; } .form-error { background: #ffe2e2; color: #ab2a2a; } .footer { border-top: 1px solid var(--border); background: #f8fbff; } .footer-inner { padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; } .footer-logo { display: inline-flex; margin-bottom: 8px; } .footer-logo img { width: clamp(231px, 25vw, 336px); height: auto; object-fit: contain; transform: translateX(-18px); } .mobile-sticky-cta { display: none; } @media (max-width: 1040px) { .hero-grid, .pricing-grid, .cards, .benefits-grid, .two-col, .cards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .benefits-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } } @media (max-width: 760px) { body { background: radial-gradient(circle at 12% -8%, #d4fff6 0, transparent 45%), radial-gradient(circle at 88% 0%, #ffe7c2 0, transparent 38%), var(--bg); } .container { width: min(1140px, 94vw); } .hero { padding: 16px 0 24px; } .topbar { flex-direction: column; align-items: start; gap: 12px; margin-bottom: 20px; } .brand img { width: clamp(231px, 62vw, 336px); transform: translateX(-12px); } .nav { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 4px; scrollbar-width: thin; } .nav a { white-space: nowrap; background: #ffffffb3; border: 1px solid var(--border); border-radius: 999px; padding: 7px 12px; font-size: 0.92rem; } .phone { background: var(--surface); border: 1px solid var(--border); padding: 9px 12px; border-radius: 10px; } .hero-grid, .pricing-grid, .cards, .cards.two, .two-col, .benefits-grid { grid-template-columns: 1fr; } .price-card.featured { transform: none; } h1 { font-size: clamp(1.6rem, 8vw, 2.1rem); margin: 12px 0; } h2 { font-size: clamp(1.35rem, 7vw, 1.8rem); } .lead { font-size: 0.98rem; } .cta-row { gap: 10px; } .btn { width: 100%; text-align: center; padding: 13px 16px; } .hero-card, .card, .price-card, .panel, .lead-form, .faq-list details { border-radius: 14px; box-shadow: 0 8px 22px rgba(17, 32, 49, 0.08); } .section { padding: 32px 0; } .cards, .pricing-grid, .faq-list { gap: 12px; } .lead-form { gap: 9px; padding: 14px; } .footer-inner { flex-direction: column; align-items: start; padding-bottom: 84px; } .footer-logo img { width: clamp(210px, 56vw, 315px); transform: translateX(-10px); } .mobile-sticky-cta { position: fixed; left: 12px; right: 12px; bottom: 12px; display: block; text-align: center; text-decoration: none; background: linear-gradient(90deg, var(--brand), #22a88f); color: #fff; font-weight: 800; padding: 14px 16px; border-radius: 12px; box-shadow: 0 10px 28px rgba(11, 105, 92, 0.35); z-index: 999; } }