/*
 * Alam Al Roum — editorial inner-page family, v2.0.4.
 * Loaded on every non-home request; content remains owned by WordPress.
 */

@font-face {
  font-family: "Noto Sans Arabic Display";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/NotoSansArabic-Variable-Arabic.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;
}

:root {
  --rd-inner-ink: #071e28;
  --rd-inner-harbor: #0f4a57;
  --rd-inner-sea: #86c8cc;
  --rd-inner-copper: #965b3f;
  --rd-inner-travertine: #dfd4c5;
  --rd-inner-pearl: #f7f5ef;
  --rd-inner-white: #fffdfa;
  --rd-inner-muted: #52666c;
  --rd-inner-line: rgb(7 30 40 / 15%);
  --rd-inner-shell: min(100% - (2 * clamp(24px, 5vw, 80px)), 1440px);
  --rd-brand-primary: var(--rd-inner-harbor);
  --rd-brand-secondary: var(--rd-inner-ink);
  --rd-accent: var(--rd-inner-copper);
  --rd-deep-surface: var(--rd-inner-ink);
  --rd-light-surface: var(--rd-inner-pearl);
  --rd-subtle-surface: #ece8df;
  --rd-text-primary: var(--rd-inner-ink);
  --rd-text-secondary: var(--rd-inner-muted);
  --rd-border-subtle: var(--rd-inner-line);
  --rd-focus: #167486;
}

body {
  background: var(--rd-inner-pearl);
  color: var(--rd-inner-ink);
}

body.rd-locale-ar,
html[lang^="ar"] body {
  font-family: "IBM Plex Sans Arabic", "Noto Sans Arabic Display", Tahoma, Arial, sans-serif;
}

body.rd-locale-en,
html[lang^="en"] body {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
}

.rd-locale-ar :where(.rd-page-header, .rd-page-content) :where(h1, h2, h3),
html[lang^="ar"] :where(.rd-page-header, .rd-page-content) :where(h1, h2, h3) {
  font-family: "Noto Sans Arabic Display", "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
}

.rd-site-header {
  position: sticky;
  z-index: 1000;
  inset-block-start: 0;
  border-block-end: 1px solid rgb(7 30 40 / 9%);
  background: rgb(247 245 239 / 91%);
  color: var(--rd-inner-ink);
  box-shadow: none;
  -webkit-backdrop-filter: blur(20px) saturate(135%);
  backdrop-filter: blur(20px) saturate(135%);
}

.rd-site-header.is-scrolled {
  border-block-end-color: rgb(7 30 40 / 12%);
  box-shadow: 0 12px 44px rgb(7 30 40 / 8%);
}

.rd-header-shell,
.rd-footer-shell,
.rd-page-header__inner,
.rd-section,
.rd-container {
  width: var(--rd-inner-shell);
}

.rd-header-shell {
  min-height: 84px;
  gap: clamp(20px, 3vw, 52px);
}

.rd-brand-lockup .wp-block-site-logo img {
  max-height: 48px;
}

.rd-brand-lockup .wp-block-site-title {
  font-size: clamp(17px, 1vw, 20px);
  font-weight: 600;
}

.rd-brand-lockup .wp-block-site-title a,
.rd-primary-navigation,
.rd-primary-navigation a {
  color: inherit;
}

.rd-primary-navigation .wp-block-navigation__container {
  gap: clamp(15px, 1.8vw, 28px);
}

.rd-primary-navigation .wp-block-navigation-item__content {
  position: relative;
  padding-inline: 0;
  font-size: 14px;
  font-weight: 500;
}

.rd-primary-navigation .wp-block-navigation-item__content::after {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 5px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: center;
  background: currentColor;
  content: "";
  transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
}

.rd-primary-navigation .wp-block-navigation-item__content:hover::after,
.rd-primary-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.rd-primary-navigation .current-menu-ancestor > .wp-block-navigation-item__content::after {
  transform: scaleX(1);
}

.rd-primary-navigation .current-menu-item > .wp-block-navigation-item__content,
.rd-primary-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
  box-shadow: none;
}

.rd-primary-navigation .raheem-language-switcher > a {
  min-width: 72px;
  padding-inline: 16px;
  border-color: currentColor;
  border-radius: 999px;
}

/* Every inner page opens with a destination-scale editorial masthead. */
.rd-page-header {
  position: relative;
  overflow: hidden;
  padding-block: clamp(92px, 10vw, 160px) clamp(76px, 8vw, 124px);
  border: 0;
  background:
    radial-gradient(circle at 83% 18%, rgb(134 200 204 / 18%), transparent 28%),
    linear-gradient(135deg, var(--rd-inner-ink), #0b3541 68%, var(--rd-inner-harbor));
  color: var(--rd-inner-pearl);
  isolation: isolate;
}

.rd-locale-ar .rd-page-header,
html[lang^="ar"] .rd-page-header {
  background:
    radial-gradient(circle at 17% 18%, rgb(134 200 204 / 18%), transparent 28%),
    linear-gradient(225deg, var(--rd-inner-ink), #0b3541 68%, var(--rd-inner-harbor));
}

.rd-page-header::before,
.rd-page-header::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgb(134 200 204 / 17%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.rd-page-header::before {
  width: min(56vw, 780px);
  aspect-ratio: 1;
  inset-inline-end: -18vw;
  inset-block-start: -64%;
}

.rd-page-header::after {
  width: min(36vw, 480px);
  aspect-ratio: 1;
  inset-inline-end: -8vw;
  inset-block-start: -30%;
}

.rd-page-header__inner {
  position: relative;
}

.rd-page-header .rd-breadcrumbs {
  margin-block-end: clamp(28px, 4vw, 48px);
  color: rgb(247 245 239 / 58%);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.rd-locale-ar .rd-page-header .rd-breadcrumbs,
html[lang^="ar"] .rd-page-header .rd-breadcrumbs {
  text-transform: none;
  letter-spacing: 0;
}

.rd-page-header .rd-breadcrumbs a,
.rd-page-header .rd-breadcrumbs__separator,
.rd-page-header .rd-breadcrumbs__current {
  color: inherit;
}

.rd-page-header .wp-block-post-title {
  max-width: 15ch;
  margin: 0;
  color: inherit;
  font-size: clamp(52px, 7vw, 108px);
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.045em;
}

.rd-locale-ar .rd-page-header .wp-block-post-title,
html[lang^="ar"] .rd-page-header .wp-block-post-title {
  max-width: 14ch;
  font-size: clamp(48px, 6.3vw, 94px);
  font-weight: 560;
  line-height: 1.18;
  letter-spacing: 0;
}

.rd-page-header .wp-block-post-excerpt {
  max-width: 62ch;
  margin-block-start: clamp(22px, 3vw, 34px);
  color: rgb(247 245 239 / 72%);
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.75;
}

.rd-page-header .wp-block-post-excerpt p {
  color: inherit;
}

.rd-page-content {
  width: var(--rd-inner-shell);
  max-width: none;
  padding-block: clamp(82px, 9vw, 148px);
}

.rd-page-content > :where(p, h2, h3, h4, ul, ol, blockquote):not(.alignwide):not(.alignfull),
.rd-editorial-detail > :where(p, h2, h3, h4, ul, ol, blockquote):not(.alignwide):not(.alignfull),
.rd-legal-longform > :where(p, h2, h3, h4, ul, ol, blockquote):not(.alignwide):not(.alignfull) {
  max-width: 800px;
  margin-inline: auto;
}

.rd-page-content > h2,
.rd-editorial-detail > h2,
.rd-legal-longform > h2 {
  margin-block-start: clamp(68px, 8vw, 112px);
  margin-block-end: 24px;
  color: var(--rd-inner-ink);
  font-size: clamp(36px, 4vw, 62px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: -.03em;
}

.rd-locale-ar :where(.rd-page-content, .rd-editorial-detail, .rd-legal-longform) > h2,
html[lang^="ar"] :where(.rd-page-content, .rd-editorial-detail, .rd-legal-longform) > h2 {
  font-weight: 560;
  line-height: 1.26;
  letter-spacing: 0;
}

.rd-page-content > h3,
.rd-editorial-detail > h3,
.rd-legal-longform > h3 {
  margin-block-start: 48px;
  margin-block-end: 16px;
  color: var(--rd-inner-harbor);
  font-size: clamp(25px, 2.4vw, 38px);
  font-weight: 550;
}

.rd-page-content > :where(p, ul, ol, blockquote),
.rd-editorial-detail > :where(p, ul, ol, blockquote),
.rd-legal-longform > :where(p, ul, ol, blockquote) {
  color: var(--rd-inner-muted);
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.86;
}

.rd-page-content > blockquote,
.rd-editorial-detail > blockquote,
.rd-legal-longform > blockquote {
  margin-block: 48px;
  padding: 8px 0 8px clamp(24px, 3vw, 46px);
  border-inline-start: 2px solid var(--rd-inner-copper);
  color: var(--rd-inner-ink);
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.6;
}

.rd-locale-ar :where(.rd-page-content, .rd-editorial-detail, .rd-legal-longform) > blockquote,
html[lang^="ar"] :where(.rd-page-content, .rd-editorial-detail, .rd-legal-longform) > blockquote {
  padding: 8px clamp(24px, 3vw, 46px) 8px 0;
}

.rd-page-content .wp-block-image,
.rd-page-content .rd-conceptual-media,
.rd-editorial-detail .wp-block-image,
.rd-editorial-detail .rd-conceptual-media {
  margin-block: clamp(48px, 7vw, 96px);
}

.rd-page-content .wp-block-image img,
.rd-page-content .rd-conceptual-media img,
.rd-editorial-detail .wp-block-image img,
.rd-editorial-detail .rd-conceptual-media img {
  width: 100%;
  border-radius: 0;
}

.rd-page-content figcaption,
.rd-editorial-detail figcaption,
.rd-conceptual-disclosure {
  max-width: 72ch;
  margin-block-start: 12px;
  color: var(--rd-inner-copper);
  font-size: 12px;
  line-height: 1.7;
}

/* The supplied master plan is documentary project material, not a conceptual
   render. Preserve its verified ratio and give it a distinct, restrained folio. */
.rd-page-content .rd-masterplan-media,
.rd-editorial-detail .rd-masterplan-media {
  width: 100%;
  max-width: 1206px;
  margin-inline: auto;
  overflow: hidden;
  background: var(--rd-inner-harbor);
}

.rd-page-content .rd-masterplan-media__picture,
.rd-editorial-detail .rd-masterplan-media__picture {
  display: block;
  overflow: hidden;
  aspect-ratio: 1206 / 538;
}

.rd-page-content .rd-masterplan-media img,
.rd-editorial-detail .rd-masterplan-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.rd-page-content .rd-masterplan-caption,
.rd-editorial-detail .rd-masterplan-caption {
  margin-block-start: 14px;
  color: var(--rd-inner-copper);
  font-size: 12px;
  line-height: 1.7;
}

/* The component-taxonomy template opens with this image. Keep the transition
   from masthead to documented plan deliberate without an oversized blank bay. */
.page-template-t02-component-taxonomy .rd-page-content {
  padding-block-start: clamp(56px, 5.5vw, 84px);
}

.page-template-t02-component-taxonomy .rd-page-introduction + .rd-masterplan-media {
  margin-block-start: clamp(26px, 3vw, 44px);
}

/* Cards and related-page routes become editorial folios. */
.rd-card-grid {
  gap: clamp(16px, 2vw, 28px);
}

.rd-card {
  position: relative;
  border: 0;
  border-radius: 0;
  background: var(--rd-inner-white);
  box-shadow: 0 18px 56px rgb(7 30 40 / 8%);
}

.rd-card:has(a:hover) {
  transform: translateY(-5px);
  box-shadow: 0 24px 70px rgb(7 30 40 / 13%);
}

.rd-card__media {
  aspect-ratio: 16 / 11;
}

.rd-card__body {
  padding: clamp(24px, 3vw, 42px);
}

.rd-card__body h3 {
  color: var(--rd-inner-ink);
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 540;
  line-height: 1.2;
}

.rd-card__body p {
  color: var(--rd-inner-muted);
  line-height: 1.75;
}

.rd-related-pages {
  margin-block-start: clamp(72px, 9vw, 132px);
  padding-block-start: clamp(56px, 7vw, 96px);
  border-color: var(--rd-inner-line);
}

/* Forms, notices, FAQs and commercial surfaces. */
.rd-lead-layout {
  grid-template-columns: minmax(0, 5fr) minmax(380px, 5fr);
  gap: clamp(48px, 8vw, 120px);
}

.rd-callback-form,
.rd-lead-form-shell,
.rd-commercial-shell__fallback,
.wp-block-group.is-style-mineral-card,
.rd-notice {
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid var(--rd-inner-line);
  border-radius: 0;
  background: var(--rd-inner-white);
  box-shadow: 0 18px 56px rgb(7 30 40 / 8%);
}

.rd-callback-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.fluentform :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 54px;
  border-width: 0 0 1px;
  border-radius: 0;
  border-color: rgb(7 30 40 / 34%);
  background: transparent;
}

.rd-callback-form :where(input, select, textarea):focus,
.fluentform :where(input, select, textarea):focus {
  border-color: var(--rd-inner-harbor);
  box-shadow: 0 2px 0 var(--rd-inner-harbor);
}

.wp-element-button,
.wp-block-button__link,
.rd-channel-action,
.ff-btn-submit {
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
}

.wp-element-button,
.wp-block-button__link,
.ff-btn-submit {
  border: 1px solid var(--rd-inner-harbor);
  background: var(--rd-inner-harbor);
  color: var(--rd-inner-pearl);
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.ff-btn-submit:hover {
  border-color: var(--rd-inner-ink);
  background: var(--rd-inner-ink);
  color: var(--rd-inner-pearl);
  transform: translateY(-2px);
}

.wp-block-button.is-style-secondary .wp-block-button__link {
  border-color: var(--rd-inner-harbor);
  background: transparent;
  color: var(--rd-inner-harbor);
}

.wp-block-group.is-style-deep-surface,
.rd-cta-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 7vw, 104px);
  border-radius: 0;
  background:
    radial-gradient(circle at 80% 16%, rgb(134 200 204 / 16%), transparent 26%),
    var(--rd-inner-ink);
}

.rd-faq-list,
.rd-faq-index {
  border-color: var(--rd-inner-line);
}

.wp-block-details.is-style-faq,
.rd-faq-list details {
  border-color: var(--rd-inner-line);
}

.wp-block-details.is-style-faq summary,
.rd-faq-list summary {
  min-height: 78px;
  padding-block: 24px;
  color: var(--rd-inner-ink);
  font-size: clamp(18px, 1.4vw, 22px);
}

.wp-block-details.is-style-faq > :not(summary),
.rd-faq-list details > :not(summary) {
  color: var(--rd-inner-muted);
  line-height: 1.82;
}

.rd-legal-draft-notice {
  border: 0;
  border-inline-start: 3px solid #805a0a;
  background: #f6ead0;
  box-shadow: none;
}

.rd-legal-longform {
  max-width: none;
}

.rd-channel-actions--dock {
  inset-inline-end: clamp(18px, 2vw, 32px);
  inset-block-end: 28px;
  padding: 7px;
  border: 1px solid rgb(247 245 239 / 20%);
  border-radius: 999px;
  background: rgb(7 30 40 / 82%);
  box-shadow: 0 18px 54px rgb(7 30 40 / 24%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  backdrop-filter: blur(16px) saturate(125%);
}

.rd-channel-actions--dock .rd-channel-action {
  border-radius: 999px;
}

/* Footer closes every page with the same destination identity. */
.rd-site-footer {
  margin: 0;
  padding-block: clamp(74px, 8vw, 124px) 32px;
  background: var(--rd-inner-ink);
  color: var(--rd-inner-pearl);
}

.rd-footer-main {
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: clamp(48px, 8vw, 128px);
}

.rd-site-footer .wp-block-site-title {
  max-width: 14ch;
  font-size: clamp(34px, 4.5vw, 68px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.rd-locale-ar .rd-site-footer .wp-block-site-title,
html[lang^="ar"] .rd-site-footer .wp-block-site-title {
  font-family: "Noto Sans Arabic Display", "IBM Plex Sans Arabic", Tahoma, sans-serif;
  line-height: 1.24;
  letter-spacing: 0;
}

.rd-site-footer .wp-block-site-tagline {
  max-width: 50ch;
  color: rgb(247 245 239 / 62%);
  line-height: 1.75;
}

.rd-footer-navigation .wp-block-navigation__container {
  gap: 2px;
}

.rd-footer-navigation .wp-block-navigation-item__content {
  color: rgb(247 245 239 / 78%);
}

.rd-footer-navigation .wp-block-navigation-item__content:hover {
  color: var(--rd-inner-sea);
}

.rd-footer-legal {
  border-color: rgb(247 245 239 / 20%);
  color: rgb(247 245 239 / 52%);
}

.rd-reveal-ready .rd-reveal {
  transform: translateY(30px);
  opacity: 0;
  transition: opacity 720ms cubic-bezier(.2, .7, .2, 1), transform 720ms cubic-bezier(.2, .7, .2, 1);
}

.rd-reveal-ready .rd-reveal.is-visible {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 959px) {
  :root {
    --rd-inner-shell: min(100% - 64px, 900px);
  }

  .rd-reveal-ready .rd-reveal,
  .rd-reveal-ready .rd-reveal.is-visible {
    transform: none;
    opacity: 1;
    transition: none;
    transition-delay: 0ms;
  }

  .rd-header-shell {
    min-height: 76px;
  }

  .rd-page-header .wp-block-post-title,
  .rd-locale-ar .rd-page-header .wp-block-post-title,
  html[lang^="ar"] .rd-page-header .wp-block-post-title {
    font-size: clamp(48px, 9vw, 80px);
  }

  .rd-lead-layout {
    grid-template-columns: 1fr;
  }

  .rd-footer-main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  :root {
    --rd-inner-shell: calc(100% - 40px);
  }

  .rd-header-shell {
    min-height: 72px;
  }

  .rd-brand-lockup .wp-block-site-logo img {
    max-height: 42px;
  }

  .rd-brand-lockup .wp-block-site-title {
    max-width: none;
    font-size: 16px;
    white-space: nowrap;
  }

  .rd-page-header {
    padding-block: 72px 64px;
  }

  .rd-page-header::before {
    width: 100vw;
    inset-inline-end: -54vw;
  }

  .rd-page-header::after {
    width: 74vw;
    inset-inline-end: -42vw;
  }

  .rd-page-header .wp-block-post-title,
  .rd-locale-ar .rd-page-header .wp-block-post-title,
  html[lang^="ar"] .rd-page-header .wp-block-post-title {
    max-width: 13ch;
    font-size: clamp(42px, 12vw, 58px);
    line-height: 1.08;
  }

  .rd-locale-ar .rd-page-header .wp-block-post-title,
  html[lang^="ar"] .rd-page-header .wp-block-post-title {
    line-height: 1.22;
  }

  .rd-page-header .wp-block-post-excerpt {
    font-size: 17px;
  }

  .rd-page-content {
    padding-block: 72px 88px;
  }

  .rd-page-content > h2,
  .rd-editorial-detail > h2,
  .rd-legal-longform > h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .rd-card-grid,
  .rd-component-taxonomy .rd-card-grid {
    grid-template-columns: 1fr;
  }

  .rd-callback-form,
  .rd-lead-form-shell,
  .rd-commercial-shell__fallback,
  .wp-block-group.is-style-mineral-card,
  .rd-notice {
    padding: 26px 22px;
  }

  .rd-channel-actions--dock {
    display: none;
  }

  .rd-channel-actions--mobile-bar {
    border-color: rgb(7 30 40 / 11%);
    background: rgb(247 245 239 / 94%);
    box-shadow: 0 -12px 42px rgb(7 30 40 / 12%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    backdrop-filter: blur(18px) saturate(130%);
  }
}

@media (max-width: 479px) {
  :root {
    --rd-inner-shell: calc(100% - 32px);
  }

  .rd-page-header {
    padding-block: 60px 54px;
  }
}

/* Keep inner-page masthead copy above the fixed contact bar on short
   landscape screens without removing either conversion action. */
@media (orientation: landscape) and (min-width: 600px) and (max-width: 1079px) and (max-height: 600px) {
  .rd-page-header {
    padding-block: clamp(22px, 6vh, 36px) calc(var(--rd-mobile-bar-height) + clamp(20px, 5vh, 32px));
  }

  .rd-page-header .rd-breadcrumbs {
    margin-block-end: 12px;
  }

  .rd-page-header .wp-block-post-title,
  .rd-locale-ar .rd-page-header .wp-block-post-title,
  html[lang^="ar"] .rd-page-header .wp-block-post-title {
    max-width: 18ch;
    font-size: clamp(38px, 6vw, 50px);
    line-height: 1.04;
  }

  .rd-locale-ar .rd-page-header .wp-block-post-title,
  html[lang^="ar"] .rd-page-header .wp-block-post-title {
    font-size: clamp(38px, 5.6vw, 48px);
    line-height: 1.12;
  }

  .rd-page-header .wp-block-post-excerpt {
    margin-block-start: 12px;
    font-size: clamp(14px, 2vw, 16px);
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rd-reveal-ready .rd-reveal,
  .rd-reveal-ready .rd-reveal.is-visible {
    transform: none;
    opacity: 1;
    transition: none;
  }
}

@media (forced-colors: active) {
  .rd-page-header,
  .rd-site-header,
  .rd-site-footer {
    background: Canvas;
    color: CanvasText;
  }

  .rd-card,
  .rd-callback-form,
  .rd-lead-form-shell {
    border: 1px solid CanvasText;
  }
}
