/* Unified corporate Arabic typography — IBM Plex Sans Arabic */
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("fonts/ibm-plex-sans-arabic-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("fonts/ibm-plex-sans-arabic-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("fonts/ibm-plex-sans-arabic-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("fonts/ibm-plex-sans-arabic-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --font-arabic: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
  --type-body: 1rem;
  --type-small: .875rem;
  --type-label: .8125rem;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-arabic) !important;
}

body {
  font-size: var(--type-body);
  line-height: 1.78 !important;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
p,
span,
a,
label,
button {
  overflow-wrap: break-word;
}

h1,
h2,
h3 {
  margin-block-start: 0;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

h1,
.hero h1 {
  font-size: clamp(2.35rem, 4vw, 4rem) !important;
  line-height: 1.24 !important;
  font-weight: 700 !important;
}

.section-head h2,
.about-copy h2,
.model-copy h2,
.contact-card h2,
.planner-intro h2,
.request-intro h2 {
  font-size: clamp(1.75rem, 2.7vw, 2.75rem) !important;
  line-height: 1.38 !important;
  font-weight: 700 !important;
}

.hero-copy > p {
  font-size: clamp(.96rem, 1.15vw, 1.06rem) !important;
  line-height: 1.88 !important;
}

.section-head p,
.about-copy p,
.contact-card p,
.planner-intro > p,
.request-intro > p {
  font-size: .96rem !important;
  line-height: 1.9 !important;
}

.brand strong {
  font-size: .92rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.brand small {
  font-size: .68rem !important;
  line-height: 1.45 !important;
}

.nav-links,
.nav-links a {
  font-size: .82rem !important;
  font-weight: 500;
}

.language-switch,
.lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid rgba(200, 166, 101, .62);
  border-radius: 999px;
  color: #ead9b8 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  direction: ltr;
}

@media (min-width: 1021px) and (max-width: 1200px) {
  .nav-links { gap: 14px !important; }
  .nav-links a { font-size: .75rem !important; }
  .language-switch,
  .lang { min-width: 44px; padding-inline: 11px; }
}

@media (max-width: 1020px) {
  .language-switch,
  .lang {
    width: fit-content;
    justify-self: start;
  }
}

.social-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 4px;
}

.contact-intro .social-links { margin-top: 18px; }

.activity-router {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .075);
}

.activity-router label {
  color: #fff;
  font-size: .82rem;
  font-weight: 600;
}

.activity-router-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}

.activity-router select {
  min-width: 0;
  min-height: 50px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  color: #102c3d;
  background: #fff;
  outline: none;
}

.activity-router select:focus {
  border-color: #c8a665;
  box-shadow: 0 0 0 3px rgba(200, 166, 101, .18);
}

.activity-router .button {
  min-height: 50px;
  border: 0;
  white-space: nowrap;
}

.activity-router .button:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

.activity-router-status {
  min-height: 20px;
  margin: 0 !important;
  color: rgba(255, 255, 255, .66) !important;
  font-size: .74rem !important;
  line-height: 1.55 !important;
}

/* Light contact panel used on the Arabic homepage only. */
.home-contact {
  color: #071a2d;
  background: #f7f3ec;
}

.home-contact .eyebrow { color: #866426 !important; }
.home-contact h2 { color: #071a2d !important; }
.home-contact > div > p { color: #475966 !important; }

.home-contact .activity-router {
  border-color: rgba(7, 26, 45, .14);
  background: #fff;
  box-shadow: 0 10px 30px rgba(7, 26, 45, .06);
}

.home-contact .activity-router label {
  color: #071a2d;
}

.home-contact .activity-router select {
  color: #071a2d;
  border-color: rgba(7, 26, 45, .2);
  background: #fff;
}

.home-contact .activity-router-status {
  color: #52636e !important;
}

.home-contact .contact-item {
  color: #071a2d;
  border-color: rgba(7, 26, 45, .14);
  background: #fff;
  direction: rtl;
}

.home-contact .contact-item span {
  color: #76571f;
  font-weight: 600;
}

.home-contact .contact-item b {
  color: #071a2d;
  direction: ltr;
}

.home-contact .social-link {
  color: #071a2d !important;
  border-color: rgba(7, 26, 45, .14);
  background: #fff;
  box-shadow: 0 7px 20px rgba(7, 26, 45, .05);
}

.home-contact .social-link:hover {
  border-color: rgba(7, 26, 45, .28);
  background: #f1ece3;
}

.home-contact .social-link-whatsapp span { color: #147a3d; }
.home-contact .social-link-facebook span { color: #145fbd; }
.home-contact .social-link-instagram span { color: #a72c6f; }

.social-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 13px;
  color: #fff !important;
  background: rgba(255, 255, 255, .075);
  font-size: .76rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.social-link:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .13);
}

.social-icon {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.social-icon-image {
  width: 24px;
  height: 24px;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}

.social-link-facebook .social-icon path,
.social-link-facebook .social-icon circle,
.social-icon-dot {
  fill: currentColor;
  stroke: none;
}

.social-link-whatsapp { color: #d8ffe7 !important; }
.social-link-facebook { color: #d9e9ff !important; }
.social-link-instagram { color: #ffe0ef !important; }

@media (max-width: 480px) {
  .activity-router { padding: 15px; }
  .activity-router-row { grid-template-columns: 1fr; }
  .activity-router .button { width: 100%; }
  .social-links { grid-template-columns: 1fr; }
  .social-link { justify-content: flex-start; padding-inline: 15px; }
}

.eyebrow {
  font-size: .78rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
}

.button,
.submit-button,
.filter,
.parent-link {
  font-size: .88rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.service-card h3,
.sector-card h3,
.value-card h3,
.journey-step h3,
.process-step h3,
.destination-card h3,
.hospitality-card h3,
.production-card h3,
.method-card h3,
.chain-card h3,
.standard-card h3,
.creative-card h3,
.model-card h3,
.delivery-card h3,
.occasion-card h3,
.hero-card h2,
.form-head h3,
.group-title {
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}

.service-card p,
.sector-card p,
.value-card p,
.journey-step p,
.process-step p,
.destination-card p,
.hospitality-card p,
.production-card p,
.method-card p,
.chain-card p,
.standard-card p,
.creative-card p,
.model-card p,
.delivery-card p,
.promise span,
.form-head p {
  font-size: .86rem !important;
  line-height: 1.78 !important;
}

.service-num,
.service-card small,
.process-step small,
.journey-step small,
.value-card small,
.form-badge,
.form-note {
  font-size: .72rem !important;
  line-height: 1.5 !important;
}

.field label {
  font-size: .82rem !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}

.field input,
.field select,
.field textarea {
  font-size: .9rem !important;
  line-height: 1.6 !important;
}

.consent,
.form-status,
.contact-item,
.footer-row,
footer {
  font-size: .78rem !important;
  line-height: 1.7 !important;
}

.privacy-consent-link,
.privacy-footer-link {
  color: #d7b36c;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}

.privacy-consent-link { color: #76571f; }
.footer-legal { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; }

@media (max-width: 1020px) {
  h1,
  .hero h1 {
    font-size: clamp(2.2rem, 6vw, 3.35rem) !important;
  }

  .nav-links,
  .nav-links a {
    font-size: .95rem !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 650px) {
  :root {
    --type-body: .98rem;
  }

  h1,
  .hero h1 {
    font-size: clamp(1.95rem, 8.3vw, 2.5rem) !important;
    line-height: 1.3 !important;
  }

  .section-head h2,
  .about-copy h2,
  .model-copy h2,
  .contact-card h2,
  .planner-intro h2,
  .request-intro h2 {
    font-size: clamp(1.55rem, 6.5vw, 1.9rem) !important;
    line-height: 1.42 !important;
  }

  .hero-copy > p,
  .section-head p,
  .about-copy p,
  .contact-card p,
  .planner-intro > p,
  .request-intro > p {
    font-size: .94rem !important;
    line-height: 1.88 !important;
  }

  .brand strong {
    font-size: .8rem !important;
  }

  .eyebrow {
    font-size: .74rem !important;
  }

  .service-card h3,
  .sector-card h3,
  .value-card h3,
  .journey-step h3,
  .process-step h3,
  .destination-card h3,
  .hospitality-card h3,
  .production-card h3,
  .method-card h3,
  .chain-card h3,
  .standard-card h3,
  .creative-card h3,
  .model-card h3,
  .delivery-card h3,
  .hero-card h2,
  .form-head h3,
  .group-title {
    font-size: 1rem !important;
  }

  .service-card p,
  .sector-card p,
  .value-card p,
  .journey-step p,
  .process-step p,
  .destination-card p,
  .hospitality-card p,
  .production-card p,
  .method-card p,
  .chain-card p,
  .standard-card p,
  .creative-card p,
  .model-card p,
  .delivery-card p,
  .promise span,
  .form-head p {
    font-size: .88rem !important;
  }

  .field input,
  .field select,
  .field textarea {
    font-size: 16px !important;
  }

  .button,
  .submit-button,
  .filter,
  .parent-link {
    font-size: .9rem !important;
  }
}

@media (max-width: 380px) {
  h1,
  .hero h1 {
    font-size: 1.88rem !important;
  }

  .section-head h2,
  .about-copy h2,
  .contact-card h2,
  .planner-intro h2,
  .request-intro h2 {
    font-size: 1.5rem !important;
  }
}
