* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #2a2a2a; line-height: 1.6; background: #f9f7f4; }
h1, h2, h3, h4, h5, h6 { font-family: 'Archivo', sans-serif; font-weight: 700; margin-top: 1.5rem; margin-bottom: 1rem; }
h1 { font-size: 3rem; line-height: 1.2; }
h2 { font-size: 2rem; line-height: 1.3; }
h3 { font-size: 1.5rem; }
a { color: #7b5d4e; text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1160px; margin: 0 auto; padding: 0 2rem; }

.header { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); position: sticky; top: 0; z-index: 100; }
.header-container { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; max-width: 1160px; margin: 0 auto; }
.logo { font-family: 'Archivo', sans-serif; font-size: 1.5rem; font-weight: 700; color: #2a2a2a; }
.nav { display: flex; gap: 2rem; align-items: center; flex-wrap: wrap; }
.nav-link { font-size: 0.95rem; padding: 0.5rem 0; border-bottom: 2px solid transparent; transition: all 0.3s; }
.nav-link.active, .nav-link:hover { border-bottom-color: #7b5d4e; }
.btn-primary { background: linear-gradient(135deg, #5d4e47 0%, #8b7355 100%); color: #fff; padding: 0.75rem 1.5rem; border-radius: 50px; border: none; cursor: pointer; font-weight: 600; transition: all 0.3s; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(93,78,71,0.3); }
.btn-arrow { background: #7b5d4e; color: #fff; padding: 0.75rem 1.5rem; border-radius: 50px; border: none; cursor: pointer; font-weight: 600; position: relative; }
.btn-arrow:after { content: '→'; margin-left: 0.5rem; }
.btn-arrow:hover { background: #5d4e47; }
.btn-reject { background: #e8e8e8; color: #333; padding: 0.5rem 1.2rem; border: none; border-radius: 4px; cursor: pointer; }

.disclosure-bar { background: #fff3e0; border-top: 2px solid #ffb74d; border-bottom: 2px solid #ffb74d; padding: 1rem 0; text-align: center; font-size: 0.9rem; color: #333; }

.hero { padding: 6rem 2rem; }
.split-color { background: linear-gradient(135deg, #f9f7f4 50%, #e8e5e0 100%); display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.hero-content h1 { margin-top: 0; }
.highlight { color: #8b7355; }
.hero-form { display: flex; gap: 0.5rem; margin-top: 2rem; }
.hero-form input { flex: 1; padding: 0.75rem 1rem; border: 1px solid #ddd; border-radius: 50px; font-size: 0.95rem; }
.hero-image img { width: 100%; height: auto; border-radius: 8px; display: block; }
.hero-alt { background: linear-gradient(135deg, #5d4e47 0%, #7b6b60 100%); color: #fff; padding: 4rem 0; text-align: center; }
.hero-alt h1 { color: #fff; }

.band-dark { background: #2a2a2a; color: #fff; padding: 4rem 2rem; text-align: center; }
.band-dark h2 { color: #fff; }
.band-dark p { font-size: 1.1rem; }

.features { padding: 4rem 0; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; }
.feature-card { background: #fff; padding: 2rem; border-radius: 8px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.08); transition: all 0.3s; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.12); }
.feature-card img { width: 100%; height: 160px; object-fit: contain; border-radius: 4px; margin-bottom: 1rem; background: #f3efe8; padding: 0.5rem; }

.lf-quiz { padding: 4rem 0; background: #f9f7f4; }
.quiz-wrapper { background: #fff; padding: 2rem; border-radius: 8px; margin: 2rem auto; max-width: 600px; }
.quiz-question { margin-bottom: 2rem; }
.quiz-options label { display: block; margin: 0.75rem 0; cursor: pointer; }
.quiz-options input[type="radio"] { margin-right: 0.5rem; }
.quiz-result { margin-top: 2rem; padding: 2rem; background: #e8f5e9; border-radius: 8px; }

.timeline { padding: 4rem 0; }
.timeline-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; }
.timeline-item { position: relative; padding-left: 3rem; }
.timeline-marker { position: absolute; left: 0; top: 0; width: 2.5rem; height: 2.5rem; background: #8b7355; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }

.lf-carousel { padding: 4rem 0; background: #f9f7f4; }
.carousel-wrapper { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; }
.carousel-item { background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.carousel-item p { font-style: italic; margin-bottom: 1rem; color: #666; }
.carousel-item strong { display: block; margin-top: 1rem; color: #7b5d4e; }

.stats-band { background: #2a2a2a; color: #fff; padding: 4rem 0; }
.stats-band .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; text-align: center; }
.lf-counter h3 { color: #ffb74d; font-size: 2.5rem; }
.lf-counter p { font-size: 0.95rem; }

.bento-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 2rem 0; }
.bento-item { background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.bento-lg { grid-column: span 1; }
.routine-steps ol { margin-left: 1.5rem; }
.routine-steps li { margin-bottom: 0.75rem; line-height: 1.6; }

.cta-section { background: linear-gradient(135deg, #5d4e47 0%, #8b7355 100%); color: #fff; padding: 4rem 0; text-align: center; }
.cta-section h2, .cta-section p { color: #fff; }
.cta-section .btn-primary { background: #fff; color: #5d4e47; }

.footer { background: #2a2a2a; color: #f0f0f0; padding: 3rem 0 1rem; }
.footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; max-width: 1160px; margin: 0 auto; padding: 0 2rem; }
.footer-col h4 { color: #fff; margin-bottom: 1rem; }
.footer-col ul { list-style: none; }
.footer-col a { color: #999; }
.footer-col a:hover { color: #fff; }
.footer-bottom { text-align: center; border-top: 1px solid #444; padding-top: 2rem; margin-top: 2rem; font-size: 0.85rem; color: #999; }
.disclaimer { font-size: 0.85rem; margin-top: 0.5rem; }

.main-content { padding: 3rem 0; }
.faq-section { margin-bottom: 3rem; }
.faq-item { background: #fff; padding: 1.5rem; margin-bottom: 1rem; border-radius: 6px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); }
.faq-item h3 { margin-top: 0; }

.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin: 2rem 0; }
.contact-form { background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.form-group { margin-bottom: 1.5rem; }
.form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; }
.form-group input, .form-group textarea { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 4px; font-family: inherit; font-size: 0.95rem; }
.form-group--checkbox { margin-bottom: 1.25rem; }
.checkbox-label { display: flex; align-items: flex-start; gap: 0.625rem; font-weight: 400; cursor: pointer; margin-bottom: 0; }
.checkbox-label input[type="checkbox"] { width: auto; margin-top: 0.2rem; flex-shrink: 0; accent-color: #5d4e47; }
.checkbox-label a { color: #5d4e47; }
.form-error { display: block; margin-top: 0.35rem; font-size: 0.85rem; color: #b42318; min-height: 1.25em; }

.contact-info { display: flex; flex-direction: column; justify-content: center; }
.contact-item { margin-bottom: 2rem; }
.contact-item h3 { margin-top: 0; }

.legal-content { padding: 2rem 0; }
.legal-content h2 { margin-top: 2rem; }
.legal-content ul { margin-left: 1.5rem; margin-bottom: 1rem; }
.legal-content li { margin-bottom: 0.5rem; }

.cookie-banner { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: #2a2a2a; color: #fff; padding: 1.5rem; text-align: center; z-index: 1000; gap: 1rem; align-items: center; }
.cookie-banner.is-visible { display: flex; justify-content: space-between; flex-wrap: wrap; }
.cookie-content { flex: 1; text-align: left; }
.cookie-buttons { display: flex; gap: 1rem; }
.btn-accept { background: #8b7355; color: #fff; }
.btn-accept:hover { background: #5d4e47; }

.thank-you-content { text-align: center; padding: 3rem 0; }
.thank-you-content ol { display: inline-block; text-align: left; margin: 2rem 0; }
.thank-you-content li { margin-bottom: 1rem; }

@media (max-width: 768px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
  .split-color { grid-template-columns: 1fr; }
  .nav { gap: 1rem; font-size: 0.85rem; }
  .hero { padding: 3rem 0; }
  .contact-section { grid-template-columns: 1fr; }
  .cookie-banner { flex-direction: column; }
  .cookie-buttons { width: 100%; flex-direction: column; }
  .hero-form { flex-direction: column; }
  .hero-form input { width: 100%; }
}

/* brand-guard-css-v3 — авто-страховка cookie-баннера и контраста (приложение) */
.cookie-banner{position:fixed !important;left:1rem;right:1rem;bottom:1rem;z-index:9000 !important;max-width:760px;margin-left:auto;margin-right:auto;background:#fff;color:#1a1a1a;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.18);padding:1rem 1.25rem;transform:translateY(220%);transition:transform .32s ease}
.cookie-banner.is-visible,.cookie-banner--visible,.cookie-banner.show,.cookie-banner.active{transform:none !important}
.cookie-banner a{color:inherit;text-decoration:underline}
.cookie-banner button{cursor:pointer}
.cookie-modal{position:fixed !important;inset:0;z-index:9001 !important;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);padding:1rem}
.cookie-modal.is-visible,.cookie-modal--visible,.cookie-modal.show,.cookie-modal.active{display:flex !important}
.cookie-modal-panel,.cookie-modal>div{background:#fff;color:#1a1a1a;max-width:480px;width:100%;border-radius:12px;padding:1.25rem;max-height:85vh;overflow:auto}
.section-dark .lf-quiz,.section-dark .lf-calc,.section-dark .lf-tabs,.section-dark .lf-carousel,.section-accent .lf-quiz,.section-accent .lf-calc,.section-accent .lf-tabs,.section-accent .lf-carousel{background:#fff !important;color:#1a1a1a !important}
.lf-quiz,.lf-calc{color:#1a1a1a !important}
.lf-quiz label,.lf-calc label,.lf-quiz p,.lf-calc p,.lf-quiz .lf-q-title,.lf-quiz span,.lf-calc span,.lf-out,.lf-result,.lf-tabs .lf-panel,.lf-tabs .lf-panel *{color:#1a1a1a !important}
.lf-out,.lf-result{background:#f3f4f2 !important;border-color:rgba(0,0,0,.12) !important}
.lf-quiz .lf-opt{color:#1a1a1a !important}
.lf-quiz .lf-opt.is-sel{color:#fff !important}
