:root {
  --primary: #1A1A1A;
  --secondary: #F7F5F0;
  --accent: #D4AF37;
  --charcoal: #222222;
  --ivory: #FDFCF8;
  --cream: #F5F2EB;
  --sand: #E6E0D4;
  --gold: #C5A059;
  --white: #FFFFFF;
  --container: 1280px;
  --font-sans: "Inter", sans-serif;
  --font-display: "Playfair Display", serif;
  --font-arabic: "Tajawal", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--secondary);
  color: var(--primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
html[dir="rtl"] body { font-family: var(--font-arabic); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; width: 100%; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin-top: 0; }

.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 96px 0; }

#scroll-progress {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  width: 0;
  height: 3px;
  background: var(--gold);
  z-index: 200;
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  padding: 24px 0;
  transition: padding .3s ease, background .3s ease, box-shadow .3s ease;
}
.site-header.scrolled {
  padding: 16px 0;
  background: rgba(247,245,240,.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 5px 20px rgba(0,0,0,.05);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.logo {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
}
.logo span { color: var(--gold); }
.desktop-nav { display: flex; align-items: center; gap: 32px; }
.nav-link {
  position: relative;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nav-link::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  bottom: -7px;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width .3s ease;
}
.nav-link:hover { color: var(--gold); }
.nav-link:hover::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 24px; }
.lang-switch { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.lang-switch span { opacity: .25; }
.lang-btn { border: 0; padding: 4px 0; background: transparent; color: rgba(26,26,26,.5); }
.lang-btn:hover { color: var(--primary); }
.lang-btn.active { color: var(--gold); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 30px;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-dark { background: var(--primary); color: var(--secondary); }
.btn-dark:hover { background: var(--gold); color: var(--white); }
.btn-gold { background: var(--gold); color: var(--white); }
.btn-gold:hover { background: var(--white); color: var(--primary); }
.btn-outline-light { background: transparent; color: var(--white); border-color: rgba(255,255,255,.35); }
.btn-outline-light:hover { background: var(--white); color: var(--primary); }
.btn-outline-dark { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn-outline-dark:hover { background: var(--primary); color: var(--secondary); }

.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 8px;
  border: 0;
  background: transparent;
  z-index: 120;
}
.menu-toggle span { display: block; width: 24px; height: 1.5px; margin: 5px auto; background: var(--primary); transition: .3s ease; }
.menu-toggle.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 110px 24px 32px;
  background: var(--secondary);
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition: opacity .5s ease, transform .55s cubic-bezier(.22,1,.36,1);
}
html[dir="rtl"] .mobile-menu { transform: translateX(-100%); }
.mobile-menu.open { opacity: 1; pointer-events: auto; transform: translateX(0); }
.mobile-nav { display: flex; flex-direction: column; align-items: center; gap: 24px; margin-bottom: 44px; }
.mobile-nav .nav-link { font-size: 19px; letter-spacing: .15em; }
.mobile-menu-actions { width: min(100%, 320px); display: flex; flex-direction: column; align-items: center; gap: 28px; }
.mobile-cta { width: 100%; }
body.menu-open { overflow: hidden; }

.hero {
  position: relative;
  min-height: 600px;
  height: 100vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
  overflow: hidden;
}
.hero-bg, .featured-bg, .cta-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(26,26,26,.84) 0%, rgba(26,26,26,.54) 45%, rgba(26,26,26,.1) 100%);
}
html[dir="rtl"] .hero-overlay { background: linear-gradient(270deg, rgba(26,26,26,.84) 0%, rgba(26,26,26,.54) 45%, rgba(26,26,26,.1) 100%); }
.hero-content { position: relative; z-index: 2; }
.hero-copy { max-width: 720px; }
.eyebrow { color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 24px; }
.hero-title { font-family: var(--font-display); color: var(--white); font-size: clamp(44px, 6vw, 76px); line-height: 1.08; font-weight: 500; margin-bottom: 24px; }
html[dir="rtl"] .hero-title { font-family: var(--font-arabic); font-weight: 500; }
.hero-description { max-width: 560px; color: rgba(255,255,255,.9); font-size: clamp(17px, 2vw, 20px); font-weight: 300; line-height: 1.7; margin-bottom: 38px; }
.hero-buttons, .cta-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.scroll-indicator { position: absolute; z-index: 2; bottom: 40px; left: 50%; transform: translateX(-50%); width: 1px; height: 64px; overflow: hidden; background: rgba(255,255,255,.3); }
.scroll-indicator span { position: absolute; inset: 0 0 auto 0; height: 32px; background: var(--white); animation: scrollLine 1.6s linear infinite; }
@keyframes scrollLine { from { transform: translateY(-32px); } to { transform: translateY(64px); } }

.section-intro { max-width: 680px; margin-bottom: 64px; }
.section-intro-start { text-align: start; }
.section-intro-center { text-align: center; margin-inline: auto; }
.section-intro h2, .center-heading, .about-copy h2, .contact-info h2 {
  font-family: var(--font-display);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.15;
  font-weight: 500;
  margin-bottom: 24px;
}
html[dir="rtl"] .section-intro h2,
html[dir="rtl"] .center-heading,
html[dir="rtl"] .about-copy h2,
html[dir="rtl"] .contact-info h2 { font-family: var(--font-arabic); }
.section-intro p { color: rgba(26,26,26,.68); font-size: 18px; line-height: 1.7; }
.center-heading { text-align: center; margin-bottom: 64px; }

.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.service-card { cursor: pointer; }
.service-image-wrap { position: relative; height: 400px; margin-bottom: 24px; overflow: hidden; background: var(--cream); }
.service-image { height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.22,1,.36,1), filter .4s ease; }
.service-number { position: absolute; top: 24px; inset-inline-end: 24px; z-index: 2; color: var(--white); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.service-image-wrap::after { content: ""; position: absolute; inset: 0; background: rgba(26,26,26,.1); transition: opacity .4s ease; }
.service-card:hover .service-image { transform: scale(1.055); }
.service-card:hover .service-image-wrap::after { opacity: 0; }
.service-card h3 { font-size: 18px; line-height: 1.45; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px; transition: color .3s ease; }
.service-card:hover h3 { color: var(--gold); }
.service-card p { color: rgba(26,26,26,.68); line-height: 1.65; margin-bottom: 22px; }
.service-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; transition: color .3s ease; }
.service-link .arrow { transition: transform .3s ease; }
.service-card:hover .service-link { color: var(--gold); }
html[dir="ltr"] .service-card:hover .arrow { transform: translateX(5px); }
html[dir="rtl"] .service-card:hover .arrow { transform: translateX(-5px); }

.portfolio-section, .process-section { background: var(--cream); }
.portfolio-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 30px; margin-top: 42px; }
.filter-btn { padding: 0 0 7px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: rgba(26,26,26,.5); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: .3s ease; }
.filter-btn:hover { color: var(--primary); border-bottom-color: rgba(26,26,26,.2); }
.filter-btn.active { color: var(--primary); border-bottom-color: var(--gold); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.project-card { position: relative; height: 500px; overflow: hidden; background: var(--sand); cursor: pointer; animation: cardIn .35s ease both; }
@keyframes cardIn { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } }
.project-card img { height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22,1,.36,1); }
.project-overlay { position: absolute; inset: 0; background: rgba(26,26,26,.45); opacity: 0; transition: opacity .45s ease; }
.project-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; opacity: 0; transform: translateY(28px); transition: opacity .45s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.project-label { color: var(--gold); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 8px; }
.project-content h3 { font-family: var(--font-display); color: var(--white); font-size: 26px; font-weight: 500; margin-bottom: 16px; }
html[dir="rtl"] .project-content h3 { font-family: var(--font-arabic); }
.project-action { color: var(--white); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.project-card:hover img { transform: scale(1.055); }
.project-card:hover .project-overlay, .project-card:hover .project-content { opacity: 1; }
.project-card:hover .project-content { transform: translateY(0); }
.center-action { text-align: center; margin-top: 60px; }

.featured-section { position: relative; min-height: 600px; height: 80vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.featured-overlay { position: absolute; inset: 0; background: rgba(26,26,26,.62); }
.featured-content { position: relative; z-index: 2; max-width: 900px; text-align: center; color: var(--white); }
.featured-content h2 { font-family: var(--font-display); font-size: clamp(42px, 5vw, 64px); font-weight: 500; margin-bottom: 28px; }
html[dir="rtl"] .featured-content h2 { font-family: var(--font-arabic); }
.featured-content > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 38px; color: rgba(255,255,255,.82); font-size: 19px; font-weight: 300; line-height: 1.7; }

.benefits-section { background: var(--primary); color: var(--secondary); }
.benefits-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.benefit-card { text-align: center; }
.benefit-icon { width: 64px; height: 64px; margin: 0 auto 28px; display: grid; place-items: center; border: 1px solid rgba(197,160,89,.35); border-radius: 50%; color: var(--gold); transition: .3s ease; }
.benefit-card:hover .benefit-icon { background: var(--gold); color: var(--primary); }
.benefit-icon svg { width: 28px; height: 28px; }
.benefit-num { color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: .18em; margin-bottom: 14px; }
.benefit-card h3 { font-size: 16px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 14px; }
.benefit-card p { color: rgba(247,245,240,.7); font-weight: 300; line-height: 1.7; }

.about-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 80px; align-items: center; }
.about-images { position: relative; height: 700px; }
.about-image { position: absolute; overflow: hidden; background: var(--sand); }
.about-image img { height: 100%; object-fit: cover; }
.about-image-main { top: 0; inset-inline-start: 0; width: 80%; height: 80%; }
.about-image-small { bottom: 0; inset-inline-end: 0; width: 60%; height: 60%; border: 8px solid var(--secondary); }
.about-text { color: rgba(26,26,26,.68); font-size: 18px; font-weight: 300; line-height: 1.8; margin-bottom: 34px; }
.about-text p { margin-bottom: 18px; }
.about-text .about-emphasis { color: var(--primary); font-weight: 500; }

.process-wrap { position: relative; }
.process-line { position: absolute; top: 24px; inset-inline: 0; height: 1px; background: rgba(26,26,26,.18); }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px; }
.process-card { text-align: center; }
.process-number { position: relative; z-index: 2; width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 28px; border-radius: 50%; border: 1px solid var(--gold); background: var(--cream); color: var(--gold); font-weight: 500; }
.process-card h3 { font-size: 17px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 14px; }
.process-card p { color: rgba(26,26,26,.67); font-weight: 300; line-height: 1.7; }

.cta-section { position: relative; padding: 120px 0; overflow: hidden; background: var(--primary); }
.cta-bg { filter: grayscale(1); opacity: .22; }
.cta-overlay { position: absolute; inset: 0; background: rgba(26,26,26,.46); }
.cta-content { position: relative; z-index: 2; max-width: 900px; text-align: center; color: var(--white); }
.cta-content h2 { font-family: var(--font-display); font-size: clamp(38px, 5vw, 54px); font-weight: 500; margin-bottom: 20px; }
html[dir="rtl"] .cta-content h2 { font-family: var(--font-arabic); }
.cta-content p { max-width: 620px; margin: 0 auto 34px; color: rgba(255,255,255,.82); font-size: 18px; font-weight: 300; line-height: 1.7; }
.cta-buttons { justify-content: center; }

.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 86px; }
.contact-info h2 { margin-bottom: 46px; }
.contact-items { display: grid; gap: 28px; }
.contact-item { display: flex; align-items: flex-start; gap: 16px; }
.contact-icon { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(197,160,89,.35); border-radius: 50%; color: var(--gold); }
.contact-icon svg { width: 20px; height: 20px; }
.contact-item-label { color: rgba(26,26,26,.5); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 5px; }
.contact-item-value { font-size: 17px; line-height: 1.55; }
.contact-item-value:hover[href] { color: var(--gold); }
.contact-card { padding: 44px; background: var(--cream); box-shadow: 0 10px 30px rgba(0,0,0,.035); }
#contact-form { display: grid; gap: 22px; }
.form-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.field { display: grid; gap: 8px; }
.field label { font-size: 13px; font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; padding: 13px 14px; border: 1px solid rgba(26,26,26,.12); border-radius: 0; outline: 0; background: var(--white); color: var(--primary); transition: border-color .25s ease; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); }
.field textarea { resize: vertical; min-height: 120px; }
.form-submit { width: 100%; }
.form-submit:disabled { opacity: .65; cursor: wait; }
.form-status { min-height: 18px; margin: -8px 0 0; color: #557a46; font-size: 13px; text-align: center; }

.footer { padding: 78px 0 36px; background: var(--charcoal); color: var(--white); }
.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 38px; margin-bottom: 58px; }
.footer-logo { display: inline-block; margin-bottom: 22px; }
.footer-tagline { max-width: 280px; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.7; }
.footer-address { max-width: 300px; margin-top: 12px; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.7; }
.footer-address a:hover { color: var(--gold); }
.footer-contact { display: grid; gap: 10px; margin-top: 18px; }
.footer-contact-link { display: flex; align-items: center; gap: 9px; width: fit-content; max-width: 100%; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.45; transition: color .25s ease; }
.footer-contact-link svg { width: 15px; height: 15px; flex: 0 0 15px; color: var(--gold); }
.footer-contact-link span { overflow-wrap: anywhere; }
.footer-contact-link:hover { color: var(--white); }
.contact-address { max-width: 360px; display: inline-block; }
.footer h3 { color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 22px; }
.footer li { margin-bottom: 13px; }
.footer li a { color: rgba(255,255,255,.7); font-size: 13px; transition: color .25s ease; }
.footer li a:hover { color: var(--white); }
.social-links { display: flex; gap: 12px; }
.social-links a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 600; transition: .3s ease; }
.social-links a:hover { background: var(--gold); border-color: var(--gold); color: var(--white); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.38); font-size: 11px; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 22px; }
.footer-bottom a:hover { color: var(--white); }

.whatsapp-float { position: fixed; z-index: 150; bottom: 38px; inset-inline-end: 38px; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #25D366; color: var(--white); box-shadow: 0 5px 18px rgba(37,211,102,.38); transition: transform .3s ease, background .3s ease; }
.whatsapp-float:hover { transform: translateY(-3px) scale(1.04); background: #22bf5b; }
.whatsapp-float svg { position: relative; z-index: 2; width: 28px; height: 28px; }
.whatsapp-pulse { position: absolute; inset: 0; border: 2px solid #25D366; border-radius: 50%; animation: whatsappPulse 2.5s ease-out infinite; }
@keyframes whatsappPulse { 0% { transform: scale(1); opacity: .65; } 65%,100% { transform: scale(1.5); opacity: 0; } }

.reveal { opacity: 0; transform: translateY(38px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .desktop-nav, .desktop-actions { display: none; }
  .menu-toggle, .mobile-menu { display: flex; }
  .services-grid, .benefits-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .about-grid, .contact-grid { gap: 56px; }
}

@media (max-width: 820px) {
  .container { width: min(calc(100% - 36px), var(--container)); }
  .section { padding: 76px 0; }
  .hero { min-height: 650px; }
  .hero-copy { max-width: 620px; }
  .service-image-wrap { height: 360px; }
  .project-card { height: 430px; }
  .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .about-images { height: 560px; }
  .process-line { top: 0; bottom: 0; width: 1px; height: auto; inset-inline-start: 24px; inset-inline-end: auto; }
  .process-grid { grid-template-columns: 1fr; gap: 36px; }
  .process-card { position: relative; min-height: 90px; padding-inline-start: 72px; text-align: start; }
  .process-number { position: absolute; top: 0; inset-inline-start: 0; margin: 0; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .site-header { padding: 18px 0; }
  .logo { font-size: 20px; }
  .hero { padding-top: 72px; }
  .hero-title { font-size: clamp(40px, 12vw, 58px); }
  .hero-buttons, .cta-buttons { flex-direction: column; }
  .hero-buttons .btn, .cta-buttons .btn { width: 100%; }
  .scroll-indicator { bottom: 24px; height: 48px; }
  .section-intro { margin-bottom: 46px; }
  .services-grid, .portfolio-grid, .benefits-grid, .footer-grid { grid-template-columns: 1fr; }
  .service-image-wrap { height: 420px; }
  .project-card { height: 460px; }
  .project-overlay { opacity: .25; }
  .project-content { opacity: 1; transform: translateY(0); }
  .about-images { height: 470px; }
  .about-image-small { border-width: 6px; }
  .contact-card { padding: 28px 20px; }
  .form-grid-two { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .whatsapp-float { bottom: 22px; inset-inline-end: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Brand logo image */
.logo-image-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}
.brand-logo {
  display: block;
  width: auto;
  object-fit: contain;
}
.brand-logo-header {
  height: 58px;
  max-width: 220px;
}
.site-header.scrolled .brand-logo-header {
  height: 50px;
}
.brand-logo-footer {
  height: 78px;
  max-width: 290px;
}
@media (max-width: 1100px) {
  .brand-logo-header { height: 50px; max-width: 190px; }
  .site-header.scrolled .brand-logo-header { height: 46px; }
}
@media (max-width: 640px) {
  .brand-logo-header { height: 44px; max-width: 165px; }
  .brand-logo-footer { height: 68px; max-width: 250px; }
}

/* ===== 2026 refinement pass ===== */
/* Header remains readable over the hero, then switches to the light surface on scroll. */
.site-header:not(.scrolled) .nav-link { color: var(--white); text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.site-header:not(.scrolled) .lang-btn { color: rgba(255,255,255,.72); }
.site-header:not(.scrolled) .lang-btn:hover { color: var(--white); }
.site-header:not(.scrolled) .lang-btn.active { color: var(--gold); }
.site-header:not(.scrolled) .lang-switch span { color: var(--white); opacity: .45; }
.site-header:not(.scrolled) .header-cta { background: rgba(26,26,26,.22); color: var(--white); border-color: rgba(255,255,255,.58); backdrop-filter: blur(6px); }
.site-header:not(.scrolled) .header-cta:hover { background: var(--gold); color: var(--primary); border-color: var(--gold); }
.site-header:not(.scrolled) .menu-toggle span { background: var(--white); box-shadow: 0 1px 5px rgba(0,0,0,.25); }
.site-header.scrolled .menu-toggle span { background: var(--primary); }

/* Stronger contrast on gold surfaces. */
.btn-gold { color: var(--primary); }
.btn-gold:hover { background: var(--white); color: var(--primary); }
.btn-dark:hover { background: var(--gold); color: var(--primary); }
.social-links a:hover { color: var(--primary); }

/* Keyboard-accessible portfolio cards. */
.project-card {
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  text-align: start;
  font: inherit;
}
.project-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.project-content { pointer-events: none; }
.project-title { display: block; font-family: var(--font-display); color: var(--white); font-size: 26px; font-weight: 500; margin-bottom: 16px; }
html[dir="rtl"] .project-title { font-family: var(--font-arabic); }

/* Project detail dialog. */
.project-modal {
  position: fixed;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  width: min(980px, calc(100% - 32px));
  max-height: min(820px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  background: var(--secondary);
  color: var(--primary);
  box-shadow: 0 30px 100px rgba(0,0,0,.32);
  overflow: auto;
}
.project-modal::backdrop { background: rgba(15,15,15,.72); backdrop-filter: blur(4px); }
.project-modal[open] { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); }
.project-modal-media { min-height: 560px; background: var(--sand); }
.project-modal-media img { height: 100%; object-fit: cover; }
.project-modal-copy { display: flex; flex-direction: column; justify-content: center; padding: 56px 46px; }
.project-modal-copy .eyebrow { margin-bottom: 14px; }
.project-modal-copy h2 { font-family: var(--font-display); font-size: clamp(34px,4vw,50px); line-height: 1.12; font-weight: 500; margin-bottom: 22px; }
html[dir="rtl"] .project-modal-copy h2 { font-family: var(--font-arabic); }
.project-modal-copy > p:not(.eyebrow) { color: rgba(26,26,26,.68); line-height: 1.75; margin-bottom: 30px; }
.project-modal-close { position: absolute; z-index: 3; top: 14px; inset-inline-end: 14px; width: 42px; height: 42px; border: 0; background: rgba(26,26,26,.86); color: var(--white); font-size: 26px; line-height: 1; }

.form-status-warning { color: #8b5b20; }

.social-link-disabled { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; color: rgba(255,255,255,.3); font-size: 11px; font-weight: 600; cursor: default; }

@media (max-width: 820px) {
  .project-modal[open] { grid-template-columns: 1fr; }
  .project-modal-media { min-height: 360px; height: 46vh; }
  .project-modal-copy { padding: 36px 28px 40px; }
}

@media (max-width: 600px) {
  .service-image-wrap { height: 330px; }
  .project-card { height: 360px; }
  .project-modal { width: calc(100% - 20px); max-height: calc(100vh - 20px); }
  .project-modal-media { min-height: 280px; height: 40vh; }
  .project-modal-copy { padding: 30px 22px 34px; }
  .project-modal-close { top: 10px; inset-inline-end: 10px; }
}
[hidden] { display: none !important; }
.menu-toggle { flex-direction: column; align-items: center; justify-content: center; }
.menu-toggle span { flex: 0 0 auto; margin: 2.5px auto; }


/* ===== Structured premium footer ===== */
.footer {
  padding: 76px 0 32px;
  background: var(--charcoal);
  color: var(--white);
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 58px;
  align-items: start;
}
.footer-grid > div {
  min-width: 0;
  padding-inline: 32px;
  min-height: 238px;
}
.footer-grid > div + div {
  border-inline-start: 1px solid rgba(255,255,255,.09);
}
.footer-logo {
  display: inline-block;
  margin-bottom: 20px;
}
.footer-tagline {
  max-width: 265px;
  margin-bottom: 0;
  color: rgba(255,255,255,.60);
  font-size: 13px;
  line-height: 1.72;
}
.footer-address {
  max-width: 265px;
  margin: 13px 0 0;
  color: rgba(255,255,255,.60);
  font-size: 13px;
  line-height: 1.72;
}
.footer-address a { transition: color .25s ease; }
.footer-address a:hover { color: var(--gold); }
.footer h3 {
  margin: 5px 0 24px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .17em;
  line-height: 1.35;
  text-transform: uppercase;
}
.footer li { margin-bottom: 14px; }
.footer li:last-child { margin-bottom: 0; }
.footer li a {
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.5;
  transition: color .25s ease, transform .25s ease;
}
.footer li a:hover { color: var(--white); }
.footer-follow-label {
  margin: 24px 0 13px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .15em;
  line-height: 1.3;
  text-transform: uppercase;
}
.social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.social-links .social-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(197,160,89,.50);
  border-radius: 50%;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.92);
  transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.social-links .social-brand-icon {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: inherit;
}
.social-links .social-brand-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.social-links .social-facebook .social-brand-icon { width: 10px; height: 19px; }
.social-links .social-icon:hover,
.social-links .social-icon:focus-visible {
  transform: translateY(-3px);
  outline: none;
}
.social-links .social-instagram:hover,
.social-links .social-instagram:focus-visible {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
  box-shadow: 0 9px 24px rgba(225,48,108,.24);
}
.social-links .social-facebook:hover,
.social-links .social-facebook:focus-visible {
  color: #fff;
  border-color: #1877F2;
  background: #1877F2;
  box-shadow: 0 9px 24px rgba(24,119,242,.22);
}
.social-links .social-tiktok:hover,
.social-links .social-tiktok:focus-visible {
  color: #fff;
  border-color: rgba(255,255,255,.75);
  background: #111;
  box-shadow: -3px 0 0 rgba(37,244,238,.28), 3px 0 0 rgba(254,44,85,.28), 0 9px 24px rgba(0,0,0,.26);
}
.footer-contact {
  display: grid;
  gap: 0;
  margin-top: 0;
}
.footer-contact-link {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  color: rgba(255,255,255,.72);
  font-size: 12.5px;
  line-height: 1.45;
  transition: color .25s ease, border-color .25s ease;
}
.footer-contact-link:last-child { border-bottom: 0; }
.footer-contact-link svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
}
.footer-contact-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.footer-contact-link:hover {
  color: var(--white);
  border-color: rgba(197,160,89,.3);
}
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.38);
  font-size: 11px;
}
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 22px; }
.footer-bottom a:hover { color: var(--white); }

html[dir="rtl"] .footer h3,
html[dir="rtl"] .footer-follow-label { letter-spacing: 0; }

@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 44px; }
  .footer-grid > div { min-height: 0; padding-inline: 30px; }
  .footer-grid > div:nth-child(1),
  .footer-grid > div:nth-child(3) { border-inline-start: 0; }
  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(4) { border-inline-start: 1px solid rgba(255,255,255,.09); }
}

@media (max-width: 600px) {
  .footer { padding-top: 60px; }
  .footer-grid { grid-template-columns: 1fr; gap: 0; margin-bottom: 42px; }
  .footer-grid > div,
  .footer-grid > div:nth-child(n) {
    padding: 28px 0;
    border-inline-start: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .footer-brand-column { padding-top: 0 !important; }
  .footer-services-column { border-bottom: 0 !important; padding-bottom: 0 !important; }
  .footer-brand-column { order: 1; }
  .footer-contact-column { order: 2; }
  .footer-nav-column { order: 3; }
  .footer-services-column { order: 4; }
  .footer h3 { margin-top: 0; margin-bottom: 18px; }
  .footer-tagline, .footer-address { max-width: 100%; }
  .social-links .social-icon { width: 46px; height: 46px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}


/* Homepage hierarchical category browser */
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.category-card{border:0;background:transparent;padding:0;text-align:start;cursor:pointer;color:var(--primary)}.category-image-wrap{position:relative;display:block;height:330px;overflow:hidden;background:#ddd}.category-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.category-number{position:absolute;top:16px;inset-inline-start:16px;background:rgba(255,255,255,.9);padding:7px 10px;font-size:11px;letter-spacing:.12em}.category-card-copy{display:grid;gap:10px;padding-top:18px}.category-card-copy strong{font-size:18px;letter-spacing:.045em}.category-card-copy>span{font-size:14px;line-height:1.7;color:rgba(26,26,26,.66)}.category-card-copy em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.05em}.category-card:hover img,.category-card[aria-expanded="true"] img{transform:scale(1.055)}.category-card[aria-expanded="true"] .category-card-copy strong{color:var(--gold)}.category-panels{margin-top:38px}.category-panel{padding:38px 0 4px;border-top:1px solid rgba(26,26,26,.14)}.category-panel[hidden]{display:none}.category-panel-head{max-width:760px;margin-bottom:28px}.category-panel-head h3{font-family:var(--font-display);font-size:clamp(30px,4vw,44px);font-weight:500;margin:6px 0 10px}.category-panel-head>p:last-child{color:rgba(26,26,26,.65);line-height:1.75}.subcategory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.subcategory-card{display:grid;grid-template-columns:170px 1fr;background:#fff;border:1px solid rgba(26,26,26,.1);color:inherit;text-decoration:none;min-height:170px;transition:transform .25s ease,box-shadow .25s ease}.subcategory-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.08)}.subcategory-card img{width:100%;height:100%;object-fit:cover}.subcategory-copy{padding:20px;display:flex;flex-direction:column;align-items:flex-start}.subcategory-copy strong{font-size:15px;margin-bottom:8px}.subcategory-copy>span{font-size:13px;line-height:1.6;color:rgba(26,26,26,.63)}.subcategory-copy em{margin-top:auto;padding-top:15px;font-style:normal;font-size:12px;font-weight:600;color:var(--gold)}html[dir="rtl"] .category-panel-head h3{font-family:var(--font-arabic)}
@media(max-width:900px){.category-grid{grid-template-columns:1fr}.category-image-wrap{height:270px}.subcategory-grid{grid-template-columns:1fr}}@media(max-width:560px){.subcategory-card{grid-template-columns:120px 1fr}.subcategory-copy{padding:16px}.subcategory-copy>span{display:none}}

.category-grid a.category-card{color:inherit;text-decoration:none;}

/* Five top-level catalogue families */
@media(min-width:1101px){.category-grid,.catalog-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:1100px){.category-grid,.catalog-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.category-grid,.catalog-category-grid{grid-template-columns:1fr}}


/* ===== Homepage editorial rework — premium retail hierarchy ===== */
.home-categories { background: var(--secondary); padding-top: 116px; padding-bottom: 124px; }
.home-categories .section-intro { max-width: 760px; margin-bottom: 58px; }
.home-categories .section-intro .eyebrow { margin-bottom: 16px; }
.home-category-grid { display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr) !important; gap:24px 28px !important; align-items:start; }
.home-category-card { display:block; min-width:0; }
.home-category-card .category-image-wrap { height:220px; }
.home-category-card-1 { grid-row:span 2; }
.home-category-card-1 .category-image-wrap { height:570px; }
.home-category-card-2 .category-image-wrap,.home-category-card-3 .category-image-wrap { height:210px; }
.home-category-card-4,.home-category-card-5 { margin-top:18px; }
.home-category-card-4 .category-image-wrap,.home-category-card-5 .category-image-wrap { height:330px; }
.home-category-card .category-card-copy strong { font-size:17px; line-height:1.45; }
.home-category-card-1 .category-card-copy strong,.home-category-card-4 .category-card-copy strong { font-family:var(--font-display); font-size:clamp(24px,2.7vw,36px); font-weight:500; letter-spacing:0; text-transform:none; }
html[dir="rtl"] .home-category-card-1 .category-card-copy strong,html[dir="rtl"] .home-category-card-4 .category-card-copy strong { font-family:var(--font-arabic); }
.home-category-card-2 .category-card-copy>span,.home-category-card-3 .category-card-copy>span { display:none; }
.home-category-card .category-card-copy em { display:inline-flex; align-items:center; gap:8px; width:fit-content; color:var(--primary); }
.home-category-card:hover .category-card-copy em { color:var(--gold); }

.signature-section { background:#fff; }
.signature-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); min-height:660px; }
.signature-media { overflow:hidden; background:var(--sand); }
.signature-media img { width:100%; height:100%; min-height:660px; object-fit:cover; transition:transform 1.1s cubic-bezier(.22,1,.36,1); }
.signature-section:hover .signature-media img { transform:scale(1.018); }
.signature-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:80px clamp(48px,7vw,112px); }
.signature-copy h2 { max-width:620px; font-family:var(--font-display); font-size:clamp(38px,4.5vw,60px); line-height:1.08; font-weight:500; margin-bottom:26px; }
html[dir="rtl"] .signature-copy h2 { font-family:var(--font-arabic); }
.signature-copy>p:not(.eyebrow) { max-width:560px; color:rgba(26,26,26,.65); font-size:17px; line-height:1.8; margin-bottom:34px; }
.editorial-link { display:inline-flex; align-items:center; min-height:36px; border-bottom:1px solid var(--gold); color:var(--primary); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; transition:color .25s ease,border-color .25s ease; }
.editorial-link::after { content:'↗'; margin-inline-start:12px; font-size:14px; }
html[dir="rtl"] .editorial-link::after { content:'↖'; }
.editorial-link:hover { color:var(--gold); }

.home-projects { background:var(--secondary); padding-top:124px; padding-bottom:126px; }
.home-projects .section-intro { max-width:680px; margin-bottom:54px; }
.home-projects-grid { display:grid !important; grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr) !important; grid-template-rows:repeat(2,286px); gap:24px !important; }
.home-project-card { height:auto !important; min-height:0; }
.home-project-card-1 { grid-row:1/span 2; }
.home-project-card-2 { grid-column:2; grid-row:1; }
.home-project-card-3 { grid-column:2; grid-row:2; }
.home-project-card .project-overlay { opacity:.16; background:linear-gradient(to top,rgba(20,20,20,.75),rgba(20,20,20,.03) 70%); }
.home-project-card .project-content { opacity:1; transform:none; justify-content:flex-end; padding:28px; }
.home-project-card .project-action { opacity:.78; }
.home-project-card:hover .project-overlay { opacity:.38; }
.home-project-card-1 .project-title { font-size:clamp(27px,3vw,38px); }
.home-projects-footer { display:flex; justify-content:flex-end; margin-top:38px; }
.editorial-link-dark { border-bottom-color:rgba(26,26,26,.45); }

.home-brand-story { background:var(--primary); color:var(--secondary); padding-top:126px; padding-bottom:126px; }
.home-brand-story .about-grid { grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr); gap:clamp(64px,8vw,118px); }
.home-brand-story .about-images { height:660px; }
.home-brand-story .about-image-main { width:84%; height:86%; }
.home-brand-story .about-image-small { width:48%; height:44%; border-color:var(--primary); }
.home-brand-story .about-copy h2 { color:var(--secondary); font-size:clamp(40px,4.6vw,60px); }
.home-brand-story .about-text { color:rgba(247,245,240,.68); font-size:17px; }
.home-brand-story .about-text .about-emphasis { color:var(--gold); }
.brand-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(247,245,240,.18); border-bottom:1px solid rgba(247,245,240,.18); margin:34px 0 38px; }
.brand-pillar { padding:22px 18px 22px 0; border-inline-end:1px solid rgba(247,245,240,.18); }
.brand-pillar:last-child { border-inline-end:0; padding-inline-end:0; padding-inline-start:18px; }
.brand-pillar:not(:first-child) { padding-inline-start:18px; }
.brand-pillar span { display:block; color:var(--gold); font-size:10px; letter-spacing:.15em; margin-bottom:9px; }
.brand-pillar strong { display:block; color:var(--secondary); font-size:12px; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; }
.home-brand-story .btn-dark { background:var(--gold); color:var(--primary); }
.home-brand-story .btn-dark:hover { background:var(--secondary); color:var(--primary); }

.home-featured { min-height:720px; height:82vh; justify-content:flex-start; }
.home-featured .featured-overlay { background:linear-gradient(90deg,rgba(18,18,18,.78) 0%,rgba(18,18,18,.45) 48%,rgba(18,18,18,.12) 100%); }
html[dir="rtl"] .home-featured .featured-overlay { background:linear-gradient(270deg,rgba(18,18,18,.78) 0%,rgba(18,18,18,.45) 48%,rgba(18,18,18,.12) 100%); }
.home-featured .featured-content { max-width:var(--container); text-align:start; }
.home-featured .featured-content h2 { max-width:650px; font-size:clamp(46px,5.5vw,70px); line-height:1.05; }
.home-featured .featured-content>p:not(.eyebrow) { max-width:560px; margin:0 0 34px; }
.editorial-link-light { color:var(--white); border-bottom-color:rgba(255,255,255,.65); }
.editorial-link-light:hover { color:var(--gold); border-color:var(--gold); }

.home-process { background:var(--cream); padding-top:100px; padding-bottom:104px; }
.process-heading { text-align:center; margin-bottom:58px; }
.process-heading .eyebrow { margin-bottom:14px; }
.home-process .center-heading { margin-bottom:0; }
.home-process .process-line { top:18px; background:rgba(26,26,26,.13); }
.home-process .process-grid { gap:0; }
.home-process .process-card { text-align:start; padding:0 28px; border-inline-end:1px solid rgba(26,26,26,.12); }
.home-process .process-card:first-child { padding-inline-start:0; }
.home-process .process-card:last-child { border-inline-end:0; padding-inline-end:0; }
.home-process .process-number { width:36px; height:36px; margin:0 0 26px; border-radius:0; background:var(--cream); font-size:11px; }
.home-process .process-card h3 { font-size:14px; margin-bottom:10px; }
.home-process .process-card p { font-size:14px; line-height:1.65; }

.home-final-cta { min-height:540px; display:flex; align-items:center; padding:100px 0; }
.home-final-cta .cta-bg { filter:none; opacity:.55; }
.home-final-cta .cta-overlay { background:rgba(18,18,18,.70); }
.home-final-cta .cta-content { max-width:760px; }
.home-final-cta .cta-content .eyebrow { margin-bottom:16px; }
.home-final-cta .cta-content h2 { font-size:clamp(42px,5vw,60px); }

@media(max-width:1100px){
.home-category-grid{grid-template-columns:1fr 1fr !important}.home-category-card-1{grid-row:auto}.home-category-card-1 .category-image-wrap,.home-category-card-2 .category-image-wrap,.home-category-card-3 .category-image-wrap,.home-category-card-4 .category-image-wrap,.home-category-card-5 .category-image-wrap{height:430px}.home-category-card-2 .category-card-copy>span,.home-category-card-3 .category-card-copy>span{display:block}.home-category-card-5{grid-column:1/-1}.home-category-card-5 .category-image-wrap{height:360px}.signature-grid{grid-template-columns:1fr 1fr;min-height:560px}.signature-media img{min-height:560px}.home-projects-grid{grid-template-columns:1fr 1fr !important;grid-template-rows:500px 360px !important}.home-project-card-1{grid-column:1/-1;grid-row:1}.home-project-card-2{grid-column:1;grid-row:2}.home-project-card-3{grid-column:2;grid-row:2}.home-brand-story .about-grid{grid-template-columns:1fr}.home-brand-story .about-copy{max-width:760px}}
@media(max-width:820px){
.home-categories,.home-projects,.home-brand-story{padding-top:88px;padding-bottom:92px}.home-category-grid{grid-template-columns:1fr !important;gap:38px !important}.home-category-card-1 .category-image-wrap,.home-category-card-2 .category-image-wrap,.home-category-card-3 .category-image-wrap,.home-category-card-4 .category-image-wrap,.home-category-card-5 .category-image-wrap{height:450px}.home-category-card-4,.home-category-card-5{grid-column:auto;margin-top:0}.home-category-card-1 .category-card-copy strong,.home-category-card-4 .category-card-copy strong{font-size:22px}.signature-grid{grid-template-columns:1fr}.signature-media img{min-height:0;height:62vw;max-height:620px}.signature-copy{padding:72px 36px 78px}.home-projects-grid{grid-template-columns:1fr !important;grid-template-rows:none !important}.home-project-card-1,.home-project-card-2,.home-project-card-3{grid-column:auto;grid-row:auto;height:480px !important}.home-projects-footer{justify-content:flex-start}.home-brand-story .about-images{height:560px}.home-featured{min-height:650px;height:78vh}.home-process .process-line{top:0}.home-process .process-grid{gap:32px}.home-process .process-card{padding:0 0 0 68px;border:0;min-height:82px}html[dir="rtl"] .home-process .process-card{padding:0 68px 0 0}.home-process .process-number{position:absolute;inset-inline-start:0;top:0}}
@media(max-width:600px){
.home-categories{padding-top:76px;padding-bottom:82px}.home-categories .section-intro,.home-projects .section-intro{margin-bottom:42px}.home-category-card-1 .category-image-wrap,.home-category-card-2 .category-image-wrap,.home-category-card-3 .category-image-wrap,.home-category-card-4 .category-image-wrap,.home-category-card-5 .category-image-wrap{height:112vw;max-height:470px}.home-category-card .category-card-copy>span{font-size:13px}.signature-media img{height:90vw}.signature-copy{padding:60px 24px 66px}.signature-copy h2{font-size:clamp(34px,10vw,48px)}.home-project-card-1,.home-project-card-2,.home-project-card-3{height:112vw !important;max-height:480px}.home-brand-story .about-images{height:470px}.brand-pillars{grid-template-columns:1fr}.brand-pillar,.brand-pillar:not(:first-child),.brand-pillar:last-child{padding:16px 0;border-inline-end:0;border-bottom:1px solid rgba(247,245,240,.15)}.brand-pillar:last-child{border-bottom:0}.home-featured{min-height:620px;height:82vh}.home-featured .featured-content h2{font-size:clamp(40px,12vw,58px)}.home-final-cta{min-height:500px}}

/* ===== Homepage categories — structured premium 3 + 2 collection grid ===== */
.home-categories .home-category-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.home-categories .home-category-card{
  position:relative;
  display:block;
  min-width:0;
  margin:0 !important;
  overflow:hidden;
  background:#d9d6cf;
  text-decoration:none;
  isolation:isolate;
}
.home-categories .home-category-card-1,
.home-categories .home-category-card-2,
.home-categories .home-category-card-3{
  grid-column:span 2;
  grid-row:auto;
}
.home-categories .home-category-card-4,
.home-categories .home-category-card-5{
  grid-column:span 3;
  grid-row:auto;
}
.home-categories .home-category-card .category-image-wrap,
.home-categories .home-category-card-1 .category-image-wrap,
.home-categories .home-category-card-2 .category-image-wrap,
.home-categories .home-category-card-3 .category-image-wrap,
.home-categories .home-category-card-4 .category-image-wrap,
.home-categories .home-category-card-5 .category-image-wrap{
  position:relative;
  display:block;
  width:100%;
  height:430px;
  overflow:hidden;
  background:#d9d6cf;
}
.home-categories .home-category-card .category-image-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,12,12,.03) 34%,rgba(12,12,12,.68) 100%);
  z-index:1;
  pointer-events:none;
}
.home-categories .home-category-card .category-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.home-categories .home-category-card:hover .category-image-wrap img{
  transform:scale(1.035);
}
.home-categories .home-category-card .category-number{
  top:20px;
  inset-inline-start:20px;
  z-index:3;
  padding:7px 10px;
  background:rgba(247,245,240,.92);
  color:var(--primary);
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
}
.home-categories .home-category-card .category-card-copy{
  position:absolute;
  inset-inline:0;
  bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:30px 30px 28px;
  color:#fff;
  pointer-events:none;
}
.home-categories .home-category-card .category-card-copy strong,
.home-categories .home-category-card-1 .category-card-copy strong,
.home-categories .home-category-card-4 .category-card-copy strong{
  max-width:95%;
  margin:0;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(22px,2vw,29px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
}
html[dir="rtl"] .home-categories .home-category-card .category-card-copy strong,
html[dir="rtl"] .home-categories .home-category-card-1 .category-card-copy strong,
html[dir="rtl"] .home-categories .home-category-card-4 .category-card-copy strong{
  font-family:var(--font-arabic);
  line-height:1.45;
}
.home-categories .home-category-card .category-card-copy>span{
  display:none !important;
}
.home-categories .home-category-card .category-card-copy em{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  margin-top:2px;
  color:rgba(255,255,255,.92);
  font-size:11px;
  font-style:normal;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}
html[dir="rtl"] .home-categories .home-category-card .category-card-copy em{
  letter-spacing:0;
}
.home-categories .home-category-card:hover .category-card-copy em{
  color:#fff;
}
.home-categories .home-category-card .category-card-copy em::after{
  content:'';
  position:absolute;
  inset-inline-start:30px;
  bottom:20px;
  width:36px;
  height:1px;
  background:var(--gold);
  transition:width .35s ease;
}
.home-categories .home-category-card:hover .category-card-copy em::after{
  width:64px;
}

@media(max-width:1100px){
  .home-categories .home-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
  }
  .home-categories .home-category-card-1,
  .home-categories .home-category-card-2,
  .home-categories .home-category-card-3,
  .home-categories .home-category-card-4{
    grid-column:span 1;
  }
  .home-categories .home-category-card-5{
    grid-column:1/-1;
  }
  .home-categories .home-category-card .category-image-wrap,
  .home-categories .home-category-card-1 .category-image-wrap,
  .home-categories .home-category-card-2 .category-image-wrap,
  .home-categories .home-category-card-3 .category-image-wrap,
  .home-categories .home-category-card-4 .category-image-wrap,
  .home-categories .home-category-card-5 .category-image-wrap{
    height:420px;
  }
}

@media(max-width:680px){
  .home-categories .home-category-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .home-categories .home-category-card-1,
  .home-categories .home-category-card-2,
  .home-categories .home-category-card-3,
  .home-categories .home-category-card-4,
  .home-categories .home-category-card-5{
    grid-column:1;
  }
  .home-categories .home-category-card .category-image-wrap,
  .home-categories .home-category-card-1 .category-image-wrap,
  .home-categories .home-category-card-2 .category-image-wrap,
  .home-categories .home-category-card-3 .category-image-wrap,
  .home-categories .home-category-card-4 .category-image-wrap,
  .home-categories .home-category-card-5 .category-image-wrap{
    height:min(118vw,470px);
  }
  .home-categories .home-category-card .category-card-copy{
    padding:24px 22px 25px;
  }
  .home-categories .home-category-card .category-card-copy strong,
  .home-categories .home-category-card-1 .category-card-copy strong,
  .home-categories .home-category-card-4 .category-card-copy strong{
    font-size:24px;
  }
  .home-categories .home-category-card .category-card-copy em::after{
    inset-inline-start:22px;
    bottom:17px;
  }
  .home-categories .home-category-card .category-number{
    top:16px;
    inset-inline-start:16px;
  }
}
