@media (max-width: 1024px) {
  .nav {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .topbar-actions .nav-action {
    display: none;
  }

  .stats-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 0;
    padding: 28px 0;
  }

  .stat:nth-child(3) {
    border-inline-start: none;
  }

  .expertise-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quote-inner {
    grid-template-columns: 1fr 1fr;
  }

  .quote-media {
    display: none;
  }

  .quote-contact {
    padding-top: 0;
  }

  .faq-section .container {
    grid-template-columns: 1fr;
  }

  .faq-section .section-head {
    position: static;
  }
}

@media (max-width: 760px) {

  .stats {
    margin-block-start: var(--s-5);
  }

  .container {
    width: calc(100% - 32px);
  }

  .brand-text small {
    display: none;
  }

  .hero-bg::before {
    background-image: url("../img/hero-bg-768.webp");
  }

  .hero {
    min-height: auto;
    padding-top: calc(var(--header-h) + 20px);
    padding-bottom: 36px;
  }

  .hero-bg::after {
    background:
      linear-gradient(180deg, rgba(28, 22, 17, 0.82) 0%, rgba(28, 22, 17, 0.88) 60%, var(--night) 100%);
  }

  .section {
    padding: 40px 0;
  }

  .stats-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 20px 0;
  }

  .stat {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-2);
    border-inline-start: none;
    border-top: none;
    padding: 16px 14px;
    border: 1px solid var(--line-light);
    border-radius: var(--r-md);
    background: var(--white);
  }

  .stat-body strong {
    font-size: clamp(1rem, 4.6vw, 1.2rem);
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  .cabinet-inner,
  .booking-inner,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cabinet-media {
    order: -1;
  }

  .collapsible {
    position: relative;
    max-height: 7.4em;
    overflow: hidden;
    transition: max-height var(--t-enter) var(--ease-out);
  }

  .collapsible::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 2.6em;
    background: linear-gradient(transparent, var(--cream));
    pointer-events: none;
    transition: opacity var(--t-base) var(--ease-out);
  }

  .collapsible.open {
    max-height: 60em;
  }

  .collapsible.open::after {
    opacity: 0;
  }

  .collapse-toggle {
    display: inline-block;
  }

  .collapse-toggle,
  .text-link,
  .map-link,
  .footer-col .text-link {
    padding-block: 5px;
  }

  .expertise-grid,
  .engagements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-3);
  }

  .expertise-card {
    padding: 22px 14px 20px;
  }

  .engagement-card {
    padding: 24px 16px;
  }

  .expertise-card h3,
  .engagement-card h3 {
    font-size: var(--fs-md);
  }

  .expertise-card p,
  .engagement-card p {
    font-size: var(--fs-sm);
    line-height: 1.6;
  }

  .quote-inner {
    grid-template-columns: 1fr;
    gap: var(--s-5);
    padding-top: 36px;
  }

  .quote-text {
    padding-bottom: 0;
  }

  .quote-contact {
    padding-bottom: 36px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .booking-inner {
    gap: 22px;
  }

  .availability-legend,
  .availability {
    display: none;
  }

  .availability-hours {
    margin-top: var(--s-4);
    padding: 10px 14px;
    border: 1px solid var(--gold-line);
    border-radius: var(--r-pill);
    background: var(--gold-soft);
    color: var(--ink);
    font-weight: 600;
    font-size: var(--fs-sm);
  }

  #steps-collapsible {
    max-height: 5em;
  }

  #steps-collapsible.open {
    max-height: 40em;
  }

  .booking-form {
    --form-gap: 14px;
    padding: 26px 20px;
  }

  .choice-pills:not(.segmented) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .choice-pills:not(.segmented) .choice {
    min-width: 0;
  }

  .choice-pills:not(.segmented) .choice-face {
    flex-direction: column;
    gap: 3px;
    min-height: 56px;
    padding: 6px 4px;
    border-radius: var(--r-md);
    font-size: var(--fs-xs);
  }

  .steps {
    margin-top: 18px;
    gap: 10px;
  }

  .steps li::after {
    top: 34px;
    bottom: -12px;
  }

  .availability-legend {
    margin-top: 18px;
  }

  .availability span {
    width: 42px;
    height: 42px;
    font-size: var(--fs-xs);
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 0 24px;
  }

  .mobile-cta {
    display: flex;
  }

  .fab-container {
    display: none;
  }

  body {
    padding-bottom: 68px;
  }

  .back-to-top {
    bottom: 84px;
    right: 16px;
  }

  .legal-dialog {
    padding: 24px 20px;
  }
}

html[dir="rtl"] .back-to-top {
  right: auto;
  left: 24px;
}

html[dir="rtl"] .fab-container {
  right: auto;
  left: 24px;
}

@media (max-width: 760px) {
  html[dir="rtl"] .back-to-top {
    right: auto;
    left: 16px;
  }

  html[dir="rtl"] .fab-container {
    right: auto;
    left: 16px;
  }
}
