.elementor-kit-5{--e-global-color-primary:#54595F;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#699DE0;--e-global-color-28e0890:#FBFBFB;--e-global-color-e40b3da:#BF6F94;--e-global-color-52055c3:#000000;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0;
}
    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100%!important;
    }
    .elementor-section {
        padding-top: 0!important;
        padding-bottom: 0!important;
    }
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: "Inter", sans-serif;
      background-color: #0a0a0a;
      color: #f5f5f5;
      line-height: 1.6;
      overflow-x: hidden;
    }
    
    

    h1, h2, h3, h4 {
      font-family: "Playfair Display", serif;
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -0.02em;
    }

    h1 {
      font-size: clamp(3rem, 10vw, 8rem);
      line-height: 0.9;
    }

    h2 {
      font-size: clamp(2rem, 6vw, 4rem);
      position: relative;
      display: inline-block;
      color: #fafafa;
    }
    

    h3 {
      font-size: clamp(1.5rem, 4vw, 2.5rem);
    }
    h4 {
        color: #fafafa;
    }

    .mono {
      font-family: "JetBrains Mono", monospace;
      letter-spacing: -0.5px;
      color: #fafafa;
    }

    .large-text {
      font-size: clamp(1.1rem, 3vw, 1.4rem);
      line-height: 1.7;
    }

    .small-text {
      font-size: 0.85rem;
      opacity: 0.7;
    }

    .container {
      width: 100%;
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 20px;
    }

    .full-height {
      min-height: 100vh;
      display: flex;
      align-items: center;
    }

    section {
      position: relative;
      padding: 120px 0;
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes glow {
      0%, 100% {
        opacity: 0.7;
      }
      50% {
        opacity: 1;
      }
    }

    @keyframes float {
      0%, 100% {
        transform: translateY(0);
      }
      50% {
        transform: translateY(-10px);
      }
    }

    header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      padding: 20px 40px;
      mix-blend-mode: difference;
      background: linear-gradient(to bottom, rgba(0,0,0,0.3), transparent);
    }

    .header-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
    }

    .logo {
      font-family: "JetBrains Mono", monospace;
      font-size: 1.2rem;
      letter-spacing: 2px;
      color: #f5f5f5;
      text-decoration: none;
      position: relative;
      white-space: nowrap;
    }

    .logo::after {
      content: "";
      position: absolute;
      bottom: -5px;
      left: 0;
      width: 0;
      height: 1px;
      background: #c9a66b;
      transition: width 0.6s ease;
    }

    .logo:hover::after {
      width: 100%;
    }
    
    #ast-scroll-top {
        background-color: #c9a66b !important;
    }

    .nav-menu {
      display: flex;
      gap: 2.5rem;
      align-items: center;
    }

    .nav-link {
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      letter-spacing: 1.5px;
      color: #f5f5f5;
      text-decoration: none;
      padding: 5px 0;
      position: relative;
      transition: color 0.3s ease;
      white-space: nowrap;
    }

    .nav-link::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 1px;
      background: #c9a66b;
      transition: width 0.3s 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    .nav-link:hover {
      color: #c9a66b;
    }

    .nav-link:hover::before {
      width: 100%;
    }

    @media (max-width: 800px) {
      header {
        padding: 15px 20px;
        background: rgba(10,10,10,0.8);
        backdrop-filter: blur(8px);
        mix-blend-mode: normal;
      }

      .header-inner {
        flex-direction: row;
        align-items: flex-start;
        gap: 15px;
      }

      .nav-menu {
        flex-wrap: wrap;
        gap: 1.2rem 1.8rem;
      }

      .nav-link {
        font-size: 0.85rem;
      }
    }

    @media (max-width: 480px) {
      .nav-menu {
        gap: 1rem;
      }
      .nav-link {
        letter-spacing: 1px;
      }
    }

    .hero {
      min-height: 100vh;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    /* Улучшено для SEO: фон теперь тег img с alt, а не background-image в div */
    .hero-image-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      opacity: 0.3; /* Немного затемняем, чтобы текст читался */
      overflow: hidden;
    }
    .hero-image-container img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 20%; /* Подстройте под фото */
    }

    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background:
        radial-gradient(circle at 20% 50%, rgba(201, 166, 107, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(139, 0, 0, 0.1) 0%, transparent 50%);
      z-index: 2;
    }

    .hero-content {
      width: 100%;
      padding: 0 40px;
      position: relative;
      z-index: 3; /* Выше, чем затемнение и картинка */
    }
    .hero-person {
      position: absolute;
      left: 25%;
      top: 5%;
      background-image: url("https://advokatbaev.ru/wp-content/uploads/2026/02/e470be6c-b364-4b81-a220-7fbb24766c3d_d4a9efff-ee1f-4f3d-870d-6f7d9baf5e18-Photoroom.png");
      background-repeat: no-repeat;
      width: 100%;
      height: 100%;
      background-position: center;
    }

    .hero-title {
      margin-bottom: 40px;
      position: relative;
    }

    .hero-subtitle {
      font-family: "JetBrains Mono", monospace;
      font-size: 1.1rem;
      color: #c9a66b;
      margin-bottom: 60px;
      letter-spacing: 3px;
      display: block;
    }

    .hero-cta {
      display: inline-block;
      padding: 18px 40px;
      background: transparent;
      border: 1px solid #c9a66b;
      color: #c9a66b;
      text-decoration: none;
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      letter-spacing: 2px;
      position: relative;
      overflow: hidden;
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    .hero-cta::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #c9a66b;
      transition: left 0.6s ease;
      z-index: -1;
    }

    .hero-cta:hover {
      color: #0a0a0a;
    }

    .hero-cta:hover::before {
      left: 0;
    }

    .quote-section {
      min-height: 80vh;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
        linear-gradient(45deg, rgba(10, 10, 10, 0.9) 0%, rgba(26, 26, 26, 0.95) 100%),
        url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100" opacity="0.03"><text x="50" y="50" font-family="Playfair Display" font-size="14" text-anchor="middle" fill="white">§</text></svg>');
      position: relative;
    }

    .quote-content {
      max-width: 900px;
      padding: 60px;
      position: relative;
    }

    .quote-mark {
      font-size: 8rem;
      color: #c9a66b;
      opacity: 0.2;
      position: absolute;
      top: -20px;
      left: -30px;
      font-family: Georgia, serif;
    }

    .quote-text {
      font-size: clamp(1.8rem, 4vw, 3rem);
      line-height: 1.3;
      font-style: italic;
      margin-bottom: 40px;
      position: relative;
      z-index: 2;
    }

    .quote-author {
      font-family: "JetBrains Mono", monospace;
      font-size: 1rem;
      color: #c9a66b;
      letter-spacing: 2px;
      text-align: right;
    }

    .services {
      padding: 150px 0;
      position: relative;
    }

    .services-title {
      text-align: center;
      margin-bottom: 100px;
    }

    .services-container {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: repeat(4, 150px);
      gap: 20px;
      position: relative;
    }

    .service-item {
      background: rgba(26, 26, 26, 0.7);
      border: 1px solid rgba(255, 255, 255, 0.05);
      padding: 15px;
      position: relative;
      overflow: hidden;
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      cursor: pointer;
    }

    .service-item:hover {
      border-color: #c9a66b;
      transform: translateY(-5px);
      background: rgba(26, 26, 26, 0.9);
    }

    .service-item:nth-child(1) {
      grid-column: 2 / span 4;
      grid-row: 1;
    }

    .service-item:nth-child(2) {
      grid-column: 8 / span 4;
      grid-row: 2;
    }

    .service-item:nth-child(3) {
      grid-column: 3 / span 4;
      grid-row: 3;
    }

    .service-item:nth-child(4) {
      grid-column: 9 / span 4;
      grid-row: 4;
    }

    .service-number {
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      color: #c9a66b;
      margin-bottom: 15px;
      display: block;
    }

    .service-title {
      font-size: 1.8rem;
      margin-bottom: 15px;
      color: #f5f5f5;
    }

    .service-desc {
      font-size: 0.95rem;
      opacity: 0.7;
      line-height: 1.6;
      max-width: 300px;
    }

    .service-hover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #c9a66b;
      color: #0a0a0a;
      padding: 30px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      opacity: 0;
      transform: translateY(100%);
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      z-index: 2;
    }

    .service-item:hover .service-hover {
      opacity: 1;
      transform: translateY(0);
    }

    .approach {
      padding: 120px 0;
      background: #111111;
      position: relative;
    }

    .approach-title {
      margin-bottom: 80px;
    }

    .approach-list {
      list-style: none;
      max-width: 800px;
    }

    .approach-item {
      padding: 30px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      display: flex;
      align-items: flex-start;
      opacity: 0;
      transform: translateX(-30px);
      animation: fadeInUp 0.8s forwards;
    }

    .approach-item:nth-child(1) { animation-delay: 0.1s; }
    .approach-item:nth-child(2) { animation-delay: 0.3s; }
    .approach-item:nth-child(3) { animation-delay: 0.5s; }
    .approach-item:nth-child(4) { animation-delay: 0.7s; }

    .approach-number {
      font-family: "JetBrains Mono", monospace;
      font-size: 1rem;
      color: #c9a66b;
      margin-right: 30px;
      min-width: 60px;
    }

    .approach-text h4 {
      margin-bottom: 10px;
      font-size: 1.4rem;
    }

    .contacts {
      padding: 150px 0;
      position: relative;
    }

    .contacts-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 100px;
      align-items: start;
    }

    .contact-info {
      position: sticky;
      top: 150px;
    }

    .contact-title {
      margin-bottom: 40px;
    }

    .contact-details {
      margin-bottom: 60px;
    }

    .contact-detail {
      margin-bottom: 25px;
      display: flex;
      align-items: center;
    }

    .contact-detail i {
      color: #c9a66b;
      margin-right: 15px;
      font-size: 1.2rem;
      width: 30px;
    }

    .contact-form {
      background: rgba(26, 26, 26, 0.7);
      border: 1px solid rgba(201, 166, 107, 0.2);
      padding: 50px;
      position: relative;
    }

    .form-title {
      margin-bottom: 30px;
      font-size: 1.8rem;
      color: #fafafa;
    }

    .form-group {
      margin-bottom: 30px;
    }

    .form-label {
      display: block;
      margin-bottom: 10px;
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      color: #c9a66b;
      letter-spacing: 1px;
    }

    .form-input,
    .form-select,
    .form-textarea {
      width: 100%;
      background: transparent!important;
      border: none!important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
      color: #f5f5f5!important;
      font-family: "Inter", sans-serif;
      font-size: 1rem;
      padding: 10px 0!important;
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)!important;
    }

    .form-input:focus,
    .form-select:focus,
    .form-textarea:focus {
      outline: none;
      border-bottom-color: #c9a66b;
    }

    .form-textarea {
      min-height: 100px;
      resize: vertical;
    }

    .form-submit {
      background: transparent;
      border: 1px solid #c9a66b;
      color: #c9a66b;
      padding: 15px 40px;
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      letter-spacing: 2px;
      cursor: pointer;
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      margin-top: 20px;
    }

    .form-submit:hover {
      background: #c9a66b;
      color: #0a0a0a;
    }

    .form-note {
      font-size: 0.8rem;
      opacity: 0.5;
      margin-top: 20px;
    }

    footer {
      padding: 60px 0;
      border-top: 1px solid rgba(255, 255, 255, 0.05);
      text-align: center;
    }

    .footer-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 40px;
    }

    .footer-logo {
      font-family: "JetBrains Mono", monospace;
      font-size: 1.2rem;
      letter-spacing: 3px;
    }

    .footer-year {
      font-family: "JetBrains Mono", monospace;
      font-size: 0.9rem;
      opacity: 0.5;
    }

    .footer-disclaimer {
      font-size: 0.8rem;
      opacity: 0.3;
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.6;
    }

    .floating-element {
      position: absolute;
      width: 200px;
      height: 200px;
      border: 1px solid rgba(201, 166, 107, 0.1);
      pointer-events: none;
      animation: float 6s ease-in-out infinite;
    }

    .floating-element:nth-child(1) {
      top: 20%;
      left: 5%;
      animation-delay: 0s;
    }

    .floating-element:nth-child(2) {
      top: 60%;
      right: 10%;
      animation-delay: 2s;
      width: 150px;
      height: 150px;
    }

    .glow-dot {
      position: absolute;
      width: 5px;
      height: 5px;
      background: #c9a66b;
      border-radius: 50%;
      filter: blur(1px);
      animation: glow 2s ease-in-out infinite;
    }

    @media (max-width: 1024px) {
      .services-container {
        grid-template-rows: repeat(4, auto);
        gap: 15px;
      }

      .service-item:nth-child(1),
      .service-item:nth-child(2),
      .service-item:nth-child(3),
      .service-item:nth-child(4) {
        grid-column: 2 / span 10;
        grid-row: auto;
        margin-bottom: 20px;
      }

      .contacts-grid {
        grid-template-columns: 1fr;
        gap: 60px;
      }

      .contact-info {
        position: static;
      }
    }

    @media (max-width: 768px) {
      /* .hero-person удален, так как заменен на img */
      .hero-content {
        padding: 0 20px;
      }
      .hero-person {
        top: 10%;
        left: 35%;
      }
      h1 {
        font-size: clamp(2.5rem, 12vw, 5rem);
      }

      .service-item {
        padding: 20px;
      }

      .contact-form {
        padding: 30px;
      }

      .quote-content {
        padding: 30px;
      }

      .quote-mark {
        font-size: 4rem;
        top: -10px;
        left: -10px;
      }

      .footer-content {
        flex-direction: column;
        gap: 20px;
      }
    }

    @media (max-width: 480px) {
      section {
        padding: 80px 0;
      }
      .hero-person {
        background-image: none;
      }
      .hero-cta {
        padding: 15px 30px;
        font-size: 0.8rem;
      }

      .service-title {
        font-size: 1.4rem;
      }

      .approach-item {
        flex-direction: column;
      }

      .approach-number {
        margin-bottom: 10px;
      }
    }

    .animate-on-scroll {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }

    .animate-on-scroll.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .text-center {
      text-align: center;
    }

    .mb-30 {
      margin-bottom: 30px;
    }

    .mb-60 {
      margin-bottom: 60px;
    }

    .mt-60 {
      margin-top: 60px;
    }

/* Мобильное меню (бургер) - справа от лого */
.mobile-menu-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 24px;
  position: relative;
  z-index: 1001;
}

.mobile-menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #f5f5f5;
  margin: 5px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.mobile-menu-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Мобильное навигационное меню - выпадающее сверху */
.mobile-nav-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(10, 10, 10, 0.98);
  backdrop-filter: blur(10px);
  padding: 100px 40px 40px;
  z-index: 999;
  transform: translateY(-100%);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: flex;
  flex-direction: column;
  gap: 20px;
  border-bottom: 1px solid rgba(201, 166, 107, 0.3);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.mobile-nav-menu.active {
  transform: translateY(0);
}

.mobile-nav-link {
  font-family: "JetBrains Mono", monospace;
  font-size: 1.2rem;
  letter-spacing: 2px;
  color: #f5f5f5;
  text-decoration: none;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.3s ease, padding-left 0.3s ease;
  text-align: center;
}

.mobile-nav-link:hover {
  color: #c9a66b;
  padding-left: 10px;
}

/* Затемнение фона при открытом меню */
.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 800px) {
  .nav-menu {
    display: none !important;
  }
  
  .mobile-menu-toggle {
    display: block;
  }
  
  .header-inner {
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 801px) {
  .mobile-nav-menu,
  .mobile-nav-overlay {
    display: none;
  }
}/* End custom CSS */