/* HAMAN Group — Premium Corporate Styles */

:root {
  --primary: #111111;
  --secondary: #F5F5F2;
  --accent: #C8222C;        /* HAMAN Red — refined from logo */
  --accent-dark: #A61B24;   /* hover / pressed */
  --accent-bright: #E2333E; /* red on dark surfaces */
  --gray-brand: #8A8C8E;    /* logo corporate gray */
  --text: #2A2A2A;
  --text-light: #6B6B6B;
  --bg: #FFFFFF;
  --font-en: 'Inter', system-ui, sans-serif;
  --font-ar: 'Noto Sans Arabic', system-ui, sans-serif;
  --header-float-gap: clamp(1rem, 2.2vw, 1.75rem);
  --header-h: clamp(5.25rem, 7vw, 6.25rem);
  --header-offset: calc(var(--header-float-gap) + var(--header-h));
  --header-float-width: min(90vw, 1720px);
  --header-radius: clamp(1rem, 1.8vw, 1.5rem);
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --max-text: 40rem;
  --section-pad: clamp(5.5rem, 13vw, 10rem);
  --section-gap: clamp(0rem, 2vw, 1rem);
  --gutter: clamp(1.5rem, 4vw, 4rem);
  --line-body: 1.78;
  --line-lead: 1.92;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-offset) + 1rem);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  width: 100%;
}

html[lang="ar"] { direction: rtl; }
html[lang="en"] { direction: ltr; }

body {
  font-family: var(--font-en);
  font-size: 1rem;
  line-height: var(--line-body);
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
  width: 100%;
  letter-spacing: 0.01em;
}

html[lang="ar"] body { font-family: var(--font-ar); }

img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul { list-style: none; }

/* Typography */
h1, h2, h3, h4 {
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.75rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 400; }

.eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.5rem;
}

.lead {
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
  line-height: var(--line-lead);
  color: var(--text-light);
  max-width: var(--max-text);
}

.text-balance { text-wrap: balance; }

/* Layout */
.container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: var(--gutter);
}

.container--narrow { max-width: 960px; }

.section {
  padding-block: var(--section-pad);
}

.section--secondary { background: var(--secondary); }

/* ── Ultra-Premium Header ── */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

#header-mount {
  position: fixed;
  top: var(--header-float-gap);
  left: 50%;
  transform: translateX(-50%);
  width: var(--header-float-width);
  z-index: 1000;
  height: auto;
  pointer-events: none;
}

.header {
  position: relative;
  width: 100%;
  height: var(--header-h);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: var(--header-radius);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: none;
  pointer-events: auto;
  transition:
    background 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    backdrop-filter 0.35s ease;
}

.header.header--solid,
.header.is-scrolled,
.header.is-mega-open {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: rgba(17, 17, 17, 0.06);
  box-shadow:
    0 4px 24px rgba(17, 17, 17, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.header.is-scrolled {
  box-shadow:
    0 10px 40px rgba(17, 17, 17, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.header__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 0 auto;
  padding-block: clamp(0.3rem, 0.55vw, 0.45rem);
  padding-inline: clamp(4.75rem, 10.5vw, 8rem);
}

.header__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(0.1rem, 0.25vw, 0.2rem);
  max-width: 100%;
  min-width: 0;
}

.header__actions {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  z-index: 1002;
}

.header__actions--left {
  left: clamp(1.25rem, 3vw, 2.75rem);
}

.header__actions--right {
  right: clamp(1.25rem, 3vw, 2.75rem);
  gap: clamp(0.85rem, 1.6vw, 1.65rem);
}

.header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1002;
  height: auto;
  padding: 0;
  flex-shrink: 0;
}

.header__logo-img {
  width: clamp(100px, 8.5vw, 135px);
  height: auto;
  max-width: none;
  object-fit: contain;
  display: block;
  transition: opacity 0.35s ease, filter 0.35s ease;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__logo-img {
  filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.28));
}

.header__nav {
  min-width: 0;
  max-width: 100%;
}

/* Navigation */
.header__nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: clamp(1.15rem, 1.75vw, 1.85rem);
}

.header__nav-list > li {
  flex-shrink: 0;
}

.header__link {
  font-size: clamp(0.5625rem, 0.68vw, 0.6875rem);
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--primary);
  background: none;
  border: none;
  font-family: inherit;
  transition: opacity 0.35s ease, color 0.35s ease;
  position: relative;
  padding-block: 0.2rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.header__link::after { display: none; }

.header__link:hover,
.mega-wrap.is-open > .header__link {
  opacity: 0.55;
  color: var(--primary);
}

.header__link.is-active {
  opacity: 1;
  color: var(--primary);
}

html[lang="ar"] .header__link,
html[lang="ar"] .mega-trigger {
  font-weight: 400;
  font-size: 15px;
}

html[lang="ar"] .mobile-nav__link {
  font-weight: 400;
  font-size: 16px;
}

/* Hero — glass header: light menu on dark video */
.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__link {
  color: #fff;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__link:hover,
.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .mega-wrap.is-open > .header__link {
  color: #fff;
  opacity: 0.72;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__link.is-active {
  color: #fff;
  opacity: 1;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__lang {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.38);
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__lang:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.72);
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__search {
  color: #fff;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__search:hover {
  opacity: 0.72;
}

.header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) .header__toggle span {
  background: #fff;
}

/* Actions */
.header__lang {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  padding: 0.42rem 0.62rem;
  border: 1px solid rgba(17, 17, 17, 0.14);
  transition: color 0.35s ease, border-color 0.35s ease;
  flex-shrink: 0;
}

.header__lang:hover { border-color: var(--accent); color: var(--accent); }

.header__search {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  padding: 0.35rem;
  transition: opacity 0.35s ease, color 0.35s ease;
  flex-shrink: 0;
}

.header__search:hover { opacity: 0.5; }

.header__search svg {
  width: 18px;
  height: 18px;
}

.header__cta {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #fff;
  background: var(--primary);
  padding: 0.62rem 1.2rem;
  border: 1px solid var(--primary);
  transition: background 0.35s ease, color 0.35s ease, opacity 0.35s ease;
  flex-shrink: 0;
  white-space: nowrap;
}

.header__cta:hover {
  background: #2a2a2a;
  border-color: #2a2a2a;
  color: #fff;
  opacity: 0.95;
}

.header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  width: 44px;
  height: 44px;
  z-index: 1002;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.header__toggle span {
  display: block;
  width: 26px;
  height: 1.5px;
  background: var(--primary);
  transition: transform 0.4s var(--ease), opacity 0.4s var(--ease);
  margin-inline: auto;
}

.header__toggle.is-active span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.header__toggle.is-active span:last-child {
  transform: translateY(-3px) rotate(-45deg);
}

/* Mega Menu — Florim-inspired */
.mega-wrap { position: static; }

.mega-panel {
  position: fixed;
  top: var(--header-offset);
  inset-inline: 0;
  background: var(--bg);
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
  padding: clamp(2.5rem, 5vw, 3.5rem) var(--gutter);
  box-shadow: 0 12px 40px rgba(17, 17, 17, 0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease-out), visibility 0.45s;
  pointer-events: none;
  overflow: hidden;
}

.mega-wrap.is-open .mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.mega-panel__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 40% 35% 25%;
  column-gap: 48px;
  align-items: start;
}

.mega-panel__visual {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--secondary);
}

.mega-panel__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}

.mega-wrap.is-open .mega-panel__visual img { transform: scale(1.02); }

.mega-panel__label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.75rem;
}

.mega-panel__list li { margin-bottom: 1rem; }

.mega-panel__list a {
  font-size: 1rem;
  font-weight: 300;
  color: var(--primary);
  display: inline-block;
  position: relative;
  padding-bottom: 2px;
  transition: color 0.3s var(--ease);
}

.mega-panel__list a::after {
  content: '';
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  width: 0;
  height: 1px;
  background: var(--accent);
  transition: width 0.4s var(--ease-out);
}

.mega-panel__list a:hover { color: var(--accent); }
.mega-panel__list a:hover::after { width: 100%; }

.mega-panel__list--cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap-inline: 2rem;
}

.mega-panel__list--companies {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 0.85rem;
  max-width: 100%;
  width: 100%;
  align-items: start;
}

.mega-panel__list--companies li { margin-bottom: 0; }

.mega-panel__links,
.mega-panel__desc {
  min-width: 0;
}

/* Companies mega — compact premium cards */
.mega-panel__list--companies a.mega-co-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 120px;
  padding: 0.75rem 0.65rem 0.65rem;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.07);
  box-shadow: 0 4px 14px rgba(17, 17, 17, 0.05);
  position: relative;
  transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease),
    border-color 0.3s var(--ease);
}

.mega-panel__list--companies a.mega-co-card::after { display: none; }

.mega-panel__list--companies a.mega-co-card:hover {
  color: inherit;
  transform: translateY(-3px);
  border-color: rgba(17, 17, 17, 0.1);
  box-shadow: 0 8px 18px rgba(17, 17, 17, 0.08);
}

.mega-co-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 60px;
  margin-bottom: 0.55rem;
  padding-inline: 0.15rem;
}

.mega-co-card__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 90px;
  max-height: 55px;
  object-fit: contain;
  object-position: center;
  transition: transform 0.3s var(--ease-out);
}

.mega-co-card:hover .mega-co-card__logo img {
  transform: scale(1.03);
}

.mega-co-card__name {
  display: block;
  font-size: 0.67rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--text-light);
  max-width: 20ch;
  transition: color 0.35s var(--ease);
}

.mega-co-card:hover .mega-co-card__name {
  color: var(--primary);
}

.mega-panel__desc {
  position: relative;
  z-index: 1;
}

.mega-panel__desc p {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--text-light);
  max-width: 26ch;
}

.mega-panel__cta {
  display: inline-block;
  margin-top: 2rem;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid var(--primary);
  padding-bottom: 0.25rem;
  transition: color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.mega-panel__cta:hover { color: var(--accent); border-color: var(--accent); }

.header-backdrop {
  position: fixed;
  inset: 0;
  top: var(--header-offset);
  z-index: 999;
  background: rgba(17, 17, 17, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s var(--ease), visibility 0.45s;
}

.header-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Search Overlay */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(255, 255, 255, 0.97);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: clamp(8rem, 18vh, 12rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s var(--ease), visibility 0.4s;
}

.search-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.search-overlay[hidden] { display: none; }
.search-overlay:not([hidden]) { display: flex; }

.search-overlay__inner {
  width: 100%;
  max-width: 640px;
  padding-inline: var(--gutter);
  position: relative;
}

.search-overlay__close {
  position: absolute;
  top: -4rem;
  inset-inline-end: var(--gutter);
  color: var(--primary);
  padding: 0.5rem;
  transition: opacity 0.3s var(--ease);
}

.search-overlay__close:hover { opacity: 0.5; }

.search-overlay__input {
  width: 100%;
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  font-weight: 300;
  color: var(--primary);
  border: none;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
  background: transparent;
  padding: 0.75rem 0;
  font-family: inherit;
  outline: none;
  transition: border-color 0.3s var(--ease);
}

.search-overlay__input:focus { border-bottom-color: var(--accent); }
.search-overlay__input::placeholder { color: rgba(17, 17, 17, 0.25); }

/* ── Premium Showroom Hero ── */
.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  margin: 0;
  padding: 0;
}

.hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.hero__bg-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  will-change: transform;
  animation: heroBgZoom 32s ease-in-out infinite alternate;
}

@keyframes heroBgZoom {
  from { transform: translate(-50%, -50%) scale(1); }
  to { transform: translate(-50%, -50%) scale(1.045); }
}

.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      102deg,
      rgba(8, 8, 8, 0.48) 0%,
      rgba(8, 8, 8, 0.28) 42%,
      rgba(8, 8, 8, 0.2) 100%
    );
  pointer-events: none;
}

.hero__vignette {
  display: none;
}

.hero__content {
  position: absolute;
  z-index: 2;
  left: clamp(1.5rem, 7vw, 7rem);
  right: auto;
  top: 50%;
  bottom: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: auto;
  max-width: min(42rem, 88vw);
  padding: 0;
  text-align: left;
  direction: ltr;
  unicode-bidi: isolate;
  transform: translateY(calc(-50% + 1.5rem));
  transition: opacity 0.05s linear;
  will-change: opacity, transform;
}

html[lang="ar"] .hero__content,
html[lang="en"] .hero__content {
  left: clamp(1.5rem, 7vw, 7rem);
  right: auto;
  align-items: flex-start;
  text-align: left;
  direction: ltr;
}

.hero__headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
  width: 100%;
  text-align: left;
  direction: ltr;
  unicode-bidi: isolate;
}

.hero__block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero__block + .hero__block {
  margin-top: clamp(1.35rem, 2.8vw, 2.25rem);
}

.hero__thin {
  display: block;
  font-family: var(--font-en);
  font-weight: 200;
  font-size: clamp(0.6875rem, 1.05vw, 0.8125rem);
  line-height: 1;
  letter-spacing: 0.44em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: clamp(0.45rem, 0.9vw, 0.65rem);
  direction: ltr;
  text-align: left;
}

.hero__emphasis {
  display: block;
  font-family: var(--font-en);
  font-weight: 300;
  font-size: clamp(2.65rem, 7.8vw, 5.75rem);
  line-height: 0.92;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 2px 32px rgba(0, 0, 0, 0.22);
  direction: ltr;
  text-align: left;
}

html[lang="ar"] .hero__headline,
html[lang="ar"] .hero__thin,
html[lang="ar"] .hero__emphasis {
  font-family: var(--font-en);
  text-align: left;
  direction: ltr;
}

.hero__lead {
  font-family: var(--font-en);
  font-size: clamp(0.8125rem, 1.15vw, 0.9375rem);
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.78);
  max-width: 38ch;
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

html[lang="ar"] .hero__lead {
  font-family: var(--font-ar);
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  font-family: var(--font-en);
  font-size: 0.625rem;
  font-weight: 300;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  padding: 0.85rem 1.75rem;
  transition:
    background 0.5s var(--ease),
    color 0.5s var(--ease),
    border-color 0.5s var(--ease),
    transform 0.5s var(--ease-out);
}

html[lang="ar"] .hero__btn {
  font-family: var(--font-ar);
  letter-spacing: 0.1em;
}

.hero__btn--primary {
  color: rgba(255, 255, 255, 0.94);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.48);
}

.hero__btn-arrow {
  color: var(--accent);
  font-size: 0.875rem;
  line-height: 1;
  transition: transform 0.45s var(--ease-out);
}

.hero__btn--primary:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.78);
  transform: translateY(-1px);
}

.hero__btn--primary:hover .hero__btn-arrow {
  transform: translateX(4px);
}

.hero__reveal {
  opacity: 0;
  transform: translateY(20px);
  animation: heroReveal 1.05s var(--ease-out) forwards;
}

.hero__reveal--1 { animation-delay: 0.25s; }
.hero__reveal--2 { animation-delay: 0.48s; }
.hero__reveal--3 { animation-delay: 0.68s; }

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero__btn--ghost {
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.38);
}

.hero__btn--ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

/* Hero — tablet */
@media (max-width: 1024px) {
  .hero__bg {
    object-fit: cover;
    object-position: center center;
  }

  .hero__content {
    max-width: min(38rem, 90vw);
    transform: translateY(calc(-50% + 2rem));
  }
}

/* Hero — mobile */
@media (max-width: 768px) {
  :root {
    --header-float-width: min(94vw, 100%);
    --header-h: clamp(4.1rem, 10.5vw, 4.85rem);
  }

  .hero {
    height: 100vh;
    min-height: 100svh;
    height: 100svh;
  }

  .hero__bg {
    width: 100vw;
    height: 100vh;
    height: 100svh;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .hero__content {
    left: clamp(1.25rem, 6vw, 2rem);
    top: auto;
    bottom: clamp(2.5rem, 8vh, 4.5rem);
    transform: none;
    max-width: min(34rem, 92vw);
    padding-bottom: 0;
  }

  .hero__emphasis {
    font-size: clamp(2.15rem, 11vw, 3.25rem);
    letter-spacing: 0.03em;
  }

  .hero__thin {
    letter-spacing: 0.32em;
  }

  .hero__block + .hero__block {
    margin-top: clamp(1rem, 3vw, 1.35rem);
  }

  .hero__headline {
    margin-bottom: clamp(1.25rem, 4vw, 1.75rem);
  }

  .hero__lead {
    font-size: 0.8125rem;
    margin-bottom: clamp(1.35rem, 4vw, 1.75rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg {
    animation: none;
    transform: translate(-50%, -50%);
  }

  .hero__reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Home — transparent header over hero */
body.page-home .header:not(.is-scrolled):not(.header--solid):not(.is-mega-open) {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

/* Showrooms page hero */
.showrooms-page-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--bg);
}

.showrooms-page-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.showrooms-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.showrooms-page-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.showrooms-lists {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.showrooms-list-header {
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.showrooms-list-header__title {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 300;
  color: var(--primary);
}

.branches-map-panel__link--muted {
  margin-top: 0.75rem;
  color: var(--text-light);
  border-color: rgba(17, 17, 17, 0.12);
}

.branch-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.branch-card__details-link {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.branch-card__details-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Showroom detail */
.showroom-hero {
  position: relative;
  min-height: clamp(420px, 55vw, 640px);
  display: flex;
  align-items: flex-end;
  padding-top: var(--header-offset);
  background: var(--primary);
}

.showroom-hero__image {
  position: absolute;
  inset: 0;
}

.showroom-hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17, 17, 17, 0.82) 0%, rgba(17, 17, 17, 0.2) 55%, transparent 100%);
}

.showroom-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.showroom-hero__content {
  position: relative;
  z-index: 1;
  padding-block: clamp(3rem, 6vw, 5rem);
}

.showroom-hero__back {
  display: inline-block;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 1.5rem;
  transition: color 0.35s var(--ease);
}

.showroom-hero__back:hover {
  color: #fff;
}

.showroom-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.showroom-hero__city {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 0.75rem;
}

.showroom-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 300;
  line-height: 1.15;
  color: #fff;
  max-width: 18ch;
}

.showroom-overview {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.showroom-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.showroom-overview__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

.showroom-overview__text {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
}

.showroom-contact {
  padding-bottom: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.showroom-contact__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(2rem, 4vw, 3rem);
  background: var(--bg);
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.showroom-contact__label {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.showroom-contact__value {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--primary);
}

.showroom-contact__value a {
  color: inherit;
}

.showroom-contact__directions {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border: 1px solid rgba(17, 17, 17, 0.18);
  padding: 0.9rem 1.5rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease), background 0.35s var(--ease);
}

.showroom-contact__directions:hover {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
}

.showroom-gallery {
  padding-bottom: clamp(5rem, 10vw, 8rem);
  background: #F7F6F3;
}

.showroom-section-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.showroom-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.showroom-gallery__item {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}

.showroom-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease);
}

.showroom-gallery__item:hover img {
  transform: scale(1.04);
}

@media (max-width: 768px) {
  .showroom-overview__grid {
    grid-template-columns: 1fr;
  }
}

/* Branches & Showrooms */
.branches-showcase {
  padding-block: clamp(5rem, 10vw, 8rem);
  background: #fff;
}

.branches-showcase--page {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
}

.branches-showcase__header {
  max-width: 46rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.branches-showcase__eyebrow {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.branches-showcase__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.branches-showcase__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.branches-showcase__body {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 6vw, 5rem);
}

.branches-showcase__map-row {
  width: 100%;
}

.branches-map-wrap {
  display: grid;
  grid-template-columns: 1fr minmax(240px, 320px);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: stretch;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: var(--bg);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.branches-map {
  min-height: clamp(320px, 42vw, 480px);
}

.branches-map__canvas {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.branches-map__svg {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
}

.branches-map__land {
  fill: #fff;
  stroke: none;
}

.branches-map__coast {
  fill: none;
  stroke: rgba(17, 17, 17, 0.14);
  stroke-width: 1.2;
}

.branches-map__markers {
  position: absolute;
  inset: 8% 12% 12% 8%;
}

.branches-map__marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 1;
}

.branches-map__marker-dot {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0.5rem;
  height: 0.5rem;
  margin: -0.25rem 0 0 -0.25rem;
  background: var(--primary);
  border-radius: 50%;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease);
}

.branches-map__marker-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  border: 1px solid rgba(17, 17, 17, 0.18);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
}

.branches-map__marker.is-active .branches-map__marker-dot,
.branches-map__marker:hover .branches-map__marker-dot {
  transform: scale(1.35);
  background: var(--accent);
}

.branches-map__marker.is-active .branches-map__marker-pulse,
.branches-map__marker:hover .branches-map__marker-pulse {
  opacity: 1;
}

.branches-map-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
  border-inline-start: 1px solid rgba(17, 17, 17, 0.08);
  background: #fff;
}

.branches-map-panel__city {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.75rem;
}

.branches-map-panel__name {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 1rem;
}

.branches-map-panel__address {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5rem;
}

.branches-map-panel__link {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.branches-map-panel__link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Featured showroom */
.branches-featured {
  position: relative;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}

.branches-featured__visual {
  min-height: clamp(360px, 50vw, 520px);
  overflow: hidden;
}

.branches-featured__visual img {
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 50vw, 520px);
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}

.branches-featured:hover .branches-featured__visual img {
  transform: scale(1.03);
}

.branches-featured__content {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  background: linear-gradient(to top, rgba(17, 17, 17, 0.72) 0%, transparent 100%);
  color: #fff;
}

.branches-featured__city {
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 0.75rem;
}

.branches-featured__name {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: 28ch;
}

.branches-featured__intro {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.75);
  max-width: 42ch;
  margin-bottom: 1.75rem;
}

.branches-featured__cta {
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
  padding: 1rem 2rem;
  cursor: pointer;
  transition: background 0.4s var(--ease), color 0.4s var(--ease);
}

.branches-featured__cta:hover {
  background: #fff;
  color: var(--primary);
}

/* Branch cards grid */
.branches-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2rem);
}

.branch-card {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border: 1px solid rgba(17, 17, 17, 0.08);
  transition: border-color 0.4s var(--ease);
}

.branch-card.is-active {
  border-color: rgba(17, 17, 17, 0.22);
}

.branch-card__visual {
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.branch-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.75s var(--ease);
}

.branch-card:hover .branch-card__visual img {
  transform: scale(1.04);
}

.branch-card__body {
  padding: clamp(1.5rem, 3vw, 2rem);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.branch-card__city {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.625rem;
}

.branch-card__name {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.branch-card__details {
  margin: 0 0 1.5rem;
  flex: 1;
}

.branch-card__row {
  padding-block: 0.875rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
}

.branch-card__row:first-child {
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.branch-card__row dt {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.35rem;
}

.branch-card__row dd {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--primary);
  margin: 0;
}

.branch-card__row dd a {
  color: inherit;
  transition: color 0.35s var(--ease);
}

.branch-card__row dd a:hover {
  color: var(--accent);
}

.branch-card__directions {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.branch-card__directions:hover {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1100px) {
  .branches-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .branches-map-wrap {
    grid-template-columns: 1fr;
  }

  .branches-map-panel {
    border-inline-start: none;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
  }
}

@media (max-width: 768px) {
  .branches-grid {
    grid-template-columns: 1fr;
  }

  .branches-map {
    min-height: 280px;
  }
}

/* Homepage contact CTA */
.home-contact-cta {
  padding-block: clamp(5rem, 10vw, 7rem);
  background: var(--primary);
  text-align: center;
}

.home-contact-cta__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-bright);
  margin-bottom: 1.25rem;
}

.home-contact-cta__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 1.25rem;
}

.home-contact-cta__text {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.65);
  max-width: 48ch;
  margin-inline: auto;
  margin-bottom: 2.5rem;
}

.home-contact-cta__btn {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 1rem 2.25rem;
  transition: color 0.35s var(--ease), background 0.35s var(--ease), border-color 0.35s var(--ease);
}

.home-contact-cta__btn:hover {
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

/* Our Customers page */
.customers-showcase {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(4rem, 8vw, 6rem);
  background: #F7F6F2;
  overflow: hidden;
}

.customers-showcase__header {
  text-align: center;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.customers-showcase__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.customers-showcase__title {
  font-size: clamp(2.75rem, 6vw, 4.5rem);
  font-weight: 200;
  line-height: 1.05;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.customers-showcase__subtitle {
  font-size: clamp(1.0625rem, 1.8vw, 1.375rem);
  font-weight: 300;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 36ch;
  margin-inline: auto;
  margin-bottom: 1.75rem;
}

.customers-showcase__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 300;
  line-height: 2;
  color: var(--text-light);
  max-width: 58ch;
  margin-inline: auto;
}

.customers-showcase__text {
  direction: inherit;
}

html[lang="ar"] .customers-showcase__text {
  direction: rtl;
}

html[lang="en"] .customers-showcase__text {
  direction: ltr;
}

.customers-marquee-wrap {
  position: relative;
  min-height: 472px;
  direction: ltr;
  unicode-bidi: isolate;
}

.customers-marquee,
.customers-marquee__row,
.customers-marquee__viewport,
.customers-marquee__inner {
  direction: ltr;
}

.customers-marquee__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 472px;
}

.customers-marquee__loading-line {
  display: block;
  width: 48px;
  height: 1px;
  background: rgba(200, 34, 44, 0.4);
  animation: customers-loading-pulse 1.4s ease-in-out infinite;
}

.customers-marquee-wrap.is-ready .customers-marquee__loading {
  display: none;
}

@keyframes customers-loading-pulse {
  0%, 100% { opacity: 0.35; transform: scaleX(0.85); }
  50% { opacity: 1; transform: scaleX(1); }
}

.customers-marquee {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.customers-marquee__row {
  width: 100%;
}

.customers-marquee__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 10%,
    #000 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 10%,
    #000 90%,
    transparent 100%
  );
}

.customers-marquee__inner {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 36px;
  will-change: transform;
}

.customers-marquee__inner--left {
  animation: customers-marquee-left 100s linear infinite;
}

.customers-marquee__inner--right {
  animation: customers-marquee-right 110s linear infinite;
}

.customers-marquee__row:hover .customers-marquee__inner {
  animation-play-state: paused;
}

.customers-marquee__card {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 220px;
  min-width: 240px;
  min-height: 220px;
  padding: 0.375rem;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.07);
  transition: border-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.customers-marquee__card:hover {
  border-color: rgba(200, 34, 44, 0.28);
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.07), 0 0 0 1px rgba(200, 34, 44, 0.06), 0 10px 32px rgba(200, 34, 44, 0.07);
}

.customers-marquee__card img {
  display: block;
  max-width: 92%;
  max-height: 92%;
  width: auto;
  height: auto;
  object-fit: contain;
}

@keyframes customers-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes customers-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@media (max-width: 1024px) {
  .customers-marquee-wrap,
  .customers-marquee__loading {
    min-height: 412px;
  }

  .customers-marquee__card {
    width: 200px;
    height: 180px;
    min-width: 200px;
    min-height: 180px;
  }
}

@media (max-width: 640px) {
  .customers-marquee-wrap,
  .customers-marquee__loading {
    min-height: 332px;
  }

  .customers-marquee__card {
    width: 170px;
    height: 150px;
    min-width: 170px;
    min-height: 150px;
    padding: 0.25rem;
    border-radius: 10px;
  }

  .customers-marquee__inner--left {
    animation-duration: 120s;
  }

  .customers-marquee__inner--right {
    animation-duration: 130s;
  }
}

/* Authorized Distributors */
.authorized-distributors-home,
.authorized-page-hero,
.authorized-page-showcase {
  position: relative;
  overflow: hidden;
}

.authorized-distributors-home {
  padding-block: clamp(6rem, 12vw, 9rem);
  background:
    linear-gradient(135deg, rgba(200, 34, 44, 0.045), transparent 38%),
    #fff;
}

.authorized-distributors-home__pattern,
.authorized-page-hero__pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 48%, rgba(200, 34, 44, 0.08) 48.15% 48.35%, transparent 48.5%),
    linear-gradient(60deg, transparent 0 62%, rgba(200, 34, 44, 0.055) 62.15% 62.35%, transparent 62.5%);
  background-size: 180px 180px, 240px 240px;
  opacity: 0.5;
}

.authorized-distributors-home__header,
.authorized-page-hero .container {
  position: relative;
  z-index: 1;
}

.authorized-distributors-home__header {
  max-width: 48rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.authorized-distributors-home__eyebrow,
.authorized-page-hero__eyebrow,
.authorized-category__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.authorized-distributors-home__title,
.authorized-page-hero__title {
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  font-weight: 300;
  line-height: 1.12;
  color: var(--primary);
  margin-bottom: 1.4rem;
}

.authorized-distributors-home__intro,
.authorized-page-hero__subtitle {
  font-size: clamp(1rem, 1.45vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
  max-width: 58ch;
}

.authorized-distributors-home__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.authorized-distributors-home__footer {
  position: relative;
  z-index: 1;
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

.authorized-brand-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 21rem;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(17, 17, 17, 0.07);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transition:
    transform 0.5s var(--ease-out),
    border-color 0.4s var(--ease),
    box-shadow 0.4s var(--ease),
    background 0.4s var(--ease);
}

.authorized-brand-card::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 3px;
  height: 0;
  background: var(--accent);
  transition: height 0.5s var(--ease-out);
}

.authorized-brand-card:hover {
  transform: translateY(-5px);
  border-color: rgba(200, 34, 44, 0.22);
  box-shadow: 0 18px 54px rgba(17, 17, 17, 0.08);
  background: #fff;
}

.authorized-brand-card:hover::before {
  height: 100%;
}

.authorized-brand-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: clamp(8.5rem, 15vw, 11.5rem);
  padding: clamp(1.25rem, 3vw, 2.25rem);
  background:
    radial-gradient(circle at 50% 35%, rgba(200, 34, 44, 0.06), transparent 52%),
    #F7F6F3;
  border: 1px solid rgba(17, 17, 17, 0.04);
}

.authorized-brand-card__media img {
  width: auto;
  height: auto;
  max-width: min(88%, 260px);
  max-height: clamp(4.5rem, 9vw, 6.75rem);
  object-fit: contain;
  object-position: center;
  transition: transform 0.55s var(--ease-out);
}

.authorized-brand-card:hover .authorized-brand-card__media img {
  transform: scale(1.04);
}

.authorized-brand-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 0.85rem;
}

.authorized-brand-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.35rem 0.7rem;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  background: rgba(200, 34, 44, 0.08);
  border: 1px solid rgba(200, 34, 44, 0.12);
}

.authorized-brand-card__name {
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--primary);
}

.authorized-logo-wall {
  position: relative;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-block: clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
  border-block: 1px solid rgba(17, 17, 17, 0.06);
  background: rgba(247, 246, 243, 0.72);
}

.authorized-logo-wall::before,
.authorized-logo-wall::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: clamp(3rem, 10vw, 8rem);
  pointer-events: none;
}

.authorized-logo-wall::before {
  inset-inline-start: 0;
  background: linear-gradient(90deg, #fff, transparent);
}

html[lang="ar"] .authorized-logo-wall::before {
  background: linear-gradient(270deg, #fff, transparent);
}

.authorized-logo-wall::after {
  inset-inline-end: 0;
  background: linear-gradient(270deg, #fff, transparent);
}

html[lang="ar"] .authorized-logo-wall::after {
  background: linear-gradient(90deg, #fff, transparent);
}

.authorized-logo-wall__track {
  display: flex;
  width: max-content;
  animation: authorizedLogoWall 55s linear infinite;
}

.authorized-logo-wall__set {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
  padding-inline: clamp(1rem, 3vw, 2rem);
}

.authorized-logo-wall__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(9rem, 16vw, 13rem);
  height: clamp(4.5rem, 8vw, 6.5rem);
}

.authorized-logo-wall__item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(0.08);
  opacity: 0.86;
}

@keyframes authorizedLogoWall {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

html[lang="ar"] .authorized-logo-wall__track {
  animation-direction: reverse;
}

.authorized-page-hero {
  padding-top: calc(var(--header-offset) + clamp(4rem, 8vw, 6rem));
  padding-bottom: clamp(4.5rem, 9vw, 7rem);
  background:
    linear-gradient(135deg, rgba(200, 34, 44, 0.08), transparent 42%),
    #fff;
}

.authorized-page-hero__title {
  max-width: 12ch;
}

html[lang="ar"] .authorized-page-hero__title {
  max-width: 18ch;
}

.authorized-page-showcase {
  padding-block: clamp(4rem, 8vw, 7rem);
  background: #F7F6F3;
}

.authorized-page-showcase .authorized-logo-wall {
  margin-top: 0;
  margin-bottom: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.authorized-category + .authorized-category {
  margin-top: clamp(4rem, 8vw, 6rem);
}

.authorized-category__header {
  max-width: 42rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.authorized-category__title {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--primary);
  margin-bottom: 1.2rem;
}

.authorized-category__divider {
  display: block;
  width: clamp(5rem, 10vw, 8rem);
  height: 1px;
  background: linear-gradient(90deg, var(--accent), rgba(200, 34, 44, 0));
}

html[lang="ar"] .authorized-category__divider {
  background: linear-gradient(270deg, var(--accent), rgba(200, 34, 44, 0));
}

.authorized-category__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 1024px) {
  .authorized-distributors-home__grid,
  .authorized-category__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .authorized-distributors-home__grid,
  .authorized-category__grid {
    grid-template-columns: 1fr;
  }

  .authorized-brand-card {
    min-height: 18rem;
  }

  .authorized-brand-card:hover {
    transform: none;
  }

  .authorized-brand-card__media img {
    max-height: clamp(4.25rem, 18vw, 6rem);
  }

  .authorized-logo-wall__track {
    animation-duration: 70s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customers-marquee__inner--left,
  .customers-marquee__inner--right {
    animation: none;
  }
}

.customers-cta {
  padding-block: clamp(5rem, 10vw, 7rem);
  background: var(--primary);
  text-align: center;
}

.customers-cta__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  color: #fff;
  margin-bottom: 2.5rem;
}

.customers-cta__btn {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 1rem 2.5rem;
  transition: color 0.35s var(--ease), background 0.35s var(--ease), border-color 0.35s var(--ease);
}

.customers-cta__btn:hover {
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

/* Contact page */
.contact-page-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--bg);
}

.contact-page-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.contact-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.contact-page-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.contact-page-info {
  padding-bottom: clamp(3rem, 6vw, 5rem);
  background: var(--bg);
}

.contact-premium__info--page {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0 clamp(2rem, 4vw, 3rem);
}

.contact-premium__info--page .contact-premium__block {
  border-bottom: none;
  padding-block: 0;
}

.contact-page-branches {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.contact-page-branches__header {
  max-width: 46rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.contact-page-branches__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.contact-page-branches__intro {
  font-size: clamp(1rem, 1.4vw, 1.0625rem);
  line-height: 1.85;
  color: var(--text-light);
}

.contact-page-map {
  padding-bottom: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.contact-page-form {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--secondary);
}

.contact-premium__form-wrap {
  max-width: 40rem;
  margin-inline: auto;
}

/* Premium Contact */
.contact-premium {
  padding-block: clamp(5rem, 11vw, 9rem);
  background: var(--secondary);
  position: relative;
}

.contact-premium--page {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  min-height: 100vh;
}

.contact-premium__header {
  max-width: 46rem;
  margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.contact-premium__eyebrow {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.contact-premium__title {
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 300;
  line-height: 1.12;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.contact-premium__intro {
  font-size: clamp(1rem, 1.45vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
  max-width: 52ch;
}

.contact-premium__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
}

.contact-premium__info {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contact-premium__block {
  padding-block: clamp(1.75rem, 3vw, 2.25rem);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.contact-premium__block:first-child {
  padding-top: 0;
}

.contact-premium__label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.contact-premium__value p,
.contact-premium__value a {
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  font-weight: 300;
  line-height: 1.75;
  color: var(--primary);
  transition: color 0.35s var(--ease);
}

.contact-premium__value a:hover {
  color: var(--accent);
}

.contact-premium__value p + p {
  margin-top: 0.35rem;
}

.contact-premium__social {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
}

.contact-premium__social-link {
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  position: relative;
  padding-bottom: 0.2rem;
}

.contact-premium__social-link::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 1px;
  background: rgba(17, 17, 17, 0.2);
  transform: scaleX(0);
  transform-origin: var(--reveal-origin, inline-end);
  transition: transform 0.4s var(--ease-out), background 0.35s var(--ease);
}

html[lang="ar"] .contact-premium__social-link::after {
  --reveal-origin: inline-start;
}

.contact-premium__social-link:hover {
  color: var(--accent);
}

.contact-premium__social-link:hover::after {
  transform: scaleX(1);
  background: var(--accent);
}

.contact-premium__map {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.contact-premium__map-preview {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin-bottom: 1.5rem;
  background: rgba(17, 17, 17, 0.04);
}

.contact-premium__map-preview::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(17, 17, 17, 0.12) 100%
  );
  pointer-events: none;
}

.contact-premium__map-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.15) contrast(1.02);
  transition: transform 0.8s var(--ease-out), filter 0.6s var(--ease);
}

.contact-premium__map:hover .contact-premium__map-preview img {
  transform: scale(1.03);
  filter: grayscale(0) contrast(1.05);
}

.contact-premium__map-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.25);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.contact-premium__map-btn::after {
  content: '→';
  font-family: var(--font-en);
  transition: transform 0.35s var(--ease-out);
}

html[lang="ar"] .contact-premium__map-btn::after {
  content: '←';
}

.contact-premium__map-btn:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.contact-premium__map-btn:hover::after {
  transform: translateX(4px);
}

html[lang="ar"] .contact-premium__map-btn:hover::after {
  transform: translateX(-4px);
}

.contact-premium__form-col {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 3.5rem);
}

.contact-premium__statement {
  padding: clamp(2rem, 4vw, 2.75rem);
  background: var(--bg);
  border-inline-start: 2px solid var(--accent);
}

html[lang="en"] .contact-premium__statement {
  border-inline-start: none;
  border-inline-end: 2px solid var(--accent);
}

.contact-premium__statement-title {
  font-size: clamp(1.25rem, 2.2vw, 1.625rem);
  font-weight: 300;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 1rem;
}

.contact-premium__statement-text {
  font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 42ch;
}

.contact-premium__form {
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 3vw, 2.25rem);
}

.contact-premium__notice {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--primary);
  padding: 1.25rem 1.5rem;
  background: rgba(200, 34, 44, 0.06);
  border-inline-start: 2px solid var(--accent);
}

.contact-premium__notice[hidden] {
  display: none;
}

.contact-premium__field {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.contact-premium__field label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-light);
}

.contact-premium__field input,
.contact-premium__field textarea,
.contact-premium__field select {
  width: 100%;
  padding: 1.25rem 0;
  border: none;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
  background: transparent;
  font: inherit;
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  font-weight: 300;
  color: var(--primary);
  transition:
    border-color 0.4s var(--ease),
    box-shadow 0.4s var(--ease),
    background 0.4s var(--ease);
  appearance: none;
  border-radius: 0;
}

.contact-premium__field select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23111111' fill-opacity='0.45' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 0 center;
  padding-inline-start: 0;
  padding-inline-end: 1.5rem;
}

html[lang="ar"] .contact-premium__field select {
  background-position: right 0 center;
}

.contact-premium__field textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.75;
}

.contact-premium__field input::placeholder,
.contact-premium__field textarea::placeholder {
  color: rgba(17, 17, 17, 0.28);
}

.contact-premium__field input:hover,
.contact-premium__field textarea:hover,
.contact-premium__field select:hover {
  border-bottom-color: rgba(17, 17, 17, 0.22);
}

.contact-premium__field input:focus,
.contact-premium__field textarea:focus,
.contact-premium__field select:focus {
  outline: none;
  border-bottom-color: var(--accent);
  box-shadow: 0 1px 0 0 rgba(200, 34, 44, 0.3);
}

.contact-premium__submit {
  align-self: flex-start;
  margin-top: 0.5rem;
  padding: 1.15rem 2.75rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  background: var(--primary);
  transition:
    background 0.4s var(--ease),
    transform 0.4s var(--ease-out),
    box-shadow 0.4s var(--ease);
}

.contact-premium__submit:hover {
  background: #2a2a2a;
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(17, 17, 17, 0.12);
}

.contact-premium__submit:active {
  transform: translateY(0);
  box-shadow: none;
}

@media (max-width: 1024px) {
  .contact-premium__grid {
    grid-template-columns: 1fr;
    gap: clamp(3.5rem, 8vw, 5rem);
  }

  .contact-premium__form-col {
    order: 2;
  }

  .contact-premium__info-col {
    order: 1;
  }
}

@media (max-width: 768px) {
  .contact-premium__statement {
    padding: 1.75rem 1.5rem;
  }

  .contact-premium__submit {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__content {
    transition: none;
    opacity: 1;
  }
}

/* About HAMAN Group */
.about-haman {
  background: var(--bg);
  padding-block: clamp(6rem, 12vw, 9rem);
}

.about-haman__grid {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: clamp(3.5rem, 7vw, 7rem);
  align-items: center;
  direction: ltr;
}

.about-haman__visual {
  grid-column: 1;
}

.about-haman__content {
  grid-column: 2;
  direction: rtl;
}

html[lang="en"] .about-haman__content {
  direction: ltr;
}

.about-haman__image-wrap {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--secondary);
}

.about-haman__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}

.about-haman__image-wrap:hover img {
  transform: scale(1.04);
}

.about-haman__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.75rem;
}

.about-haman__title {
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  font-weight: 300;
  line-height: 1.25;
  color: var(--primary);
  margin-bottom: 2.25rem;
  max-width: 22ch;
}

.about-haman__text p {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
  margin-bottom: 1.5rem;
  max-width: 42ch;
}

.about-haman__text p:last-child {
  margin-bottom: 0;
}

.about-haman__btn {
  display: inline-block;
  margin-top: 2.75rem;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  padding: 1.0625rem 2.25rem;
  border: 1px solid rgba(17, 17, 17, 0.22);
  transition: background 0.45s var(--ease), color 0.45s var(--ease), border-color 0.45s var(--ease);
}

.about-haman__btn:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

/* HAMAN Group Companies */
.group-companies {
  position: relative;
  padding-block: clamp(6rem, 12vw, 9rem);
  background: #F7F6F3;
  overflow: hidden;
}

.group-companies__texture {
  position: absolute;
  inset: 0;
  background-image: url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?w=1920&q=80");
  background-size: cover;
  background-position: center;
  opacity: 0.045;
  pointer-events: none;
}

.group-companies__header {
  max-width: 42rem;
  margin-bottom: clamp(3.5rem, 6vw, 5rem);
}

.group-companies__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.group-companies__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--primary);
  margin-bottom: 1.75rem;
}

.group-companies__intro {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
}

.group-companies__track-wrap {
  padding-inline: var(--gutter);
}

.group-companies__track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: rgba(17, 17, 17, 0.07);
  max-width: 1560px;
  margin: 0 auto;
}

.group-co-card {
  display: flex;
  flex-direction: column;
  min-height: 22rem;
  padding: clamp(2rem, 4vw, 3rem);
  background: var(--bg);
  transition: transform 0.55s var(--ease-out), background 0.45s var(--ease);
  text-decoration: none;
  color: inherit;
}

.group-co-card:hover {
  transform: translateY(-5px);
  background: #FDFDFB;
  z-index: 1;
}

.group-co-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7rem;
  margin-bottom: 1.75rem;
}

.group-co-card__logo img {
  max-height: 6.25rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.65s var(--ease-out);
}

.group-co-card:hover .group-co-card__logo img,
.group-co-card:hover .group-co-card__wordmark {
  transform: scale(1.05);
}

.group-co-card__wordmark {
  display: inline-block;
  font-family: var(--font-en);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 300;
  letter-spacing: 0.18em;
  color: var(--primary);
  transition: transform 0.65s var(--ease-out);
}

.group-co-card__wordmark--ar {
  font-family: var(--font-ar);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  letter-spacing: 0;
}

.group-co-card__name {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.45;
  color: var(--primary);
  margin-bottom: 1.25rem;
  transition: color 0.35s var(--ease);
}

.group-co-card:hover .group-co-card__name {
  color: var(--accent);
}

.group-co-card__desc {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--text-light);
  margin-bottom: 2rem;
}

.group-co-card__more {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.group-co-card:hover .group-co-card__more {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1280px) {
  .group-companies__track {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1100px) {
  .group-companies__track {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Our Companies page (about.html#companies) */
.companies-showcase {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
}

.companies-showcase__header {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.companies-showcase__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  margin-top: 0.75rem;
}

.companies-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.8vw, 1.5rem);
}

.company-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.07);
  box-shadow: 0 6px 24px rgba(17, 17, 17, 0.04);
  transition: border-color 0.4s var(--ease), box-shadow 0.4s var(--ease), transform 0.4s var(--ease-out);
}

.company-card:hover {
  border-color: rgba(200, 34, 44, 0.28);
  box-shadow: 0 14px 40px rgba(17, 17, 17, 0.08), 0 8px 28px rgba(200, 34, 44, 0.05);
  transform: translateY(-4px);
}

.company-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10rem;
  padding: 1.25rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
}

.company-card__logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.6s var(--ease-out);
}

.company-card:hover .company-card__logo img {
  transform: scale(1.05);
}

.company-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.4rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.company-card__name-ar,
.company-card__name {
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  font-weight: 400;
  color: var(--primary);
}

.company-card__name-en {
  font-family: var(--font-en);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-brand);
  margin-bottom: 0.6rem;
}

.company-card__desc {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-light);
  margin-bottom: 1.25rem;
}

.company-card__btn {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.3rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.company-card:hover .company-card__btn {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1280px) {
  .companies-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .companies-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .companies-grid {
    grid-template-columns: 1fr;
  }

  .company-card__logo {
    height: 9rem;
  }
}

@media (max-width: 768px) {
  .group-companies__track-wrap {
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    overflow: hidden;
  }

  .group-companies__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1px;
    background: transparent;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .group-companies__track::-webkit-scrollbar {
    display: none;
  }

  .group-co-card {
    flex: 0 0 min(82vw, 320px);
    scroll-snap-align: start;
    border: 1px solid rgba(17, 17, 17, 0.07);
  }

  .group-co-card:hover {
    transform: none;
  }
}

/* Our Brands — HAMAN exclusive brands */
.our-brands-home {
  position: relative;
  padding-block: clamp(6rem, 12vw, 9rem);
  background: #fff;
  overflow: hidden;
}

.our-brands-home__header {
  max-width: 42rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.our-brands-home__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.our-brands-home__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.our-brands-home__intro {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
}

.our-brands-home__track-wrap {
  padding-inline: var(--gutter);
}

.our-brands-home__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: 1560px;
  margin: 0 auto;
}

.our-brands-home__footer {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

.our-brands-card {
  min-width: 0;
}

.our-brands-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--secondary);
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-top: 2px solid rgba(200, 34, 44, 0.18);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.4s var(--ease), box-shadow 0.4s var(--ease), transform 0.45s var(--ease-out);
}

.our-brands-card__link:hover {
  border-color: rgba(200, 34, 44, 0.22);
  border-top-color: var(--accent);
  box-shadow: 0 16px 48px rgba(17, 17, 17, 0.07);
  transform: translateY(-4px);
}

.our-brands-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(9rem, 16vw, 12rem);
  padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2rem);
  background: #fff;
  border-bottom: 1px solid rgba(17, 17, 17, 0.05);
}

.our-brands-card__logo {
  width: auto;
  height: auto;
  max-width: min(88%, 240px);
  max-height: clamp(4.5rem, 9vw, 6.5rem);
  object-fit: contain;
  object-position: center;
}

.our-brands-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.85rem;
  padding: clamp(1.35rem, 2.5vw, 1.75rem);
}

.our-brands-card__title {
  font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
  line-height: 1.35;
}

.our-brands-card__name {
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--primary);
}

.our-brands-card__desc {
  flex: 1;
  font-size: clamp(0.875rem, 1.1vw, 0.9375rem);
  line-height: 1.75;
  color: var(--text-light);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.our-brands-origin {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.our-brands-origin__label {
  color: var(--text-light);
  letter-spacing: 0.04em;
}

.our-brands-origin__value {
  font-weight: 500;
  color: var(--primary);
  padding-inline: 0.55rem 0.65rem;
  padding-block: 0.15rem 0.2rem;
  background: rgba(200, 34, 44, 0.06);
  border-inline-start: 2px solid var(--accent);
}

.our-brands-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  margin-top: 0.25rem;
}

.our-brands-card__btn::after {
  content: '→';
  transition: transform 0.35s var(--ease);
}

html[lang="ar"] .our-brands-card__btn::after {
  content: '←';
}

.our-brands-card__link:hover .our-brands-card__btn::after {
  transform: translateX(4px);
}

html[lang="ar"] .our-brands-card__link:hover .our-brands-card__btn::after {
  transform: translateX(-4px);
}

/* Our Brands page */
.our-brands-page-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
  background: var(--secondary);
}

.our-brands-page-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.our-brands-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1rem;
}

.our-brands-page-hero__subtitle {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 300;
  color: var(--gray-brand);
  margin-bottom: 1.25rem;
}

.our-brands-page-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.our-brands-showcase {
  padding-block: clamp(4rem, 8vw, 6rem) clamp(5rem, 10vw, 7rem);
  background: #fff;
}

.our-brands-showcase__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.our-brands-page-card {
  display: flex;
  flex-direction: column;
  background: var(--secondary);
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-top: 2px solid rgba(200, 34, 44, 0.18);
  transition: border-color 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.our-brands-page-card.is-highlight {
  border-color: rgba(200, 34, 44, 0.35);
  border-top-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(200, 34, 44, 0.12);
}

.our-brands-page-card__visual {
  background: #fff;
  border-bottom: 1px solid rgba(17, 17, 17, 0.05);
}

.our-brands-page-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(12rem, 22vw, 16rem);
  padding: clamp(2rem, 4vw, 3rem);
}

.our-brands-page-card__logo {
  width: auto;
  height: auto;
  max-width: min(75%, 320px);
  max-height: clamp(5.5rem, 12vw, 8rem);
  object-fit: contain;
}

.our-brands-page-card__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: clamp(1.75rem, 3vw, 2.25rem);
  flex: 1;
}

.our-brands-page-card__eyebrow {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gray-brand);
  margin: 0;
}

.our-brands-page-card__title {
  font-size: clamp(1.25rem, 2.2vw, 1.625rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: var(--primary);
  margin: 0;
}

.our-brands-page-card__name {
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  color: var(--primary);
}

.our-brands-page-card__desc {
  flex: 1;
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.8;
  color: var(--text-light);
}

.our-brands-page-card__btn {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.85rem 1.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--primary);
  border: 1px solid rgba(17, 17, 17, 0.14);
  background: #fff;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease), background 0.35s var(--ease);
}

.our-brands-page-card__btn:hover {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

/* Brand detail placeholder */
.our-brand-detail-hero {
  padding-top: calc(var(--header-offset) + clamp(2.5rem, 6vw, 4rem));
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--secondary);
  text-align: center;
}

.our-brand-detail-hero__back {
  display: inline-block;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-light);
  text-decoration: none;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  transition: color 0.3s var(--ease);
}

.our-brand-detail-hero__back:hover {
  color: var(--accent);
}

.our-brand-detail-hero__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(10rem, 20vw, 14rem);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.our-brand-detail-hero__logo img {
  max-width: min(85%, 420px);
  max-height: clamp(6rem, 14vw, 9rem);
  width: auto;
  height: auto;
  object-fit: contain;
}

.our-brand-detail-hero__eyebrow {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gray-brand);
  margin-bottom: 0.75rem;
}

.our-brand-detail-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: 1rem;
}

.our-brand-detail-hero .our-brands-origin {
  justify-content: center;
  margin-bottom: 1.25rem;
}

.our-brand-detail-hero__subtitle {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.8;
  color: var(--text-light);
  max-width: 42rem;
  margin-inline: auto;
}

.our-brand-detail-body {
  padding-block: clamp(4rem, 8vw, 6rem);
}

.our-brand-detail-body__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.our-brand-detail-body__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(14rem, 28vw, 20rem);
  padding: clamp(2rem, 4vw, 3rem);
  background: var(--secondary);
  border: 1px solid rgba(17, 17, 17, 0.06);
}

.our-brand-detail-body__visual img {
  max-width: min(90%, 480px);
  max-height: clamp(7rem, 16vw, 10rem);
  object-fit: contain;
}

.our-brand-detail-body__text {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
  margin-bottom: 2rem;
}

.our-brand-detail-body__cta {
  display: inline-flex;
  padding: 0.95rem 2rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: var(--primary);
  border: 1px solid var(--primary);
  transition: background 0.35s var(--ease), border-color 0.35s var(--ease);
}

.our-brand-detail-body__cta:hover {
  background: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1024px) {
  .our-brands-home__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .our-brands-showcase__grid {
    grid-template-columns: 1fr;
  }

  .our-brand-detail-body__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .our-brands-home__track-wrap {
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    overflow: hidden;
  }

  .our-brands-home__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: clamp(0.85rem, 3vw, 1rem);
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .our-brands-home__grid::-webkit-scrollbar {
    display: none;
  }

  .our-brands-card {
    flex: 0 0 min(82vw, 300px);
    scroll-snap-align: start;
  }

  .our-brands-card__link:hover {
    transform: none;
  }

  .our-brands-card__logo {
    max-height: clamp(4rem, 14vw, 5.5rem);
  }
}

/* Global Brands */
.global-brands {
  background: var(--bg);
  padding-block: clamp(6rem, 12vw, 9rem);
  overflow: hidden;
}

.global-brands__header {
  max-width: 44rem;
  margin-bottom: clamp(3.5rem, 6vw, 5rem);
}

.global-brands__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.global-brands__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--primary);
  margin-bottom: 1.75rem;
}

.global-brands__intro {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
}

.global-brands__stage {
  width: 100%;
}

.global-brands__preview {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  max-width: 1440px;
  margin: 0 auto clamp(3rem, 5vw, 4rem);
  padding-inline: var(--gutter);
  direction: ltr;
}

.global-brands__preview-content {
  direction: rtl;
}

html[lang="en"] .global-brands__preview-content {
  direction: ltr;
}

.global-brands__preview-image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--secondary);
}

.global-brands__preview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.6s var(--ease), transform 1.2s var(--ease-out);
}

.global-brands__preview.is-changing .global-brands__preview-image img {
  opacity: 0.4;
  transform: scale(1.02);
}

.global-brands__preview-country {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.global-brands__preview-name {
  font-family: var(--font-en);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--primary);
  margin-bottom: 1.5rem;
  line-height: 1.1;
}

.global-brands__preview-desc {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
  max-width: 38ch;
  opacity: 1;
  transition: opacity 0.5s var(--ease);
}

.global-brands__preview.is-changing .global-brands__preview-desc,
.global-brands__preview.is-changing .global-brands__preview-name,
.global-brands__preview.is-changing .global-brands__preview-country {
  opacity: 0.35;
}

.global-brands__marquee-wrap {
  direction: ltr;
  unicode-bidi: isolate;
}

.global-brands__marquee-outer {
  margin-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid rgba(17, 17, 17, 0.08);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  padding-block: clamp(2.5rem, 5vw, 3.5rem);
  overflow: hidden;
}

.global-brands__marquee {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.global-brands__marquee-track {
  display: flex;
  width: max-content;
  animation: gb-marquee 70s linear infinite;
}

.global-brands__marquee:hover .global-brands__marquee-track,
.global-brands__marquee.is-paused .global-brands__marquee-track {
  animation-play-state: paused;
}

.global-brands__marquee-set {
  display: flex;
  align-items: stretch;
  gap: clamp(1.75rem, 3.5vw, 2.75rem);
  padding-inline: clamp(2rem, 4vw, 3rem);
}

@keyframes gb-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.gb-agency-card {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(200px, 18vw, 260px);
  height: clamp(150px, 14vw, 190px);
  padding: clamp(0.85rem, 1.6vw, 1.25rem);
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 3px;
  box-shadow: 0 10px 32px rgba(17, 17, 17, 0.05);
  transition: border-color 0.5s var(--ease), box-shadow 0.5s var(--ease), transform 0.5s var(--ease-out);
}

.gb-agency-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 36px;
  height: 2px;
  background: var(--accent);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.5s var(--ease);
}

.gb-agency-card:hover {
  border-color: rgba(200, 34, 44, 0.28);
  box-shadow: 0 16px 40px rgba(200, 34, 44, 0.07);
  transform: translateY(-3px);
}

.gb-agency-card:hover::after {
  transform: translateX(-50%) scaleX(1);
}

.gb-agency-card img {
  display: block;
  max-width: 92%;
  max-height: 92%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Legacy text brand buttons (unused) */
.gb-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.75rem;
  min-width: clamp(10rem, 14vw, 13rem);
  padding: 1.25rem 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: start;
  font: inherit;
  color: inherit;
  opacity: 0.38;
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease-out);
}

.gb-brand:hover,
.gb-brand.is-active {
  opacity: 1;
}

.gb-brand.is-active .gb-brand__logo {
  color: var(--primary);
}

.gb-brand__logo {
  font-family: var(--font-en);
  font-size: clamp(0.875rem, 1.4vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.22em;
  color: var(--text-light);
  white-space: nowrap;
  transition: color 0.4s var(--ease), letter-spacing 0.4s var(--ease);
}

.gb-brand:hover .gb-brand__logo,
.gb-brand.is-active .gb-brand__logo {
  letter-spacing: 0.28em;
}

.gb-brand__name {
  font-family: var(--font-en);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-light);
}

.global-brands__footer {
  text-align: center;
  margin-top: clamp(3.5rem, 6vw, 5rem);
}

.global-brands__cta {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  padding: 1.125rem 2.75rem;
  border: 1px solid rgba(17, 17, 17, 0.22);
  transition: background 0.45s var(--ease), color 0.45s var(--ease), border-color 0.45s var(--ease);
}

.global-brands__cta:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

@media (max-width: 900px) {
  .global-brands__preview {
    grid-template-columns: 1fr;
    gap: 2rem;
    direction: rtl;
  }

  html[lang="en"] .global-brands__preview {
    direction: ltr;
  }

  .global-brands__preview-desc {
    max-width: none;
  }

  .global-brands__marquee-track {
    animation: none;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .global-brands__marquee-track::-webkit-scrollbar {
    display: none;
  }

  .global-brands__marquee {
    mask-image: none;
    -webkit-mask-image: none;
  }

  .global-brands__marquee-set {
    gap: 1.25rem;
    padding-inline: var(--gutter);
  }

  .gb-agency-card {
    flex: 0 0 clamp(160px, 42vw, 210px);
    width: clamp(160px, 42vw, 210px);
    min-width: 0;
    height: clamp(120px, 26vw, 155px);
    scroll-snap-align: center;
  }

  .gb-brand {
    flex: 0 0 auto;
    scroll-snap-align: center;
    min-width: 9rem;
    opacity: 0.55;
  }

  .gb-brand.is-active {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-brands__marquee-track {
    animation: none;
  }
}

/* Homepage — minimal products link */
.home-catalog-link {
  padding-block: clamp(2.5rem, 5vw, 3.5rem);
  background: #fff;
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.home-catalog-link__anchor {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.3rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.home-catalog-link__anchor:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Products page */
.products-page-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--bg);
}

.products-page-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.products-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.products-page-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

/* Brands grid (products main page) */
.brands-showcase {
  background: #F7F6F3;
  padding-block: clamp(3rem, 6vw, 4.5rem) clamp(5rem, 10vw, 7rem);
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.brand-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.06);
  transition: border-color 0.4s var(--ease), box-shadow 0.4s var(--ease), transform 0.4s var(--ease-out);
}

.brand-card:hover {
  border-color: rgba(200, 34, 44, 0.25);
  box-shadow: 0 14px 44px rgba(17, 17, 17, 0.08);
  transform: translateY(-3px);
}

.brand-card__media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--secondary);
}

.brand-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}

.brand-card__media .product-visual-placeholder {
  aspect-ratio: 4 / 3;
}

.brand-card:hover .brand-card__media img {
  transform: scale(1.05);
}

.brand-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.75rem;
  padding: clamp(1.5rem, 2.5vw, 2rem);
}

.brand-card__name {
  font-family: var(--font-en);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--primary);
}

.brand-card__desc {
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--text-light);
  flex: 1;
}

.brand-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.5rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(17, 17, 17, 0.07);
}

.brand-card__count {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
}

.brand-card__btn {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.25);
  padding-bottom: 0.25rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.brand-card:hover .brand-card__btn {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1024px) {
  .brands-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .brands-grid {
    grid-template-columns: 1fr;
  }
}

/* Product visual placeholders — temporary until new collections are uploaded */
.product-visual-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: linear-gradient(155deg, #fafafa 0%, #f3f1ec 52%, #eceae4 100%);
  border: 1px solid rgba(17, 17, 17, 0.05);
  text-align: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-sizing: border-box;
}

.product-visual-placeholder__eyebrow {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent);
}

.product-visual-placeholder__text {
  font-size: clamp(0.8125rem, 1.35vw, 0.9375rem);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-brand);
  max-width: 14ch;
  line-height: 1.65;
}

.product-visual-placeholder--hero {
  background: linear-gradient(155deg, #2a2a2a 0%, #1a1a1a 48%, #111 100%);
}

.product-visual-placeholder--hero .product-visual-placeholder__eyebrow {
  color: rgba(255, 255, 255, 0.72);
}

.product-visual-placeholder--hero .product-visual-placeholder__text {
  color: rgba(255, 255, 255, 0.92);
}

.products-catalog {
  background: #F7F6F3;
  padding-bottom: clamp(4rem, 8vw, 6rem);
}

.products-filters {
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 3vw, 2.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.products-filters__label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.products-filters__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.products-filter {
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-light);
  background: transparent;
  border: 1px solid rgba(17, 17, 17, 0.12);
  padding: 0.75rem 1.25rem;
  cursor: pointer;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease), background 0.35s var(--ease);
  white-space: nowrap;
}

.products-filter:hover {
  color: var(--primary);
  border-color: rgba(17, 17, 17, 0.28);
}

.products-filter.is-active {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
}

/* ── Products Showcase ── */
.products-showcase {
  background: #F7F6F3;
  padding-block: clamp(6rem, 12vw, 9rem);
}

.products-showcase__header {
  max-width: 44rem;
  margin-bottom: clamp(4rem, 8vw, 6rem);
}

.products-showcase__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.products-showcase__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--primary);
  margin-bottom: 1.75rem;
}

.products-showcase__intro {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--text-light);
}

/* Size Collection Block */
.size-collection {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--bg);
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.size-collection--alt {
  background: #F7F6F3;
}

.size-collection__hero {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: var(--gutter);
  margin-bottom: clamp(3rem, 5vw, 4rem);
  direction: ltr;
}

.size-collection__intro {
  direction: rtl;
}

html[lang="en"] .size-collection__intro {
  direction: ltr;
}

.size-collection__image-wrap {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--secondary);
}

.size-collection__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}

.size-collection__image-wrap:hover img {
  transform: scale(1.04);
}

.size-collection__size {
  font-family: var(--font-en);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.size-collection__title {
  font-family: var(--font-en);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 200;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.size-collection__desc {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 36ch;
  margin-bottom: 1.25rem;
}

.size-collection__count {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 2.25rem;
}

.size-collection__btn {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  padding: 1.0625rem 2.25rem;
  border: 1px solid rgba(17, 17, 17, 0.22);
  transition: background 0.45s var(--ease), color 0.45s var(--ease), border-color 0.45s var(--ease);
}

.size-collection__btn:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

.size-collection__products {
  overflow: hidden;
  padding-inline: var(--gutter);
}

.size-collection__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(200px, 1fr));
  gap: 1.5rem;
  max-width: 1440px;
  margin: 0 auto;
}

/* Product Card */
.product-card {
  background: var(--bg);
  display: flex;
  flex-direction: column;
}

.size-collection--alt .product-card {
  background: var(--bg);
}

.product-card__media {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--secondary);
  margin-bottom: 1.25rem;
}

.product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ease-out);
}

.product-card:hover .product-card__media img {
  transform: scale(1.05);
}

.product-card__brand {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.5rem;
}

.product-card__name {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.45;
  color: var(--primary);
  margin-bottom: 0.35rem;
}

.product-card__size {
  font-family: var(--font-en);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  color: var(--text-light);
  margin-bottom: 1rem;
}

.product-card__link {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
  padding-bottom: 0.2rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.product-card__link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Collection Page (Florim-style) */
.collection-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: flex-end;
  margin-top: var(--header-offset);
}

.collection-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.collection-hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,17,17,0.72) 0%, rgba(17,17,17,0.2) 55%, rgba(17,17,17,0.35) 100%);
}

.collection-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 85vh;
}

.collection-hero__image .product-visual-placeholder--hero {
  position: absolute;
  inset: 0;
  min-height: 85vh;
}

.collection-hero__content {
  position: relative;
  z-index: 1;
  padding-block: clamp(4rem, 10vw, 7rem);
  color: #fff;
}

.collection-hero__back {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  margin-bottom: 2rem;
  transition: color 0.35s var(--ease);
}

.collection-hero__back:hover {
  color: #fff;
}

.collection-hero__eyebrow {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.collection-hero__title {
  font-family: var(--font-en);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 200;
  line-height: 1;
  color: #fff;
  margin-bottom: 1rem;
}

.collection-hero__subtitle {
  font-family: var(--font-en);
  font-size: clamp(0.875rem, 1.4vw, 1rem);
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 1.5rem;
}

.collection-hero__desc {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: rgba(255,255,255,0.72);
  max-width: 48ch;
  margin-bottom: 1.25rem;
}

.collection-hero__count {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 2rem;
}

.collection-hero__cta {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  padding: 1.0625rem 2.25rem;
  border: 1px solid rgba(255, 255, 255, 0.45);
  transition: background 0.45s var(--ease), color 0.45s var(--ease), border-color 0.45s var(--ease);
}

.collection-hero__cta:hover {
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

/* Collection catalog */
.collection-catalog {
  padding-block: clamp(4rem, 8vw, 6.5rem);
  background: var(--bg);
}

.collection-catalog__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.collection-catalog__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.collection-catalog__title {
  font-family: var(--font-en);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
}

.collection-catalog__count {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  flex-shrink: 0;
}

.collection-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.collection-filter {
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  background: transparent;
  border: 1px solid rgba(17, 17, 17, 0.12);
  padding: 0.875rem 1.5rem;
  cursor: pointer;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease), background 0.35s var(--ease);
}

.collection-filter:hover {
  color: var(--primary);
  border-color: rgba(17, 17, 17, 0.28);
}

.collection-filter.is-active {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
}

.collection-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3rem);
}

.collection-product {
  display: flex;
  flex-direction: column;
}

.collection-product__media {
  display: block;
  overflow: hidden;
  background: #fff;
  margin-bottom: 1.75rem;
}

.collection-product__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease);
}

.collection-product__media .product-visual-placeholder {
  aspect-ratio: 4 / 5;
}

.collection-product:hover .collection-product__media img {
  transform: scale(1.03);
}

.collection-product__brand {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.625rem;
}

.collection-product__name {
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 0.5rem;
}

.collection-product__size {
  font-family: var(--font-en);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--text-light);
  margin-bottom: 1.25rem;
}

.collection-product__btn {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.collection-product__btn:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.collection-empty {
  text-align: center;
  padding: 4rem 1rem;
  font-size: 0.9375rem;
  color: var(--text-light);
}

/* Single Product Page */
.product-hero {
  padding-top: var(--header-offset);
  background: var(--bg);
}

.product-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
  padding-block: clamp(3rem, 7vw, 5.5rem);
}

.product-hero__visual {
  order: 1;
}

.product-hero__info {
  order: 2;
  padding-block: 1rem;
}

.product-preview {
  position: relative;
  overflow: hidden;
  background: #fff;
  cursor: zoom-in;
}

.product-preview.is-placeholder {
  cursor: default;
}

.product-preview .product-visual-placeholder--detail {
  aspect-ratio: 4 / 5;
}

.product-preview img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transition: transform 0.85s var(--ease);
  transform-origin: center center;
}

@media (hover: hover) {
  .product-preview:hover img {
    transform: scale(1.12);
  }

  .product-preview {
    cursor: default;
  }
}

.product-preview__hint {
  position: absolute;
  bottom: 1.25rem;
  inset-inline-start: 1.25rem;
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(17, 17, 17, 0.45);
  padding: 0.625rem 0.875rem;
  pointer-events: none;
}

.product-hero__back {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 2rem;
  transition: color 0.35s var(--ease);
}

.product-hero__back:hover {
  color: var(--primary);
}

.product-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.product-hero__brand {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.product-hero__name {
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 1rem;
}

.product-hero__size {
  font-family: var(--font-en);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--text-light);
  margin-bottom: 1.5rem;
}

.product-hero__desc {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--text-light);
  max-width: 38ch;
}

.product-specs {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.product-specs__header {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.product-specs__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.product-specs__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

.product-specs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.product-spec {
  padding: clamp(1.5rem, 3vw, 2rem);
  border-inline-end: 1px solid rgba(17, 17, 17, 0.08);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.product-spec:nth-child(3n) {
  border-inline-end: none;
}

.product-spec:nth-last-child(-n+3) {
  border-bottom: none;
}

.product-spec__label {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.75rem;
}

.product-spec__value {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  font-weight: 400;
  line-height: 1.45;
  color: var(--primary);
}

.product-related {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--bg);
}

.product-related__header {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.product-related__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.product-related__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

.product-related__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.product-related-card {
  display: flex;
  flex-direction: column;
}

.product-related-card__media {
  display: block;
  overflow: hidden;
  background: #fff;
  margin-bottom: 1.25rem;
}

.product-related-card__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transition: transform 0.65s var(--ease);
}

.product-related-card__media .product-visual-placeholder {
  aspect-ratio: 4 / 5;
}

.product-related-card:hover .product-related-card__media img {
  transform: scale(1.04);
}

.product-related-card__brand {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.5rem;
}

.product-related-card__name {
  font-size: 1rem;
  font-weight: 400;
  color: var(--primary);
  margin-bottom: 0.75rem;
  line-height: 1.35;
}

.product-related-card__link {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
  padding-bottom: 0.2rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.product-related-card__link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.product-inquiry {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--primary);
  color: #fff;
}

.product-inquiry__inner {
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
}

.product-inquiry__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 300;
  line-height: 1.35;
  margin-bottom: 1rem;
}

.product-inquiry__desc {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.68);
  margin-bottom: 2.5rem;
}

.product-inquiry__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.product-inquiry__btn,
.product-inquiry__whatsapp {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 1.0625rem 2.25rem;
  transition: background 0.45s var(--ease), color 0.45s var(--ease), border-color 0.45s var(--ease);
}

.product-inquiry__btn {
  color: var(--primary);
  background: #fff;
  border: 1px solid #fff;
}

.product-inquiry__btn:hover {
  background: transparent;
  color: #fff;
}

.product-inquiry__whatsapp {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.product-inquiry__whatsapp:hover {
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

.product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(17, 17, 17, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.product-lightbox[hidden] {
  display: none;
}

.product-lightbox__close {
  position: absolute;
  top: 1.5rem;
  inset-inline-end: 1.5rem;
  font-size: 2rem;
  line-height: 1;
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 0.3s var(--ease);
}

.product-lightbox__close:hover {
  opacity: 1;
}

.product-lightbox__stage {
  max-width: min(92vw, 1100px);
  max-height: 88vh;
}

.product-lightbox__stage img {
  width: 100%;
  height: auto;
  max-height: 88vh;
  object-fit: contain;
  display: block;
}

@media (max-width: 1100px) {
  .product-specs__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-spec:nth-child(3n) {
    border-inline-end: 1px solid rgba(17, 17, 17, 0.08);
  }

  .product-spec:nth-child(2n) {
    border-inline-end: none;
  }

  .product-spec:nth-last-child(-n+3) {
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  }

  .product-spec:nth-last-child(-n+2) {
    border-bottom: none;
  }

  .product-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .product-hero__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-block: 2rem 3rem;
  }

  .product-hero__visual {
    order: 1;
  }

  .product-hero__info {
    order: 2;
  }

  .product-hero__desc {
    max-width: none;
  }

  .product-specs__grid {
    grid-template-columns: 1fr;
  }

  .product-spec {
    border-inline-end: none !important;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  }

  .product-spec:last-child {
    border-bottom: none !important;
  }

  .product-related__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .product-inquiry__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .product-inquiry__btn,
  .product-inquiry__whatsapp {
    text-align: center;
  }
}

.collection-page-grid {
  background: var(--bg);
}

.collection-page-grid .collection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2rem, 4vw, 3rem);
}

@media (max-width: 1100px) {
  .size-collection__track {
    grid-template-columns: repeat(3, 1fr);
  }

  .collection-page-grid .collection-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .size-collection__hero {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    direction: rtl;
  }

  html[lang="en"] .size-collection__hero {
    direction: ltr;
  }

  .size-collection__desc {
    max-width: none;
  }

  .size-collection__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1.25rem;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .size-collection__track::-webkit-scrollbar {
    display: none;
  }

  .size-collection__track .product-card {
    flex: 0 0 min(78vw, 280px);
    scroll-snap-align: start;
  }
}

@media (max-width: 768px) {
  .collection-page-grid .collection-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .collection-hero {
    min-height: 72vh;
  }

  .collection-hero__image img {
    min-height: 72vh;
  }

  .collection-catalog__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .collection-products {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .collection-filters {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .collection-filters::-webkit-scrollbar {
    display: none;
  }

  .collection-filter {
    flex-shrink: 0;
  }
}

@media (max-width: 900px) {
  .about-haman__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
    direction: rtl;
  }

  html[lang="en"] .about-haman__grid {
    direction: ltr;
  }

  .about-haman__visual,
  .about-haman__content {
    grid-column: auto;
  }

  .about-haman__title {
    max-width: none;
  }

  .about-haman__text p {
    max-width: none;
  }
}

/* Statement */
.statement {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.statement__quote {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 300;
  line-height: 1.45;
  color: var(--primary);
}

.statement__body p {
  margin-bottom: 1.5rem;
  color: var(--text-light);
  max-width: var(--max-text);
}

.statement__body p:last-child { margin-bottom: 0; }

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--primary);
  margin-top: 2.5rem;
  transition: gap 0.4s var(--ease-out);
}

.link-arrow:hover { gap: 1.25rem; }

.link-arrow::after {
  content: '→';
  font-size: 1rem;
  transition: transform 0.4s var(--ease-out);
}

html[lang="ar"] .link-arrow::after { content: '←'; }

.link-arrow:hover::after { transform: translateX(4px); }
html[lang="ar"] .link-arrow:hover::after { transform: translateX(-4px); }

/* Collections Grid */
.collections-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 4rem;
  gap: 2rem;
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1px;
  background: rgba(17, 17, 17, 0.08);
}

.collection-item {
  position: relative;
  background: var(--bg);
  overflow: hidden;
  grid-column: span 4;
}

.collection-item--large { grid-column: span 8; grid-row: span 2; }
.collection-item--tall { grid-row: span 2; }

.collection-item__media {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.collection-item--large .collection-item__media { aspect-ratio: auto; height: 100%; min-height: 500px; }
.collection-item--tall .collection-item__media { aspect-ratio: auto; height: 100%; min-height: 600px; }

.collection-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}

.collection-item:hover .collection-item__media img { transform: scale(1.05); }

.collection-item__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,17,17,0.65) 0%, transparent 55%);
  opacity: 0.85;
  transition: opacity 0.5s var(--ease);
}

.collection-item:hover .collection-item__overlay { opacity: 1; }

.collection-item__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
  color: #fff;
  transform: translateY(8px);
  transition: transform 0.5s var(--ease-out);
}

.collection-item:hover .collection-item__content { transform: translateY(0); }

.collection-item__content h3 {
  color: #fff;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.collection-item__content p {
  font-size: 0.8125rem;
  opacity: 0.75;
  max-width: 28ch;
}

.collection-item__num {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  color: rgba(255,255,255,0.5);
}

html[lang="ar"] .collection-item__num { left: auto; right: 1.5rem; }

/* Home Intro — About + Logo + Stats */
.home-intro {
  position: relative;
  padding-block: clamp(5rem, 10vw, 8rem);
  background: #fff;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
}

.home-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.85fr);
  align-items: start;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.home-intro__statement {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.5rem, 3vw, 2.75rem);
  min-width: 0;
}

.home-intro__about {
  flex: 1;
  min-width: 0;
}

.home-intro__label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.home-intro__title {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  font-size: clamp(1.85rem, 3.4vw, 2.85rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: clamp(1.25rem, 2.5vw, 1.85rem);
}

.home-intro__title-line {
  display: block;
}

.home-intro__text {
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-light);
  max-width: 42ch;
  margin-bottom: clamp(1.75rem, 3vw, 2.25rem);
}

.home-intro__link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--primary);
  transition: color 0.35s var(--ease), gap 0.35s var(--ease-out);
}

.home-intro__link-arrow {
  color: var(--accent);
  font-size: 0.875rem;
  line-height: 1;
  transition: transform 0.35s var(--ease-out);
}

.home-intro__link:hover {
  color: var(--accent);
}

.home-intro__link:hover .home-intro__link-arrow {
  transform: translateX(4px);
}

html[dir="rtl"] .home-intro__link:hover .home-intro__link-arrow {
  transform: translateX(-4px);
}

.home-intro__mark {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  padding-top: calc(0.625rem + clamp(1.25rem, 2vw, 1.75rem));
}

.home-intro__logo {
  display: block;
  width: clamp(180px, 16vw, 220px);
  height: auto;
  object-fit: contain;
}

.home-intro__stats {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-inline-start: 1px solid rgba(17, 17, 17, 0.1);
  padding-inline-start: clamp(1.5rem, 3vw, 2.5rem);
}

.home-intro__stat {
  position: relative;
  padding-block: clamp(0.85rem, 1.6vw, 1.15rem);
}

.home-intro__stat:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(17, 17, 17, 0.08);
}

html[dir="rtl"] .home-intro__stat:not(:last-child)::after {
  left: 0;
  right: 0;
}

.home-intro__stat-value {
  font-family: var(--font-en);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 200;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--primary);
  margin-bottom: 0.45rem;
  direction: ltr;
  unicode-bidi: isolate;
}

.home-intro__stat-value--text {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.home-intro__stat-label {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  line-height: 1.5;
  max-width: 18ch;
}

html[lang="ar"] .home-intro__stat-label {
  letter-spacing: 0.06em;
  max-width: none;
}

@media (max-width: 1024px) {
  .home-intro__grid {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5vw, 3rem);
  }

  .home-intro__stats {
    border-inline-start: none;
    padding-inline-start: 0;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
    padding-top: clamp(1.25rem, 3vw, 1.75rem);
  }
}

@media (max-width: 640px) {
  .home-intro {
    padding-block: clamp(4rem, 12vw, 5.5rem);
  }

  .home-intro__statement {
    gap: clamp(1rem, 3vw, 1.35rem);
  }

  .home-intro__mark {
    padding-top: calc(0.625rem + 1.25rem);
  }

  .home-intro__logo {
    width: clamp(120px, 28vw, 160px);
  }

  .home-intro__stats {
    padding-top: 1rem;
  }

  .home-intro__text {
    max-width: none;
  }
}

/* Featured Brands Showcase */
.home-brands {
  padding-block: clamp(4.5rem, 9vw, 7rem);
  padding-bottom: clamp(5.5rem, 11vw, 8.5rem);
  background: var(--secondary);
}

.home-brands__header {
  max-width: 36rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.home-brands__eyebrow {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.home-brands__title {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.15;
  color: var(--primary);
  text-transform: uppercase;
}

.home-brands__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.home-brand-card {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: clamp(320px, 38vw, 480px);
  background: #111;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(17, 17, 17, 0.06);
  transition:
    transform 0.55s var(--ease-out),
    box-shadow 0.55s var(--ease-out);
}

.home-brand-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 64px rgba(17, 17, 17, 0.16);
}

.home-brand-card__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.home-brand-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.75s var(--ease-out);
}

.home-brand-card__media--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #ececea 0%, #f5f4f1 100%);
}

.home-brand-card__fallback-logo {
  width: auto;
  height: clamp(52px, 9vw, 80px);
  max-width: 55%;
  object-fit: contain;
  filter: none;
}

.home-brand-card:hover .home-brand-card__media img {
  transform: scale(1.05);
}

.home-brand-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(8, 8, 8, 0.88) 0%,
    rgba(8, 8, 8, 0.35) 42%,
    rgba(8, 8, 8, 0.12) 100%
  );
  transition: opacity 0.45s var(--ease);
}

.home-brand-card:hover .home-brand-card__shade {
  opacity: 0.96;
}

.home-brand-card__content {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(1.35rem, 2.5vw, 2rem);
}

.home-brand-card__logo {
  display: block;
  width: auto;
  height: clamp(28px, 3.2vw, 40px);
  max-width: min(140px, 42%);
  object-fit: contain;
  object-position: left bottom;
  filter: brightness(0) invert(1);
  opacity: 0.92;
  margin-bottom: 0.85rem;
}

html[dir="rtl"] .home-brand-card__logo {
  object-position: right bottom;
}

.home-brand-card__name {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 0.45rem;
}

.home-brand-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}

.home-brand-card__sep {
  width: 1px;
  height: 0.75rem;
  background: rgba(255, 255, 255, 0.35);
}

@media (max-width: 768px) {
  .home-brands__grid {
    grid-template-columns: 1fr;
  }

  .home-brand-card {
    min-height: clamp(280px, 72vw, 380px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-brand-card,
  .home-brand-card__media img {
    transition: none;
  }

  .home-brand-card:hover {
    transform: none;
  }

  .home-brand-card:hover .home-brand-card__media img {
    transform: none;
  }
}

/* Projects Showcase */
.projects-showcase {
  padding-block: clamp(5rem, 10vw, 8rem);
  background: var(--bg);
}

.projects-showcase--page {
  padding-top: 0;
  padding-bottom: clamp(5rem, 10vw, 8rem);
  overflow-x: clip;
}

.projects-showcase__header {
  max-width: 46rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.projects-showcase__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.projects-showcase__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.projects-showcase__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.projects-showcase__footer {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: 2rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.projects-page-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
  background: var(--bg);
}

.projects-page-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.projects-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.projects-page-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.projects-magazine {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.projects-magazine--home .project-card--large {
  grid-column: 1 / 9;
  grid-row: span 2;
}

.projects-magazine--home .project-card--medium:nth-of-type(2) {
  grid-column: 9 / 13;
  grid-row: 1;
}

.projects-magazine--home .project-card--medium:nth-of-type(3) {
  grid-column: 9 / 13;
  grid-row: 2;
}

.projects-magazine:not(.projects-magazine--home) .project-card:nth-child(1) {
  grid-column: 1 / 9;
  grid-row: span 2;
}

.projects-magazine:not(.projects-magazine--home) .project-card:nth-child(2) {
  grid-column: 9 / 13;
  grid-row: 1;
}

.projects-magazine:not(.projects-magazine--home) .project-card:nth-child(3) {
  grid-column: 9 / 13;
  grid-row: 2;
}

.projects-magazine:not(.projects-magazine--home) .project-card:nth-child(4) {
  grid-column: 1 / 5;
  grid-row: 3;
}

.projects-magazine:not(.projects-magazine--home) .project-card:nth-child(5) {
  grid-column: 5 / 13;
  grid-row: 3;
}

.project-card {
  position: relative;
  min-height: 100%;
}

.project-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

.project-card__media {
  position: relative;
  overflow: hidden;
  flex: 1;
  min-height: 280px;
}

.project-card--large .project-card__media {
  min-height: 520px;
}

.project-card__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.85s var(--ease);
}

.project-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17, 17, 17, 0.55) 0%, rgba(17, 17, 17, 0.05) 55%, transparent 100%);
  opacity: 0.85;
  transition: opacity 0.5s var(--ease);
}

.project-card:hover .project-card__media img {
  transform: scale(1.04);
}

.project-card:hover .project-card__overlay {
  opacity: 1;
}

.project-card__body {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 1;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  color: #fff;
}

.project-card__location {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 0.625rem;
}

.project-card__title {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 0.75rem;
}

.project-card__desc {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
  max-width: 42ch;
  margin-bottom: 1.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.project-card__btn {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  padding-bottom: 0.25rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.project-card:hover .project-card__btn {
  color: var(--accent);
  border-color: var(--accent);
}

/* Project Detail Page */
.project-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  margin-top: var(--header-offset);
}

.project-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.project-hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17, 17, 17, 0.75) 0%, rgba(17, 17, 17, 0.15) 55%, rgba(17, 17, 17, 0.35) 100%);
}

.project-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 80vh;
}

.project-hero__content {
  position: relative;
  z-index: 1;
  padding-block: clamp(4rem, 10vw, 7rem);
  color: #fff;
}

.project-hero__back {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 2rem;
  transition: color 0.35s var(--ease);
}

.project-hero__back:hover {
  color: #fff;
}

.project-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.project-hero__category {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 1rem;
}

.project-hero__title {
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 1rem;
}

.project-hero__location {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.68);
}

.project-overview {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.project-overview__grid {
  display: grid;
  grid-template-columns: 0.35fr 0.65fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.project-overview__title,
.project-section-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

.project-overview__text {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
  max-width: 58ch;
  white-space: pre-line;
}

.project-products-used {
  padding-block: clamp(3rem, 6vw, 5rem);
  background: var(--bg);
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.project-products-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  list-style: none;
}

.project-products-list li {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--primary);
  padding: 1.5rem;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.project-gallery {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.project-gallery .project-section-title {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.project-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

.project-gallery__item {
  overflow: hidden;
  background: var(--bg);
}

.project-gallery__item img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.75s var(--ease);
}

.project-gallery__item:hover img {
  transform: scale(1.03);
}

.project-related {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--bg);
}

.project-related__header {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.project-related__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.project-related__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

.project-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2rem);
}

.project-related-card__media {
  display: block;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.project-related-card__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.65s var(--ease);
}

.project-related-card:hover .project-related-card__media img {
  transform: scale(1.04);
}

.project-related-card__location {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.5rem;
}

.project-related-card__title {
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--primary);
  margin-bottom: 0.75rem;
}

.project-related-card__btn {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
  padding-bottom: 0.2rem;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.project-related-card:hover .project-related-card__btn {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1100px) {
  .projects-magazine--home .project-card--large,
  .projects-magazine:not(.projects-magazine--home) .project-card:nth-child(1),
  .projects-magazine:not(.projects-magazine--home) .project-card:nth-child(5) {
    grid-column: 1 / 13;
    grid-row: auto;
  }

  .projects-magazine--home .project-card--medium:nth-of-type(2),
  .projects-magazine--home .project-card--medium:nth-of-type(3),
  .projects-magazine:not(.projects-magazine--home) .project-card:nth-child(2),
  .projects-magazine:not(.projects-magazine--home) .project-card:nth-child(3),
  .projects-magazine:not(.projects-magazine--home) .project-card:nth-child(4) {
    grid-column: 1 / 13;
    grid-row: auto;
  }

  .project-products-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .project-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .projects-magazine {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .projects-magazine--home .project-card--large,
  .projects-magazine--home .project-card--medium:nth-of-type(2),
  .projects-magazine--home .project-card--medium:nth-of-type(3),
  .projects-magazine:not(.projects-magazine--home) .project-card {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .project-card__media,
  .project-card--large .project-card__media {
    min-height: 360px;
  }

  .project-overview__grid {
    grid-template-columns: 1fr;
  }

  .project-products-list {
    grid-template-columns: 1fr;
  }

  .project-gallery__grid {
    grid-template-columns: 1fr;
  }

  .project-related__grid {
    grid-template-columns: 1fr;
  }

  .project-hero {
    min-height: 70vh;
  }

  .project-hero__image img {
    min-height: 70vh;
  }
}

/* Featured Project */
.featured {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
  min-height: 70vh;
}

.featured__image {
  position: relative;
  overflow: hidden;
}

.featured__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 500px;
}

.featured__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 6vw, 6rem);
  background: var(--primary);
  color: #fff;
}

.featured__content .eyebrow { color: var(--accent-bright); }

.featured__content h2 {
  color: #fff;
  margin-bottom: 1.5rem;
}

.featured__content p {
  color: rgba(255, 255, 255, 0.65);
  max-width: 32rem;
  margin-bottom: 2.5rem;
}

.featured__content .link-arrow { color: #fff; }

/* Product Glimpse — homepage editorial preview */
.product-glimpse {
  position: relative;
  padding-block: clamp(5rem, 10vw, 8.5rem);
  background: var(--bg-light, #f5f4f1);
  overflow: hidden;
}

.product-glimpse::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, transparent 28%, transparent 72%, rgba(255, 255, 255, 0.4) 100%);
  pointer-events: none;
}

.product-glimpse__header {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.product-glimpse__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.1rem;
}

.product-glimpse__title {
  font-size: clamp(1.85rem, 3.8vw, 3rem);
  font-weight: 300;
  line-height: 1.12;
  color: var(--text-dark, #111);
  margin-bottom: 1.15rem;
}

.product-glimpse__text {
  font-size: clamp(0.9375rem, 1.25vw, 1.0625rem);
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.product-glimpse__collage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: clamp(0.75rem, 1.5vw, 1.15rem);
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.product-glimpse__cell {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.06);
  box-shadow: 0 8px 32px rgba(17, 17, 17, 0.05);
  transition: box-shadow 0.55s var(--ease-out), transform 0.55s var(--ease-out);
}

.product-glimpse__cell:hover {
  box-shadow: 0 18px 48px rgba(17, 17, 17, 0.1);
  transform: translateY(-3px);
}

.product-glimpse__cell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.9s var(--ease-out);
}

.product-glimpse__cell:hover img {
  transform: scale(1.04);
}

.product-glimpse__cell--hero {
  grid-row: 1 / 3;
  min-height: clamp(22rem, 42vw, 36rem);
}

.product-glimpse__aside {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.15rem);
}

.product-glimpse__aside .product-glimpse__cell {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.product-glimpse__strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.15rem);
}

.product-glimpse__strip .product-glimpse__cell {
  aspect-ratio: 16 / 10;
  min-height: clamp(10rem, 18vw, 14rem);
}

.product-glimpse__carousel-wrap {
  display: none;
  position: relative;
  z-index: 1;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.product-glimpse__carousel {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-inline: clamp(1rem, 4vw, 1.5rem);
  scroll-padding-inline: clamp(1rem, 4vw, 1.5rem);
}

.product-glimpse__carousel::-webkit-scrollbar {
  display: none;
}

.product-glimpse__slide {
  flex: 0 0 min(88vw, 420px);
  margin: 0;
  scroll-snap-align: center;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.06);
  box-shadow: 0 10px 36px rgba(17, 17, 17, 0.07);
  aspect-ratio: 4 / 5;
}

.product-glimpse__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.product-glimpse__footer {
  position: relative;
  z-index: 1;
  text-align: center;
}

.product-glimpse__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.35rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent);
  transition: opacity 0.35s, transform 0.4s var(--ease-out);
}

.product-glimpse__btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .product-glimpse__collage {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .product-glimpse__cell--hero {
    grid-row: auto;
    min-height: clamp(16rem, 55vw, 22rem);
  }

  .product-glimpse__strip {
    grid-template-columns: 1fr;
  }

  .product-glimpse__strip .product-glimpse__cell {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 768px) {
  .product-glimpse__collage {
    display: none;
  }

  .product-glimpse__carousel-wrap {
    display: block;
  }
}

/* News — Editorial Timeline */
.news-editorial {
  padding-block: clamp(5rem, 11vw, 9rem);
  background: #fff;
}

.news-editorial--page {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
}

.news-editorial__header {
  max-width: 40rem;
  margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.news-editorial__eyebrow {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1.25rem;
}

.news-editorial__title {
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 300;
  line-height: 1.12;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.news-editorial__intro {
  font-size: clamp(1rem, 1.45vw, 1.125rem);
  line-height: 1.9;
  color: var(--text-light);
  max-width: 48ch;
}

.news-editorial__footer {
  margin-top: clamp(3.5rem, 7vw, 5rem);
  padding-top: 2.5rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.news-editorial__stage {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: stretch;
}

.news-editorial__timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding-top: 0.5rem;
  min-width: 4rem;
}

.news-editorial__year {
  font-family: var(--font-en);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 200;
  letter-spacing: 0.04em;
  color: var(--primary);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  direction: ltr;
  unicode-bidi: isolate;
}

html[lang="en"] .news-editorial__year {
  transform: rotate(0deg);
}

.news-editorial__line {
  flex: 1;
  width: 1px;
  min-height: 4rem;
  background: rgba(17, 17, 17, 0.12);
}

.news-editorial__index {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: var(--text-light);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

html[lang="en"] .news-editorial__index {
  transform: rotate(0deg);
}

.news-editorial__main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  min-width: 0;
}

.news-editorial__viewport {
  position: relative;
  overflow: hidden;
  min-height: clamp(420px, 52vw, 560px);
}

.news-editorial__track {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.news-editorial__slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 60% 40%;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateX(2rem);
  transition: opacity 0.55s var(--ease), transform 0.55s var(--ease), visibility 0.55s;
  pointer-events: none;
}

html[lang="en"] .news-editorial__slide {
  transform: translateX(-2rem);
}

.news-editorial__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
  z-index: 1;
}

.news-editorial__slide.is-exit-left {
  transform: translateX(-1.5rem);
  opacity: 0;
}

.news-editorial__slide.is-exit-right {
  transform: translateX(1.5rem);
  opacity: 0;
}

.news-editorial__visual {
  height: 100%;
  min-height: clamp(360px, 45vw, 520px);
  overflow: hidden;
}

.news-editorial__visual-inner {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.news-editorial__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 1.1s var(--ease);
}

.news-editorial__slide.is-active .news-editorial__visual img {
  transform: scale(1.04);
}

.news-editorial__content {
  padding-block: 1rem;
  padding-inline-start: 0.5rem;
  border-inline-start: 1px solid rgba(17, 17, 17, 0.08);
}

.news-editorial__date {
  display: block;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 1rem;
}

.news-editorial__category {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 1.5rem;
  opacity: 0.55;
}

.news-editorial__headline {
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  font-weight: 400;
  line-height: 1.28;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.news-editorial-list__headline {
  font-size: clamp(1.375rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.news-editorial__summary {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--text-light);
  margin-bottom: 2rem;
  max-width: 36ch;
}

.news-editorial__cta {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  padding-bottom: 0.3rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.news-editorial__cta:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.news-editorial__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.news-editorial__arrow {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid rgba(17, 17, 17, 0.14);
  cursor: pointer;
  transition: border-color 0.35s var(--ease), opacity 0.35s var(--ease);
  flex-shrink: 0;
}

.news-editorial__arrow span {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 1px solid var(--primary);
  border-inline-end: 1px solid var(--primary);
  transform: rotate(45deg);
}

html[lang="ar"] .news-editorial__arrow--prev span {
  transform: rotate(-135deg);
}

html[lang="ar"] .news-editorial__arrow--next span {
  transform: rotate(45deg);
}

html[lang="en"] .news-editorial__arrow--prev span {
  transform: rotate(-135deg);
}

html[lang="en"] .news-editorial__arrow--next span {
  transform: rotate(45deg);
}

.news-editorial__arrow:hover:not(:disabled) {
  border-color: rgba(17, 17, 17, 0.35);
}

.news-editorial__arrow:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}

.news-editorial__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  flex: 1;
}

.news-editorial__dot {
  width: 0.375rem;
  height: 0.375rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: rgba(17, 17, 17, 0.18);
  cursor: pointer;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease);
}

.news-editorial__dot.is-active {
  background: var(--primary);
  transform: scale(1.35);
}

/* News page — vertical editorial list */
.news-editorial-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.news-editorial-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  padding-block: clamp(3rem, 6vw, 4.5rem);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.news-editorial-list__item:first-child {
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.news-editorial-list__timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding-top: 0.25rem;
  min-width: 3.5rem;
}

.news-editorial-list__year {
  font-family: var(--font-en);
  font-size: 1.125rem;
  font-weight: 300;
  color: var(--primary);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

html[lang="en"] .news-editorial-list__year {
  transform: rotate(0deg);
}

.news-editorial-list__line {
  flex: 1;
  width: 1px;
  min-height: 3rem;
  background: rgba(17, 17, 17, 0.1);
}

.news-editorial-list__body {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
  min-width: 0;
}

.news-editorial-list__visual {
  overflow: hidden;
  min-height: clamp(280px, 32vw, 400px);
}

.news-editorial-list__visual-inner {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.news-editorial-list__visual img {
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 32vw, 400px);
  object-fit: cover;
  display: block;
  transition: transform 0.85s var(--ease);
}

.news-editorial-list__item:hover .news-editorial-list__visual img {
  transform: scale(1.03);
}

.news-editorial-list__content {
  padding-inline-start: 0.5rem;
  border-inline-start: 1px solid rgba(17, 17, 17, 0.08);
}

.news-related-item__link {
  display: block;
  color: inherit;
}

.news-related-item__visual {
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.news-related-item__visual img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform 0.65s var(--ease);
}

.news-related-item:hover .news-related-item__visual img {
  transform: scale(1.03);
}

.news-related-item__title {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin: 0.75rem 0 1rem;
}

.news-article-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2rem);
}

@media (max-width: 768px) {
  .news-article-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .news-editorial__stage {
    grid-template-columns: 1fr;
  }

  .news-editorial__timeline {
    flex-direction: row;
    writing-mode: horizontal-tb;
    justify-content: flex-start;
    gap: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  }

  .news-editorial__year,
  .news-editorial__index {
    writing-mode: horizontal-tb;
    transform: none;
    direction: ltr;
    unicode-bidi: isolate;
  }

  .news-editorial__line {
    width: auto;
    flex: 1;
    height: 1px;
    min-height: 0;
  }
}

@media (max-width: 768px) {
  .news-editorial__slide,
  .news-editorial-list__body {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .news-editorial__slide {
    position: absolute;
    overflow-y: auto;
    align-content: start;
  }

  .news-editorial__content,
  .news-editorial-list__content {
    border-inline-start: none;
    padding-inline-start: 0;
    padding-top: 0.5rem;
  }

  .news-editorial__visual,
  .news-editorial-list__visual {
    min-height: clamp(260px, 62vw, 360px);
  }

  .news-editorial__visual img,
  .news-editorial-list__visual img {
    min-height: clamp(260px, 62vw, 360px);
  }

  .news-editorial__summary {
    max-width: none;
  }

  .news-editorial-list__item {
    grid-template-columns: 1fr;
  }

  .news-editorial-list__timeline {
    flex-direction: row;
    border-bottom: none;
    padding-bottom: 0;
  }

  .news-editorial-list__year {
    writing-mode: horizontal-tb;
    transform: none;
  }

  .news-editorial-list__line {
    width: auto;
    flex: 1;
    height: 1px;
    min-height: 0;
  }
}

/* Newsroom (legacy listing — article page) */
.newsroom-showcase {
  padding-block: clamp(5rem, 10vw, 8rem);
  background: #fff;
}

.newsroom-showcase__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.newsroom-showcase__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.newsroom-showcase__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.newsroom-showcase__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.newsroom-showcase__link {
  flex-shrink: 0;
  align-self: flex-end;
}

.newsroom-hero {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
  background: #fff;
}

.newsroom-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.newsroom-hero__title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.newsroom-hero__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.newsroom-listing {
  padding-bottom: clamp(5rem, 10vw, 8rem);
  background: #fff;
}

.newsroom-secondary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.newsroom-more {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(3rem, 6vw, 4rem);
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.newsroom-more__title {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.newsroom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.newsroom-grid--related {
  grid-template-columns: repeat(3, 1fr);
}

.newsroom-grid--editorial {
  grid-template-columns: repeat(12, 1fr);
}

.newsroom-grid--editorial .news-card:nth-child(4n + 1) {
  grid-column: span 7;
}

.newsroom-grid--editorial .news-card:nth-child(4n + 2) {
  grid-column: span 5;
}

.newsroom-grid--editorial .news-card:nth-child(4n + 3) {
  grid-column: span 5;
}

.newsroom-grid--editorial .news-card:nth-child(4n + 4) {
  grid-column: span 7;
}

.news-card {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.07);
  transition: box-shadow 0.35s ease, border-color 0.35s ease;
}

.news-card:hover {
  border-color: rgba(17, 17, 17, 0.12);
  box-shadow: 0 14px 42px rgba(17, 17, 17, 0.07);
}

.newsroom-listing {
  overflow-x: clip;
}

.news-featured {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid rgba(17, 17, 17, 0.07);
}

/* Featured news */
.news-featured__link {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 0;
  color: inherit;
  background: var(--bg);
  min-height: 420px;
}

.news-featured__media {
  position: relative;
  overflow: hidden;
  min-height: 420px;
}

.news-featured__media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
  transition: transform 0.85s var(--ease);
}

.news-featured:hover .news-featured__media img {
  transform: scale(1.03);
}

.news-featured__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 4rem);
}

.news-featured__date {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 1.25rem;
}

.news-featured__title {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--primary);
  margin-bottom: 1rem;
  transition: color 0.35s var(--ease);
}

.news-featured:hover .news-featured__title {
  color: var(--accent);
}

.news-featured__excerpt {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-light);
  margin-bottom: 1.75rem;
  max-width: 42ch;
}

.news-featured__btn {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.news-featured:hover .news-featured__btn {
  color: var(--accent);
  border-color: var(--accent);
}

/* News cards */
.news-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  background: var(--bg);
}

.news-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.news-card__media--empty {
  background: linear-gradient(135deg, #ececea 0%, #f5f5f2 100%);
  aspect-ratio: 16 / 10;
}

.news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.75s var(--ease);
}

.news-card:hover .news-card__media img {
  transform: scale(1.04);
}

.news-card__body {
  padding: 1.75rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.news-card__date {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.875rem;
}

.news-card__title {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 0.75rem;
  transition: color 0.35s var(--ease);
}

.news-card:hover .news-card__title {
  color: var(--accent);
}

.news-card__excerpt {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.25rem;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card__btn {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
  padding-bottom: 0.2rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.news-card:hover .news-card__btn {
  color: var(--accent);
  border-color: var(--accent);
}

/* News article page */
.news-article-hero {
  position: relative;
  min-height: 75vh;
  display: flex;
  align-items: flex-end;
  margin-top: var(--header-offset);
}

.news-article-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.news-article-hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17, 17, 17, 0.78) 0%, rgba(17, 17, 17, 0.15) 55%, rgba(17, 17, 17, 0.35) 100%);
}

.news-article-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 75vh;
}

.news-article-hero__content {
  position: relative;
  z-index: 1;
  padding-block: clamp(4rem, 10vw, 7rem);
  color: #fff;
}

.news-article-hero__back {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 2rem;
  transition: color 0.35s var(--ease);
}

.news-article-hero__back:hover {
  color: #fff;
}

.news-article-hero__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.news-article-hero__date {
  display: block;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1.25rem;
}

.news-article-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 300;
  line-height: 1.15;
  margin-bottom: 0.75rem;
  max-width: 20ch;
}

.news-article-hero__location {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.65);
}

.news-article-content-wrap {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: #fff;
}

.news-article-content {
  font-size: clamp(1.0625rem, 1.4vw, 1.125rem);
  line-height: 1.95;
  color: var(--text-light);
}

.news-article-content p + p {
  margin-top: 1.5rem;
}

.news-article-gallery {
  padding-block: clamp(3rem, 6vw, 5rem);
  background: var(--bg);
}

.news-article-section-title {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.news-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

.news-gallery__item {
  overflow: hidden;
  background: #fff;
}

.news-gallery__item img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.75s var(--ease);
}

.news-gallery__item:hover img {
  transform: scale(1.03);
}

.news-article-nav {
  padding-block: clamp(2.5rem, 5vw, 3.5rem);
  background: #fff;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.news-article-nav__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.news-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem;
  border: 1px solid rgba(17, 17, 17, 0.08);
  transition: border-color 0.35s var(--ease), background 0.35s var(--ease);
}

.news-nav:hover {
  border-color: rgba(17, 17, 17, 0.18);
  background: var(--bg);
}

.news-nav--next {
  text-align: end;
  align-items: flex-end;
}

html[lang="en"] .news-nav--next {
  text-align: right;
  align-items: flex-end;
}

.news-nav__label {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
}

.news-nav__title {
  font-size: 1rem;
  font-weight: 400;
  color: var(--primary);
  line-height: 1.4;
  max-width: 28ch;
}

.news-article-related {
  padding-block: clamp(4rem, 8vw, 6rem);
  background: var(--bg);
}

.news-article-related__header {
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.news-article-related__eyebrow {
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.news-article-related__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--primary);
}

@media (max-width: 1100px) {
  .newsroom-secondary,
  .newsroom-grid,
  .newsroom-grid--related {
    grid-template-columns: repeat(2, 1fr);
  }

  .newsroom-grid--editorial,
  .newsroom-grid--editorial .news-card {
    grid-column: span 1;
  }

  .newsroom-grid--editorial {
    grid-template-columns: repeat(2, 1fr);
  }

  .news-featured__link {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .news-featured__media,
  .news-featured__media img {
    min-height: 320px;
  }
}

@media (max-width: 768px) {
  .newsroom-showcase__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .newsroom-secondary,
  .newsroom-grid,
  .newsroom-grid--related,
  .newsroom-grid--editorial {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .newsroom-grid--editorial .news-card {
    grid-column: 1 / -1;
  }

  .news-article-nav__grid {
    grid-template-columns: 1fr;
  }

  .news-nav--next {
    text-align: start;
    align-items: flex-start;
  }

  html[lang="en"] .news-nav--next {
    text-align: left;
    align-items: flex-start;
  }

  .news-gallery__grid {
    grid-template-columns: 1fr;
  }

  .news-gallery__item img {
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .news-article-hero {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
  }

  .news-article-hero__image {
    position: relative;
    inset: auto;
    height: auto;
  }

  .news-article-hero__image img {
    position: relative;
    min-height: 0;
    max-height: min(62vh, 520px);
    height: auto;
    width: 100%;
    object-fit: contain;
    object-position: center;
    background: #111;
  }

  .news-article-hero__content {
    padding-top: 2rem;
  }

  .news-article-hero__title {
    max-width: none;
  }
}

/* News (legacy) */
.news-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1px;
  background: rgba(17, 17, 17, 0.08);
}

.news-item {
  background: var(--bg);
  display: grid;
  grid-template-columns: 1fr;
  transition: background 0.4s var(--ease);
}

.news-item:hover { background: var(--secondary); }

.news-item--featured {
  grid-row: span 2;
}

.news-item__image {
  aspect-ratio: 16/10;
  overflow: hidden;
}

.news-item--featured .news-item__image { aspect-ratio: auto; flex: 1; min-height: 300px; }

.news-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ease-out);
}

.news-item:hover .news-item__image img { transform: scale(1.03); }

.news-item__body { padding: 2rem 2.5rem 2.5rem; }

.news-item__date {
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.news-item__title {
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--primary);
  line-height: 1.4;
  margin-bottom: 0.75rem;
  transition: color 0.3s var(--ease);
}

.news-item:hover .news-item__title { color: var(--accent); }

.news-item__excerpt {
  font-size: 0.875rem;
  color: var(--text-light);
  line-height: 1.7;
}

/* Partners / Global */
.global-strip {
  text-align: center;
  padding-block: 6rem;
}

.global-strip h2 { margin-bottom: 1rem; }
.global-strip .lead { margin: 0 auto 4rem; text-align: center; }

.partners {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3rem 5rem;
  opacity: 0.4;
}

.partner-name {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--primary);
}

/* CTA */
.cta {
  position: relative;
  padding-block: clamp(6rem, 15vw, 10rem);
  text-align: center;
  overflow: hidden;
}

.cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.82);
}

.cta__content {
  position: relative;
  z-index: 1;
  color: #fff;
}

.cta__content h2 {
  color: #fff;
  margin-bottom: 1.5rem;
}

.cta__content p {
  color: rgba(255, 255, 255, 0.65);
  max-width: 32rem;
  margin: 0 auto 3rem;
}

.btn {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 1.125rem 2.75rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  transition: all 0.5s var(--ease);
}

.btn:hover {
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

.btn--dark {
  border-color: var(--primary);
  color: var(--primary);
}

.btn--dark:hover {
  background: var(--primary);
  color: #fff;
}

/* Footer — Premium */
.footer {
  background: #111111;
  color: rgba(255, 255, 255, 0.62);
  padding-top: clamp(5rem, 10vw, 7.5rem);
}

.footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
  gap: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: clamp(3.5rem, 7vw, 5rem);
}

.footer__logo {
  display: inline-block;
  margin-bottom: clamp(1.75rem, 3vw, 2.25rem);
}

.footer__logo img {
  height: 42px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.95;
  transition: opacity 0.35s var(--ease);
}

.footer__logo:hover img {
  opacity: 1;
}

.footer__desc {
  font-size: clamp(0.875rem, 1.2vw, 0.9375rem);
  font-weight: 300;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.58);
  max-width: 34ch;
  margin-bottom: 1.75rem;
}

.footer__since {
  font-family: var(--font-en);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent-bright);
}

.footer__heading {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.footer__subheading {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  margin-top: clamp(2rem, 4vw, 2.75rem);
  margin-bottom: 1rem;
}

.footer__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.footer__list a {
  font-size: 0.875rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.58);
  transition: color 0.35s var(--ease);
  display: inline-block;
}

.footer__list a:hover {
  color: var(--accent-bright);
}

.footer__contact {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 4vw, 2.5rem);
}

.footer__contact-row {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.footer__contact-label {
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-bright);
}

.footer__contact-value {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.72);
}

.footer__contact-value a {
  display: block;
  color: inherit;
  transition: color 0.35s var(--ease);
}

.footer__contact-value a + a {
  margin-top: 0.25rem;
}

.footer__contact-value a:hover {
  color: #fff;
}

.haman-phone {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}

.footer__icons {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.footer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition:
    color 0.35s var(--ease),
    border-color 0.35s var(--ease),
    background 0.35s var(--ease);
}

.footer__icon:hover {
  color: var(--accent-bright);
  border-color: rgba(226, 51, 62, 0.5);
  background: rgba(226, 51, 62, 0.08);
}

.footer__hours-week {
  font-size: 1rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 0.5rem;
}

.footer__hours-detail {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.52);
  white-space: pre-line;
}

.footer__showroom {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.52);
  max-width: 30ch;
  margin-bottom: 1rem;
}

.footer__showroom-link {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  padding-bottom: 0.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  margin-bottom: clamp(2rem, 4vw, 2.5rem);
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.footer__showroom-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.footer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.25rem;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ffffff;
  background: var(--accent);
  transition:
    background 0.4s var(--ease),
    color 0.4s var(--ease),
    transform 0.4s var(--ease-out);
}

.footer__cta:hover {
  background: var(--accent-dark);
  color: #ffffff;
  transform: translateY(-1px);
}

.footer__bar {
  padding-block: clamp(1.75rem, 3vw, 2.25rem);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer__copyright {
  font-family: var(--font-en);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.38);
  text-align: center;
}

/* Page Hero (inner pages) */
.page-hero {
  padding-top: calc(var(--header-offset) + 5rem);
  padding-bottom: 4rem;
  background: var(--secondary);
}

.page-hero h1 { margin-bottom: 1rem; }
.page-hero .lead { max-width: 42rem; }

/* About */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

.about-grid__image {
  aspect-ratio: 4/5;
  overflow: hidden;
}

.about-grid__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
}

.value__num {
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  color: var(--accent);
  margin-bottom: 1.25rem;
  direction: ltr;
  unicode-bidi: isolate;
}

.value h3 { margin-bottom: 0.75rem; }
.value p { font-size: 0.875rem; color: var(--text-light); }

/* Collections page */
.filter-bar {
  display: flex;
  gap: 2rem;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  flex-wrap: wrap;
}

.filter-btn {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-light);
  padding-bottom: 0.5rem;
  border-bottom: 1px solid transparent;
  transition: all 0.3s var(--ease);
}

.filter-btn.is-active,
.filter-btn:hover {
  color: var(--primary);
  border-bottom-color: var(--accent);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 2rem;
}

.catalog-card__image {
  aspect-ratio: 3/4;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.catalog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ease-out);
}

.catalog-card:hover .catalog-card__image img { transform: scale(1.04); }

.catalog-card__cat {
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.5rem;
}

.catalog-card h3 {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
  transition: color 0.3s var(--ease);
}

.catalog-card:hover h3 { color: var(--accent); }

.catalog-card p {
  font-size: 0.8125rem;
  color: var(--text-light);
}

/* Contact */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 6rem;
}

.contact-info__item {
  margin-bottom: 2.5rem;
}

.contact-info__item h4 {
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.75rem;
}

.contact-info__item p,
.contact-info__item a {
  font-size: 1rem;
  color: var(--text);
  line-height: 1.8;
}

.contact-form {
  display: grid;
  gap: 1.5rem;
}

.form-group label {
  display: block;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.5rem;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 1rem 0;
  border: none;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
  background: transparent;
  font: inherit;
  color: var(--text);
  transition: border-color 0.3s var(--ease);
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-bottom-color: var(--accent);
}

.form-group textarea { resize: vertical; min-height: 120px; }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

/* News article */
.article-header {
  max-width: 48rem;
  margin-bottom: 3rem;
}

.article-header .news-item__date { margin-bottom: 1.5rem; }

.article-header h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.5rem;
}

.article-image {
  aspect-ratio: 21/9;
  overflow: hidden;
  margin-bottom: 4rem;
}

.article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-body {
  max-width: var(--max-text);
  margin: 0 auto;
}

.article-body p {
  margin-bottom: 1.5rem;
  color: var(--text-light);
  line-height: 1.9;
}

/* Reveal animations */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 1s var(--ease-out), transform 1s var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.12s; }
.reveal-delay-2 { transition-delay: 0.24s; }
.reveal-delay-3 { transition-delay: 0.36s; }

/* Media reveal — gentle image entrance */
.media-reveal {
  overflow: hidden;
  background: var(--secondary);
}

.media-reveal img,
.media-reveal video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  opacity: 0.92;
  transition:
    transform 1.35s var(--ease-out),
    opacity 1.1s var(--ease-out);
  will-change: transform;
}

.media-reveal.is-visible img,
.media-reveal.is-visible video {
  transform: scale(1);
  opacity: 1;
}

img.img-loading {
  opacity: 0;
}

img.img-loaded {
  opacity: 1;
  transition: opacity 0.6s var(--ease-out);
}

/* Section flow — natural transitions between blocks */
.section-flow {
  position: relative;
}

.section-flow::before {
  content: '';
  position: absolute;
  top: 0;
  inset-inline: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(17, 17, 17, 0.07) 20%,
    rgba(17, 17, 17, 0.07) 80%,
    transparent 100%
  );
  pointer-events: none;
}

.section-flow--dark::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.08) 20%,
    rgba(255, 255, 255, 0.08) 80%,
    transparent 100%
  );
}

/* Mobile Fullscreen Menu */
body.mobile-menu-open {
  overflow: hidden;
}

.mobile-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10040;
  background: rgba(17, 17, 17, 0.35);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mobile-nav-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mobile-nav-backdrop[hidden] {
  display: none !important;
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: #fff;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

.mobile-nav[hidden] {
  display: none !important;
}

.mobile-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem var(--gutter);
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
  flex-shrink: 0;
}

.mobile-nav__logo {
  width: clamp(90px, 22vw, 110px);
  height: auto;
}

.mobile-nav__close {
  color: var(--primary);
  padding: 0.5rem;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.mobile-nav__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  padding: 1.5rem var(--gutter) 2rem;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav__link {
  display: block;
  font-size: clamp(1.25rem, 4.5vw, 1.625rem);
  font-weight: 400;
  color: var(--primary);
  padding-block: 0.85rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
  letter-spacing: 0.02em;
  text-align: center;
}

html[lang="ar"] .mobile-nav__link {
  font-weight: 400;
  font-size: clamp(1.2rem, 4.5vw, 1.55rem);
}

.mobile-nav__group { border-bottom: 1px solid rgba(17, 17, 17, 0.06); }

.mobile-nav__group summary {
  list-style: none;
  cursor: pointer;
  position: relative;
}

.mobile-nav__group summary::-webkit-details-marker { display: none; }

.mobile-nav__group summary::after {
  content: '+';
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--accent);
  transition: transform 0.3s var(--ease);
}

.mobile-nav__group[open] summary::after { content: '−'; }

.mobile-nav__sub {
  padding-block: 0.5rem 1.25rem;
  padding-inline-start: 0.5rem;
}

.mobile-nav__sub a {
  display: block;
  font-size: 1rem;
  font-weight: 300;
  color: var(--text-light);
  padding-block: 0.625rem;
  transition: color 0.3s var(--ease);
}

.mobile-nav__sub a:hover { color: var(--accent); }

.mobile-nav__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(17, 17, 17, 0.06);
  flex-shrink: 0;
}

.mobile-nav__cta {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
  background: var(--primary);
  padding: 1rem 2rem;
  flex: 1;
  text-align: center;
}

.mobile-nav__lang {
  flex-shrink: 0;
  color: var(--text);
  border-color: rgba(17, 17, 17, 0.15);
}

/* Responsive */
@media (max-width: 1320px) {
  .header__nav-list { gap: 1.35rem; }
  .header__link { font-size: 0.5625rem; letter-spacing: 0.12em; }
  .header__actions--right { gap: 1.15rem; }
  .header__inner { padding-inline: clamp(4.75rem, 11vw, 7rem); }
  .mega-panel__list--companies { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

@media (max-width: 1200px) {
  .collection-item,
  .collection-item--large { grid-column: span 6; }
  .collection-item--tall { grid-column: span 6; }
  .mega-panel__inner { grid-template-columns: 1fr 1fr; }
  .mega-panel__visual { display: none; }
  .mega-panel__list--companies { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

@media (max-width: 1100px) {
  .header__nav-list { gap: 1.1rem; }
  .header__link { font-size: 0.5rem; letter-spacing: 0.11em; }
  .header__inner { padding-inline: clamp(4.25rem, 10vw, 6rem); }
}

@media (max-width: 1024px) {
  .statement { grid-template-columns: 1fr; }
  .featured { grid-template-columns: 1fr; }

  .news-grid { grid-template-columns: 1fr; }
  .news-item--featured { grid-row: auto; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .about-grid { grid-template-columns: 1fr; }
  .values { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-layout { grid-template-columns: 1fr; gap: 4rem; }
}

@media (max-width: 768px) {
  .header__nav { display: none; }
  .header__cta { display: none; }
  .header__toggle { display: flex; }
  .header__inner {
    padding-inline: clamp(3rem, 7.5vw, 4rem);
    padding-block: clamp(0.28rem, 1.5vw, 0.4rem);
  }
  .header__logo-img {
    width: clamp(88px, 21vw, 110px);
  }
  .header__actions--left {
    left: clamp(0.75rem, 2.5vw, 1.1rem);
  }
  .header__actions--right {
    right: clamp(0.75rem, 2.5vw, 1.1rem);
    gap: 0.65rem;
  }
}

@media (max-width: 768px) {
  .collection-item,
  .collection-item--large,
  .collection-item--tall { grid-column: span 12; }
  .collection-item--large .collection-item__media,
  .collection-item--tall .collection-item__media { min-height: 400px; }

  .catalog-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; gap: 3rem; }
  .footer__cta { width: 100%; }
  .collections-header { flex-direction: column; align-items: flex-start; }
}

/* Branches & Showrooms */
.branches-showcase {
  padding-block: clamp(5rem, 10vw, 8rem);
  background: #fff;
}

.branches-showcase--page {
  padding-top: calc(var(--header-offset) + clamp(3rem, 7vw, 5rem));
}

.branches-showcase__header {
  max-width: 46rem;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.branches-showcase__eyebrow {
  font-family: var(--font-en);
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.branches-showcase__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 1.5rem;
}

.branches-showcase__intro {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.85;
  color: var(--text-light);
  max-width: 52ch;
}

.branches-showcase__body {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 6vw, 5rem);
}

.branches-map-wrap {
  display: grid;
  grid-template-columns: 1fr minmax(240px, 320px);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: stretch;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: var(--bg);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.branches-map {
  min-height: clamp(320px, 42vw, 480px);
}

.branches-map__canvas {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.branches-map__svg {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
}

.branches-map__land {
  fill: #fff;
}

.branches-map__coast {
  fill: none;
  stroke: rgba(17, 17, 17, 0.14);
  stroke-width: 1.2;
}

.branches-map__markers {
  position: absolute;
  inset: 8% 12% 12% 8%;
}

.branches-map__marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 1;
}

.branches-map__marker-dot {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0.5rem;
  height: 0.5rem;
  margin: -0.25rem 0 0 -0.25rem;
  background: var(--primary);
  border-radius: 50%;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease);
}

.branches-map__marker-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  border: 1px solid rgba(17, 17, 17, 0.18);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.35s var(--ease);
}

.branches-map__marker.is-active .branches-map__marker-dot,
.branches-map__marker:hover .branches-map__marker-dot {
  transform: scale(1.35);
  background: var(--accent);
}

.branches-map__marker.is-active .branches-map__marker-pulse,
.branches-map__marker:hover .branches-map__marker-pulse {
  opacity: 1;
}

.branches-map-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
  border-inline-start: 1px solid rgba(17, 17, 17, 0.08);
  background: #fff;
}

.branches-map-panel__city {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.75rem;
}

.branches-map-panel__name {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 1rem;
}

.branches-map-panel__address {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5rem;
}

.branches-map-panel__link {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.branches-map-panel__link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.branches-featured {
  position: relative;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}

.branches-featured__visual {
  min-height: clamp(360px, 50vw, 520px);
  overflow: hidden;
}

.branches-featured__visual img {
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 50vw, 520px);
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}

.branches-featured:hover .branches-featured__visual img {
  transform: scale(1.03);
}

.branches-featured__content {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  background: linear-gradient(to top, rgba(17, 17, 17, 0.72) 0%, transparent 100%);
  color: #fff;
}

.branches-featured__city {
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 0.75rem;
}

.branches-featured__name {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: 28ch;
}

.branches-featured__intro {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.75);
  max-width: 42ch;
  margin-bottom: 1.75rem;
}

.branches-featured__cta {
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
  padding: 1rem 2rem;
  cursor: pointer;
  transition: background 0.4s var(--ease), color 0.4s var(--ease);
}

.branches-featured__cta:hover {
  background: #fff;
  color: var(--primary);
}

.branches-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2rem);
}

.branch-card {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border: 1px solid rgba(17, 17, 17, 0.08);
  transition: border-color 0.4s var(--ease);
}

.branch-card.is-active {
  border-color: rgba(17, 17, 17, 0.22);
}

.branch-card__visual {
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.branch-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.75s var(--ease);
}

.branch-card:hover .branch-card__visual img {
  transform: scale(1.04);
}

.branch-card__body {
  padding: clamp(1.5rem, 3vw, 2rem);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.branch-card__city {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.625rem;
}

.branch-card__name {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--primary);
  margin-bottom: 1.25rem;
}

.branch-card__details {
  margin: 0 0 1.5rem;
  flex: 1;
}

.branch-card__row {
  padding-block: 0.875rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
}

.branch-card__row:first-child {
  border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.branch-card__row dt {
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 0.35rem;
}

.branch-card__row dd {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--primary);
  margin: 0;
}

.branch-card__row dd a {
  color: inherit;
  transition: color 0.35s var(--ease);
}

.branch-card__row dd a:hover {
  color: var(--accent);
}

.branch-card__directions {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--primary);
  border-bottom: 1px solid rgba(17, 17, 17, 0.22);
  padding-bottom: 0.25rem;
  align-self: flex-start;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.branch-card__directions:hover {
  color: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 1100px) {
  .branches-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .branches-map-wrap {
    grid-template-columns: 1fr;
  }

  .branches-map-panel {
    border-inline-start: none;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
  }
}

@media (max-width: 768px) {
  .branches-grid {
    grid-template-columns: 1fr;
  }

  .branches-map {
    min-height: 280px;
  }
}

/* Luxury — product presentation & subtle motion */
.collection-products {
  gap: clamp(3rem, 6vw, 5.5rem) clamp(2.5rem, 5vw, 4rem);
}

.collection-product__media img {
  aspect-ratio: 3 / 4;
  min-height: clamp(340px, 44vw, 560px);
}

.product-preview img {
  aspect-ratio: 3 / 4;
  min-height: clamp(380px, 52vh, 680px);
}

.product-card:hover .product-card__media img,
.collection-product:hover .collection-product__media img,
.product-related-card:hover .product-related-card__media img {
  transform: scale(1.02);
}

.product-card__media img,
.collection-product__media img {
  transition: transform 1.1s var(--ease-out);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .reveal,
  .media-reveal img,
  .media-reveal video {
    opacity: 1 !important;
    transform: none !important;
  }
}
