/* Дополнения к существующей главной. Базовые сетки, типографика и фоны сохранены. */
.home-page .logo { white-space: nowrap; flex-shrink: 0; }
.home-page .nav-link { white-space: nowrap; }
.home-page .home-nowrap { white-space: nowrap; }
.home-page .home-section-lead { max-width: 780px; margin: 20px auto 0; color: var(--text-light-subtle); font-size: 1rem; line-height: 1.6; }
.home-page .section-dark-pattern .home-section-lead { color: var(--text-dark-subtle); }
.home-page .home-service-link { display: inline-flex; align-items: center; gap: 8px; color: var(--accent-gold); font-size: .9rem; font-weight: 600; padding-top: 24px; margin-top: auto; }
.home-page .home-service-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-page .home-brand-block { margin-top: 56px; padding-top: 36px; border-top: 1px solid var(--border-dark); text-align: center; }
.home-page .home-brand-title { font-family: var(--font-heading); font-size: var(--type-card); font-weight: 700; line-height: 1.25; margin-bottom: 24px; }
.home-page .home-brand-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.home-page .home-brand-list li { background: var(--bg-dark-card); color: var(--text-dark-secondary); border: 1px solid var(--border-dark); border-radius: var(--radius-control); padding: 10px 18px; font-size: .85rem; }
.home-page .home-brand-note { font-size: .85rem; color: var(--text-dark-subtle); margin-top: 20px; }
.home-page #faq .service-visual-faq-grid { --visual-stroke: rgba(26,32,44,.12); }
.home-page .home-form-status { padding: 16px; background: var(--bg-light); border: 1px solid var(--border-input); border-radius: var(--radius-control); color: var(--text-light-subtle); font-size: .9rem; }
.home-page .home-form-help { color: var(--text-light-subtle); font-size: .85rem; }
.home-page .home-projects-more { display: flex; justify-content: center; margin-top: 32px; }
.home-page .home-form-help a { text-decoration: underline; overflow-wrap: anywhere; }
.home-page :where(a, button, input, textarea, summary):focus-visible { outline: 2px solid var(--accent-gold-text-light); outline-offset: 4px; }
.home-page :is(.header, .hero, .section-dark-pattern, .section-dark-flat, .footer) :focus-visible { outline-color: var(--accent-gold); }
.home-page .project-img-wrap:focus-visible { outline-offset: -4px; }
.home-page [hidden] { display: none !important; }
.home-page .contact-detail-val { overflow-wrap: anywhere; }
.home-page h3[id] { scroll-margin-top: 110px; }
/* Исправления узких экранов без изменения desktop-композиции. */
@media (max-width: 1100px) { .home-page .header-btn { display: none; } }
@media (min-width: 769px) and (max-width: 900px) { .home-page .nav-list { gap: 10px; } }
@media (max-width: 768px) {
  .home-page .hero-actions { flex-wrap: wrap; }
  .home-page .btn { white-space: normal; text-align: center; }
  .home-page .hero-title, .home-page .section-title, .home-page .cta-title { overflow-wrap: anywhere; }
  .home-page .home-faq-item summary { padding: 20px 0; }
  .home-page .home-faq-answer { padding-right: 0; }
  .home-page:not(.has-home-menu) .header { position: static; }
  .home-page:not(.has-home-menu) .header-container { flex-wrap: wrap; }
  .home-page:not(.has-home-menu) .header nav { width: 100%; }
  .home-page:not(.has-home-menu) .nav-list { position: static; transform: none; flex-direction: row; flex-wrap: wrap; padding: 20px 0 0; gap: 16px; background: transparent; border: 0; visibility: visible; pointer-events: auto; opacity: 1; }
  .home-page:not(.has-home-menu) .mobile-menu-btn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.home-page) { scroll-behavior: auto; }
  .home-page *, .home-page *::before, .home-page *::after { transition: none !important; animation: none !important; }
  .home-page .anim-hidden { opacity: 1; transform: none; }
}
