/* ===========================================
   RESPONSIVE STYLES
   =========================================== */

/* Large Desktop: 1440px+ */
@media (min-width: 1440px) {
  :root {
    --container-max: 1300px;
    --section-padding: 100px;
  }
  
  .hero {
    padding: 120px 0;
  }
}

/* Desktop: 1024px - 1439px */
@media (max-width: 1439px) {
  :root {
    --font-size-h1: 44px;
    --font-size-h2: 34px;
  }
}

/* Tablet: 768px - 1023px */
@media (max-width: 1023px) {
  :root {
    --font-size-h1: 38px;
    --font-size-h2: 30px;
    --font-size-h3: 22px;
    --section-padding: 60px;
  }
  
  /* Header */
  .header__inner {
    flex-wrap: wrap;
  }
  
  .nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-white);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    z-index: 1000;
  }
  
  .nav.active {
    display: flex;
  }
  
  .nav__link {
    font-size: 20px;
    padding: 15px 30px;
  }
  
  .mobile-menu-btn {
    display: flex;
  }
  
  .header__phone {
    display: none;
  }
  
  .header__cta {
    display: none;
  }
  
  /* Hero */
  .hero {
    padding: 70px 0;
  }
  
  .hero__logo {
    width: 100px;
    height: 100px;
    margin-bottom: 30px;
  }
  
  .hero__logo svg {
    width: 60px;
    height: 60px;
  }
  
  .hero__subtitle {
    font-size: 18px;
  }
  
  /* Advantages */
  .advantages__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  
  /* Stats */
  .stats__grid {
    gap: 30px;
  }
  
  .stat-item__number {
    font-size: 46px;
  }
  
  /* Business Preview */
  .business-preview__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .business-preview__text h2 {
    text-align: center;
  }
  
  /* History */
  .history__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  /* Values */
  .values__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Audience */
  .audience__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Practice */
  .practice__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Approach Steps */
  .approach__steps {
    grid-template-columns: 1fr;
  }
  
  /* Cases */
  .cases__grid {
    grid-template-columns: 1fr;
  }
  
  /* Contacts */
  .contacts-info__grid {
    grid-template-columns: 1fr;
    max-width: 500px;
  }
  
  /* Footer */
  .footer__inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 30px;
  }
  
  .footer__logo {
    justify-content: center;
  }
  
  .footer__contacts {
    text-align: center;
  }
}

/* Large Mobile: 576px - 767px */
@media (max-width: 767px) {
  :root {
    --font-size-h1: 32px;
    --font-size-h2: 26px;
    --font-size-h3: 20px;
    --section-padding: 50px;
    --card-padding: 25px;
  }
  
  .container {
    padding: 0 15px;
  }
  
  /* Header */
  .header__inner {
    padding: 12px 0;
  }
  
  .header__logo-icon {
    width: 42px;
    height: 42px;
  }
  
  .header__logo-icon svg {
    width: 24px;
    height: 24px;
  }
  
  .header__logo-text {
    font-size: 17px;
  }
  
  .header__logo-text span {
    font-size: 10px;
  }
  
  /* Page Banner */
  .page-banner {
    padding: 60px 0;
  }
  
  .page-banner__subtitle {
    font-size: 17px;
  }
  
  /* Stats */
  .stats {
    padding: 50px 0;
  }
  
  .stats__grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  
  .stat-item__number {
    font-size: 50px;
  }
  
  /* Advantages */
  .advantages__grid {
    grid-template-columns: 1fr;
  }
  
  .advantage-card {
    padding: 30px 20px;
  }
  
  /* Values */
  .values__grid {
    grid-template-columns: 1fr;
  }
  
  /* Audience */
  .audience__grid {
    grid-template-columns: 1fr;
  }
  
  /* Practice */
  .practice__grid {
    grid-template-columns: 1fr;
  }
  
  /* Process */
  .process__timeline::before {
    left: 25px;
  }
  
  .process-step {
    gap: 20px;
  }
  
  .process-step__number {
    width: 50px;
    height: 50px;
    font-size: 18px;
  }
  
  .process-step__content {
    padding: 20px;
  }
  
  /* Contact Cards */
  .contact-card {
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
  }
  
  .contact-card__icon {
    margin: 0 auto;
  }
  
  .contact-card__content a,
  .contact-card__content p {
    font-size: 18px;
  }
  
  /* Map */
  .map-placeholder {
    height: 300px;
  }
  
  /* Footer */
  .footer {
    padding: 50px 0 25px;
  }
  
  .footer__nav {
    gap: 20px;
  }
  
  .footer__nav a {
    font-size: 14px;
  }
  
  /* CTA Buttons */
  .contacts-cta__buttons {
    flex-direction: column;
    align-items: center;
  }
  
  .contacts-cta__buttons .btn {
    width: 100%;
    max-width: 280px;
  }
  
  /* Scroll Top */
  .scroll-top {
    width: 45px;
    height: 45px;
    bottom: 20px;
    right: 20px;
  }
}

/* Small Mobile: < 576px */
@media (max-width: 575px) {
  :root {
    --font-size-h1: 28px;
    --font-size-h2: 24px;
    --font-size-h3: 18px;
    --font-size-body: 16px;
    --section-padding: 40px;
    --card-padding: 20px;
  }
  
  /* Header */
  .header__logo-text {
    font-size: 15px;
  }
  
  .header__logo-text span {
    display: none;
  }
  
  /* Hero */
  .hero {
    padding: 50px 0;
  }
  
  .hero__logo {
    width: 80px;
    height: 80px;
    margin-bottom: 25px;
    border-radius: 16px;
  }
  
  .hero__logo svg {
    width: 45px;
    height: 45px;
  }
  
  .hero h1 {
    font-size: 26px;
  }
  
  .hero__subtitle {
    font-size: 16px;
    margin-bottom: 30px;
  }
  
  /* Buttons */
  .btn {
    padding: 12px 24px;
    font-size: 15px;
  }
  
  .btn--large {
    padding: 14px 30px;
    font-size: 16px;
  }
  
  /* Stats */
  .stat-item__number {
    font-size: 42px;
  }
  
  .stat-item__label {
    font-size: 14px;
  }
  
  /* Cards */
  .advantage-card__icon,
  .value-card__icon,
  .audience-card__icon {
    width: 55px;
    height: 55px;
  }
  
  .advantage-card__icon svg,
  .value-card__icon svg,
  .audience-card__icon svg {
    width: 26px;
    height: 26px;
  }
  
  /* Process */
  .process__timeline::before {
    left: 20px;
  }
  
  .process-step__number {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .process-step__content h3 {
    font-size: 17px;
  }
  
  .process-step__content p {
    font-size: 14px;
  }
  
  /* Cases */
  .case-card {
    padding: 25px;
  }
  
  .case-card h3 {
    font-size: 18px;
  }
  
  /* Contacts */
  .contact-card__icon {
    width: 50px;
    height: 50px;
  }
  
  .contact-card__icon svg {
    width: 24px;
    height: 24px;
  }
  
  /* Footer */
  .footer__logo-icon {
    width: 40px;
    height: 40px;
  }
  
  .footer__logo-text {
    font-size: 16px;
  }
  
  .footer__nav {
    flex-direction: column;
    gap: 12px;
  }
}

/* Touch device optimizations */
@media (hover: none) {
  .card:hover,
  .btn:hover,
  .advantage-card:hover,
  .value-card:hover {
    transform: none;
  }
  
  .business-preview__image:hover img,
  .history__image:hover img,
  .team__image:hover img {
    filter: grayscale(100%);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  html {
    scroll-behavior: auto;
  }
}

/* Print styles */
@media print {
  .header,
  .footer,
  .scroll-top,
  .mobile-menu-btn {
    display: none !important;
  }
  
  body {
    background: white;
    color: black;
  }
  
  body::before {
    display: none;
  }
  
  .card {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  
  a {
    color: black;
    text-decoration: underline;
  }
  
  h1, h2, h3 {
    color: black;
  }
}
