/* ==========================================================================
   Responsive + RTL
   ========================================================================== */

/* 1366–1599px: slightly smaller nav labels so nav + call block + CTA share one row */
@media (max-width: 1599.98px) {
  .main-nav__link { font-size: 0.9375rem; }
  .site-header__cta { font-size: 1rem; }
}

/* ≤ 1365px: drop the header call block so all seven nav items fit */
@media (max-width: 1365.98px) {
  .site-header__end { display: none; }
}

@media (max-width: 1399.98px) {
  .topbar__info > .topbar__hours { display: none; }
  .credentials__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .credentials__item:nth-child(3) { border-inline-end: 0; }
  .credentials__item:nth-child(n + 4) { border-top: 1px solid rgba(255, 255, 255, 0.2); padding-top: 28px; margin-top: 24px; }
  .credentials__accent { width: 34%; }
}

/* ≤ 1199px: off-canvas navigation */
@media (max-width: 1199.98px) {
  :root { --header-height: 80px; }

  .main-nav { display: none; }
  .mobile-nav { display: block; margin-bottom: 8px; }

  .site-header__brand { flex: 1; margin-inline-end: 0; }
  .site-header__end { display: flex; margin-inline-start: 0; margin-inline-end: 16px; }
  .hamburger { display: flex; }
  .site-header.is-scrolled .site-header__inner { height: 72px; }
  .brand img { height: 48px; }
  .site-header.is-scrolled .brand img { height: 42px; }

  .hero { --rail: 0px; }
  .hero__rail { display: none; }

  .industries__track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--aman-orange) transparent; }
  .industry-grid { grid-template-columns: repeat(5, minmax(300px, 1fr)); }
  .industry-card { scroll-snap-align: start; min-height: 460px; }
  .industry-card::after { opacity: 0.68; }
  .industry-card__text { max-height: none; opacity: 1; margin-top: 12px; }
  .industries__controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
  .industries__hint { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 0.875rem; color: var(--color-text-on-dark); }
  .industries__hint i { color: var(--aman-orange); }
  .industries__buttons { display: flex; gap: 8px; }
  .industries__btn { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--color-border-dark); color: var(--color-white); transition: background-color var(--duration) var(--ease); }
  .industries__btn:hover { background: var(--aman-orange); border-color: var(--aman-orange); }

  .process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 48px; }

  .mega-menu, .dropdown { display: none; }
}

/* ≤ 991px: stack hero and two-column layouts */
@media (max-width: 991.98px) {
  .topbar__info > .topbar__location { display: none; }
  .topbar__info > .topbar__phone { margin-inline-start: 0; padding-inline-start: 0; }
  .topbar__info > .topbar__phone::before { display: none; }

  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero__content { padding-inline: var(--page-gutter); padding-block: 56px 48px; }
  .hero__lines { display: none; }
  .hero__media { min-height: 0; aspect-ratio: 4 / 3; }
  .hero__media::before { height: 40%; width: 8px; }
  .hero__badge { max-width: 100%; inset-inline-end: 64px; padding: 20px 24px; }
  .hero__badge-num { font-size: 2.75rem; }

  .capabilities__aside { margin-top: 28px; }
  .capabilities__bg { width: 100%; }

  .about__visual { max-width: 660px; margin-top: 40px; }

  .services__intro, .industries__intro { margin-top: 20px; }
  .projects__stats { justify-content: flex-start; margin-top: 28px; }
  .projects__stats li:first-child { padding-inline-start: 0; border-inline-start: 0; }


  .why__visual { flex: none; min-height: 0; height: 300px; margin-inline: calc(var(--page-gutter) * -1); margin-top: 36px; margin-bottom: 0; }
  .why__visual picture { clip-path: none; }
  .why__visual::before, .why__visual::after { display: none; }

  .contact-cta__box { grid-template-columns: 1fr; gap: 36px; }
  .contact-cta__bg { inset-inline-start: auto; inset-inline-end: -10%; width: 80%; opacity: 0.45; }
  .contact-cta__streak--right::before { display: none; }
  .faq__visual { flex: none; min-height: 0; height: 260px; margin-inline: calc(var(--page-gutter) * -1); }
  .faq__visual picture { -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 40%); mask-image: linear-gradient(to bottom, transparent 0%, #000 40%); }
  .faq__visual::after { display: none; }
}

/* ≤ 767px */
@media (max-width: 767.98px) {
  :root { --section-spacing: 64px; }

  /* g-5's 48px gutter would exceed the 16px page gutter */
  .g-5 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 2.5rem; }
  .section-heading { margin-bottom: 32px; }

  /* Trust strip */
  .trust-strip__inner { flex-direction: column; align-items: flex-start; gap: 12px; padding-block: 18px; }
  .trust-strip__label { padding-inline-end: 0; border-inline-end: 0; }
  .trust-strip__list li { font-size: 0.875rem; }
  .trust-strip__list { gap: 6px 18px; }
  .trust-strip__list li { padding-inline: 0; }
  .trust-strip__list li + li { border-inline-start: 0; }

  /* "Show all" disclosures shorten long catalogues on phones */
  .show-all:not([hidden]) { display: flex; width: 100%; margin-top: 28px; }
  .is-collapsible:not(.is-expanded) .is-collapsible-item { display: none; }

  /* <details data-collapse-mobile> become real toggles */
  .collapse-mobile__summary { min-height: 48px; cursor: pointer; }
  .collapse-mobile__summary > i { display: block; color: var(--color-accent); transition: transform var(--duration) var(--ease); }
  .collapse-mobile[open] > .collapse-mobile__summary > i { transform: rotate(180deg); }
  .partners .collapse-mobile { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
  .partners .collapse-mobile .partners__label { margin: 0; }
  .partners .collapse-mobile[open] .oem-list { padding-bottom: 20px; }
  .footer-group { border-bottom: 1px solid var(--color-border-dark); }
  .footer-group .site-footer__title { margin: 0; }
  .footer-group .site-footer__title--spaced { margin-top: 0; }
  .footer-group[open] .site-footer__links { padding-bottom: 18px; }
  .footer-group .collapse-mobile__summary > i { color: var(--aman-orange); }
  .footer-group .site-footer__title::after { display: none; }
  .footer-group .collapse-mobile__summary { padding-block: 6px; }
  .site-footer__top .row.g-5 { --bs-gutter-y: 0; }
  .site-footer__top .row.g-5 > :first-child { margin-bottom: 28px; }
  .site-footer__top .row.g-5 > :last-child { margin-top: 36px; }
  .client-logos { margin-top: 40px; padding-top: 32px; }
  .site-footer .row > [class*="col-"] + [class*="col-"] .footer-group:first-child { margin-top: 0; }

  .topbar { font-size: 0.8125rem; }
  .topbar__inner { padding-inline: var(--page-gutter); }
  .topbar__info > .topbar__email { display: none; }
  .topbar__end > * + * { margin-inline-start: 16px; padding-inline-start: 16px; }

  .site-header__end { display: none; }
  .site-header__cta .site-header__cta-text,
  .site-header__cta .site-header__cta-arrow,
  .site-header__cta .site-header__cta-icon { display: none; }
  .site-header__cta-short { display: inline; }
  .site-header__cta { padding-inline: 20px; font-size: 0.9375rem; }

  .hero__quick a { min-height: 44px; }
  .why__visual, .faq__visual { display: none; }

  /* Process: compact numbered list on phones */
  .process__steps { grid-template-columns: 1fr; row-gap: 0; }
  .process-step { display: grid; grid-template-columns: 52px 1fr; column-gap: 14px; padding: 22px 0; border-top: 1px solid var(--color-border-dark); }
  .process-step::before, .process-step::after { display: none; }
  .process-step__num { grid-row: span 2; margin: 0; font-size: 1.75rem; color: var(--aman-orange); -webkit-text-stroke: 0; }
  .process-step__title { margin-bottom: 6px; }
  .credentials__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credentials__item { border-inline-end: 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .credentials__item:nth-child(odd) { border-inline-end: 1px solid rgba(255, 255, 255, 0.2) !important; }
  .credentials__item:nth-child(-n + 2) { border-top: 0; }
  .credentials__item:last-child { grid-column: 1 / -1; border-inline-end: 0 !important; }
  .credentials__title { padding: 28px 24px 4px; }
  .credentials__item { padding: 22px 24px 24px; margin-top: 0 !important; }
  .credentials__accent { width: 50%; opacity: 0.5; }
  .credentials dt .credentials__icon { font-size: 2rem; margin-bottom: 14px; }

  .oem-list { grid-template-columns: 1fr; }
  .why__grid { grid-template-columns: 1fr; }
  .why-card { padding: 32px 26px 30px; }
  .why-card__icon { width: 64px; height: 64px; font-size: 1.5rem; }
  .why__visual { height: 220px; }

  .filter-bar { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .filter-bar__btn { padding: 14px 10px 12px; font-size: 0.75rem; gap: 8px; }
  .projects__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .projects__stats li { flex-direction: column; align-items: flex-start; padding-inline: 12px; gap: 8px; }
  .projects__stats i { font-size: 1.5rem; }
  .projects__stats strong { font-size: 1.375rem; }
  .projects__stats small { font-size: 0.75rem; }
  .projects__bg { width: 100%; height: 300px; }
  .projects__footer::before, .projects__footer::after { display: none; }
  .filter-bar__btn { border-bottom: 1px solid var(--color-border); }
  .filter-bar__btn:nth-child(even) { border-inline-end: 0; }
  .filter-bar__btn:first-child { grid-column: 1 / -1; border-inline-end: 0; }
  .filter-bar__btn:last-child:nth-child(even) { grid-column: 1 / -1; }

  .client-logos__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .client-logos__item { height: 84px; padding: 12px; }
  .client-logos__item img { max-height: 46px; }

  .site-footer__links a { display: inline-block; padding-block: 7px; }
  .site-footer__links li + li { margin-top: 0; }
  .contact-cta__actions .btn { letter-spacing: 0.03em; }

  .float-whatsapp { bottom: 80px; inset-inline-end: 16px; width: 50px; height: 50px; }
  .back-to-top { inset-inline-end: 16px; bottom: 20px; width: 50px; height: 50px; }

}

/* ≤ 575px */
@media (max-width: 575.98px) {
  .site-header__inner { padding-inline-start: var(--page-gutter); }
  .hamburger { width: 44px; height: 44px; margin-inline-end: 12px; }
  .site-header__cta { padding-inline: 18px; }
  .brand img { height: 40px; }
  .site-header.is-scrolled .brand img { height: 36px; }

  .hero__actions { width: 100%; }
  .hero__actions .btn { flex: 1 1 100%; }
  .hero__media { aspect-ratio: 1 / 1; }
  .hero__badge { inset-inline-end: 0; gap: 16px; }
  .hero__badge-num { font-size: 2.25rem; }

  .eyebrow::before { width: 28px; }

  .capabilities__aside { padding-inline-start: 22px; }
  .capability-card__media { aspect-ratio: 16 / 10; }
  .capability-card__num, .capability-card__icon { width: 60px; height: 60px; }
  .capability-card__num { font-size: 1.375rem; }
  .capability-card__icon { font-size: 1.5rem; }
  .capability-card__head { gap: 16px; }
  .capability-card__body { padding-inline-end: 24px; padding-bottom: 28px; }
  .capability-card__arrow { display: none; }
  .capability-card__link { margin-top: 4px; }

  .service-card__body { padding: 26px 24px 26px; }

  .about__lifecycle { display: none; }
  /* About visual: one photo with the badge as an in-flow strip */
  .about__media { padding: 0; }
  .about__frame, .about__img--inset { display: none; }
  .about__img--main { width: 100%; aspect-ratio: 4 / 3; }
  .about__badge { position: relative; top: auto; inset-inline-end: auto; display: flex; align-items: center; gap: 18px; width: auto; padding: 18px 20px; }
  .about__badge-num { font-size: 3rem; }
  .about__badge-text { margin-top: 0; font-size: 0.8125rem; }
  .about__badge-text::after { display: none; }
  .strength__icon { width: 64px; font-size: 1.375rem; }
  .strength__body { padding: 16px 18px 18px; }
  .about__stats li { flex-direction: column; align-items: flex-start; gap: 8px; padding-inline: 12px; }
  .about__stats i { font-size: 1.5rem; }


  .credentials__list { grid-template-columns: 1fr; }
  .credentials__item { border-inline-end: 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.2) !important; }
  .credentials__item:first-child { border-top: 0 !important; }

  .accordion__q { padding: 18px 16px; gap: 14px; font-size: 1rem; }
  .accordion__mark { width: 34px; height: 34px; font-size: 1rem; }
  .accordion__toggle { width: 34px; height: 34px; }
  .accordion__a { padding: 0 16px 20px; }
  .area-list a { padding: 14px 16px 14px 14px; gap: 14px; }

  .contact-cta__actions .btn { flex: 1 1 100%; }
  .contact-cta__box { margin-inline: calc(var(--page-gutter) * -1); }

  .site-footer__bottom { flex-direction: column; }
}

/* RTL: mirror transforms that logical properties don't cover */
html[dir="rtl"] .offcanvas__panel { transform: translateX(100%); }
html[dir="rtl"] .offcanvas.is-open .offcanvas__panel { transform: none; }
html[dir="rtl"] .fa-arrow-right { transform: scaleX(-1); }
html[dir="rtl"] .btn:hover i.fa-arrow-right,
html[dir="rtl"] .link-arrow:hover i,
html[dir="rtl"] .site-header__cta:hover .site-header__cta-arrow { transform: scaleX(-1) translateX(4px); }
html[dir="rtl"] .main-nav__link::after,
html[dir="rtl"] .industry-card::before { transform-origin: right; }
html[dir="rtl"] .hero__rail-label { transform: none; }
html[dir="rtl"] .eyebrow, html[dir="rtl"] .btn, html[dir="rtl"] .link-arrow,
html[dir="rtl"] .main-nav__link { letter-spacing: 0; text-transform: none; }

/* Print */
@media print {
  .topbar, .site-header, .offcanvas, .float-whatsapp, .back-to-top, .hero__rail { display: none !important; }
  .section--navy { background: none; color: #000; }
  [data-animate] { opacity: 1 !important; }
}
